docs/random/ensonic/: Save my thoughts.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/random/ensonic/audiobaseclasses.txt:
4         * docs/random/ensonic/dynlink.txt:
5         * docs/random/ensonic/profiling.txt:
6           Save my thoughts.
7
8         * docs/random/moving-plugins:
9           Add note to use g_assert type macros.
10
11 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
12
13         * configure.ac:
14         * libs/gst/check/Makefile.am:
15           Add libm check as we use in for plugins.
16
17 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
18
19         * gst/gstbin.c: (gst_bin_continue_func):
20         Check that the state_cookie hasn't changed since the continue_func
21         was scheduled. Avoids problems where the state changes back to
22         something it shouldn't be because it was changed in the meantime.
23
24 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
25
26         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
27         (gst_registry_binary_save_string),
28         (gst_registry_binary_save_pad_template),
29         (gst_registry_binary_save_feature),
30         (gst_registry_binary_save_plugin),
31         (gst_registry_binary_load_feature),
32         (gst_registry_binary_load_plugin),
33         (gst_registry_binary_read_cache):
34           Fix memory leak. Be less verbose in the log.
35
36 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
37
38         * tests/check/elements/.cvsignore:
39         Add file to cvsignore as commanded.
40
41 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
42
43         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
44         (mq_dummypad_event), (run_output_order_test):
45         Use a GStaticMutex to protect all cases where libcheck
46         fail_if/fail_unless macros might be called from multiple threads
47         simultaneously to avoid errors like:
48           "check_pack.c:107: :-1081725400:Bad message type arg"
49
50 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
51
52         * tests/check/pipelines/stress.c: (GST_START_TEST):
53         Make sure we set the pipeline back to the NULL state before
54         dropping our final reference.
55
56 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
57
58         * tests/check/elements/tee.c: (GST_START_TEST):
59         Make the tee stress-test a little less stressful so it doesn't just
60         time out on slow-machines, and remove a small race when it's starting 
61         up by adding a get_state() call.
62
63 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
64
65         * gst/gst.c:
66           Avoid reading registry twice on startup. Fixes #457322.
67
68 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
69
70         * pkgconfig/gstreamer-check-uninstalled.pc.in:
71         * pkgconfig/gstreamer-check.pc.in:
72         Substitute the CFLAGS for libcheck into our .pc file too so that
73         dependent modules will pick it up properly if libcheck is installed
74         into some other prefix.
75
76 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
77
78         * configure.ac:
79         Revert the pkg-config check for libcheck, since it pulls in the
80         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
81         a proper solution, either from the check project, or something else.
82
83 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
84
85         * configure.ac:
86           Use pkg-config to locate check.
87
88 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
89
90         * gst/gsttaglist.c:
91           Fix doc syntax.
92
93         * gst/gstutils.c:
94         * gst/gstutils.h:
95           Add deprecation guards.
96
97         * libs/gst/base/gstcollectpads.h:
98           Don't document object (this is implicitly private).
99
100 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
101
102         * gst/gststructure.c: (gst_structure_parse_value):
103           When deserialising foo=bar without a type cast, check if it's a
104           boolean before falling back to a string type, otherwise things like
105           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
106           because the filtercaps end up having a signed=(string)true field,
107           which causes problems later when intersection caps.
108
109         * tests/check/gst/gststructure.c: (GST_START_TEST):
110           Add a unit test for this.
111
112 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
113
114         Reviewed by: Stefan Kost <ensonic@users.sf.net>
115
116         * libs/gst/controller/Makefile.am:
117         * libs/gst/controller/gstcontroller.c:
118         (gst_controlled_property_add_interpolation_control_source),
119         (gst_controlled_property_new), (gst_controlled_property_free),
120         (gst_controller_find_controlled_property),
121         (gst_controller_new_valist), (gst_controller_new_list),
122         (gst_controller_new), (gst_controller_remove_properties_valist),
123         (gst_controller_remove_properties_list),
124         (gst_controller_remove_properties),
125         (gst_controller_set_property_disabled),
126         (gst_controller_set_disabled), (gst_controller_set_control_source),
127         (gst_controller_get_control_source), (gst_controller_get),
128         (gst_controller_sync_values), (gst_controller_get_value_array),
129         (_gst_controller_dispose), (gst_controller_get_type),
130         (gst_controlled_property_set_interpolation_mode),
131         (gst_controller_set), (gst_controller_set_from_list),
132         (gst_controller_unset), (gst_controller_unset_all),
133         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
134         * libs/gst/controller/gstcontroller.h:
135         * libs/gst/controller/gstcontrollerprivate.h:
136         * libs/gst/controller/gstcontrolsource.c:
137         (gst_control_source_class_init), (gst_control_source_init),
138         (gst_control_source_get_value),
139         (gst_control_source_get_value_array), (gst_control_source_bind):
140         * libs/gst/controller/gstcontrolsource.h:
141         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
142         (gst_object_get_control_source):
143         * libs/gst/controller/gstinterpolation.c:
144         (gst_interpolation_control_source_find_control_point_node),
145         (gst_interpolation_control_source_get_first_value),
146         (_interpolate_none_get), (interpolate_none_get),
147         (interpolate_none_get_boolean_value_array),
148         (interpolate_none_get_enum_value_array),
149         (interpolate_none_get_string_value_array),
150         (_interpolate_trigger_get), (interpolate_trigger_get),
151         (interpolate_trigger_get_boolean_value_array),
152         (interpolate_trigger_get_enum_value_array),
153         (interpolate_trigger_get_string_value_array):
154         * libs/gst/controller/gstinterpolationcontrolsource.c:
155         (gst_control_point_free), (gst_interpolation_control_source_reset),
156         (gst_interpolation_control_source_new),
157         (gst_interpolation_control_source_set_interpolation_mode),
158         (gst_interpolation_control_source_bind),
159         (gst_control_point_compare), (gst_control_point_find),
160         (gst_interpolation_control_source_set_internal),
161         (gst_interpolation_control_source_set),
162         (gst_interpolation_control_source_set_from_list),
163         (gst_interpolation_control_source_unset),
164         (gst_interpolation_control_source_unset_all),
165         (gst_interpolation_control_source_get_all),
166         (gst_interpolation_control_source_get_count),
167         (gst_interpolation_control_source_init),
168         (gst_interpolation_control_source_finalize),
169         (gst_interpolation_control_source_dispose),
170         (gst_interpolation_control_source_class_init):
171         * libs/gst/controller/gstinterpolationcontrolsource.h:
172         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
173         API: Refactor GstController into the core controller which can take
174         a GstControlSource for providing actual values for timestamps.
175         Implement a interpolation control source and use this for backward
176         compatibility, deprecate a bunch of functions that are now handled
177         by GstControlSource or GstInterpolationControlSource.
178         Make it possible to disable the controller completely or only for
179         specific properties. Fixes #450711.
180         * docs/libs/gstreamer-libs-docs.sgml:
181         * docs/libs/gstreamer-libs-sections.txt:
182         * docs/libs/gstreamer-libs.types:
183         Add new functions and classes to the docs.
184         * tests/check/libs/controller.c: (GST_START_TEST),
185         (gst_controller_suite):
186         * tests/examples/controller/audio-example.c: (main):
187         Port unit test and example to the new API and add some new
188         unit tests.
189
190 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
191
192         Patch by: Mark Nauwelaerts <manauw at skynet be>
193
194         * plugins/elements/gstmultiqueue.c:
195         (gst_multi_queue_get_internal_links), (apply_buffer),
196         (single_queue_overrun_cb), (gst_single_queue_new):
197         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
198         the pipeline layout can be tracked correctly. Fixes #453732.
199
200 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
201
202         * docs/gst/Makefile.am:
203         * docs/libs/Makefile.am:
204         * docs/plugins/Makefile.am:
205           Simplify --extra-dir as gtkdoc scans recursively.
206
207 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
208
209         * tools/gst-launch.c: (main):
210         When we got an error, there is no point in waiting for preroll when
211         shutting down.
212
213 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
214
215         * plugins/elements/gsttee.c: (gst_tee_base_init),
216         (gst_tee_request_new_pad), (gst_tee_release_pad),
217         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
218         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
219         (gst_tee_chain):
220         Be a lot smarter when deciding what srcpad to use for proxying
221         the buffer_alloc. Also handle pad added/removed when doing so.
222         Fixes #357959.
223         Keep track of what pads we already pushed on in case we have pads
224         added/removed while pushing. Fixes #374639 
225
226         * tests/check/Makefile.am:
227         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
228         (tee_suite):
229         Added unit test for pad resync.
230
231 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
232
233         * po/nl.po:
234         * po/sv.po:
235           Updated translations.
236
237 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
238
239         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
240
241         * po/LINGUAS:
242         * po/fi.po:
243           Added new Finnish translation.
244
245 2007-06-28  Wim Taymans  <wim@fluendo.com>
246
247         * plugins/elements/gstmultiqueue.c: (apply_buffer),
248         (single_queue_overrun_cb):
249         When figuring out when a queue is filled, use our internal time estimate
250         based on segments, just like check_full does.
251
252 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
253
254         * gst/gstminiobject.c: (gst_mini_object_get_type):
255           Remove 3 do-nothing methods.
256
257 2007-06-27  Wim Taymans  <wim@fluendo.com>
258
259         Patch by: Tim Angus <tim at ngus dot net>
260
261         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
262         (gst_capsfilter_set_property):
263         Take a reference instead of a copy when setting "caps".
264         Fix documentation to clarify this behaviour. Fixes #449414.
265
266 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
267
268         * gst/gstindexfactory.c: (gst_index_factory_get_type):
269         * gst/gstplugin.c: (gst_plugin_init):
270         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
271         * gst/gstquery.c: (gst_query_get_type):
272         * gst/gstregistry.c: (gst_registry_init):
273         * gst/gsturi.c: (gst_uri_handler_base_init):
274           Remove empty instance_init() functions to save relocs and lessen the
275           noise. Remove some of the function prototypes that are doubled by
276           G_DEFINE_TYPE.
277           
278 2007-06-27  Wim Taymans  <wim@fluendo.com>
279
280         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
281
282         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
283         Add peer and direction in the XML serialisation of ghostpads.
284         Fixes #449226.
285
286 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
287
288         * configure.ac:
289           Preserve useful information, thanks Tim.
290
291 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
292
293         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
294         (gst_single_queue_flush), (apply_segment), (apply_buffer),
295         (gst_single_queue_push_one), (gst_multi_queue_loop),
296         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
297         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
298         (compute_high_id), (gst_single_queue_new):
299         * plugins/elements/gstmultiqueue.h:
300         Take the multiqueue lock when updating the fill level so we don't get
301         confused. 
302
303         After applying a buffer or event on the src pad segment, make sure to
304         call gst_data_queue_limits_changed() to get the data queue to unblock
305         and check the filled state again.
306         
307         Rework the not-linked pad handling so the logic is that not-linked 
308         pads can push as fast as they like, but only so they never get 
309         ahead of any linked pads.
310
311         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
312         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
313         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
314
315         Add a test to check that not-linked pads always stay behind
316         linked pads.
317
318         Fixes: #430682
319
320 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
321
322         * docs/random/release:
323           Some updates to the release procedure.
324
325 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
326
327         * gst/gstelementfactory.c: (__gst_element_details_clear):
328           Microoptimization that saves stunning 80 bytes.
329
330 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
331
332         * docs/plugins/gstreamer-plugins.args:
333         * docs/plugins/inspect/plugin-coreelements.xml:
334         * docs/plugins/inspect/plugin-coreindexers.xml:
335           Update docs with caps info.
336
337 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
338
339         * po/it.po:
340           Updated Italian translation.
341
342 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
343
344         * ChangeLog:
345         * po/vi.po:
346           Update Vietnamese translations.
347
348 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
349
350         * libs/gst/base/gstbasesink.c:
351           Remove unused signal enum.
352
353 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
354
355         * docs/gst/gstreamer-sections.txt:
356         * gst/gstelement.c:
357         * gst/gstutils.c: (gst_type_register_static_full):
358         Beef up and include the docs for gst_type_register_static_full and
359         gst_element_class_set_details_simple and add the API keyword
360         in the ChangeLog.
361
362 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
363
364         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
365         (update_time_level), (gst_single_queue_push_one),
366         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
367         (single_queue_overrun_cb), (single_queue_underrun_cb),
368         (single_queue_check_full):
369         Fix setting max-* properties after adding queues.
370         Use IS_FILLED for checking visible items.
371         Signal overrun if multiple queues overrun.
372         Add extra debug output.
373         Patch by: Wim Taymans <wim@fluendo.com>
374
375 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
376
377         * gst/gstelement.c: (gst_element_class_set_details_simple):
378         * gst/gstelement.h:
379         * gst/gstutils.c: (gst_type_register_static_full):
380         * gst/gstutils.h:
381         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
382         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
383         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
384         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
385         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
386         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
387         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
388         * plugins/elements/gstidentity.c: (gst_identity_base_init):
389         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
390         * plugins/elements/gstqueue.c: (gst_queue_base_init),
391         (apply_buffer), (gst_queue_chain):
392         * plugins/elements/gsttee.c: (gst_tee_base_init):
393         * plugins/elements/gsttypefindelement.c:
394         (gst_type_find_element_base_init),
395         (gst_type_find_element_class_init):
396           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
397           API: add gst_type_register_static_full
398           API: add gst_element_class_set_details_simple
399
400 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
401
402         * docs/pwg/advanced-types.xml:
403           Fix typo in iana.org URI.
404
405 2007-06-19  Andy Wingo  <wingo@pobox.com>
406
407         * tests/check/pipelines/simple-launch-lines.c
408         (test_state_change_returns): Enable pull-mode tests now that
409         basesink has been fixed.
410
411         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
412         Changed from gst_base_sink_is_prerolled, reversing the sense of
413         the return value. Returns FALSE also if the sink is in pull mode,
414         in which case it needs no preroll.
415         (gst_base_sink_query, gst_base_sink_change_state): Update for
416         needs_preroll change.
417         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
418         chaining up, in which we return SUCCESS directly if we activated
419         in pull mode instead of ASYNC. Involves countering an async_start
420         message sent before chaining up; not sure if this is correct, in
421         an ideal world we only send async-start when activating in push
422         mode.
423
424         * tests/check/pipelines/simple-launch-lines.c
425         (test_state_change_returns): New test, partially disabled until
426         basesink is fixed.
427
428 2007-06-19  Wim Taymans  <wim@fluendo.com>
429
430         * plugins/elements/gstmultiqueue.c: (apply_buffer),
431         (gst_multi_queue_sink_event):
432         Fix event leak.
433
434 2007-06-19  Wim Taymans  <wim@fluendo.com>
435
436         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
437         (gst_bin_change_state_func), (bin_push_state_continue),
438         (bin_handle_async_start), (bin_handle_async_done),
439         (gst_bin_handle_message_func):
440         Move the common code for posting state-change messages into
441         one function.
442         Broadcast the state signal after we posted the messages.
443         Mark the bin as busy when it's doing a state-change.
444         Make sure async-start/done messages don't interfere with the bin's
445         state when it's busy.
446         After the state change, let the bin check which elements completed the
447         state change while it was busy so that it can update its state.
448
449 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
450
451         * docs/random/release:
452         Add a note about updating the doap file to the release checklist
453
454 2007-06-18  Wim Taymans  <wim@fluendo.com>
455
456         * plugins/elements/gstmultiqueue.c: (apply_buffer),
457         (gst_single_queue_push_one), (gst_multi_queue_chain),
458         (gst_multi_queue_sink_event):
459         Make sure we don't reference the buffer/event after we have given away
460         ownership in the queue.
461
462 2007-06-18  Wim Taymans  <wim@fluendo.com>
463
464         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
465         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
466         Update queue state _after_ adding the item in the queue because else we
467         could end up being full without the element added yet.
468
469 2007-06-18  Wim Taymans  <wim@fluendo.com>
470
471         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
472         (gst_bin_remove_func), (gst_bin_get_state_func),
473         (gst_bin_element_set_state), (gst_bin_continue_func),
474         (bin_push_state_continue), (bin_handle_async_start),
475         (bin_handle_async_done), (gst_bin_handle_message_func):
476         * gst/gstbin.h:
477         Immediatly commit the toplevel bin state when receiving an async-done
478         message. This enables us to avoid spawning a thread to commit the state
479         in some common cases and it also avoids some races.
480         Avoid spawning a state thread when adding/removing async elements to a
481         toplevel bin. Instead we immediatly update the bin state.
482         Get rid of iterating all the children when getting the state in the bin
483         because it is now always up-to-date.
484         Fix bug where locked elements would always return _SUCCESS even it they
485         returned NO_PREROLL before being locked.
486         Fix the order of the state_change, async-start/done messages that was
487         sometimes incorrect.
488         Mark the state_dirty field as deprecated, we don't need it anymore as we
489         are always up-to-date.
490
491         * gst/gstelement.c: (gst_element_get_state_func),
492         (gst_element_continue_state):
493         Small debug inprovements.
494         Return the previous element state return when nothing is pending instead
495         of blindly returning SUCCESS.
496
497         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
498         (gst_sinks_suite):
499         Add a whole bunch of new testcases.
500
501 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * po/uk.po:
504         * po/vi.po:
505           Update translations.
506
507 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
508
509         * gst/gstpad.c:
510         Fix typo in the docs.
511
512 2007-06-15  Wim Taymans  <wim@fluendo.com>
513
514         * docs/libs/gstreamer-libs-sections.txt:
515         Add docs for new methods.
516
517 2007-06-15  Wim Taymans  <wim@fluendo.com>
518
519         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
520         (gst_multi_queue_item_new):
521         Don't use GSlice because we don't depend on >= 2.10 yet.
522
523 2007-06-15  Wim Taymans  <wim@fluendo.com>
524
525         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
526         (update_time_level), (apply_segment), (apply_buffer),
527         (gst_single_queue_push_one), (gst_multi_queue_item_new),
528         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
529         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
530         (single_queue_underrun_cb), (single_queue_check_full):
531         Remove debug printf.
532
533 2007-06-15  Wim Taymans  <wim@fluendo.com>
534
535         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
536         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
537         (gst_data_queue_set_flushing), (gst_data_queue_push),
538         (gst_data_queue_pop), (gst_data_queue_drop_head),
539         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
540         * libs/gst/base/gstdataqueue.h:
541         Various cleanups.
542         Added methods to get the current levels and to inform the queue that the
543         'full' limits changed.
544
545         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
546         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
547         (gst_single_queue_flush), (update_time_level), (apply_segment),
548         (apply_buffer), (gst_single_queue_push_one),
549         (gst_multi_queue_item_steal_object),
550         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
551         (gst_multi_queue_loop), (gst_multi_queue_chain),
552         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
553         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
554         (gst_multi_queue_src_query), (single_queue_overrun_cb),
555         (single_queue_underrun_cb), (single_queue_check_full),
556         (gst_single_queue_new):
557         Keep track of time in the queue by measuring the difference between
558         running_time on input and output. This gives more accurate results and
559         can compensate for segments correctly.
560         Make a queue by default only 5 buffers deep. We will now increase the
561         buffer size depending on the filledness of the other queues.
562         Factor out commong flush code.
563         Make sure we don't add additional refcounts to buffers when we can avoid
564         it.
565         Propagate GstFlowReturn differently.
566         Use GSlice for intermediate GstMultiQueueItems.
567         Keep track of EOS.
568         Resize queues on over and underruns based on filled level of other
569         queues.
570         When checking if the queue is filled, prefer to measure in time if we
571         can and fall back to bytes when no time is known.
572
573         * plugins/elements/gstqueue.c:
574         Fix return value.
575
576 2007-06-15  Wim Taymans  <wim@fluendo.com>
577
578         * libs/gst/base/gstbasetransform.c:
579         (gst_base_transform_sink_event):
580         Work around the brokenness of the event vmethod in basetransform. Prefer
581         to return TRUE when the subclass returned FALSE (meaning don't forward
582         the event). 
583
584         * libs/gst/base/gstbasetransform.h:
585         Clarify the docs.
586
587 2007-06-15  Wim Taymans  <wim@fluendo.com>
588
589         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
590         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
591         (gst_base_src_default_query), (gst_base_src_get_range),
592         (gst_base_src_start):
593         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
594         Improve debugging.
595
596 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
597
598         * docs/pwg/advanced-types.xml:
599           Added more formats to caps table.
600
601 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
602
603         * tools/gst-launch.c: (main):
604           Remove crufy code. GOption does not need this workaround.
605
606 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
607
608         * libs/gst/controller/gstcontroller.c:
609         (gst_controlled_property_set_interpolation_mode):
610           Fix wrong getter for enums in controller.
611
612 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
613
614         * libs/gst/check/gstcheck.c: (gst_check_init):
615           Intercept criticals and warnings in the Gst-Phonon log domain, so
616           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
617           well.
618         
619 2007-06-14  Edward Hervey  <edward@fluendo.com>
620
621         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
622         Since this file doesn't include "gst.h" it will not go through the
623         macros that disable GST_LOG if debugging was disabled.
624
625 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
626
627         * libs/gst/check/Makefile.am:
628         * libs/gst/check/gstcheck.h:
629         * pkgconfig/gstreamer-check-uninstalled.pc.in:
630         * pkgconfig/gstreamer-check.pc.in:
631           Ugly 'fix' for the controller unit test on the p5 bot: in
632           fail_unless_equals_float() check whether the values are 'almost
633           equal' by allowing a small absolute error, which should be good
634           enough for our use cases (normal numbers and values close to 0).
635           Proper fixage left to floating point arithmetic aficionados.
636
637 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
638
639         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
640         (gst_base_sink_render_object), (gst_base_sink_get_position):
641           Add two breaks thats where missing.
642
643 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
644
645         * docs/libs/gstreamer-libs-sections.txt:
646         * libs/gst/check/gstcheck.h:
647           API: add fail_unless_equals_float() and assert_equals_float().
648           Add documentation for some of the macros.
649
650         * tests/check/libs/controller.c: (GST_START_TEST):
651           Use newly-added asserts.
652
653 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
654
655         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
656           Show the caps change in the log to help spotting the case of not
657           exactly matching caps.
658
659 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
660
661         * docs/pwg/building-boiler.xml:
662           Fix typos, spotted by Thijs Vermeir (#447190).
663
664 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
665
666         * docs/plugins/tmpl/.cvsignore:
667         Ignore file to keep the buildbots happy
668
669 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
670
671         * docs/plugins/Makefile.am:
672         * docs/plugins/gstreamer-plugins-docs.sgml:
673         * docs/plugins/gstreamer-plugins-sections.txt:
674         Pull fdsink into the docs too.
675
676 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
677
678         * libs/gst/controller/gstinterpolation.c:
679         Actually use the new functions with min/max checks for the trigger and
680         none interpolation modes for get() and get_value_array() instead of
681         just the latter.
682
683 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
684
685         * libs/gst/controller/gstcontroller.c:
686         (gst_controlled_property_free):
687         Unset the minimum and maximum GValues when freeing the corresponding
688         GstControllerProperty struct.
689
690 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
691
692         * libs/gst/controller/gstcontroller.c:
693         (gst_controlled_property_new):
694         * libs/gst/controller/gstcontrollerprivate.h:
695         * libs/gst/controller/gstinterpolation.c:
696         (gst_controlled_property_find_control_point_node),
697         (interpolate_none_get), (interpolate_none_get_enum_value_array),
698         (interpolate_none_get_string_value_array),
699         (interpolate_trigger_get),
700         (interpolate_trigger_get_enum_value_array),
701         (interpolate_trigger_get_string_value_array):
702         Protect against values larger or smaller than the minimum or maximum
703         allowed value for the property when using values that can be compared.
704
705         Optimize trigger interpolator a bit by taking the last requested value
706         into account instead of always looping through the complete list.
707
708         Fix coding style a bit, everywhere else we use "return foo" instead
709         of "return (foo)".
710         
711         * tests/check/libs/controller.c: (GST_START_TEST),
712         (gst_controller_suite):
713         Add unit test for the protection against too large or too small
714         values.
715
716 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
717
718         * docs/random/slomo/controller.txt:
719         Add some thoughts about the future of the controller.
720
721 2007-06-08  Wim Taymans  <wim@fluendo.com>
722
723         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
724         Don't overflow in retimestamping code.
725
726 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
727
728         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
729         Use gst_util_guint64_to_gdouble for conversions.
730         * win32/common/libgstreamer.def:
731         Add new exported functions.
732
733 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
734
735         * gst/gstutils.c:
736           Small docs addition.
737
738 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
739
740         * README:
741           Remove that test line again.
742
743 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
744
745         * README:
746           Test commit mail sending.
747
748 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
749
750         * configure.ac:
751           Fix typo and test commit mail sending.
752
753 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
754
755         * tests/examples/controller/audio-example.c:
756           Improve comment and test commit mail sending.
757
758 2007-06-07  Wim Taymans  <wim@fluendo.com>
759
760         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
761         (gst_bin_remove_func), (gst_bin_element_set_state),
762         (bin_handle_async_start), (bin_handle_async_done),
763         (gst_bin_handle_message_func):
764         Add helper function to find messages.
765         Generate the async-done messages together with the state change
766         messages.
767         Small cleanups in handling toplevel bins.
768
769 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
770
771         * libs/gst/base/gstdataqueue.c:
772         * libs/gst/base/gstdataqueue.h:
773         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
774         (gst_multi_queue_item_new), (gst_multi_queue_chain),
775         (gst_multi_queue_sink_event):
776         * tests/check/elements/multiqueue.c: (multiqueue_suite):
777           Fix multiqueue leaking buffers and events when downstream or the
778           queue are flushing. Make refcounting assumptions explicit and
779           document them (shouldn't break existing code that uses it other than
780           maybe leak miniobjects, but that already happens anyway). Add unit
781           test for the most common flushing case. Fixes #423700.
782           
783 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
784
785         * libs/gst/controller/gstcontroller.c:
786         Clarify docs: The get_all, get_value_array(s) functions
787         don't modify the GObject properties.
788
789 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
790
791         * libs/gst/controller/gstcontroller.c:
792         (gst_controlled_property_set_interpolation_mode),
793         (gst_controlled_property_prepend_default),
794         (gst_controlled_property_new), (gst_controller_set_unlocked),
795         (gst_controller_set), (gst_controller_set_from_list),
796         (gst_controller_unset), (gst_controller_unset_all):
797         * libs/gst/controller/gstcontrollerprivate.h:
798         * libs/gst/controller/gstinterpolation.c:
799         Factor out the 'set' logic into gst_controller_set_unlocked for the
800         gst_controller_set and gst_controller_set_from_list functions.
801
802         To make life of the interpolators easier always add a control point
803         at timestamp zero with the default value.
804
805         In the linear interpolator make things more obvious by better variable
806         naming (slope).
807
808         Implement cubic interpolation mode (by using a natural cubic spline)
809         and map the quadratic interpolation mode to this too (as quadratic
810         doesn't make much sense, see discussion on the list).
811
812         * tests/check/libs/controller.c: (GST_START_TEST),
813         (gst_controller_suite):
814         Add unit test for the cubic interpolation mode and check everywhere
815         if the interpolation mode could be set as expected.
816
817 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
818
819         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
820           Don't use GLib-2.10 functions, we still depend on
821           GLib-how-old-is-it-again-2.8.
822
823 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
824
825         * docs/gst/gstreamer-sections.txt:
826         * gst/Makefile.am:
827         * gst/gst.c:
828         * gst/gst.h:
829         * gst/gstparamspecs.c: (_gst_param_fraction_init),
830         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
831         (_gst_param_fraction_values_cmp),
832         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
833         * gst/gstparamspecs.h:
834         * gst/gstvalue.c:
835         * tests/check/Makefile.am:
836         * tests/check/gst/.cvsignore:
837         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
838         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
839         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
840         (GST_START_TEST), (gst_param_spec_suite):
841           API: add GstParamSpecFraction, so elements can have fraction
842           properties without lots of painful string parsing (#444648).
843
844 2007-06-05  Wim Taymans  <wim@fluendo.com>
845
846         * gst/gstobject.c: (gst_object_class_init):
847         Fix signal signature.
848
849         * gst/gstsegment.c:
850         Add small clarification in the api docs.
851
852         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
853         States are protected with object lock.
854
855 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
856
857         * AUTHORS:
858         I should probably be listed as an author by now.
859
860         * docs/random/release:
861         Update the release doc
862
863 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
864
865         * gst/gstvalue.c:
866           Make docs for gst_value_compare() mention return enums that
867           actually exist.
868
869 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
870
871         * configure.ac:
872           Back to CVS
873
874 === release 0.10.13 ===
875
876 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
877
878         * configure.ac:
879           releasing 0.10.13, "With or without you"
880
881 2007-05-25  Wim Taymans  <wim@fluendo.com>
882
883         * gst/gstbin.c: (bin_handle_async_done):
884         Make sure that the child bin stops after completing the async state
885         change so that the parent can continue the state change to PLAYING.
886         Fixes #441159.
887
888 2007-05-25  Wim Taymans  <wim@fluendo.com>
889
890         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
891         (unref_data), (gst_collect_pads_remove_pad),
892         (gst_collect_pads_check_pads):
893         Use additional refcounting to avoid crashes when dynamically adding and
894         removing pads. Fixes #420206.
895
896 2007-05-24  Wim Taymans  <wim@fluendo.com>
897
898         * tools/gst-launch.c: (event_loop):
899         When buffering goes from a two digit to a single digit number, make sure
900         to remove the old second digit by writing a blank over it.
901
902 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
903
904         * libs/gst/base/gstdataqueue.c:
905           Eliminate tabs and trailing comma in enum list; fix some typos.
906
907 2007-05-24  Wim Taymans  <wim@fluendo.com>
908
909         * tests/check/gst/gstbin.c: (GST_START_TEST):
910         Allow refcount of 3 and 4 because some state thread might still be busy
911         with it.
912
913 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
914
915         * plugins/elements/Makefile.am:
916         * plugins/elements/gstmultiqueue.h:
917         * plugins/elements/gstqueue.h:
918           These are not installed headers, no need for padding.
919
920 2007-05-24  Wim Taymans  <wim@fluendo.com>
921
922         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
923         (gst_bin_continue_func):
924         Enable latency for next release.
925         Restore STATE_LOCK around recalc_state that was left out during the
926         rewrite and could result in racy behaviour when _get_state and
927         recalc_state are run concurrently. See #440463.
928
929 2007-05-23  Wim Taymans  <wim@fluendo.com>
930
931         * tests/check/gst/gstsystemclock.c: (store_callback),
932         (GST_START_TEST):
933         Improve test_async_order to also work when both timers are already
934         expired when we get scheduled to check it.
935
936 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
937
938         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
939         (gst_bin_set_property), (gst_bin_get_property),
940         (gst_bin_remove_func), (gst_bin_handle_message_func):
941         * gst/gstbin.h:
942           'private' is a c++ keyword, let's not use that in header files,
943           otherwise c++ compilers will throw a tantrum.
944
945 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
946
947         * plugins/elements/gstelements.c:
948         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
949         (gst_file_sink_get_current_offset):
950         * plugins/indexers/gstindexers.c: (plugin_init):
951           Use #ifdef for HAVE_XYZ for consistency.
952
953         * tests/check/Makefile.am:
954         * tests/check/elements/.cvsignore:
955         * tests/check/elements/filesink.c: (setup_filesink),
956         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
957           Add some unit tests for filesink.
958
959 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
960
961         Patch by: Mark Nauwelaerts <manauw at skynet be>
962
963         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
964         (gst_file_sink_query), (gst_file_sink_do_seek),
965         (gst_file_sink_get_current_offset), (gst_file_sink_render):
966         * plugins/elements/gstfilesink.h:
967           Fix position reporting; rename data_written member to current_pos to
968           reflect its real meaning (fixes #412648).
969
970 2007-05-22  Edward Hervey  <edward@fluendo.com>
971
972         * docs/gst/gstreamer-sections.txt:
973         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
974         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
975         (gst_bin_remove_func), (gst_bin_handle_message_func):
976         * gst/gstbin.h:
977         Add a property for bins that handle the state change of their childs.
978         Fixes #435880
979
980 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
981
982         * libs/gst/controller/gstinterpolation.c:
983         Use an array of the correct type when using _get_value_array with
984         linear interpolation.
985
986 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
987
988         * gst/gstelement.c (gst_element_requires_clock,
989           gst_element_provides_clock, gst_element_request_pad,
990           gst_element_class_set_details, gst_element_class_set_details_simple,
991           gst_element_default_send_event, gst_element_abort_state,
992           gst_element_continue_state, gst_element_set_state,
993           gst_element_set_state_func, iterator_activate_fold_with_resync):
994         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
995           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
996           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
997           gst_pad_get_range, gst_pad_pull_range):
998         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
999           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
1000           GstPadActivateModeFunction, GstPadChainFunction,
1001           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
1002           GstPadFixateCapsFunction, GstPadTemplate):
1003         * gst/gstpipeline.c (gst_pipeline_change_state,
1004           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
1005           gst_pipeline_set_clock, gst_pipeline_auto_clock,
1006           gst_pipeline_get_delay):
1007           Whitespace and docs fixes.
1008
1009 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1010
1011         * libs/gst/controller/gstinterpolation.c:
1012         (interpolate_trigger_get_enum_value_array),
1013         (interpolate_trigger_get_string_value_array):
1014         Add support for retrieving value arrays when using the trigger
1015         interpolation mode. 
1016
1017 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1018
1019         * libs/gst/controller/gstcontroller.c:
1020         (gst_controller_get_value_array):
1021         * libs/gst/controller/gstcontroller.h:
1022         Clarify the docs of gst_controller_get_value_array(): The array where
1023         the values should be written to must be allocated as there seems to be
1024         no way to get the size of a random GType. This doesn't change any
1025         behaviour. Also fix some typos all over the place and remove an unused,
1026         commented function that is not necessary as g_object_set() could be
1027         used instead.
1028         * tests/check/libs/controller.c: (GST_START_TEST),
1029         (gst_controller_suite):
1030         Add unit test for gst_controller_get_value_array().
1031
1032 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
1033
1034         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1035
1036         Disable part of the gst_buffer_try_new_and_alloc test, because
1037         it can happily succeed on 64-bit systems where there's more address
1038         space available.
1039
1040 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1041
1042         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1043         Add unit test for the improved caps checking from bug #421543.
1044
1045 2007-05-21  Wim Taymans  <wim@fluendo.com>
1046
1047         * docs/design/part-synchronisation.txt:
1048         Small addition.
1049
1050         * gst/gstbin.c: (gst_bin_query):
1051         * plugins/elements/gstqueue.c: (apply_segment):
1052         Improve debugging.
1053
1054         * gst/gstmessage.h:
1055         Improve docs.
1056
1057 2007-05-21  Wim Taymans  <wim@fluendo.com>
1058
1059         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
1060         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
1061         (gst_pad_configure_src):
1062         Added simple version of improved caps checking. It was previously
1063         assumed that a setcaps function would check the validity of the caps but
1064         people prefer us to check caps against the template automatically. 
1065         Fixes #421543.
1066
1067 2007-05-21  Wim Taymans  <wim@fluendo.com>
1068
1069         * libs/gst/base/gstbasetransform.h:
1070         Fix macro for locking/unlocking the transform lock.
1071
1072 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1073
1074         * docs/plugins/tmpl/.cvsignore:
1075           Ignore more.
1076
1077 2007-05-18  Edward Hervey  <edward@fluendo.com>
1078
1079         * plugins/elements/gstqueue.c: (gst_queue_loop):
1080         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
1081         for the subtle art of warning a potentially blocking thread that it
1082         should check the source pad return value, and relay the information
1083         upstream.
1084
1085 2007-05-18  Edward Hervey  <edward@fluendo.com>
1086
1087         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1088         Release the queue lock !
1089
1090 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1091
1092         * docs/libs/gstreamer-libs-sections.txt:
1093         Add the two new controller functions to the appropiate places.
1094
1095 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1096
1097         reviewed by: Stefan Kost <ensonic@users.sf.net>
1098
1099         * libs/gst/controller/gstcontroller.c:
1100         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
1101         (_gst_controller_get_property), (_gst_controller_set_property),
1102         (_gst_controller_init), (_gst_controller_class_init):
1103         * libs/gst/controller/gstcontroller.h:
1104         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
1105         (gst_object_get_control_rate), (gst_object_set_control_rate):
1106         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
1107         Add API that provides sync suggestion timestamps for elements that
1108         call gst_object_sync_values() from which those elements can subdivide
1109         their processing loop to get the best results for the controlled
1110         properties. For now it just suggests last_sync + control_rate as
1111         new timestamp but this will be improved in the future.
1112
1113         While doing that change the control-rate property to a GstClockTime
1114         from guint and change it's meaning from samples to nanoseconds as
1115         the GstController doesn't know anything about sampling rate. Strictly
1116         speaking this breaks ABI but as the control-rate property didn't do
1117         anything in the past and as such couldn't be used this should be no
1118         problem.        
1119
1120 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1121
1122         reviewed by: Stefan Kost <ensonic@users.sf.net>
1123
1124         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1125         (gst_controller_unset_all):
1126         * libs/gst/controller/gstcontrollerprivate.h:
1127         * libs/gst/controller/gstinterpolation.c:
1128         (gst_controlled_property_find_control_point_node):
1129         Save last synced value from the list to continue searching from there
1130         in future syncs. This speeds everything up a bit.
1131         
1132 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1133
1134         reviewed by: Stefan Kost <ensonic@users.sf.net>
1135
1136         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
1137         (gst_control_point_find), (gst_controlled_property_new),
1138         (gst_control_point_free), (gst_controlled_property_free),
1139         (gst_controller_set), (gst_controller_set_from_list),
1140         (gst_controller_unset), (gst_controller_unset_all),
1141         (gst_controller_sync_values):
1142         * libs/gst/controller/gstcontroller.h:
1143         * libs/gst/controller/gstcontrollerprivate.h:
1144         * libs/gst/controller/gstinterpolation.c:
1145         (gst_controlled_property_find_control_point_node),
1146         (interpolate_none_get), (interpolate_trigger_get):
1147         Add a new private GstControlPoint struct which "inherits" from
1148         GstTimedValue to allow different interpolators to store internal
1149         values next to each control point. From the outside everything is
1150         still a GstControlPoint so we don't loose binary compatibility.
1151         Also fixup all the GValue handling to not leak GValues or list nodes.
1152         * tests/check/libs/controller.c: (GST_START_TEST):
1153         Free the list nodes and GValues in the controller_misc test.
1154
1155 2007-05-17  Edward Hervey  <edward@fluendo.com>
1156
1157         * gst/gstsegment.c:
1158         Small doc fix.
1159
1160 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1161
1162         * gst/gstplugin.c: (gst_plugin_load_file):
1163           If we fail to load a plugin because of unresolved symbols or missing
1164           libraries and spew a warning to stderr, we may just as well mention
1165           which plugin it was that failed to load.
1166
1167 2007-05-13  David Schleef  <ds@schleef.org>
1168
1169         * docs/Makefile.am: the gtk-doc makefile snippet correctly
1170           handles the case when ENABLE_GTK_DOC is false, and installs
1171           the prebuilt documentation.  So gtk-doc subdirs are 
1172           unconditionally enabled.  Fixes: #349099.
1173
1174 2007-05-13  David Schleef  <ds@schleef.org>
1175
1176         * gst/gstutils.h: Reword some documentation.
1177
1178 2007-05-12  David Schleef  <ds@schleef.org>
1179
1180         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
1181           do anything with the passed "module" parameter, so remove it.
1182           Allows removal of additional vestigal code.
1183
1184 2007-05-12  David Schleef  <ds@schleef.org>
1185
1186         * gst/gstplugin.c:
1187           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
1188           Switch to using g_stat() because it's more portable.
1189
1190 2007-05-12  David Schleef  <ds@schleef.org>
1191
1192         * gst/gst.c:
1193           Add GST_DISABLE_OPTION_PARSING, in order to disable option
1194           parsing for embedded systems.
1195         * gst/gstelementfactory.c:
1196           Allow gst_element_register() to be called with plugin==NULL.
1197           Did nobody notice that static elements were broken?
1198
1199 2007-05-12  Wim Taymans  <wim@fluendo.com>
1200
1201         * tools/gst-launch.c: (event_loop):
1202         Give more interesting info when buffering starts and stops.
1203         Fix case where buffering starts but we fail to update the buffering flag
1204         because the target state is not PLAYING.
1205
1206 2007-05-12  Wim Taymans  <wim@fluendo.com>
1207
1208         * plugins/elements/gstqueue.c: (gst_queue_init),
1209         (gst_queue_finalize), (update_time_level), (apply_segment),
1210         (apply_buffer), (gst_queue_locked_flush),
1211         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
1212         (gst_queue_handle_sink_event), (gst_queue_chain),
1213         (gst_queue_push_one), (gst_queue_loop):
1214         * plugins/elements/gstqueue.h:
1215         Refactor an cleanup queue a bit.
1216         Do better time level calculations that also work when the srcpad is not
1217         yet running.
1218         Remove some unneeded debug lines.
1219
1220         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
1221         Added testcase for time level measurement.
1222         Try to make some stuff more racefree.
1223
1224 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         * gst/gsturi.c: (gst_element_make_from_uri):
1227           Don't leak plugin feature.
1228
1229         * tests/check/Makefile.am:
1230         * tests/check/gst/.cvsignore:
1231         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
1232           Add brain-dead unit test.
1233
1234 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         Patch by: Jeroen Wouters <woutersj at gmail com>
1237
1238         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
1239           Treat protocol strings in a case-insensitive way (#437563).
1240
1241 2007-05-11  Michael Smith <msmith@fluendo.com>
1242
1243         * gst/gstplugin.c: (gst_plugin_load_file):
1244         * gst/gstregistry.c: (gst_registry_scan_path_level):
1245           Don't print a g_warning for any failure to load a shared object.
1246           Instead, push this down into gstplugin.c, and warn _only_ if we
1247           failed to open the module (i.e. failure to link).
1248           Avoids warnings on normal, working, non-plugin .so files.
1249
1250 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
1251
1252         * gst/gstplugin.c (gst_plugin_load_file):
1253         * gst/gstregistry.c (GST_CAT_DEFAULT,
1254           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
1255           Print a g_warning if there was an error when loading a plugins during
1256           registry scan. The shuld help beginners starting with gst-plugin
1257           template.
1258
1259 2007-05-10  Wim Taymans  <wim@fluendo.com>
1260
1261         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1262         (update_time_level), (gst_queue_locked_flush),
1263         (gst_queue_handle_sink_event), (gst_queue_chain),
1264         (gst_queue_push_one), (gst_queue_loop):
1265         * plugins/elements/gstqueue.h:
1266         Be smarter when calculating the current amount of data in the queue by
1267         measuring the difference between start and end timestamps (in running
1268         time) inside the queue. Fixes #432876.
1269         API: GstQueue::pushing to notify elements that we are pushing data again
1270         since the running signal is rather broken for this purpose.
1271
1272 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
1275           gst_queue_base_init, gst_queue_init):
1276           use GST_BOILERPLATE
1277
1278 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
1279
1280         * win32/common/libgstreamer.def:
1281         Add new exported functions.
1282         * win32/vs6/grammar.dsp:
1283         Use grammar pre-generated files.
1284
1285 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
1288
1289         * gst/Makefile.am:
1290         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
1291         * gst/gstparse.h:
1292         * gst/gstutils.c: (gst_parse_bin_from_description):
1293         * gst/gstutils.h:
1294           Maintain API and ABI when --disable-parse is used. Now that
1295           we have an appropriate error code, we can just return NULL and the
1296           appropriate error when gst_parse_launch() is used despite it having
1297           been disabled (#342564).
1298
1299         * tests/check/Makefile.am:
1300         * tests/check/pipelines/.cvsignore:
1301         * tests/check/pipelines/parse-disabled.c:
1302           Make sure these functions exist and return NULL plus a GError when
1303           --disable-parse is used.
1304
1305 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1306
1307         * tests/benchmarks/complexity.c: (main):
1308         * tests/benchmarks/mass-elements.c: (main):
1309           Set a good example and don't leak messages.
1310
1311 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
1312
1313         * docs/gst/Makefile.am:
1314         * docs/libs/Makefile.am:
1315           Correct fixxrefs options.
1316
1317         * docs/plugins/Makefile.am:
1318         * docs/plugins/gstreamer-plugins-docs.sgml:
1319         * docs/plugins/gstreamer-plugins-sections.txt:
1320         * plugins/elements/Makefile.am:
1321         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
1322         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
1323           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
1324           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
1325           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
1326           _GstCapsFilterClass, trans_class):
1327         * plugins/elements/gstelements.c (name, rank, type, _elements):
1328         * plugins/elements/gstidentity.c
1329           (gst_identity_check_imperfect_timestamp,
1330           gst_identity_check_imperfect_offset):
1331           Document capsfilter and add doc-blurb to identity.
1332
1333 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1334
1335         * libs/gst/controller/gstcontroller.c:
1336         (gst_controlled_property_set_interpolation_mode):
1337         * libs/gst/controller/gstinterpolation.c:
1338           Don't crash if someone tries to set an interpolation mode that
1339           is invalid or that isn't supported yet. Fixes #422295.
1340
1341         * tests/check/libs/controller.c: (GST_START_TEST),
1342         (gst_controller_suite):
1343           Add a test case for the above.
1344
1345 2007-05-03  Edward Hervey  <edward@fluendo.com>
1346
1347         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
1348         Properly set the last_stop position on GstSegment. This will only happen
1349         if there is a buffer to push out.
1350
1351 2007-05-03  Wim Taymans  <wim@fluendo.com>
1352
1353         * libs/gst/base/gstbasetransform.c:
1354         (gst_base_transform_buffer_alloc):
1355         always_in_place does not mean that the sink and source caps are the
1356         same! Make sure we don't blindly proxy the buffer_alloc in this case.
1357
1358 2007-05-03  Wim Taymans  <wim@fluendo.com>
1359
1360         * docs/libs/gstreamer-libs-sections.txt:
1361         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1362         (gst_base_src_default_query), (gst_base_src_get_range):
1363         * libs/gst/base/gstbasesrc.h:
1364         API: gst_base_src_query_latency(). Added method so that subclasses can
1365         easily get the latency values of the base source class.
1366
1367 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
1368
1369         * tools/gst-inspect.c (print_implementation_info):
1370         Remove 0.8 cruft.
1371
1372 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
1373
1374         * tools/Makefile.am:
1375         * tools/gst-launch.1.in:
1376           Don't create a customised man page based on the host architecture,
1377           describe the default registry path generically. That way the man
1378           page is the same for all architectures and packagers have one
1379           multilib issue less to deal with. Fixes #434926.
1380
1381 2007-05-02  Wim Taymans  <wim@fluendo.com>
1382
1383         * gst/gstpad.c:
1384         Fix documentation as spotted by rg on IRC. 
1385
1386 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
1387
1388         * gst/gstutils.c:
1389           Improve docs for gst_element_{link,unlink}.
1390
1391 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * docs/design/part-events.txt:
1394         * docs/design/part-overview.txt:
1395         * gst/gstevent.c:
1396         * gst/gsturi.c:
1397         * gst/gsturi.h:
1398         * libs/gst/base/gstbasesink.c:
1399           Typo fixes; minor docs addition.
1400
1401 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1402
1403         * docs/gst/gstreamer-sections.txt:
1404         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
1405         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
1406         * gst/gsturi.h:
1407         API: Add gst_uri_protocol_is_supported(), which checks if a sink
1408         or src that supports a given URI protocol exists.
1409
1410 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1411
1412         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1413         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1414         Set the location to NULL if "file://" is set as URI. Otherwise
1415         some random previous URI would still be set if "file://" is
1416         set on an already used filesink/filesrc.
1417
1418 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1419
1420         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1421         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1422         Special case the "file://" URI as as this is used by some
1423         applications to test with gst_element_make_from_uri if there's
1424         an element that supports the URI protocol.
1425         Also move the g_path_is_absolute() check for the location part
1426         of the URI to also check this for "file://localhost/bla" URIs.
1427
1428 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
1429
1430         * docs/gst/gstreamer-sections.txt:
1431         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
1432         * gst/gstbuffer.h:
1433         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1434         (gst_buffer_suite):
1435           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
1436
1437 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
1438
1439         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1440         (gst_registry_binary_load_pad_template),
1441         (gst_registry_binary_load_plugin),
1442         (gst_registry_binary_read_cache):
1443         * gst/gstregistrybinary.h:
1444           Implement no-mmap alternative for registry reading. Do code cleanups.
1445           Add more comments about avoiding strdups for all text data. Comments
1446           welcome.
1447
1448 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1449
1450         * gst/gstregistrybinary.h (GstBinaryPluginElement,
1451           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
1452           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
1453           Comment structs and reformat to fix the build (that stuff should go
1454           into a priv. header).
1455
1456 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1459         (gst_registry_binary_load_feature):
1460         * gst/gstregistrybinary.h:
1461           Refactor so that we can implement multiple features. Add support for
1462           TypeFindFactory features.
1463
1464 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
1465
1466         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
1467
1468         * configure.ac:
1469           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
1470
1471 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
1472
1473         * gst/gstbin.c: (gst_bin_element_set_state),
1474         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
1475         (bin_handle_async_done), (gst_bin_handle_message_func):
1476           Fix build with --gst-disable-gst-debug
1477
1478 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1479
1480         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
1481           Make sure streaming has finished before calling the ::stop() vfunc,
1482           since that vfunc might clear state which is being used in the
1483           streaming thread. This fixes a race that caused crashes in
1484           audioresample when shutting down a pipeline (#420106).
1485
1486 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1487
1488         * docs/gst/gstreamer-sections.txt:
1489           That was one byte missing.
1490
1491 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1492
1493         * configure.ac:
1494         * docs/gst/gstreamer-sections.txt:
1495         * gst/Makefile.am:
1496         * gst/gstconfig.h.in:
1497         * gst/gstobject.c: (gst_object_class_init),
1498         (gst_signal_object_class_init):
1499         * gst/gstobject.h:
1500           2nd attempt to have a xml-less build as a joined effort of #413123
1501           and #421480.
1502
1503 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1504
1505         * docs/design/draft-tagreading.txt:
1506           Added open issues/thoughts to draft.
1507
1508 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1509
1510         * gst/parse/grammar.tab.pre.c:
1511         * gst/parse/grammar.tab.pre.h:
1512         * gst/parse/lex._gst_parse_yy.pre.c:
1513         Update the prebuild parser sources.
1514
1515 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1516
1517         * gst/parse/Makefile.am:
1518         And now fix the building of the flex sources. Now everything should
1519         work as expected.
1520
1521 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1522
1523         * gst/parse/Makefile.am:
1524         Now hopefully fix the build failures by setting proper rule
1525         dependencies and moving instead of copying.
1526
1527 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * tests/benchmarks/complexity.gnuplot:
1530         * tests/benchmarks/complexity.scm:
1531         * tests/benchmarks/mass-elements.gnuplot:
1532         * tests/benchmarks/mass-elements.scm:
1533           Total licensification.
1534
1535 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * gst/parse/Makefile.am:
1538           Fix the build by correcting the rule that gave wrong files to flex.
1539
1540 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1541
1542         * tests/benchmarks/complexity.c:
1543         * tests/benchmarks/mass-elements.c:
1544           Change licence to LGPL as granted by Benjamin and Andy.
1545
1546 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1547
1548         * gst/parse/Makefile.am:
1549         Add correct grammar.tab.h dependency if compiling without new enough
1550         flex. Fixes #431150.
1551
1552 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1553
1554         * gst/parse/Makefile.am:
1555         Fix typo and use outdated sources if the flex/bison sources are newer
1556         than the pregenerated ones but flex is too old. Print a warning in
1557         that case. This should fix the build on the build bot.
1558
1559 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1560
1561         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
1562         * gst/parse/Makefile.am:
1563         * gst/parse/grammar.y:
1564         * gst/parse/parse.l:
1565         Make the parser reentrant and recursively callable. This requires flex
1566         >= 2.5.31, for older versions pregenerated sources are used as we
1567         can't bump the build dependency. Finally fixes #349180.
1568
1569         * gst/gstparse.c: (gst_parse_launch):
1570         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
1571         now anyway.
1572
1573         * docs/gst/Makefile.am:
1574         * docs/gst/Makefile.am:
1575         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
1576         (__gst_parse_strfree), (__gst_parse_link_new),
1577         (__gst_parse_link_free), (__gst_parse_chain_new),
1578         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
1579         (gst_parse_element_set), (gst_parse_free_link),
1580         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
1581         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
1582         (_gst_parse_launch):
1583         * gst/parse/grammar.tab.pre.h:
1584         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
1585         (yy_get_previous_state), (yy_try_NUL_trans), (input),
1586         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
1587         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
1588         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
1589         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
1590         (_gst_parse_yypop_buffer_state),
1591         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
1592         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
1593         (yy_fatal_error), (_gst_parse_yyget_extra),
1594         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
1595         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
1596         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
1597         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
1598         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
1599         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
1600         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
1601         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
1602         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
1603         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
1604         (_gst_parse_yyfree):
1605         If the installed flex version is too old use pre-generated parser
1606         sources. These pre-generated parser sources are always updated when
1607         the actual flex/bison sources change but require everybody who wants
1608         to change something in the parser to have flex >= 2.5.31 installed.
1609
1610 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
1611
1612         * common/m4/gst-gettext.m4:
1613         * gst/gst-i18n-lib.h:
1614           Make --disable-nls to work
1615
1616 2007-04-17  Wim Taymans  <wim@fluendo.com>
1617
1618         * gst/gstconfig.h.in:
1619         Revert previous change that broke the build.
1620
1621 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
1622
1623         * configure.ac:
1624         * gst/Makefile.am:
1625         * gst/gstconfig.h.in:
1626           Drop libxml2 dependency when building with 
1627           --enable-binary-registry --disable-loadsave
1628
1629 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1632         (gst_registry_binary_read_cache):
1633         * gst/gstregistrybinary.h:
1634           Remove unnecessary <sys/mman.h> include which broke the win32 build
1635           with MingW; move includes from header file to .c file, even if the
1636           header file isn't installed; use g_strerror() where UTF-8 strings
1637           are expected, such as in GST_DEBUG messages.
1638
1639 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1640
1641         * docs/libs/gstreamer-libs-sections.txt:
1642         Remove bogus addition for API I didn't end up keeping.
1643
1644         * libs/gst/base/gstbasesrc.h:
1645         Mention Since: 0.10.13 in the documentation.
1646
1647         Add the API keyword to the previous ChangeLog entry.
1648
1649 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1650
1651         * docs/libs/gstreamer-libs-sections.txt:
1652         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1653         (gst_base_src_default_prepare_seek_segment),
1654         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
1655         * libs/gst/base/gstbasesrc.h:
1656         Allow basesrc derived classes to execute seeks in other formats
1657         by providing a prepare_seek_segment vmethod. Sub-classes can choose
1658         to prepare the GstSegment in any format that their perform_seek method
1659         will be able to understand. The default implementation provides the
1660         old behaviour of attempting to convert the seek offsets to the 
1661         configured native format.
1662
1663         API: basesrc::prepare_seek_segment vmethod.
1664
1665 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1666
1667         * gst/gstelement.c: (gst_element_get_state_func):
1668         Don't output the same debug statement twice.
1669
1670         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
1671         (gst_adapter_peek), (gst_adapter_take_buffer):
1672         Optimise the case where we have buffers at the head of the queue that
1673         can be joined quickly (because they're contiguous sub-buffers) by
1674         merging them together rather than copying data out into new memory.
1675
1676         * gst/parse/grammar.y:
1677         * tests/check/pipelines/parse-launch.c:
1678         Fix a leak in an error path for parse_launch, and add a check 
1679         for it to the testsuite.
1680
1681 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1682
1683         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1684           Don't deadlock when releasing a pad - gst_pad_set_active may try
1685           and take the multiqueue lock too.
1686
1687 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1688
1689         * gst/gsterror.c: (_gst_core_errors_init):
1690         * gst/gsterror.h:
1691           API: add GST_CORE_ERROR_DISABLED (#392804).
1692
1693 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1694
1695         * docs/faq/gst-uninstalled:
1696           don't get empty paths on the PATH variables
1697         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
1698           Don't format for the uncommon terminal width of 84 characters.
1699
1700 2007-04-06  Wim Taymans  <wim@fluendo.com>
1701
1702         * gst/gstpipeline.c: (reset_stream_time),
1703         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
1704         Only try to select a different pipeline clock when we went back to
1705         PAUSED and not when we merely got flushed.
1706
1707 2007-04-05  Michael Smith  <msmith@fluendo.com>
1708
1709         * tools/gst-launch.1.in:
1710           fractions are better supported in gstreamer than ractions, so
1711           suggest using those.
1712
1713 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1714
1715         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
1716
1717         * po/LINGUAS:
1718         * po/da.po:
1719           Added Danish translation.
1720
1721 2007-04-05  Wim Taymans  <wim@fluendo.com>
1722
1723         * libs/gst/base/gstbasesink.c:
1724         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
1725         Fix leak caused when refusing newsegment after EOS.
1726
1727         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1728         (gst_fake_sink_init), (gst_fake_sink_set_property),
1729         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
1730         (gst_fake_sink_render), (gst_fake_sink_change_state):
1731         * plugins/elements/gstfakesink.h:
1732         Add num-buffers property to make the element generate EOS after a
1733         configurable amount of buffers.
1734         API: fakesink::num-buffers property.
1735
1736         * tests/check/elements/fakesink.c: (GST_START_TEST),
1737         (fakesink_suite):
1738         Fix GstBus leak in test.
1739         Test for fakesink num-buffers.
1740
1741 2007-04-05  Wim Taymans  <wim@fluendo.com>
1742
1743         * libs/gst/base/gstbasesink.c:
1744         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1745         (gst_base_sink_change_state):
1746         Don't accept anything after an EOS, return UNEXPECTED instead.
1747
1748         * tests/check/elements/fakesink.c: (GST_START_TEST),
1749         (fakesink_suite):
1750         Unit test for new EOS behaviour.
1751
1752 2007-04-05  Wim Taymans  <wim@fluendo.com>
1753
1754         * gst/gstelement.c: (gst_element_get_request_pad):
1755         Make padtemplates also work when they don't contain %s or %d.
1756
1757 2007-04-05  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/gst/gstreamer-sections.txt:
1760         * gst/gstclock.c: (gst_clock_adjust_unlocked),
1761         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
1762         * gst/gstclock.h:
1763         Improve _adjust_unlocked() so that it overflows less.
1764         Add gst_clock_unadjust_unlocked to convert from external time to
1765         internal time based on calibration.
1766         Add some more debug.
1767         API: GstClock::gst_clock_unadjust_unlocked()
1768
1769 2007-04-03  Wim Taymans  <wim@fluendo.com>
1770
1771         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1772
1773         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1774         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
1775         when releasing sink pad. Fixes #425400.
1776
1777 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
1778
1779         * docs/random/ensonic/dynlink.txt:
1780           More work on proposal for new core api.
1781
1782         * docs/libs/gstreamer-libs-sections.txt:
1783         * libs/gst/base/gstbasetransform.h:
1784           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
1785           
1786         * libs/gst/controller/gstcontroller.c:
1787         (on_object_controlled_property_changed),
1788         (gst_controller_sync_values),
1789         (gst_controller_set_interpolation_mode):
1790         * libs/gst/controller/gstcontroller.h:
1791           Less verbose logging add docs for unimplemented parts and correctly
1792           return when using unavailable parts.
1793
1794 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1795
1796         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
1797         Move all the debug to the CLOCK category, and associate it with
1798         the clock object.
1799
1800 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1801
1802         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
1803         Make take_buffer a bit quicker by removing redundant checks
1804         caused by calling gst_adapter_take.
1805
1806 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1807
1808         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
1809           Don't leak GCond.
1810
1811         * tests/check/Makefile.am:
1812         * tests/check/elements/.cvsignore:
1813         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1814         (GST_START_TEST), (multiqueue_suite):
1815           Add some dead simple unit tests for the 'multiqueue' element
1816           (some bits don't work yet and are disabled for now).
1817
1818 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1819
1820         * gst/gstelement.c: (gst_element_get_request_pad),
1821         (gst_element_class_get_request_pad_template):
1822           Make gst_element_get_request_pad() create request pads only for
1823           request pad templates and not for, say, sometimes pad templates.
1824
1825 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
1826
1827         * docs/design/draft-klass.txt:
1828           Add example that needs more thinking.
1829         
1830         * docs/design/draft-missing-plugins.txt:
1831           More thoughts about wrapper plugins.
1832         
1833         * docs/random/ensonic/embedded.txt:
1834         * docs/random/ensonic/profiling.txt:
1835           More design work.
1836
1837 2007-03-25  Wim Taymans  <wim@fluendo.com>
1838
1839         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1840         (gst_base_src_loop):
1841         Only push the segment events in the PLAYING state for live sources.
1842
1843 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
1844
1845         * gst/gstpipeline.c: (gst_pipeline_change_state):
1846         Modify the clock distribution path in PAUSED->PLAYING so that we 
1847         never attempt to choose a new clock unless we're actually leaving
1848         the PAUSED state for the first time. This prevents choosing a
1849         different clock when the state_change gets called for a 2nd time due
1850         to some element doing an async state change.
1851
1852 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1853
1854         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
1855         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
1856         (gst_pad_chain_unchecked), (gst_pad_push):
1857         Revert last commit. This needs some more thoughts.
1858
1859 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1860
1861         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
1862         (gst_pad_chain_unchecked), (gst_pad_push):
1863         Check in set_caps if the caps are compatible with the pad and remove
1864         two functions that are redundant now. Fixes #421543.
1865
1866 2007-03-22  Wim Taymans  <wim@fluendo.com>
1867
1868         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1869         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
1870         Unref some more to make valgrind happy.
1871
1872 2007-03-22  Wim Taymans  <wim@fluendo.com>
1873
1874         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
1875         (gst_system_clock_id_wait_jitter),
1876         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
1877         Fix anoying regression that survived a few releases. When adding an
1878         async entry while blocking on a sync entry, the sync entry will unblock
1879         but still be busy, so it should continue to wait instead of returning
1880         _BUSY to the app.
1881         Add some comments here and there.
1882
1883         * tests/check/gst/gstsystemclock.c: (mixed_thread),
1884         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
1885         Add testcase for this.
1886
1887 2007-03-22  Wim Taymans  <wim@fluendo.com>
1888
1889         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1890         Handle errors from the clock sync better, only UNSCHEDULED indicates a
1891         WRONG_STATE and can silently pause the task. All other cases should
1892         error out.
1893
1894 2007-03-22  Wim Taymans  <wim@fluendo.com>
1895
1896         Patch by: Ville Syrjala <syrjala at sci dot fi>
1897
1898         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
1899         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
1900         Improve debugging.
1901
1902 2007-03-21  Michael Smith  <msmith@fluendo.com>
1903
1904         * docs/pwg/advanced-types.xml:
1905           Fix some errors in the typefinding docs pointed out on irc.
1906
1907 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
1908
1909         * libs/gst/base/gstbasesrc.c:
1910         Clarify FIXME comment in the face of having added unlock_stop()
1911
1912 2007-03-21  Wim Taymans  <wim@fluendo.com>
1913
1914         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
1915         Prepare for release where we warn against possible app breakage in the
1916         case of live pipelines along with an env var to enable/disable live
1917         preroll mode (GST_COMPAT=[no-]live-preroll).
1918
1919 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1920
1921         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
1922         So we should use correct constants for checking for None offset.
1923
1924 2007-03-20  Wim Taymans  <wim@fluendo.com>
1925
1926         * docs/design/part-block.txt:
1927         Mention the fact that the newly switched element should be set to at
1928         least PAUSED.
1929
1930 2007-03-20  Wim Taymans  <wim@fluendo.com>
1931
1932         * gst/gst.c:
1933         Fix compilation with registry disabled as spotted by Saur.
1934
1935 2007-03-20  Wim Taymans  <wim@fluendo.com>
1936
1937         Patch by: Olivier Crete <tester at tester dot ca>
1938
1939         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1940         Look at the pending state too when syncing the element state to the
1941         parent. Fixes #420133.
1942
1943 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
1944
1945         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1946         (gst_base_sink_change_state):
1947         * libs/gst/base/gstbasesink.h:
1948         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1949         (gst_base_src_default_event), (gst_base_src_unlock_stop),
1950         (gst_base_src_deactivate):
1951         * libs/gst/base/gstbasesrc.h:
1952         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
1953         for sub-classes to correctly clear any state they set trying to
1954         unlock, such as clearing out unlock commands from a command fd.
1955         API: basesrc::unlock_stop
1956         API: basesink::unlock_stop
1957
1958         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
1959         (gst_fd_sink_render), (gst_fd_sink_unlock),
1960         (gst_fd_sink_unlock_stop):
1961         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1962         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
1963         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
1964
1965         Implement unlock_stop in fdsrc and fdsink.
1966         Implement seeking in fdsrc when a seekable fd is passed, as in
1967         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
1968
1969 2007-03-19  Wim Taymans  <wim@fluendo.com>
1970
1971         Patch by: Evan Nemerson <evan at coeus dash group dot com>
1972
1973         * gst/gstelement.c: (gst_element_class_init):
1974         Fix pad-added and pad-removed signal signatures so that the pad type is
1975         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
1976
1977 2007-03-19  Wim Taymans  <wim@fluendo.com>
1978
1979         * docs/gst/gstreamer-sections.txt:
1980         Add new element field and method.
1981
1982         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1983         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
1984         (gst_bin_recalc_state), (gst_bin_get_state_func),
1985         (gst_bin_element_set_state), (gst_bin_change_state_func),
1986         (gst_bin_continue_func), (bin_bus_handler),
1987         (bin_push_state_continue), (bin_handle_async_start),
1988         (bin_handle_async_done), (gst_bin_handle_message_func):
1989         Make async state changes a bit smarter by using new ASYNC_START and
1990         ASYNC_DONE messages. This reduces the number of times we run the state
1991         recalculation thread.
1992         Don't change state of element with a pending ASYNC_START message.
1993         Deprecate STATE_DIRTY messages.
1994         
1995         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
1996         (gst_element_get_state_func), (gst_element_continue_state),
1997         (gst_element_lost_state), (gst_element_set_state_func),
1998         (gst_element_change_state):
1999         * gst/gstelement.h:
2000         Keep the state that was last set by the app in a new element field.
2001         Don't allow state changes when handling an element event.
2002         Post ASYNC_START and ASYNC_DONE messages.
2003         Change lost_state so that we go to PAUSED and wait for the parent to set
2004         us to PLAYING again (so latency calculation can be performed)
2005         Export gst_element_change_state() method so that subclasses can use it.
2006         API: gst_element_change_state()
2007         API: GST_STATE_TARGET
2008
2009         * gst/gstpipeline.c: (gst_pipeline_class_init),
2010         (reset_stream_time), (gst_pipeline_change_state),
2011         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
2012         Using the new ASYNC_START message we can reset the base_time when
2013         needed. This can then be used to implement base_time redistribution in
2014         flushing seeks so that we can remove the explicit seek handling.
2015         Perform latency query and configuration when going to PLAYING.
2016
2017         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2018         (gst_base_sink_query), (gst_base_sink_change_state):
2019         Post new ASYNC_START/ASYNC_DONE messages.
2020
2021         * tests/check/generic/sinks.c: (GST_START_TEST):
2022         Fix test because the bin will not set the async element to PLAYING right
2023         away.
2024
2025         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
2026         Make the message check a little stronger.
2027         Handle ASYNC messages.
2028
2029         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
2030         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
2031         Expect ASYNC_DONE messages.
2032
2033 2007-03-19  Wim Taymans  <wim@fluendo.com>
2034
2035         * docs/gst/gstreamer-sections.txt:
2036         * gst/gstmessage.c: (gst_message_new_async_start),
2037         (gst_message_new_async_done), (gst_message_parse_info),
2038         (gst_message_parse_async_start):
2039         * gst/gstmessage.h:
2040         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
2041         support.
2042
2043 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2044
2045         * tools/gst-inspect.c:
2046         (print_plugin_automatic_install_info_codecs):
2047           Now that we don't check for the 'Codec' keyword any longer in the
2048           klass, we shouldn't spew a warning if the klass isn't a decoder or
2049           encoder (since it might be a Source/Network, for example).
2050
2051 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2052
2053         * tools/gst-inspect.c:
2054         (print_plugin_automatic_install_info_codecs):
2055           Don't require decoder/demuxer/depayloader elements or
2056           encoder/muxer/paylader elements to have 'Codec' as part of their
2057           factory class string when introspecting a plugin's capabilities.
2058           draft-klass.txt mentions that it might be removed in future, and
2059           flump3dec doesn't have it as part of its class string, so chances
2060           are others might also not have it.
2061
2062 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2063
2064         * po/af.po:
2065         * po/az.po:
2066         * po/bg.po:
2067         * po/ca.po:
2068         * po/cs.po:
2069         * po/de.po:
2070         * po/en_GB.po:
2071         * po/fr.po:
2072         * po/it.po:
2073         * po/nb.po:
2074         * po/nl.po:
2075         * po/ru.po:
2076         * po/sq.po:
2077         * po/sr.po:
2078         * po/sv.po:
2079         * po/tr.po:
2080         * po/uk.po:
2081         * po/vi.po:
2082         * po/zh_CN.po:
2083         * po/zh_TW.po:
2084           Update translations from translation project
2085
2086 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
2087
2088         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
2089         (gst_child_proxy_set_property):
2090           Invert precondition check to be alike the ones in the mimiced gobject
2091           api.
2092
2093 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
2094
2095         * docs/design/draft-tagreading.txt:
2096         * docs/random/ensonic/audiobaseclasses.txt:
2097           Do some Architect work.
2098
2099         * gst/gstobject.c: (gst_object_set_name):
2100           Add a WARNING.
2101
2102         * gst/gstpad.c:
2103           Add docs that point from gst_pad_get_range to gst_pad_pull_range
2104
2105 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
2106
2107         * gst/gstsystemclock.c: (gst_system_clock_init),
2108         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
2109         Defer starting the async system clock thread until the first async
2110         wait is scheduled. Fixes #414986.
2111
2112 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2113
2114         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
2115         (gst_single_queue_free):
2116           Fix small leak (free GstSingleQueue structure too, not only contents).
2117
2118 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
2119
2120         * gst/gstbin.c:(gst_bin_add):
2121         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
2122         * win32/common/libgstbase.def:
2123         * win32/common/libgstreamer.def:
2124         Add new exported functions.
2125
2126 2007-03-09  Wim Taymans  <wim@fluendo.com>
2127
2128         * docs/plugins/gstreamer-plugins-sections.txt:
2129         Fix GstTee docs.
2130
2131 2007-03-09  Wim Taymans  <wim@fluendo.com>
2132
2133         * docs/gst/gstreamer-sections.txt:
2134         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
2135         * gst/gstbuffer.h:
2136         Add metadata copy functions. Fixes #393099.
2137         API: gst_buffer_copy_metadata()
2138
2139         * gst/gstutils.c: (gst_buffer_stamp):
2140         * libs/gst/base/gstbasetransform.c:
2141         (gst_base_transform_prepare_output_buffer):
2142         Use new metadata copy functions.
2143
2144 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2145
2146         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2147         (gst_identity_init), (gst_identity_check_perfect),
2148         (gst_identity_check_imperfect_timestamp),
2149         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
2150         (gst_identity_set_property), (gst_identity_get_property):
2151         * plugins/elements/gstidentity.h:
2152         Separate out check-imperfect-timestamp and check-imperfect-offset.
2153         Put back check-perfect as it was to keep compatibility.
2154
2155 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
2156
2157         * gst/gstelement.c: (gst_element_dispose):
2158         There's no need to warn if VOID_PENDING is not NONE here, as
2159         long as the state is NULL it's ok, and that's checked immediately
2160         above.
2161
2162 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2163
2164         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2165         Fix check for perfect stream to ignore buffers with -1 
2166         offsets/offset ends when checking data contiguity.
2167
2168 2007-03-08  Wim Taymans  <wim@fluendo.com>
2169
2170         * tools/gst-launch.c: (event_loop):
2171         Print INFO messages.
2172
2173 2007-03-08  Wim Taymans  <wim@fluendo.com>
2174
2175         * libs/gst/base/gstbasetransform.c:
2176         (gst_base_transform_sink_eventfunc),
2177         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2178         (gst_base_transform_activate):
2179         * libs/gst/base/gstbasetransform.h:
2180         Add support for dropping buffers with custom GstFlowReturn.
2181         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
2182         buffers or dropped buffers.
2183
2184         * docs/libs/gstreamer-libs-sections.txt:
2185         docs for new custom return code.
2186
2187         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2188         Use drop support in base class to implement drop-probability.
2189
2190 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2191
2192         * gst/gst.c: (load_plugin_func):
2193         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
2194         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2195         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
2196           Remove newlines at end of debug log strings.
2197
2198 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2199
2200         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2201         Only post bus message at max, once per buffer received.
2202
2203 2007-03-07  Wim Taymans  <wim@fluendo.com>
2204
2205         * docs/design/Makefile.am:
2206         * docs/design/part-synchronisation.txt:
2207         Add doc about synchronisation
2208
2209         * docs/design/draft-latency.txt:
2210         * docs/design/part-TODO.txt:
2211         * docs/design/part-clocks.txt:
2212         * docs/design/part-events.txt:
2213         * docs/design/part-gstbus.txt:
2214         * docs/design/part-gstpipeline.txt:
2215         * docs/design/part-live-source.txt:
2216         * docs/design/part-messages.txt:
2217         * docs/design/part-overview.txt:
2218         * docs/design/part-streams.txt:
2219         * docs/design/part-trickmodes.txt:
2220         Documentation updates.
2221
2222 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2223
2224         * gstreamer.doap:
2225         Update the doap file.
2226
2227 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2228
2229         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2230         Rename non-perfect to imperfect for Mike and for the sanctity of the
2231         language.
2232         Also make sure bus message gets emitted for data-incontiguities.
2233
2234 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2235
2236         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
2237         (gst_identity_start):
2238         * plugins/elements/gstidentity.h:
2239         Emit bus message if check-perfect is true and we encounter a
2240         non-perfect stream between 2 consecutive buffers.
2241         Fixes #415394.
2242
2243 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2244
2245         * configure.ac:
2246         Back to CVS
2247
2248 === release 0.10.12 ===
2249
2250 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
2251
2252         * configure.ac:
2253           releasing 0.10.12, "Inevitable Demise"
2254
2255 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
2256
2257         * configure.ac:
2258          Version 0.10.11.2 (0.10.12 pre-release)
2259          Bump libtool versioning.
2260
2261 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
2262
2263         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2264           Log flow-names and not numbers.
2265
2266 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * configure.ac:
2269           Convert to new AG_GST style.
2270
2271 2007-02-28  Wim Taymans  <wim@fluendo.com>
2272
2273         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
2274         Don't unref query twice.
2275
2276 2007-02-28  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/gstvalue.c: (gst_value_transform_object_string),
2279         (_gst_value_initialize):
2280         Implement GstObject -> string transform so we print object names
2281         when serializing GValues containing GstObjects.
2282
2283 2007-02-28  Wim Taymans  <wim@fluendo.com>
2284
2285         * docs/gst/gstreamer-sections.txt:
2286         Add new stuff to docs.
2287
2288 2007-02-28  Wim Taymans  <wim@fluendo.com>
2289
2290         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2291         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
2292         (gst_base_sink_change_state):
2293         Improve latency query code.
2294         Don't leak latency events.
2295
2296         * tests/check/gst/gstbin.c: (GST_START_TEST):
2297         Improve debugging.
2298
2299 2007-02-28  Wim Taymans  <wim@fluendo.com>
2300
2301         * gst/gstelement.c: (gst_element_message_full),
2302         (gst_element_get_state_func):
2303         * gst/gstelement.h:
2304         Improve docs a little. Added Since: for new macro.
2305
2306         * gst/gstobject.c: (gst_object_sink):
2307         * gst/gstpipeline.c: (gst_pipeline_change_state),
2308         (gst_pipeline_set_new_stream_time):
2309         * gst/gstpipeline.h:
2310         Improve debugging and docs.
2311
2312         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2313         Improve debugging.
2314
2315 2007-02-28  Wim Taymans  <wim@fluendo.com>
2316
2317         * gst/gstelement.c: (gst_element_message_full),
2318         (gst_element_set_locked_state), (gst_element_get_state_func),
2319         (gst_element_change_state):
2320         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
2321         Documentation updates.
2322         Small code cleanups.
2323
2324         * gst/gstmessage.c: (gst_message_new_info),
2325         (gst_message_parse_info):
2326         * gst/gstmessage.h:
2327         API: gst_message_new_info()
2328         API: gst_message_parse_info()
2329         Add INFO message create and parse code.
2330
2331 2007-02-28  Wim Taymans  <wim@fluendo.com>
2332
2333         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
2334         (bin_query_latency_done):
2335         Also report the live parameter of a latency query.
2336
2337 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
2340           Copy the current generic/states example from -base and adapt so
2341           we can use the exact same code everywhere.
2342           Check a STATES_IGNORE_ELEMENTS env var which can be used
2343           to ignore certain element factories for this test, which is
2344           what is being done in -base
2345         * tests/check/Makefile.am:
2346           Mention this environment variable.
2347
2348 2007-02-27  Wim Taymans  <wim@fluendo.com>
2349
2350         * docs/gst/gstreamer-sections.txt:
2351         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2352         (gst_bus_timed_pop), (gst_bus_pop):
2353         * gst/gstbus.h:
2354         API: gst_bus_timed_pop()
2355         Implement gst_bus_timed_pop() to do a blocking timed wait for a
2356         message to arrive on the bus.
2357
2358         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
2359         (gst_bus_suite):
2360         Two unit tests for new _timed_pop() function.
2361
2362 2007-02-23  Wim Taymans  <wim@fluendo.com>
2363
2364         * gst/gstpipeline.c: (gst_pipeline_change_state),
2365         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
2366         Don't ref a NULL clock in _provide_clock_func().
2367         Don't allow an INVALID delay.
2368         Don't try to calculate base_time with an invalid start_time.
2369         Also distribute and notify a NULL clock when it was selected.
2370
2371         * tools/gst-launch.c: (event_loop):
2372         Don't crash when a NULL clock was selected in the pipeline.
2373
2374 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         * docs/design/Makefile.am:
2377         * docs/design/draft-missing-plugins.txt:
2378         * docs/random/draft-missing-plugins.txt:
2379           Some small updates: update plugin system identifier prefix
2380           ('gstreamer.net' to 'gstreamer'), mention our new install
2381           API in libgstbaseutils rather than libgimme-codec, add
2382           reference to the online docs.
2383
2384 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2385
2386         * win32/common/config.h:
2387           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
2388           use moap cl ci to only check in what is mentioned in the ChangeLog.
2389
2390 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2391
2392         * docs/gst/gstreamer-sections.txt:
2393         * gst/gstelement.h:
2394           Fix up documentation to link to the correct GstGError section.
2395           Add GST_ELEMENT_INFO macro since someone else added a Info message.
2396
2397 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2398
2399         * tools/gst-launch.c: (event_loop):
2400           Make sure that we actually show the important message part of a
2401           warning message.
2402           No need to check if the gerror is not NULL to free; first of all
2403           g_free accepts NULL; and second the default error handler would
2404           segfault if gerror was NULL.
2405
2406 2007-02-21  Wim Taymans  <wim@fluendo.com>
2407
2408         * docs/gst/gstreamer-sections.txt:
2409         Removed docs as well.
2410
2411 2007-02-21  Wim Taymans  <wim@fluendo.com>
2412
2413         * gst/gstmessage.c: (gst_message_parse_duration):
2414         * gst/gstmessage.h:
2415         Remove new messages for release.
2416
2417 2007-02-20  Wim Taymans  <wim@fluendo.com>
2418
2419         * docs/design/part-gstghostpad.txt:
2420         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
2421         (gst_ghost_pad_new_full):
2422         Make the ghostpad a parent of the internal pad again for better backward
2423         compatibility. Don't write code that relies on this however.
2424
2425         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
2426         (gst_pad_link_check_hierarchy):
2427         Require that parents should be GstElements in the hierarchy check.
2428
2429 2007-02-20  Wim Taymans  <wim@fluendo.com>
2430
2431         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
2432         (gst_bin_change_state_func), (bin_query_min_max_init),
2433         (bin_query_latency_fold), (bin_query_latency_done),
2434         (gst_bin_query):
2435         Improve debug info.
2436         Implement latency query.
2437
2438 2007-02-20  Wim Taymans  <wim@fluendo.com>
2439
2440         * docs/design/part-gstghostpad.txt:
2441         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
2442         (gst_ghost_pad_internal_do_activate_push),
2443         (gst_ghost_pad_internal_do_activate_pull),
2444         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2445         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
2446         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
2447         Do not set the internal pad as a parent anymore so we can avoid
2448         hierarchy linking errors when the ghostpad has no parent yet. This also
2449         fixes failed activation because of unlinked internal pads, which in
2450         turn fixes the impossible case where you have to activate a pad before
2451         you can add it to a running element.
2452         Also fix the docs.
2453
2454         * gst/gstpad.c: (pre_activate), (post_activate),
2455         (gst_pad_set_active), (gst_pad_activate_pull),
2456         (gst_pad_activate_push), (gst_pad_check_pull_range):
2457         Add some more debug info.
2458         Mark activation mode in pre_activate so that we don't try to activate in
2459         endless loops. Fixes #385084.
2460
2461 2007-02-19  Wim Taymans  <wim@fluendo.com>
2462
2463         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2464         (gst_base_transform_check_get_range):
2465         Implement a checkgetrange function instead of relying on the default
2466         core behaviour that assumes we can operate in pull mode if we have a
2467         getrange function. First step at fixing #385084.
2468
2469 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * gst/gstchildproxy.h:
2472         * libs/gst/base/gstbasesink.h:
2473         * libs/gst/base/gstbasesrc.h:
2474         * libs/gst/base/gstbasetransform.h:
2475         More docs coverage and some ChangeLog surgery (add missing names)
2476
2477 2007-02-15  Wim Taymans  <wim@fluendo.com>
2478
2479         * docs/design/part-TODO.txt:
2480         * docs/design/part-activation.txt:
2481         * docs/design/part-block.txt:
2482         * docs/design/part-buffering.txt:
2483         * docs/design/part-clocks.txt:
2484         * docs/design/part-element-source.txt:
2485         * docs/design/part-events.txt:
2486         * docs/design/part-gstbin.txt:
2487         * docs/design/part-gstbus.txt:
2488         * docs/design/part-gstpipeline.txt:
2489         * docs/design/part-live-source.txt:
2490         * docs/design/part-messages.txt:
2491         * docs/design/part-overview.txt:
2492         * docs/design/part-qos.txt:
2493         * docs/design/part-query.txt:
2494         * docs/design/part-states.txt:
2495         * docs/design/part-trickmodes.txt:
2496         Some doc updates. Start renaming from stream_time to running_time where
2497         it was used wrongly.
2498
2499 2007-02-15  Wim Taymans  <wim@fluendo.com>
2500
2501         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2502         Answer LATENCY query.
2503
2504 2007-02-15  Wim Taymans  <wim@fluendo.com>
2505
2506         * tests/check/gst/gstevent.c: (event_probe), (test_event),
2507         (GST_START_TEST):
2508         Improve debugging.
2509
2510 2007-02-15  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/gstpad.c: (gst_pad_get_internal_links_default),
2513         (gst_pad_dispatcher):
2514         Improve debugging of default pad dispatcher and query functions.
2515
2516 2007-02-15  Wim Taymans  <wim@fluendo.com>
2517
2518         * docs/gst/gstreamer-sections.txt:
2519         Remove old unused method.
2520
2521 2007-02-13  Wim Taymans  <wim@fluendo.com>
2522
2523         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2524         Fix check
2525
2526 2007-02-13  Wim Taymans  <wim@fluendo.com>
2527
2528         * docs/design/part-seeking.txt:
2529         Some small update.
2530
2531         * gst/gstsegment.c: (gst_segment_set_seek):
2532         Revert old bogus change that should make seeking work again.
2533
2534 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2535
2536         * docs/random/ensonic/dynlink.txt:
2537         * docs/random/ensonic/interfaces.txt:
2538         * docs/random/ensonic/receipies.txt:
2539           Possible dynamic reconnection api, plus some type fixes the other two
2540           docs.
2541
2542 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
2543
2544         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2545         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2546         Also check for an absolute path following file:// in the filesrc
2547         element. Remove redundant check and call g_path_is_absolute() on the
2548         unescaped location.
2549
2550 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2551
2552         * docs/design/draft-klass.txt:
2553           Add existing category analysis.
2554           
2555         * gst/gstcaps.c:
2556           Fix doc example, framerate is a fraction.
2557
2558 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2559
2560         * configure.ac:
2561         * docs/gst/Makefile.am:
2562         * docs/gst/gstreamer-sections.txt:
2563         * docs/libs/Makefile.am:
2564           Erm, forgot a bunch of --extra-dir.
2565
2566 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2567
2568         * configure.ac:
2569         * docs/gst/Makefile.am:
2570         * docs/libs/Makefile.am:
2571         * docs/plugins/Makefile.am:
2572           Add crossreferences to glib/gobject docs.
2573
2574 2007-02-12  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/design/draft-latency.txt:
2577         Small update.
2578
2579         * docs/libs/gstreamer-libs-sections.txt:
2580         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2581         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
2582         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
2583         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
2584         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
2585         (gst_base_sink_get_position), (gst_base_sink_query),
2586         (gst_base_sink_change_state):
2587         * libs/gst/base/gstbasesink.h:
2588         API: gst_base_sink_query_latency() to let subclasses query the upstream
2589         latency.
2590         API: gst_base_sink_get_latency() to let subclasses query the configured
2591         latency in the sink.
2592         Implement query and set latency.
2593         Update some docs.
2594         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
2595         don't continue preroll when we are flushing. Fixes #405284.
2596
2597         * tests/check/pipelines/stress.c: (change_state_timeout),
2598         (quit_timeout), (GST_START_TEST), (stress_suite):
2599         Test for #405284.
2600
2601 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2602
2603         Patch by: René Stadler <mail at renestadler de>
2604
2605         * docs/gst/gstreamer-sections.txt:
2606         * gst/gsttaglist.c: (_gst_tag_initialize):
2607         * gst/gsttaglist.h:
2608           API: add GST_TAG_REFERENCE_LEVEL (#403597).
2609
2610 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
2611
2612         * docs/libs/Makefile.am:
2613           Fix path to core docs.
2614
2615         * gst/gstbin.c: (gst_bin_get_by_interface),
2616         (gst_bin_iterate_all_by_interface):
2617           Refix docs by also renaming 'interface' to 'iface' in implementation.
2618
2619         * docs/gst/gstreamer-sections.txt:
2620         * gst/gstcaps.c:
2621         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2622         * gst/gstchildproxy.h:
2623         * gst/gstelementfactory.c:
2624         * gst/gstpadtemplate.h:
2625         * libs/gst/controller/gstcontroller.c:
2626         (gst_controlled_property_new):
2627           Document more.
2628
2629 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
2630
2631         * gst/gstbin.h:(gst_bin_get_by_interface),
2632         (gst_bin_iterate_all_by_interface):
2633         Replace interface parameter name by iface as interface is 
2634         a reserved keyword in Visual Studio for C++ projects so it removes
2635         a build error for application developpers using VS.
2636         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
2637         Fix a bug on Windows in uri format check. Now the prefix checked
2638         is file:// and next we check if the path after file:// is absolute.
2639         * win32/common/libgstbase.def:
2640         * win32/common/libgstdataprotocol.def:
2641         * win32/common/libgstgstreamer.def:
2642         Add new exported functions.
2643
2644 2007-02-09  Andy Wingo  <wingo@pobox.com>
2645
2646         * tests/check/pipelines/simple-launch-lines.c
2647         (simple_launch_lines_suite, test_tee): Disable tee test until I
2648         have time to fix it :-(
2649
2650         * tests/check/Makefile.am (noinst_HEADERS): 
2651         * tests/check/libs/libsabi.c: 
2652         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
2653         * tests/check/gst/gstabi.c: 
2654         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
2655
2656         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
2657         tests for push and pull tee behavior.
2658
2659         * plugins/elements/gsttee.h: 
2660         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
2661         mark as deprecated as well as unimplemented. It was a crack idea.
2662         Add support for tee operating in pull mode, off by default.
2663
2664         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
2665         normal-case logs down to LOG, raise errors to WARNING.
2666         (gst_registry_xml_read_cache): Don't log before calling a function
2667         that logs.
2668
2669         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
2670         exit (registry finalize).
2671         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
2672         DEBUG log when we emit signals that people don't even have the
2673         chance to connect to.
2674         (gst_registry_scan_path_level): Less logging in the normal case.
2675
2676 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2677
2678         Patch by: Michal Benes <michal dot benes at itonis dot tv>
2679
2680         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2681         Correctly generate EOS for non-seekable files. We don't have a total
2682         length for them and would get an unexpected end of file if we only
2683         special-cased for regular files. (Fixes: #404569)
2684
2685 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2686
2687         * tests/check/elements/filesrc.c: (GST_START_TEST),
2688         (filesrc_suite):
2689         Add unit test for the GstURIHandler interface in filesrc. This also
2690         tests the newly added file://localhost/foo/bar support.
2691
2692 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2693
2694         * gst/gstelementfactory.h:
2695           The klass string is not a hierarchy. Add reference to the design doc
2696           for more information and common types.
2697
2698 2007-02-02  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/gstquery.c: (gst_query_new_latency):
2701         Remove old structure field.
2702
2703 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
2704
2705         * tools/gst-launch.1.in:
2706           Give example for network streaming (#351998)
2707
2708 2007-02-02  Wim Taymans  <wim@fluendo.com>
2709
2710         * docs/gst/gstreamer-sections.txt:
2711         Add docs for new methods.
2712
2713         * gst/gstevent.c: (gst_event_new_latency),
2714         (gst_event_parse_latency):
2715         * gst/gstevent.h:
2716         Add new LATENCY event to configure latency in a pipeline.
2717         API: gst_event_new_latency
2718         API: gst_event_parse_latency
2719
2720         * gst/gstmessage.c: (gst_message_new_buffering),
2721         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
2722         (gst_message_new_latency), (gst_message_parse_buffering),
2723         (gst_message_parse_lost_preroll):
2724         * gst/gstmessage.h:
2725         Added messages used in draft-latency.
2726         API: gst_message_new_lost_preroll
2727         API: gst_message_parse_lost_preroll
2728         API: gst_message_new_prerolled
2729         API: gst_message_new_latency
2730
2731         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2732         (gst_query_parse_latency):
2733         * gst/gstquery.h:
2734         Implemented new latency query as in design doc.
2735         API: gst_query_new_latency
2736         API: gst_query_set_latency
2737         API: gst_query_parse_latency
2738
2739 2007-02-02  Wim Taymans  <wim@fluendo.com>
2740
2741         * docs/design/draft-latency.txt:
2742         Slight redesign to allow for dynamic latency adjustments.
2743
2744         * docs/design/part-negotiation.txt:
2745         Fix some typos.
2746
2747 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2748
2749         reviewed by: Wim Taymans <wim@fluendo.com>
2750
2751         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2752         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2753         Allow file://localhost/foo/bar URLs and correctly fail for every other
2754         hostname that one sets. This was gnomevfssrc is linked for those if
2755         installed as it can handle it (#403172)
2756
2757 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2758
2759         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2760
2761         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2762         (unref_data), (gst_collect_pads_add_pad_full):
2763         * libs/gst/base/gstcollectpads.h:
2764         Don't put the previously added destroy notify in the GstCollectData
2765         struct as all it's padding is already used and we don't want to break
2766         ABI. Instead put in the pad's GObject data for now. This should be
2767         cleaned up for 0.11 (#402393).
2768
2769 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2770
2771         reviewed by: Wim Taymans <wim@fluendo.com>
2772
2773         * docs/libs/gstreamer-libs-sections.txt:
2774         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2775         (unref_data), (gst_collect_pads_add_pad),
2776         (gst_collect_pads_add_pad_full):
2777         * libs/gst/base/gstcollectpads.h:
2778         API: Add function to specify a destroy notification for custom
2779         GstCollectData when adding new pads in GstCollectPads (#402393).
2780
2781 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * po/sv.po:
2784           Update Swedish translation (#378255).
2785
2786 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2787
2788         * docs/design/draft-klass.txt:
2789           Fix the previous change, this is a list of categories and not a hierarchy.
2790
2791 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2792
2793         * docs/design/draft-klass.txt:
2794           Add info about how to get a list of used classes.
2795
2796 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
2797
2798         * plugins/elements/gsttypefindelement.c:
2799         (gst_type_find_element_chain_do_typefinding),
2800         (gst_type_find_element_change_state):
2801           Don't leak found caps in chain function (no idea why that never
2802           showed up as a leak anywhere).
2803
2804 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
2805
2806         * gst/gstplugin.h:
2807           Fix and expand GstPluginDesc API docs.
2808
2809 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2810
2811         * gst/gstcaps.c:
2812         * gst/gstelementfactory.c:
2813         * gst/gstpadtemplate.h:
2814           api doc fixes
2815
2816         * libs/gst/controller/gstcontroller.c:
2817         (gst_controlled_property_new):
2818         * tests/examples/controller/audio-example.c:
2819           comment fixes
2820
2821 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2822
2823         * configure.ac:
2824           comment about refining the xml deps
2825
2826         * docs/manuals.mak:
2827           comments about moving away from jade for docs
2828         
2829         * gst/gst.c:
2830           recommit the ifdefs to use the binary registry
2831         
2832         * gst/gstbin.c: (gst_bin_change_state_func):
2833           this break is obsolete
2834
2835         * gst/gstelementfactory.h:
2836           better GST_ELEMENT_DETAILS docs, add comment about translation
2837
2838         * gst/gstinfo.h:
2839           remove eol slash
2840
2841         * gst/gstobject.c: (gst_signal_object_get_type):
2842           add G_UNLIKELY as usual
2843
2844         * gst/gstpad.c: (gst_pad_event_default):
2845           add fall trhu comment
2846
2847         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2848         (gst_registry_binary_initialize_magic),
2849         (gst_registry_binary_save_string),
2850         (gst_registry_binary_save_pad_template),
2851         (gst_registry_binary_save_feature),
2852         (gst_registry_binary_save_plugin),
2853         (gst_registry_binary_write_cache),
2854         (gst_registry_binary_check_magic),
2855         (gst_registry_binary_load_pad_template),
2856         (gst_registry_binary_load_feature),
2857         (gst_registry_binary_load_plugin),
2858         (gst_registry_binary_read_cache):
2859           comment typo and formatting
2860
2861         * gst/gstutils.c: (gst_element_state_get_name),
2862         (gst_element_state_change_return_get_name):
2863           remove obsolete breaks
2864
2865         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2866           add FIXME 0.11 and remove cpp comment
2867
2868 2007-01-29  Edward Hervey  <edward@fluendo.com>
2869
2870         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2871         Fix print statement in an even more portable way.
2872
2873 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
2874
2875         * docs/gst/gstreamer-sections.txt:
2876         * gst/gstutils.h:
2877           API: add GST_ROUND_DOWN_* macros (#401781).
2878
2879 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
2880
2881         * docs/gst/gstreamer.types.in:
2882         * gst/gstregistry.c: (gst_registry_class_init):
2883           Document registry signals and make gtk-doc pick them up (#401381).
2884
2885 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * docs/pwg/building-testapp.xml:
2888           Add some audioconverts and audioresample to the pipeline, and some
2889           more comments and error handling.
2890
2891 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2892
2893         * docs/manual/manual.xml:
2894         * docs/pwg/pwg.xml:
2895           Fix typo (#400987).
2896
2897 2007-01-26  Wim Taymans  <wim@fluendo.com>
2898
2899         * gst/gstcaps.c: (gst_static_caps_get):
2900         Init caps flags too.
2901
2902 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
2903
2904         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
2905
2906         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2907         If not using mmap'ed files try to seek to the end instead of the
2908         start to determine whether we can seek at all. This fixes the case
2909         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
2910         seeks for everything afterwards fail. Fixes #400656
2911
2912 2007-01-25  Wim Taymans  <wim@fluendo.com>
2913
2914         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
2915         Add some refcount debugging.
2916         Make gst_static_caps_get threadsafe, which is needed when autoplugging
2917         in multiple streaming threads.
2918
2919 2007-01-25  Wim Taymans  <wim@fluendo.com>
2920
2921         Patch by: David Schleef <ds at schleef dot org>
2922
2923         * docs/libs/gstreamer-libs-sections.txt:
2924         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
2925         * libs/gst/base/gstadapter.h:
2926         API: gst_adapter_copy() that can reduce the amount of memcpy when
2927         getting data from the adapter. Fixes #388201.
2928
2929 2007-01-25  Edward Hervey  <edward@fluendo.com>
2930
2931         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2932         In print statements, "%x" is for guint. Fixes build on macosx.
2933
2934 2007-01-24  Edward Hervey  <edward@fluendo.com>
2935
2936         * plugins/elements/gstmultiqueue.c:
2937         (gst_multi_queue_loop):
2938         Small fix.
2939         (single_queue_overrun_cb), (single_queue_underrun_cb),
2940         (single_queue_check_full), (gst_single_queue_new):
2941         Implement single queue growth system.
2942         This uses the extra-size properties, and will grow single queues by
2943         that much if one goes full whereas there are others empty. This is
2944         called extra-mode in the code.
2945         When a single queue's levels go back below the initial max-size
2946         limits, it is no longer in extra-mode. This is to ensure we don't
2947         consume too much memory.
2948         Fixes #399875
2949
2950 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
2951
2952         * gst/gst.c: (gst_init_get_option_group):
2953           Make warning about late g_thread_init() calls a bit more explicit,
2954           so that it's more obvious to application developers what they need
2955           to do if a user files a bug against their application.
2956
2957 2007-01-22  Edward Hervey  <edward@fluendo.com>
2958
2959         * plugins/elements/gstmultiqueue.c:
2960         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
2961         Remove previous hack of unsetting the flushing flag for the source pad
2962         instead of activating it. Instead, fix the source pad activate function
2963         so that it no longer depends on having a parent set or not.
2964
2965 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
2966
2967         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
2968
2969         * docs/manual/basics-bus.xml:
2970           Fix example code, gst_element_unref() doesn't exist any longer.
2971
2972 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         Patch by: Mark Nauwelaerts <manauw at skynet be>
2975
2976         * gst/gstpad.c:
2977           Fix two docs typoes (#399094).
2978
2979 2007-01-19  Edward Hervey  <edward@fluendo.com>
2980
2981         * docs/faq/gst-uninstalled:
2982         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
2983         depending on libgstbaseutils can work in uninstalled environment.
2984
2985 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
2986
2987         * gst/gsttaglist.h:
2988         * gst/gsttagsetter.c:
2989         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
2990         statement for new tag.
2991
2992 2007-01-17  Edward Hervey  <edward@fluendo.com>
2993
2994         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
2995         When dynamically creating single queues, activate sinkpad before adding
2996         it.
2997         We should be doing the same thing for the source pad, but we can't
2998         since it would call a method which needs the parent to be set in order
2999         to work propertly. Instead of activating the source pad, we just unset
3000         the flushing flag, which is the minimal requirement for adding a pad
3001         to an element in a state greater than READY.
3002
3003 2007-01-17  Edward Hervey  <edward@fluendo.com>
3004
3005         * docs/faq/gst-uninstalled:
3006         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
3007         Mac OS X.
3008
3009 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3010
3011         * tests/check/gst/gstabi.c:
3012         * tests/check/gst/struct_hppa.h:
3013         * tests/check/libs/libsabi.c:
3014         * tests/check/libs/struct_hppa.h:
3015           Add ABI structs for HPPA (see #393796).
3016
3017 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
3020           Actually write ABI structs to the file specified in the GST_ABI
3021           environment variable, as the message we print claims we would.
3022
3023 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3024
3025         * tests/check/gst/gsttask.c:
3026           Fix header comment.
3027
3028 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3029
3030         * gst/gsttaglist.c: (_gst_tag_initialize):
3031           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
3032           previous two entries.
3033
3034 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3035
3036         * docs/gst/gstreamer-sections.txt:
3037         * gst/gsttaglist.c: (_gst_tag_initialize):
3038         * gst/gsttaglist.h:
3039           Add tag support for beat-per-minute.
3040
3041 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3042
3043         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3044         (gst_registry_binary_initialize_magic),
3045         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
3046         (gst_registry_binary_save_pad_template),
3047         (gst_registry_binary_save_feature),
3048         (gst_registry_binary_save_plugin),
3049         (gst_registry_binary_write_cache),
3050         (gst_registry_binary_check_magic),
3051         (gst_registry_binary_load_pad_template),
3052         (gst_registry_binary_load_feature),
3053         (gst_registry_binary_load_plugin),
3054         (gst_registry_binary_read_cache):
3055         * gst/gstregistrybinary.h:
3056           Use glib types, cleanup comments, impement interfaces and uri-types.
3057
3058 2007-01-13  Andy Wingo  <wingo@pobox.com>
3059
3060         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
3061         getrange() to return buffers with other caps, while we fix
3062         demuxers and typefind, or otherwise change part-negotiation.txt.
3063
3064 2007-01-12  Andy Wingo  <wingo@pobox.com>
3065
3066         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
3067         Factor start/stop into this private function instead of partially
3068         in activate functions and partially in the change_state function.
3069         Fixes setup before the element has changed from READY->PAUSED, as
3070         is the case in pull-mode pipelines.
3071         (gst_base_transform_sink_activate_push)
3072         (gst_base_transform_src_activate_pull): Refactor to use
3073         gst_base_transform_activate().
3074         (gst_base_transform_change_state): Removed, not needed any more.
3075
3076         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3077         Truncate before fixating.
3078         
3079         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3080         Don't set_caps() if the result of fixating is ANY, as it's not
3081         supported, and not necessary in the case of a link with no
3082         template caps on either side. Fixes tests/check/libs/basesrc in
3083         some pull-mode tests.
3084
3085         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
3086         (gst_base_transform_init, gst_base_transform_sink_activate_push)
3087         (gst_base_transform_src_activate_pull): 
3088         Track the activation mode.
3089         (gst_base_transform_setcaps): In pull mode, when activating the
3090         src pad, after activating the sink pad, activate the sink pad's
3091         peer, as discussed in part-negotiation.txt.
3092
3093         * libs/gst/base/gstbasesrc.h: 
3094         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
3095         vmethod, as in basesink.
3096
3097         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
3098
3099         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
3100         mode, first proxy the setcaps to the peer pad.
3101         (gst_base_sink_pad_fixate): Add a fixate function that calls the
3102         new fixate vmethod.
3103         (gst_base_sink_default_activate_pull): Rename from
3104         gst_base_sink_activate_pull.
3105         (gst_base_sink_negotiate_pull): New function, performs negotiation
3106         in pull mode before calling ::activate_pull().
3107         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
3108         vmethod instead of the default implementation. I have no idea how
3109         this worked before. Negotiate before calling activate_pull.
3110
3111         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
3112         sink pads in pull mode. In addition to being correct, fixes
3113         filesrc ! decodebin ! identity ! fakesink.
3114         (gst_pad_get_range, gst_pad_pull_range): Don't call
3115         gst_pad_set_caps() if the caps changes; instead error out with
3116         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
3117
3118 2007-01-12  Andy Wingo  <wingo@pobox.com>
3119
3120         * docs/design/part-negotiation.txt: Update with more policy.
3121
3122 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3123
3124         * libs/gst/check/gstbufferstraw.h:
3125         * libs/gst/check/gstcheck.h:
3126           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
3127           belongs.
3128
3129 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * tests/check/Makefile.am:
3132         * tests/check/gst/.cvsignore:
3133         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
3134         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
3135         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
3136         (GST_START_TEST), (gst_tag_setter_suite):
3137           Add minimal unit test for beforementioned GstTagSetter bug.
3138
3139 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3140
3141         Patch by: René Stadler <mail at renestadler dot de>
3142
3143         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3144           gst_tag_list_merge() returns a new list, so it's not the best idea
3145           to ingore its return value. Effectively meant that tags could only
3146           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
3147           Also add function guard to require a non-NULL taglist as input (has
3148           always been so due to gst_tag_list_copy(), just making it explicit).
3149
3150 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * docs/random/draft-missing-plugins.txt:
3153           Some additions: mention new API that is supposed to be used at the
3154           various stages; short blob about new gst-inspect introspection
3155           option; mention potential future problem with plugins that have
3156           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
3157
3158 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3159
3160         * tools/gst-inspect.c:
3161         (print_plugin_automatic_install_info_codecs),
3162         (print_plugin_automatic_install_info_protocols),
3163         (print_plugin_automatic_install_info), (main):
3164         Add --print-plugin-auto-install-info option to gst-inspect, so we can
3165         introspect plugin files and get machine-parsable output that corresponds
3166         to the last bit of the missing-plugin installer string (small gotcha:
3167         doesn't take into account ranks).
3168
3169 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
3170
3171         * configure.ac:
3172         * docs/gst/gstreamer-sections.txt:
3173         * gst/Makefile.am:
3174         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
3175         (gst_registry_lookup_locked):
3176         * gst/gstregistry.h:
3177         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3178         (gst_registry_binary_initialize_magic),
3179         (gst_registry_binary_save_string),
3180         (gst_registry_binary_save_pad_template),
3181         (gst_registry_binary_save_feature),
3182         (gst_registry_binary_save_plugin),
3183         (gst_registry_binary_write_cache),
3184         (gst_registry_binary_check_magic),
3185         (gst_registry_binary_load_pad_template),
3186         (gst_registry_binary_load_feature),
3187         (gst_registry_binary_load_plugin),
3188         (gst_registry_binary_read_cache):
3189         * gst/gstregistrybinary.h:
3190         * gst/gstregistryxml.c: (load_feature),
3191         (gst_registry_xml_read_cache):
3192           commit binary registry (disabled by default, see #359653)
3193
3194 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
3197           Fix 'make check' too.
3198
3199 2007-01-10  Andy Wingo  <wingo@pobox.com>
3200
3201         * docs/design/part-negotiation.txt: Fix a typo, add a couple
3202         notes.
3203         
3204         * docs/design/part-negotiation.txt: Update with, um, one way that
3205         pull-mode negotiation might work?
3206
3207         * gst/gstpad.h: 
3208         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
3209         that the pad must be a src pad; makes sense to call it the other
3210         way in pull mode, and the logic is symmetric anyway.
3211
3212 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3213
3214         * plugins/elements/gstfilesink.c:
3215           Include <stdio.h> for fseeko().
3216
3217 2007-01-10  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/gstevent.c:
3220         * gst/gstevent.h:
3221         Reserve LATENCY event.
3222
3223 2007-01-09  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/draft-latency.txt:
3226         Updates.
3227
3228 2007-01-09  Wim Taymans  <wim@fluendo.com>
3229
3230         * docs/design/draft-latency.txt:
3231         Updates.
3232
3233         * gst/gstelement.h:
3234         * gst/gststructure.c:
3235         * gst/gsttrace.c:
3236         Small typo fixes.
3237
3238 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * tests/check/.cvsignore:
3241           Ignore test-registry.xml as well.
3242
3243 2007-01-09  Wim Taymans  <wim@fluendo.com>
3244
3245         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3246         unref data at the end when we are done with the pad.
3247
3248 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3249
3250         * docs/gst/gstreamer-sections.txt:
3251         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
3252         (init_post), (gst_deinit), (gst_update_registry):
3253         * gst/gst.h:
3254           API: add gst_update_registry() (#391296).
3255
3256         * tests/check/Makefile.am:
3257         * tests/check/gst/gstregistry.c:
3258         * tests/check/gst/.cvsignore:
3259           Simple unit test for the above.
3260
3261 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3262
3263         * gst/gstregistry.c: (gst_registry_scan_path_level):
3264           Plugin extension on HP-UX is .sl, add that to the list of approved
3265           plugin extensions (see #393796).
3266
3267         * tests/check/gst/gstpad.c: (GST_START_TEST):
3268           ulong => gulong. Fixes compilation with HP-UX compiler.
3269
3270         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3271           Fix compilation if valgrind headers are not available.
3272
3273 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
3274
3275         * win32/common/libgstreamer.def: 
3276           Add new exported function.
3277         * win32/vs6/libgstbase.dsp: 
3278           Add gstdataqueue.c to the build.
3279         * win32/vs6/libgstcoreelements.dsp:
3280           Add gstmultiqueue.c to the build.
3281         
3282 2007-01-06  Andy Wingo  <wingo@pobox.com>
3283
3284         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
3285         activate_pull(), providing for a way to specialize the process of
3286         spawning a thread to pull on the sink pad. There is a default
3287         implementation.
3288
3289         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
3290         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
3291         (gst_base_sink_init): Renamed pad activation functions (inserting
3292         "_pad" in their names). Refactor to use the new activate_pull
3293         vmethod, as appropriate.
3294         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
3295         default activate_pull function to start a task pulling from the
3296         sink pad, as before.
3297
3298         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
3299         on the pads if necessary, as in push()/chain(). Update docs.
3300         Shouldn't affect existing pull() usage as it is currently only
3301         being used on buffers without caps.
3302
3303 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3304
3305         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3306         (init_pre):
3307           Call g_thread_init() first thing in gst_init() / gst_check_init().
3308           When initialisation is done via gst_init_get_option_group() and
3309           GOption parsing, issue a warning if the GLib thread system has not
3310           been initialised yet by the time gst_init_get_option_group() is
3311           called, as it's quite likely other GLib functions such as
3312           g_option_context_new() have been called already then, and
3313           g_thread_init() must be called before any other GLib function. The
3314           application in question must be fixed in that case, since memory
3315           corruption might happen otherwise.
3316           We issue the warning because even if the GLib folks decide to work
3317           around the problem on their end in future, this is still an issue
3318           with all GLib versions >= 2.10.0, so we should warn until we depend
3319           on a GLib version we know to be safe.
3320           Update documentation as well.
3321           Closes bug #391278.
3322
3323 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3324
3325         * tools/gst-inspect.c: (main):
3326         * tools/gst-launch.c: (main):
3327         * tools/gst-typefind.c: (main):
3328         * tools/gst-xmlinspect.c: (main):
3329           Call g_thread_init() really really early, before any other GLib
3330           function (see #342564 and recent discussion on gtk-devel-list).
3331
3332 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3333
3334         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
3335
3336         * gst/gst_private.h:
3337         * gst/gstconfig.h.in:
3338         * gst/gstinfo.h:
3339           On win32, all the __declspec stuff for symbol exporting is
3340           apparently only needed with MSVC, but doesn't work with MingW.
3341           Fixes compilation with MingW and #391909.
3342
3343 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3344
3345         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
3346           Change some GST_ERROR_OBJECT that aren't really errors to
3347           GST_WARNING_OBJECT in order to reduce terminal spam.
3348
3349 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3350
3351         * tests/check/Makefile.am:
3352           disable test again, as there seem to be still race problems
3353
3354 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3355
3356         * tests/check/Makefile.am:
3357         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3358         (GST_START_TEST), (queue_suite):
3359           enable queue test again, add tests for the leaky behaviour
3360
3361 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
3362
3363         * configure.ac:
3364         * tests/examples/Makefile.am:
3365           Compile adapter test/example only if the required headers are
3366           available (fixes #391915).
3367
3368 2007-01-01  David Schleef  <ds@schleef.org>
3369
3370         * gst/gstplugin.c:
3371           Restore the previous signal handler for SIGSEGV instead of
3372           setting to default, since we may have stolen it away from
3373           someone.  (i.e., Mono)
3374
3375 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3376
3377         * docs/random/draft-missing-plugins.txt:
3378           Some small additions and clarifications.
3379
3380 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3381
3382         * gst/gstregistryxml.c: (gst_registry_save_escaped):
3383           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
3384           since that can lead to random memory corruptions and crashes
3385           (may or may not be related to #383244, #386711, and #386711).
3386
3387 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3388
3389         * tests/check/.cvsignore:
3390         * tests/check/Makefile.am:
3391           sync .cvsignome and CLEANFILES
3392
3393 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3394
3395         * tests/check/Makefile.am:
3396           fix distcheck
3397
3398 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3399
3400         * docs/design/part-states.txt:
3401           two tiny additional comments
3402         
3403         * gst/gststructure.c:
3404           doc fixing
3405
3406         * tests/check/Makefile.am:
3407         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3408         (GST_START_TEST):
3409           disable test for now, unless it gets fixed
3410
3411 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3414         (GST_START_TEST):
3415           fix race in underrun test
3416
3417 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3418
3419         * tests/check/elements/.cvsignore:
3420           ignore more
3421
3422         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3423         (GST_START_TEST):
3424           try to narrow test failure
3425
3426 2006-12-21  David Schleef  <ds@schleef.org>
3427
3428         * plugins/elements/gstfakesrc.c:
3429           Use g_random_int_range(), since it produces better random
3430           numbers in a range than almost-correct floating point code.
3431
3432 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3433
3434         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3435         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3436         (gst_check_teardown_sink_pad):
3437           do not automatically (de)activate pads
3438
3439         * tests/check/Makefile.am:
3440         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3441         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
3442           add new, yet simple tests for queue
3443
3444         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
3445         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
3446         * tests/check/elements/filesrc.c: (cleanup_filesrc),
3447         (GST_START_TEST):
3448         * tests/check/elements/identity.c: (cleanup_identity):
3449           consistent pad (de)activation
3450
3451 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3452
3453         Patch by: Sebastian Dröge  <slomo ubuntu com>
3454
3455         * libs/gst/base/gstcollectpads.c:
3456           Fix two doc typos (#387866).
3457
3458 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         * docs/manual/advanced-dparams.xml:
3461           Fix typo (g_object_control_properties() doesn't exist).
3462
3463 2006-12-19  Edward Hervey  <edward@fluendo.com>
3464
3465         * gst/gstsegment.c: (gst_segment_set_seek):
3466         Fine tune the cases where the segment start/stop values are really
3467         updated.
3468         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3469         Add tests for the return values of gst_segment_set_seek().
3470
3471 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3472
3473         * gst/gst.c:
3474           Docs typo fix.
3475
3476         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3477         (gst_queue_init):
3478           Fix incorrect documentation and flesh it out a bit more.
3479           Set default values for the max properties on the GParamSpec as well,
3480           so it shows up correctly in gst-inspect.
3481
3482 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
3483
3484         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3485           Correct docs of queue, add more detail and crosslink it more.
3486
3487 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3490           Print additional debug info when the stream isn't perfectly
3491           timestamped; don't try to use invalid durations.
3492
3493 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3494
3495         * docs/design/Makefile.am:
3496           Dist new design docs.
3497
3498 2006-12-16  Wim Taymans  <wim@fluendo.com>
3499
3500         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3501
3502         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
3503         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3504         (gst_collect_pads_stop), (gst_collect_pads_event),
3505         (gst_collect_pads_chain):
3506         * libs/gst/base/gstcollectpads.h:
3507         Add refcounting to the collectpads data so we can track when it's safe
3508         to free the data. Fixes #383382.
3509
3510 2006-12-15  Wim Taymans  <wim@fluendo.com>
3511
3512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3513         (gst_collect_pads_remove_pad):
3514         Automatically activate/deactivate pads when they are added to a
3515         started/stoped collectpads.
3516
3517 2006-12-15  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/gstelement.c: (gst_element_add_pad):
3520         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3521         * gst/gstpad.c: (gst_pad_init):
3522         Set pads to FLUSHING when they are created. Check, warn and fix when a
3523         demuxer adds an inactive pad to itself when running. Fixes #339326.
3524
3525 2006-12-15  Wim Taymans  <wim@fluendo.com>
3526
3527         * gst/gstelement.c: (gst_element_class_init),
3528         (gst_element_default_send_event), (gst_element_send_event),
3529         (gst_element_default_query), (gst_element_query):
3530         Expose default element send_event and query handling as vmethods that
3531         subclasses can chain up to.
3532
3533 2006-12-15  Wim Taymans  <wim@fluendo.com>
3534
3535         * gst/gstelement.c: (gst_element_set_state_func):
3536         Small documentation fixes.
3537
3538 2006-12-15  Wim Taymans  <wim@fluendo.com>
3539
3540         * docs/design/draft-latency.txt:
3541         Checked in draft for handling latency in pipelines.
3542
3543 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * Makefile.am:
3546         * gstreamer.doap:
3547         * gstreamer.spec.in:
3548           adding .doap file
3549
3550 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
3551
3552         * gst/gst.c: (init_pre), (init_post):
3553           init_pre() and init_post() might be called via our GOptionGroup or
3554           from gst_init(), and we should skip both of them if we've already
3555           been initialised, otherwise we will init some things twice or add
3556           two default log functions.
3557
3558 2006-12-13  Edward Hervey  <edward@fluendo.com>
3559
3560         * docs/manual/basics-bus.xml:
3561         No, gst_main_loop does not exist. Its g_main_loop.
3562         Discovered by somebody who abused the copy-paste technique of coding :)
3563
3564 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3565
3566         * gst/gstghostpad.c:
3567           Log ghostpad debug stuff to the GST_PADS category as well rather
3568           than just to the default category.
3569
3570 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * configure.ac:
3573         * gst/gst.c: (init_pre):
3574           Add some basic system details such as OS and architecture
3575           to the debug output if possible, courtesy of uname().
3576
3577 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3578
3579         * docs/gst/running.xml:
3580           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
3581           environment variables.
3582
3583 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3584
3585         * tests/check/gst/gstbin.c: (GST_START_TEST):
3586         It is acceptable to have a refcount of 2 or 3 at this point in the
3587         test, because the pipeline might be just posting its state_change
3588         message. The next line then waits for that message to appear using
3589         bus_poll, so that should be fine too.
3590
3591 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3592
3593         * gst/gst.c: (ensure_current_registry_forking):
3594         Ignore EINTR when reading from the child registry pipe.
3595         Explicitly ignore the return value from close, since it makes no
3596         difference.
3597
3598         * gst/gstminiobject.c: (gst_mini_object_ref),
3599         (gst_mini_object_unref):
3600         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
3601
3602         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
3603         When removing cached plugins, remove their features too, so they're
3604         not visible after they've disappeared.
3605
3606         * gst/gstutils.c: (prepare_link_maybe_ghosting):
3607         In the unlikely case that we are linking pads with no parents, don't
3608         crash trying to get the non-existent parent bin.
3609
3610         * gst/parse/grammar.y:
3611         Output debug in the PIPELINE category
3612
3613 2005-03-08  Wim Taymans  <wim@fluendo.com>
3614
3615         Patch by: René Stadler <mail at renestadler dot de>
3616
3617         * gst/gstclock.c: (gst_clock_new_periodic_id):
3618         Reject invalid clock times for interval of periodic ids.
3619         Fixes ##383506.
3620
3621 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3622
3623         * gst/gstelementfactory.c: (gst_element_factory_create):
3624         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3625         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3626         * tools/gst-inspect.c: (print_element_info):
3627         Fix refcounting of gst_plugin_feature_load to match the docs. 
3628         Fixes: #380129
3629
3630 2006-12-07  Wim Taymans  <wim@fluendo.com>
3631
3632         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3633         (gst_base_sink_get_position):
3634         Improve debugging of events.
3635
3636 2006-12-07  Wim Taymans  <wim@fluendo.com>
3637
3638         Patch by: René Stadler <mail at renestadler dot de>
3639
3640         * gst/gstclock.c: (gst_clock_id_wait):
3641         Make period ids add the interval to the origial requested time instead
3642         of the possibly updated time which can be wrong when there are multiple
3643         waiters for the same id. Fixes #382592.
3644
3645         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
3646         (gst_system_clock_id_wait_jitter_unlocked),
3647         (gst_system_clock_id_wait_jitter):
3648         Fix restart in the async notify thread when an async entry is added to
3649         the front of the list. Fixes #381492. 
3650
3651         * tests/check/gst/gstsystemclock.c: (store_callback),
3652         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
3653         Added test for multiple async waits.
3654         Added test for async wait order.
3655
3656 2006-12-07  Wim Taymans  <wim@fluendo.com>
3657
3658         * gst/gstbin.c: (gst_bin_query):
3659         Add some more docs about the POSITION query.
3660
3661 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3662
3663         * configure.ac:
3664         Bump version nano - back to CVS.
3665
3666 === release 0.10.11 ===
3667
3668 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
3669
3670         * configure.ac:
3671           releasing 0.10.11, "Love never runs on time"
3672
3673 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
3674
3675         * win32/common/libgstbase.def:
3676         * win32/common/libgstreamer.def:
3677         * win32/vs8/libgstbase.vcproj:
3678         * win32/vs8/libgstcoreelements.vcproj:
3679         * win32/vs8/libgstreamer.vcproj:
3680         Fix compilation on win32 under VS8
3681         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3682         Partially fixes #381175
3683
3684 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3685
3686         * gst/gstvalue.c: (gst_value_compare_fraction):
3687         If someone is foolish enough to compare 2 fractions with denominator =
3688         0, return UNORDERED rather than aborting.
3689
3690 2006-11-28  Edward Hervey  <edward@fluendo.com>
3691
3692         * libs/gst/base/Makefile.am:
3693         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
3694         (gst_data_queue_base_init), (gst_data_queue_class_init),
3695         (gst_data_queue_init), (gst_data_queue_new),
3696         (gst_data_queue_cleanup), (gst_data_queue_finalize),
3697         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
3698         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
3699         (gst_data_queue_is_empty), (gst_data_queue_is_full),
3700         (gst_data_queue_set_flushing), (gst_data_queue_push),
3701         (gst_data_queue_pop), (gst_data_queue_drop_head),
3702         (gst_data_queue_set_property), (gst_data_queue_get_property):
3703         * libs/gst/base/gstdataqueue.h:
3704         New GstDataQueue object for threadsafe queueing. Most useful for
3705         elements that need some queueing functionnality.
3706         * docs/libs/gstreamer-libs-docs.sgml:
3707         * docs/libs/gstreamer-libs-sections.txt:
3708         Insert documentation for GstDataQueue
3709         * plugins/elements/Makefile.am:
3710         * plugins/elements/gstelements.c:
3711         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3712         (gst_multi_queue_class_init), (gst_multi_queue_init),
3713         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3714         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
3715         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
3716         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3717         (gst_multi_queue_loop), (gst_multi_queue_chain),
3718         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3719         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
3720         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
3721         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
3722         (wake_up_next_non_linked), (compute_next_non_linked),
3723         (single_queue_overrun_cb), (single_queue_underrun_cb),
3724         (single_queue_check_full), (gst_single_queue_new):
3725         * plugins/elements/gstmultiqueue.h:
3726         New multiqueue element, using GstDataQueue. Used for queuing multiple
3727         streams.
3728         Closes #344639 and #347785
3729
3730 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
3731
3732         * docs/pwg/advanced-types.xml:
3733           add more missing type details
3734
3735         * tools/gst-run.c: (main):
3736           remove unused variable
3737
3738 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * docs/libs/Makefile.am:
3741         * docs/libs/gstreamer-libs.types:
3742           add types of base classes to enable gobject specific stuff in the docs
3743
3744         * docs/random/ensonic/embedded.txt:
3745           more ideas about isolating platform specific things
3746
3747 2006-11-20  Wim Taymans  <wim@fluendo.com>
3748
3749         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
3750
3751         * libs/gst/check/gstcheck.h:
3752         Fix compilation and running against 0.9.4. Fixes #377332.
3753
3754 2006-11-20  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/gstsegment.c: (gst_segment_set_seek),
3757         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3758         (gst_segment_to_running_time):
3759         Fix boundary checking in to_running_time() and to_stream_time().
3760         Fixes #377183.
3761
3762         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3763         stream and running time can now be calculated for the complete
3764         clipped segment.
3765
3766 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
3767
3768         * gst/gstpad.c: (gst_pad_push_event):
3769           Can't access event structure after giving away ownership of
3770           the event.
3771
3772 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
3773
3774         * docs/random/ensonic/embedded.txt:
3775         * docs/random/ensonic/profiling.txt:
3776         * docs/random/ensonic/receipies.txt:
3777           more thinking
3778
3779 2006-11-13  Wim Taymans  <wim@fluendo.com>
3780
3781         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3782
3783         * gst/gstpad.c:
3784         Fix documentation for gst_pad_dispatcher. Fixes #374475.
3785
3786 2006-11-13  Wim Taymans  <wim@fluendo.com>
3787
3788         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
3789
3790         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
3791         Store new length in segment duration so we don't keep on calling the
3792         potentially expensize get_size() call. Fixes #370865.
3793
3794 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
3795
3796         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
3797
3798         * win32/common/libgstreamer.def:
3799           Add two missing symbols (#366492).
3800
3801 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
3802
3803         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
3804         (gst_adapter_take_buffer):
3805         Fix format string to use all its arguments.
3806         Remove useless >= check on a guint
3807
3808 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3809
3810         * tests/examples/adapter/.cvsignore:
3811         Ignore build file as commanded by the build-bot
3812
3813 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3814
3815         * tests/examples/adapter/Makefile.am:
3816         * tests/examples/adapter/adapter_test.c: (run_test_take),
3817         (run_test_take_buffer), (run_tests), (main):
3818
3819         Add new files from the previous commit
3820
3821 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3822
3823         * Makefile.am:
3824         * configure.ac:
3825         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
3826         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
3827         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
3828         * libs/gst/base/gstadapter.h:
3829         * tests/check/libs/adapter.c: (create_and_fill_adapter),
3830         (GST_START_TEST), (gst_adapter_suite):
3831         * tests/examples/Makefile.am:
3832         Do some optimisation work in GstAdapter to avoid copies in more cases.
3833         It could still do slightly better by merging buffers when
3834         gst_buffer_is_span_fast is true, but is already faster. 
3835
3836         Also, avoid traversing a single-linked list to append each incoming 
3837         buffer inside the adapter.
3838
3839         Add simple test app that times the adapter behaviour in different
3840         situations, and extend the unit test to check that bytes enter and
3841         exit the adapter in their original order.
3842
3843 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3844
3845         * docs/random/draft-missing-plugins.txt:
3846           Update: use element message instead of adding a new message
3847           type to the core; don't provide GStreamer API to initiate the
3848           plugin download, just provide API to compose the strings needed
3849           and let an external libgimmestuff handle the rest.
3850
3851 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
3852
3853         * tools/gst-inspect.c: (print_element_properties_info):
3854         Print a string instead of 'unknown type' for GValueArray properties
3855
3856 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
3857
3858         * docs/random/draft-missing-plugins.txt:
3859         More small fixes.
3860
3861 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3862
3863         * tests/examples/typefind/typefind.c: (type_found), (main):
3864           Make typefind element example work again (#371894); add a
3865           license header.
3866
3867 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * docs/random/draft-missing-plugins.txt:
3870           Commit initial draft about how to deal with missing plugins,
3871           needs work (API too).
3872
3873 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
3874
3875         * docs/pwg/advanced-types.xml:
3876           documents the new caps elements (see #363118)
3877
3878 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3879
3880         * gst/gstplugin.c: (gst_plugin_load_file):
3881         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
3882         (gst_file_src_map_region), (gst_file_src_start):
3883         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
3884         (gst_file_index_commit):
3885           Use g_strerror() instead of strerror() - we want UTF-8.
3886
3887 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3888
3889         Patch by: Peter Kjellerstedt <pkj at axis com>
3890
3891         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3892           Another printf fix (#371493).
3893
3894 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3895
3896         * tests/check/gst/gsttag.c:
3897           relicence (okay with author=company)
3898
3899 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3900
3901         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3902         (gst_pad_push_event):
3903           Enhance debug and improve docs
3904         
3905         * gst/gsturi.c:
3906           Fix docs
3907
3908 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3909
3910         * docs/random/ensonic/distributed.txt:
3911         * docs/random/ensonic/profiling.txt:
3912           more ideas
3913
3914 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3915
3916         * docs/gst/gstreamer-sections.txt:
3917           add new API and fix the build
3918           
3919         * gst/gstbin.c: (gst_bin_recalc_state):
3920         * gst/gstelement.c: (gst_element_message_full),
3921         (gst_element_get_state_func), (gst_element_set_state_func):
3922           use new API and improve logging
3923         
3924         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3925         * gst/gstutils.h:
3926           API: add function to get StateChangereturn names to improve logs 
3927
3928 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3929
3930         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3931           I'm considering shooting the next person to put strerror stuff
3932           in the translateable part of the message.
3933
3934 2006-11-03  Wim Taymans  <wim@fluendo.com>
3935
3936         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3937         Get the type and printf conversion specifiers right.
3938
3939 2006-11-03  Wim Taymans  <wim@fluendo.com>
3940
3941         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3942
3943         * gst/gstpad.c: (gst_pad_init), (pre_activate),
3944         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
3945         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
3946         Some small cleanups. Improve debugging.
3947         * gst/gstpad.h:
3948         Signal all waiting threads with a broadcast instead of just one.
3949         Fixes #369942.
3950
3951 2006-11-03  Wim Taymans  <wim@fluendo.com>
3952
3953         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3954         (gst_fd_src_create):
3955         Add some debugging. 
3956         Only update fd when it's different from the old.
3957
3958 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
3961           Printf fixes for PPC/OSX, take two (#369366).
3962
3963 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3964
3965         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
3966
3967         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3968         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3969         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3970           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
3971           don't cast to long long for portability reasons, but use
3972           GLib's types instead.
3973
3974 2006-10-30  Michael Smith  <msmith@fluendo.com>
3975
3976         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3977           Get the arguments to lseek() the right way around.
3978           Fixes 367677.
3979
3980 2006-10-30  Wim Taymans  <wim@fluendo.com>
3981
3982         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
3983
3984         * gst/gstinfo.h:
3985         _declspec should be __declspec (two underscores, not one). Fixes 366572.
3986
3987 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3988
3989         Patch by: Kjartan Maraas  <kmaraas at gnome org>
3990
3991         * docs/design/part-MT-refcounting.txt:
3992         * docs/random/wtay/capsnego2-docs:
3993         * gst/gstclock.c:
3994         * gst/gstxml.c:
3995           Typo fixes (#366212).
3996
3997 2006-10-28  Wim Taymans  <wim@fluendo.com>
3998
3999         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4000
4001         * gst/gst.c:
4002         * win32/common/libgstbase.def:
4003         * win32/common/libgstreamer.def:
4004         * win32/vs8/libgstbase.vcproj:
4005         * win32/vs8/libgstcontroller.vcproj:
4006         Add needed entries in .def files.
4007         Use HAVE_UNISTD_H.
4008         Rearrange def files in vs8 solutions. Fixes #366286.
4009
4010 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * win32/common/gstconfig.h:
4013           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
4014           hand-made win32 gstconfig.h. Fixes #366321.
4015
4016 2006-10-27  Wim Taymans  <wim@fluendo.com>
4017
4018         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
4019         (gst_ghost_pad_new_full):
4020         Make acceptcaps return TRUE when we don't have a target, just like
4021         setcaps does.
4022
4023 2006-10-27  Wim Taymans  <wim@fluendo.com>
4024
4025         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4026         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
4027
4028 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4029
4030         * gst/gststructure.c: (gst_structure_id_set_value):
4031           If someone tries to set a non-UTF8 string field on a structure,
4032           don't just print a warning, but also ignore the request and do
4033           not change/add that field to the structure.
4034
4035         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4036           Test for the above.
4037
4038 2006-10-25  David Schleef  <ds@schleef.org>
4039
4040         * gst/gstinfo.c:
4041           g_hash_table_insert() needs a cast to a non-const pointer duh.
4042
4043 2006-10-25  David Schleef  <ds@schleef.org>
4044
4045         * gst/gstinfo.c:
4046         * gst/gstinfo.h:
4047           Change name parameter of _gst_debug_register_funcptr to const
4048           to reflect the constness of its use in the function as well
4049           as to quiet a gcc warning.
4050
4051 2006-10-25  Edward Hervey  <edward@fluendo.com>
4052
4053         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4054         Don't push the buffer if it's empty.
4055         Closes #363095
4056
4057 2006-10-24  Wim Taymans  <wim@fluendo.com>
4058
4059         * gst/gstevent.h:
4060         Add small comment.
4061
4062         * libs/gst/base/gstbasetransform.c:
4063         (gst_base_transform_sink_eventfunc):
4064         Debug segment values *after* updating them as this is more
4065         interesting.
4066
4067 2006-10-23  Wim Taymans  <wim@fluendo.com>
4068
4069         * docs/design/part-events.txt:
4070         Update some docs.
4071
4072         * docs/design/part-block.txt:
4073         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4074         (gst_pad_push_event):
4075         Revert BLOCKING patch, it tries to be smart without really having a
4076         clear idea what or how. So, now we discard all FLUSHING events again on
4077         a blocking pad. Should fix gnonlin again.
4078
4079 2006-10-23  Wim Taymans  <wim@fluendo.com>
4080
4081         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4082
4083         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4084         (gst_base_src_start), (gst_base_src_activate_push):
4085         Make sure size is always initialized. Fixes #364388.
4086
4087 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
4088
4089         * docs/random/ensonic/distributed.txt:
4090           add some ideas about doing distributed processing
4091
4092         * docs/random/ensonic/profiling.txt:
4093           get_rusage look promising
4094
4095 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4096
4097         * docs/manual/basics-helloworld.xml:
4098           Add a cast in example to fix compile warning
4099
4100 2006-10-18  Wim Taymans  <wim@fluendo.com>
4101
4102         * gst/gstsegment.c: (gst_segment_set_last_stop),
4103         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4104         Relax arg checking again, -1 is allowed.
4105
4106 2006-10-18  Wim Taymans  <wim@fluendo.com>
4107
4108         * gst/gstsegment.c: (gst_segment_set_last_stop),
4109         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4110         _set_last_stop() must be with a value != -1
4111         A _TYPE_SET to -1 means seek to 0.
4112         Calc last_stop correctly for negative rates.
4113         Make sure we work with positive durations when updating a segment.
4114
4115 2006-10-18  Wim Taymans  <wim@fluendo.com>
4116
4117         * docs/design/part-live-source.txt:
4118         * gst/gstclock.h:
4119         Small docs fixes.
4120
4121 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * gst/gstbuffer.h:
4124           Add an explicit cast to GstBuffer** to keep old code that added an
4125           explicit cast to GstMiniObject** for gst_mini_object_replace()
4126           compiling without warning.
4127
4128 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4129
4130         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
4131           check for validity of dates
4132
4133 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4134
4135         * docs/gst/gstreamer-sections.txt:
4136           Forgot this one, makes gtk-doc shut up.
4137
4138 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4139
4140         Patch by: Peter Kjellerstedt <pkj at axis com>
4141
4142         * gst/gstobject.h:
4143           Don't define xmlNodePtr to gpointer if the core was built with
4144           --disable-loadsave and --disable-registry, this will break
4145           applications that want to use libxml2 but are buildling against a
4146           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
4147           instead so we don't have to mess with the libxml2 namespace
4148           (#361675).
4149
4150 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4151
4152         * gst/gstbuffer.h:
4153           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
4154           type-punned pointer warnings.
4155
4156 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4157
4158         * gst/gstelement.h:
4159           Add casts to the correct return type to state <=> state transition
4160           macros.
4161
4162 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
4163
4164         * docs/design/part-live-source.txt:
4165           describe howto handle latency
4166         
4167         * docs/random/ensonic/profiling.txt:
4168           more ideas
4169
4170         * tools/gst-plot-timeline.py:
4171           fix log parsing for solaris, remove unused function
4172
4173 2006-10-16  Wim Taymans  <wim@fluendo.com>
4174
4175         * docs/design/part-trickmodes.txt:
4176         * gst/gstevent.c:
4177         Update some docs regarding reverse playback.
4178
4179 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4180
4181         Patch by: Marcus Granado  <mrc dot gran at gmail com>
4182
4183         * win32/vs8/grammar.vcproj:
4184           Error out with a warning if glib-genmarshal.exe is not in path,
4185           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
4186
4187 2006-10-13  Wim Taymans  <wim@fluendo.com>
4188
4189         * gst/gstsegment.c: (gst_segment_set_seek):
4190         When seeking to stop -1, set last_stop (current position) to the
4191         duration of the segment.
4192
4193 2006-10-13  Wim Taymans  <wim@fluendo.com>
4194
4195         * gst/gstelement.h:
4196         Clarify _NO_PREROLL a bit more.
4197
4198         * gst/gstevent.c:
4199         Fix docs.
4200
4201         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
4202         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
4203         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
4204         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
4205         due to wrong locking order. Fixes #361769.
4206         Remove some redundant/misplaced checks in pad_block.
4207
4208         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4209         For negative rates, count backwards from the duration.
4210
4211 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4212
4213         * gst/gsterror.c: (_gst_library_errors_init):
4214           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
4215           up with something better).
4216
4217 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4218
4219         * win32/vs6/libgstreamer.dsp:
4220         * win32/vs7/libgstreamer.vcproj:
4221         * win32/vs8/libgstreamer.vcproj:
4222           Don't reference glib-compat.c which is currently not used and not
4223           disted; add gstquark.c which was recently added. Fixes #361730.
4224
4225 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4226
4227         * win32/common/libgstbase.def:
4228         * win32/common/libgstcontroller.def:
4229         * win32/common/libgstreamer.def:
4230           Add gst_caps_merge() and a bunch of other recently-added functions.
4231           Fixes #361732.
4232
4233 2006-10-11  Wim Taymans  <wim@fluendo.com>
4234
4235         * docs/plugins/gstreamer-plugins.args:
4236         * docs/plugins/inspect/plugin-coreelements.xml:
4237         * docs/plugins/inspect/plugin-coreindexers.xml:
4238         Update element args.
4239
4240         * gst/gstsystemclock.c:
4241         Small comment update.
4242
4243         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4244         (gst_tee_request_new_pad), (gst_tee_release_pad),
4245         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
4246         (gst_tee_sink_activate_pull):
4247         * plugins/elements/gsttee.h:
4248         Some tee loving:
4249         Add default property defines.
4250         Implement release pad function.
4251         Give properties better blubs etc.
4252         Activate pads before adding them to a running tee.
4253         Do simple buffer_alloc on the first requested pad.
4254         Post error when activation fails.
4255
4256 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4257
4258         * gst/gst.c: (ensure_current_registry_forking):
4259           Check return value of write() to make compiler happy.
4260
4261 2006-10-11  Wim Taymans  <wim@fluendo.com>
4262
4263         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4264
4265         * plugins/elements/gstqueue.c: (gst_queue_chain):
4266         Recheck queue filledness after signalling the overrun when we're about
4267         to leak downstream because we released the lock when emitting the signal
4268         and the queue could be empty again. Fixes #352345.
4269
4270 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4273           Fix refcounting here too, just like we did for _new_valist() a few
4274           days ago (#357180) (thanks to René Stadler). Also remove all those
4275           'Since: 0.9' from the gtk-doc blobs.
4276
4277         * tests/check/libs/controller.c: (controller_refcount_new_list),
4278         (gst_controller_suite):
4279           Unit test for the above.
4280
4281 2006-10-10  Wim Taymans  <wim@fluendo.com>
4282
4283         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
4284
4285         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4286         (gst_pad_save_thyself):
4287         Update some docs.
4288         Write pad direction in XML output. Fixes #345496.
4289
4290 2006-10-10  Wim Taymans  <wim@fluendo.com>
4291
4292         Patch by: René Stadler <mail at renestadler dot de>
4293
4294         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4295         (gst_controller_new_list), (_gst_controller_dispose),
4296         (_gst_controller_finalize), (_gst_controller_class_init):
4297         Take ref to controlled object so that it cannot disappear. 
4298         Fixes #357432.
4299
4300 2006-10-10  Wim Taymans  <wim@fluendo.com>
4301
4302         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4303         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4304         (gst_check_teardown_sink_pad):
4305         Activate/deactivate pads in setup/teardown respectively.
4306
4307 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4308
4309         Patch by: Josep Torre Valles <josep@fluendo.com>
4310
4311         * gst/Makefile.am:
4312         Cast values when making gstenumtypes.h.  This pacifies Forte
4313         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
4314         in the enumeration.
4315
4316 2006-10-09  Wim Taymans  <wim@fluendo.com>
4317
4318         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
4319         Rename some more @cur to @start to fix docs. 
4320
4321         * gst/gstsegment.c: (gst_segment_set_seek):
4322         Fix typo.
4323         time and start must always stay in sync as defined in design doc.
4324
4325         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4326         Rename param to fix docs.
4327
4328         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4329         Check that start and time are in sync.
4330
4331         * tests/check/pipelines/parse-launch.c:
4332         (gst_parse_test_element_change_state):
4333         Activate pad before adding to the element.
4334
4335 2006-10-09  Wim Taymans  <wim@fluendo.com>
4336
4337         * docs/design/part-qos.txt:
4338         Fix typo.
4339
4340         * gst/gstevent.c:
4341         * gst/gstevent.h:
4342         Update seek event docs regarding negative rates.
4343         Rename @cur to @start. 
4344
4345         * gst/gstsegment.c: (gst_segment_set_seek):
4346         * gst/gstsegment.h:
4347         Update set_seek docs regarding negative rates.
4348         Correctly update last_stop to @stop when dealing with negative
4349         rates.
4350         Rename @cur to @start. 
4351
4352         * tests/check/gst/gstpad.c: (GST_START_TEST):
4353         Activate pads before trying to use them.
4354
4355         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4356         (gst_segment_suite):
4357         Add simple check for segments and negative rates.
4358
4359 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4360
4361         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4362         * gst/gsttaglist.h:
4363         * docs/gst/gstreamer-sections.txt:
4364           API: add gst_tag_list_is_empty() (#360467).
4365
4366         * tests/check/gst/gsttag.c: (GST_START_TEST):
4367           And a test case.
4368
4369 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4370
4371         * gst/gstmessage.h:
4372         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
4373         a value that doesn't fit on enumeration.
4374
4375 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4376
4377         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4378         Remove local debugging system and use Gstreamer's instead.
4379
4380 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4381
4382         Patch by: Josep Torre Valles <josep@fluendo.com>
4383
4384         * common/m4/gst-error.m4:
4385         Disable warning of statement not reached on Forte.
4386         * gst/gstmessage.h:
4387         Fix warning on Forte (value doesn't fit on enumeration).
4388         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
4389         Fix warning on Forte (value doesn't fit on enumeration).
4390         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4391         DEBUG macro says it takes minimum of 2 args and so Forte
4392         complains about the use with just 1 arg.
4393         * plugins/elements/gstfdsink.c:
4394         * plugins/elements/gstfdsrc.c:
4395         * plugins/elements/gstfilesink.c:
4396         * plugins/elements/gstfilesrc.c:
4397         Use correct return type for the uri handler implementations.
4398
4399         All these fix warnings in Forte.  Fixes bug #360860.
4400
4401 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4402
4403         * gst/gstelement.h:
4404           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
4405           format string, so don't use G_GNUC_PRINTF for those versions.
4406
4407 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4408
4409         * gst/gsttaglist.c: (gst_is_tag_list):
4410         * gst/gsttaglist.h:
4411           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
4412
4413         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4414           Small test for the above.
4415
4416 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4417
4418         * gst/gsttaglist.h:
4419           Less tabs, more spaces.
4420
4421 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * gst/gstinfo.h:
4424           Those two function declarations do actually belong there, revert
4425           commit from yesterday that turned them intro macros.
4426
4427 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4428
4429         Patch by: Josep Torre Valles <josep@fluendo.com>
4430
4431         * gst/gst.c: (gst_init_get_option_group):
4432         Fix empty declaration and type mismatch.
4433         * gst/gstbin.c: (gst_bin_change_state_func):
4434         Fix type mismatch.
4435         * gst/gstelement.c: (gst_element_continue_state),
4436         (gst_element_set_state_func), (gst_element_change_state),
4437         (gst_element_change_state_func):
4438         Fix type mismatches.
4439         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
4440         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
4441         Cast as appropriate.
4442         * gst/gstobject.c: (gst_class_signal_connect):
4443         Cast as appropriate.  The function pointer parameter really
4444         has the wrong type but would break API if we change it.
4445         * gst/gstquery.c:
4446         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
4447         order of including string.h.
4448         * gst/gstutils.c: (gst_element_state_get_name):
4449         Remove unreachable line.
4450         * gst/gstxml.c: (gst_xml_parse_doc):
4451         Fix type mismatch.
4452         All these caught by Forte.
4453
4454 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4455
4456         Patch by: Josep Torre Valles <josep@fluendo.com>
4457
4458         * common/m4/gst-error.m4:
4459         Fixed bug #360151.
4460         We need to disable warnings on Forte for empty declarations
4461         due to gst-indent adding ;s to lines that just use macros
4462         where the macro actually doesn't need a ; at end to end
4463         statement.
4464
4465 2006-10-06  Wim Taymans  <wim@fluendo.com>
4466
4467         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4468         (gst_file_sink_close_file), (gst_file_sink_event),
4469         (gst_file_sink_render):
4470         Add some FIXME for the NEWSEGMENT handling.
4471
4472 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4473
4474         * gst/parse/grammar.y:
4475         Remove static function gst_parse_element_lock as all it does
4476         is return.  Looks like cruft from 0.8.
4477
4478 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4479
4480         Patch by: Josep Torre Valles <josep@fluendo.com>
4481
4482         * common/m4/gst-error.m4:
4483         * configure.ac:
4484         * libs/gst/net/Makefile.am:
4485         Fix a compilation issue with Forte on Solaris.  inet_aton is in
4486         libresolv.
4487
4488 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4489
4490         * gst/gstpad.c: (pre_activate):
4491         * gst/gstregistry.c: (gst_registry_scan_path_level):
4492         * gst/gstregistryxml.c: (load_plugin):
4493         * libs/gst/controller/gstcontroller.c:
4494         (gst_controlled_property_set_interpolation_mode):
4495         * libs/gst/dataprotocol/dataprotocol.c:
4496         (gst_dp_packet_from_event_1_0):
4497         * libs/gst/net/gstnetclientclock.c:
4498         (gst_net_client_clock_observe_times):
4499         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4500           Printf fixes.
4501
4502 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * configure.ac:
4505         * docs/gst/gstreamer-sections.txt:
4506         * gst/gstconfig.h.in:
4507         * gst/gstelement.h:
4508         * gst/gstinfo.h:
4509           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
4510           whether we can use G_GNUC_PRINTF in other header files and at
4511           least check the printf format/arguments of debug messages and
4512           GST_ELEMENT_ERROR messages when the printf extension is not
4513           being used.
4514           Replace more tabs with spaces in gstinfo.h and remove two spurious
4515           function declarations in GST_DISABLE_DEBUG part with macros.
4516
4517 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4518
4519         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
4520           More docs for the sync-message signal (mention that it is not
4521           emitted by default); log message structures of messages posted on
4522           the bus as well.
4523
4524 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
4525
4526         * gst/gst.c: (ensure_current_registry_forking):
4527         Use a pipe pair to receive status results from the forked child, and
4528         ignore the result from waitpid. Fixes #355499
4529
4530 2006-10-02  Wim Taymans  <wim@fluendo.com>
4531
4532         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4533         (gst_ghost_pad_suite):
4534         Fix leak in check.
4535
4536 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4537
4538         * gst/gstpad.c:
4539           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
4540
4541 2006-10-02  Edward Hervey  <edward@fluendo.com>
4542
4543         * docs/design/part-block.txt:
4544         Further explain the use of flushing on blocked pads.
4545         * docs/gst/gstreamer-sections.txt:
4546         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4547         (gst_pad_push_event):
4548         * gst/gstpad.h:
4549         Added new GstPadFlag : GST_PAD_BLOCKING.
4550         Adds the notion of pads really blocking, which enables to properly
4551         handle FLUSH_START/FLUSH_STOP events on blocked pads.
4552         Fixes #358999
4553         API: gst_pad_is_blocking()
4554         API: GST_PAD_IS_BLOCKING() macro
4555         API: GST_PAD_BLOCKING GstPadFlag
4556         
4557 2006-10-02  Wim Taymans  <wim@fluendo.com>
4558
4559         Patch by: mrcgran <mrc.gran at gmail dot com>
4560
4561         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
4562         Filter the proxied caps against the padtemplate if we have one.
4563
4564         * gst/gstquery.c: (gst_query_new_segment):
4565         Add include for gstinfo.h so that compilation with
4566         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
4567
4568 2006-10-02  Wim Taymans  <wim@fluendo.com>
4569
4570         Patch by: Alessandro Decina  <alessandro at nnva org>
4571
4572         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
4573         (gst_file_sink_set_location), (gst_file_sink_open_file),
4574         (gst_file_sink_close_file), (gst_file_sink_event),
4575         (gst_file_sink_render):
4576         Set file to NULL when closing filesink so that we can set a new filename
4577         in READY. Fixes #358613.
4578
4579 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4580
4581         Patch by: Alessandro Decina  <alessandro at nnva org>
4582
4583         * gst/gstevent.c: (_gst_event_copy):
4584           Fix gst_mini_object_make_writable() and gst_event_copy() for events
4585           with event structures by setting the parent refcount address of the
4586           copied structure to the address of the refcount member of the newly
4587           copied event rather than the address of the refcount member of the
4588           original event. Fixes #358737.
4589
4590         * tests/check/gst/gstevent.c: (GST_START_TEST):
4591           Unit test for the above.
4592
4593 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
4594
4595         * docs/design/Makefile.am:
4596           Dist some more files.
4597
4598 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4599
4600         * tests/check/libs/controller.c: (GST_START_TEST),
4601         (gst_controller_suite):
4602           Add test for the previous fix; add some more tests
4603           for correct refcounting behaviour; fix a few leaks
4604           in test cases; call gst_controller_init() at start
4605           of all tests.
4606
4607 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4610         (gst_controller_set_from_list):
4611           Don't g_return_val_if_fail() on timed values with invalid timestamps
4612           inside a critical section without unlocking the mutex. Spotted by
4613           René Stadler. (#357617)
4614           Also, fix up refcounting properly: when returning an existing
4615           controller, we should increase the reference only once and not
4616           once per property and when trying to control a property again
4617           we should also increase the refcount.
4618
4619 2006-09-29  Wim Taymans  <wim@fluendo.com>
4620
4621         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4622         * libs/gst/net/gstnettimeprovider.c:
4623         (gst_net_time_provider_thread):
4624         Stop reading commands when EOF as well.
4625
4626         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4627         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4628         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4629         Unify description of the dump property.
4630
4631 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4632
4633         * tests/examples/manual/.cvsignore:
4634         OK, so it's actually cvsignore that needs changing. Stop laughing.
4635
4636 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4637
4638         * tests/examples/manual/Makefile.am:
4639         Gah, declare vars *before* using them
4640
4641 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4642
4643         * gst/gst.c: (init_pre), (scan_and_update_registry),
4644         (ensure_current_registry_nonforking),
4645         (ensure_current_registry_forking), (ensure_current_registry),
4646         (init_post), (gst_debug_help), (gst_deinit):
4647         * gst/gst_private.h:
4648         * gst/gstregistry.c: (gst_registry_finalize),
4649         (gst_registry_remove_features_for_plugin_unlocked),
4650         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4651         (gst_registry_scan_path),
4652         (_priv_gst_registry_remove_cache_plugins),
4653         (_priv_gst_registry_cleanup):
4654         * gst/gstregistry.h:
4655         Re-commit the registry changes, along with an extra fix:
4656           When a cached plugin is encountered at a different file path,
4657           update the stored path in the registry cache so that the parent
4658           process knows where it actually is now when it re-reads the registry
4659           cache. Fixes the thing that broke distcheck with the previous commit.
4660
4661         * tests/check/Makefile.am:
4662         Clean up files named 'core' too when running make clean.
4663
4664         * tests/examples/manual/Makefile.am:
4665         Set up a registry path for running these tests, and clean it properly
4666         for distcheck.
4667
4668 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4669
4670         * configure.ac:
4671         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
4672         want gmodule-no-export-2.0.pc instead so that we don't drag in
4673         --export-dynamic on every project that links to GStreamer.
4674
4675         Also, make our export regex only match the start of symbols, rather 
4676         than any symbol that contains '_gst' somewhere.
4677
4678         * libs/gst/check/Makefile.am:
4679         The libgstcheck we build does however need export-dynamic, as it
4680         produces some symbols that don't match our _gst... style regex.
4681         Fixes: #318031
4682
4683 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4684
4685         * gst/gst.c: (init_pre), (scan_and_update_registry),
4686         (ensure_current_registry_nonforking),
4687         (ensure_current_registry_forking), (ensure_current_registry),
4688         (init_post), (gst_debug_help), (gst_deinit):
4689         * gst/gst_private.h:
4690         * gst/gstregistry.c: (gst_registry_finalize),
4691         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4692         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
4693         (_gst_registry_cleanup):
4694         * gst/gstregistry.h:
4695           Revert previous change until I figure out why it breaks distcheck.
4696
4697 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4698
4699         * gst/gst.c: (init_pre), (scan_and_update_registry),
4700         (ensure_current_registry_nonforking),
4701         (ensure_current_registry_forking), (ensure_current_registry),
4702         (init_post), (gst_debug_help), (gst_deinit):
4703
4704           Make init_pre and init_post take the full complement of GOptionFunc
4705           args so they can return useful GErrors. Make the registry updating
4706           functions do so.
4707
4708           Call _priv_gst_registry_remove_cache_plugins after scanning files to
4709           ensure that the registry we're about to write out doesn't contain
4710           stale information about old-deleted plugin files.
4711
4712           Make _priv_gst_registry_remove_cache_plugins return a boolean so
4713           that deletion of plugin files is considered a registry change.
4714
4715         * gst/gst_private.h:
4716         * gst/gstregistry.c: (gst_registry_finalize),
4717         (gst_registry_remove_features_for_plugin_unlocked),
4718         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4719         (gst_registry_scan_path),
4720         (_priv_gst_registry_remove_cache_plugins),
4721         (_priv_gst_registry_cleanup):
4722         * gst/gstregistry.h:
4723         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
4724         by adding _priv prefix, so that they won't appear in the global
4725         symbol table. They still do atm though because of #318031. Move the
4726         prototypes to gst_private.h
4727
4728         When removing a plugin, remove all features for that plugin too. 
4729         Fixes #340878.
4730
4731 2006-09-27  Wim Taymans  <wim@fluendo.com>
4732
4733         * docs/random/moving-plugins:
4734         Make it clear that the "compiled-in descriptions" really mean
4735         the element details.
4736
4737         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4738         (gst_base_sink_wait_preroll):
4739         Update docs.
4740
4741         * docs/libs/gstreamer-libs-sections.txt:
4742         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4743         (gst_base_src_get_range), (gst_base_src_activate_push):
4744         * libs/gst/base/gstbasesrc.h:
4745         Added function to block while waiting for PLAYING, this function
4746         is used by live sources that block on the clock.
4747         API: gst_base_src_wait_playing()
4748
4749 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4750
4751         Patch by: Peter Kjellerstedt <pkj at axis com>
4752
4753         * Makefile.am:
4754           gst-element-check.m4 is generated and should therefore be
4755           copied from the build dir rather than the source dir (#357593).
4756           'make distcheck' hasn't noticed this because we were disting
4757           the file as well, so stop doing that.
4758
4759 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4760
4761         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4762           Add some tests for gst_caps_intersect().
4763
4764         * tools/gst-launch.c: (event_loop):
4765           Print all buffering percentages we get, even the 100% one.
4766
4767 2006-09-26  Wim Taymans  <wim@fluendo.com>
4768
4769         * tools/gst-inspect.c: (print_element_properties_info),
4770         (print_signal_info):
4771         Fix printing of flags to match the look of enums.
4772
4773 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4774
4775         * gst/gstelementfactory.c:
4776           Fix typo in docs blurb.
4777
4778 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * gst/gsturi.c: (search_by_entry):
4781           Don't assert/crash here if a uri handler doesn't return any
4782           supported protocols. The list of protocols could be generated
4783           dynamically at runtime or at plugin registration, and an error
4784           in the underlying library shouldn't be fatal (#353301).
4785
4786 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         * gst/gstinfo.c:
4789           Fix warning if HAVE_PRINTF_EXTENSION is undefined
4790           (spotted by Peter Kjellerstedt).
4791
4792 2006-09-23  Wim Taymans  <wim@fluendo.com>
4793
4794         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4795
4796         * libs/gst/base/gstbasesrc.c:
4797         (gst_base_src_default_check_get_range), (gst_base_src_start),
4798         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4799         (gst_base_src_change_state):
4800         Match _start/_stop calls in the activate functions. Remove redundant
4801         _stop call from the state change function. Fixes #356910.
4802         Turn failure DEBUG into ERROR. 
4803
4804 2006-09-22  Wim Taymans  <wim@fluendo.com>
4805
4806         * docs/design/part-buffering.txt:
4807         * gst/gstmessage.c: (gst_message_new_buffering),
4808         (gst_message_parse_buffering):
4809         Update docs about buffering.
4810
4811         * docs/design/part-trickmodes.txt:
4812         Fix typo.
4813
4814 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
4815
4816         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4817         (gst_controller_new_list):
4818           Ref instances when returning them again (fixes #357180)
4819
4820 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
4823           Don't forget to release proxy lock when there's an error.
4824
4825 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
4826
4827         * gst/gstcaps.h:
4828           Add extra initialisers for Caps things, to fix some plugin warnings
4829           when using -Wextra
4830
4831 2006-09-18  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4834           Also set template on the internal pad so that a getcaps from the 
4835           target pad returns the template caps.
4836
4837 2006-09-18  Wim Taymans  <wim@fluendo.com>
4838
4839         * gst/gstelement.c: (gst_element_post_message),
4840         (gst_element_dispose):
4841         Use _DEBUG_OBJECT some more.
4842
4843         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4844         Avoid typechecks.
4845
4846         * tools/gst-launch.c: (main):
4847         If the toplevel element is not a GstPipeline, it must be put in a
4848         pipeline so that a bus and clock is selected.
4849
4850 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4853           JITTER, RATE, and LATENCY query should be handled by the
4854           default case and not by the CONVERT query code.
4855
4856 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * gst/gstformat.c: (gst_format_register):
4859           Fix locking order (must take lock before using n_values).
4860
4861         * gst/gstvalue.c: (gst_value_serialize_enum),
4862         (gst_value_deserialize_enum_iter_cmp),
4863         (gst_value_deserialize_enum):
4864           Fix serialisation/deserialisation of custom registered GstFormats.
4865
4866         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4867           Unit test for custom format serialisation/deserialisation.
4868
4869 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
4870
4871         * docs/pwg/building-boiler.xml:
4872         * plugins/elements/gstcapsfilter.c:
4873         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
4874         section.
4875
4876 2006-09-16  Edward Hervey  <edward@fluendo.com>
4877
4878         * libs/gst/base/gstbasetransform.c:
4879         (gst_base_transform_buffer_alloc):
4880         Check if requested caps are the same as the sinks caps IF
4881         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
4882         is FALSE.
4883         This fixes the renegotiation issues stated in #352827.
4884
4885 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4886
4887         * configure.ac:
4888         * docs/manual/advanced-autoplugging.xml:
4889         * tests/examples/Makefile.am:
4890         * tests/examples/manual/.cvsignore:
4891         * tests/examples/manual/Makefile.am:
4892         * tests/examples/manual/extract.pl:
4893           Extract the manual examples again like we used to do.
4894           Fix one of them.
4895
4896 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4897
4898         * win32/common/config.h:
4899           update for version
4900
4901 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
4902
4903         * gst/gsterror.c:
4904           Documents how to receive errors.
4905
4906 2006-09-15  Wim Taymans  <wim@fluendo.com>
4907
4908         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
4909         (event_loop), (main):
4910         Added some comments here and there.
4911         Post an application message when an interrupt is caught instead of doing
4912         an uncontrolled state change.
4913         Clean up the event loop.
4914         Handle buffering messages, pause/resume the pipeline.
4915         Make shutdown because of an interrupt more reliable.
4916
4917 2006-09-15  Wim Taymans  <wim@fluendo.com>
4918
4919         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4920         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
4921         (gst_base_sink_preroll_object):
4922         Make sure that our internal state is correct when we commit our state
4923         asynchronously. This solves a race where a state change to PLAYING
4924         could cause the sink to remain blocked in preroll in some situations.
4925
4926 2006-09-15  Wim Taymans  <wim@fluendo.com>
4927
4928         * tools/gst-inspect.c: (print_element_properties_info),
4929         (print_signal_info):
4930         List flags as hex so it's easier to deal with.
4931
4932 2006-09-15  Wim Taymans  <wim@fluendo.com>
4933
4934         * docs/libs/gstreamer-libs-sections.txt:
4935         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
4936         (gst_base_sink_do_sync):
4937         * libs/gst/base/gstbasesink.h:
4938         Expose logic to wait for preroll so that subclasses such as audiosink
4939         can also use this method.
4940         API: gst_base_sink_wait_preroll()
4941
4942 2006-09-15  Wim Taymans  <wim@fluendo.com>
4943
4944         * gst/gstobject.c: (gst_object_set_parent):
4945         * gst/gstpipeline.c: (do_pipeline_seek):
4946         Small cleanups in docs and code.
4947
4948         * gst/gstsegment.c: (gst_segment_clip):
4949         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4950         if stop == start and start is in the segment, no clipping should be
4951         done. Also add a test for this.
4952
4953 2006-09-15  Wim Taymans  <wim@fluendo.com>
4954
4955         * docs/design/part-buffering.txt:
4956         * docs/gst/gstreamer-sections.txt:
4957         * gst/gstmessage.c: (gst_message_new_buffering),
4958         (gst_message_parse_buffering):
4959         * gst/gstmessage.h:
4960         Added methods to create and parse BUFFERING messages.
4961         Added preliminary docs about buffering.
4962         API: gst_message_new_buffering
4963         API: gst_message_parse_buffering
4964
4965 2006-09-06  Wim Taymans  <wim@fluendo.com>
4966
4967         * gst/gstbin.c:
4968         Update documentation.
4969
4970         * gst/gstelement.c: (gst_element_class_init),
4971         (gst_element_release_request_pad), (gst_element_set_clock),
4972         (gst_element_get_index), (gst_element_add_pad),
4973         (gst_element_remove_pad), (gst_element_get_random_pad),
4974         (gst_element_send_event), (gst_element_get_query_types),
4975         (gst_element_query), (gst_element_post_message),
4976         (gst_element_message_full), (gst_element_continue_state),
4977         (gst_element_lost_state), (gst_element_save_thyself),
4978         (gst_element_restore_thyself):
4979         Documentation updates.
4980         Rename last bit of the new-pad -> pad-added signal rename.
4981         Fix the case where an element query would only work if the source
4982         pad was linked.
4983         Avoid some useless type checking in message handling.
4984
4985         * gst/gstevent.c:
4986         * gst/gstevent.h:
4987         * gst/gstutils.c:
4988         Documentation updates.
4989
4990 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4991
4992         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4993           add an INFO line for when we actually update the fd
4994
4995 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4996
4997         * configure.ac:
4998           back to TRUNK
4999
5000 === release 0.10.10 ===
5001
5002 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
5003
5004         * configure.ac:
5005           releasing 0.10.10, "Pais"
5006
5007 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * docs/manual/advanced-position.xml:
5010           Fix typo in sample code.
5011
5012 2006-09-05  Wim Taymans  <wim@fluendo.com>
5013
5014         * libs/gst/net/gstnetclientclock.c: (inet_aton),
5015         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5016         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
5017         * libs/gst/net/gstnetclientclock.h:
5018         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5019         * libs/gst/net/gstnettimepacket.h:
5020         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
5021         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
5022         (gst_net_time_provider_thread), (gst_net_time_provider_new):
5023         * libs/gst/net/gstnettimeprovider.h:
5024         Make stuff compile on windows. Fixes #345295.
5025
5026 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5027
5028         * gst/gst.c: (ensure_current_registry_forking):
5029           Print better details when child was terminated by signal.
5030
5031 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5032
5033         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
5034           Print a warning rather than g_assert() if a plugin feature
5035           is a URI handler but returns no protocols (#353976).
5036
5037 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * docs/random/moving-plugins:
5040         Fix two typos.         
5041
5042 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5043
5044         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
5045           Fix locking order, handle NULL function values properly.
5046
5047         * gst/gstinfo.h:
5048           Fix docs.
5049
5050         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
5051           Initialise variable before using it and fix debug statement to
5052           print the address of the function rather than the address of the
5053           variable on the stack holding the address of the function.
5054
5055 2006-09-01  Wim Taymans  <wim@fluendo.com>
5056
5057         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
5058         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
5059         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
5060         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
5061         (gst_ghost_pad_parent_unset),
5062         (gst_ghost_pad_internal_do_activate_push),
5063         (gst_ghost_pad_internal_do_activate_pull),
5064         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5065         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5066         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
5067         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
5068         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
5069         (gst_ghost_pad_new_no_target_from_template),
5070         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5071         More cleanups.
5072         Avoid needless typechecking in macros.
5073         Since the internal pad is always present and never changes, there is
5074         no need to locking or ref when retrieving it.
5075         Improve debugging a bit.
5076         Handle link errors when setting the target. Fixes #341029.
5077
5078 2006-09-01  Wim Taymans  <wim@fluendo.com>
5079
5080         * docs/libs/gstreamer-libs-sections.txt:
5081         * docs/plugins/gstreamer-plugins-sections.txt:
5082         Fix docs some more.
5083
5084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5085         (gst_collect_pads_event):
5086         * libs/gst/base/gstcollectpads.h:
5087         Documentation updates.
5088         Free queued buffer when removing a pad.
5089
5090 2006-08-31  Michael Smith  <msmith@fluendo.com>
5091
5092         * gst/gstutils.c: (gst_element_link_pads),
5093         (gst_element_link_pads_filtered):
5094           Ensure that we set a capsfilter to NULL if we failed to link it
5095           when doing filtered linking, to avoid criticals.
5096
5097           No need to check for unreffing srcpad, which is explicly NULLed
5098           above (a trivial code cleanup).
5099
5100 2006-08-31  Wim Taymans  <wim@fluendo.com>
5101
5102         * docs/design/part-gstghostpad.txt:
5103         Update ascii art in documentation.
5104
5105         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
5106         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
5107         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5108         (gst_ghost_pad_internal_do_activate_push),
5109         (gst_ghost_pad_internal_do_activate_pull),
5110         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5111         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5112         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
5113         (gst_ghost_pad_set_target):
5114         Small cleanups and leak fixes.
5115         Remove some checks now that the internal pad is never NULL.
5116         Fix the case where linking pads without a target would create nasty
5117         criticals. Fixes #341029.
5118         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
5119         value of _set_target().
5120
5121         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5122         (gst_ghost_pad_suite):
5123         Some more tests for creating and linking untargeted ghostpads.
5124
5125 2006-08-31  Edward Hervey  <edward@fluendo.com>
5126
5127         * docs/gst/gstreamer-sections.txt:
5128         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
5129         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5130         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
5131         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
5132         (gst_ghost_pad_new_from_template),
5133         (gst_ghost_pad_new_no_target_from_template):
5134         * gst/gstghostpad.h:
5135         Refactored *_new() functions.
5136         Templates are now used as a g_object_new() parameter.
5137         Use template in _do_getcaps() if we don't have a target.
5138         Small documentation cleanups.
5139         Added two new constructors:
5140         gst_ghost_pad_new_from_template()
5141         gst_ghost_pad_new_no_target_from_template()
5142         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5143         (gst_ghost_pad_suite):
5144         Added tests for new ghostpad instanciation functions.
5145
5146         API additions: gst_ghost_pad_new_from_template,
5147         gst_ghost_pad_new_no_target_from_template
5148
5149 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
5150
5151         * docs/random/ensonic/profiling.txt:
5152           Ideas about qos profiling.
5153
5154 2006-08-29  Wim Taymans  <wim@fluendo.com>
5155
5156         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
5157         Code cleanups.
5158         Fix memleak.
5159
5160 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
5161
5162         * gst/gstxml.c:
5163           Improve and detypofy docs.
5164
5165         * tests/check/Makefile.am:
5166         * tests/check/gst/.cvsignore:
5167         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
5168           Add a basic test suite for GstXML.
5169
5170 2006-08-29  Wim Taymans  <wim@fluendo.com>
5171
5172         * gst/gstelement.c: (activate_pads), (clear_caps),
5173         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5174         Clear the pad caps when the element shut down all of the pads and
5175         is not streaming data that could modify the caps. 
5176         Fixes #352958.
5177
5178 2006-08-28  Michael Smith  <msmith@fluendo.com>
5179
5180         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5181           Revert previous change; I misunderstood single-segment mode.
5182
5183 2006-08-28  Michael Smith  <msmith@fluendo.com>
5184
5185         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5186           Unset DISCONT on buffers when using single-segment mode.
5187
5188 2006-08-28  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/gstcaps.c: (gst_caps_merge_structure):
5191         * gst/gstcaps.h:
5192         Fix docs and indentation again.
5193
5194         * tests/check/gst/gstquery.c: (GST_START_TEST):
5195         Fix leak in tests and add some more tests.
5196
5197 2006-08-28  Edward Hervey  <edward@fluendo.com>
5198
5199         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5200         Inform GstSegment of the last stop position in order for the current
5201         segment to have a proper duration if it doesn't have a specific stop
5202         position from which a duration could be calculated.
5203         This bug was noticeable when a non-flushing, non-update new segment was
5204         followed by another segment (all buffers from the new segment were being
5205         dropped).
5206
5207 2006-08-28  Wim Taymans  <wim@fluendo.com>
5208
5209         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5210         Small comment update.
5211
5212         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5213         (gst_identity_transform_ip):
5214         Drop-probability is broken, mention this in the code with a 
5215         FIXME and also in the property description.
5216         Make silent also be silent about the drop messages.
5217
5218 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * docs/manual/appendix-win32.xml:
5221           Remove mention of popt, we don't depend on that any
5222           longer (#353136). Add some comments pointing out that
5223           this section is slightly outdated.
5224
5225 2006-08-28  Wim Taymans  <wim@fluendo.com>
5226
5227         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5228
5229         * gst/gstquery.c: (gst_query_new_segment):
5230         * tests/check/gst/gstquery.c: (GST_START_TEST):
5231         Initialize variables when creating a new segment query.
5232         Fixes #353121.
5233
5234 2006-08-28  Wim Taymans  <wim@fluendo.com>
5235
5236         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5237
5238         * gst/gstelement.c: (gst_element_get_bus):
5239         * tests/check/gst/gstelement.c: (GST_START_TEST):
5240         Check for NULL before _reffing the bus. Fixes #353122.
5241
5242 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         * docs/manual/basics-bus.xml:
5245           Docs update: fix wrong callback return value explanation; add
5246           some lines about the implicit relationship between main loop
5247           and main context; remove duplicate main loop variable declaration.
5248
5249 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
5250
5251         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5252           Don't leak caps in unit test; add a few more simple
5253           checks. 
5254
5255 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
5256
5257         * docs/gst/gstreamer-sections.txt:
5258         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
5259         (gst_caps_structure_is_subset), (gst_caps_merge),
5260         (gst_caps_merge_structure):
5261         * gst/gstcaps.h:
5262         * libs/gst/base/gstbasetransform.c:
5263         (gst_base_transform_transform_caps):
5264         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5265           implement caps merging (fixes #352580)
5266
5267 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
5268
5269         * tools/Makefile.am:
5270         * tools/gst-plot-timeline.py:
5271           add debug-log plotting developer tool (#340674)
5272
5273 2006-08-23  Wim Taymans  <wim@fluendo.com>
5274
5275         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
5276         (gst_pad_stop_task):
5277         Improve debugging for task functions.
5278
5279         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
5280         (gst_task_start), (gst_task_pause), (gst_task_join):
5281         Make sure that the task function started and finished after a 
5282         join(). 
5283         Don't try to push the task function on the threadpool multiple
5284         times.
5285         Improve the g_warning message with some useful suggestions
5286         about how to fix the problem. 
5287
5288 2006-08-23  Wim Taymans  <wim@fluendo.com>
5289
5290         * gst/gstutils.c: (gst_pad_proxy_getcaps):
5291         Handle RESYNC correctly in _proxy_getcaps.
5292
5293 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
5294
5295         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
5296         (gst_xml_parse_memory), (gst_xml_get_element):
5297           Chain up to parent class in dispose function and also
5298           unref the elements in the toplevel_elements GList.
5299           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
5300           Always return a reference in gst_xml_get_element() rather
5301           than only sometimes.
5302
5303         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
5304           Don't leak GstXml object.
5305
5306 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
5307
5308         * docs/gst/gstreamer-sections.txt:
5309         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
5310         (gst_caps_merge):
5311         * gst/gstcaps.h:
5312         * libs/gst/base/gstbasetransform.c:
5313         (gst_base_transform_transform_caps):
5314           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
5315           in a better way
5316
5317 2006-08-21  Edward Hervey  <edward@fluendo.com>
5318
5319         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
5320         Implement GObject::dispose virtual method in GstXML so we can free the
5321         top_elements GList.
5322
5323 2006-08-21  Wim Taymans  <wim@fluendo.com>
5324
5325         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
5326         (gst_buffer_create_sub):
5327         Copy duration/offset_end/caps when creating a subbuffer of the
5328         complete parent.
5329         Make the subbuffer read-only when we make the metadata writable for
5330         now. Fixes #351768.
5331
5332         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5333         Added check for metadata copy when creating subbuffers.
5334
5335 2006-08-21  Edward Hervey  <edward@fluendo.com>
5336
5337         * libs/gst/base/gstbasetransform.c:
5338         (gst_base_transform_buffer_alloc):
5339         Only call downstream buffer_alloc if transform element is passthrough
5340         or always_in_place. Closes #350449.
5341
5342 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5343
5344         * ChangeLog:
5345           ChangeLog surgery to add comments to previous changes
5346
5347 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5348
5349         * gst/gst.c:
5350           Add comments
5351
5352         * gst/gstpad.c: (gst_pad_set_active):
5353           Be more verbose in the log
5354
5355         * libs/gst/base/gstbasetransform.c:
5356         (gst_base_transform_transform_caps):
5357           Simplify caps to get rid of duplicates, fixes #345444
5358
5359 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5360
5361         * gst/gstvalue.c:
5362         * gst/gstvalue.h:
5363           Use these optimizations only internally.
5364
5365 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5366
5367         * gst/gstvalue.c: (gst_value_compare_list),
5368         (gst_value_compare_fraction_range),
5369         (gst_value_intersect_fraction_fraction_range),
5370         (gst_value_intersect_fraction_range_fraction_range),
5371         (gst_value_subtract_fraction_fraction_range),
5372         (gst_value_subtract_fraction_range_fraction_range),
5373         (gst_value_get_compare_func), (gst_value_compare),
5374         (gst_value_compare_with_func):
5375         * gst/gstvalue.h:
5376           Saves the expensive lookup of the compare function in many cases
5377          (#345444)
5378
5379 2006-08-18  Edward Hervey  <edward@fluendo.com>
5380
5381         * tests/check/gst/gstinfo.c: (gst_info_suite):
5382         Disable test that require gstdebug if it wasn't built in core.
5383
5384 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5385
5386         * docs/random/ensonic/logging.txt:
5387           update ideas
5388           
5389         * gst/gstinfo.c: (gst_debug_log_default):
5390           reorder fields, save some columns, add optional color codes for log
5391           levels
5392
5393 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * docs/random/ensonic/logging.txt:
5396           add ideas about making the logs a bit more useful
5397
5398 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * docs/pwg/advanced-events.xml:
5401         * docs/pwg/titlepage.xml:
5402           Update for 0.10 API (#340627). Add myself
5403           to authors list.
5404
5405 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5406
5407         * docs/libs/gstreamer-libs-docs.sgml:
5408         * docs/libs/gstreamer-libs-sections.txt:
5409         * libs/gst/check/gstbufferstraw.c:
5410           Make gstcheck stuff show up in docs (still needs to
5411           be documented properly though).
5412
5413 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
5414
5415         * docs/gst/gstreamer-sections.txt:
5416         * gst/Makefile.am:
5417         * gst/gst.c: (init_post):
5418         * gst/gst_private.h:
5419         * gst/gstquark.c: (_priv_gst_quarks_initialize):
5420         * gst/gstquark.h:
5421         * gst/gstquery.c: (gst_query_new_position),
5422         (gst_query_set_position), (gst_query_parse_position),
5423         (gst_query_new_duration), (gst_query_set_duration),
5424         (gst_query_parse_duration), (gst_query_new_convert),
5425         (gst_query_set_convert), (gst_query_parse_convert),
5426         (gst_query_new_segment), (gst_query_set_segment),
5427         (gst_query_parse_segment), (gst_query_new_seeking),
5428         (gst_query_set_seeking), (gst_query_parse_seeking):
5429         Add internal helpers for pre-registering quarks from static strings
5430         and using the quark values directly instead of looking them up when
5431         creating and parsing queries. Can be used for event construction too.
5432         Closes #350432.
5433
5434 2006-08-16  Wim Taymans  <wim@fluendo.com>
5435
5436         * gst/gstbin.c:
5437         Fix bogus docs.
5438
5439 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5440
5441         * gst/gstutils.c: (gst_util_set_value_from_string):
5442           Fix memleak (#351502).
5443
5444         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5445           Add unit test for most of gst_util_set_value_from_string()
5446           (not that one would want to encourage use of this function).
5447
5448 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5449
5450         * libs/gst/check/gstcheck.h:
5451           Use const gchar * variables in fail_unless_equals_string
5452           macro to avoid compiler warnings (and don't use tabs for
5453           indenting).
5454
5455 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5456
5457         * tools/gst-launch.c: (print_tag):
5458           More space on the left for the tag names, to cater
5459           for the 'extended comment' tag (not touching the
5460           string for the first line since it's translated).
5461
5462 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5463
5464         * libs/gst/check/gstcheck.h:
5465           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
5466           print something when they fail.
5467
5468 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5469
5470         * docs/gst/gstreamer-sections.txt:
5471         * gst/gsttaglist.c: (_gst_tag_initialize):
5472         * gst/gsttaglist.h:
5473           API: add GST_TAG_EXTENDED_COMMENT (#350935).
5474           Also change merge function for GST_TAG_COMMENT to
5475           use_first.
5476
5477 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         * gst/gstinfo.c: (gst_debug_print_object):
5480           Make GST_PTR_FORMAT print messages as well.
5481
5482         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
5483         (GST_START_TEST), (gst_info_suite):
5484           More tests.
5485
5486 2006-08-14  Edward Hervey  <edward@fluendo.com>
5487
5488         * gst/gstelementfactory.c: (gst_element_register):
5489         If the GstElementClass doesn't have a GstElementDetails with all fields
5490         filled up correctly (longname, description AND author), then error out
5491         nicely instead of crashing.
5492
5493 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5494
5495         * gst/gststructure.c:
5496           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
5497
5498         * gst/gstvalue.h:
5499           Expand on the difference between arrays and lists as we use them.
5500           
5501 2006-08-14  Wim Taymans  <wim@fluendo.com>
5502
5503         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5504         If the parent state change function failed, don't assume we can safely
5505         stop the source, this will be done when the pads are deactivated.
5506
5507 2006-08-14  Wim Taymans  <wim@fluendo.com>
5508
5509         * gst/gstbuffer.c:
5510         * gst/gsttask.c: (gst_task_join):
5511         Small doc updates.
5512
5513         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5514         (gst_pad_stop_task):
5515         When pad (de)activation failed for some reason, restore the old
5516         activation mode and set the pad to flushing instead of assuming the
5517         pad is deactivated.
5518         If the _task_join() failed, reinstall the task on the pad so that it can
5519         be stopped later and return an error.
5520
5521 2006-08-11  Andy Wingo  <wingo@pobox.com>
5522
5523         * configure.ac:
5524         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5525         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
5526         is only for users of API that don't want to see deprecated
5527         functions in the headers; people that want to compile out
5528         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
5529         CFLAGS. Fixes the build of multifdsink, or will soon..
5530
5531 2006-08-11  Wim Taymans  <wim@fluendo.com>
5532
5533         * docs/gst/gstreamer-sections.txt:
5534         Add GstClockClass vmethod docs.
5535
5536         * gst/gstcaps.h:
5537         Mark #endif with comment for associated #if
5538
5539         * gst/gstclock.c: (gst_clock_id_wait):
5540         * gst/gstclock.h:
5541         Add vmethod wait_jitter to avoid an unneeded _get_time() for
5542         most clock implementations.
5543         Document vmethods.
5544         Flesh out docs about resolution methods.
5545         API: GstClockClass::wait_jitter
5546
5547         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5548         (gst_system_clock_async_thread),
5549         (gst_system_clock_id_wait_jitter_unlocked),
5550         (gst_system_clock_id_wait_jitter):
5551         Use base class wait_jitter variant for improved performance
5552         due to less clock polling.
5553
5554 2006-08-11  Edward Hervey  <edward@fluendo.com>
5555
5556         * gst/gst.c: (gst_init_check), (init_post):
5557         Set gst as being initialized before scanning/updating the registry,
5558         since there might be my python plugin loader that calls gst_init() and
5559         we don't want to loop back in.
5560         Closes #350879
5561
5562 2006-08-11  Wim Taymans  <wim@fluendo.com>
5563
5564         * docs/design/part-qos.txt:
5565         Bring docs in line with the code. Mostly the sign of the jitter was
5566         wrong in the docs. Fixes #349943.
5567
5568         * gst/gstclock.c:
5569         Fix the docs for the jitter.
5570
5571         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
5572         (gst_event_parse_tag), (gst_event_new_buffer_size),
5573         (gst_event_parse_buffer_size), (gst_event_parse_qos),
5574         (gst_event_new_seek), (gst_event_parse_seek),
5575         (gst_event_new_navigation):
5576         Make sure the GstStructure has no parent when creating custom
5577         events.
5578         Add some more argument checking so that we avoid 0.0 rates.
5579         Flesh out the docs for the QoS event some more.
5580
5581 2006-08-11  Wim Taymans  <wim@fluendo.com>
5582
5583         * docs/gst/gstreamer-sections.txt:
5584         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5585         (ensure_current_registry_forking), (ensure_current_registry),
5586         (parse_one_option), (parse_goption_arg), (gst_deinit),
5587         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
5588         * gst/gst.h:
5589         Doc updates.
5590         Added API and command line option to disable registry forking in
5591         addition to the environment variable.
5592         Constify some static arrays.
5593         Added some more debug.
5594         Don't deinit twice.
5595         API: gst_registry_fork_is_enabled()
5596         API: gst_registry_fork_set_enabled()
5597         API: --gst-disable-registry-fork command line option
5598         Fixes #348918.
5599
5600 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
5601
5602         * gst/gst.c: (gst_init):
5603           Fix typo in error message.
5604
5605 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5606
5607         * libs/gst/controller/gstcontroller.h:
5608           fix ABI size-correction
5609
5610         * tests/check/libs/gdp.c: (gst_dp_suite):
5611           make tests that use deprecated API conditional
5612
5613 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5614
5615         * docs/libs/gstreamer-libs-sections.txt:
5616         * libs/gst/controller/gstcontroller.c:
5617         (_gst_controller_get_property), (_gst_controller_set_property),
5618         (_gst_controller_init), (_gst_controller_class_init):
5619         * libs/gst/controller/gstcontroller.h:
5620         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
5621         (gst_object_set_control_rate):
5622           API: add gst_object_{s,g}et_control_rate(), add private data section,
5623           fix docs
5624
5625         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5626         * libs/gst/dataprotocol/dataprotocol.h:
5627           add deprecation guards to make gtk-doc happy and allow disabling cruft
5628
5629 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * tests/check/Makefile.am:
5632         * tests/check/gst/.cvsignore:
5633           Let's enable the new unit test as well.
5634
5635 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5636
5637         * configure.ac:
5638         * docs/gst/gstreamer-sections.txt:
5639         * gst/gstconfig.h.in:
5640         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
5641         (_gst_info_printf_extension_ptr),
5642         (_gst_info_printf_extension_segment):
5643           API: add GST_SEGMENT_FORMAT, which is a printf extension we
5644           register that lets us easily dump GstSegments into debug
5645           logs (#350419).
5646
5647         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
5648         (info_segment_format_printf_extension), (gst_info_suite):
5649           Add simple unit test that logs a bunch of different segments (not
5650           valgrinded at the moment because of leaks in
5651           gst_debug_add_log_function).
5652
5653 2006-08-09  Edward Hervey  <edward@fluendo.com>
5654
5655         * libs/gst/base/gstbasetransform.c:
5656         (gst_base_transform_buffer_alloc):
5657         Even if we can't figure out the proper format to request downstream,
5658         call buffer_alloc() downstream with the input parameters without setting
5659         the caps on the srcpad. This will force negotiation in the chain
5660         function.
5661         Closes #350449
5662
5663 2006-08-08  Edward Hervey  <edward@fluendo.com>
5664
5665         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5666         Unlinking from a pad without a target is now a perfectly valid case
5667         which should NOT raise an assertion.
5668         This case would happen if a linked ghostpad its target set to NULL after
5669         it was previously linked.
5670
5671 2006-08-08  Edward Hervey  <edward@fluendo.com>
5672
5673         * tests/check/libs/gdp.c:
5674         Also comment out the test (see below).
5675
5676 2006-08-08  Edward Hervey  <edward@fluendo.com>
5677
5678         * tests/check/libs/gdp.c: (gst_dp_suite):
5679         Use the architecture information from config.h and not gcc macros
5680         in order to properly disable a test that fails on PPC64.
5681
5682 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
5683
5684         * gst/gstelement.c: (gst_element_remove_pad):
5685           Don't crash printing the warning if the pad has no parent.
5686
5687 2006-08-02  Wim Taymans  <wim@fluendo.com>
5688
5689         * libs/gst/dataprotocol/dataprotocol.c:
5690         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5691         (gst_dp_crc), (gst_dp_header_payload_length),
5692         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
5693         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
5694         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
5695         (gst_dp_event_from_packet), (gst_dp_validate_header),
5696         (gst_dp_validate_payload):
5697         Make debug category static
5698         Constify the crc table.
5699         Do some more arg checking in public functions.
5700         Fix some docs and do some small cleanups.
5701
5702         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
5703         Add some more checks to see if GDP deals with bogus input.
5704
5705 2006-07-31  Wim Taymans  <wim@fluendo.com>
5706
5707         * gst/gstvalue.c: (gst_value_compare_list):
5708         Fix GstValueList comparison code. Fixes #347293.
5709
5710         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5711         Check to test GstValueList comparison.
5712
5713 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5714
5715         * gst/gstelementfactory.c: (gst_element_factory_create):
5716         Remove unnecessary ref/unref pair
5717
5718         * gst/parse/grammar.y:
5719         Make sure to free the parse buffer on all code paths.
5720         Move a g_free up to the error handler where it's easier to see.
5721
5722         * tests/check/gst/gstevent.c: (test_event):
5723         Extending timeout for downstream travelling events to 10 seconds to
5724         hopefully avoid intermittent failure on the buildbots.
5725
5726         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
5727         Don't manually set the state of the src element - it will happen as a
5728         natural consequence of the pipeline changing state, and that way it
5729         will do it in the right order too.
5730
5731 2006-07-31  Wim Taymans  <wim@fluendo.com>
5732
5733         * libs/gst/base/gstbasetransform.c:
5734         (gst_base_transform_buffer_alloc):
5735         Use OBJECT_LOCK and refcounting to get the pad caps in the
5736         buffer_alloc function because the caps could change while we are
5737         busy with them. Fixes #349105
5738
5739 2006-07-31  Wim Taymans  <wim@fluendo.com>
5740
5741         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
5742         Protect _PAD_CAPS with OBJECT_LOCK.
5743
5744 2006-07-31  Wim Taymans  <wim@fluendo.com>
5745
5746         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5747         (gst_pad_get_property), (gst_pad_activate_pull),
5748         (gst_pad_activate_push), (gst_pad_set_blocked_async),
5749         (gst_pad_set_activate_function),
5750         (gst_pad_set_activatepull_function),
5751         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
5752         (gst_pad_set_getrange_function),
5753         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
5754         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5755         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
5756         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
5757         (gst_pad_set_acceptcaps_function),
5758         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5759         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
5760         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
5761         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
5762         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
5763         (gst_pad_configure_sink), (gst_pad_configure_src),
5764         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
5765         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
5766         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
5767         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
5768         (gst_pad_send_event):
5769         Use _DEBUG_OBJECT when it makes sense.
5770         Protect GST_PAD_CAPS with the OBJECT_LOCK.
5771         Small cleanups and code reflows.
5772         Avoid caps refcounting in _accept_caps.
5773         Refactor alloc_buffer so that the code performed on the peer is in a
5774         separate function. Also if the pad does not implement a buffer alloc
5775         function, we should still check if the pad is flushing before falling
5776         back to the default allocator.
5777
5778 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5779
5780         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5781         Make all uses of identity and fakesink have silent=true to avoid
5782         serialising every passing data structure, which is breaking tests
5783         on FC4 for some unknown reason.
5784
5785 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5786
5787         * gst/parse/Makefile.am:
5788         * gst/parse/grammar.y:
5789         * gst/parse/parse.l:
5790           Reverted previous patch as it required to bump the flex dependency to
5791           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
5792
5793 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5794
5795         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
5796
5797         * gst/parse/Makefile.am:
5798         * gst/parse/grammar.y:
5799         * gst/parse/parse.l:
5800           push & pop the state of the lexer for reentrant use case
5801           Fixes #349180
5802
5803 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
5804
5805         * libs/gst/base/gstbasesrc.h:
5806           Note in the docs that the ::newsegment vfunc is not actually used by
5807           GstBaseSrc.
5808
5809 2006-07-28  Wim Taymans  <wim@fluendo.com>
5810
5811         * libs/gst/base/gstcollectpads.c:
5812         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
5813         (gst_collect_pads_clear), (gst_collect_pads_flush),
5814         (gst_collect_pads_event), (gst_collect_pads_chain):
5815         When flushing a pad, also clear the queued buffer so that we don't
5816         accidentally use it when we shouldn't.
5817         Fix leaks by inreffing incomming buffer.
5818         Flush out queued buffers in case of errors.
5819         Fixes #347452.
5820
5821 2006-07-28  Wim Taymans  <wim@fluendo.com>
5822
5823         * docs/random/phonon-gst:
5824         Random notes about a Phonon backend.
5825
5826 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5827
5828         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5829         Extra debug output
5830         * tests/check/libs/gdp.c: (gst_dp_suite):
5831         Take a whack at fixing the ppc compile using a different define to
5832         disable the broken test.
5833
5834         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5835         Remove excess g_print()
5836
5837 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5838
5839         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5840         Oops, meant to uncomment this line too to dampen the noise a bit.
5841
5842 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5843
5844         * gst/parse/grammar.y:
5845         * gst/parse/parse.l:
5846         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5847         (GST_START_TEST), (parse_suite):
5848         Fix some of the leaks exposed by extending the parse-launch testsuite,
5849         and move the 3 I can't figure out into a separate test that won't run
5850         the pipelines unless the appropriate line is uncommented.
5851
5852 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5853
5854         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5855           Requesting 0 bytes before the end of the file should result in
5856           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
5857           unit test.
5858
5859 2006-07-27  Wim Taymans  <wim@fluendo.com>
5860
5861         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
5862         Fix useless assert, a uint is always positive.
5863
5864         * gst/gststructure.c: (gst_structure_nth_field_name),
5865         (gst_structure_foreach), (gst_structure_map_in_place):
5866         Check input arguments for public functions to avoid obvious crashes.
5867
5868         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
5869         * plugins/elements/gstfakesink.h:
5870         Do less useless typechecking.
5871
5872 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5873
5874         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5875           Do not use mmap() by default since there are a number of error
5876           conditions that we would like to handle in a non-fatal way that
5877           will result in a SIGBUS if we use mmap(). Examples: external
5878           devices (USB harddrive, portable music player) being unplugged
5879           while in use; file on mounted CD/DVD that can't be read because
5880           the medium is partly damaged. Fixes #348455 and #348475.
5881
5882 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5883
5884         * gst/gstquery.h:
5885         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
5886         rates are a gdouble
5887
5888 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
5889
5890         * gst/gstregistry.c:
5891           Move big documentation comment into class section header, so that it
5892           appears in the API docs.
5893
5894 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5895
5896         * docs/gst/gstreamer-sections.txt:
5897         Oops. Commit the docs additions too for new API.
5898         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
5899
5900 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5901
5902         * gst/gststructure.c: (gst_structure_id_set),
5903         (gst_structure_id_set_valist):
5904         * gst/gststructure.h:
5905         Add API for setting values into structures without performing
5906         a quark lookup, if the appropriate quark is already known.
5907
5908         API: gst_structure_id_set
5909         API: gst_structure_id_set_valist
5910
5911         * gst/parse/grammar.y:
5912         * gst/parse/parse.l:
5913         Remove some dead code shown by the coverage information.
5914         Don't throw a critical g_warning when encountering a syntax error,
5915         just warn and let the normal error path handle it.
5916
5917         * plugins/elements/gstelements.c:
5918         Bump the rank of filesink up to PRIMARY so that it is preferred over
5919         gnomevfssink for file:// sink uri's
5920
5921         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5922         (GST_START_TEST), (run_delayed_test),
5923         (gst_parse_test_element_base_init),
5924         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
5925         (gst_parse_test_element_change_state),
5926         (gst_register_parse_element), (parse_suite):
5927         Beef up the tests for parse syntax to check that more error cases
5928         fail as they are supposed to. Increases the test coverage a bit.
5929
5930 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5931
5932         * docs/manual/basics-elements.xml:
5933           Fix gst_element_link() example.
5934
5935         * gst/gstutils.c:
5936           Mention in API docs that one should usually gst_bin_add()
5937           elements to a bin or pipeline before doing the linking.
5938           
5939 2006-07-26  Wim Taymans  <wim@fluendo.com>
5940
5941         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
5942         (gst_subbuffer_get_type), (gst_buffer_create_sub):
5943         Avoid function call for known types by keeping the buffer and
5944         subbuffer GType global.
5945
5946         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5947         Random silly optimisations in read() path.
5948
5949 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5950
5951         * tools/gst-launch.c: (main):
5952           If the top-level of the parse is a normal bin, it doesn't do the
5953           right logic to run as a top-level element, so place it inside a
5954           pipeline.
5955
5956 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5957
5958         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
5959           Remove superfluous g_object_notify() calls, GObject does
5960           that for us automatically.
5961
5962 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * gst/gstinfo.h:
5965           on Win32, use dllspec to export the debug category symbols
5966
5967 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * gst/gsttaglist.c: (_gst_tag_initialize):
5970           Allow more than one GST_TAG_IMAGE per taglist.
5971
5972 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5973
5974         * gst/gstminiobject.c:
5975           update docs
5976         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
5977         (gst_fd_src_create):
5978           log recurring events at LOG level
5979           add more debug for when the fd gets set
5980
5981 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * gst/gstparse.c: (gst_parse_launch):
5984           Also remove reentrance checks if flex is MT safe (#348179)
5985          Fix my empty ChangeLog entry below
5986
5987 2006-07-21  Andy Wingo  <wingo@pobox.com>
5988
5989         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
5990
5991         * libs/gst/check/Makefile.am
5992         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
5993         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
5994         * libs/gst/check/gstbufferstraw.h:
5995         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
5996         functions, thus proving I am still a GStreamer haxor. OK I wrote
5997         them a long time ago, but anyways.
5998
5999 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
6000
6001         * configure.ac:
6002         * gst/gstparse.c: (gst_parse_launch):
6003           Check for flex version and omit mutex if we have a MT save flex
6004           (fixes #348179)
6005
6006 2006-07-21  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/gstparse.c: (gst_parse_launch):
6009         Protect recursive calls to _parse with a recursive mutex
6010         and busy flag.
6011
6012 2006-07-21  Wim Taymans  <wim@fluendo.com>
6013
6014         * tests/check/gst/gstpad.c: (GST_START_TEST):
6015         Fix leak in test.
6016
6017 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * gst/gstparse.c: (gst_parse_launch):
6020           Do not hang on recursive usage of gst_parse_launch()
6021
6022 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6023
6024         * gst/gsttaglist.c:
6025           Add some more docs, comments and FIXME 0.11s here and there
6026           and also fix some typos.
6027
6028 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6029
6030         * gst/gstsegment.h:
6031           Convert tabs to spaces for better readability. 
6032
6033 2006-07-20  Edward Hervey  <edward@fluendo.com>
6034
6035         * tests/check/libs/gdp.c: (gst_dp_suite):
6036         the test_buffer test fails at line 140 on ppc64 at the following
6037         check:
6038         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
6039                 GST_BUFFER_FLAG_IN_CAPS),
6040                 "GST_BUFFER_IN_CAPS flag should have been copied !");
6041         See bug #348114 for more details.
6042
6043 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * docs/pwg/advanced-scheduling.xml:
6046         * gst/gstpad.c:
6047           Fix typos (#348000).
6048
6049 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
6050
6051         * docs/pwg/intro-basics.xml:
6052           Fix wrong links (#347927).
6053
6054 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
6055
6056         * gst/gstregistry.h:
6057         * gst/gstregistryxml.c: (load_feature),
6058         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
6059         * win32/common/config.h:
6060           make --disable-index work (#342564)
6061
6062 2006-07-18  Wim Taymans  <wim@fluendo.com>
6063
6064         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6065
6066         * gst/Makefile.am:
6067         * gst/gsttrace.h:
6068         The attached patch adds two missing defines to gsttrace.h when tracing
6069         is disabled.  It also corrects one existing define.
6070         Fixes #347756.
6071
6072 2006-07-17  Wim Taymans  <wim@fluendo.com>
6073
6074         * docs/gst/gstreamer-sections.txt:
6075         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
6076         * gst/gst.h:
6077         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
6078         Add two functions to check and change the SIGSEGV behaviour
6079         when loading plugins.
6080         Don't mess with the SIGSEGV handler when we were told not to.
6081         Fixes #347794.
6082         API: gst_segtrap_is_enabled
6083         API: gst_segtrap_set_enabled
6084
6085 2006-07-14  Wim Taymans  <wim@fluendo.com>
6086
6087         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6088         * tests/check/elements/filesrc.c: (GST_START_TEST):
6089         Revert fix for regression in #347408 after release.
6090
6091 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
6092
6093         Patch by: Antoine Tremblay <hexa00 at gmail com>
6094
6095         * gst/gstutils.c: (gst_element_unlink):
6096           Free iterator when done (#347311).
6097
6098         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6099           And add a test case for this.
6100
6101 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
6102
6103         * configure.ac:
6104         Bump nano back to CVS
6105
6106 === release 0.10.9 ===
6107
6108 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
6109
6110         * configure.ac:
6111           releasing 0.10.9, "On the road again"
6112
6113 2006-07-13  Wim Taymans  <wim@fluendo.com>
6114
6115         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6116         * tests/check/elements/filesrc.c: (GST_START_TEST):
6117         Revert pull-0 fix for release. Disable check. Fixes #347408.
6118
6119 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6120
6121         * libs/gst/dataprotocol/dataprotocol.c:
6122         (gst_dp_event_from_packet_1_0):
6123           Fixes #347337: failure to deserialize event packets with
6124           empty payload (only event type)
6125
6126 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6127
6128         * gst/Makefile.am:
6129           do not install a .c file in the header directory
6130
6131 2006-07-13  Edward Hervey  <edward@fluendo.com>
6132
6133         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6134         GhostPad no longer implicitely use the padtemplates of the targets.
6135         Fixes #347384
6136
6137 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
6138
6139         * gst/gstvalue.c: (gst_value_compare_list),
6140         (gst_value_compare_array), (_gst_value_initialize):
6141         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6142         Make GstValueArray comparison be order dependent as designed.
6143         Add checks for value lists and value array comparisons.
6144         Fixes #347221
6145
6146 2006-07-11  Edward Hervey  <edward@fluendo.com>
6147
6148         * gst/gstbin.c: (activate_pads),
6149         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
6150         (gst_bin_change_state_func):
6151         (de)activate src pads before calling state_change on the childs.
6152         This is to avoid the case where a src ghostpad is blocked (holding the
6153         stream lock), which would block the deactivation of the ghostpad's
6154         target pad.
6155         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
6156         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
6157         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
6158         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6159         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6160         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6161         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6162         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
6163         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
6164         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6165         (gst_ghost_pad_class_init),
6166         (gst_ghost_pad_internal_do_activate_push),
6167         (gst_ghost_pad_internal_do_activate_pull),
6168         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6169         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6170         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
6171         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
6172         GhostPads now create their internal GstProxyPad at creation (and not
6173         when they're linked, as it was being done previously).
6174         The internal and target pads are linked straight away.
6175         The data will also travel through the other pad in order to make
6176         pad blocking and probes non-hackish (the probe/block now really happens
6177         on the GhostPad and not on the target).
6178         * gst/gstpad.c: (gst_pad_set_blocked_async),
6179         (gst_pad_link_prepare), (gst_pad_push_event):
6180         Remove previous ghostpad cruft.
6181         * gst/gstutils.c: (gst_pad_add_data_probe),
6182         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6183         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6184         (gst_pad_remove_buffer_probe):
6185         Remove previous ghost pad cruft.
6186         Added more detailed debug statements.
6187         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6188         Fix the testsuite for refcounting changes.
6189         The comments about who has references were correct, but the refcount
6190         being checked wasn't the same (!?!).
6191
6192         Fixes #341029
6193
6194 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6195
6196         * docs/gst/gstreamer-sections.txt:
6197         * gst/gstconfig.h.in:
6198         More docs for configuration options, add docs to gtk-doc.
6199
6200 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6201
6202         * gst/Makefile.am:
6203         * gst/gstconfig.h.in:
6204         * win32/common/config.h:
6205         Fix build when disabling tracing (fixes #344016). Also start to document
6206         the defines that disable the sub-systems.
6207
6208 2006-07-10  Edward Hervey  <edward@fluendo.com>
6209
6210         * gst/gst.c: (ensure_current_registry_forking):
6211         let's make valgrind happy...
6212
6213 2006-07-09  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/gstelement.c: (activate_pads),
6216         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6217         Better pad activation code: Reset the collect value too on resync.
6218         Add some comments.
6219
6220 2006-07-09  Wim Taymans  <wim@fluendo.com>
6221
6222         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
6223         (gst_pad_activate_push):
6224         Use some more macros where it makes sense.
6225         Allow pad mode switching instead of asserting. When a pad
6226         is activated in one mode and we activate it in another, 
6227         deactivate it first before activating it in a different mode.
6228         Fixes #329198.
6229
6230 2006-07-08  Andy Wingo  <wingo@pobox.com>
6231
6232         * tools/gst-launch.c (main): Handle err == NULL.
6233
6234         * gst/gst.c (init_post, ensure_current_registry)
6235         (ensure_current_registry_forking)
6236         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
6237         factoring out the registry scanning into separate functions. Don't
6238         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
6239         Better environment var name/interface suggestions accepted.
6240
6241 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6242
6243         * gst/gstobject.c: (gst_object_set_name_default),
6244         (gst_object_set_name):
6245           Random micro-optimisation: don't use a hash table
6246           with strings as keys and the usual strdup/strcmp
6247           involved, but rather just use the GQuark of the
6248           type name as key, since it needs to be looked up
6249           anyway to get the type name string.
6250
6251         * tests/check/gst/gstobject.c: (GST_START_TEST):
6252           Fix various leaks.
6253
6254 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6255
6256         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
6257         (gst_bin_iterate_all_by_interface):
6258           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
6259           GTypes are gulongs and thus the top 4 bytes might be cut
6260           off on some platforms when doing GPOINTER_TO_INT, leading
6261           to invalid GTypes and bad things happening (see RH bug #179654).
6262           Also add a check to make sure the type passed in is really
6263           an interface type.
6264
6265 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6266
6267         * .cvsignore:
6268           Ignore more.
6269
6270 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6271
6272         * Makefile.am:
6273         * configure.ac:
6274         * gst-element-check.m4:
6275         * gst-element-check.m4.in:
6276           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
6277           instead of the unversioned gst-inspect (#324176, #168659).
6278
6279 2006-07-06  Wim Taymans  <wim@fluendo.com>
6280
6281         * gst/gstmessage.h:
6282         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
6283         warnings.
6284
6285 2006-07-06  Wim Taymans  <wim@fluendo.com>
6286
6287         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6288         (gst_base_src_wait), (gst_base_src_update_length),
6289         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
6290         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
6291         (gst_base_src_loop), (gst_base_src_start),
6292         (gst_base_src_activate_pull):
6293         Update docs.
6294         blocksize == 0 now means the default blocksize when working in push
6295         based mode.
6296         Remove some pointless asserts in _wait function.
6297         Fix offset/length calculations and EOS handling. We can now pull 0
6298         bytes as well, which is allowed.
6299         use _check_get_range() to decide if we can operate in _pull based
6300         mode.
6301         Fix refcounting leak when check_get_range function was not 
6302         implemented.
6303         API GstBaseSrc::blocksize range can be 0 too now (default)
6304
6305         * tests/check/elements/filesrc.c: (GST_START_TEST),
6306         (filesrc_suite):
6307         Added check to test _get_range() behaviour.
6308
6309 2006-07-06  Wim Taymans  <wim@fluendo.com>
6310
6311         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6312         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
6313         (gst_pad_pull_range):
6314         * gst/gstpad.h:
6315         Lots of comments and docs added to the pad functions.
6316         Flesh out the expected behaviour of the get_range() functions.
6317
6318 2006-07-06  Wim Taymans  <wim@fluendo.com>
6319
6320         * gst/gstbus.h:
6321         * gst/gstclock.h:
6322         * gst/gstevent.h:
6323         * gst/gstiterator.h:
6324         * gst/gstpad.h:
6325         * gst/gstplugin.h:
6326         * gst/gsttask.h:
6327         Remove comma at end of enumerator list. 
6328
6329 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
6330
6331         * win32/common/libgstbase.def:
6332         * win32/common/libgstdataprotocol.def:
6333         * win32/common/libsgtreamer.def:
6334         Add new exported functions.
6335
6336 2006-07-05  Wim Taymans  <wim@fluendo.com>
6337
6338         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
6339         Add some more docs here and there.
6340
6341 2006-07-05  Wim Taymans  <wim@fluendo.com>
6342
6343         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
6344         (gst_base_sink_loop), (gst_base_sink_get_position):
6345         When operating in pull mode update the offset so that we
6346         read sequentially.
6347
6348 2006-07-05  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/gstregistryxml.c: (read_string):
6351         Avoid strdup. (will happen in libxml, but hey!)
6352
6353         * gst/gsturi.c:
6354         Add some more docs.
6355
6356 2006-07-05  Wim Taymans  <wim@fluendo.com>
6357
6358         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
6359         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6360         (gst_buffer_suite):
6361         No point in checking if the size of the subbuffer > 0, the
6362         code handles it correclty as demonstrated by unit test.
6363         Also add a unit test for the zero sized _new_and_alloc and
6364         _copy. Fixes #346663.
6365
6366 2006-07-05  Wim Taymans  <wim@fluendo.com>
6367
6368         * libs/gst/base/gstbasetransform.c:
6369         (gst_base_transform_prepare_output_buffer),
6370         (gst_base_transform_buffer_alloc),
6371         (gst_base_transform_handle_buffer):
6372         Make sure the buffer we pass to transform_ip has a refcount of
6373         1 and thus is writable. Fixes #343196
6374
6375 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
6376
6377         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6378         (gst_file_src_init), (gst_file_src_set_property),
6379         (gst_file_src_get_property), (gst_file_src_map_region):
6380         * plugins/elements/gstfilesrc.h:
6381         Add "sequential" property, off by default, to use madvise and hint
6382         to the kernel that sequential access is desired.
6383         Touch all retrieved pages by default to ensure they are pulled
6384         into memory. (Closes #345720)
6385
6386 2006-07-03  Wim Taymans  <wim@fluendo.com>
6387
6388         * docs/design/part-block.txt:
6389         * docs/design/part-dynamic.txt:
6390         Small docs updates.
6391
6392 2006-07-03  Wim Taymans  <wim@fluendo.com>
6393
6394         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
6395         (gst_caps_unref), (gst_static_caps_get),
6396         (gst_caps_append_structure):
6397         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
6398         Use GSlice when the glib we build against is >= 2.10
6399
6400 2006-07-03  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/gstelement.c: (gst_element_pads_activate):
6403         Small cleanup in pad activation code.
6404
6405 2006-07-03  Wim Taymans  <wim@fluendo.com>
6406
6407         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6408
6409         * gst/gst-i18n-app.h:
6410         * gst/gst-i18n-lib.h:
6411         * tools/gst-inspect.c: (print_signal_info):
6412         The attached patch will make the inclusion of gettext.h unconditional in
6413         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
6414         libintl.h in tools/gst-inspect.c.
6415         This allows use of --disable-nls again and fixes #344642.
6416
6417 2006-07-03  Edward Hervey  <edward@fluendo.com>
6418
6419         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
6420         Implement pad blocking on events according to part-block.txt.
6421         More comments on behaviour.
6422         * tests/check/gst/gstevent.c: (test_event):
6423         Send event to peer pad of blocked pad (else it will block).
6424
6425 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * libs/gst/check/gstcheck.c: (gst_check_message_error),
6428         (gst_check_run_suite):
6429           if we get the wrong message, give us the types as string
6430         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6431           Fix a translatable
6432         * tests/check/elements/filesrc.c: (GST_START_TEST):
6433           add a test for trying to open a non-existing file
6434
6435 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6436
6437         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6438           add a test for adding self
6439
6440 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * libs/gst/check/gstcheck.h:
6443           add some assert_ as alias for fail_unless_*
6444         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
6445           increase test coverage
6446
6447 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6448
6449         * Makefile.am:
6450           include lcov.mak for lcov coverage generation
6451         * tools/Makefile.am:
6452           add to CLEANFILES
6453
6454 2006-07-02  Edward Hervey  <edward@fluendo.com>
6455
6456         * tests/check/elements/.cvsignore:
6457         moaping
6458
6459 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6460
6461         * configure.ac:
6462           don't set CFLAGS and friends for gcov, done from GST_GCOV now
6463         * tests/check/Makefile.am:
6464           clean up gcov files
6465
6466 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
6469           remove gst_caps_simplify; it was not declared and not used
6470           and deprecated in 0.8
6471
6472 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * docs/faq/gst-uninstalled:
6475           don't put empty paths on PYTHONPATH
6476         * docs/gst/gstreamer-sections.txt:
6477           remove some symbols that are not there
6478
6479 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6480
6481         * gst/gstcaps.c: (gst_caps_compare_structures):
6482           whitespace fixes
6483         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6484         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6485           add more tests
6486
6487 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * libs/gst/dataprotocol/Makefile.am:
6490           build dataprotocol test by linking to the lib, instead of
6491           compiling the source, so we get coverage
6492         * tests/check/Makefile.am:
6493         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
6494         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
6495           add a test for filesrc
6496
6497 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6498
6499         * tests/check/gst/gststructure.c: (GST_START_TEST),
6500         (gst_structure_suite):
6501           Push coverage from 59.04% to 70.00%
6502
6503 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6504
6505         * tests/check/Makefile.am:
6506           gst-inspect every element; this makes sure that we also get
6507           coverage on element's get/set functions
6508
6509 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6510
6511         * configure.ac:
6512           set CFLAGS and friends to -O0 if gcov is being used
6513           add GCOV LIBS
6514         * gst/Makefile.am:
6515         * libs/gst/base/Makefile.am:
6516         * libs/gst/check/Makefile.am:
6517         * libs/gst/controller/Makefile.am:
6518         * libs/gst/dataprotocol/Makefile.am:
6519         * libs/gst/net/Makefile.am:
6520         * plugins/elements/Makefile.am:
6521         * plugins/indexers/Makefile.am:
6522           add makefile rules to generate gcov data and clean up
6523         * tests/check/Makefile.am:
6524           add a coverage target that generates an html overview
6525           of coverage data
6526
6527 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * tests/check/elements/fakesink.c:
6530         * tests/check/elements/fakesrc.c:
6531         * tests/check/elements/fdsrc.c:
6532         * tests/check/elements/identity.c:
6533         * tests/check/generic/sinks.c: (gst_sinks_suite):
6534         * tests/check/generic/states.c:
6535         * tests/check/gst/gst.c:
6536         * tests/check/gst/gstabi.c:
6537         * tests/check/gst/gstbin.c:
6538         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
6539         * tests/check/gst/gstbus.c: (gst_bus_suite):
6540         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6541         * tests/check/gst/gstelement.c:
6542         * tests/check/gst/gstevent.c: (gst_event_suite):
6543         * tests/check/gst/gstghostpad.c:
6544         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
6545         * tests/check/gst/gstmessage.c: (gst_message_suite):
6546         * tests/check/gst/gstminiobject.c:
6547         * tests/check/gst/gstobject.c:
6548         * tests/check/gst/gstpad.c:
6549         * tests/check/gst/gstpipeline.c:
6550         * tests/check/gst/gstplugin.c:
6551         * tests/check/gst/gstquery.c: (gst_query_suite):
6552         * tests/check/gst/gstsegment.c: (gst_segment_suite):
6553         * tests/check/gst/gststructure.c:
6554         * tests/check/gst/gstsystemclock.c:
6555         * tests/check/gst/gsttag.c:
6556         * tests/check/gst/gsttask.c: (gst_task_suite):
6557         * tests/check/gst/gstutils.c:
6558         * tests/check/gst/gstvalue.c:
6559         * tests/check/libs/adapter.c:
6560         * tests/check/libs/basesrc.c:
6561         * tests/check/libs/collectpads.c:
6562         * tests/check/libs/controller.c:
6563         * tests/check/libs/gdp.c: (gst_dp_suite):
6564         * tests/check/libs/gstnetclientclock.c:
6565         * tests/check/libs/gstnettimeprovider.c:
6566         * tests/check/libs/libsabi.c: (libsabi_suite):
6567         * tests/check/libs/typefindhelper.c:
6568         * tests/check/pipelines/cleanup.c:
6569         * tests/check/pipelines/parse-launch.c:
6570         * tests/check/pipelines/simple-launch-lines.c:
6571         * tests/check/pipelines/stress.c: (stress_suite):
6572           use the new macro
6573
6574 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6575
6576         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
6577         * libs/gst/check/gstcheck.h:
6578           create a macro and function so that the simple unit test
6579           case can be just one macro to create main()
6580
6581 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
6582
6583         * gst/gstbin.c: (gst_bin_restore_thyself):
6584         * gst/gstxml.c: (gst_xml_make_element):
6585           Fix deserialisation from XML. Set parent manually
6586           instead of using gst_bin_add(), since gst_bin_add()
6587           will unlink all pads of the element being added.
6588           Fixes #341667.
6589
6590 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
6591
6592         Patch by: Peter Kjellerstedt <pkj at axis com>
6593
6594         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
6595           Fix missing g_strdup() and double free when using the
6596           --gst-plugin-load command line option (#346097).
6597
6598 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         * gst/gstinfo.c:
6601           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
6602
6603         * libs/gst/net/gstnetclientclock.c:
6604         * libs/gst/net/gstnettimeprovider.c:
6605           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
6606
6607 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6608
6609         * docs/manual/advanced-dataaccess.xml:
6610           Fix buffer probe example compilation in
6611           ADM (#345708).
6612         
6613 2006-06-22  Edward Hervey  <edward@fluendo.com>
6614
6615         * gst/gstelement.c: (gst_element_pads_activate):
6616         We need to deactivate src pads first and then sink pads.
6617         The reason is the src pads might be blocking while holding the streaming
6618         lock, so we need to deactivate them first so that deactivating the sink
6619         pads doesn't block (since it will require the streaming lock).
6620
6621 2006-06-22  Wim Taymans  <wim@fluendo.com>
6622
6623         * libs/gst/base/gstbasetransform.c:
6624         (gst_base_transform_buffer_alloc):
6625         Forgot to remove two unneeded unrefs.
6626         Simplify a check _is_equal allready checks the obvious case.
6627
6628 2006-06-22  Wim Taymans  <wim@fluendo.com>
6629
6630         * docs/design/part-block.txt:
6631         Some docs about what pad_block should do.
6632
6633 2006-06-22  Wim Taymans  <wim@fluendo.com>
6634
6635         * gst/gstcaps.c: (gst_caps_replace):
6636         Fix crasher when passed NULL. Doc clarification.
6637         Optimize for the trivial case.
6638
6639         * gst/gstpipeline.c: (gst_pipeline_change_state):
6640         Small cleanups.
6641
6642         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6643         Small documentation cleanup.
6644
6645         * libs/gst/base/gstbasetransform.c:
6646         (gst_base_transform_buffer_alloc):
6647         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
6648         is what we need and it avoids a whole lot of redundant 
6649         refcount operations.
6650
6651 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
6652
6653         Patch by: Philip Jägenstedt  <philip at lysator liu se>
6654
6655         * docs/manual/advanced-dataaccess.xml:
6656           Fix 'Embedding static elements' section to use
6657           GST_PLUGIN_DEFINE_STATIC (#345607).
6658
6659 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6660
6661         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
6662           Attempt to 'fix' spuriously failing test case: it seems like the
6663           timeout of half a second is simply too small when the system is under
6664           load otherwise, and the timeout doesn't really seem to serve any
6665           particular purpose here. Give the pipeline a few seconds to preroll
6666           first, and then give it another half a second to go from PAUSED to
6667           PLAYING and marshal the message into the main thread.
6668
6669 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6670
6671         * tools/gst-feedback-m.m:
6672           Don't only use unversioned tools, try versioned tools as well
6673           (#345086).
6674
6675 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6676
6677         * gst/gstbus.c: (gst_bus_class_init):
6678           Fix some typos, make docs more explicit.
6679
6680 2006-06-20  Wim Taymans  <wim@fluendo.com>
6681
6682         * tests/check/gst/gstghostpad.c: (block_callback),
6683         (GST_START_TEST), (gst_ghost_pad_suite):
6684         Added some more ghostpad tests, mainly blocking
6685         and probes.
6686
6687 2006-06-16  Wim Taymans  <wim@fluendo.com>
6688
6689         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6690         (gst_file_sink_close_file), (gst_file_sink_do_seek),
6691         (gst_file_sink_event), (gst_file_sink_render):
6692         * plugins/elements/gstfilesink.h:
6693         Check if we can seek in the file instead of assuming
6694         we always can. Post an error when we are asked to seek in a
6695         non-seekable file (like a fifo). Fixes #343312.
6696         Some cleanups.
6697
6698 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6699
6700         * tools/gst-launch.1.in:
6701           Un-garble (fourcc) bit in filtered caps section.
6702
6703 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6704
6705         * docs/manual/advanced-autoplugging.xml:
6706         * docs/manual/basics-helloworld.xml:
6707         * docs/manual/highlevel-components.xml:
6708           Don't leak bus reference in sample code.
6709
6710 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
6711
6712         * autogen.sh:
6713           Add default for new --enable-plugin-docs switch.
6714
6715         * configure.ac:
6716           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
6717           Fixes #344039.
6718
6719         * docs/Makefile.am:
6720           Use new ENABLE_PLUGIN_DOCS conditional.
6721
6722 2006-06-14  Wim Taymans  <wim@fluendo.com>
6723
6724         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
6725         Make it clear with a FIXME and a real define what the #if 0
6726         previously disabled.
6727
6728 2006-06-14  Wim Taymans  <wim@fluendo.com>
6729
6730         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6731         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6732         * libs/gst/base/gstbasetransform.c:
6733         (gst_base_transform_sink_eventfunc):
6734         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6735         Don't randomly and silently reset a segment when the format 
6736         changes as this is a bug somewhere upstream. Fixes #330379.
6737
6738 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6739
6740         Patch by: Wouter Paesen  <wouter at kangaroot net>
6741
6742         * libs/gst/controller/gstcontroller.c:
6743         (gst_controlled_property_new):
6744           Fix controlling of float properties (#344849).
6745
6746         * tests/check/libs/controller.c:
6747         (gst_test_mono_source_get_property),
6748         (gst_test_mono_source_set_property),
6749         (gst_test_mono_source_class_init), (GST_START_TEST):
6750           While we're at it, add some float stuff to unit test.
6751
6752 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6753
6754         * docs/README:
6755         * docs/images/gdp-header.svg:
6756           add a gdp image
6757         * docs/libs/Makefile.am:
6758         * docs/libs/gdp-header.png:
6759         * libs/gst/dataprotocol/dataprotocol.c:
6760           add it to the API docs
6761         * docs/manual/intro-motivation.xml:
6762           fix typo
6763
6764 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6765
6766         * gst/gst.c: (scan_and_update_registry), (init_post):
6767           If the fork()'ed child process can't write the updated registry cache
6768           file to disk for some reason, make it exit with a failure exit code,
6769           so that the parent can then re-scan the plugins itself and update the
6770           registry structures in memory and work with that (rather than failing
6771           when creating elements because seemingly no plugins are available).
6772           Refactor registry scanning code into separate function for this and
6773           also separate fork() and non-fork() code paths. Fixes #344748.
6774
6775 2006-06-13  Wim Taymans  <wim@fluendo.com>
6776
6777         * docs/manual/advanced-dataaccess.xml:
6778         Fix wrong PluginDesc. Fixes #344755.
6779
6780 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6781
6782         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6783           Fix silly bug that prevented us from creating
6784           ~/.gstreamer-0.10 and writing the registry in one
6785           go (the first call to g_mkstemp() would overwrite the
6786           placeholder in the template string, so the second call
6787           to g_mkstemp() after creating the missing directory
6788           would then error out with 'invalid argument').
6789
6790 2006-06-13  Edward Hervey  <edward@fluendo.com>
6791
6792         * gst/gst.c: (init_post):
6793         Free string.
6794
6795 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * gst/glib-compat-private.h:
6798         * gst/glib-compat.c:
6799         * gst/glib-compat.h:
6800         * gst/gstvalue.c: (gst_value_serialize_flags):
6801           remove GLib 2.6 compatibility code
6802
6803 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
6804
6805         * gst/parse/Makefile.am:
6806           Fix build with 'make -j N' even more (#340016).
6807
6808 2006-06-12  Wim Taymans  <wim@fluendo.com>
6809
6810         * docs/gst/gstreamer-sections.txt:
6811         Fix docs.
6812
6813 2006-06-12  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/gstsegment.c: (gst_segment_set_duration),
6816         (gst_segment_set_last_stop), (gst_segment_set_seek),
6817         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6818         (gst_segment_to_running_time), (gst_segment_clip):
6819         Use G_UNLIKELY to help the compiler a bit.
6820
6821 2006-06-12  Wim Taymans  <wim@fluendo.com>
6822
6823         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6824
6825         * gst/gstevent.c: (gst_event_get_type):
6826         * gst/gstmessage.c:
6827         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6828         (gst_pad_push):
6829         constify quark registration strings. Fixes #344115
6830         Avoid unneeded type checking is _pad_push() by internally
6831         calling gst_pad_chain_unchecked().
6832
6833 2006-06-12  Wim Taymans  <wim@fluendo.com>
6834
6835         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
6836         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
6837         (gst_subbuffer_finalize), (gst_buffer_create_sub),
6838         (gst_buffer_is_span_fast), (gst_buffer_span):
6839         Init _type for consistency.
6840         Use _FLAGS macro to avoid type check.
6841         Avoid unneeded type checks in subbufer code.
6842
6843 2006-06-12  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/gst.c: (gst_debug_help):
6846         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
6847         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6848         (gst_plugin_feature_list_free):
6849         * gst/gstregistry.c: (gst_registry_add_plugin),
6850         (gst_registry_add_feature), (gst_registry_plugin_filter),
6851         (gst_registry_feature_filter), (gst_registry_find_plugin),
6852         (gst_registry_find_feature), (gst_registry_get_plugin_list),
6853         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
6854         * gst/gstregistryxml.c: (load_feature),
6855         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
6856         * gst/gstminiobject.c: (gst_mini_object_unref),
6857         (gst_mini_object_replace), (gst_value_mini_object_free),
6858         (gst_value_mini_object_copy):
6859         Use _CAST macros to avoid unneeded type checking.
6860         Added some more G_UNLIKELY.
6861
6862 2006-06-12  Wim Taymans  <wim@fluendo.com>
6863
6864         * gst/gstbuffer.h:
6865         Avoid unneeded type checking.
6866         API: GST_BUFFER_IS_DISCONT
6867
6868         * gst/gstminiobject.h:
6869         Avoid type check in flag accessor.
6870
6871         * gst/gstelementfactory.h:
6872         * gst/gstplugin.h:
6873         * gst/gstpluginfeature.h:
6874         Add _CAST macros.
6875         API: GST_ELEMENT_FACTORY_CAST
6876         API: GST_PLUGIN_CAST
6877         API: GST_PLUGIN_FEATURE_CAST
6878
6879 2006-06-12  Wim Taymans  <wim@fluendo.com>
6880
6881         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
6882         (gst_object_unref):
6883         Add G_UNLIKELY in type registration.
6884         Avoid type check in _ref/_unref since that is also
6885         done in glib.
6886
6887 2006-06-12  Wim Taymans  <wim@fluendo.com>
6888
6889         * gst/gsterror.c: (gst_g_error_get_type):
6890         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6891         (gst_static_pad_template_get_type):
6892         * gst/gsttaglist.c: (gst_tag_list_get_type):
6893         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
6894         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
6895         * gst/gsturi.c: (gst_uri_handler_get_type):
6896         * gst/gstvalue.c: (gst_date_get_type):
6897         * gst/gstxml.c: (gst_xml_get_type):
6898         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
6899         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6900         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
6901         Add G_UNLIKELY in type registration.
6902
6903 2006-06-12  Wim Taymans  <wim@fluendo.com>
6904
6905         * tools/gst-inspect.c: (print_signal_info):
6906         Properly print enum values.
6907
6908 2006-06-12  Wim Taymans  <wim@fluendo.com>
6909
6910         * gst/gstinfo.c: (gst_debug_set_active),
6911         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
6912         * gst/gstinfo.h:
6913         Add some G_[UN]LIKELY.
6914         Maintain __gst_debug_min to avoid formatting the arguments of
6915         debug messages that will be dropped anyway to avoid a lot of 
6916         overhead from the debugging system.
6917
6918 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6919
6920         * po/POTFILES.in:
6921         * po/POTFILES.skip:
6922           add missing files containing translatable strings, tell intltool about
6923           one exception
6924
6925 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6926
6927         * tests/check/libs/.cvsignore:
6928         add test-binary to ignore list
6929
6930 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6931
6932         * docs/libs/gstreamer-libs-docs.sgml:
6933         reorder (put dp into a chapter) and indent
6934
6935 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6936
6937         * configure.ac:
6938           back to HEAD
6939
6940 === release 0.10.8 ===
6941
6942 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
6943
6944         * configure.ac:
6945           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
6946
6947 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * gst/gst.c: (init_post):
6950           move pid declaration to declaration block
6951
6952 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6953
6954         * gst/gst.c: (init_post):
6955           use _exit() instead of exit() in our forked child; this ensures
6956           that none of the registered exit handlers from whatever is using
6957           GStreamer get executed.  This fixes gnome-mixer-applet failing
6958           to load, because ORBit would shut down.
6959           Spotted by: Edward Hervey  <edward@fluendo.com>
6960           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
6961           Fixes #344474
6962
6963 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * configure.ac:
6966           back to TRUNK
6967
6968 === release 0.10.7 ===
6969
6970 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
6971
6972         * configure.ac:
6973           releasing 0.10.7, "Soepeke, ik zie ou"
6974
6975 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6976
6977         * configure.ac:
6978         * po/af.po:
6979         * po/az.po:
6980         * po/bg.po:
6981         * po/ca.po:
6982         * po/cs.po:
6983         * po/de.po:
6984         * po/en_GB.po:
6985         * po/fr.po:
6986         * po/it.po:
6987         * po/nb.po:
6988         * po/nl.po:
6989         * po/ru.po:
6990         * po/sq.po:
6991         * po/sr.po:
6992         * po/sv.po:
6993         * po/tr.po:
6994         * po/uk.po:
6995         * po/vi.po:
6996         * po/zh_CN.po:
6997         * po/zh_TW.po:
6998         * win32/common/config.h:
6999           0.10.6.2 prerelease
7000
7001 2006-06-07  Wim Taymans  <wim@fluendo.com>
7002
7003         * gst/gstindex.c: (gst_index_gtype_resolver):
7004         * tools/gst-xmlinspect.c: (print_plugin_info):
7005         Fix leak spotted by coverity checker. Fixes #343827
7006         Fix another other leak found by paolo borelli.
7007
7008 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * libs/gst/dataprotocol/dataprotocol.c:
7011         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7012         (gst_dp_version_get_type), (gst_dp_init),
7013         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
7014         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
7015         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
7016         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
7017         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
7018         (gst_dp_packetizer_free):
7019         * libs/gst/dataprotocol/dataprotocol.h:
7020           API: add a GstDPPacketizer object, and create/free functions
7021           API: add GstDPVersion enum
7022           Add 1.0 event function that uses the string serialization
7023           Serialize more useful buffer flags
7024           Fixes #343988
7025
7026 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7027
7028         * tests/check/Makefile.am:
7029         * tests/check/gst/gstabi.c:
7030         * tests/check/gst/struct_ppc64.h:
7031         * tests/check/libs/libsabi.c:
7032         * tests/check/libs/struct_ppc64.h:
7033           add ppc64 structure sizes
7034
7035 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7036
7037         * tests/check/Makefile.am:
7038         * tests/check/gst/gstabi.c:
7039         * tests/check/gst/struct_x86_64.h:
7040         * tests/check/libs/libsabi.c:
7041         * tests/check/libs/struct_x86_64.h:
7042           generate and add structure size lists for x86_64
7043
7044 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7047         * libs/gst/check/gstcheck.h:
7048           factor out the method from tests that checks size of structures,
7049           and add code to generate the header containing these sizes
7050         * tests/check/gst/gstabi.c: (GST_START_TEST):
7051         * tests/check/gst/struct_i386.h:
7052         * tests/check/libs/libsabi.c: (GST_START_TEST):
7053         * tests/check/libs/struct_i386.h:
7054           use it
7055
7056 2006-06-06  Michael Smith  <msmith@fluendo.com>
7057
7058         * gst/gstsegment.h:
7059           Don't use c++-style comments, fixes #343929
7060
7061 2006-06-05  Edward Hervey  <edward@fluendo.com>
7062
7063         * gst/gst.c:
7064         plugin_paths is not used if we build without registry support.
7065
7066         * gst/gstsegment.c: (gst_segment_copy): 
7067         _copy() was always returning NULL...
7068
7069 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * libs/gst/dataprotocol/dataprotocol.c:
7072         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7073         (gst_dp_packet_from_event):
7074           factor out CRC code
7075
7076 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7077
7078         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
7079           make sure we unset caps
7080
7081 2006-06-02  Michael Smith  <msmith@fluendo.com>
7082
7083         * libs/gst/check/gstcheck.c: (gst_check_init),
7084         (gst_check_chain_func):
7085         * libs/gst/check/gstcheck.h:
7086           Add a cond/mutex to the check support lib, signal this whenever we
7087           add to the buffers list. This will allow tests to not busy-wait on
7088           the buffer-list.
7089
7090 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7091
7092         * libs/gst/dataprotocol/dataprotocol.c:
7093         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7094         (gst_dp_packet_from_event):
7095           factor out some common header init code
7096
7097 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7098
7099         * docs/libs/gstreamer-libs-sections.txt:
7100         * docs/libs/tmpl/gstdataprotocol.sgml:
7101         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7102         * libs/gst/dataprotocol/dataprotocol.h:
7103           API: make gst_dp_crc() public
7104
7105 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7106
7107         * plugins/indexers/gstindexers.c: (plugin_init):
7108         conditionally register fileindexer (fixes #343598)
7109
7110 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7111
7112         * gst/gsttagsetter.h:
7113         Can't cast ifaces to a class
7114
7115         * libs/gst/net/gstnetclientclock.h:
7116         * libs/gst/net/gstnettimeprovider.h:
7117         * plugins/elements/gstfakesink.h:
7118         * plugins/elements/gstfakesrc.h:
7119         * plugins/elements/gstfdsink.h:
7120         * plugins/elements/gstfdsrc.h:
7121         * plugins/elements/gstfilesink.h:
7122         * plugins/elements/gstfilesrc.h:
7123         * plugins/elements/gstidentity.h:
7124         * plugins/elements/gstqueue.h:
7125         * plugins/elements/gsttee.h:
7126         * plugins/indexers/gstfileindex.c:
7127         * plugins/indexers/gstmemindex.c:
7128         * tests/old/examples/plugins/example.h:
7129         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
7130
7131 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * libs/gst/dataprotocol/dataprotocol.c:
7134         (gst_dp_header_from_buffer):
7135           make sure we zero the whole ABI-compatible area
7136
7137 2006-06-01  Wim Taymans  <wim@fluendo.com>
7138
7139         Patch by: Alessandro Decina <alessandro at nnva dot org>
7140
7141         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
7142         Make sure the EOS flag is cleared from pads after a flush
7143         or stop. Fixes #343538.
7144
7145         * tests/check/libs/collectpads.c: (GST_START_TEST),
7146         (gst_collect_pads_suite):
7147         Added test for collectpads reusage after EOS.
7148
7149 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
7150
7151         * gst/gst.c:
7152          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
7153         * win32/common/libgstbase.def:
7154          export gst_collect_pads_set_flushing
7155         * win32/common/libgstreamer.def:
7156          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
7157          gst_value_fraction_multiply
7158         * win32/vs6/gst_inspect.dsp:
7159          add a link to intl.lib
7160
7161 2006-05-30  Wim Taymans  <wim@fluendo.com>
7162
7163         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7164         (gst_collect_pads_chain):
7165         Handle the case where a pad is removed from the collection
7166         that could cause the other pads to become collectable.
7167
7168 2006-05-30  Wim Taymans  <wim@fluendo.com>
7169
7170         * gst/gstelement.c:
7171         Clarify the use of _release_request_pad() and
7172         _get_request_pad() a bit better.
7173
7174         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
7175         (gst_adapter_take_buffer):
7176         Fix some doc and comment typos.
7177
7178 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7179
7180         * docs/gst/gstreamer-sections.txt:
7181         * docs/libs/gstreamer-libs-sections.txt:
7182           add declared symbols
7183
7184 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
7185
7186         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7187         Add debug that can be enabled using a #define at the top of the file,
7188         for dumping stats about how late/early we were when waking up from
7189         waiting on the clock.
7190
7191 2006-05-30  Wim Taymans  <wim@fluendo.com>
7192
7193         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
7194         When rebuilding the pad list, don't leak the previous list.
7195
7196 2006-05-30  Wim Taymans  <wim@fluendo.com>
7197
7198         Patch by: Lutz Mueller <lutz at topfrose dot de>
7199
7200         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7201         (gst_base_src_get_query_types), (gst_base_src_update_length):
7202         Publish supported query types.
7203         Update last_stop field in get_range mode so the position
7204         query works. Fixes #342321.
7205
7206 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
7207
7208         * docs/gst/gstreamer-sections.txt:
7209         * gst/gsttaglist.c: (_gst_tag_initialize):
7210         * gst/gsttaglist.h:
7211           API: add GST_TAG_PREVIEW_IMAGE (#343341).
7212
7213 2006-05-30  Wim Taymans  <wim@fluendo.com>
7214
7215         Patch by: Alessandro Decina <alessandro at nnva dot org>
7216
7217         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7218         Unlock mutex when removing an unknown pad.
7219         Fixes #343334.
7220
7221         * tests/check/Makefile.am:
7222         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
7223         (push_event), (setup), (teardown), (GST_START_TEST),
7224         (gst_collect_pads_suite), (main):
7225         Added collecpads check, disabled for now as check crashes for
7226         some reason.
7227
7228 2006-05-29  Wim Taymans  <wim@fluendo.com>
7229
7230         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
7231         Don't leak pads lists.
7232
7233 2006-05-29  Wim Taymans  <wim@fluendo.com>
7234
7235         * docs/libs/gstreamer-libs-sections.txt:
7236         * libs/gst/base/gstcollectpads.c:
7237         (gst_collect_pads_set_flushing_unlocked),
7238         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7239         (gst_collect_pads_stop):
7240         * libs/gst/base/gstcollectpads.h:
7241         API: gst_collect_pads_set_flushing()
7242         Added api to set the pads to flushing, useful for seeking
7243         code in elements using collectpads.
7244         Clear segment when receiving a flush.
7245
7246 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
7247
7248         * gst/gst.c: (add_path_func), (init_post):
7249           Don't scan registry paths passed via --gst-plugin-path immediately
7250           (will crash, because absolutely nothing is set up and no types are
7251           registered etc.); do this later in init_post(). Fixes #343057.
7252
7253 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7254
7255         * gst/gst.c: (init_post):
7256           if we have fork, fork while reading/rebuilding the registry
7257           so the parent doesn't take the hit of having all plugins loaded
7258           in memory.  Fixes #342777.
7259         * configure.ac:
7260           Check if we have fork()
7261         * win32/common/config.h.in:
7262           no fork() on win32
7263
7264 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7265
7266         * plugins/elements/gstelements.c:
7267         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7268         (gst_file_src_init), (gst_file_src_set_property),
7269         (gst_file_src_get_property), (gst_file_src_start):
7270         * plugins/elements/gstfilesrc.h:
7271           API: GstFileSrc::use-mmap
7272
7273         Add a use-mmap property to enable easier testing of all code paths.
7274         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
7275         in the absence of gnomevfssrc. (Closes #340501)
7276
7277 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7278
7279         * tools/gst-inspect.c:
7280         Add missing include, removes warning of ngettext not being defined on
7281         some arches.
7282
7283 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7284
7285         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7286         Handle NULL input and output pointers silently as a failed conversion,
7287         rather than g_warnings.
7288
7289 2006-05-25  Wim Taymans  <wim@fluendo.com>
7290
7291         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
7292         Initialize variable before using. Fixes #342820.
7293
7294 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7295
7296         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
7297           Fix off-by-one bug that would only allow peeks of N-1 bytes
7298           from the start even if the buffer to typefind on contains
7299           in fact N bytes of data (makes vorbis typefinding from a
7300           vorbis identification header buffer work).
7301
7302         * tests/check/Makefile.am:
7303         * tests/check/libs/.cvsignore:
7304         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
7305         (gst_typefindhelper_suite), (main), (foobar_typefind),
7306         (plugin_init):
7307           Add very basic unit test for gst_type_find_helper_for_buffer()
7308           that checks for the problem fixed above.
7309
7310 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * tools/gst-inspect.c: (print_interfaces),
7313         (print_element_properties_info), (print_element_list), (main):
7314           add more translatable strings
7315
7316 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
7317
7318         Patch by: Julien Moutte  <julien at moutte net>
7319
7320         * docs/gst/gstreamer-sections.txt:
7321           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
7322           
7323         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7324         (gst_fake_sink_preroll):
7325         * plugins/elements/gstfakesink.h:
7326           API: Add new GstFakeSink::preroll-handoff signal (#337100).
7327
7328 2006-05-23  Wim Taymans  <wim@fluendo.com>
7329
7330         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
7331         * gst/gstpad.h:
7332         Added _CUSTOM error and success GstFlowReturn that can be
7333         used be elements internally. 
7334         Added macro to check for SUCCESS flowreturns.
7335         API: GST_FLOW_CUSTOM_SUCCESS
7336         API: GST_FLOW_CUSTOM_ERROR
7337         API: GST_FLOW_IS_SUCCESS
7338
7339         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7340         Added check for GstFlowReturn sanity.
7341
7342 2006-05-23  Wim Taymans  <wim@fluendo.com>
7343
7344         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7345
7346         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7347         (gst_collect_pads_event):
7348         clear/reset segment info in FLUSH_STOP.
7349         Fixes #336929.
7350
7351 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
7354         (gst_collect_pads_check_collected):
7355         Flush queued buffer on _stop(), fixes playing again (#342454)
7356
7357 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         * tests/check/gst/gststructure.c: (GST_START_TEST),
7360         (gst_structure_suite):
7361           add a test for a complete structure
7362
7363 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7364
7365         * docs/faq/developing.xml:
7366         * docs/faq/faq.xml:
7367         * docs/faq/troubleshooting.xml:
7368         * docs/faq/using.xml:
7369           Some minor FAQ updates that won't change the fact that
7370           our FAQ is badly structured, full of information hardly
7371           anyone new to GStreamer needs to know and lacking lots
7372           of information people constantly ask for.
7373           
7374 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
7375
7376         * gst/gstpad.c: (gst_pad_set_caps):
7377           Short-circuit gst_pad_set_caps if setting the existing
7378           caps pointer again, and avoid printing debug and 
7379           reffing/unreffing the caps.
7380
7381         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7382           There's actually no need to set the caps before pushing -
7383           the acceptcaps method will handle it anyway.
7384
7385 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7386
7387         * docs/gst/gstreamer-sections.txt:
7388         * win32/common/libgstreamer.def:
7389         * gst/gstutils.c: (gst_element_seek_simple):
7390         * gst/gstutils.h:
7391           API: add gst_element_seek_simple() (#342238).
7392
7393 2006-05-18  Edward Hervey  <edward@fluendo.com>
7394
7395         * gst/gsttypefind.c: (gst_type_find_get_type):
7396         * gst/gsttypefind.h:
7397         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
7398         registered for GstTypeFind pointers. This allows wrapping the structure
7399         in bindings (i.e. gst-python).
7400
7401 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7402
7403         * gst/gsttagsetter.c:
7404           Docs additions and fixes (see #339918).
7405
7406 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
7407
7408         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7409         The caps intersection algorithm can produce multiple copies of the
7410         caps. Until that is fixed, we need to simplify the result to be
7411         sure whether the allowed caps are fixed or not.
7412
7413         * plugins/elements/gstqueue.c: (gst_queue_init),
7414         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
7415         (gst_queue_push_one):
7416         Proxied buffer alloc should not set the caps on the source pad.
7417         When pushing buffers, we always accept the caps change that triggers.
7418         This prevents negotiation errors caused by caps changing mid-stream 
7419         and then being refused on our source pad (because upstream is now
7420         refusing those caps).
7421
7422 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7423
7424         * tests/examples/helloworld/helloworld.c: (main):
7425           Must plug audioconvert and audioresample between decoder
7426           and audio sink.
7427
7428 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
7429
7430         * gst/gstregistryxml.c: (read_string), (load_pad_template),
7431         (load_feature), (load_plugin):
7432         Allow empty strings for some of the plugin fields so we don't 
7433         drop valid plugin entries that were written out correctly
7434         (Fixes #341479)
7435
7436 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
7437         
7438         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
7439           Use g_remove and g_rename instead of remove and rename that don't 
7440           handle utf8 characters. rename was failing for users who had specific
7441           characters in their name then the registry was built at each 
7442           gstreamer init.
7443         * win32/vs6/gst_inspect.dsp:
7444         * win32/vs6/gst_launch.dsp:
7445         * win32/vs6/libgstbase.dsp:
7446         * win32/vs6/libgstcoreelements.dsp:
7447         * win32/vs6/libgstreamer.dsp:
7448           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
7449           build of libgstreamer and clean unused libraries in projects link 
7450           settings.
7451
7452 2006-05-17  Edward Hervey  <edward@fluendo.com>
7453
7454         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7455         The queue is not responsible for pushing an EOS when receiving a fatal
7456         flow error. It's up to the real element driving the pipeline to do that.
7457
7458 2006-05-16  Edward Hervey  <edward@fluendo.com>
7459
7460         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7461         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
7462         buffer returned a fatal error. It should just send an EOS and stop
7463         its task.
7464         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
7465         when pushing buffers on the queue and will be able to handle the event.
7466
7467 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7468
7469         * docs/manual/basics-bins.xml:
7470         * docs/manual/basics-init.xml:
7471           Fix typos and minor errors in sample code (#341856).
7472
7473 2006-05-16  Wim Taymans  <wim@fluendo.com>
7474
7475         * docs/design/part-qos.txt:
7476         Fix indexes in formulas to make more sense.
7477
7478 2006-05-15  Wim Taymans  <wim@fluendo.com>
7479
7480         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7481         Don't report POSITION based on clock time if sync is
7482         disabled in a sink.
7483
7484 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
7485
7486         * gst/gstobject.h:
7487           Add cast to make compiler happy - refcount variable was a gint
7488           in GstObject but is a guint in GObject and g_atomic_int_get()
7489           wants a gint *.
7490
7491 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         * gst/parse/Makefile.am:
7494           chain commands using &&, which also makes parallel make work
7495
7496 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
7497
7498         * docs/gst/gstreamer-sections.txt:
7499         * gst/gstevent.c:
7500         * gst/gstevent.h:
7501         * gst/gstmessage.h:
7502           Minor docs fixes.
7503
7504 === release 0.10.6 ===
7505
7506 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
7507
7508         * configure.ac:
7509           releasing 0.10.6, "Take the cannoli"
7510
7511 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
7512
7513         * tools/gst-launch.c: (print_tag):
7514           Fix use of uninitialized variable in the hypothetical
7515           case that some broken plugin creates a GST_TAG_IMAGE
7516           tag containing a NULL buffer (#341667).
7517
7518 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
7519
7520         * tools/gst-launch.c: (print_tag):
7521           Print something more intelligible for image tags when
7522           using the -t switch (#341556).
7523
7524 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * Makefile.am:
7527           updates for win32
7528         * configure.ac:
7529           define GST_MAJORMINOR so we have it available in win32/common/config.h
7530           Possibly remove it from our Makefile.am files later
7531         * win32/common/config.h:
7532         * win32/common/config.h.in:
7533           added GST_MAJORMINOR
7534         * win32/common/gstenumtypes.c: (register_gst_resource_error):
7535         * win32/common/gstversion.h:
7536           updated
7537
7538 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
7539
7540         * win32/MANIFEST:
7541           Update win32 files listing.
7542         * win32/common/gstversion.h:
7543           Add GST_MAJORMINOR definition.
7544         * win32/common/libgstreamer.def:
7545           Add new exported functions.
7546           
7547 2006-05-12  Michael Smith  <msmith@fluendo.com>
7548
7549         * gst/gstplugin.c: (gst_plugin_load_file):
7550           If an so file has no plugin entry point, unload the module.
7551
7552 2006-05-11  Wim Taymans  <wim@fluendo.com>
7553
7554         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
7555         (gst_queue_set_property):
7556         Don't forget to signal the _chain or _loop function 
7557         when the queue size or thresholds change since that might
7558         cause them to make progres again.
7559
7560 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
7561
7562         * gst/gstclock.c: (gst_clock_class_init):
7563         * gst/gstindex.c: (gst_index_class_init):
7564         * gst/gstobject.c: (gst_object_class_init):
7565         * gst/gstpad.c: (gst_pad_class_init):
7566         * gst/gstpipeline.c: (gst_pipeline_class_init):
7567         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7568         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
7569         * libs/gst/base/gstbasetransform.c:
7570         (gst_base_transform_class_init):
7571         * libs/gst/net/gstnetclientclock.c:
7572         (gst_net_client_clock_class_init):
7573         * libs/gst/net/gstnettimeprovider.c:
7574         (gst_net_time_provider_class_init):
7575         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
7576         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7577         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7578         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
7579         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7580         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7581         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7582         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7583         * plugins/elements/gsttee.c: (gst_tee_class_init):
7584         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7585         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7586           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
7587
7588 2006-05-11  Wim Taymans  <wim@fluendo.com>
7589
7590         * gst/gstbuffer.c: (_gst_buffer_initialize):
7591         Register subbufer along with the buffer type so that
7592         it does not accidentally gets registered from N
7593         different streaming threads in a non threadsafe way.
7594
7595 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * gst/gstbuffer.h:
7598         * gst/gstevent.h:
7599         * gst/gstmessage.h:
7600           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
7601           gst_event_ref() and gst_message_ref() functions again
7602           (ugly hack, please do fix if there's a better way besides
7603           overrides.txt, which doesn't seem to work).
7604
7605 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7606
7607         * libs/gst/check/gstcheck.h:
7608           add an assert for setting state to avoid lots of repetitive code
7609           in the future
7610
7611 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7612
7613         * gst/gstvalue.c: (gst_value_serialize_flags):
7614           fix a leak if no flags are set
7615         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7616           fix leak in tests
7617
7618 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * docs/manual/basics-pads.xml:
7621           Expand a bit on caps and filtered links and update
7622           examples that were still using the no longer existing
7623           gst_pad_link_filtered() (#338206).
7624
7625 2006-05-10  Wim Taymans  <wim@fluendo.com>
7626
7627         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7628         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7629         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7630         (gst_collect_pads_stop):
7631         * libs/gst/base/gstcollectpads.h:
7632         No need to call _stop in _finalize.
7633         Iterate the main pad list in _finalize.
7634         Added some more debug.
7635         Free lists and data in the right order.
7636         Also free data whem doing _remove_pad when stopped for
7637         backward compatibility protect ::started with PAD_LOCK as
7638         well.
7639
7640 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7641
7642         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
7643         (gst_structure_parse_value):
7644           add some comments
7645           rename a method so that it actually says what it does better
7646
7647 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7648
7649         * gst/gstevent.c: (_gst_event_initialize):
7650         * gst/gstformat.c: (_gst_format_initialize):
7651           make sure some essential types used by events are registered
7652           as part of gst_init()
7653         * gst/gstvalue.c: (gst_value_serialize_flags):
7654           if no flags are set, serialize them to a value that represents NONE
7655           so that deserializing them works
7656         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7657           add tests for serialization and deserialization of flags
7658
7659 2006-05-10  Wim Taymans  <wim@fluendo.com>
7660
7661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
7662         (gst_collect_pads_collect_range), (gst_collect_pads_available),
7663         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
7664         (gst_collect_pads_event), (gst_collect_pads_chain):
7665         Update docs.
7666         Better debug info.
7667         Catch and return errors from the collect function
7668         Refuse data on eos pads.
7669
7670 2006-05-10  Edward Hervey  <edward@fluendo.com>
7671
7672         * gst/gstinterface.h:
7673         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
7674         GInterface type checking.
7675         They were previously using non-defined macros.
7676
7677 2006-05-09  Wim Taymans  <wim@fluendo.com>
7678
7679         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
7680         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
7681         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
7682         (gst_collect_pads_start), (gst_collect_pads_stop),
7683         (gst_collect_pads_peek), (gst_collect_pads_pop),
7684         (gst_collect_pads_available), (gst_collect_pads_read),
7685         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
7686         (gst_collect_pads_is_collected), (gst_collect_pads_event),
7687         (gst_collect_pads_chain):
7688         * libs/gst/base/gstcollectpads.h:
7689         Clean up the mess that is collectpads, add comments and
7690         FIXMEs where needed.
7691         Maintain a separate pad list so we can add pads while
7692         collecting the other ones. For this we need a new separate 
7693         lock (see comics).
7694         Fix memory leak in finalize.
7695         Refactor some weird code to set/unset pad flushing flags, mark
7696         with comments.
7697         Don't crash in _available, _read, _flush when we're EOS.
7698
7699         * tests/check/libs/.cvsignore:
7700         Ignore adapter check binary.
7701
7702 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7703
7704         * gst/gstindex.c: (gst_index_resolver_get_type):
7705         * plugins/elements/gstfakesink.c:
7706         (gst_fake_sink_state_error_get_type):
7707         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7708         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
7709         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7710           Const-ify GEnumValue arrays.
7711
7712 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7713
7714         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7715           Add test case for flags + gst_buffer_make_metadata_writable().
7716
7717 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7718
7719         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
7720           gst_buffer_make_metadata_writable() should maintain the
7721           buffer flags (those that make sense at least) (see #340859).
7722
7723 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         * tools/gst-inspect.c:
7726         * tools/gst-launch.c:
7727         * tools/gst-typefind.c:
7728         * tools/gst-xmlinspect.c:
7729         * tools/tools.h:
7730           Fix up includes: need to include stdlib.h in tools.h for exit().
7731
7732 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7733
7734         * gst/gsttaglist.c: (_gst_tag_initialize):
7735         * gst/gsttaglist.h:
7736           API: add GST_TAG_IMAGE tag (#340721).
7737
7738 2006-05-08  Wim Taymans  <wim@fluendo.com>
7739
7740         * gst/gstquery.c:
7741         Added some docs for the segment query.
7742
7743 2006-05-08  Wim Taymans  <wim@fluendo.com>
7744
7745         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7746         (gst_base_src_loop), (gst_base_src_change_state):
7747         Always push non-flushing serialized events in the streaming 
7748         thread.
7749
7750 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gsterror.c: (_gst_stream_errors_init):
7753           Add a missing error string.
7754
7755 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
7756
7757         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
7758         Add applied_rate to the debug
7759
7760         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7761         Copy applied_rate into the outgoing NEWSEGMENT event
7762
7763 2006-05-08  Wim Taymans  <wim@fluendo.com>
7764
7765         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
7766
7767         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7768         (gst_base_sink_change_state):
7769         call ::unlock before taking the PREROLL_LOCK so we can safely
7770         handle elements that lock in ::render.
7771         Fixes #340174.
7772
7773 2006-05-08  Edward Hervey  <edward@fluendo.com>
7774
7775         * autogen.sh: (CONFIGURE_DEF_OPT): 
7776         Darwin's libtoolize is in fact called glibtoolize.
7777         Adding glibtoolize to the list of accepted names for libtoolize.
7778
7779 2006-05-08  Wim Taymans  <wim@fluendo.com>
7780
7781         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7782         Unify error handling, don't post an error message
7783         when a push() returns EOS but perform our normal EOS
7784         handling code. Fixes #340772.
7785
7786 2006-05-08  Wim Taymans  <wim@fluendo.com>
7787
7788         * docs/design/part-overview.txt:
7789         Make upsteam/downstream concepts more clear.
7790         Give an example of serialized/non-serialized events.
7791
7792         * docs/design/part-events.txt:
7793         * docs/design/part-streams.txt:
7794         Mention applied_rate.
7795
7796         * docs/design/part-trickmodes.txt:
7797         Mention applied rate, flesh out some more use cases.
7798
7799         * gst/gstevent.c: (gst_event_new_new_segment),
7800         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
7801         (gst_event_parse_new_segment_full), (gst_event_new_tag),
7802         (gst_event_parse_tag), (gst_event_new_buffer_size),
7803         (gst_event_parse_buffer_size), (gst_event_new_qos),
7804         (gst_event_parse_qos), (gst_event_parse_seek),
7805         (gst_event_new_navigation):
7806         * gst/gstevent.h:
7807         Add applied_rate field to NEWSEGMENT event.
7808         API: gst_event_new_new_segment_full()
7809         API: gst_event_parse_new_segment_full()
7810
7811         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
7812         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
7813         (gst_segment_to_stream_time), (gst_segment_to_running_time):
7814         * gst/gstsegment.h:
7815         Add applied_rate to GstSegment structure.
7816         Make calculation of stream_time and running_time more correct
7817         wrt rate/applied_rate.
7818         Add some more docs.
7819         API: GstSegment::applied_rate field
7820         API: gst_segment_set_newsegment_full();
7821
7822         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7823         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
7824         * libs/gst/base/gstbasetransform.c:
7825         (gst_base_transform_sink_eventfunc),
7826         (gst_base_transform_handle_buffer):
7827         Parse and use applied_rate in the GstSegment field.
7828
7829         * tests/check/gst/gstevent.c: (GST_START_TEST):
7830         Add check for applied_rate field.
7831
7832         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7833         (gstsegments_suite):
7834         Add more checks for various GstSegment operations.
7835
7836 2006-05-08  Wim Taymans  <wim@fluendo.com>
7837
7838         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7839         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
7840         (gst_base_sink_get_position), (gst_base_sink_change_state):
7841         Store the sync time of the buffer end position separatly in a
7842         new variable eos_rtime so we can properly sync the EOS event.
7843         Fixes #340697.
7844         Fix the docs for gst_base_sink_set_qos_enabled().
7845         Don't set segment start to invalid value when we receive a 
7846         non TIME newsegment.
7847         get closer to handling position reporting for negative rates 
7848         correctly.
7849
7850 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7851
7852         * gst/gstcaps.c:
7853         Docs about how to print caps for debug purposes.
7854
7855         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
7856         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
7857
7858 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7859
7860         * gst/gstelement.c:
7861           use full enum names and preprend a '%' in docs strings to make recent 
7862           gtk-doc turn that into a link
7863
7864 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7865
7866         * docs/manual/basics-bins.xml:
7867         * docs/manual/basics-bus.xml:
7868         * docs/manual/basics-pads.xml:
7869           Some typo fixes, some additions, some clarifications. 
7870
7871 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7872
7873         * tools/gst-inspect.c: (main):
7874         * tools/gst-launch.c: (main):
7875         * tools/gst-run.c: (main):
7876         * tools/gst-typefind.c: (main):
7877         * tools/gst-xmlinspect.c: (main):
7878           Use the string passed to g_option_context_new() for
7879           what it's intended for - the program name is already
7880           printed elsewhere.
7881
7882 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7883
7884         * tools/Makefile.am:
7885         * tools/gst-inspect.c: (main):
7886         * tools/gst-launch.c: (main):
7887         * tools/gst-xmlinspect.c: (main):
7888         * tools/tools.h:
7889           Add back --version command line option (#340460).
7890
7891         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
7892           Add --version option and use GOption for argument parsing; refactor a
7893           bit; accept directories as arguments and recurse into them; lastly,
7894           print a decent error message when things go wrong.
7895
7896 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7897
7898         * docs/manual/basics-bins.xml:
7899         Don't mention GstThread (#340611)
7900         * docs/manual/basics-elements.xml:
7901         Update link to GObject tutorial (#340607)
7902         
7903 2006-05-05  Wim Taymans  <wim@fluendo.com>
7904
7905         * gst/gstbuffer.h:
7906         * gst/gstminiobject.c:
7907         Add note about refcounting and miniobject/buffer writeability
7908         to docs. Fixes #340604
7909
7910         * gst/gstelementfactory.h:
7911         Added some explanation about @klass.
7912
7913 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7914
7915         * docs/manual/intro-motivation.xml:
7916         * docs/manual/manual.xml:
7917         Avoid CORBA & Bonobo references (#340598)
7918
7919 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7920
7921         * docs/manual/basics-bus.xml:
7922         * docs/manual/basics-pads.xml:
7923         Fix up some inaccuracies and omissions (#340609)
7924         
7925 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7926
7927         * gst/gstghostpad.c:
7928           Small typo in docs (#340625)
7929
7930 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7931
7932         * gst/parse/Makefile.am:
7933           Make 'make -j' proof (see #340698).
7934
7935 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7936
7937         * configure.ac:
7938           Require GLib-2.8 here as well.
7939
7940 2006-05-05  Wim Taymans  <wim@fluendo.com>
7941
7942         * gst/glib-compat.c:
7943         * gst/gst.c: (init_pre):
7944         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7945         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7946         (gst_object_dispatch_properties_changed):
7947         * gst/gstobject.h:
7948         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7949         * gst/gststructure.c: (gst_structure_set_valist):
7950         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7951         Remove pre glib2.8 compatibility, fixes #340508
7952
7953 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7954
7955         * gst/gsttaglist.h:
7956           Mention type of tags in doc blurbs.
7957
7958 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
7959
7960         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7961         (gst_pad_configure_src), (gst_pad_push):
7962         Restore acceptcaps checking behaviour now that good plugins have
7963         been released.
7964
7965 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7966
7967         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
7968
7969         * gst/gst.c:
7970         * gst/gstbus.c:
7971         * gst/gstclock.c:
7972         * gst/gstevent.c:
7973         * gst/gstformat.c:
7974         * gst/gstmessage.c:
7975         * gst/gstparse.c:
7976         * gst/gstquery.c:
7977         * gst/gstutils.c:
7978         * gst/parse/Makefile.am:
7979         * libs/gst/base/gstadapter.c:
7980         * libs/gst/base/gstbasesrc.c:
7981         * libs/gst/base/gstpushsrc.c:
7982         * libs/gst/base/gsttypefindhelper.c:
7983         * plugins/elements/gstfakesrc.c:
7984         * plugins/elements/gstidentity.c:
7985           Make sure gstprivate.h and/or config.h are
7986           always included first, otherwise some of our
7987           defines (like _FILE_OFFSET_BITS) might be
7988           redefined in the system headers. Fixes build
7989           on opensolaris (#340016).
7990
7991 2006-05-04  Wim Taymans  <wim@fluendo.com>
7992
7993         * docs/libs/gstreamer-libs-sections.txt:
7994         API: addition: gst_adapter_take_buffer()
7995         
7996         * libs/gst/base/gstadapter.c: (gst_adapter_push),
7997         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
7998         (gst_adapter_available_fast):
7999         * libs/gst/base/gstadapter.h:
8000         Prepare for optimizing the hell out of this hugely inefficient
8001         piece of code. 
8002         Added gst_adapter_take_buffer() so we can at least start thinking
8003         about subbuffering and merging.
8004         Added some comments.
8005
8006         * tests/check/Makefile.am:
8007         * tests/check/libs/adapter.c: (GST_START_TEST),
8008         (gst_adapter_suite), (main):
8009         Added GstAdapter check.
8010
8011 2006-05-04  Wim Taymans  <wim@fluendo.com>
8012
8013         * docs/design/part-overview.txt:
8014         Fix some typos, add blurb about buffer flags.
8015
8016 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * docs/libs/gstreamer-libs-sections.txt:
8019           make sure GstBaseTransformClass shows up in the docs
8020         * libs/gst/base/gstbasetransform.c:
8021         * libs/gst/base/gstbasetransform.h:
8022           move docs so gtk-doc picks it up now
8023
8024 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * docs/libs/gstreamer-libs-sections.txt:
8027           add missing symbols to docs
8028
8029 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8030
8031         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8032           back out the newsegment handling change, see #340060 for ongoing
8033           discussion
8034
8035 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
8036
8037         * tools/gst-run.c: (get_candidates), (main):
8038           Fix wrong g_file_test() usage (see glib docs for why it doesn't
8039           work); fix typo in error message. Fixes #340079.
8040
8041 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8042
8043         * common/Makefile.am:
8044         * docs/Makefile.am:
8045         * docs/faq/Makefile.am:
8046         * docs/gst/Makefile.am:
8047         * docs/libs/Makefile.am:
8048         * docs/manual/Makefile.am:
8049         * docs/plugins/Makefile.am:
8050         * docs/pwg/Makefile.am:
8051         * docs/slides/Makefile.am:
8052         * docs/upload.mak:
8053         * common/upload.mak:
8054           move upload.mak to common
8055
8056 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8057
8058         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8059           add more asserts on refcounts
8060           do more cleanup at end of tests
8061           fix test leaks showing in FC5
8062
8063 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
8064
8065         * plugins/elements/gsttypefindelement.c:
8066         (gst_type_find_element_handle_event):
8067         reverted wrong change and reflowed code to avoid others falling into
8068         this trap
8069
8070 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8071
8072         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8073           fix changelog entry about last collectpads change,
8074           add notes about proper fix
8075
8076 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8077
8078         * gst/gst.c:
8079         * gst/gstregistry.c: (gst_registry_scan_path_level),
8080         (gst_registry_scan_path):
8081         * gst/gstregistry.h:
8082           only write out registry if it has changed, fixes #338339
8083
8084 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8085
8086         * gst/gstbin.c:
8087         * gst/gstpipeline.c:
8088         * plugins/elements/gstcapsfilter.c:
8089         * plugins/elements/gstfakesink.c:
8090         * plugins/elements/gstfakesrc.c:
8091         * plugins/elements/gstfdsink.c:
8092         * plugins/elements/gstfdsrc.c:
8093         * plugins/elements/gstfilesink.c:
8094         * plugins/elements/gstfilesrc.c:
8095         * plugins/elements/gstidentity.c:
8096         * plugins/elements/gstqueue.c:
8097         * plugins/elements/gsttee.c:
8098         * plugins/elements/gsttypefindelement.c:
8099         (gst_type_find_element_handle_event):
8100           make GstElementDetails const
8101
8102 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8103
8104         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
8105         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8106         (gst_collect_pads_is_collected), (gst_collect_pads_event):
8107           more detailed debug and formatting cleanup,
8108           forward newsegments to src-pad (so that e.g. adder not eats them)
8109
8110 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8111
8112         * gst/gstutils.c: (gst_element_link_pads):
8113           cleanup double code
8114
8115 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8116
8117         * libs/gst/controller/gstcontroller.c:
8118         (gst_controller_sync_values):
8119           some little tuning
8120         * tests/check/libs/controller.c: (GST_START_TEST),
8121         (gst_controller_suite):
8122           a new test for live value handling
8123
8124 2006-04-28  Wim Taymans  <wim@fluendo.com>
8125
8126         * gst/gstutils.c: (push_and_ref):
8127         Added some more docs.
8128         Fix refcount issue whith gst_element_found_tags() helper 
8129         function. Fixes #338335
8130
8131         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8132         Added testsuite for gst_element_found_tags().
8133
8134 2006-04-28  Michael Smith  <msmith@fluendo.com>
8135
8136         * gst/gstvalue.c: (gst_value_serialize_flags):
8137           Avoid NULL dereference when trying to serialize flags containing
8138           invalid values.
8139
8140 2006-04-28  Michael Smith  <msmith@fluendo.com>
8141
8142         * plugins/elements/gsttypefindelement.c:
8143         (gst_type_find_element_handle_event):
8144           If we get EOS before any data is accumulated, don't use
8145           uninitialised local variables.
8146
8147 2006-04-28  Michael Smith  <msmith@fluendo.com>
8148
8149         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8150         (gst_dp_event_from_packet):
8151           Fixes in reading/writing events over GDP (not currently used?) - 
8152           dereferencing NULL events for unknown/invalid event types, memory
8153           leak, and change g_warning to GST_WARNING.
8154
8155 2006-04-28  Wim Taymans  <wim@fluendo.com>
8156
8157         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
8158         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8159         (gst_base_sink_get_position), (gst_base_sink_change_state):
8160         When frame dropping is enabled, we should not ignore frames
8161         without a duration.
8162         Update some documentation.
8163
8164 2006-04-28  Wim Taymans  <wim@fluendo.com>
8165
8166         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8167         (gst_base_src_send_event), (gst_base_src_change_state):
8168         Documentation updates.
8169
8170 2006-04-28  Wim Taymans  <wim@fluendo.com>
8171
8172         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
8173         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
8174         handle EAGAIN, EINTR and short writes correctly. Also clean
8175         up some error cases, avoid a deadlock on bad file descriptors and
8176         use GST_DEBUG_OBJECT.
8177         Fixes #339843
8178
8179 2006-04-28  Wim Taymans  <wim@fluendo.com>
8180
8181         * gst/gstvalue.c: (gst_value_serialize_buffer),
8182         (gst_value_deserialize_buffer):
8183         Don't try to serialize a GValue with a NULL buffer. 
8184         Fixes #339821.
8185
8186         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8187         Added check for serialisation of NULL buffers.
8188
8189 2006-04-28  Wim Taymans  <wim@fluendo.com>
8190
8191         * gst/gstminiobject.c: (gst_value_take_mini_object):
8192         Taking a NULL miniobject is valid, fix the case where
8193         we try to unref the NULL miniobject.
8194
8195 2006-04-28  Wim Taymans  <wim@fluendo.com>
8196
8197         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8198
8199         * gst/gstbin.c: (gst_bin_handle_message_func):
8200         Update docs.
8201         Don't leak bin refcount when a state recalc is
8202         in progress and we delay another one #339808.
8203
8204 2006-04-28  Wim Taymans  <wim@fluendo.com>
8205
8206         * docs/design/part-TODO.txt:
8207         Mention QoS as an ongoing work item.
8208
8209         * docs/design/part-buffering.txt:
8210         New doc about buffering that needs to be fleshed out
8211         at some point.
8212
8213         * docs/design/part-qos.txt:
8214         More QoS policy for decoders/demuxers/transforms
8215
8216         * docs/design/part-trickmodes.txt:
8217         Small update.
8218
8219 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * configure.ac:
8222           back to HEAD
8223
8224 === release 0.10.5 ===
8225
8226 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
8227
8228         * configure.ac:
8229           releasing 0.10.5, "Fogo"
8230
8231 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         patch by: Wim Taymans
8234
8235         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
8236         (gst_pad_configure_src), (gst_pad_push):
8237         * gst/gstpipeline.c: (gst_pipeline_init):
8238           Fix internal data flow errors.  Fixes #338711.
8239
8240 2006-04-12  Wim Taymans  <wim@fluendo.com>
8241
8242         * tests/check/gst/gstelement.c: (GST_START_TEST):
8243         Don't leak the factory.
8244
8245 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8246
8247         * configure.ac:
8248         * win32/common/config.h:
8249           prerelease
8250
8251 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8252
8253         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8254         (gst_controller_unset_all):
8255           Free allocated GstTimedValues when freeing list nodes.
8256           Should fix leaks 'make check-valgrind' complains about.
8257
8258         * win32/common/libgstcontroller.def:
8259           Add gst_controller_unset_all.
8260
8261 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
8262
8263         * docs/libs/gstreamer-libs-sections.txt:
8264         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8265         (gst_controller_unset_all):
8266         * libs/gst/controller/gstcontroller.h:
8267         API: Added new method gst_controller_unset_all()
8268         fixed gst_controller_unset()
8269         * tests/check/libs/controller.c: (GST_START_TEST),
8270         (gst_controller_suite):
8271         Added two testcases for new and fixed method
8272
8273 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
8274
8275         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8276           MSG_DONTWAIT is not defined on Cygwin, so work
8277           around that (fixes #317048).
8278           
8279 2006-04-11  Wim Taymans  <wim@fluendo.com>
8280
8281         * gst/gstelementfactory.c: (gst_element_register),
8282         (gst_element_factory_create), (gst_element_factory_make):
8283         Some cleanups.
8284         Fixed a FIXME.
8285         Updated docs (Fixes #131079)
8286
8287         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8288         Small cleanups.
8289
8290         * tests/check/gst/gstelement.c: (GST_START_TEST),
8291         (gst_element_suite):
8292         Added testcase for elementfactory class field.
8293
8294 2006-04-10  Wim Taymans  <wim@fluendo.com>
8295
8296         * gst/gstsegment.c:
8297         Added some more docs.
8298
8299         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
8300         (gst_base_sink_reset_qos):
8301         Calculate more accurate rate values.
8302
8303 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
8304
8305         * gst/gst_private.h:
8306           add a new #ifdef to use __declspec(dllimport) only for
8307           other modules and not for gstreamer core
8308         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
8309           use gst_guint64_to_gdouble for conversion
8310         * win32/common/libgstreamer.def:
8311           add new exported functions
8312         * win32/vs6/gst_inspect.dsp:
8313         * win32/vs6/gst_launch.dsp:
8314         * win32/vs6/libgstbase.dsp:
8315         * win32/vs6/libgstcontroller.dsp:
8316         * win32/vs6/libgstcoreelements.dsp:
8317         * win32/vs6/libgstdataprotocol.dsp:
8318         * win32/vs6/libgstnet.dsp:
8319           update project files
8320
8321 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8322
8323         * gst/gstbuffer.c: (gst_subbuffer_class_init):
8324         * gst/gstclock.c: (gst_clock_class_init):
8325         * gst/gstelement.c: (gst_element_class_init):
8326         * gst/gstindex.c: (gst_index_class_init):
8327         * gst/gstindexfactory.c: (gst_index_factory_class_init):
8328         * gst/gstobject.c: (gst_object_class_init),
8329         (gst_signal_object_class_init):
8330         * gst/gstpad.c: (gst_pad_class_init):
8331         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
8332         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
8333         * gst/gstregistry.c: (gst_registry_class_init):
8334         * gst/gstsystemclock.c: (gst_system_clock_class_init):
8335         * gst/gsttask.c: (gst_task_class_init):
8336         * gst/gstxml.c: (gst_xml_class_init):
8337         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8338         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8339         (gst_base_src_loop):
8340         * libs/gst/controller/gstcontroller.c:/
8341         (_gst_controller_class_init):
8342         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8343         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
8344         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
8345         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8346         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8347         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
8348
8349 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
8350
8351         * gst/gstpad.c: (gst_pad_link):
8352           Must set peer pads before calling the link function, otherwise
8353           a task started from a link function might get a flow-not-linked
8354           result when trying to push because the other thread where the
8355           linking happens hasn't had a chance to set the peers yet. This
8356           might happen for example when a queue gets linked to a downstream
8357           element, as queue starts a streaming task when its source pad
8358           gets linked. Happens in real life when playing back flac/musepack
8359           files in playbin (#332390).
8360           
8361 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8362
8363         * gst/gstindex.h:
8364         * gst/gstxml.h:
8365         * libs/gst/base/gstadapter.h:
8366         * libs/gst/base/gstbasesink.h:
8367         * libs/gst/base/gstbasesrc.h:
8368         * libs/gst/base/gstbasetransform.h:
8369         * libs/gst/base/gstcollectpads.h:
8370         * libs/gst/base/gstpushsrc.h:
8371         Fix broken GObject macros
8372
8373 2006-04-07  Wim Taymans  <wim@fluendo.com>
8374
8375         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8376         Initialize start and stop times, thanks valgrind.
8377
8378 2006-04-07  Wim Taymans  <wim@fluendo.com>
8379
8380         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8381         Be a bit nicer to badly behaving upstream elements that expect
8382         us to deal with non TIME segments and timestamps (such as fakesrc
8383         in the testsuite).
8384
8385 2006-04-07  Wim Taymans  <wim@fluendo.com>
8386
8387         * gst/gstbus.c:
8388         Small documentation clarification about the signal watch.
8389
8390         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
8391         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8392         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8393         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8394         (gst_base_sink_get_position_last),
8395         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
8396         Convert and store timestamps in stream time and running time, the
8397         raw timestamps are not useful, also document this better.
8398         Use different window sizes for good and bad QoS observations so
8399         we react to badness a little quicker.
8400         Keep track of the amount of rendered and dropped buffers.
8401         Send QoS timestamps in running time.
8402
8403         * libs/gst/base/gstbasetransform.c:
8404         (gst_base_transform_sink_eventfunc),
8405         (gst_base_transform_handle_buffer):
8406         Compare QoS timestamps against running time.
8407
8408 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8409
8410         * gst/gstpad.c:
8411           Typo fixes in docs.
8412
8413 2006-04-06  Michael Smith  <msmith@fluendo.com>
8414
8415         * gst/gstpad.c: (gst_pad_set_property):
8416           Use g_value_get_object() instead of g_value_dup_gst_object(),
8417           to avoid double-reffing the pad template (which we then sink,
8418           so this worked previously if (and only if) the pad template
8419           was floating.
8420
8421         * gst/gstpadtemplate.c: (gst_pad_template_init),
8422         (gst_pad_template_pad_created):
8423           Never return floating references to pad templates, create
8424           them as initially-sunken.
8425
8426           Document an extra function (and make this stop sinking our
8427           pad template, since that is now guaranteed to do nothing,
8428           since we created it sunken).
8429
8430         * gst/gstghostpad.c:
8431           Fix docs typo.
8432
8433 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8434
8435         * gst/gstinfo.c: (__gst_in_valgrind):
8436           Add some newlines.
8437
8438         * plugins/elements/gsttypefindelement.c:
8439         (gst_type_find_element_chain):
8440           Don't leak buffer caps.
8441
8442 2006-04-06  Michael Smith  <msmith@fluendo.com>
8443
8444         * gst/parse/grammar.y:
8445           Fix a leak in parse-launch for any source-or-sink named element 
8446           references used.
8447
8448         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
8449           Unref the pipeline if it exists after we've failed parsing.
8450
8451 2006-04-05  Michael Smith  <msmith@fluendo.com>
8452
8453         * gst/gstpipeline.c: (gst_pipeline_init):
8454           When we create a pipeline bus, initially create it in flushing mode.
8455           Fixes leaks in at least one test, and makes a new pipeline work the
8456           same as one that has gone to READY and then back to NULL.
8457
8458         * gst/gstelement.c:
8459           Typo fix in docs.
8460
8461 2006-04-05  Michael Smith  <msmith@fluendo.com>
8462
8463         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8464           Unref a pad we reffed.
8465         * tests/check/gst/gstutils.c: (GST_START_TEST):
8466           Unref bins
8467
8468 2006-04-05  Michael Smith  <msmith@fluendo.com>
8469
8470         * gst/gstquery.c: (gst_query_set_formats),
8471         (gst_query_set_formatsv):
8472           Fix leaking GValues in queries, as shown by valgrind/testsuite.
8473
8474 2006-04-05  Michael Smith  <msmith@fluendo.com>
8475
8476         * tests/check/generic/sinks.c: (GST_START_TEST):
8477           Fix a variety of memleaks in sinks check, which are only sometimes 
8478           shown by running the tests under valgrind (weird?).
8479
8480 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
8481
8482         * docs/version.entities.in:
8483           Fix the substituted entity name after thomas' changes on the
8484           weekend.
8485
8486 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8487
8488         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
8489         VALGRIND_PRINTF
8490         
8491 2006-04-05  Andy Wingo  <wingo@pobox.com>
8492
8493         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
8494
8495         * libs/gst/base/gstbasetransform.c
8496         (gst_base_transform_sink_eventfunc): When resetting our segment on
8497         FLUSH_STOP, also update the flag saying we haven't seen a
8498         newsegment.
8499
8500 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8501
8502         Patch by: Paolo Borelli  <pborelli at katamail dot com>
8503
8504         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8505         (gst_plugin_check_license):
8506           minor clean-ups: G_DEFINE_TYPE already takes care of the
8507           parent_class stuff, no need to do it twice. Mark array of
8508           license strings as constant. (#337103)
8509           
8510 2006-04-04  Michael Smith  <msmith@fluendo.com>
8511
8512         * tools/gst-inspect.c: (print_element_list):
8513           Free the right plugin list; fixes a memory leak.
8514
8515 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8516
8517         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
8518
8519         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8520           Don't error out on empty buffers (#336945).
8521           
8522 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
8523
8524         * docs/libs/gstreamer-libs-sections.txt:
8525         * gst/gsttaglist.c:
8526         * libs/gst/base/gstbasesink.c:
8527         * libs/gst/base/gstbasesink.h:
8528         * libs/gst/base/gstbasesrc.c:
8529         * libs/gst/base/gstbasesrc.h:
8530           Documentation updates. Make BaseSink and BaseSrc docs contain the
8531           class structure so that people can actually see the prototypes for
8532           virtual functions they're supposed to be overriding.
8533
8534 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8535
8536         * plugins/elements/gsttypefindelement.c:
8537         (gst_type_find_element_chain):
8538           More debug info; when skipping typefinding, send cached
8539           events in all cases.
8540
8541 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * configure.ac:
8544           use new AS_VERSION and AS_NANO macros
8545         * gst/gst-i18n-lib.h:
8546         * gst/gst.c:
8547         * gst/gsterror.c:
8548         * gst/gstversion.h.in:
8549         * win32/common/config.h:
8550         * win32/common/config.h.in:
8551           update accordingly
8552
8553 2006-03-31  Michael Smith  <msmith@fluendo.com>
8554
8555         * plugins/elements/gsttypefindelement.c:
8556         (gst_type_find_element_chain):
8557           Do not typefind content if the buffers already have caps.
8558           Neccesary for icydemux (#333657), and the right thing to do anyway.
8559
8560 2006-03-30  Wim Taymans  <wim@fluendo.com>
8561
8562         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8563         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
8564         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
8565         (gst_base_sink_record_qos_observation),
8566         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8567         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8568         (gst_base_sink_change_state):
8569         More QoS measurements as described in the design doc.
8570         Get rid of ringbuffer with observations, running average is
8571         more simple and equally good.
8572         Calculates valid proportion now.
8573         Added beginning of flood measurement.
8574
8575 2006-03-29  Wim Taymans  <wim@fluendo.com>
8576
8577         * docs/design/part-qos.txt:
8578         * gst/gstclock.c:
8579         Small documentation updates and additions.
8580
8581 2006-03-29  Wim Taymans  <wim@fluendo.com>
8582
8583         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8584         (gst_base_src_send_event), (gst_base_src_loop),
8585         (gst_base_src_change_state):
8586         Perform the EOS logic when we reach the segment stop position.
8587         Fix compilation on gcc4.1
8588
8589 2006-03-29  Wim Taymans  <wim@fluendo.com>
8590
8591         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8592
8593         * plugins/elements/gstqueue.c: (gst_queue_init),
8594         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8595         (gst_queue_set_property):
8596         * plugins/elements/gstqueue.h:
8597         In queue, when EOS is received, if minimum threshold > max_size -
8598         current_level, there is chance that queue blocks forever in conditional
8599         item del wait. This is because the queue is not emptied completely due
8600         to minimum threshold.  Here is another approach. Instead of setting
8601         cur_levels to max in EOS, just zero all minimum threshold levels. This
8602         should make sure that queue gives out all data. When going to READY
8603         (stop) state, just reset the original minimum threshold levels.
8604         Fixes #336336.
8605
8606 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
8607
8608         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
8609         (gst_type_find_element_handle_event),
8610         (gst_type_find_element_send_cached_events),
8611         (gst_type_find_element_change_state):
8612         * plugins/elements/gsttypefindelement.h:
8613           When typefinding is done in push mode, we should cache
8614           events we receive during typefinding instead of just
8615           dropping them (e.g. newsegment, custom events from
8616           dvdreadsrc etc.) and then send them out once we've
8617           determined the type of the stream (and decodebin
8618           has had a chance to plug in a decoder/demuxer).
8619           
8620 2006-03-27  Wim Taymans  <wim@fluendo.com>
8621
8622         * docs/design/part-qos.txt:
8623         First QoS ideas.
8624
8625 2006-03-27  Wim Taymans  <wim@fluendo.com>
8626
8627         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
8628
8629         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8630         (gst_base_src_send_event), (gst_base_src_change_state):
8631         Handle element seek correctly when we are streaming.
8632         Fixes #326998.
8633
8634 2006-03-24  Michael Smith  <msmith@fluendo.com>
8635
8636         * docs/faq/gst-uninstalled:
8637           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
8638           allow you to correctly run intalled applications built against old 
8639           core, using plugins that require updated core (e.g. running
8640           installed totem against a full uninstalled gstreamer stack)
8641
8642 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8643
8644         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8645         more debug details
8646
8647 2006-03-24  Wim Taymans  <wim@fluendo.com>
8648
8649         * docs/gst/gstreamer-sections.txt:
8650         Rearrange the order of the methods so that related methods
8651         are grouped together in sections.
8652
8653 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8654
8655         * gst/gstelement.c:
8656           Little clarification in the docs
8657
8658 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8659
8660         * docs/README:
8661         formatting fix
8662         * plugins/elements/gstidentity.c:
8663         * plugins/elements/gstqueue.c:
8664         * plugins/elements/gsttee.c:
8665         * plugins/elements/gsttypefindelement.c:
8666         GST_ELEMENT_DETAILS formatting
8667
8668 2006-03-24  Wim Taymans  <wim@fluendo.com>
8669
8670         * libs/gst/base/gstbasesink.h:
8671         Only add fields, not insert or we break ABI.
8672
8673 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8674
8675         * win32/common/libgstbase.def:
8676         * win32/common/libgstreamer.def:
8677           Update, add recently added functions.
8678
8679 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * docs/gst/gstreamer-sections.txt:
8682         * gst/gstutils.c: (gst_pad_query_peer_position),
8683         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
8684         * gst/gstutils.h:
8685           API: add some new utility functions:
8686            - gst_pad_query_peer_position()
8687            - gst_pad_query_peer_duration()
8688            - gst_pad_query_peer_convert()
8689           
8690 2006-03-23  Wim Taymans  <wim@fluendo.com>
8691
8692         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8693         (gst_base_sink_init), (gst_base_sink_finalize),
8694         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
8695         (gst_base_sink_set_property), (gst_base_sink_get_property),
8696         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
8697         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8698         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
8699         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8700         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8701         (gst_base_sink_preroll_object), (gst_base_sink_event),
8702         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
8703         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
8704         (gst_base_sink_query), (gst_base_sink_change_state):
8705         Decouple max-lateness and the fact that QoS messages are generated
8706         with a new property (qos).
8707         added API: GstBaseSink::async_play()
8708         Add vmethod so subclasses can be notified of ASYNC playing
8709         state changes.
8710         Collect timestamp start and stop to report better current
8711         position in EOS/PLAYING/PAUSED/READY/NULL.
8712         Refactor QoS/frame dropping and other measurements.
8713         API: GstBaseSrc::qos
8714         Fixes #326311
8715
8716         * libs/gst/base/gstbasesink.h:
8717         Added Private struct.
8718         API: gst_base_sink_set_qos_enabled()
8719         API: gst_base_sink_is_qos_enabled()
8720
8721 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8722
8723         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8724           If compiling against GLib-2.8 or newer, try to read the
8725           registry file using GMappedFile first before falling back
8726           to fopen() + fread() (#332151).
8727
8728 2006-03-22  Wim Taymans  <wim@fluendo.com>
8729
8730         * gst/gstinfo.c: (gst_debug_set_active),
8731         (gst_debug_category_set_threshold):
8732         Disable debugging unless explicitly activated.
8733         Fixes #335480.
8734
8735 2006-03-22  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/gstelement.c: (gst_element_set_locked_state),
8738         (gst_element_dispose):
8739         Cleanup the error case.
8740
8741         * gst/gstobject.c: (gst_object_dispose):
8742         print a critical when some object was disposed with
8743         a parent, also revive the object since it might
8744         crash the parent.
8745
8746 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
8747
8748         * tools/gst-launch.1.in:
8749           Fix another typo.
8750
8751 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8752
8753         * configure.ac:
8754         * tests/check/Makefile.am:
8755           disable some tests when we don't have a registry
8756         * tests/check/gst/gstutils.c: (gst_utils_suite):
8757           don't build the part that needs parsing
8758
8759 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * gst/Makefile.am
8762         * tests/examples/Makefile.am:
8763           fix --disable-parse build
8764
8765 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8766
8767         * tools/gst-feedback.1.in:
8768           Fix typo: s/feeback/feedback/ (#133494).
8769
8770 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * tools/Makefile.am:
8773         * tools/gst-launch.1.in:
8774           Add FILES section and correct entry about GST_REGISTRY_PATH
8775           environment variable (#133495; #133494).
8776
8777 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8778
8779         * tools/Makefile.am:
8780         * tools/gst-md5sum.1.in:
8781         * tools/gst-md5sum.c:
8782           Remove gst-md5sum and man page (the md5sink element
8783           required was removed ages ago)
8784
8785 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8786
8787         * gst/gststructure.c: (gst_structure_id_set_value):
8788           Make sure that string fields in structures/taglists
8789           contain valid UTF-8 - we don't want to pass rubbish to
8790           applications because of a buggy plugin (cp. #334167).
8791
8792 2006-03-21  Edward Hervey  <edward@fluendo.com>
8793
8794         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8795         (gst_bin_handle_message_func):
8796         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
8797         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
8798         (gst_element_set_bus_func):
8799         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
8800         * gst/gstminiobject.c: (gst_value_set_mini_object),
8801         (gst_value_take_mini_object):
8802         * gst/gstpad.c: (gst_pad_set_pad_template):
8803         * gst/gstpipeline.c: (gst_pipeline_dispose),
8804         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
8806         (gst_collect_pads_chain):
8807         * libs/gst/net/gstnettimeprovider.c:
8808         (gst_net_time_provider_set_property):
8809         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
8810         It's in fact all issues with gst_*object_replace().
8811
8812 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8813
8814         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
8815         
8816         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8817         * pkgconfig/gstreamer-check.pc.in:
8818           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8819
8820 2006-03-21  Edward Hervey  <edward@fluendo.com>
8821
8822         * gst/gstbuffer.h:
8823         * gst/gstevent.h:
8824         * gst/gstmessage.h:
8825         gst_[buffer|event|message]_ref() macros are replaced by a static
8826         inline functions because gcc-4.1 will about if the return value
8827         isn't used.
8828         * tests/check/gst/gstevent.c: (event_probe):
8829         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
8830
8831 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
8832
8833         * gst/gstutils.h:
8834         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
8835         the type' case. (Closes: #335195 for now). In the future, when we
8836         depend on GLib 2.10, we could also intern the type name using
8837         g_intern_static_string()
8838
8839 2006-03-20  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/gstbin.c: (gst_bin_handle_message_func),
8842         (bin_query_max_init), (bin_query_position_fold),
8843         (bin_query_position_done), (gst_bin_query):
8844         Position query should also take max of all streams.
8845
8846 2006-03-20  Wim Taymans  <wim@fluendo.com>
8847
8848         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8849         (gst_fake_src_finalize):
8850         Fix leaks in fakesrc.
8851
8852         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8853         Fix leaks in the testcase.
8854
8855 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
8856
8857         * gst/gst_private.h:
8858           add win32 specific import decoration(__declspec(dllimport)) 
8859           for all extern GstDebugCategory * variables
8860         * win32/common/libgstbase.def:
8861         * win32/common/libgstcontroller.def:
8862         * win32/common/libgstreamer.def:
8863           Add some exports, remove empty lines
8864         * win32/common/libgstdataprotocol.def:
8865         * win32/common/libgstdataprotocol.dsp:
8866         * win32/common/libgstnet.def:
8867         * win32/common/libgstnet.dsp:
8868           new project files and exportation files added
8869         
8870 2006-03-19  Wim Taymans  <wim@fluendo.com>
8871
8872         * tests/check/libs/basesrc.c: (eos_event_counter):
8873         Use proper return value for probe.
8874
8875 2006-03-17  Wim Taymans  <wim@fluendo.com>
8876
8877         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8878         (gst_pad_push):
8879         Don't leak buffers, caps and pads on negotiation errors.
8880
8881 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
8882
8883         * docs/faq/cvs.xml:
8884         * docs/faq/dependencies.xml:
8885         * docs/faq/developing.xml:
8886         * docs/faq/faq.xml:
8887         * docs/faq/general.xml:
8888         * docs/faq/getting.xml:
8889         * docs/faq/legal.xml:
8890         * docs/faq/troubleshooting.xml:
8891         * docs/faq/using.xml:
8892         Faq review and update.
8893
8894 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
8895
8896         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8897         (gst_pad_push):
8898         Don't pound the cpu to pieces by checking get_caps when accept_caps
8899         is called with the same caps as the pad already has.
8900         Use GST_DEBUG_OBJECT when outputting caps change information.
8901
8902 2006-03-15  Wim Taymans  <wim@fluendo.com>
8903
8904         * gst/gstclock.c: (gst_clock_class_init):
8905         Fix docs.
8906
8907 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
8908
8909         * gst/gstbuffer.h:
8910         Documentation fix.
8911
8912         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
8913         (gst_pad_accept_caps), (gst_pad_configure_sink),
8914         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
8915         Make the default acceptcaps behaviour be to check the requested 
8916         caps against the gst_pad_get_caps output. 
8917
8918         Ensure that gst_pad_accept_caps is used to check caps when a pad
8919         doesn't have a setcaps function, so that pads automatically refuse 
8920         caps that they don't allow in their pad template. (Fixes #332986)
8921
8922         When a buffer with attached caps is pushed, ensure that the source 
8923         pad receives those caps even if the element didn't call
8924         gst_pad_set_caps first.
8925
8926 2006-03-15  Wim Taymans  <wim@fluendo.com>
8927
8928         * libs/gst/base/gstadapter.c:
8929         Add some docs.
8930
8931 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8932
8933         * win32/common/libgstbase.def:
8934         * win32/common/libgstcontroller.def:
8935         * win32/common/libgstreamer.def:
8936           Add a whole bunch of missing functions (#334434).
8937
8938 2006-03-14  Wim Taymans  <wim@fluendo.com>
8939
8940         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8941         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8942         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
8943         Better debug info when we receive a segment event.
8944         Reorganize a bit so we can pass the get_times() results around.
8945         Use the segment format when calculating the running time.
8946         Don't do QoS is sync is disabled or we have no clock or the
8947         element does not want us to sync to the clock.
8948         Don't drop buffers if QoS is disabled for now.
8949
8950 2006-03-14  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
8953         Marked the stats property as unimplemented so people don't get
8954         wild ideas.
8955         Add debug message when regression goes wrong.
8956         Added some more docs.
8957
8958 2006-03-14  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/gstsegment.c: (gst_segment_to_stream_time):
8961         Return correct return type in case of errors.
8962
8963 2006-03-14  Wim Taymans  <wim@fluendo.com>
8964
8965         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
8966           Don't segfault on invalid formats.
8967
8968 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8969
8970         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8971           Can't use gst_segment_to_running_time() when the segment
8972           is not in GST_TIME_FORMAT (like with filesink, for example).
8973           Stops flac encoding pipelines from spewing critical warnings
8974           at EOS (#331248).
8975           
8976 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8977
8978         * gst/gstpipeline.c: (gst_pipeline_class_init):
8979           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
8980
8981         * plugins/elements/gsttypefindelement.c:
8982         (gst_type_find_element_handle_event):
8983           Don't try to typefind empty streams.
8984
8985 2006-03-14  Wim Taymans  <wim@fluendo.com>
8986
8987         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8988         (gst_base_sink_do_qos):
8989         Separate QoS calculation.
8990         Only drop buffers when lateness is bigger than the 
8991         duration of the buffer.
8992
8993 2006-03-13  Wim Taymans  <wim@fluendo.com>
8994
8995         * gst/gstpipeline.c: (gst_pipeline_set_property),
8996         (gst_pipeline_get_property), (do_pipeline_seek),
8997         (gst_pipeline_change_state), (gst_pipeline_set_delay),
8998         (gst_pipeline_get_delay):
8999         Don't deadlock when reading properties.
9000
9001 2006-03-13  Wim Taymans  <wim@fluendo.com>
9002
9003         * libs/gst/base/gstbasetransform.c:
9004         (gst_base_transform_class_init), (gst_base_transform_init),
9005         (gst_base_transform_sink_event),
9006         (gst_base_transform_sink_eventfunc),
9007         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
9008         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9009         (gst_base_transform_set_property),
9010         (gst_base_transform_get_property),
9011         (gst_base_transform_change_state), (gst_base_transform_update_qos),
9012         (gst_base_transform_set_qos_enabled),
9013         (gst_base_transform_is_qos_enabled):
9014         * libs/gst/base/gstbasetransform.h:
9015         Make basetransform virtual method for src events too.
9016         Handle QOS in basetransform.
9017         API: gst_base_transform_update_qos()
9018         API: gst_base_transform_set_qos_enabled()
9019         API: gst_base_transform_is_qos_enabled()
9020
9021 2006-03-13  Wim Taymans  <wim@fluendo.com>
9022
9023         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9024         (gst_base_sink_do_sync):
9025         Small cleanups.
9026         Use QOS debug category.
9027
9028 2006-03-13  Wim Taymans  <wim@fluendo.com>
9029
9030         * plugins/elements/gstqueue.c:
9031         Very small doc update.
9032
9033 2006-03-13  Wim Taymans  <wim@fluendo.com>
9034
9035         * gst/gst_private.h:
9036         * gst/gstinfo.c: (_gst_debug_init):
9037         Added QOS debug category
9038
9039 2006-03-13  Wim Taymans  <wim@fluendo.com>
9040
9041         * docs/gst/gstreamer-sections.txt:
9042         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
9043         * gst/gstbin.h:
9044         * gst/gstbus.c: (gst_bus_class_init):
9045         * gst/gstbus.h:
9046         * gst/gstclock.c:
9047         * gst/gstelement.c: (gst_element_set_locked_state):
9048         * gst/gstsegment.c:
9049         Documentation updates.
9050
9051         * gst/gstpipeline.c: (gst_pipeline_get_type),
9052         (gst_pipeline_class_init), (gst_pipeline_init),
9053         (gst_pipeline_dispose), (gst_pipeline_set_property),
9054         (gst_pipeline_get_property), (do_pipeline_seek),
9055         (gst_pipeline_send_event), (gst_pipeline_change_state),
9056         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
9057         (gst_pipeline_get_delay):
9058         * gst/gstpipeline.h:
9059         Added methods for setting the delay.
9060         API: gst_pipeline_set_delay()
9061         API: gst_pipeline_get_delay()
9062         Add pipeline debug category
9063         Various cleanups.
9064         Updated docs.
9065         Don't reset stream time when seek failed.
9066
9067 2006-03-13  Wim Taymans  <wim@fluendo.com>
9068
9069         * docs/design/draft-klass.txt:
9070         * docs/design/part-clocks.txt:
9071         * docs/design/part-events.txt:
9072         * docs/design/part-gstbin.txt:
9073         * docs/design/part-gstpipeline.txt:
9074         * docs/design/part-messages.txt:
9075         * docs/design/part-negotiation.txt:
9076         * docs/design/part-overview.txt:
9077         * docs/design/part-preroll.txt:
9078         * docs/design/part-seeking.txt:
9079         * docs/design/part-states.txt:
9080         * docs/design/part-streams.txt:
9081         Documentation updates.
9082
9083 2006-03-12  Julien MOUTTE  <julien@moutte.net>
9084
9085         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
9086         us to leak strings...
9087
9088 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9089
9090         * libs/gst/net/gstnettimeprovider.c:
9091           fix docs
9092         * win32/common/config.h:
9093           update
9094
9095 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
9098
9099         * configure.ac:
9100           Don't check for libgnomeui (leftover from old examples
9101           that aren't built or disted any longer) (#334303).
9102           
9103 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
9104
9105         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
9106         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9107           Emit RESOURCE_NO_SPACE_LEFT error here as well when
9108           there's no space left on the device.
9109
9110 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         * gst/gstclock.h:
9113           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
9114           to cast the input to GstClockTime before comparing with
9115           another GstClockTime value.
9116
9117 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9118
9119         * configure.ac:
9120           back to trunk
9121
9122 === release 0.10.4 ===
9123
9124 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
9125
9126         * configure.ac:
9127           releasing 0.10.4, "Light"
9128
9129 2006-03-10  Michael Smith  <msmith@fluendo.com>
9130
9131         * libs/gst/dataprotocol/dataprotocol.c:
9132           Fix docs for dataprocotol to not get the return types completely
9133           wrong for a few functions.
9134
9135 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9136
9137         * docs/gst/gstreamer-sections.txt:
9138         * gst/gstpipeline.c: (gst_pipeline_class_init),
9139         (gst_pipeline_init), (gst_pipeline_set_property),
9140         (gst_pipeline_get_property), (gst_pipeline_change_state),
9141         (gst_pipeline_set_auto_flush_bus),
9142         (gst_pipeline_get_auto_flush_bus):
9143         * gst/gstpipeline.h:
9144           Add new API: gst_pipeline_set_auto_flush_bus() and
9145           gst_pipeline_get_auto_flush_bus() to disable automatic
9146           flushing of the pipeline's GstBus when going from READY
9147           to NULL state (#332045).
9148
9149 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9150
9151         * docs/gst/gstreamer-sections.txt:
9152         * gst/gsturi.c: (gst_uri_has_protocol):
9153         * gst/gsturi.h:
9154            Add new API: gst_uri_has_protocol() (#333779).
9155
9156 2006-03-09  Wim Taymans  <wim@fluendo.com>
9157
9158         * gst/gstclock.c: (gst_clock_entry_new),
9159         (gst_clock_id_compare_func), (gst_clock_id_wait),
9160         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
9161         (gst_clock_init), (gst_clock_get_internal_time),
9162         (gst_clock_set_master), (do_linear_regression),
9163         (gst_clock_add_observation), (gst_clock_set_property):
9164         * gst/gstclock.h:
9165         Review docs.
9166         Small cleanups.
9167         Fix a possible segfault when the window-size is made smaller.
9168         Calculate jitter before performing the clock wait. Ideally
9169         the clock implementation should calculate jitter but we need
9170         API breakage for that.
9171
9172         * gst/gstsystemclock.c: (gst_system_clock_init):
9173         Docs review.
9174         
9175         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9176         Remove leftover else
9177
9178         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9179         (gst_systemclock_suite):
9180         Added check to test GST_CLOCK_DIFF.
9181
9182 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9183
9184         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
9185         (gst_type_find_helper_get_range):
9186           If we are provided with the size, we should implement
9187           GstTypeFind::get_length, so that typefind functions who
9188           want to can actually peek at the middle of a file.
9189
9190 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
9191
9192         * docs/manual/advanced-dataaccess.xml:
9193           Add some very very basic error checking.
9194
9195         * docs/pwg/appendix-checklist.xml:
9196           Some updates to the list of things to check when writing an element.
9197
9198 2006-03-08  Wim Taymans  <wim@fluendo.com>
9199
9200         * docs/design/part-element-transform.txt:
9201         Added some docs about the design of tranform elements.
9202
9203         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9204         (gst_base_src_loop), (gst_base_src_change_state):
9205         Mark buffers with the DISCONT flag.
9206
9207 2006-03-08  Michael Smith  <msmith@fluendo.com>
9208
9209         * gst/gstregistry.h:
9210         * gst/gstregistryxml.c: (gst_registry_save),
9211         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
9212         (gst_registry_xml_save_pad_template),
9213         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
9214         (gst_registry_xml_write_cache):
9215           Rewrite registry-saving to avoid race conditions and check for
9216           failed writes.
9217
9218 2006-03-08  Wim Taymans  <wim@fluendo.com>
9219
9220         * libs/gst/base/gstbasetransform.c:
9221         (gst_base_transform_transform_caps),
9222         (gst_base_transform_transform_size),
9223         (gst_base_transform_prepare_output_buffer),
9224         (gst_base_transform_get_unit_size),
9225         (gst_base_transform_buffer_alloc),
9226         (gst_base_transform_handle_buffer),
9227         (gst_base_transform_change_state):
9228         Cleanups, separate normal flow from errors, add sensible
9229         DEBUG lines.
9230         Don't try to renegotiate when allocating an output buffer.
9231         Also copy DISCONT buffer flag when copying a buffer.
9232         Reset the transform after we finish streaming, not during.
9233
9234 2006-03-08  Wim Taymans  <wim@fluendo.com>
9235
9236         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9237         Use last buffer timestamp in qos message.
9238
9239 2006-03-07  Wim Taymans  <wim@fluendo.com>
9240
9241         Patch by: Christophe Fergeau
9242
9243         * docs/pwg/advanced-tagging.xml:
9244         * docs/pwg/building-pads.xml:
9245           fixes #333416
9246
9247 2006-03-07  Wim Taymans  <wim@fluendo.com>
9248
9249         * docs/libs/gstreamer-libs-sections.txt:
9250         Added basesink new methods.
9251
9252         * gst/gstevent.c:
9253         * gst/gstevent.h:
9254         Docs updates. Flesh out the QoS docs.
9255
9256         * libs/gst/base/gstadapter.c:
9257         Small doc clarification about ownership and flushing.
9258
9259         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
9260         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
9261         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
9262         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9263         * libs/gst/base/gstbasesink.h:
9264         API additions: 
9265         Added new methods to allow subclass to control max-lateness 
9266         and sync.
9267         Generate very basic QoS events based on last sync observation.
9268         Updated docs, fix typo, added some QoS blurb.
9269
9270         * libs/gst/base/gstbasesrc.c:
9271         Remove obsolete _get_state() calls from docs.
9272
9273 2006-03-07  Wim Taymans  <wim@fluendo.com>
9274
9275         * docs/libs/gstreamer-libs-sections.txt:
9276         * libs/gst/base/gstbasetransform.h:
9277         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
9278         Fix docs for GstBaseSrc.
9279
9280 2006-03-07  Wim Taymans  <wim@fluendo.com>
9281
9282         * docs/gst/gstreamer-sections.txt:
9283         * gst/gstbuffer.h:
9284         * gst/gstvalue.c:
9285         * libs/gst/base/gstbasetransform.h:
9286         Small documentation fixes.
9287
9288 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         * gst/gstvalue.c:
9291           Document thread-unsafety of gst_value_register_foo_func()
9292           when used at the same time as gst_value_foo() (#322628).
9293
9294 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9295
9296         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
9297         (gst_push_src_check_get_range):
9298           Push sources don't support pull mode by default.
9299
9300 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9301
9302         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9303         (gst_base_src_init), (gst_base_src_pad_check_get_range),
9304         (gst_base_src_default_check_get_range):
9305         * libs/gst/base/gstbasesrc.h:
9306           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
9307           provide default implementation, and rename
9308           gst_base_src_check_get_range() to
9309           gst_base_src_pad_check_get_range() for clarity.
9310
9311 2006-03-06  Wim Taymans  <wim@fluendo.com>
9312
9313         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9314         Make property overridable.
9315
9316 2006-03-06  Wim Taymans  <wim@fluendo.com>
9317
9318         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9319         (gst_base_sink_init), (gst_base_sink_set_property),
9320         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9321         * libs/gst/base/gstbasesink.h:
9322         API addition: Make max-lateness a property.
9323
9324 2006-03-06  Wim Taymans  <wim@fluendo.com>
9325
9326         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
9327         (gst_base_sink_do_sync), (gst_base_sink_render_object):
9328         Don't ever draw a frame that is >10ms late.
9329
9330 2006-03-06  Michael Smith  <msmith@fluendo.com>
9331
9332         * gst/gstmessage.c: (_gst_message_copy):
9333           When copying a message, set the parent_refcount of the enclosed
9334           structure to point at the copy, not the original message.
9335
9336 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9337
9338         Patch by: Christophe Fergeau
9339
9340         * gst/gstutils.h:
9341           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
9342           usable in c++ code (#333417)
9343
9344 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9345
9346         * gst/gstclock.h:
9347           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
9348
9349 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
9350
9351         * libs/gst/base/gstbasetransform.c:
9352         (gst_base_transform_transform_caps):
9353           Make sure caps are writable before passing them to
9354           gst_caps_append().
9355
9356 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9357
9358         * gst/gsterror.h:
9359           Fix some minor docs errors.
9360
9361 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9362
9363           Patch by: Ross Burton <ross at burtonini dot com>
9364
9365         * gst/gsterror.c: (_gst_resource_errors_init):
9366         * gst/gsterror.h:
9367           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
9368
9369 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9370
9371         * gst/gst.c:
9372         Add a check and output a g_warning when GStreamer is built
9373         against GLib 2.6 but running against 2.8 or higher, and vice 
9374         versa. (Closes: #323542)
9375
9376 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9377
9378         * gst/parse/parse.l:
9379           Commit patch for parse_launch syntax from #331255. Removes 
9380           support for quoted strings and mimetypes when writing filtered 
9381           caps. See the bug report for more details - I'm pretty sure this
9382           obscure feature is not in use by _anyone_ anywhere.
9383
9384           With this simple change, the size of the gstreamer.so here 
9385           drops from 2193KB to 1565KB.
9386
9387 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9388
9389         * plugins/elements/gsttypefindelement.h:
9390         * plugins/elements/gsttypefindelement.c:
9391         (gst_type_find_element_src_event), (start_typefinding),
9392         (stop_typefinding), (gst_type_find_element_handle_event),
9393         (gst_type_find_element_chain),
9394         (gst_type_find_element_chain_do_typefinding):
9395           Use gst_type_find_helper_for_buffer() for chain-based
9396           typefinding.
9397
9398 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9399
9400         * plugins/elements/gsttypefindelement.c:
9401         (gst_type_find_element_class_init),
9402         (gst_type_find_element_set_property),
9403         (gst_type_find_element_get_property):
9404           Deprecate "maximum" property (not only was it only taken into
9405           account for typefinding in push-mode anyway, it also was never
9406           actually possible to set it in the first place because the
9407           property was registered with the numeric property ID for the
9408           "minimum" property). Register "maximum" property correctly,
9409           for the sake of future copy'n'pasters. Remove some cruft
9410           from property get/set functions.
9411
9412 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9413
9414         * plugins/elements/gsttypefindelement.c:
9415         (gst_type_find_element_activate):
9416           Use gst_type_find_helper_get_range() here, so we
9417           can honour the "minimum" property and also emit
9418           the signal with the correct probability of the found caps.
9419
9420 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
9421
9422         * docs/libs/gstreamer-libs-sections.txt:
9423         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
9424         (helper_find_suggest), (gst_type_find_helper_get_range),
9425         (gst_type_find_helper):
9426         * libs/gst/base/gsttypefindhelper.h:
9427           New API: gst_type_find_helper_get_range() (#333042).
9428
9429 2006-03-02  Michael Smith  <msmith@fluendo.com>
9430
9431         * gst/gstregistryxml.c: (load_feature):
9432           Asserting on a failure to read part of the registry is Not Cool.
9433           Just log a warning and return NULL (which is already handled)
9434
9435 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
9436
9437         * win32/common/libgstbase.def:
9438           added export of gst_type_find_helper_for_buffer
9439         * win32/common/libgstbase.def:
9440           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
9441           gst_ghost_pad_get_target
9442
9443 2006-02-28  Wim Taymans  <wim@fluendo.com>
9444
9445         * docs/design/draft-klass.txt:
9446         We use Filter now.
9447         Added Connector to mark elements that are only used to
9448         allow pipeline connections.
9449         Moved Debug to extra feature since most of them are 
9450         functionally something else.
9451
9452 2006-02-28  Wim Taymans  <wim@fluendo.com>
9453
9454         * docs/design/draft-klass.txt:
9455         Some updates and clarifications.
9456
9457 2006-02-28  Wim Taymans  <wim@fluendo.com>
9458
9459         * docs/design/draft-klass.txt:
9460         Proposal for klass field values.
9461
9462         * docs/design/part-streams.txt:
9463         Start of a doc describing stream anatomy.
9464
9465 2006-02-28  Wim Taymans  <wim@fluendo.com>
9466
9467         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
9468         Help the compiler a bit with type registration.
9469         Use existing forward cod path instead of duplicating it when 
9470         handling a message.
9471         
9472         * gst/gstbus.c: (gst_bus_get_type):
9473         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
9474         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
9475         * gst/gstclock.c: (gst_clock_get_type):
9476         * gst/gstelement.c: (gst_element_get_type),
9477         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9478         * gst/gstindexfactory.c: (gst_index_factory_get_type):
9479         * gst/gstminiobject.c: (gst_mini_object_get_type):
9480         * gst/gstpad.c: (gst_pad_get_type):
9481         * gst/gstsegment.c: (gst_segment_get_type):
9482         * gst/gststructure.c: (gst_structure_get_type):
9483         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9484         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
9485         * gst/gstvalue.c:
9486         Help compiler with type registration.
9487
9488         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
9489         Small doc update.
9490
9491 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9492
9493         * plugins/elements/gsttypefindelement.c:
9494         (gst_type_find_element_handle_event):
9495           When we get an EOS event and have not found a type yet
9496           (most likely because we had not yet accumulated
9497           TYPE_FIND_MIN_SIZE of data yet), try to determine the
9498           type given the data we have so far. Fixes typefinding
9499           for very short streams again, most notably quicktime
9500           redirections as used on Apple's trailer site (#331701).
9501
9502 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9503
9504         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
9505         (gst_type_find_helper):
9506           Try typefinding factories with the highest rank first.
9507
9508 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9509
9510         * docs/libs/gstreamer-libs-docs.sgml:
9511         * docs/libs/gstreamer-libs-sections.txt:
9512         * libs/gst/base/gsttypefindhelper.c:
9513           Add section for typefind helper and add documentation
9514           for the old and the new function.
9515
9516 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9517
9518         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
9519         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
9520         (gst_type_find_helper_for_buffer):
9521         * libs/gst/base/gsttypefindhelper.h:
9522           New API: gst_type_find_helper_for_buffer() (#332723).
9523           
9524 2006-02-27  Michael Smith  <msmith@fluendo.com>
9525
9526         Patch by: Loïc Minier
9527
9528         * configure.ac:
9529         * docs/Makefile.am:
9530         * docs/slides/Makefile.am:
9531           prevent CVS directories getting disted.
9532
9533 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9534
9535         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
9536           Use the REFCOUNTING category for caps refcounting.
9537           
9538 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9539
9540         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9541           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
9542
9543 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9544
9545         * plugins/elements/gsttypefindelement.c:
9546         (gst_type_find_element_activate):
9547           Use gst_pad_check_pull_range() before _activate_pull()
9548           to avoid unnecessary open/close (see #331690).
9549
9550 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9551
9552         * gst/gstutils.c:
9553           Docs enhancement: make it crystal clear what the
9554           gst_pad_add_*_probe() callbacks should look like.
9555
9556 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9557
9558         * libs/gst/base/gstbasesrc.c:
9559           Document how applications can stop recording from
9560           live sources (see #330996).
9561
9562 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9563
9564         * tests/check/Makefile.am:
9565         * tests/check/libs/basesrc.c: (eos_event_counter),
9566         (basesrc_eos_events_pull), (basesrc_eos_events_push),
9567         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
9568         (gst_basesrc_suite), (main):
9569           ... and add some tests for the base source EOS stuff.
9570
9571 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9572
9573         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
9574           Test case originally showed the problem fixed below,
9575           but was then amended. Add checks back at the place
9576           where they used to be.
9577
9578 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9579
9580         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9581         (gst_base_src_init), (gst_base_src_loop),
9582         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9583         (gst_base_src_change_state):
9584         * libs/gst/base/gstbasesrc.h:
9585           Don't unconditionally send EOS when going from PAUSED to
9586           READY state, esp. make sure we don't send two EOS events
9587           in some cases (e.g. one when reaching EOS and one when
9588           going from PAUSED to READY). Also, we don't want to send
9589           EOS events when operating in pull mode. However, we do
9590           want to send an EOS event when shutting down a live
9591           source explicitly, for example (fixes #330996).
9592           
9593 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9594
9595         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9596           Update src->read_position after a seek when not using mmap.
9597           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
9598
9599 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
9600
9601         * gst/Makefile.am:
9602         * gst/gstparse.h:
9603         * gst/gstutils.c:
9604         * gst/gstutils.h:
9605         Make things work with --disable-parse as they do with 
9606         --disable-load-save - the symbols involved disappear, but the
9607         header is still installed and GST_DISABLE_PARSE is included via
9608         gstconfig.h
9609
9610 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9611
9612         * libs/gst/base/gstbasetransform.c:
9613         (gst_base_transform_change_state): Fix a stupid bug. I was 
9614         sure I compiled that.
9615
9616 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9617
9618         * gst/gstpad.c: (gst_pad_set_blocked_async):
9619         * gst/gstutils.c: (gst_pad_add_data_probe),
9620         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9621         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9622         (gst_pad_remove_buffer_probe): Make those function act on the
9623         ghostpad target when it's a ghostpad. (Closes #331727)
9624
9625 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9626
9627         * libs/gst/base/gstbasetransform.c:
9628         (gst_base_transform_change_state): Make basetransform reusable.
9629         (Closes #331898)
9630
9631 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
9632
9633         * docs/random/release:
9634         Move the current documentation of how to do a release to the top
9635         of the file.
9636
9637         * gst/gstbin.c: (gst_bin_class_init),
9638         (gst_bin_handle_message_func):
9639         Allow multiple state-recalculation threads. (Closes #328873)
9640
9641 2006-02-19  Julien MOUTTE  <julien@moutte.net>
9642
9643         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
9644         * gst/gstpad.c: (gst_pad_set_event_function),
9645         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9646         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
9647         2 strings. You can't use the STR_NULL macro on that.
9648
9649 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
9650
9651         * gst/gstpad.c: (gst_pad_set_event_function),
9652         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9653         (gst_pad_set_getcaps_function)
9654         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
9655           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
9656           So now, we can use --gst-debug-level=5 on Windows
9657         * win32/common/libgstcontroller.def:
9658           Added export of gst_controller_init
9659         * win32/vs6/libgstcontroller.dsp:
9660           Fixed Release post build configuration
9661
9662 2006-02-17  Wim Taymans  <wim@fluendo.com>
9663
9664         * tests/check/gst/gstquery.c: (GST_START_TEST):
9665         Added another check.
9666
9667 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * plugins/elements/gsttypefindelement.c: (find_peek):
9670           We can do peeks at non-zero offsets, as long as they
9671           fall within the buffer we have.
9672
9673 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
9674
9675         * tests/check/Makefile.am:
9676         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
9677         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
9678         (parse_suite), (main):
9679           Add testsuite for parse launch syntax
9680
9681 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
9682
9683         * plugins/elements/gsttypefindelement.c:
9684         (gst_type_find_element_chain):
9685           When typefinding is unsuccessful in the chain function, don't
9686           error out immediately. Only error out with NO_CAPS_FOUND if
9687           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
9688           otherwise simply wait for more data so we can try typefinding
9689           again with more data later. Also, don't attempt to typefind
9690           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
9691           this should improve typefinding from network sources where the
9692           size of the first buffer can be somewhat random.
9693
9694 2006-02-14  Wim Taymans  <wim@fluendo.com>
9695
9696         * docs/gst/gstreamer-sections.txt:
9697         * gst/gstpadtemplate.c:
9698         * gst/gstpadtemplate.h:
9699         Fix padtemplate docs, fixes #328805.
9700
9701 2006-02-14  Wim Taymans  <wim@fluendo.com>
9702
9703         * tools/gst-launch.c: (main):
9704         NO_PREROLL is not an ERROR so don't send confusing messages
9705         to the user.
9706
9707 2006-02-14  Wim Taymans  <wim@fluendo.com>
9708
9709         Patch by: Torsten Schoenfeld
9710
9711         * gst/gstregistry.c: (gst_registry_get_default),
9712         (_gst_registry_cleanup):
9713         Protect default registry with lock and ref/sink it.
9714         Fixes #324818
9715
9716 2006-02-14  Wim Taymans  <wim@fluendo.com>
9717
9718         * gst/gstbuffer.c:
9719         * gst/gstquery.c: (gst_query_list_add_format),
9720         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9721         (gst_query_parse_formats_nth):
9722         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9723         Docs fixes.
9724
9725 2006-02-14  Wim Taymans  <wim@fluendo.com>
9726
9727         * docs/gst/gstreamer-sections.txt:
9728         Reworked query docs.
9729
9730         * gst/gstquery.c: (gst_query_new_formats),
9731         (gst_query_list_add_format), (gst_query_set_formats),
9732         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9733         (gst_query_parse_formats_nth):
9734         * gst/gstquery.h:
9735         Flesh out formats query, added some new methods.
9736         Fix part of #324398.
9737
9738         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
9739         Added query creation tests.
9740
9741 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
9742
9743         * gst/gstpad.c: (fixate_value):
9744         Add a default fixation for fraction lists.
9745
9746 2006-02-13  Wim Taymans  <wim@fluendo.com>
9747
9748         * gst/gsttask.c: (gst_task_init), (gst_task_func),
9749         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
9750         (gst_task_join):
9751         * gst/gsttask.h:
9752         Detect and warn for obvious deadlocks. fixes #320340
9753         Fix error case where lock was not released.
9754
9755         * tests/check/Makefile.am:
9756         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
9757         (task_func), (gst_element_suite), (main):
9758         Add task check.
9759
9760 2006-02-13  Wim Taymans  <wim@fluendo.com>
9761
9762         * docs/gst/gstreamer-sections.txt:
9763         * gst/gstbus.c:
9764         Add new functions to docs.
9765
9766 2006-02-13  Wim Taymans  <wim@fluendo.com>
9767
9768         * docs/design/part-TODO.txt:
9769         Updated TODO list, basesrc supports seeking to non-bytes
9770         formats.
9771
9772         * docs/design/part-element-sink.txt:
9773         Update docs.
9774
9775         * gst/gstbin.c: (bin_replace_message),
9776         (gst_bin_handle_message_func):
9777         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
9778         * gst/gstevent.c: (gst_event_finalize):
9779         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9780         (gst_pad_send_event):
9781         Use shiny new _TYPE_NAME macros.
9782
9783         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9784         Move debug statement up.
9785
9786         * gst/gstelement.c: (gst_element_set_locked_state):
9787         Add some debugging.
9788
9789 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
9790
9791         * docs/gst/gstreamer-sections.txt:
9792         * gst/gstmessage.h:
9793         * gst/gstquery.h:
9794           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
9795           macros (#330906). Also, document the already existing
9796           GST_QUERY_TYPE macro.
9797
9798 2006-02-13  Wim Taymans  <wim@fluendo.com>
9799
9800         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
9801         (event_probe), (GST_START_TEST):
9802         Only events up to the pipeline EOS are counted, there are
9803         some more when going to NULL currently which we don't care
9804         about for now.
9805
9806 2006-02-13  Wim Taymans  <wim@fluendo.com>
9807
9808         * gst/gstpad.c: (gst_pad_send_event):
9809         Correctly check flushing and emit probes. fixes #330125
9810
9811 2006-02-10  Andy Wingo  <wingo@pobox.com>
9812
9813         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9814         structure.
9815         (gst_bus_init): Cache the location of the private data in the
9816         instance structure.
9817         (gst_bus_enable_sync_message_emission) 
9818         (gst_bus_disable_sync_message_emission): Implement new public
9819         functions.
9820         (gst_bus_post): Emit the sync-message signal if the user asked for
9821         it. Fixes #330684.
9822
9823         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
9824         location of the bus-private structure.
9825         (gst_bus_enable_sync_message_emission)
9826         (gst_bus_disable_sync_message_emission): API addition
9827
9828 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
9829
9830         Patch by: Vincent Torri
9831
9832         * docs/pwg/building-boiler.xml:
9833         PWG patch from #326800
9834
9835 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9836
9837         * configure.ac:
9838         * docs/Makefile.am:
9839         * docs/design/Makefile.am:
9840           Dist design docs.
9841
9842 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9843
9844         * configure.ac:
9845           back to CVS
9846
9847 === release 0.10.3 ===
9848
9849 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
9850
9851         * configure.ac:
9852           releasing 0.10.3, "Like a virgin"
9853
9854 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9855
9856         * configure.ac:
9857           2nd prerelease of 0.10.3
9858           Bump libtool versioning.
9859
9860 2006-02-07  Andy Wingo  <wingo@pobox.com>
9861
9862         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
9863         update last_stop if we're in TIME format and the timestamp is
9864         valid.
9865
9866         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
9867         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
9868         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
9869         If we get a new newsegment with a different format, adapt
9870         accordingly.
9871
9872         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
9873         of 0. Not a problem, really.
9874
9875         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
9876         warn if sync=true.
9877
9878 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
9879
9880         * configure.ac:
9881           Prelease of 0.10.3
9882
9883 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
9884
9885         * win32/vs7:
9886           project files updated to the default vs7 configuration
9887         * win32/common/libgstbase.def:
9888         * win32/common/libgstreamer.def:
9889           added new symbols,
9890           removed empty lines,
9891           sorted all exported symbols alphabetically
9892         * win32/common/dirent.c:
9893         * win32/common/dirent.h:
9894         * win32/common/gchar.h:
9895           use windows line end.
9896           
9897 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9898
9899         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9900           Send EOS event when stopping.
9901
9902 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9903
9904         * docs/README:
9905           Tell folks what to do if the plugin-foobar.xml file
9906           hasn't been generated for a newly-added plugin.
9907
9908 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9909
9910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9911         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9912         (gst_collect_pads_start), (gst_collect_pads_stop),
9913         (gst_collect_pads_event): Collectpads now holds a reference
9914         to the GstPad that was added. Indeed we don't want to look
9915         at pads that might just go away with no warning...
9916
9917 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9918
9919         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9920         (gst_collect_pads_start), (gst_collect_pads_stop),
9921         (gst_collect_pads_event), (gst_collect_pads_chain):
9922         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
9923         Mark Nauwelaerts's patch on bug #328491.
9924
9925 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9926
9927         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
9928         (gst_utils_suite):
9929           Add some simple tests for gst_parse_bin_from_description() and
9930           gst_bin_find_unconnected_pad() (#329069).
9931
9932 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9933
9934         * tools/gst-launch.c: (event_loop), (main):
9935           Catch errors during preroll (#320084).
9936
9937 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
9938
9939         * plugins/elements/gsttypefindelement.c:
9940         (gst_type_find_element_activate):
9941           Post TYPE_NOT_FOUND error message when typefinding
9942           is unsuccessful in the activate function as well.
9943
9944 2006-02-02  Wim Taymans  <wim@fluendo.com>
9945
9946         * docs/design/part-element-sink.txt:
9947         Updated doc.
9948
9949 2006-02-02  Wim Taymans  <wim@fluendo.com>
9950
9951         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9952         (gst_base_sink_render_object),
9953         (gst_base_sink_queue_object_unlocked):
9954         Only keep track of prerollable items when we are 
9955         prerolling.
9956         Before rendering after preroll, always check if we
9957         have queued items.
9958         Added some more debugging.
9959
9960 2006-02-02  Wim Taymans  <wim@fluendo.com>
9961
9962         * gst/gstelement.c: (gst_element_continue_state),
9963         (gst_element_set_state_func), (gst_element_change_state):
9964         Fixed #326576, been running this for quite some time with
9965         no regressions at all.
9966
9967 2006-02-02  Wim Taymans  <wim@fluendo.com>
9968
9969         * common/gst.supp:
9970         Added more suppressions
9971
9972 2006-02-02  Wim Taymans  <wim@fluendo.com>
9973
9974         * docs/design/part-element-sink.txt:
9975         Updated document.
9976
9977         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9978         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
9979         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9980         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9981         (gst_base_sink_do_sync), (gst_base_sink_render_object),
9982         (gst_base_sink_preroll_object),
9983         (gst_base_sink_queue_object_unlocked),
9984         (gst_base_sink_queue_object), (gst_base_sink_event),
9985         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
9986         (gst_base_sink_loop), (gst_base_sink_activate_pull),
9987         (gst_base_sink_get_position), (gst_base_sink_change_state):
9988         * libs/gst/base/gstbasesink.h:
9989         Totally refactored matching the design doc.
9990         Use two segments, one to clip incomming buffers and another to
9991         perform sync.
9992         Handle queueing correctly, bypass the queue when playing.
9993         Make EOS cancelable.
9994         Handle errors correctly when operating in pull based mode.
9995
9996         * tests/check/elements/fakesink.c: (GST_START_TEST),
9997         (fakesink_suite):
9998         Added new check for sinks.
9999
10000 2006-02-02  Wim Taymans  <wim@fluendo.com>
10001
10002         * gst/gstsegment.c: (gst_segment_clip):
10003         No reason to refuse to clip when start == -1
10004
10005 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
10006
10007         * docs/README:
10008         * docs/manual/intro-basics.xml:
10009         * docs/manual/intro-preface.xml:
10010         * docs/manual/manual.xml:
10011         * docs/pwg/advanced-dparams.xml:
10012         * docs/pwg/intro-basics.xml:
10013         * docs/pwg/intro-preface.xml:
10014         * docs/pwg/pwg.xml:
10015           describe dparams (controller) for plugins
10016           unify docs a little more
10017
10018 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
10019
10020         * docs/gst/gstreamer-sections.txt:
10021         * gst/gstutils.c: (element_find_unconnected_pad),
10022         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
10023         * gst/gstutils.h:
10024           Add new API: gst_parse_bin_from_description() and
10025           gst_bin_find_unconnected_pad() (#329069).
10026
10027 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
10028
10029         * docs/manual/README:
10030           uncover a nasty detail of the docs build
10031
10032 2006-01-31  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
10035         Don't cache duration messages if we're not going to use or
10036         free them.
10037
10038 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
10039
10040         * docs/manual/advanced-dparams.xml:
10041         * docs/pwg/advanced-dparams.xml:
10042           more dparam docs
10043         * gst/gstindex.c:
10044           fix docs
10045         * libs/gst/controller/lib.c: (gst_controller_init):
10046           init just once
10047
10048 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * gst/gstelement.c: (gst_element_message_full):
10051           also show file/line/func if no additional debug was given
10052
10053 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
10054         
10055         * win32/vs7/grammar.vcproj:
10056           activate copy of autogenerated files for Release mode
10057
10058 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10059         
10060         * win32/common/libgstreamer.def:
10061           export gst_value_compare
10062
10063 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
10064
10065         * plugins/elements/Makefile.am:
10066         * plugins/elements/gstelements.c:
10067         * plugins/elements/gstfdsink.c: (_do_init),
10068         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
10069         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
10070         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
10071         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
10072         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
10073         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
10074         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
10075         * plugins/elements/gstfdsink.h:
10076         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
10077
10078 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
10079
10080         * docs/manual/advanced-dparams.xml:
10081           describe controller
10082         * docs/manual/advanced-position.xml:
10083         * docs/manual/basics-init.xml:
10084         * docs/manual/manual.xml:
10085         * docs/manual/titlepage.xml:
10086         * docs/pwg/pwg.xml:
10087         * docs/pwg/titlepage.xml:
10088           cleanup xml (more to come)
10089         * libs/gst/controller/gstcontroller.c:
10090           fix typo
10091
10092 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10093         
10094         * win32/vs6/grammar.dsp:
10095           add autogen of gstmarshal.c,h for Release mode
10096                 
10097 2006-01-30  Wim Taymans  <wim@fluendo.com>
10098
10099         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10100         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
10101         (gst_base_sink_handle_object), (gst_base_sink_event),
10102         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
10103         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10104         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
10105         (gst_base_sink_deactivate), (gst_base_sink_activate),
10106         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
10107         (gst_base_sink_query), (gst_base_sink_change_state):
10108         Basesink cleanups, remove some old code.
10109         Handle the case where a subclass can preroll in the render
10110         method (mostly audiosinks).
10111         Handle more events.
10112         Remove some locks around variables that are now protected
10113         with the PREROLL_LOCK (clock_id, flushing, ..).
10114         Optimize position query some more, do correct locking.
10115         Remove old code to push queue in state change, this is not
10116         needed anymore since preroll blocks on all prerollable items 
10117         now.
10118         Almost implemented as described in design doc.
10119
10120 2006-01-30  Wim Taymans  <wim@fluendo.com>
10121
10122         * tests/check/gst/gstbin.c: (GST_START_TEST):
10123         Wait for refcount to settle down before checking.
10124
10125 2006-01-30  Wim Taymans  <wim@fluendo.com>
10126
10127         * docs/design/part-element-sink.txt:
10128         Pseudo code overview of desired sink behaviour regarding
10129         preroll.
10130
10131 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10132         * win32/vs6/grammar.dsp:
10133           fix some bugs in Release mode for autogenerated files
10134                 
10135 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10136         * win32/common/libgstbase.def:
10137         * win32/common/libgstreamer.def:
10138           export some new symbols: gst_base_src_set_format,
10139           gst_iterator_next, gst_structure_set_valist
10140
10141 2006-01-29  Julien MOUTTE  <julien@moutte.net>
10142
10143         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10144         Set pad functions unconditionally. Fixes #329105.
10145
10146 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10147         * win32/vs8:
10148           add vs8 project files created by Sergey Scobich
10149
10150 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
10151
10152         * gst/gstutils.c: (gst_element_unlink_pads):
10153         Don't leak pad references.
10154
10155         * tests/check/elements/fakesink.c: (GST_START_TEST):
10156         * tests/check/generic/sinks.c: (GST_START_TEST):
10157         * tests/check/generic/states.c: (GST_START_TEST):
10158         * tests/check/gst/gstbin.c: (GST_START_TEST):
10159         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10160         * tests/check/gst/gstelement.c: (GST_START_TEST):
10161         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10162         * tests/check/gst/gstiterator.c: (GST_START_TEST):
10163         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10164         Fix a bunch of leaks. Make generic/sinks.c
10165         use a bit less cpu by slowing the buffer rate
10166         between fakesrc and fakesink.
10167         
10168 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
10169         * gst/gstcaps.c:
10170         * gst/gstelement.c: (gst_element_send_event):
10171         * gst/gstevent.c:
10172         * gst/gstinfo.c:
10173         * gst/gstiterator.c:
10174         * gst/gstiterator.h:
10175         * gst/gstpad.c: (gst_pad_send_event):
10176         * gst/gststructure.c:
10177         * gst/gsturi.c:
10178         * gst/gstutils.c:
10179         * gst/gstvalue.c:
10180         * libs/gst/base/gstadapter.c:
10181           doc fixes, to link to function, just write gst_cool_function(), don't
10182           prefix with '#'
10183
10184 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10185
10186         * plugins/elements/gsttee.c: (gst_tee_do_push),
10187         (gst_tee_handle_buffer):
10188         Always prefer an actual return value from a src
10189         pad in place of NOT_LINKED. This means we return
10190         WRONG_STATE when all src pads are WRONG_STATE
10191         instead of NOT_LINKED.
10192
10193         Lock when replacing the last message to prevent
10194         racing with the get_property method.
10195
10196         Add debug output
10197
10198 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10199
10200         * tests/check/Makefile.am:
10201         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
10202         (main):
10203         Add a very simple check that should have caught the memleak I fixed
10204         last night (if not for the slice allocator hiding it)
10205
10206 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10207
10208         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10209         (gst_bin_remove_func), (gst_bin_handle_message_func),
10210         (bin_query_duration_fold), (bin_query_generic_fold):
10211         Clean up references to the clock provider when disposed or when
10212         handling a clock-lost message from it.
10213
10214         Unref sinks when performing a query via gst_iterator_fold, as the
10215         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
10216
10217         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
10218         (gst_clock_set_master):
10219         Drop our reference to the master clock, if any, when we are disposed.
10220
10221         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
10222         Chain up in dispose. 
10223
10224 2006-01-26  Wim Taymans  <wim@fluendo.com>
10225
10226         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10227         Add some debugging.
10228
10229 2006-01-26  Julien MOUTTE  <julien@moutte.net>
10230
10231         * plugins/elements/gsttee.c: (gst_tee_do_push),
10232         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
10233         handles pad being NOT_LINKED or in WRONG_STATE.
10234
10235 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10236
10237         * win32/MANIFEST:
10238           more updating
10239
10240 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10241
10242         * win32/MANIFEST:
10243           remove obsolete entry
10244
10245 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10246
10247         * docs/gst/gstreamer-sections.txt:
10248         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
10249         (gst_bin_iterate_sources), (gst_bin_send_event):
10250         * gst/gstbin.h:
10251         * gst/gstelement.c: (gst_element_send_event):
10252         * gst/gstevent.c:
10253         * gst/gstpad.c: (gst_pad_send_event):
10254           added code for downstream events, reviewed docs in gstevent.c
10255
10256 2006-01-25  Julien MOUTTE  <julien@moutte.net>
10257
10258         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10259         We only query position using the clock in the playing state.
10260         Query peer in the other cases.
10261         * win32/common/config.h: Updates.
10262
10263 2006-01-24  Wim Taymans  <wim@fluendo.com>
10264
10265         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10266         A clock entry that is scheduled for the exact time of the
10267         clock is still in time.
10268
10269         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10270         (gst_base_sink_do_sync):
10271         Add some more debug info.
10272
10273 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10274
10275         * win32/vs7:
10276           Add new vs7 project files and solution.
10277
10278 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10279
10280         * win32/vs7:
10281           all files removed as they were out-dated.
10282
10283 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * docs/random/release:
10286           update notes
10287         * gst/gstbin.c: (gst_bin_init):
10288         * gst/gstbus.c: (gst_bus_new):
10289         * gst/gstbus.h:
10290         * gst/gstpipeline.c: (gst_pipeline_init):
10291           use gst_bus_new(), improve logging, fix docs
10292         * win32/common/config.h:
10293           update for cvs build
10294
10295 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * autogen.sh:
10298           up required version of automake to 1.7
10299
10300 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
10301
10302         * win32/common/libgstreamer.def:
10303           export gst_buffer_is_metadata_writable
10304
10305 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
10306
10307         * docs/gst/gstreamer-sections.txt:
10308         * gst/gstevent.h:
10309           Add gst_event_replace() (#327001)
10310
10311 2006-01-20  Wim Taymans  <wim@fluendo.com>
10312
10313         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10314         Make it actually compile too..
10315
10316 2006-01-20  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/gstcaps.c:
10319         Clarify behaviour of _is_equal() when passing NULL parameters.
10320
10321         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10322         (gst_pad_set_caps):
10323         Cleanups. Don't unref NULL caps.
10324         When setting the same caps, protect caps of the pad with
10325         proper lock.
10326         Use full functionality of _is_equal() when comparing caps.
10327
10328 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10329
10330         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10331         Don't loop infinitely if there are no buffers to present. Partially
10332         fixes #327197, but collectpads is just broken for reusing elements
10333         to do multiple encodes atm.
10334
10335 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10336
10337         * tools/gst-inspect.c: (print_element_features):
10338         * tools/gst-xmlinspect.c: (main):
10339         URL_HANDLER is not a plugin feature we can search for in
10340         the registry.
10341
10342 2006-01-19  Edward Hervey  <edward@fluendo.com>
10343
10344         * gst/gstelement.c: (gst_element_pads_activate): 
10345         When activating, do src pads first, then sink pads.
10346         When de-activating, do sink pads first, then src pads.
10347
10348 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10349
10350         * docs/gst/gstreamer-sections.txt:
10351         Add gst_index_add_associationv to the docs
10352
10353 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10354
10355         * gst/gstevent.c:
10356           Fix docs typo
10357
10358         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
10359         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
10360           Do some refactoring. Doesn't actually change functionality,
10361           but makes landing the DRAIN event easier later.
10362
10363 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * docs/pwg/advanced-scheduling.xml:
10366           Update from 0.9.x to 0.10 API and make example a bit
10367           clearer.
10368
10369 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10370
10371         * docs/gst/gstreamer-sections.txt:
10372         Add gst_buffer_(is|make)_metadata_writable methods.
10373
10374 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10375
10376         * docs/design/part-sparsestreams.txt:
10377         Update sparse streams doc, hopefully for greater clarity
10378
10379 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
10380
10381         * docs/design/part-events.txt:
10382         Remove mention of FILLER events.
10383         Add DRAIN event.
10384
10385         * docs/design/part-sparsestreams.txt:
10386         Write some things about using NEWSEGMENT to keep sparse streams
10387         flowing.
10388
10389 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10390
10391         * gst/gstbin.c: (gst_bin_dispose):
10392           Guard gst_object_unref call against a NULL object (dispose
10393           can theoretically be called multiple times).
10394           
10395 2006-01-18  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/gstbin.c: (gst_bin_element_set_state):
10398         * gst/gstclock.c: (gst_clock_id_wait):
10399         Added some more debug info.
10400
10401         * libs/gst/base/gstadapter.c:
10402         Added more docs.
10403
10404         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10405         (gst_base_sink_do_sync), (gst_base_sink_chain):
10406         Added some comments.
10407
10408 2006-01-18  Wim Taymans  <wim@fluendo.com>
10409
10410         * tests/check/Makefile.am:
10411         * tests/check/elements/fakesink.c: (chain_async_buffer),
10412         (chain_async), (chain_async_return), (GST_START_TEST),
10413         (fakesink_suite), (main):
10414         Added fakesink test that checks prerolling and clipping
10415         behaviour.
10416
10417         * tests/check/gst/gstutils.c: (GST_START_TEST):
10418         Make check run faster so that buildbots don't timeout.
10419
10420 2006-01-18  Wim Taymans  <wim@fluendo.com>
10421
10422         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10423         (gst_base_sink_do_sync):
10424         Some cleanups.
10425         When the sink finishes blocking on the preroll buffer, it can
10426         immediatly render it instead of rendering when the next buffer
10427         arrives.
10428
10429 2006-01-18  Wim Taymans  <wim@fluendo.com>
10430
10431         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
10432         (gst_base_sink_get_property), (gst_base_sink_do_sync),
10433         (gst_base_sink_chain):
10434         Small cleanups.
10435         GST_ELEMENT_CLOCK and sync are protected with LOCK.
10436         Don't store _last_stop if the buffer is dropped.
10437
10438 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10439
10440         * plugins/elements/gsttypefindelement.c:
10441         (gst_type_find_element_class_init):
10442           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
10443           object method handler that sets the caps on the pad and we want
10444           that to happen before we emit the signal (fixes e.g. feeding a
10445           plain text file to decodebin).
10446
10447 2006-01-18  Christian Schaller  <Christian@fluendo.com>
10448
10449         * gst/gstplugin.c: Add MPL and Proprietary as license options
10450
10451 2006-01-18  Andy Wingo  <wingo@pobox.com>
10452
10453         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
10454         symbol was exported before, it appears this was just an oversight.
10455         Fixes #168703.
10456         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
10457
10458         * gst/gstindex.c (gst_index_add_associationv): Changed int in
10459         prototype to gint. OK since this prototype was not in the header.
10460
10461 2006-01-17  Andy Wingo  <wingo@pobox.com>
10462
10463         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
10464         registry while we remove plugins.
10465
10466         * tools/gst-inspect.c (print_element_info): Don't unref the
10467         factory arg, that should be the responsibility of whatever code
10468         received the ref. Fixes a double-free when called from
10469         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
10470         (main): Unref the factory if we have one.
10471         (print_element_list): No change -- relies on the
10472         plugin_feature_list_free to free the list of features.
10473
10474 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
10475
10476         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10477         (gst_buffer_make_metadata_writable):
10478         * gst/gstbuffer.h:
10479         * libs/gst/base/gstbasetransform.c:
10480         (gst_base_transform_prepare_output_buf):
10481         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10482         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10483           Replace gst_buffer_(make|is)_metadata_writable patch now
10484           that the release is out.
10485
10486 2006-01-17  Andy Wingo  <wingo@pobox.com>
10487
10488         * gst/gstregistry.c: Reflow design comment. Update so as to speak
10489         in the present tense without reference to versions.
10490
10491         * gst/gstregistry.c (gst_registry_add_plugin)
10492         (gst_registry_remove_plugin, gst_registry_remove_feature)
10493         (gst_registry_find_feature, gst_registry_get_feature_list)
10494         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
10495         (gst_registry_lookup, gst_registry_scan_path)
10496         (_gst_registry_remove_cache_plugins)
10497         (gst_registry_get_feature_list_by_plugin): Add argument
10498         validation.
10499
10500 === release 0.10.2 ===
10501
10502 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
10503
10504         * configure.ac:
10505           releasing 0.10.2, "If man is five"
10506
10507 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10508
10509         * gst/gstbuffer.c:
10510         * gst/gstbuffer.h:
10511         * libs/gst/base/gstbasetransform.c:
10512         (gst_base_transform_prepare_output_buf):
10513         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10514         * tests/check/gst/gstbuffer.c: (gst_test_suite):
10515           Back out patch until after the release.
10516
10517 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10518
10519         * gst/gstminiobject.c:
10520           Spelling fix in docs.
10521         * ChangeLog - remove conflict indicator
10522
10523 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10524
10525         Reviewed By: Andy Wingo
10526
10527         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10528         (gst_buffer_make_metadata_writable):
10529         * gst/gstbuffer.h:
10530           Add gst_buffer_(is|make)_metadata_writable as analogues of
10531           gst_buffer_(is|make)_writable.
10532
10533         * libs/gst/base/gstbasetransform.c:
10534         (gst_base_transform_prepare_output_buf):
10535         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10536           Use name gst_buffer_(is|make)_metadata_writable functions.
10537
10538         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10539           Test gst_buffer_(is|make)_metadata_writable
10540         
10541           (Closes: #324162)
10542
10543 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * docs/manual/Makefile.am:
10546           don't do parallel make
10547         * configure.ac:
10548           AC_SUBST HOST_CPU
10549         * win32/common/config.h.in:
10550           add generations for HOST_CPU and GST_MAJORMINOR
10551         * win32/common/config.h:
10552           commit generated result
10553
10554 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
10555
10556         * docs/manual/appendix-integration.xml:
10557           Update GNOME integration section to use gst_init_get_option_group()
10558           instead of the old popt stuff (#322911). Also, GNOME applications
10559           should  now use gconf*sink and gconf*src instead of the old gconf
10560           helper lib we had.
10561
10562 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
10563
10564
10565         * docs/gst/gstreamer-docs.sgml:
10566         * docs/gst/gstreamer-sections.txt:
10567         * docs/libs/gstreamer-libs-sections.txt:
10568           add new API entries to the docs
10569         * libs/gst/controller/Makefile.am:
10570         * libs/gst/controller/gstcontroller.c:
10571         * libs/gst/controller/gstcontroller.h:
10572         * libs/gst/controller/gstcontrollerprivate.h:
10573         * libs/gst/controller/gsthelper.c:
10574         * libs/gst/controller/gstinterpolation.c:
10575           move private structs to private header
10576         * po/README:
10577           gstreamer-0.7 -> gstreamer-0.10
10578         * tests/check/libs/struct_i386.h:
10579           remove private structs
10580
10581 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * plugins/indexers/Makefile.am:
10584           Fixes as part of #317048
10585
10586 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10587
10588         * plugins/indexers/Makefile.am:
10589           fix #316086 - compilation when mmap is missing
10590
10591 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
10592
10593         * libs/gst/base/gstbasesink.c:
10594           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
10595           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
10596         * win32/common/config.h:
10597           added some defines GST_MAJORMINOR and HOST_CPU
10598         * win32/common/libgstbase.def:
10599         * win32/common/libgstreamer.def:
10600           added some exported functions.
10601
10602 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10603
10604         * libs/gst/controller/gstcontroller.c:
10605         (gst_controlled_property_set_interpolation_mode),
10606         (gst_controlled_property_new):
10607         * libs/gst/controller/gstcontroller.h:
10608         * libs/gst/controller/gstinterpolation.c:
10609         (interpolate_none_get_string_value_array):
10610           make G_TYPE_STRING controlable
10611
10612 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10613
10614         * tools/README:
10615         * tools/gst-feedback.1.in:
10616         * tools/gst-inspect.1.in:
10617         * tools/gst-launch.1.in:
10618         * tools/gst-md5sum.1.in:
10619         * tools/gst-typefind.1.in:
10620         * tools/gst-xmlinspect.1.in:
10621         * tools/gst-xmllaunch.1.in:
10622           cleanup man-pages, remove reference to gst-register, document env-vars
10623
10624 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
10625
10626         * gst/gstbuffer.c: (gst_buffer_span):
10627           gst_buffer_span should copy the timestamp of the first buffer
10628           if they were both originally overlapping subbuffers of the 
10629           same parent, using the same logic as the 'slow copy' case.
10630
10631 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
10632
10633         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
10634           Need to awaken ALL the pads when we pop a buffer, otherwise
10635           collectpads only works when there is 2 input streams.
10636
10637 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
10638
10639         * docs/random/ensonic/media-device-daemon.txt:
10640           more ideas (dbus)
10641         * gst/gstbuffer.c:
10642           fix doc example, add clarification
10643         * tools/gst-launch.1.in:
10644           add initial info about GST_PLUGIN_PATH, needs more work
10645
10646 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10647
10648         * docs/manual/basics-bins.xml:
10649         * docs/manual/basics-elements.xml:
10650         * docs/manual/intro-basics.xml:
10651           Some more minor docs additions and updates.
10652
10653 2006-01-11  Wim Taymans  <wim@fluendo.com>
10654
10655         * docs/manual/basics-bins.xml:
10656         * docs/manual/basics-elements.xml:
10657         Some small fixes as pointed out by Ser-ver on IRC.
10658
10659 2006-01-10  Edward Hervey  <edward@fluendo.com>
10660
10661         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10662         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
10663         the single-segment mode.
10664
10665 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
10666
10667         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10668
10669         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
10670         (gst_base_src_perform_seek), (gst_base_src_send_event),
10671         (gst_base_src_set_property), (gst_base_src_get_property),
10672         (gst_base_src_loop), (gst_base_src_start),
10673         (gst_base_src_activate_push):
10674         * libs/gst/base/gstbasesrc.h:
10675           Name (private) union; makes Sun's Forte compiler happy (#324900).
10676
10677 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10678
10679         * README:
10680           gst-register is gone.
10681
10682 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * gst/gstvalue.c: (_gst_value_initialize):
10685           make the G_TYPE_DATE instantiation work if debug is disabled
10686
10687 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
10688
10689         * gst/gstmessage.c: (gst_message_parse_tag),
10690         (gst_message_parse_error), (gst_message_parse_warning):
10691           Don't crash when return location for error/warning debug
10692           string is NULL; add fact that return locations can be
10693           NULL to docs where appropriate.
10694
10695 2006-01-05  Wim Taymans  <wim@fluendo.com>
10696
10697         * gst/gstplugin.c: (gst_plugin_load_file):
10698         Replace strdup by g_strdup.
10699
10700 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10701
10702         * docs/pwg/advanced-types.xml:
10703           fix doc borkage
10704
10705 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         submitted by: Abel Cheung
10708
10709         * po/LINGUAS:
10710         * po/zh_TW.po:
10711           Added Chinese (traditional) translation
10712
10713 2006-01-04  Wim Taymans  <wim@fluendo.com>
10714
10715         * docs/manual/basics-pads.xml:
10716         * docs/plugins/Makefile.am:
10717         * docs/plugins/gstreamer-plugins-docs.sgml:
10718         * docs/plugins/gstreamer-plugins-sections.txt:
10719         * docs/pwg/advanced-clock.xml:
10720         * docs/pwg/advanced-scheduling.xml:
10721         * docs/pwg/advanced-types.xml:
10722         * plugins/elements/gstfdsink.c:
10723         * plugins/elements/gstfdsrc.c:
10724         * plugins/elements/gstfdsrc.h:
10725         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10726         * plugins/elements/gstidentity.h:
10727         * plugins/elements/gstqueue.h:
10728         * plugins/elements/gsttee.c:
10729         * plugins/elements/gsttee.h:
10730         * plugins/elements/gsttypefindelement.c:
10731         (gst_type_find_element_class_init):
10732         * plugins/elements/gsttypefindelement.h:
10733         Small updates to various docs.
10734         Added core plugins to docs.
10735
10736 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10737
10738         * common/gst.supp:
10739           add a suppression for liboil's uninitialized variable
10740
10741 2006-01-02  James Livingston  <jrl at ids dot org dot au>
10742
10743         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10744
10745         * gst/gstutils.h:
10746           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
10747           macro, so that gcc doesn't complain if the -Wmissing-prototypes
10748           compiler switch is being used (#325429).
10749
10750 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
10751
10752         * gst/gstbin.c: (gst_bin_query):
10753           Disable duration query caching in bins until it gets
10754           fixed (see #324807).
10755
10756 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10757
10758         * tools/gst-inspect.c: (print_element_properties_info):
10759           Handle properties of POINTER and BOXED type.
10760
10761 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * gst/gst.c: (init_post):
10764           Init tags stuff and some other things before loading
10765           any static plugins (there may be other static plugins
10766           than just the GStreamer ones, and they may want to
10767           register their own tags or formats or whatever, and
10768           preferably without segfaulting).
10769
10770         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
10771           Print at least a warning in the debug logs if we drop a
10772           query just because we don't know how to adjust the value
10773           in the particular format.
10774
10775 2005-12-24  David Schleef  <ds@schleef.org>
10776
10777         * tools/gstreamer-completion:
10778           Replacement for gst-complete written in sh and sed.  Only
10779           completes names of features, but that's 90% of what I want
10780           it for.  Properties are not available in registry.xml.  (Maybe
10781           they should be...)
10782
10783 === release 0.10.1 ===
10784
10785 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
10786
10787         * configure.ac:
10788           releasing 0.10.1, "Nollaig chridheil"
10789
10790 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
10791
10792         * docs/faq/cvs.xml:
10793           Add missing quote, should be make ERROR_CFLAGS="".
10794
10795 2005-12-20  Wim Taymans  <wim@fluendo.com>
10796
10797         * docs/design/part-trickmodes.txt:
10798         More documentation on trickmodes.
10799
10800 2005-12-20  Edward Hervey  <edward@fluendo.com>
10801
10802         * gst/gstcaps.c: (gst_static_caps_get_type):
10803         * gst/gstcaps.h:
10804           API addition: GST_TYPE_STATIC_CAPS
10805         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
10806         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
10807         * gst/gstpadtemplate.h:
10808           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
10809         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
10810         bindings.
10811
10812 2005-12-18  Wim Taymans  <wim@fluendo.com>
10813
10814         * libs/gst/base/gstadapter.c:
10815         * libs/gst/base/gstadapter.h:
10816         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10817         (gst_base_sink_get_position):
10818         * libs/gst/base/gstbasesink.h:
10819         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10820         (gst_base_src_default_query), (gst_base_src_default_do_seek),
10821         (gst_base_src_do_seek), (gst_base_src_perform_seek),
10822         (gst_base_src_send_event), (gst_base_src_update_length),
10823         (gst_base_src_get_range), (gst_base_src_loop),
10824         (gst_base_src_start):
10825         * libs/gst/base/gstbasesrc.h:
10826         * libs/gst/base/gstbasetransform.h:
10827         * libs/gst/base/gstcollectpads.h:
10828         * libs/gst/base/gstpushsrc.c:
10829         * libs/gst/base/gstpushsrc.h:
10830         * libs/gst/dataprotocol/dataprotocol.c:
10831         * libs/gst/dataprotocol/dataprotocol.h:
10832         * libs/gst/net/gstnetclientclock.h:
10833         * libs/gst/net/gstnettimeprovider.h:
10834         Documentation updates.
10835
10836 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
10837
10838         * docs/manual/basics-helloworld.xml:
10839           Remove superfluous closing bracket in helloworld example.
10840
10841 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
10842
10843         * tools/gst-launch.1.in:
10844           Update gst-launch man page; add a section with useful
10845           environment variables. Fixes #323882.
10846
10847 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
10848
10849         * gst/gst.c:
10850         * gst/gst_private.h:
10851           change some char* into char[]
10852
10853 2005-12-16  Wim Taymans  <wim@fluendo.com>
10854
10855         * gst/gstregistryxml.c: (load_feature):
10856         Cleanups.
10857         Don't use g_object_unref on GstObjects so that we avoid
10858         leaks on unsafe glibs.
10859
10860 2005-12-16  Wim Taymans  <wim@fluendo.com>
10861
10862         * gst/gstbin.c: (gst_bin_recalc_state):
10863         Small doc updates.
10864
10865 2005-12-16  Wim Taymans  <wim@fluendo.com>
10866
10867         * common/check.mak:
10868         Added make forever target for check.
10869
10870 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10871
10872         * gst/gst.c: (init_post):
10873           make the registry cache file HOST_CPU-dependent
10874
10875 2005-12-16  Andy Wingo  <wingo@pobox.com>
10876
10877         * plugins/elements/gstbufferstore.c
10878         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10879         return value.
10880
10881         * tests/check/gst/gstobject.c
10882         (test_fake_object_name_threaded_unique): Pay attention to
10883         g_list_sort return value.
10884
10885 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10886
10887         * tools/gst-feedback-m.m:
10888           Update for 0.9/0.10 (fixes #323870).
10889
10890 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
10891
10892         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
10893           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10894           
10895         * tests/check/gst/gstminiobject.c: (my_foo_init),
10896         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
10897         (test_value_collection), (gst_mini_object_suite):
10898           Add test to ensure refcounts end up as expected when passing
10899           GstMiniObjects through g_object_get() and g_object_set().
10900
10901 2005-12-14  Julien MOUTTE  <julien@moutte.net>
10902
10903         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10904         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
10905         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
10906         of collectpads. This version removes a lot of races without
10907         touching API/ABI. Yay !
10908
10909 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10910
10911         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
10912           Don't allow activation of a srcpad in pull_range if it has no
10913           getrange function.
10914           Change some debug statements to be a little clearer
10915
10916         * plugins/elements/gsttypefindelement.c:
10917         (gst_type_find_handle_src_query):
10918           Check that we have a peer before executing queries thereupon.
10919
10920         * tests/examples/metadata/read-metadata.c: (message_loop):
10921           Use gst_bus_pop instead of gst_bus_poll when we just want it to
10922           immediately return us any available message with 0 timeout.
10923
10924 2005-12-12  Michael Smith  <msmith@fluendo.com>
10925
10926         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10927           Don't unref factories after calling them.
10928         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
10929         * plugins/elements/gsttypefindelement.c:
10930         (gst_type_find_element_chain):
10931           Free lists of factories after using them. Fixing typefinding memory
10932           leaks.
10933
10934 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10935
10936         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10937         (gst_plugin_feature_load):
10938           more meaningful debug output
10939         * configure.ac:
10940         * tests/Makefile.am:
10941         * tests/old/examples/Makefile.am:
10942           make make distcheck happy again
10943
10944 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10945
10946         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10947           Catch the special case where we are operating chain-based,
10948           but the downstream peer pad has no chain function. Emit a
10949           custom error message in this case instead of letting the
10950           core generate one implying that this is some sort of core
10951           bug. It's not, it just means that whatever got plugged
10952           into the pipeline downstream when we announced the type
10953           can only operate pull-based, while our source can only
10954           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
10955           Error string has not been marked for translation yet, as
10956           it probably needs some more work first.
10957
10958         (gst_type_find_element_get_best_possibility):
10959           Add helper function to find the best of all available
10960           found possibilities that qualify given the min. threshold.
10961
10962         (gst_type_find_element_handle_event):
10963           Fix the case where we get an EOS while still in TYPEFIND
10964           mode (we want to chose the best of all possible types,
10965           not just the first type that happens to be in our unsorted
10966           list of possible types).
10967
10968         (gst_type_find_element_chain):
10969           Make sure we return GST_FLOW_ERROR when we errored out
10970           in stop_typefinding(); also, don't just find the best of
10971           all found type entries and then use the last examined
10972           type entry, but actually use the best entry.
10973
10974 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10975
10976         * tests/examples/typefind/typefind.c: (type_found):
10977         * tests/examples/xml/runxml.c: (xml_loaded):
10978           More gcc4 fixes and a mem leak fix.
10979
10980 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10981
10982         * tests/examples/xml/createxml.c: (object_saved):
10983           gcc 4 fixes
10984
10985 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10986
10987         * tests/Makefile.am:
10988           enable the examples even more
10989
10990 2005-12-12  Andy Wingo  <wingo@pobox.com>
10991
10992         * libs/gst/net/gstnettimeprovider.c
10993         (gst_net_time_provider_class_init, gst_net_time_provider_init)
10994         (gst_net_time_provider_set_property)
10995         (gst_net_time_provider_get_property):
10996         API addition: Export "active" as a GObject property.
10997         (gst_net_time_provider_thread): Only respond to time queries if
10998         the time provider is active.
10999
11000         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
11001         NetTimeProvider, preserving binary compat.
11002
11003 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11004
11005         * tests/examples/controller/audio-example.c: (main):
11006         * tests/examples/launch/Makefile.am:
11007           convert comments again
11008
11009 2005-12-12  Wim Taymans  <wim@fluendo.com>
11010
11011         * libs/gst/base/gstpushsrc.c:
11012         Fix typo.
11013
11014 2005-12-12  Wim Taymans  <wim@fluendo.com>
11015
11016         * docs/libs/gstreamer-libs-sections.txt:
11017         Added new symbol to docs.
11018
11019         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11020         (gst_base_src_init), (gst_base_src_set_format),
11021         (gst_base_src_default_query), (gst_base_src_query),
11022         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
11023         (gst_base_src_perform_seek), (gst_base_src_send_event),
11024         (gst_base_src_default_event), (gst_base_src_event_handler),
11025         (gst_base_src_set_property), (gst_base_src_get_property),
11026         (gst_base_src_wait), (gst_base_src_do_sync),
11027         (gst_base_src_update_length), (gst_base_src_get_range),
11028         (gst_base_src_check_get_range), (gst_base_src_loop),
11029         (gst_base_src_default_negotiate), (gst_base_src_start),
11030         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11031         (gst_base_src_change_state):
11032         * libs/gst/base/gstbasesrc.h:
11033         Implement seeking to other formats than _BYTES.
11034         Implement more seeking methods correctly.
11035         Doc updates.
11036         Added query vmethod.
11037         Added do_seek vmethod to make life easier for subclasses
11038         when seeking.
11039         API addition: gst_base_src_set_format()
11040
11041 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11042
11043         * tests/examples/Makefile.am:
11044           added that too
11045
11046 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11047
11048         * configure.ac:
11049         * docs/random/ensonic/media-device-daemon.txt:
11050         * tests/examples/controller/.cvsignore:
11051         * tests/examples/controller/Makefile.am:
11052         * tests/examples/controller/audio-example.c: (main):
11053         * tests/examples/helloworld/.cvsignore:
11054         * tests/examples/helloworld/Makefile.am:
11055         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
11056         * tests/examples/launch/.cvsignore:
11057         * tests/examples/launch/Makefile.am:
11058         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
11059         * tests/examples/metadata/.cvsignore:
11060         * tests/examples/metadata/Makefile.am:
11061         * tests/examples/metadata/read-metadata.c: (message_loop),
11062         (make_pipeline), (print_tag), (main):
11063         * tests/examples/queue/.cvsignore:
11064         * tests/examples/queue/Makefile.am:
11065         * tests/examples/queue/queue.c: (event_loop), (main):
11066         * tests/examples/typefind/.cvsignore:
11067         * tests/examples/typefind/Makefile.am:
11068         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
11069         (main):
11070         * tests/examples/xml/.cvsignore:
11071         * tests/examples/xml/Makefile.am:
11072         * tests/examples/xml/createxml.c: (object_saved), (main):
11073         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
11074         * tests/old/examples/Makefile.am:
11075         * tests/old/examples/TODO:
11076         * tests/old/examples/controller/.cvsignore:
11077         * tests/old/examples/controller/Makefile.am:
11078         * tests/old/examples/controller/audio-example.c:
11079         * tests/old/examples/helloworld/.cvsignore:
11080         * tests/old/examples/helloworld/Makefile.am:
11081         * tests/old/examples/helloworld/helloworld.c:
11082         * tests/old/examples/launch/.cvsignore:
11083         * tests/old/examples/launch/Makefile.am:
11084         * tests/old/examples/launch/mp3parselaunch.c:
11085         * tests/old/examples/launch/mp3play:
11086         * tests/old/examples/manual/Makefile.am:
11087         * tests/old/examples/metadata/Makefile.am:
11088         * tests/old/examples/metadata/read-metadata.c:
11089         * tests/old/examples/queue/.cvsignore:
11090         * tests/old/examples/queue/Makefile.am:
11091         * tests/old/examples/queue/queue.c:
11092         * tests/old/examples/typefind/.cvsignore:
11093         * tests/old/examples/typefind/Makefile.am:
11094         * tests/old/examples/typefind/typefind.c:
11095         * tests/old/examples/xml/.cvsignore:
11096         * tests/old/examples/xml/Makefile.am:
11097         * tests/old/examples/xml/createxml.c:
11098         * tests/old/examples/xml/runxml.c:
11099           applied some simple fixing to some examples
11100           re-enabled the working examples
11101
11102 2005-12-12  Wim Taymans  <wim@fluendo.com>
11103
11104         * gst/gstsegment.c: (gst_segment_init),
11105         (gst_segment_set_last_stop), (gst_segment_set_seek),
11106         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11107         (gst_segment_to_running_time):
11108         Added more documentation.
11109         Make sure the last_pos value is updated properly.
11110         Make sure to_stream_time and to_running_time don't
11111         operate on wrong values.
11112
11113         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11114         Update check.
11115
11116 2005-12-12  Michael Smith  <msmith@fluendo.com>
11117
11118         * plugins/elements/gsttypefindelement.c: (free_entry),
11119         (gst_type_find_element_chain):
11120           Now that we're not leaking factories, make sure we keep references
11121           to them while we need them.
11122
11123 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11124
11125         * tests/check/gst/struct_i386.h:
11126           ifdef out the XML structs
11127
11128 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         * gst/gstvalue.c: (gst_value_transform_double_fraction):
11131           floor is not needed, F is always positive; this obviates the
11132           need for adding -lm when building without libxml
11133
11134 2005-12-12  Wim Taymans  <wim@fluendo.com>
11135
11136         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11137         Take current playback rate into account when reporting
11138         the position.
11139
11140 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11141
11142         * docs/manual/mime-world.fig:
11143           Let's try this again, this time with a file that is
11144           actually in XFig format.
11145
11146 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * docs/manual/mime-world.fig:
11149           Add audioconvert element to diagram so that it
11150           matches the text and the code (fixes #319526).
11151
11152 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11153
11154         * docs/pwg/building-chainfn.xml:
11155         * docs/pwg/building-pads.xml:
11156         * docs/pwg/building-state.xml:
11157         * docs/pwg/other-source.xml:
11158           Update state change stuff for 0.10 (fixes #322969).
11159
11160 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11161
11162         * docs/manual/advanced-dataaccess.xml:
11163         * docs/manual/appendix-checklist.xml:
11164         * docs/manual/appendix-programs.xml:
11165         * docs/manual/basics-pads.xml:
11166         * docs/manual/highlevel-components.xml:
11167         * docs/manual/manual.xml:
11168           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
11169           add converters in front of pipelines; remove curly
11170           brackets for threads stuff, they no longer exist; use
11171           GST_TYPE_FRACTION for framerates; update some pieces of
11172           code to 0.10, but there's plenty more to do.
11173
11174         * docs/manual/appendix-porting.xml:
11175           Expand on asynchroneous state changes; s/0.9/0.10/;
11176           mention disappearance of gst_init_get_popt_table()
11177           (fixes #322916).
11178
11179 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11180
11181         * docs/faq/using.xml:
11182           Spider no longer exists, and neither does gst-launch-ext.
11183           Update examples to use decodebin and playbin and put
11184           converters in front of sinks (fixes #323726).
11185
11186 2005-12-09  Michael Smith  <msmith@fluendo.com>
11187
11188         * plugins/elements/gsttypefindelement.c: (find_peek),
11189         (gst_type_find_element_chain):
11190           Fix leaking element factories in typefinding.
11191           Fix problem where we forgot about a probable type on non-seekable
11192           files, and thus later mis-typefound it.
11193
11194 2005-12-09  Michael Smith  <msmith@fluendo.com>
11195
11196         * common/m4/gst-makecontext.m4:
11197         * common/m4/gst-mcsc.m4:
11198         * configure.ac:
11199         * win32/common/config.h:
11200         * win32/common/config.h.in:
11201           Remove makecontext stuff; not used in 0.10 and causes problems on
11202           HPUX according to bug #322441
11203
11204 2005-12-07  Wim Taymans  <wim@fluendo.com>
11205
11206         * tests/check/Makefile.am:
11207         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
11208         (main):
11209         * tests/check/libs/struct_i386.h:
11210         Added ABI check for libs
11211
11212 2005-12-07  Wim Taymans  <wim@fluendo.com>
11213
11214         * tests/check/Makefile.am:
11215         And add the struct_i386.h to dist.
11216
11217 2005-12-07  Wim Taymans  <wim@fluendo.com>
11218
11219         * tests/check/Makefile.am:
11220         * tests/check/gst/.cvsignore:
11221         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
11222         (main):
11223         * tests/check/gst/struct_i386.h:
11224         Added check for ABI compatibility.
11225
11226 2005-12-07  Wim Taymans  <wim@fluendo.com>
11227
11228         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11229         (gst_fake_src_get_times), (gst_fake_src_create):
11230         Fix broken sync option, fixes #323259
11231
11232 2005-12-07  Wim Taymans  <wim@fluendo.com>
11233
11234         * gst/gstbuffer.c:
11235         Small docs update.
11236
11237         * gst/gstcaps.c: (gst_caps_is_equal):
11238         Don't assert on NULL <--> X. Fixes #323260
11239
11240         * gst/gstminiobject.c: (gst_mini_object_replace):
11241         If we're doing atomic operations, we might just as well use
11242         the proper way to get an atomic pointer.
11243
11244         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11245         Clean up debugging.
11246
11247 2005-12-07  Michael Smith  <msmith@fluendo.com>
11248
11249         * gst/parse/grammar.y:
11250           Remove handling of { } for threads.
11251
11252 2005-12-06  David Schleef  <ds@schleef.org>
11253
11254         * libs/gst/base/gstbasetransform.c: speling fix.
11255
11256 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11257
11258         * docs/libs/tmpl/gstdataprotocol.sgml:
11259         * docs/random/omega/testing/gstobject.c:
11260         * gst/gst.c:
11261         * gst/gstclock.c:
11262         * gst/gstelement.c:
11263         * gst/gstelementfactory.c:
11264         * gst/gsterror.c:
11265         * gst/gstevent.c:
11266         * gst/gstghostpad.c:
11267         * gst/gstinfo.c:
11268         * gst/gstpadtemplate.c:
11269         * gst/gstregistryxml.c:
11270         * gst/gsttaglist.c:
11271         * gst/gsttagsetter.c:
11272         * gst/gsttypefind.c:
11273         * gst/gstvalue.c:
11274         * libs/gst/base/gstbasesrc.c:
11275         * libs/gst/net/gstnetclientclock.c:
11276         * libs/gst/net/gstnettimeprovider.c:
11277         * plugins/elements/gstfakesrc.c:
11278         * plugins/elements/gstfdsrc.c:
11279         * plugins/elements/gstfilesrc.c:
11280         * plugins/elements/gstidentity.c:
11281         * plugins/elements/gstqueue.c:
11282         * plugins/elements/gsttypefindelement.c:
11283         * plugins/indexers/gstfileindex.c:
11284         * plugins/indexers/gstmemindex.c:
11285         * tests/check/gst/gsttag.c:
11286         * tests/old/examples/cutter/cutter.c:
11287         * tests/old/examples/mixer/mixer.c:
11288         * tests/old/examples/xml/runxml.c: (main):
11289         * tests/old/testsuite/caps/normalisation.c:
11290         * tests/old/testsuite/debug/global.c:
11291         * tests/old/testsuite/parse/parse1.c:
11292         * tools/gst-xmlinspect.c:
11293         * win32/common/dirent.c:
11294           expand tabs
11295
11296 === release 0.10.0 ===
11297
11298 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11299
11300         * configure.ac:
11301           releasing 0.10.0, "Maroilles"
11302
11303 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         submitted by: Funda Wang <fundawang@linux.net.cn>
11306
11307         * po/LINGUAS:
11308         * po/zh_CN.po:
11309           added Chinese (Traditional) translation
11310
11311 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11312
11313         * docs/gst/gstreamer-sections.txt:
11314         * docs/libs/tmpl/gstdataprotocol.sgml:
11315         * docs/random/thomasvs/TODO:
11316         * gst/gstutils.c:
11317         * gst/gstutils.h:
11318           fix docs
11319
11320 2005-12-05  Andy Wingo  <wingo@pobox.com>
11321
11322         patch by: Wim Taymans <wim@fluendo.com>
11323
11324         * libs/gst/base/gstbasetransform.c
11325         (gst_base_transform_prepare_output_buf)
11326         (gst_base_transform_buffer_alloc):
11327         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
11328         alloc_buffer_and_set_caps.
11329
11330         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
11331         set_caps on the source pad.
11332         (gst_pad_alloc_buffer_and_set_caps): New function, does what
11333         alloc_buffer used to do. Fixes #322874.
11334
11335         * docs/gst/gstreamer-sections.txt: 
11336         * docs/design/part-negotiation.txt: 
11337         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
11338         changes.
11339
11340 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11341
11342         patch by: Sebastien Moutte
11343
11344         * win32/MANIFEST:
11345         * win32/common/config.h.in:
11346         * win32/vs6/libgstcontroller.dsp:
11347           win32 build fixes
11348
11349 2005-12-05  Wim Taymans  <wim@fluendo.com>
11350
11351         * gst/gstcaps.c: (gst_caps_is_equal):
11352         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11353         (gst_fake_src_create):
11354         Back out previous code changes, leave doc updates, file bugs 
11355         instead. 
11356
11357 2005-12-05  Wim Taymans  <wim@fluendo.com>
11358
11359         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11360         (gst_fake_src_get_times), (gst_fake_src_create):
11361         * plugins/elements/gstfakesrc.h:
11362         Fix broken sync code.
11363
11364 2005-12-05  Wim Taymans  <wim@fluendo.com>
11365
11366         * gst/gstcaps.c: (gst_caps_is_equal):
11367         Comparing NULL against !NULL yields different caps, not a
11368         failure.
11369
11370 2005-12-05  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/gstpipeline.c:
11373         Fix small typo in docs.
11374
11375 2005-12-05  Andy Wingo  <wingo@pobox.com>
11376
11377         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * gst/gst.c (init_post): remove hard-coded 0.9 location for
11380         registries/plugins with a MAJORMINOR one.
11381         (plugin_desc): Rename library from gstcoreleements to
11382         staticelements. Fixes #323222.
11383
11384 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
11385
11386         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
11387           Change debug category to 'collectpads' from 'collect_pads'
11388           (fixes #323250).
11389
11390 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11391
11392         patch by: Sebastien Moutte
11393
11394         * libs/gst/controller/gstinterpolation.c:
11395           use convert function for uint64/double
11396         * win32/vs6/libgstcontroller.dsp:
11397           link to GLib
11398
11399 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
11402         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
11403         * gst/gstutils.h:
11404         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11405           add tests that seem to show that the guint64/gdouble conversions
11406           are correct.
11407
11408 2005-12-02  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/gstregistry.c: (gst_registry_add_path):
11411         * gst/gstregistry.h:
11412         * gst/gstregistryxml.c:
11413         Fix docs again.
11414
11415 2005-12-02  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11418         (gst_util_uint64_scale_int):
11419         Small cleanup.
11420
11421         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11422         Add debug log line.
11423
11424         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
11425         Add FIXME.
11426
11427 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * win32/MANIFEST:
11430         * win32/common/config.h:
11431         * win32/vs6/gstreamer.dsw:
11432         * win32/vs6/libgstcoreelements.dsp:
11433         * win32/vs6/libgstelements.dsp:
11434           renamed core elements plugin
11435
11436 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11437
11438         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
11439         (get_candidates):
11440           do piece-wise major/minor comparison so 0.9 < 0.10
11441           also allow .exe extensions for tools
11442
11443 2005-12-02  Michael Smith  <msmith@fluendo.com>
11444
11445         * gst/gst.c:
11446           Escape a % to make gtkdoc happier; bug 322958.
11447
11448 === release 0.9.7 ===
11449
11450 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11451
11452         * configure.ac:
11453           releasing 0.9.7, "My Dog Has No Nose"
11454
11455 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11456
11457         * common/gst-xmlinspect.py:
11458         * configure.ac:
11459         * docs/libs/tmpl/gstdataprotocol.sgml:
11460         * docs/random/release:
11461         * po/af.po:
11462         * po/az.po:
11463         * po/bg.po:
11464         * po/ca.po:
11465         * po/cs.po:
11466         * po/de.po:
11467         * po/en_GB.po:
11468         * po/fr.po:
11469         * po/it.po:
11470         * po/nb.po:
11471         * po/nl.po:
11472         * po/ru.po:
11473         * po/sq.po:
11474         * po/sr.po:
11475         * po/sv.po:
11476         * po/tr.po:
11477         * po/uk.po:
11478         * po/vi.po:
11479         * win32/common/config.h:
11480         * win32/common/config.h.in:
11481         * win32/vs6/gst_inspect.dsp:
11482         * win32/vs6/gst_launch.dsp:
11483         * win32/vs6/libgstbase.dsp:
11484         * win32/vs6/libgstelements.dsp:
11485         * win32/vs6/libgstreamer.dsp:
11486         * win32/vs7/GStreamer.vcproj:
11487         * win32/vs7/gst-inspect.vcproj:
11488         * win32/vs7/gst-launch.vcproj:
11489         * win32/vs7/libgstbase.vcproj:
11490           bump GST_MAJORMINOR to 0.10
11491           reset libtool version
11492
11493 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11494
11495         * po/LINGUAS:
11496         * po/bg.po:
11497           Added Bulgarian translation by (Alexander Shopov)
11498
11499 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11500
11501         * tests/check/gst/gstplugin.c:
11502           fix test
11503
11504 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11505
11506         * common/gst-xmlinspect.py:
11507         * common/gtk-doc-plugins.mak:
11508         * configure.ac:
11509         * docs/Makefile.am:
11510         * docs/gst/Makefile.am:
11511         * docs/gst/gstreamer-docs.sgml:
11512         * docs/gst/gstreamer-sections.txt:
11513         * docs/gst/gstreamer.types:
11514         * docs/gst/gstreamer.types.in:
11515         * docs/plugins/Makefile.am:
11516         * docs/plugins/gstreamer-plugins-docs.sgml:
11517         * docs/plugins/gstreamer-plugins-sections.txt:
11518         * docs/plugins/gstreamer-plugins.types:
11519         * docs/plugins/inspect.stamp:
11520         * docs/plugins/inspect/plugin-coreelements.xml:
11521         * docs/plugins/inspect/plugin-coreindexers.xml:
11522         * docs/plugins/scanobj-build.stamp:
11523         * gstreamer.spec.in:
11524         * plugins/elements/Makefile.am:
11525         * plugins/elements/gstelements.c:
11526         * plugins/elements/gstfakesink.c:
11527         * plugins/elements/gstfakesrc.c:
11528         * plugins/elements/gstfilesink.c:
11529         * plugins/elements/gstfilesrc.c:
11530         * plugins/elements/gstqueue.c:
11531         * plugins/indexers/Makefile.am:
11532         * plugins/indexers/gstindexers.c:
11533           document core plugins in a separate document just like all the
11534           others
11535           rename these plugins to something starting with core
11536
11537 2005-12-01  Andy Wingo  <wingo@pobox.com>
11538
11539         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
11540         padding here before, but it missed the commit.
11541
11542 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11543
11544         * libs/gst/controller/gstinterpolation.c:
11545           whitespace prices have crashed, we should feel free to use some now
11546           use gst_guint64_to_gdouble
11547
11548 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * libs/gst/controller/gstcontroller.c:
11551         * libs/gst/controller/gsthelper.c:
11552         * libs/gst/controller/gstinterpolation.c:
11553         * libs/gst/controller/lib.c:
11554           wrap config.h include
11555
11556 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11557
11558         * docs/gst/gstreamer-sections.txt:
11559           update docs
11560
11561 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11562
11563         * plugins/elements/gstelements.c:
11564         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
11565         (gst_fd_sink__class_init), (gst_fd_sink__init),
11566         (gst_fd_sink__chain), (gst_fd_sink__set_property),
11567         (gst_fd_sink__get_property):
11568         * plugins/elements/gstfdsink.h:
11569         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
11570         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
11571         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
11572         (gst_fd_src_unlock), (gst_fd_src_set_property),
11573         (gst_fd_src_get_property), (gst_fd_src_create),
11574         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
11575         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
11576         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
11577         (gst_fd_src_uri_handler_init):
11578         * plugins/elements/gstfdsrc.h:
11579         * plugins/elements/gstqueue.c: (gst_queue_get_type):
11580           more anal cleanup
11581
11582 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11583
11584         * docs/gst/Makefile.am:
11585         * docs/gst/gstreamer.types.in:
11586         * gst/Makefile.am:
11587           fix the docs build
11588
11589 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11590
11591         * configure.ac:
11592         * gst/Makefile.am:
11593         * gst/gst.c:
11594         * gst/gstplugin.h:
11595         * gst/gstregistry.h:
11596         * tests/benchmarks/complexity.c:
11597         * tests/benchmarks/mass-elements.c:
11598         * tests/check/Makefile.am:
11599         * tools/Makefile.am:
11600         * tools/gst-inspect.c:
11601         * tools/gst-xmlinspect.c:
11602           various fixes to make
11603           --disable-nls --disable-registry --disable-loadsave
11604           --disable-parse --disable-gst-debug
11605           work and get the core .so down to 360444 bytes after stripping
11606
11607 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * Makefile.am:
11610         * configure.ac:
11611           descend into tests
11612         * docs/random/thomasvs/TODO:
11613         * tests/Makefile.am:
11614         * tests/README:
11615           add a README
11616
11617 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11618
11619         * win32/GStreamer.vcproj:
11620         * win32/MANIFEST:
11621         * win32/Makefile:
11622         * win32/Makefile.inspect:
11623         * win32/Makefile.launch:
11624         * win32/Makefile.register:
11625         * win32/README.txt:
11626         * win32/gst-inspect.vcproj:
11627         * win32/gst-launch.vcproj:
11628         * win32/gst-register.vcproj:
11629         * win32/gstelements.vcproj:
11630         * win32/gstgetbits.def:
11631         * win32/gstgetbits.vcproj:
11632         * win32/gstreamer-dbg.def:
11633         * win32/gstreamer.def:
11634         * win32/libgstbase.def:
11635         * win32/libgstbase.vcproj:
11636         * win32/link_oldruntime.c:
11637         * win32/mman.c:
11638         * win32/mman.h:
11639         * win32/mman.inl:
11640         * win32/msvc71.sln:
11641           move even more stuff, win32/ is nice and clean now
11642
11643 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * libs/gst/control/.cvsignore:
11646         * win32/MANIFEST:
11647         * win32/config.h:
11648         * win32/dirent.c:
11649         * win32/dirent.h:
11650         * win32/gstbytestream.def:
11651         * win32/gstbytestream.vcproj:
11652         * win32/gstconfig.h:
11653         * win32/gstenumtypes.c:
11654         * win32/gstenumtypes.h:
11655         * win32/gstoptimalscheduler.vcproj:
11656         * win32/gstversion.h:
11657         * win32/gtchar.h:
11658         * win32/testsuite/bins.vcproj:
11659         * win32/testsuite/bytestream.vcproj:
11660         * win32/testsuite/caps.vcproj:
11661         * win32/testsuite/cleanup.vcproj:
11662         * win32/testsuite/clock.vcproj:
11663         * win32/testsuite/debug.vcproj:
11664         * win32/testsuite/dlopen.vcproj:
11665         * win32/testsuite/dynparams.vcproj:
11666         * win32/testsuite/elements.vcproj:
11667         * win32/testsuite/ghostpads.vcproj:
11668         * win32/testsuite/indexers.vcproj:
11669         * win32/testsuite/negotiation.vcproj:
11670         * win32/testsuite/parse.vcproj:
11671         * win32/testsuite/plugin.vcproj:
11672         * win32/testsuite/refcounting.vcproj:
11673         * win32/testsuite/schedulers.vcproj:
11674         * win32/testsuite/states.vcproj:
11675         * win32/testsuite/tags.vcproj:
11676         * win32/testsuite/threads.vcproj:
11677           remove old win32 stuff that isn't maintained and should be
11678           reorganized
11679
11680 2005-11-30  Andy Wingo  <wingo@pobox.com>
11681
11682         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
11683         loading the gst.interfaces python module bork.
11684
11685         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
11686         available since GLib 2.2. Fixes #318031.
11687
11688 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11689
11690         * Makefile.am:
11691         * check/.cvsignore:
11692         * check/Makefile.am:
11693         * check/elements/.cvsignore:
11694         * check/elements/fakesrc.c:
11695         * check/elements/fdsrc.c:
11696         * check/elements/identity.c:
11697         * check/generic/.cvsignore:
11698         * check/generic/states.c:
11699         * check/gst-libs/.cvsignore:
11700         * check/gst-libs/controller.c:
11701         * check/gst-libs/gdp.c:
11702         * check/gst/.cvsignore:
11703         * check/gst/capslist.h:
11704         * check/gst/gst.c:
11705         * check/gst/gstbin.c:
11706         * check/gst/gstbuffer.c:
11707         * check/gst/gstbus.c:
11708         * check/gst/gstcaps.c:
11709         * check/gst/gstelement.c:
11710         * check/gst/gstevent.c:
11711         * check/gst/gstghostpad.c:
11712         * check/gst/gstiterator.c:
11713         * check/gst/gstmessage.c:
11714         * check/gst/gstminiobject.c:
11715         * check/gst/gstobject.c:
11716         * check/gst/gstpad.c:
11717         * check/gst/gstpipeline.c:
11718         * check/gst/gstplugin.c:
11719         * check/gst/gstsegment.c:
11720         * check/gst/gststructure.c:
11721         * check/gst/gstsystemclock.c:
11722         * check/gst/gsttag.c:
11723         * check/gst/gstutils.c:
11724         * check/gst/gstvalue.c:
11725         * check/net/.cvsignore:
11726         * check/net/gstnetclientclock.c:
11727         * check/net/gstnettimeprovider.c:
11728         * check/pipelines/.cvsignore:
11729         * check/pipelines/cleanup.c:
11730         * check/pipelines/simple_launch_lines.c:
11731         * check/pipelines/stress.c:
11732         * check/states/.cvsignore:
11733         * check/states/sinks.c:
11734         * configure.ac:
11735         * examples/Makefile.am:
11736         * examples/appreader/.cvsignore:
11737         * examples/appreader/Makefile.am:
11738         * examples/appreader/appreader.c:
11739         * examples/controller/.cvsignore:
11740         * examples/controller/Makefile.am:
11741         * examples/controller/audio-example.c:
11742         * examples/cutter/.cvsignore:
11743         * examples/cutter/Makefile.am:
11744         * examples/cutter/cutter.c:
11745         * examples/cutter/cutter.h:
11746         * examples/events/Makefile.am:
11747         * examples/events/seek.c:
11748         * examples/helloworld/.cvsignore:
11749         * examples/helloworld/Makefile.am:
11750         * examples/helloworld/helloworld.c:
11751         * examples/helloworld2/.cvsignore:
11752         * examples/helloworld2/Makefile.am:
11753         * examples/helloworld2/helloworld2.c:
11754         * examples/launch/.cvsignore:
11755         * examples/launch/Makefile.am:
11756         * examples/launch/mp3parselaunch.c:
11757         * examples/launch/mp3play:
11758         * examples/manual/.cvsignore:
11759         * examples/manual/Makefile.am:
11760         * examples/manual/extract.pl:
11761         * examples/metadata/Makefile.am:
11762         * examples/metadata/read-metadata.c:
11763         * examples/mixer/.cvsignore:
11764         * examples/mixer/Makefile.am:
11765         * examples/mixer/mixer.c:
11766         * examples/mixer/mixer.h:
11767         * examples/pingpong/.cvsignore:
11768         * examples/pingpong/Makefile.am:
11769         * examples/pingpong/pingpong.c:
11770         * examples/plugins/.cvsignore:
11771         * examples/plugins/Makefile.am:
11772         * examples/plugins/example.c:
11773         * examples/plugins/example.h:
11774         * examples/pwg/.cvsignore:
11775         * examples/pwg/Makefile.am:
11776         * examples/pwg/extract.pl:
11777         * examples/queue/.cvsignore:
11778         * examples/queue/Makefile.am:
11779         * examples/queue/queue.c:
11780         * examples/queue2/.cvsignore:
11781         * examples/queue2/Makefile.am:
11782         * examples/queue2/queue2.c:
11783         * examples/queue3/.cvsignore:
11784         * examples/queue3/Makefile.am:
11785         * examples/queue3/queue3.c:
11786         * examples/queue4/.cvsignore:
11787         * examples/queue4/Makefile.am:
11788         * examples/queue4/queue4.c:
11789         * examples/retag/.cvsignore:
11790         * examples/retag/Makefile.am:
11791         * examples/retag/retag.c:
11792         * examples/retag/transcode.c:
11793         * examples/thread/.cvsignore:
11794         * examples/thread/Makefile.am:
11795         * examples/thread/thread.c:
11796         * examples/typefind/.cvsignore:
11797         * examples/typefind/Makefile.am:
11798         * examples/typefind/typefind.c:
11799         * examples/xml/.cvsignore:
11800         * examples/xml/Makefile.am:
11801         * examples/xml/createxml.c:
11802         * examples/xml/runxml.c:
11803         * tests/Makefile.am:
11804         * tests/check/Makefile.am:
11805         * testsuite/.cvsignore:
11806         * testsuite/Makefile.am:
11807         * testsuite/Rules:
11808         * testsuite/caps/.cvsignore:
11809         * testsuite/caps/Makefile.am:
11810         * testsuite/caps/app_fixate.c:
11811         * testsuite/caps/audioscale.c:
11812         * testsuite/caps/caps.c:
11813         * testsuite/caps/caps.h:
11814         * testsuite/caps/caps_strings:
11815         * testsuite/caps/compatibility.c:
11816         * testsuite/caps/deserialize.c:
11817         * testsuite/caps/enumcaps.c:
11818         * testsuite/caps/eratosthenes.c:
11819         * testsuite/caps/filtercaps.c:
11820         * testsuite/caps/fixed.c:
11821         * testsuite/caps/fraction-convert.c:
11822         * testsuite/caps/fraction-multiply-and-zero.c:
11823         * testsuite/caps/intersect2.c:
11824         * testsuite/caps/intersection.c:
11825         * testsuite/caps/normalisation.c:
11826         * testsuite/caps/random.c:
11827         * testsuite/caps/renegotiate.c:
11828         * testsuite/caps/sets.c:
11829         * testsuite/caps/simplify.c:
11830         * testsuite/caps/string-conversions.c:
11831         * testsuite/caps/structure.c:
11832         * testsuite/caps/subtract.c:
11833         * testsuite/caps/union.c:
11834         * testsuite/debug/.cvsignore:
11835         * testsuite/debug/Makefile.am:
11836         * testsuite/debug/category.c:
11837         * testsuite/debug/commandline.c:
11838         * testsuite/debug/global.c:
11839         * testsuite/debug/output.c:
11840         * testsuite/debug/printf_extension.c:
11841         * testsuite/dlopen/.cvsignore:
11842         * testsuite/dlopen/Makefile.am:
11843         * testsuite/dlopen/dlopen_gst.c:
11844         * testsuite/dlopen/loadgst.c:
11845         * testsuite/elements/.cvsignore:
11846         * testsuite/elements/Makefile.am:
11847         * testsuite/elements/gst-inspect-check.in:
11848         * testsuite/elements/struct_i386.h:
11849         * testsuite/elements/struct_size.c:
11850         * testsuite/indexers/.cvsignore:
11851         * testsuite/indexers/Makefile.am:
11852         * testsuite/indexers/cache1.c:
11853         * testsuite/indexers/indexdump.c:
11854         * testsuite/parse/.cvsignore:
11855         * testsuite/parse/Makefile.am:
11856         * testsuite/parse/parse1.c:
11857         * testsuite/parse/parse2.c:
11858         * testsuite/plugin/.cvsignore:
11859         * testsuite/plugin/Makefile.am:
11860         * testsuite/plugin/README:
11861         * testsuite/plugin/dynamic.c:
11862         * testsuite/plugin/linked.c:
11863         * testsuite/plugin/loading.c:
11864         * testsuite/plugin/registry.c:
11865         * testsuite/plugin/static.c:
11866         * testsuite/plugin/static2.c:
11867         * testsuite/plugin/testplugin.c:
11868         * testsuite/plugin/testplugin2.c:
11869         * testsuite/plugin/testplugin2_s.c:
11870         * testsuite/plugin/testplugin_s.c:
11871         * testsuite/refcounting/.cvsignore:
11872         * testsuite/refcounting/Makefile.am:
11873         * testsuite/refcounting/bin.c:
11874         * testsuite/refcounting/element.c:
11875         * testsuite/refcounting/element_pad.c:
11876         * testsuite/refcounting/mainloop.c:
11877         * testsuite/refcounting/mem.c:
11878         * testsuite/refcounting/mem.h:
11879         * testsuite/refcounting/object.c:
11880         * testsuite/refcounting/pad.c:
11881         * testsuite/refcounting/sched.c:
11882         * testsuite/refcounting/thread.c:
11883         * testsuite/states/.cvsignore:
11884         * testsuite/states/Makefile.am:
11885         * testsuite/states/bin.c:
11886         * testsuite/states/locked.c:
11887         * testsuite/states/parent.c:
11888         * testsuite/threads/.cvsignore:
11889         * testsuite/threads/159566.c:
11890         * testsuite/threads/159852.c:
11891         * testsuite/threads/Makefile.am:
11892         * testsuite/threads/queue.c:
11893         * testsuite/threads/signals.c:
11894         * testsuite/threads/staticrec.c:
11895         * testsuite/threads/thread.c:
11896         * testsuite/threads/threadb.c:
11897         * testsuite/threads/threadc.c:
11898         * testsuite/threads/threadd.c:
11899         * testsuite/threads/threade.c:
11900         * testsuite/threads/threadf.c:
11901         * testsuite/threads/threadg.c:
11902         * testsuite/threads/threadh.c:
11903         * testsuite/threads/threadi.c:
11904           move all of these under tests
11905
11906 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11907
11908         * configure.ac:
11909         * tests/Makefile.am:
11910           fix distcheck
11911
11912 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11913
11914         * docs/gst/gstreamer-sections.txt:
11915         * tests/sched/.cvsignore:
11916         * tests/sched/Makefile.am:
11917         * tests/sched/cases/(fs-fs).xml:
11918         * tests/sched/cases/(fs-i-fs).xml:
11919         * tests/sched/cases/(fs-i-i-fs).xml:
11920         * tests/sched/cases/(fs-i-q[i-fs]).xml:
11921         * tests/sched/dynamic-pipeline.c:
11922         * tests/sched/interrupt1.c:
11923         * tests/sched/interrupt2.c:
11924         * tests/sched/interrupt3.c:
11925         * tests/sched/runtestcases:
11926         * tests/sched/runxml.c:
11927         * tests/sched/sched-stress.c:
11928         * tests/sched/sort.c:
11929         * tests/sched/testcases:
11930         * tests/sched/testcases1.tc:
11931         * tests/seeking/.cvsignore:
11932         * tests/seeking/Makefile.am:
11933         * tests/seeking/seeking1.c:
11934         * tests/threadstate/.cvsignore:
11935         * tests/threadstate/Makefile.am:
11936         * tests/threadstate/test1.c:
11937         * tests/threadstate/test2.c:
11938         * tests/threadstate/threadstate1.c:
11939         * tests/threadstate/threadstate2.c:
11940         * tests/threadstate/threadstate3.c:
11941         * tests/threadstate/threadstate4.c:
11942         * tests/threadstate/threadstate5.c:
11943           remove obsolete tests
11944         * configure.ac:
11945         * tests/bench-complexity.scm:
11946         * tests/bench-mass_elements.scm:
11947         * tests/complexity.c:
11948         * tests/complexity.gnuplot:
11949         * tests/instantiate/.cvsignore:
11950         * tests/instantiate/Makefile.am:
11951         * tests/instantiate/caps.c:
11952         * tests/mass_elements.c:
11953         * tests/network-clock-utils.scm:
11954         * tests/network-clock.scm:
11955         * tests/plot-data:
11956         First pass at cleaning up tests/ dir before moving the rest
11957         Combined with CVS surgery
11958
11959 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11960
11961         * po/POTFILES.in:
11962           queue has moved, update
11963
11964 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11965
11966         * docs/gst/gstreamer-sections.txt:
11967           remove double entries from the docs
11968         * gst/gst_private.h:
11969         * gst/gstinfo.c: (_gst_debug_init):
11970           remove the THREAD debug category
11971         * gst/Makefile.am:
11972         * gst/gstqueue.c:
11973         * gst/gstqueue.h:
11974         * docs/gst/gstreamer.types:
11975         * plugins/elements/gstqueue.c: (gst_queue_get_type),
11976         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
11977           completely move queue and fix up debugging categories
11978
11979 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11982           make initialization portable, using LL is not
11983
11984 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * win32/common/gstconfig.h:
11987           add large padding
11988
11989 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11990
11991         * win32/common/libgstreamer.def:
11992           rename symbols; sort base section
11993
11994 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11995
11996         * gst/gstclock.c: (do_linear_regression):
11997           remove crack non-portable handrolled DEBUG macro
11998
11999 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * docs/random/release:
12002           update notes
12003         * win32/common/gstenumtypes.c: (register_gst_object_flags),
12004         (gst_object_flags_get_type), (register_gst_bin_flags),
12005         (gst_bin_flags_get_type), (register_gst_buffer_flag),
12006         (gst_buffer_flag_get_type), (register_gst_bus_flags),
12007         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12008         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
12009         (gst_caps_flags_get_type), (register_gst_clock_return),
12010         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12011         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12012         (gst_clock_flags_get_type), (register_gst_state),
12013         (gst_state_get_type), (register_gst_state_change_return),
12014         (gst_state_change_return_get_type), (register_gst_state_change),
12015         (gst_state_change_get_type), (register_gst_element_flags),
12016         (gst_element_flags_get_type), (register_gst_core_error),
12017         (gst_core_error_get_type), (register_gst_library_error),
12018         (gst_library_error_get_type), (register_gst_resource_error),
12019         (gst_resource_error_get_type), (register_gst_stream_error),
12020         (gst_stream_error_get_type), (register_gst_event_type_flags),
12021         (gst_event_type_flags_get_type), (register_gst_event_type),
12022         (gst_event_type_get_type), (register_gst_seek_type),
12023         (gst_seek_type_get_type), (register_gst_seek_flags),
12024         (gst_seek_flags_get_type), (register_gst_format),
12025         (gst_format_get_type), (register_gst_index_certainty),
12026         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12027         (gst_index_entry_type_get_type),
12028         (register_gst_index_lookup_method),
12029         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12030         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12031         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12032         (gst_index_flags_get_type), (register_gst_debug_level),
12033         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12034         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12035         (gst_iterator_result_get_type), (register_gst_iterator_item),
12036         (gst_iterator_item_get_type), (register_gst_message_type),
12037         (gst_message_type_get_type), (register_gst_mini_object_flags),
12038         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12039         (gst_pad_link_return_get_type), (register_gst_flow_return),
12040         (gst_flow_return_get_type), (register_gst_activate_mode),
12041         (gst_activate_mode_get_type), (register_gst_pad_direction),
12042         (gst_pad_direction_get_type), (register_gst_pad_flags),
12043         (gst_pad_flags_get_type), (register_gst_pad_presence),
12044         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12045         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12046         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12047         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12048         (gst_plugin_flags_get_type), (register_gst_rank),
12049         (gst_rank_get_type), (register_gst_query_type),
12050         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12051         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12052         (gst_tag_flag_get_type), (register_gst_task_state),
12053         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12054         (gst_alloc_trace_flags_get_type),
12055         (register_gst_type_find_probability),
12056         (gst_type_find_probability_get_type), (register_gst_uri_type),
12057         (gst_uri_type_get_type), (register_gst_parse_error),
12058         (gst_parse_error_get_type):
12059         * win32/common/gstenumtypes.h:
12060         * win32/common/gstversion.h:
12061           update visual studio generated files
12062
12063 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12064
12065         * win32/vs6/libgstbase.dsp:
12066         * win32/vs6/libgstelements.dsp:
12067           update project files for new locations
12068
12069 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * Makefile.am:
12072           remove some files
12073         * README:
12074           reinstate and update
12075         * DEVEL:
12076         * REQUIREMENTS:
12077           removed
12078         * LICENSE:
12079         * docs/random/LICENSE:
12080           moved to random
12081
12082 2005-11-30  Edward Hervey  <edward@fluendo.com>
12083
12084         * gst/gsttypefind.c: (gst_type_find_register):
12085         * gst/gsttypefind.h:
12086         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
12087         (gst_type_find_factory_dispose):
12088         * gst/gsttypefindfactory.h:
12089         Fix memory leak in GstTypeFindFactory.
12090
12091 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12092
12093         * gst/gst.c:
12094         * plugins/elements/Makefile.am:
12095         * plugins/elements/gstelements.c:
12096         * plugins/elements/gstqueue.c:
12097           move queue from core to the elements plugin
12098
12099 2005-11-29  Andy Wingo  <wingo@pobox.com>
12100
12101         * libs/gst/base/gstbasetransform.h: 
12102         * libs/gst/base/gstbasesrc.h: 
12103         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
12104
12105         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
12106         of pointers by which to pad very extensible base classes (like the
12107         ones in libs/gst/base).
12108
12109 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12110
12111         * docs/gst/gstreamer-docs.sgml:
12112         * docs/gst/gstreamer-sections.txt:
12113         * docs/libs/gstreamer-libs-docs.sgml:
12114         * docs/libs/gstreamer-libs-sections.txt:
12115           moving documentation from core to lib
12116
12117 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12118
12119         * check/Makefile.am:
12120         * configure.ac:
12121         * docs/gst/Makefile.am:
12122         * gst/Makefile.am:
12123         * gst/base/.cvsignore:
12124         * gst/base/Makefile.am:
12125         * gst/base/README:
12126         * gst/base/gstadapter.c:
12127         * gst/base/gstadapter.h:
12128         * gst/base/gstbasesink.c:
12129         * gst/base/gstbasesink.h:
12130         * gst/base/gstbasesrc.c:
12131         * gst/base/gstbasesrc.h:
12132         * gst/base/gstbasetransform.c:
12133         * gst/base/gstbasetransform.h:
12134         * gst/base/gstcollectpads.c:
12135         * gst/base/gstcollectpads.h:
12136         * gst/base/gstpushsrc.c:
12137         * gst/base/gstpushsrc.h:
12138         * gst/base/gsttypefindhelper.c:
12139         * gst/base/gsttypefindhelper.h:
12140         * gst/check/Makefile.am:
12141         * gst/check/gstcheck.c:
12142         * gst/check/gstcheck.h:
12143         * gst/net/Makefile.am:
12144         * gst/net/gstnet.h:
12145         * gst/net/gstnetclientclock.c:
12146         * gst/net/gstnetclientclock.h:
12147         * gst/net/gstnettimepacket.c:
12148         * gst/net/gstnettimepacket.h:
12149         * gst/net/gstnettimeprovider.c:
12150         * gst/net/gstnettimeprovider.h:
12151         * libs/gst/Makefile.am:
12152         * libs/gst/base/Makefile.am:
12153         * libs/gst/base/gstbasetransform.c:
12154         * libs/gst/check/Makefile.am:
12155         * plugins/elements/Makefile.am:
12156         * po/POTFILES.in:
12157           CVS surgery + support to move base, check, and net out of gst
12158           and into libs/gst
12159
12160 2005-11-29  Andy Wingo  <wingo@pobox.com>
12161
12162         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
12163
12164         * gst/gststructure.h (struct _GstStructure): Only one pointer of
12165         padding.
12166
12167         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
12168
12169         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
12170
12171         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
12172
12173         * gst/gstobject.h: (struct _GstObject): Only one pointer of
12174         padding; reduces object size by about 30%. We don't expect
12175         anything else to go into gstobject.
12176
12177         * gst/gstminiobject.h (struct _GstMiniObject)
12178         (struct _GstMiniObjectClass): Only one pointer of padding; the
12179         payload is only a pointer and two ints anyway. For the class there
12180         are only two methods as well.
12181         
12182         * gst/gstelement.h (struct _GstElementClass): Removed
12183         the state_changed signal callback, it is not used.
12184
12185 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12186
12187         * docs/gst/gstreamer.types:
12188           fix includes, though they are a little dinky
12189
12190 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12191
12192         * check/Makefile.am:
12193           look in the right place for elements, a lot more chance of
12194           success
12195         * gst/Makefile.am:
12196           remove indexers and elements subdirs
12197         * plugins/Makefile.am:
12198           make indexers conditional
12199
12200 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12201
12202         * Makefile.am:
12203         * configure.ac:
12204         * plugins/elements/Makefile.am:
12205         * plugins/elements/gstcapsfilter.c:
12206         * plugins/elements/gstfilesink.c:
12207         * plugins/elements/gstfilesrc.c:
12208         * plugins/elements/gstidentity.c:
12209         * plugins/indexers/Makefile.am:
12210           do CVS surgery and related build fixery to move elements
12211           and indexers in a new gstreamer/plugins directory, out of the
12212           gst/ directory
12213
12214 2005-11-29  Andy Wingo  <wingo@pobox.com>
12215
12216         * check/Makefile.am:
12217         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12218         * pkgconfig/gstreamer-net.pc.in:
12219         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
12220         #322257.
12221
12222 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12223
12224         * tools/Makefile.am:
12225         * tools/gst-complete.1.in:
12226         * tools/gst-complete.c:
12227         * tools/gst-compprep.1.in:
12228         * tools/gst-compprep.c:
12229           removing -compprep and -complete
12230
12231 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * gst/gstevent.c: (gst_event_new_new_segment),
12234         (gst_event_parse_new_segment):
12235         * gst/gstevent.h:
12236           fix #320529 - clean up new_segment API and structure.
12237           Let's hope everyone was using the methods, and not the structure.
12238
12239 2005-11-29  Edward Hervey  <edward@fluendo.com>
12240
12241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12242         (gst_base_sink_event), (gst_base_sink_do_sync),
12243         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12244         Properly handle non GST_FORMAT_TIME segment
12245         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12246         Properly handle non GST_FORMAT_TIME segment
12247         * gst/gstsegment.c:
12248         This function is valid if the accumulator is 0 and the format
12249         is different from the requested format.
12250         
12251 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12252
12253         * docs/gst/gstreamer-sections.txt:
12254         Add gst_query_new_seeking and gst_query_parse_seeking to the
12255         docs.
12256
12257 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12258
12259         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12260           Treat a pad alloc with new caps the same as if we were not
12261           negotiated, in order to allow a changing upstream output
12262           to produce a new format of data.
12263
12264 2005-11-29  Edward Hervey  <edward@fluendo.com>
12265
12266         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12267         (gst_base_transform_event), (gst_base_transform_eventfunc):
12268         The event virtual method is now properly implemented, with a default
12269         handler
12270         Sub classes should call the parent_class event method. They should
12271         return FALSE if they had a problem handling the given event, or don't
12272         want GstBaseTransform to send that even downstream
12273         * gst/elements/gstidentity.c: (gst_identity_class_init),
12274         (gst_identity_init), (gst_identity_event),
12275         (gst_identity_transform_ip), (gst_identity_set_property),
12276         (gst_identity_get_property):
12277         * gst/elements/gstidentity.h:
12278         Added the single-segment boolean property.
12279         If set to TRUE, it will output a single segment of data, starting from
12280         0, will eat up all incoming newsegment, and modify the timestamp of the
12281         buffers accordingly
12282
12283 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
12284
12285         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
12286           Don't ref NULL target pad (#322751). Improve docs.
12287
12288 2005-11-29  Michael Smith  <msmith@fluendo.com>
12289
12290         * gst/gstregistryxml.c: (load_plugin):
12291           Don't crash if we failed to load a feature from a plugin. 
12292
12293 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12296         (GST_START_TEST):
12297           use more check API and less GLib API
12298
12299 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12300
12301         * Makefile.am:
12302           don't run checks if we don't have check
12303         * common/check.mak:
12304           remove the registry when running make torture
12305         * docs/gst/gstreamer-sections.txt:
12306           remove second multiply
12307         * gst/gstqueue.c: (gst_queue_loop):
12308           fix a compile warning when disabling debug
12309
12310 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12311
12312         * gst/gstinfo.h:
12313         Hey! Let's print the pad name if the pointer != NULL instead
12314         of when it == NULL :-)
12315
12316 2005-11-28  Wim Taymans  <wim@fluendo.com>
12317
12318         * check/gst/gstutils.c: (GST_START_TEST):
12319         Updated check, add some scaling accuracy checking code.
12320
12321         * gst/gstutils.c: (gst_util_div128_64),
12322         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
12323         (gst_util_uint64_scale_int):
12324         Fix 6 times faster division code. Optimize for common 
12325         1/1 and less common X/1 cases.
12326
12327 2005-11-28  Wim Taymans  <wim@fluendo.com>
12328
12329         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12330         More checks.
12331
12332         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
12333         (do_linear_regression), (gst_clock_add_observation):
12334         Cleanups.
12335         Release lock when the clock cannot be slaved.
12336         Catch the case where the regression returned an invalid denominator.
12337
12338         * gst/gstutils.c: (gst_util_div128_64_iterate),
12339         (gst_util_div128_64), (gst_util_uint64_scale_int64),
12340         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12341         Add protentially more performant non-iterative 128/64 divide function
12342         that unfortunatly does not work yet.
12343         Shortcut the trivial 0/X = 0 case.
12344         Remove the warnings on overflow.
12345
12346 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * gst/gstplugin.c: (gst_plugin_register_func):
12349           everything causing a plugin not to load should be at least a WARNING
12350
12351 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
12352
12353         * docs/random/ensonic/dparams.txt:
12354           some TODOs for the next dev cycle
12355         * libs/gst/controller/gstcontroller.c:
12356         (gst_controlled_property_set_interpolation_mode),
12357         (gst_controlled_property_new):
12358         * libs/gst/controller/gstcontroller.h:
12359           use base type to assign acccessor functions
12360
12361 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12362
12363         * check/Makefile.am:
12364         Oops, that should have been top_srcdir
12365
12366 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12367
12368         * check/Makefile.am:
12369         * check/elements/fdsrc.c: (GST_START_TEST):
12370         Use a cmdline define to specify the location of a file to use for
12371         testing, to avoid breaking distcheck.
12372
12373 2005-11-28  Andy Wingo  <wingo@pobox.com>
12374
12375         * gst/gstpad.c (fixate_value): Use array functions for arrays.
12376
12377 2005-11-28  Edward Hervey  <edward@fluendo.com>
12378
12379         * tools/gst-launch.c: (main):
12380         Clarify the output strings, makes it easier to translate.
12381         Fixes #322626
12382
12383 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12384
12385         * gst/Makefile.am:
12386           don't try and build net if we don't even have <sys/socket.h>
12387
12388 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
12389
12390         * check/Makefile.am:
12391         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
12392         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
12393           Add tests for fdsrc seekability
12394
12395         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12396         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
12397         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
12398         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
12399         * gst/elements/gstfdsrc.h:
12400           fdsrc should not be a 'live' source.
12401           Implement seeking on seekable fd's.
12402
12403         * gst/gstquery.c: (gst_query_new_seeking),
12404         (gst_query_parse_seeking):
12405         * gst/gstquery.h:
12406           Implement SEEKING query functions: 
12407             *_new_seeking and *_parse_seeking
12408
12409 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
12410
12411         * gst/gstelement.c: (gst_element_dispose):
12412           don't loop forever
12413
12414         * gst/gstiterator.c:
12415         * gst/gststructure.c:
12416           doc fixes
12417
12418         * libs/gst/controller/gstcontroller.c:
12419         (gst_controlled_property_set_interpolation_mode):
12420         * libs/gst/controller/gstcontroller.h:
12421         * libs/gst/controller/gstinterpolation.c:
12422         (interpolate_none_get_enum_value_array):
12423           support controlling enums
12424
12425 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12426
12427         * gst/gstvalue.c:
12428           Improve documentation for gst_value_union().
12429
12430         * gst/gstvalue.h:
12431           Change return value for union, intersect and subtract functions
12432           from gint to gboolean.
12433
12434 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12435
12436         * gst/gstvalue.c: (gst_value_serialize_any_list),
12437         (gst_value_transform_any_list_string),
12438         (gst_value_deserialize_list), (gst_value_deserialize_array),
12439         (gst_value_set_int_range), (gst_value_deserialize_int_range),
12440         (gst_value_set_double_range), (gst_value_deserialize_double_range),
12441         (gst_value_set_fraction_range_full),
12442         (gst_value_deserialize_fraction_range),
12443         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
12444         (gst_value_deserialize_boolean),
12445         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
12446         (gst_value_serialize_float), (gst_value_deserialize_float),
12447         (gst_string_wrap), (gst_value_deserialize_string),
12448         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
12449         (gst_value_union_int_range_int_range),
12450         (gst_value_intersect_int_range_int_range),
12451         (gst_value_intersect_double_range_double_range),
12452         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
12453         (gst_value_subtract_int_range_int_range),
12454         (gst_value_subtract_double_double_range),
12455         (gst_value_subtract_double_range_double_range),
12456         (gst_value_deserialize_fraction):
12457         * gst/gstvalue.h:
12458           Use gint, gdouble and gchar in our API instead of int, double and
12459           char (and make usage in gstvalue.c more consistent).
12460
12461 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * check/Makefile.am:
12464         * libs/gst/controller/Makefile.am:
12465         * libs/gst/dataprotocol/Makefile.am:
12466           fix up Makefile.am and remove GST_ENABLE_NEW
12467
12468 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12469
12470         * configure.ac:
12471         * gst/Makefile.am:
12472         * gst/base/Makefile.am:
12473         * gst/check/Makefile.am:
12474         * gst/elements/Makefile.am:
12475         * gst/net/Makefile.am:
12476           update LDFLAGS use some more
12477
12478 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * common/m4/gst-doc.m4:
12481           Fixes #312589
12482
12483 2005-11-26  Edward Hervey  <edward@fluendo.com>
12484
12485         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12486         This shouldn't issue a g_warning since it returns NULL if it
12487         couldn't find the plugin, and all functions using this behave
12488         properly on a NULL return. Switching to a GST_WARNING.
12489
12490 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
12491
12492         * gst/gstbin.c: (gst_bin_handle_message_func):
12493         Don't leak clock messages.
12494
12495 2005-11-25  Wim Taymans  <wim@fluendo.com>
12496
12497         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12498         (gst_util_uint64_scale_int):
12499         Optimisations, remove unneeded vars.
12500
12501 2005-11-25  Wim Taymans  <wim@fluendo.com>
12502
12503         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12504         Added more checks for the high precision uint64 cases.
12505
12506         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12507         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12508         Implement high precision (guint64 * guint64) / guint64.
12509
12510 2005-11-24  Wim Taymans  <wim@fluendo.com>
12511
12512         * gst/base/gstbasesrc.c: (gst_base_src_query):
12513         Fix wrong percentage query.
12514
12515         * gst/gstutils.c: (gst_util_uint64_scale),
12516         (gst_util_uint64_scale_int):
12517         Add some more common cases that can be handled 
12518         efficiently to _scale.
12519
12520 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12521
12522         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
12523         (gst_mini_object_suite):
12524           don't use check calls from threads; check probably isn't
12525           threadsafe and using a lock to make it threadsafe would
12526           defeat the purpose of this check
12527         * gst/check/gstcheck.c:
12528         * gst/check/gstcheck.h:
12529           use GST_DEBUG some more
12530
12531 2005-11-24  Wim Taymans  <wim@fluendo.com>
12532
12533         * gst/gstutils.c: (gst_util_uint64_scale),
12534         (gst_util_uint64_scale_int):
12535         Chain trivial case to _scale_int.
12536
12537 2005-11-24  Wim Taymans  <wim@fluendo.com>
12538
12539         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12540         Added test for scaling.
12541
12542         * gst/gstclock.h:
12543         Small doc fix.
12544
12545         * gst/gstutils.c: (gst_util_uint64_scale_int):
12546         Implemented high precision scaling code.
12547
12548 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
12549
12550         * gst/gstinfo.h:
12551           do not crash on pad==NULL
12552
12553 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12554
12555         Patch by: Stefan Kost
12556
12557         * common/gtk-doc.mak:
12558         * docs/gst/Makefile.am:
12559         * docs/libs/Makefile.am:
12560           Fix distcheck issues for the libraries docs build
12561           Closes #319599.
12562
12563 2005-11-24  Michael Smith <msmith@fluendo.com>
12564
12565         * docs/manual/basics-helloworld.xml:
12566           Fix bug #315027: memory leak in example code in docs.
12567
12568 2005-11-24  Michael Smith <msmith@fluendo.com>
12569
12570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12571           Unlock the PREROLL_LOCK in a failure case.
12572
12573 2005-11-24  Wim Taymans  <wim@fluendo.com>
12574
12575         * docs/gst/gstreamer-sections.txt:
12576         * gst/base/gstadapter.h:
12577         * gst/base/gstbasesink.h:
12578         * gst/base/gstbasesrc.h:
12579         * gst/base/gstbasetransform.h:
12580         * gst/base/gstpushsrc.h:
12581         * gst/elements/gstfakesink.h:
12582         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
12583         * gst/elements/gstfakesrc.h:
12584         * gst/elements/gstfilesink.h:
12585         * gst/elements/gstfilesrc.h:
12586         * gst/gst.c:
12587         * gst/gstbin.c:
12588         * gst/gstbuffer.c: (_gst_buffer_copy):
12589         * gst/gstbus.h:
12590         * gst/gstcaps.c:
12591         * gst/gstchildproxy.c:
12592         * gst/gstclock.c:
12593         * gst/gstelement.c:
12594         * gst/gstelementfactory.c:
12595         * gst/gstelementfactory.h:
12596         * gst/gstevent.c:
12597         * gst/gstghostpad.h:
12598         * gst/gstindex.h:
12599         * gst/gstinterface.h:
12600         * gst/gstminiobject.c:
12601         * gst/gstminiobject.h:
12602         * gst/gstpad.c:
12603         * gst/gstpad.h:
12604         * gst/gstpadtemplate.h:
12605         * gst/gstpipeline.h:
12606         * gst/gstpluginfeature.h:
12607         * gst/gstquery.h:
12608         * gst/gstqueue.h:
12609         * gst/gsttaglist.c:
12610         * gst/gsttaglist.h:
12611         * gst/gsttagsetter.c:
12612         * gst/gsttagsetter.h:
12613         * gst/gsttrace.c:
12614         * gst/gsttrace.h:
12615         * gst/gsttypefind.h:
12616         * gst/gsturi.h:
12617         * gst/gstvalue.c:
12618         * gst/net/gstnetclientclock.c:
12619         * gst/net/gstnetclientclock.h:
12620         * gst/net/gstnettimepacket.c:
12621         * gst/net/gstnettimeprovider.c:
12622         * gst/net/gstnettimeprovider.h:
12623         Doc fixes.
12624
12625 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12626
12627         * configure.ac: back to HEAD
12628
12629 === release 0.9.6 ===
12630
12631 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
12632
12633         * configure.ac:
12634           releasing 0.9.6, "Always On Time"
12635
12636 2005-11-23  Wim Taymans  <wim@fluendo.com>
12637
12638         * docs/gst/gstreamer-sections.txt:
12639         * gst/glib-compat.c:
12640         * gst/gsttagsetter.c:
12641         * gst/gstvalue.c:
12642         * gst/net/gstnetclientclock.c:
12643         * gst/net/gstnettimepacket.h:
12644         Doc updates.
12645
12646 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12647
12648         * docs/faq/using.xml:
12649         * docs/libs/tmpl/gstcontrol.sgml:
12650         * docs/manual/advanced-dparams.xml:
12651         * docs/manual/appendix-checklist.xml:
12652         * docs/manual/basics-elements.xml:
12653         * docs/pwg/other-source.xml:
12654         * docs/random/moving-plugins:
12655         * gst/gstpad.c:
12656         * tools/gst-launch.1.in:
12657           remove mentions of sinesrc
12658
12659 2005-11-23  Michael Smith <msmith@fluendo.com>
12660
12661         * docs/gst/gstreamer-sections.txt:
12662           Update for new API and API changes.
12663         * gst/gstobject.h:
12664           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
12665         * gst/gstvalue.c:
12666           Documentation typo fix.
12667         * gst/net/gstnettimepacket.c:
12668           Documentation fixes for arguments.
12669
12670 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
12671
12672         * gst/gststructure.c: (gst_structure_get_fraction),
12673         (gst_structure_parse_value),
12674         (gst_structure_fixate_field_nearest_fraction):
12675         * gst/gststructure.h:
12676         * gst/gstutils.c: (gst_util_uint64_scale_int):
12677         * gst/gstutils.h:
12678         * scripts/update-funcnames:
12679         API Changes. 
12680         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
12681         Make gst_structure_fixate_field_nearest_fraction take a numerator
12682         and denominator argument instead of a GValue
12683         add gst_structure_get_fraction helper function.
12684
12685 2005-11-23  Wim Taymans  <wim@fluendo.com>
12686
12687         * docs/design/part-TODO.txt:
12688         Update TODO.
12689
12690         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12691         * gst/net/gstnetclientclock.h:
12692         Use parent fields for timeout and window_size.
12693
12694 2005-11-23  Andy Wingo  <wingo@pobox.com>
12695
12696         * check/net/gstnetclientclock.c (test_functioning): Adjust to
12697         rate_num/rate_denom change.
12698
12699         * gst/net/gstnetclientclock.c
12700         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
12701         OBJECT_LOCK. Don't call add_observation with the lock.
12702
12703         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
12704         fraction.
12705         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
12706         rate fraction.
12707         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
12708         deal with rate as a fraction whose numerator and denominator are
12709         GstClockTime values.
12710         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
12711         master; the other fields are protected by the SLAVE_LOCK.
12712         (do_linear_regression): Note that this must be called with the
12713         SLAVE_LOCK.
12714         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
12715         OBJECT_LOCK. Call set_calibration instead of touching the
12716         variables directly.
12717         (gst_clock_set_property, gst_clock_get_property): Protect
12718         master/slave parameters with the SLAVE_LOCK.
12719
12720         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
12721         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
12722         note that all of the instance variables that add_observation and
12723         the set_master functions use are protected by that lock and not
12724         the OBJECT_LOCK.
12725         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
12726
12727         * gst/gstclock.c (gst_clock_add_observation): No longer requires
12728         the caller to take the object lock.
12729
12730 2005-11-23  Wim Taymans  <wim@fluendo.com>
12731
12732         * gst/gsterror.c: (_gst_core_errors_init):
12733         * gst/gsterror.h:
12734         Add error for clock stuff.
12735
12736         * gst/gstpipeline.c: (gst_pipeline_change_state),
12737         (gst_pipeline_set_clock):
12738         Post clock error when clock cannot be used in a pipeline.
12739
12740 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
12741
12742         * docs/gst/gstreamer-sections.txt:
12743           make two symbols from gstinfo private for the docs
12744         * gst/base/gstcollectpads.h:
12745         * gst/gstutils.c:
12746           fix doc typos, update docs
12747
12748 2005-11-22  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12751         (gst_base_sink_wait), (gst_base_sink_do_sync),
12752         (gst_base_sink_handle_event):
12753         * gst/base/gstbasesink.h:
12754         No need to store the clock, the parent element class already
12755         has it.
12756
12757         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
12758         Updates for clock_set returning a gboolean
12759
12760         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
12761         (gst_clock_id_wait_async), (gst_clock_class_init),
12762         (gst_clock_init), (gst_clock_finalize),
12763         (gst_clock_get_internal_time), (gst_clock_get_time),
12764         (gst_clock_slave_callback), (gst_clock_set_master),
12765         (gst_clock_get_master), (do_linear_regression),
12766         (gst_clock_add_observation), (gst_clock_set_property),
12767         (gst_clock_get_property):
12768         * gst/gstclock.h:
12769         Implement master/slave. When setting a clock as a slave, a
12770         periodic timeout is scheduled to sample master and slave times.
12771         Then the slave clock is recalibrated to match offset and rate
12772         of the master clock.
12773         Update logging a bit.
12774         Add flag so that a clock can state that is cannot be slaved to
12775         another clock.
12776
12777         * gst/gstelement.c: (gst_element_set_clock):
12778         * gst/gstelement.h:
12779         The set clock returns a gboolean for when an element cannot
12780         deal with the selected clock in the pipeline. 
12781
12782         * gst/gstpipeline.c: (gst_pipeline_change_state),
12783         (gst_pipeline_set_clock):
12784         * gst/gstpipeline.h:
12785         Handle the case where the selected clock cannot be set on
12786         the pipeline.
12787
12788         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
12789         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12790         (gst_net_client_clock_set_property),
12791         (gst_net_client_clock_get_property),
12792         (gst_net_client_clock_observe_times):
12793         * gst/net/gstnetclientclock.h:
12794         Use regression code in GstClock parent, remove duplicated
12795         functionality.
12796
12797 2005-11-22  Michael Smith <msmith@fluendo.com>
12798
12799         * gst/gstutils.c: (gst_util_clock_time_scale):
12800         * gst/gstutils.h:
12801         * docs/gst/gstreamer-sections.txt:
12802           Rename method to have extra underscore.
12803
12804 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * gst/elements/Makefile.am:
12807         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
12808         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12809         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12810         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
12811         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
12812         * gst/elements/gstfakesrc.h:
12813         * gst/gstqueue.c: (queue_leaky_get_type):
12814           correctly fix GEnumValues so that nick is the short lowercase
12815           dashed tag
12816         * tools/gst-inspect.c: (print_element_properties_info):
12817           also show the nick, since it's useful to use from parse_launch
12818           syntax
12819           Fixes #322139
12820
12821 2005-11-22  Michael Smith <msmith@fluendo.com>
12822
12823         * gst/gstutils.c: (gst_util_clocktime_scale):
12824         * gst/gstutils.h:
12825         * docs/gst/gstreamer-sections.txt:
12826           Add util method for scaling a clocktime by a fraction. Useful 
12827           implementation is left as an exercise for the reader.
12828
12829 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12830
12831         * gst/gstvalue.c: (gst_value_collect_fraction_range):
12832         If needed, allocate storage in the destination value during
12833         collection.
12834
12835 2005-11-22  Edward Hervey  <edward@fluendo.com>
12836
12837         * docs/gst/gstreamer-sections.txt:
12838         * gst/Makefile.am:
12839         * gst/gst.h:
12840         * gst/gsturitype.c:
12841         * gst/gsturitype.h:
12842         * gst/gstutils.c: (gst_util_set_object_arg):
12843         * tools/gst-compprep.c: (main):
12844         * tools/gst-inspect.c: (print_element_properties_info):
12845         Removed GstURI, closes bug #321061
12846
12847 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12848
12849         * check/gst/gststructure.c: (GST_START_TEST):
12850         * gst/gststructure.c: (gst_structure_parse_value):
12851           Oops, broke automatic string type parsing.
12852           Add a test to catch it in future.
12853
12854 2005-11-22  Andy Wingo  <wingo@pobox.com>
12855
12856         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
12857         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
12858         Actually rename the function implementations. Grr.
12859
12860 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12861
12862         * check/gst/capslist.h:
12863           Comment test cases
12864         * check/gst/gststructure.c: (GST_START_TEST),
12865         (gst_structure_suite):
12866           Test automatic value type detection in gst_structure_from_string.
12867         * gst/gststructure.c: (gst_structure_parse_value):
12868           Add fraction as a type we try and guess automatically in
12869           caps/structure strings.
12870
12871 2005-11-22  Andy Wingo  <wingo@pobox.com>
12872
12873         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
12874
12875         * gst/gsttagsetter.h:
12876         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
12877         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
12878         (gst_tag_setter_add_tag_valist)
12879         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
12880         _add_values, _add_valist, and _add_valist_values. Since this is an
12881         interface the function suffixes should be more explicit so
12882         language binding don't end up with element.add_valist ->
12883         gst_tag_setter_add_valist, for example. Fixes #322069.
12884
12885 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12886
12887         * check/gst/gstcaps.c: (GST_START_TEST):
12888           Extend caps string tests to check that a caps to string
12889           conversion is reversible and produces the same caps.
12890
12891         * gst/gststructure.c: (gst_structure_value_get_generic_type):
12892           Output "fraction" as the generic type fraction range, so caps
12893           serialisation and deserialisation works.
12894         * check/gst/capslist.h:
12895         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12896           Support 'MIN' and 'MAX' for deserialising fractions.
12897
12898 2005-11-22  Andy Wingo  <wingo@pobox.com>
12899
12900         * gst/gstevent.h (gst_event_new_new_segment)
12901         (gst_event_parse_new_segment, gst_event_new_buffer_size)
12902         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
12903         Renamed from *_newsegment, *_buffersize, *_notarget.
12904
12905         * scripts/update-funcnames: New script, performs the changes
12906         listed above.
12907
12908 2005-11-22  Wim Taymans  <wim@fluendo.com>
12909
12910         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12911         Make sure the GstFlowReturn is returned.
12912
12913         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
12914         (gst_bus_add_signal_watch):
12915         * gst/gstbus.h:
12916         add gst_bus_add_signal_watch_full.
12917
12918         * gst/gstplugin.c: (gst_plugin_load_file):
12919         Small style cleanup.
12920
12921 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12922
12923         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
12924           Block the fakesrc srcpad when we send an event, to avoid
12925           contention on the stream_lock causing random test failures.
12926
12927 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12928
12929         * check/gst/gstvalue.c: (GST_START_TEST):
12930         * gst/gstvalue.c: (gst_value_fraction_subtract):
12931           Fix subtraction.
12932
12933 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
12934
12935         * gst/gst.h:
12936           include "gstchildproxy.h"
12937         * gst/gstchildproxy.h:
12938         * libs/gst/controller/gstcontroller.h:
12939           use G_GNUC_NULL_TERMINATED
12940
12941 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12942
12943         * check/gst/capslist.h:
12944         * check/gst/gstcaps.c: (GST_START_TEST):
12945         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12946         * gst/gststructure.c: (gst_structure_parse_range),
12947         (gst_structure_fixate_field_nearest_fraction):
12948         * gst/gststructure.h:
12949         * gst/gstvalue.c: (gst_value_init_fraction_range),
12950         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
12951         (gst_value_collect_fraction_range),
12952         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
12953         (gst_value_set_fraction_range_full),
12954         (gst_value_get_fraction_range_min),
12955         (gst_value_get_fraction_range_max),
12956         (gst_value_serialize_fraction_range),
12957         (gst_value_transform_fraction_range_string),
12958         (gst_value_compare_fraction_range),
12959         (gst_value_deserialize_fraction_range),
12960         (gst_value_intersect_fraction_fraction_range),
12961         (gst_value_intersect_fraction_range_fraction_range),
12962         (gst_value_subtract_fraction_fraction_range),
12963         (gst_value_subtract_fraction_range_fraction),
12964         (gst_value_subtract_fraction_range_fraction_range),
12965         (gst_value_collect_fraction), (gst_value_fraction_multiply),
12966         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
12967         (gst_value_transform_string_fraction), (_gst_value_initialize):
12968         * gst/gstvalue.h:
12969           Implement fraction ranges and extend GstFraction to support
12970           arithmetic subtraction, as well as deserialization from integer
12971           strings such as "100"
12972           Add a testsuite as for int and double range set operations
12973
12974 2005-11-21  Andy Wingo  <wingo@pobox.com>
12975
12976         * gst/gsttaglist.h: 
12977         * gst/gstcaps.h: 
12978         * gst/gststructure.h: Add glib-compat.h.
12979
12980 2005-11-21  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstbin.c: (gst_bin_change_state_func):
12983         Fix for #321595
12984
12985 2005-11-21  Wim Taymans  <wim@fluendo.com>
12986
12987         * gst/gstsegment.h:
12988         And add a nice define too.
12989
12990 2005-11-21  Wim Taymans  <wim@fluendo.com>
12991
12992         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
12993         (gst_segment_new), (gst_segment_free), (gst_segment_init),
12994         (gst_segment_set_duration), (gst_segment_set_last_stop),
12995         (gst_segment_set_seek), (gst_segment_set_newsegment),
12996         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12997         (gst_segment_clip):
12998         * gst/gstsegment.h:
12999         Make binding friendly.
13000
13001 2005-11-21  Andy Wingo  <wingo@pobox.com>
13002
13003         * gst/gsttagsetter.h: 
13004         * gst/gsttaglist.h: 
13005         * gst/gststructure.h: 
13006         * gst/gstcaps.h: 
13007         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
13008         #319940.
13009
13010         * gst/gsterror.c (_gst_core_errors_init):
13011         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
13012         category.
13013
13014         * gst/Makefile.am (gst_headers): Add glib-compat.h.
13015         (noinst_HEADERS): noinst the -private.
13016
13017 2005-11-21  Michael Smith <msmith@fluendo.com>
13018
13019         * gst/gstplugin.h:
13020         * gst/gstregistry.h:
13021           Remove unimplemented declarations for which we can see no sensible
13022           use.
13023
13024 2005-11-21  Andy Wingo  <wingo@pobox.com>
13025
13026         * gst/gst.h: Include glib-compat.h.
13027
13028         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
13029
13030         * gst/glib-compat.c: Include the public and the private header.
13031
13032         * gst/glib-compat-private.h: Copied here from glib-compat.h.
13033
13034         * gst/gstvalue.c: 
13035         * gst/gstpad.c: 
13036         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
13037
13038         * check/gst/gstevent.c (create_custom_events): Check that
13039         FLUSH_STOP is serialized.
13040
13041         * check/elements/identity.c (event_func): 
13042         * check/elements/fakesrc.c (event_func): No stream lock, the core
13043         takes it.
13044
13045         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
13046         stream lock taking, yay.
13047
13048         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
13049         ensure that core takes the stream lock.
13050
13051         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
13052         lock name change.
13053
13054         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
13055         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
13056         it already. For the flush start we do take it though so we get the
13057         right preroll state change messages.
13058
13059         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
13060         the stream lock here, the core does it for us.
13061
13062         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
13063         GST_STREAM_GET_LOCK.
13064         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
13065         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
13066         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
13067         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
13068         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
13069         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
13070
13071         * gst/gstpad.c: Update for stream lock name change.
13072
13073         * gst/base/gstbasesink.c: Update for preroll lock name change.
13074
13075 2005-11-21  Wim Taymans  <wim@fluendo.com>
13076
13077         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
13078         (gst_clock_get_master):
13079         * gst/gstclock.h:
13080         * gst/gstsystemclock.c: (gst_system_clock_init):
13081         Convert Clock flags to object flags.
13082         Added methods to manage master/slave clocks.
13083
13084 2005-11-21  Wim Taymans  <wim@fluendo.com>
13085
13086         * check/gst/gstsegment.c: (GST_START_TEST):
13087         * docs/design/part-TODO.txt:
13088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13089         (gst_base_sink_event), (gst_base_sink_do_sync),
13090         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13091         (gst_base_sink_query), (gst_base_sink_change_state):
13092         * gst/base/gstbasesink.h:
13093         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13094         (gst_base_src_default_newsegment),
13095         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13096         (gst_base_src_get_range), (gst_base_src_loop),
13097         (gst_base_src_change_state):
13098         * gst/base/gstbasesrc.h:
13099         * gst/base/gstbasetransform.c:
13100         (gst_base_transform_prepare_output_buf),
13101         (gst_base_transform_event), (gst_base_transform_change_state):
13102         * gst/base/gstbasetransform.h:
13103         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13104         (gst_collect_pads_event):
13105         * gst/base/gstcollectpads.h:
13106         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
13107         (gst_fake_src_create):
13108         * gst/elements/gstfakesrc.h:
13109         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13110         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13111         (gst_segment_set_last_stop), (gst_segment_set_seek),
13112         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13113         (gst_segment_to_running_time), (gst_segment_clip):
13114         * gst/gstsegment.h:
13115         More segment updates, replace code in plugins with segment
13116         helper functions.
13117
13118 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13119
13120         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
13121         Don't ignore sscanf results
13122
13123 2005-11-21  Andy Wingo  <wingo@pobox.com>
13124
13125         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
13126
13127         * *.h:
13128         * *.c: Ran scripts/update-macros. Oh yes.
13129
13130         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
13131         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
13132         GST_GET_LOCK, etc.
13133
13134         * scripts/update-macros: New script. Run it on your files to
13135         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
13136         well.
13137
13138 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13139
13140         * docs/gst/Makefile.am:
13141         * docs/gst/gstreamer-docs.sgml:
13142         * docs/gst/gstreamer-sections.txt:
13143         * docs/gst/gstreamer.types:
13144         * gst/gstinfo.h:
13145           more docs fixes, add new api to the docs
13146
13147 2005-11-21  Andy Wingo  <wingo@pobox.com>
13148
13149         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
13150         state_broadcast call.
13151
13152         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
13153
13154 2005-11-21  Julien MOUTTE  <julien@moutte.net>
13155
13156         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
13157         function calls for arrays.
13158
13159 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13160
13161         * docs/random/ensonic/media-device-daemon.txt:
13162           wild idea, can this be done?
13163         * docs/gst/gstreamer-sections.txt:
13164         * gst/gsterror.h:
13165         * gst/gstfilter.c:
13166         * gst/gstfilter.h:
13167         * gst/gstplugin.h:
13168         * gst/gstpluginfeature.c:
13169         * gst/gsttrace.c:
13170         * gst/gstvalue.c:
13171         * gst/gstvalue.h:
13172           doc fixes and additions
13173
13174 2005-11-21  Andy Wingo  <wingo@pobox.com>
13175
13176         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
13177         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
13178         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
13179         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
13180         private to the basesrc implementation.
13181
13182         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
13183         behalf of event function if necessary. It should no longer be
13184         necessary to take the stream lock in pad's event functions. Fixes
13185         #320299.
13186
13187 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13188         * docs/gst/gstreamer-sections.txt:
13189         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
13190         (gst_structure_fixate_field_nearest_double),
13191         (gst_structure_fixate_field_boolean):
13192         * gst/gststructure.h:
13193         * win32/common/libgstreamer.def:
13194         * win32/gstreamer.def:
13195
13196         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
13197         (#322027)
13198
13199 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13200
13201         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
13202         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
13203         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
13204         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
13205         (gst_fdsrc_uri_handler_init):
13206         * gst/elements/gstfdsrc.h:
13207           Port fd:// URI handler from 0.8 to fdsrc
13208
13209 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13210
13211         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
13212         (gst_value_serialize_fourcc):
13213         * gst/gstvalue.h:
13214           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
13215           consistent with our other format defines (#320324).
13216
13217 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13218
13219         * gst/gstvalue.c: (gst_value_is_fixed):
13220           Revert previous commit. Value lists are by definition
13221           not fixed, as they are a list of possible values.
13222
13223 2005-11-21  Andy Wingo  <wingo@pobox.com>
13224
13225         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
13226         during the stable series if we need it. Fixes #319178.
13227
13228         * gst/gstevent.c (gst_event_new_filler): Removed.
13229
13230         * check/gst/gstevent.c: Update comment about filler events.
13231
13232 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13233
13234         * gst/gstvalue.c: (gst_value_is_fixed):
13235           Should handle both value arrays and value lists.
13236
13237 2005-11-21  Andy Wingo  <wingo@pobox.com>
13238
13239         patch by: Alessandro Dessina <alessandro nnva org>
13240
13241         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
13242         functions to access arrays. Fixes #321962.
13243
13244 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13245
13246         * docs/gst/gstreamer.types:
13247           gst_collectpads_get_type => gst_collect_pads_get_type.
13248           
13249         * gst/base/gstbasetransform.c:
13250           Remove unused SIGNAL_HANDOFF enum.
13251
13252 2005-11-21  Andy Wingo  <wingo@pobox.com>
13253
13254         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
13255         the event type (upstream, downstream, serialized). Renamed
13256         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
13257         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
13258         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
13259
13260         * gst/gstevent.c: Update for new CUSTOM event names.
13261
13262         * check/gst/gstevent.c: Update check for new CUSTOM event names.
13263
13264         * gst/gstevent.h:
13265         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
13266         bug #319392.
13267
13268 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13269
13270         * docs/gst/gstreamer-sections.txt:
13271         * win32/common/libgstbase.def:
13272         * win32/libgstbase.def:
13273         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13274         (gst_collect_pads_class_init), (gst_collect_pads_init),
13275         (gst_collect_pads_finalize), (gst_collect_pads_new),
13276         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
13277         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
13278         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
13279         (gst_collect_pads_start), (gst_collect_pads_stop),
13280         (gst_collect_pads_peek), (gst_collect_pads_pop),
13281         (gst_collect_pads_available), (gst_collect_pads_read),
13282         (gst_collect_pads_flush), (gst_collect_pads_event),
13283         (gst_collect_pads_chain):
13284         * gst/base/gstcollectpads.h:
13285           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
13286           unimplemented functions as unimplemented. Add padding to
13287           GstCollectData. (#320766, #320423)
13288
13289 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13290
13291         * gst/gstmessage.c:
13292           Improve docs for DURATION message (usage of duration parameter)
13293           (#320113)
13294
13295 2005-11-20  Wim Taymans  <wim@fluendo.com>
13296
13297         * check/Makefile.am:
13298         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
13299         (main):
13300         * gst/Makefile.am:
13301         * gst/gst.h:
13302         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13303         (gst_segment_set_seek), (gst_segment_set_newsegment),
13304         (gst_segment_to_stream_time), (gst_segment_to_running_time),
13305         (gst_segment_clip):
13306         * gst/gstsegment.h:
13307         Added segment helper structure and methods. Not fully implemented
13308         yet.
13309         Added segment check.
13310
13311 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
13312
13313         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13314           Add a deserialisation test for fractions
13315         * examples/metadata/read-metadata.c: (message_loop),
13316         (make_pipeline), (main):
13317           Fix up metadata reading sample.
13318         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13319           Debug format fix
13320         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13321           Don't try and fixate empty caps
13322         * gst/gst_private.h:
13323           Wrap in G_BEGIN_DECLS/G_END_DECLS
13324         * gst/gstvalue.c: (gst_value_collect_fraction),
13325         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
13326         (gst_value_transform_string_fraction),
13327         (gst_value_compare_fraction):
13328           Add some extra guards to ensure that we don't end up 
13329           with an invalid denominator of 0 in a gstfraction and
13330           that fractions always get reduced.
13331
13332 2005-11-20  Wim Taymans  <wim@fluendo.com>
13333
13334         * docs/gst/gstreamer-sections.txt:
13335         * gst/gstbuffer.h:
13336         * gst/gstelement.c:
13337         * gst/gstformat.c:
13338         * gst/gstformat.h:
13339         * gst/gstindex.h:
13340         * gst/gstquery.c:
13341         * gst/gstquery.h:
13342         * gst/gstvalue.c:
13343         Doc fixes.
13344
13345 2005-11-20  Wim Taymans  <wim@fluendo.com>
13346
13347         * docs/design/part-TODO.txt:
13348         * gst/gstcaps.h:
13349         Make a proper enum of the flag.
13350
13351 2005-11-19  Wim Taymans  <wim@fluendo.com>
13352
13353         * docs/design/part-TODO.txt:
13354         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
13355         (gst_format_to_quark), (gst_format_register):
13356         * gst/gstformat.h:
13357         * gst/gstquery.c: (_gst_query_initialize),
13358         (gst_query_type_get_name), (gst_query_type_to_quark),
13359         (gst_query_type_register):
13360         * gst/gstquery.h:
13361         Add type to quark and type to string conversions.
13362
13363 2005-11-19  Andy Wingo  <wingo@pobox.com>
13364
13365         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
13366         #320097.
13367
13368 2005-11-19  Wim Taymans  <wim@fluendo.com>
13369
13370         * docs/design/part-TODO.txt:
13371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
13372         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
13373         (gst_bin_handle_message_func):
13374         * gst/gstbin.h:
13375         Make message handling overridable.
13376
13377 2005-11-19  Andy Wingo  <wingo@pobox.com>
13378
13379         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
13380
13381         * gst/gstclock.h:
13382         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
13383         be a GstClockTime.
13384         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
13385         is a GstClockTime. Fixes #321710.
13386
13387         * gst/gstclock.h (GstClock): Remove offset property. Add
13388         internal_calibration and external_calibration. Fix padding. Pad
13389         also by GstClockTime so we don't run into problems.
13390
13391         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
13392         (gst_clock_get_rate_offset): Remove.
13393         (gst_clock_set_time_adjust): Remove. Fixes #321712.
13394
13395         * gst/gstutils.h:
13396         * gst/gstutils.c (g_static_rec_cond_wait)
13397         (g_static_rec_cond_timed_wait): Removed, no longer needed.
13398
13399         * gst/gstbin.c: Remove terrible continue_state prototype.
13400
13401         * gst/gstelement.h (gst_element_continue_state): Make public.
13402
13403         * gst/gstelement.h:
13404         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
13405         by continue_state. Fixes #319389.
13406
13407         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
13408         Really fixes #168438. However I don't see anywhere where the
13409         filter function is called... stupid GStreamer...
13410         
13411         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
13412         don't have a dispose function, so it won't get called when the
13413         object is unreffed, but oh well!
13414
13415         * gst/gstindex.c (gst_index_set_filter_full): New API function,
13416         allows a destroy function to be set so user_data can be freed.
13417         Fixes #168438.
13418         (gst_index_set_filter): Call gst_index_set_filter_full.
13419
13420         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
13421
13422         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
13423         string should produce an error, given the lack of a way to
13424         represent NULL strings. Fixes #165650.
13425         
13426         * gst/gstvalue.h: 
13427         * gst/gstvalue.c (gst_value_array_append_value) 
13428         (gst_value_array_prepend_value, gst_value_array_get_size) 
13429         (gst_value_array_get_value): New API, copied from
13430         gst_value_list_*, only operates on arrays.
13431         (gst_value_list_append_value, gst_value_list_prepend_value) 
13432         (gst_value_list_concat, gst_value_list_get_size) 
13433         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
13434
13435         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
13436         init_list, because it works on both.
13437         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
13438         (gst_value_copy_list_or_array): Renamed from copy_list.
13439         (gst_value_free_list_or_array): Renamed from free_list.
13440         (gst_value_collect_list_or_array): Renamed from collect_list.
13441         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
13442         (gst_value_list_or_array_peek_pointer): Renamed from
13443         list_peek_pointer.
13444         (_gst_value_array_value_table, _gst_value_list_value_table):
13445         Update value table functions.
13446         (gst_value_compare_list_or_array): Renamed from compare_list.
13447
13448         * gsttaglist.h: Whoops, foreach function returns void. Also fix
13449         some constness.
13450
13451         * gst/gsttaglist.c:
13452         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
13453         GstTagList*. Fixes #143472.
13454
13455         * gst/gststructure.h: Clarify what the foreach/map functions can
13456         or can't do to their arguments.
13457
13458 2005-11-18  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstclock.c: (gst_clock_set_calibration),
13461         (gst_clock_get_calibration):
13462         Doc and API fixes.
13463         Calibration can be set with internal time equal to current
13464         internal time too.
13465
13466 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13467
13468         * gst/gsterror.c:
13469         * gst/gsterror.h:
13470           document
13471
13472 2005-11-18  Andy Wingo  <wingo@pobox.com>
13473
13474         * configure.ac: 
13475         * pkgconfig/gstreamer-net.pc.in:
13476         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13477         * pkgconfig/Makefile.am: Add net pkgconfig files.
13478
13479 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
13480
13481         * gst/gstcaps.c:
13482         * gst/gstghostpad.c:
13483         * gst/gsttrace.c:
13484         * gst/gstvalue.c:
13485         * gst/gstvalue.h:
13486           docs fixes
13487
13488 2005-11-18  Andy Wingo  <wingo@pobox.com>
13489
13490         * gst/net/gstnetclientclock.c: Turn off debugging.
13491
13492         * check/net/gstnetclientclock.c (test_functioning): Assert that the
13493         times connverge somewhat. Can't make a real test.
13494
13495         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
13496         integer arithmetic. Return the minimum of the domain, which can be
13497         set as "internal" for gst_clock_set_calibration.
13498         (gst_net_client_clock_observe_times): Call _set_calibration.
13499         (gst_net_client_clock_new): Call _set_calibration instead of
13500         rate_offset.
13501
13502         * check/net/gstnetclientclock.c (test_functioning): Use the right
13503         adjustment api.
13504
13505         * gst/gstclock.h:
13506         * gst/gstclock.c (gst_clock_get_calibration) 
13507         (gst_clock_set_calibration): New functions, obsolete the ones I
13508         added yesterday. Doh. Precision issues mean we have to extrapolate
13509         from a point in the more recent past than 1970.
13510         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
13511         obsolete.
13512         (gst_clock_adjust_unlocked): Use the right calibration data.
13513
13514 2005-11-18  Edward Hervey  <edward@fluendo.com>
13515
13516         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
13517         Also reset the ->current_* values in READY->PAUSED
13518
13519 2005-11-18  Andy Wingo  <wingo@pobox.com>
13520
13521         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
13522         Whoops, check the right fd. Also add some debugging.
13523         (gst_net_client_clock_observe_times): Adjust for int64 offset.
13524         (do_linear_regression): Add a crapload of debugging. Subtract off
13525         the minimum values from the input series to discard unneeded bits.
13526         Use only int arithmetic. There is still double arithmetic when
13527         calculating the intercept that needs fixing. Return boolean to
13528         indicate success; FALSE would mean the domain or range is too
13529         great. Still needs fixes.
13530
13531 2005-11-18  Wim Taymans  <wim@fluendo.com>
13532
13533         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13534         For the current position in stream time, we need to subtract
13535         accumulated time.
13536         
13537         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
13538         Release lock before calling the callback function of async
13539         entries.
13540
13541 2005-11-18  Andy Wingo  <wingo@pobox.com>
13542
13543         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
13544         Port goes all the way to MAXUINT16.
13545
13546         * gst/net/gstnettimeprovider.c: Make the port range the same as
13547         for the kernel: 0 assigns, otherwise ports are less than
13548         MAXUINT16.
13549
13550         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
13551         port change.
13552
13553         * check/net/gstnetclientclock.c (test_functioning): Add the start
13554         of another test. 
13555
13556 2005-11-18  Wim Taymans  <wim@fluendo.com>
13557
13558         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13559         (gst_bin_remove_func), (bin_bus_handler):
13560         * gst/gstbin.h:
13561         Removing a clock provider from a bin, triggers a clock lost message
13562         so that a new clock will be selected.
13563         Adding a clock to a bin triggers a clock provider message.
13564         Make sure we reselect a clock when we received a clock lost message.
13565         Keep a reference to the element that provided the clock.
13566
13567 2005-11-18  Andy Wingo  <wingo@pobox.com>
13568
13569         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
13570         the clock initially so it produces values around the base time.
13571         (gst_net_client_clock_class_init): Typo fix.
13572         (gst_net_client_clock_thread): Add note on when the socket gets
13573         closed.
13574
13575 2005-11-17  Wim Taymans  <wim@fluendo.com>
13576
13577         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
13578         Free remote and local time arrays.
13579
13580 2005-11-17  Wim Taymans  <wim@fluendo.com>
13581
13582         * gst/net/gstnetclientclock.c: (do_linear_regression),
13583         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
13584         Fix compilation, uninitialized vars and a forgotten continue.
13585
13586 2005-11-17  Andy Wingo  <wingo@pobox.com>
13587
13588         * check/Makefile.am (check_PROGRAMS): 
13589         * check/net/gstnetclientclock.c: Add a most minimal test for the
13590         net client clock. More to come later.
13591
13592         * gst/net/gstnet.h: 
13593         * gst/net/Makefile.am: Add netclientclock.
13594
13595         * gst/net/gstnetclientclock.h:
13596         * gst/net/gstnetclientclock.c: New files, implement an untested
13597         GstClock that takes its time from a network time provider.
13598         Implements the algorithm in network-clock.scm.
13599
13600         * tests/network-clock.scm (*window-size*): Rename from
13601         *queue-length*.
13602         * tests/network-clock.scm (network-time): 
13603         * tests/network-clock-utils.scm (q-push): Update callers.
13604
13605 2005-11-17  Wim Taymans  <wim@fluendo.com>
13606
13607         * gst/gstbin.c: (gst_bin_provide_clock_func),
13608         (gst_bin_sort_iterator_new):
13609         And unref the child too..
13610
13611 2005-11-17  Wim Taymans  <wim@fluendo.com>
13612
13613         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13614         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
13615         Refactor the sort iterator so it can be used while holding the
13616         LOCK too.
13617         Make clock selection select a clock closest to the source.
13618
13619 2005-11-17  Michael Smith <msmith@fluendo.com>
13620
13621         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
13622         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
13623         * gst/gstclock.h:
13624           Anonymous structs are a gcc (and some other compilers) extension, so
13625           don't use them. Since this is only for ABI-compatibility, and our
13626           API/ABI freeze is over in a few days, this whole thing will only
13627           last a few days, so don't bother trying to think up a meaningful
13628           name for the struct.
13629
13630 2005-11-17  Andy Wingo  <wingo@pobox.com>
13631
13632         * gst/gstclock.h (GstClock): Add rate and offset properties,
13633         preserving ABI stability. Add rate/offset accessors. Will file bug
13634         for the freeze break.
13635
13636         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
13637         and offset, trying to keep precision and avoiding
13638         underflow/overflow.
13639         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
13640         functions. Make gst_clock_set_time_adjust obsolete.
13641         (gst_clock_set_time_adjust): Note that this function is obsolete.
13642         Will file bug soon.
13643
13644         * gst/base/gstbasetransform.h: Make the ABI-stability hack
13645         greppable by using GST_PADDING-1+1.
13646
13647 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
13648
13649         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13650
13651         * gst/gstmessage.c: (gst_message_parse_clock_lost):
13652           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
13653
13654         * gst/gstpadtemplate.h:
13655         * gst/gstpluginfeature.h:
13656           Don't use c++ style comments in headers (#321638).
13657
13658 2005-11-16  Andy Wingo  <wingo@pobox.com>
13659
13660         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
13661         buffer.
13662
13663         * check/net/gstnettimeprovider.c: Check to see that the time
13664         provider actually provides times. Works, yo!
13665
13666 2005-11-16  Wim Taymans  <wim@fluendo.com>
13667
13668         * check/Makefile.am:
13669         Enable more tests.
13670
13671         * check/elements/fakesrc.c: (GST_START_TEST):
13672         Set element to NULL before disposing it.
13673
13674 2005-11-16  Andy Wingo  <wingo@pobox.com>
13675
13676         * gst/net/Makefile.am:
13677         * gst/net/gstnet.h:
13678         * gst/net/gstnettimeprovider.c: 
13679         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
13680         provider, include it from gstnet.h, and add it to the build.
13681
13682         * gst/net/gstnettimepacket.h: 
13683         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
13684         sending and receiving.
13685
13686 2005-11-16  Wim Taymans  <wim@fluendo.com>
13687
13688         * check/Makefile.am:
13689         Enable valgrind check.
13690
13691         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
13692         (gst_fake_src_alloc_buffer):
13693         Fix memleak.
13694
13695 2005-11-16  Wim Taymans  <wim@fluendo.com>
13696
13697         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
13698         Call parent finalize too.
13699
13700 2005-11-16  Wim Taymans  <wim@fluendo.com>
13701
13702         * check/Makefile.am:
13703         Enable valgrind check that should work fine now.
13704
13705         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13706         * gst/gstqueue.c: (gst_queue_init):
13707         Fix memleaks in pad allocation.
13708
13709 2005-11-16  Andy Wingo  <wingo@pobox.com>
13710
13711         * gst/net/Makefile.am:
13712         * gst/net/gstnet.h: New part of core to hold network elements and
13713         objects. Put in core because it exposes API that applications want
13714         to use. The library is named libgstnet-tempname right now because
13715         of the existing libgstnet in gst-plugins-base. Solution is
13716         probably to rename the one in plugins-base; will file a bug for
13717         the freeze break.
13718
13719         * gst/net/gstnettimeprovider.c: 
13720         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
13721         get_time call over the network.
13722
13723         * configure.ac: 
13724         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
13725
13726         * check/Makefile.am:
13727         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
13728         get additions shortly.
13729
13730 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13731
13732         * gst/gstpad.c: (gst_pad_new_from_static_template):
13733         * gst/gstpad.h:
13734           add gst_pad_new_from_static_template functions
13735         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
13736         (gst_check_setup_sink_pad):
13737         * gst/elements/gsttee.c: (gst_tee_init):
13738           and use them
13739
13740 2005-11-16  Wim Taymans  <wim@fluendo.com>
13741
13742         * gst/gstpad.c: (gst_pad_pause_task):
13743         Removed warning, it's not really an error either.
13744
13745 2005-11-16  Wim Taymans  <wim@fluendo.com>
13746
13747         * gst/base/gstbasetransform.c:
13748         (gst_base_transform_prepare_output_buf),
13749         (gst_base_transform_event):
13750         Check if the caps are NULL, this can happen if the element
13751         is shutting down and the pad caps are set to NULL.
13752
13753 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13754
13755         * gst/elements/gsttee.c: (gst_tee_init):
13756           fix pad template leak in tee
13757
13758 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13759
13760         * gst/glib-compat.c: (g_value_dup_gst_object):
13761         * gst/glib-compat.h:
13762         * gst/gstpad.c: (gst_pad_set_property):
13763           use gst_object_ref when setting the pad template; this will
13764           trigger the pad template leaks on GLib 2.6 and the slaves
13765
13766 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13767
13768         * gst/glib-compat.c: (gst_flags_get_first_value):
13769         * gst/glib-compat.h:
13770         * gst/gstregistryxml.c:
13771           remove functions copied from GLib 2.6
13772
13773 2005-11-16  Michael Smith <msmith@fluendo.com>
13774
13775         * gst/Makefile.am:
13776           Don't link against VALGRIND_LIBS. That was always the wrong thing to
13777           do, but only breaks with newer valgrind versions. We're not a
13778           valgrind tool, we have no link-time dependencies on libcoregrind.
13779
13780 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13781
13782         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13783           some debug changes
13784         * gst/gstmessage.h:
13785           typo fixes
13786
13787 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13788
13789         * gst/base/gstbasesrc.c: (gst_base_src_init):
13790         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13791         * gst/gstqueue.c: (gst_queue_init):
13792         * gst/gstregistryxml.c: (load_feature):
13793           Revert all these unrefs, they don't even pass make check !
13794
13795 2005-11-15  Johan Dahlin  <johan@gnome.org>
13796
13797         * gst/base/gstbasesrc.c: (gst_base_src_init):
13798         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13799         * gst/gstqueue.c: (gst_queue_init): 
13800         Free pad templates, fixes a couple of leaks.
13801
13802 2005-11-15  Daniel Fischer  <dan at f3c dot com>
13803
13804         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13805
13806         * gst/gstpad.c: (gst_pad_get_property):
13807           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
13808           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
13809           (#321452)
13810
13811 2005-11-15  Wim Taymans  <wim@fluendo.com>
13812
13813         * gst/gstevent.c:
13814         Small doc update.
13815
13816 2005-11-15  Andy Wingo  <wingo@pobox.com>
13817
13818         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
13819
13820         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
13821         using GST_CLOCK_TIME_NONE to disable base time management.
13822         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
13823         time if it was NONE before.
13824         (gst_pipeline_change_state): Only munge the base time if
13825         stream_time != GST_CLOCK_TIME_NONE.
13826
13827         * check/gst/gstpipeline.c (test_base_time): Punt around the
13828         problem of the probe not being called, because that's not the
13829         issue I'm looking at. Add a check that setting stream_time to NONE
13830         disables base time management.
13831         
13832 2005-11-15  Wim Taymans  <wim@fluendo.com>
13833
13834         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13835         segment_stop == -1 at startup.
13836
13837         * gst/base/gstbasetransform.c: (gst_base_transform_event),
13838         (gst_base_transform_change_state):
13839         Init segment values at start.
13840
13841 2005-11-15  Wim Taymans  <wim@fluendo.com>
13842
13843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13844         0 segment values are 0 in any format.
13845
13846         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13847         * gst/base/gstbasetransform.h:
13848         Parse newsegment correctly in basetransform
13849
13850         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13851         Sync to clock using updated segment values.
13852
13853 2005-11-15  Andy Wingo  <wingo@pobox.com>
13854
13855         * check/gst/gstpipeline.c (test_base_time): Add check that the
13856         base time and stream time are reset correctly.
13857
13858 2005-11-15  Wim Taymans  <wim@fluendo.com>
13859
13860         * docs/design/part-TODO.txt:
13861         Some more TODO items.
13862
13863 2005-11-15  Andy Wingo  <wingo@pobox.com>
13864
13865         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
13866         error if the user selected "no clock" as the clocking method.
13867
13868         * check/gst/gstpipeline.c (test_base_time): New test for buffer
13869         timestamps with live capture.
13870
13871         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
13872         is 0 but we are a live source, timestamp the buffers using the
13873         element's clock.
13874
13875 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
13876
13877         * docs/gst/gstreamer-sections.txt:
13878         * gst/gsterror.c:
13879         * gst/gstghostpad.c:
13880         * gst/gstobject.h:
13881         * gst/gstxml.c:
13882           more section docs
13883
13884 2005-11-14  Wim Taymans  <wim@fluendo.com>
13885
13886         * common/gst.supp:
13887           add suppressions from Wim's Debian machine
13888
13889 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * common/gst.supp:
13892           add suppressions from Andy's AMD64 Ubuntu machine
13893
13894 2005-11-14  Andy Wingo  <wingo@pobox.com>
13895
13896         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
13897         STATE_LOCK not necessary. Fixes #311489.
13898
13899         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
13900         #305291.
13901
13902         * gst/gstindex.c (gst_index_add_object): Note in the docs that
13903         this function is not implemented.
13904
13905 2005-11-14  Julien MOUTTE  <julien@moutte.net>
13906
13907         * gst/base/gstbasetransform.c:
13908         (gst_base_transform_prepare_output_buf):
13909         Ref the source pad caps while we need them.
13910         Fixes (#321386)
13911
13912 2005-11-11  Wim Taymans  <wim@fluendo.com>
13913
13914         * docs/gst/gstreamer-sections.txt:
13915         Added some docs for GstCollectData.
13916
13917         * gst/base/gstadapter.c:
13918         Some small code example fix.
13919
13920         * gst/base/gstcollectpads.c:
13921         * gst/base/gstcollectpads.h:
13922         Document some more.
13923
13924 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13925
13926         * configure.ac: back to HEAD
13927
13928 === release 0.9.5 ===
13929
13930 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
13931
13932         * configure.ac:
13933           releasing 0.9.5, "Bike Lunch Day"
13934
13935 2005-11-11  Wim Taymans  <wim@fluendo.com>
13936
13937         * gst/gstbuffer.c: (_gst_buffer_copy):
13938         Copy more flags.
13939
13940         * gst/gstcaps.c: (gst_caps_is_equal):
13941         Fix some docs.
13942         Make _is_equal fast in the trivial cases.
13943
13944         * gst/gstminiobject.c:
13945         * gst/gstminiobject.h:
13946         More docs. Spifify .h file.
13947
13948         * gst/gstutils.c:
13949         Small doc update.
13950
13951 2005-11-11  Wim Taymans  <wim@fluendo.com>
13952
13953         * gst/base/gstbasetransform.c:
13954         (gst_base_transform_prepare_output_buf),
13955         (gst_base_transform_handle_buffer):
13956         Small cleanups.
13957         If we're processing a buffer and need to allocate an output
13958         buffer, we cannot accept a format change. If we did get a 
13959         format change, we have to alloc a buffer ourselves of the 
13960         right size.
13961
13962 2005-11-11  Wim Taymans  <wim@fluendo.com>
13963
13964         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
13965         While checking the flag for reentrancy in the gstcaps function
13966         is nice to detect recursive invocations, it also makes it 
13967         impossible to call getcaps from multiple threads, which must be
13968         possible. So, checking for recursive calls has to go.
13969
13970 2005-11-11  Michael Smith <msmith@fluendo.com>
13971
13972         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13973           Don't sync on buffers that fall partially outside our current
13974           segment. Prevents an assertion failure/abort playing some files.
13975
13976 2005-11-10  Andy Wingo  <wingo@pobox.com>
13977
13978         * check/gst/gstbin.c (test_message_state_changed_children): Style
13979         fix..
13980
13981         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
13982         gst_bus_poll with the signal watch. Ensures that poll and a signal
13983         watch see the same messages.
13984
13985         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
13986         a poll and a watch at the same time get the same messages.
13987
13988 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
13991         * gst/gstcaps.c: (gst_caps_intersect):
13992           Don't call gst_caps_do_simplify - it doesn't respect order of caps
13993           and it's not needed.
13994
13995 2005-11-10  Wim Taymans  <wim@fluendo.com>
13996
13997         * docs/design/part-TODO.txt:
13998         Updated todo.
13999
14000 2005-11-10  Wim Taymans  <wim@fluendo.com>
14001
14002         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14003         * gst/base/gstbasesrc.c: (gst_base_src_wait),
14004         (gst_base_src_do_sync), (gst_base_src_get_range):
14005         Implement clock sync in base class.
14006
14007 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14008
14009         patch by: Tim-Philipp Müller <tim at centricular dot net>
14010
14011         * gst/gststructure.c: (gst_structure_parse_field),
14012         (gst_structure_from_string):
14013           Forward-port a 0.8 patch to handle escaped spaces in structure string,
14014           so that gst_parse_launch() can deal with spaces in filtered link
14015           caps (fixes #164479)
14016         * check/gst/capslist.h:
14017         * check/gst/gststructure.c: (GST_START_TEST):
14018           add unit tests for this change
14019
14020 2005-11-10  Wim Taymans  <wim@fluendo.com>
14021
14022         * docs/gst/gstreamer-sections.txt:
14023         * gst/gstelement.c:
14024         * gst/gstelement.h:
14025         Fix docs, move some STATE macros to private.
14026
14027 2005-11-10  Wim Taymans  <wim@fluendo.com>
14028
14029         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14030         Added check for bug #317341
14031
14032         * gst/gstbuffer.c:
14033         * gst/gstbuffer.h:
14034         Some more spiffifying.
14035
14036         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
14037         Call peer linkfunction if we are a source pad. Totally fixes
14038         #317341
14039
14040         * gst/gstpad.c:
14041         Update docs, source pads should call the peer linkfunction
14042         so they can atomically perform the pad link.
14043
14044 2005-11-09  Wim Taymans  <wim@fluendo.com>
14045
14046         * gst/gstbuffer.c:
14047         * gst/gstbuffer.h:
14048         Uber-spiffy-spiffify some more.
14049
14050 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
14051
14052         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
14053         * gst/elements/gstfilesink.c: (gst_file_sink_init):
14054         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14055         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
14056         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
14057         * gst/gstpad.c: (gst_pad_init):
14058           Use GST_DEBUG_FUNCPTR() more extensively.
14059
14060 2005-11-09  Wim Taymans  <wim@fluendo.com>
14061
14062         * gst/gstobject.c: (gst_object_class_init):
14063         * gst/gstobject.h:
14064         Documentation fixes.
14065
14066 2005-11-09  Edward Hervey  <edward@fluendo.com>
14067
14068         * gst/gsttypefindfactory.c:
14069         Fix docs.
14070         
14071 2005-11-09  Edward Hervey  <edward@fluendo.com>
14072
14073         * gst/base/gsttypefindhelper.c:
14074         * gst/gsttypefind.c:
14075         * gst/gsttypefind.h:
14076         Fix docs.
14077
14078 2005-11-09  Wim Taymans  <wim@fluendo.com>
14079
14080         * gst/gstiterator.c:
14081         Fix revision data.
14082
14083         * gst/gsttask.c:
14084         * gst/gsttask.h:
14085         Fix docs.
14086
14087 2005-11-09  Wim Taymans  <wim@fluendo.com>
14088
14089         * gst/gstevent.h:
14090         * gst/gsturi.h:
14091         Fix docs.
14092
14093 2005-11-09  Wim Taymans  <wim@fluendo.com>
14094
14095         * docs/gst/gstreamer-sections.txt:
14096         Moved the message async delivery private lock and cond
14097         to the private section.
14098
14099         * gst/gstmessage.c:
14100         * gst/gstmessage.h:
14101         Fixed docs.
14102
14103 2005-11-09  Edward Hervey  <edward@fluendo.com>
14104
14105         * docs/gst/gstreamer-sections.txt:
14106         * gst/gsturi.c:
14107         * gst/gsturi.h:
14108         Document GstURIHandler
14109
14110 2005-11-09  Wim Taymans  <wim@fluendo.com>
14111
14112         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
14113         (gst_iterator_find_custom):
14114         * gst/gstiterator.h:
14115         Fix iterator docs.
14116
14117 2005-11-09  Wim Taymans  <wim@fluendo.com>
14118
14119         * gst/gstbin.h:
14120         Document another field.
14121
14122         * gst/gststructure.c:
14123         * gst/gststructure.h:
14124         Document.
14125
14126 2005-11-09  Wim Taymans  <wim@fluendo.com>
14127
14128         * gst/gstbin.h:
14129         Documented structs.
14130
14131 2005-11-09  Wim Taymans  <wim@fluendo.com>
14132
14133         * docs/gst/gstreamer-sections.txt:
14134         Added some new macros.
14135
14136         * gst/gstclock.c:
14137         * gst/gstclock.h:
14138         * gst/gstobject.h:
14139         Docs updates.
14140
14141 2005-11-09  Wim Taymans  <wim@fluendo.com>
14142
14143         * docs/design/part-TODO.txt:
14144         Some more items for the TODO
14145
14146         * gst/gstcaps.c:
14147         * gst/gstcaps.h:
14148         Document GstCaps.
14149
14150 2005-11-09  Andy Wingo  <wingo@pobox.com>
14151
14152         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
14153         to work on something else now tho...
14154
14155         * gst/base/gstadapter.c: More adapter docs.
14156
14157         * gst/elements/gstfilesink.c (gst_file_sink_start) 
14158         (gst_file_sink_stop): New functions, replace the state change
14159         handler.
14160         (gst_file_sink_class_init): Hook up the start and stop functions.
14161         (gst_file_sink_base_init): Don't set the state change handler any
14162         more. It was a bit ugly too, being set from here...
14163         (gst_file_sink_get_property, gst_file_sink_set_property):
14164         Cleanups...
14165         (gst_file_sink_set_location): More robust check that doesn't call
14166         GST_STATE. Ugggggg.
14167
14168 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
14169
14170         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14171           Hold STREAM_LOCK while pushing newsegment or tag events as well.
14172
14173 2005-11-08  Wim Taymans  <wim@fluendo.com>
14174
14175         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14176         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14177         (gst_base_sink_chain), (gst_base_sink_change_state):
14178         * gst/base/gstbasesink.h:
14179         * gst/base/gstbasesrc.h:
14180         * gst/gstelement.h:
14181         * gst/gstevent.h:
14182         Avoid excessive typechecking in macros.
14183
14184         * gst/gstminiobject.c: (gst_mini_object_get_type),
14185         (gst_mini_object_init), (gst_mini_object_new),
14186         (gst_mini_object_free):
14187         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14188         (gst_object_finalize):
14189         Remove cruft code, optimize alloc_trace.
14190
14191 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14192
14193         * docs/faq/gst-uninstalled:
14194           fix up PS1 for systems that try to reset it
14195
14196 2005-11-07  Wim Taymans  <wim@fluendo.com>
14197
14198         * gst/base/gstbasesrc.c: (gst_base_src_init),
14199         (gst_base_src_get_range):
14200         Set the segment_end to -1 initially. Fixed typefind.
14201
14202 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
14203
14204         * gst/base/gstadapter.c:
14205           Debug category should be 'adapter', not 'GstAdapter'.
14206           
14207         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
14208         (gst_collectpads_class_init), (gst_collectpads_init),
14209         (gst_collectpads_peek), (gst_collectpads_pop),
14210         (gst_collectpads_event), (gst_collectpads_chain):
14211           Add debug category and some debugging output. Use boilerplate
14212           macros. Remove some extraneous words from docs.
14213
14214 2005-11-05  Andy Wingo  <wingo@pobox.com>
14215
14216         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
14217         macro.
14218
14219 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14220
14221         * docs/gst/gstreamer-sections.txt:
14222         * gst/gstcaps.h:
14223         * gst/gstinfo.c:
14224         * gst/gstminiobject.h:
14225         * gst/gstobject.h:
14226         * gst/gstutils.h:
14227           more docs added
14228
14229 2005-11-04  Wim Taymans  <wim@fluendo.com>
14230
14231         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14232         Small update to stop at the configured segment_end
14233         position.
14234
14235 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14236
14237         * gst/gstregistry.c:
14238         * gst/gstregistry.h:
14239           added missing docs
14240
14241 2005-11-04  Edward Hervey  <edward@fluendo.com>
14242
14243         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14244         Check if we are doing a segment seek and have arrived at the
14245         end of that segment.
14246
14247 2005-11-04  Wim Taymans  <wim@fluendo.com>
14248
14249         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
14250         Don't leak a mutex unlock in case of an error.
14251
14252         * gst/gstbus.h:
14253         Doc fixes.
14254
14255 2005-11-04  Wim Taymans  <wim@fluendo.com>
14256
14257         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
14258         (gst_bus_post):
14259         Get the context to wake up only once.
14260
14261 2005-11-03  Wim Taymans  <wim@fluendo.com>
14262
14263         * check/states/sinks.c: (GST_START_TEST):
14264         Uncomment fixed check.
14265
14266         * docs/design/part-TODO.txt:
14267         Updated TODO.
14268
14269         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14270         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14271         (gst_base_sink_get_position):
14272         If we are going to PLAYING, post the right pending state
14273         when we post the intermediate paused message.
14274
14275         * gst/gstelement.c: (gst_element_continue_state),
14276         (gst_element_set_state_func), (gst_element_change_state):
14277         Don't post state changes that were between the same state
14278         and were not ASYNC.
14279
14280 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14281
14282         * docs/gst/gstreamer-sections.txt:
14283         * gst/gstcaps.h:
14284         * gst/gstinfo.c:
14285         * gst/gstminiobject.h:
14286         * gst/gstobject.h:
14287         * gst/gstutils.h:
14288           more docs and doc style fixes
14289
14290 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14291
14292         * docs/gst/gstreamer-sections.txt:
14293         * gst/gstelement.c:
14294         * gst/gstminiobject.c:
14295         doc fixes
14296
14297 2005-11-03  Andy Wingo  <wingo@pobox.com>
14298
14299         * check/states/sinks.c (test_livesrc_sink): Add checks that the
14300         state-changed messages actually have the right order and the right
14301         values.
14302
14303 2005-11-03  Wim Taymans  <wim@fluendo.com>
14304
14305         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14306         Added some more checks. Specifically the case where NO_PREROLL
14307         elements are in the pipeline.
14308
14309         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14310         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14311         (gst_base_sink_get_position):
14312         Post READY->PAUSED state change messages too.
14313         Fix bug where VOID was posted as pending state...
14314
14315         * gst/gstbin.c: (gst_bin_recalc_state):
14316         use _element_continue_state() to continue the state change.
14317
14318         * gst/gstelement.c: (gst_element_continue_state),
14319         (gst_element_commit_state), (gst_element_set_state_func),
14320         (gst_element_change_state), (gst_element_change_state_func):
14321         Lots of state change cleanups, assign the STATE_RETURN in
14322         a new continue_state() function that also propagates the
14323         last return value from a state change to the app.
14324         Update some debug statements with proper category.
14325
14326 2005-11-03  Wim Taymans  <wim@fluendo.com>
14327
14328         * docs/design/part-events.txt:
14329         * docs/design/part-gstpipeline.txt:
14330         * docs/design/part-messages.txt:
14331         * docs/design/part-overview.txt:
14332         * docs/design/part-seeking.txt:
14333         * docs/design/part-states.txt:
14334         * docs/design/part-trickmodes.txt:
14335         * docs/manual/advanced-position.xml:
14336         Small docs updates.
14337
14338         * gst/gstobject.h:
14339         People think !! is ugly, this looks better.
14340
14341         * gst/gstpad.c: (gst_pad_set_blocked_async):
14342         Remove !! since it's fixed elsewhere now.
14343
14344 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14345
14346         * gst/gstminiobject.h:
14347         * gst/gstobject.h:
14348           Add !! to _FLAG_IS_SET macros to make the result boolean.
14349
14350 2005-11-03  Edward Hervey  <edward@fluendo.com>
14351
14352         * gst/gstpad.c: (gst_pad_set_blocked_async):
14353         comparing a flag and a gboolean rarely returns coherent results...
14354         Added two characters (!!) to make that work correctly.
14355         
14356 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14357
14358         * gst/gstbus.c: (gst_bus_class_init):
14359           Fix some typos.
14360           
14361         * gst/gstqueue.c: (gst_queue_loop):
14362           Don't assume a miniobject that isn't a buffer is an
14363           event (it could be that there is a refcounting
14364           problem somewhere and the pointer is stale and
14365           refers to an already destroyed miniobject).
14366
14367 2005-11-03  Julien MOUTTE  <julien@moutte.net>
14368
14369         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
14370
14371 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14372
14373         * docs/manual/advanced-position.xml:
14374           Update seek example and explanations to current 0.9 API.
14375
14376         * gst/elements/gsttypefindelement.c:
14377         (gst_type_find_element_activate):
14378           Remove FIXME comment now that the found caps
14379           are unreffed.
14380
14381 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14382
14383         * gst/gstregistryxml.c: (load_feature):
14384           Add another GST_STR_NULL instance
14385
14386 2005-11-02  Edward Hervey  <edward@fluendo.com>
14387
14388         * gst/gstpad.c: (handle_pad_block):
14389         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
14390         
14391 2005-11-02  Wim Taymans  <wim@fluendo.com>
14392
14393         * gst/gstbin.c:
14394         Fix typo in docs.
14395
14396         * gst/gstelement.c: (gst_element_commit_state):
14397         Remove unused value.
14398
14399         * gst/gstiterator.c:
14400         Mention that the returned element is reffed in the docs.
14401
14402 2005-11-02  Wim Taymans  <wim@fluendo.com>
14403
14404         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
14405         (gst_pad_push), (gst_pad_push_event):
14406         Unlock blocked pads when they are flushed.
14407
14408 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14409
14410         * docs/README:
14411         * docs/gst/gstreamer-sections.txt:
14412         * gst/gstbin.c:
14413           doc updates
14414         * gst/gstregistry.c: (gst_registry_scan_path_level):
14415           fix for a nasty little missed situation where an installed plug-in
14416           which was in the cache did not get overridden by an uninstalled one
14417           which was earlier in the plugin path because the newly created plugin
14418           for the uninstalled one (not in the registry) didn't get its
14419           ->registered set to TRUE
14420
14421 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14422
14423         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
14424         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
14425         (gst_collectpads_is_active), (gst_collectpads_collect),
14426         (gst_collectpads_collect_range), (gst_collectpads_start),
14427         (gst_collectpads_stop), (gst_collectpads_peek),
14428         (gst_collectpads_pop), (gst_collectpads_available),
14429         (gst_collectpads_read), (gst_collectpads_flush):
14430           Guard public API with assertions.
14431         
14432         * gst/gstpad.c:
14433           Fix docs for gst_pad_set_link_function().
14434
14435 2005-11-02  Johan Dahlin  <johan@gnome.org>
14436
14437         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
14438         Unref found_caps after we used it.
14439
14440 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14441
14442         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
14443           Don't try to ref NULL.
14444
14445 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14446
14447         * win32/common/config.h.in:
14448           provide a GST_FUNCTION that just gives a string for now
14449
14450 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14451
14452         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14453         (gst_object_flags_get_type), (register_gst_bin_flags),
14454         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14455         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14456         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14457         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
14458         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14459         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14460         (gst_clock_flags_get_type), (register_gst_state),
14461         (gst_state_get_type), (register_gst_state_change_return),
14462         (gst_state_change_return_get_type), (register_gst_state_change),
14463         (gst_state_change_get_type), (register_gst_element_flags),
14464         (gst_element_flags_get_type), (register_gst_core_error),
14465         (gst_core_error_get_type), (register_gst_library_error),
14466         (gst_library_error_get_type), (register_gst_resource_error),
14467         (gst_resource_error_get_type), (register_gst_stream_error),
14468         (gst_stream_error_get_type), (register_gst_event_type),
14469         (gst_event_type_get_type), (register_gst_seek_type),
14470         (gst_seek_type_get_type), (register_gst_seek_flags),
14471         (gst_seek_flags_get_type), (register_gst_format),
14472         (gst_format_get_type), (register_gst_index_certainty),
14473         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14474         (gst_index_entry_type_get_type),
14475         (register_gst_index_lookup_method),
14476         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14477         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14478         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14479         (gst_index_flags_get_type), (register_gst_debug_level),
14480         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14481         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14482         (gst_iterator_result_get_type), (register_gst_iterator_item),
14483         (gst_iterator_item_get_type), (register_gst_message_type),
14484         (gst_message_type_get_type), (register_gst_mini_object_flags),
14485         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14486         (gst_pad_link_return_get_type), (register_gst_flow_return),
14487         (gst_flow_return_get_type), (register_gst_activate_mode),
14488         (gst_activate_mode_get_type), (register_gst_pad_direction),
14489         (gst_pad_direction_get_type), (register_gst_pad_flags),
14490         (gst_pad_flags_get_type), (register_gst_pad_presence),
14491         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14492         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14493         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14494         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14495         (gst_plugin_flags_get_type), (register_gst_rank),
14496         (gst_rank_get_type), (register_gst_query_type),
14497         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14498         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14499         (gst_tag_flag_get_type), (register_gst_task_state),
14500         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14501         (gst_alloc_trace_flags_get_type),
14502         (register_gst_type_find_probability),
14503         (gst_type_find_probability_get_type), (register_gst_uri_type),
14504         (gst_uri_type_get_type), (register_gst_parse_error),
14505         (gst_parse_error_get_type):
14506         * win32/common/gstversion.h:
14507           update win32 copies
14508
14509 2005-11-01  Luca Ognibene  <luogni@tin.it>
14510
14511         * gst/gst.c:
14512           fix docs. popt is dead, long live GOption.
14513
14514 2005-10-31  Wim Taymans  <wim@fluendo.com>
14515
14516         * gst/gstbuffer.h:
14517         Small doc fix.
14518
14519 2005-10-31  Andy Wingo  <wingo@pobox.com>
14520
14521         * Boo!
14522
14523         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
14524
14525         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
14526         need to serialize property notifications on GLib 2.8. GLib 2.6 has
14527         the possibility of deadlocks here if code calling notify() or
14528         set() has a lock that can be taken in another notify handler (ABBA
14529         with class lock and e.g. python GIL state lock).
14530
14531 2005-10-28  Julien MOUTTE  <julien@moutte.net>
14532
14533         * gst/gstbus.c: Doc updates.
14534
14535 2005-10-28  Wim Taymans  <wim@fluendo.com>
14536
14537         * docs/design/part-TODO.txt:
14538         * gst/gstiterator.c:
14539         * gst/gstsystemclock.c:
14540         * gst/gstsystemclock.h:
14541         Doc updates.
14542
14543 2005-10-28  Edward Hervey  <edward@fluendo.com>
14544
14545         * docs/gst/gstreamer-docs.sgml:
14546         * docs/gst/gstreamer-sections.txt:
14547         the GstURIType documentation page is private, it only defines GstURIType
14548         which should be defined in the GstURIHandler page
14549         
14550 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14551
14552         * gst/gstbin.c: (gst_bin_class_init):
14553         * gst/gstbin.h:
14554         * gst/gstutils.c:
14555         Documentation updates.
14556
14557 2005-10-28  Wim Taymans  <wim@fluendo.com>
14558
14559         * docs/gst/gstreamer-sections.txt:
14560         * gst/gstclock.c:
14561         * gst/gstclock.h:
14562         Documented the clocks.
14563
14564 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
14565
14566         * docs/gst/gstreamer-sections.txt:
14567           move some macros to private sections
14568         * gst/gstminiobject.c:
14569         * gst/gstminiobject.h:
14570           add descriptions provided by ds and some more
14571         * gst/gstpad.h:
14572           mark macro as to be removed
14573
14574 2005-10-28  Wim Taymans  <wim@fluendo.com>
14575
14576         * docs/design/part-TODO.txt:
14577         Add an item to TODO.
14578
14579         * gst/gstiterator.c: (gst_iterator_fold),
14580         (gst_iterator_find_custom):
14581         * gst/gstiterator.h:
14582         Add iterator docs.
14583
14584 2005-10-28  Wim Taymans  <wim@fluendo.com>
14585
14586         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14587         (gst_base_transform_init):
14588         Don't leak class.
14589
14590         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
14591         An EOS event marks the queue as completely filled.
14592
14593 2005-10-27  Wim Taymans  <wim@fluendo.com>
14594
14595         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14596         (gst_base_sink_do_sync), (gst_base_sink_get_position):
14597         Some more debugging.
14598
14599         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
14600         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
14601         (gst_base_transform_event), (gst_base_transform_getrange),
14602         (gst_base_transform_chain):
14603         * gst/base/gstbasetransform.h:
14604         Fix debugging,
14605         Protect transform and concurrent buffer alloc with a new lock.
14606         Try not to break ABI/API.
14607
14608 2005-10-27  Wim Taymans  <wim@fluendo.com>
14609
14610         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14611         (gst_base_src_init), (gst_base_src_query),
14612         (gst_base_src_default_newsegment),
14613         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14614         (gst_base_src_send_event), (gst_base_src_event_handler),
14615         (gst_base_src_pad_get_range), (gst_base_src_loop),
14616         (gst_base_src_unlock), (gst_base_src_default_negotiate),
14617         (gst_base_src_start), (gst_base_src_deactivate),
14618         (gst_base_src_activate_push), (gst_base_src_change_state):
14619         Move some stuff around and cleanup things.
14620
14621 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
14622
14623         * gst/base/gstbasesrc.c: (gst_base_src_query):
14624           Add missing break statements.
14625
14626 2005-10-27  Wim Taymans  <wim@fluendo.com>
14627
14628         * check/gst/gstbin.c: (GST_START_TEST):
14629         An extra refcount is taken in basesrc.
14630
14631         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14632         (gst_base_src_get_range), (gst_base_src_pad_get_range),
14633         (gst_base_src_loop):
14634         Small cleanups, check for flushing after being unlocked from the 
14635         LIVE_LOCK. take refcounts correctly (not yet everywhere).
14636         Don't send out EOS when going to READY.
14637
14638 2005-10-27  Wim Taymans  <wim@fluendo.com>
14639
14640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14641         (gst_base_sink_get_position):
14642         Some more debug.
14643
14644         * gst/gstbin.c: (message_check), (bin_replace_message),
14645         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14646         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14647         (bin_query_duration_init), (bin_query_duration_fold),
14648         (bin_query_duration_done), (bin_query_generic_fold),
14649         (gst_bin_query):
14650         * tools/gst-launch.c: (main):
14651         Remove old option.
14652
14653 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
14654
14655         * examples/controller/audio-example.c: (main):
14656         * examples/queue/queue.c: (event_loop):
14657         * gst/base/gstbasetransform.h:
14658         * gst/gstelement.c: (gst_element_send_event):
14659         * gst/gstevent.h:
14660         * gst/gstpad.c: (gst_pad_send_event):
14661           fixing examples
14662           fixing docs typos
14663           changing log priority in error situations
14664
14665 2005-10-25  Wim Taymans  <wim@fluendo.com>
14666
14667         * gst/gstbin.c: (message_check), (bin_replace_message),
14668         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14669         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14670         (bin_query_duration_init), (bin_query_duration_fold),
14671         (bin_query_duration_done), (bin_query_generic_fold),
14672         (gst_bin_query):
14673         Some doc and debug updates.
14674         Cache previously requested query DURATION for speed. invalidate
14675         cached duration if element posts a DURATION message.
14676
14677 2005-10-25  Wim Taymans  <wim@fluendo.com>
14678
14679         * docs/design/part-TODO.txt:
14680         Update TODO.
14681
14682         * gst/gstbin.c: (message_check), (bin_replace_message),
14683         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14684         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14685         (bin_query_duration_init), (bin_query_duration_fold),
14686         (bin_query_duration_done), (bin_query_generic_fold),
14687         (gst_bin_query):
14688         Handle SEGMENT_START/DONE messages correctly.
14689         More evolved query algorithm that handles duration queries
14690         correctly.
14691
14692         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
14693         (gst_element_get_state_func), (gst_element_abort_state),
14694         (gst_element_commit_state), (gst_element_lost_state):
14695         Some more debugging.
14696
14697         * gst/gstmessage.h:
14698         Added doc.
14699
14700 2005-10-25  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14703         Don't use invalid stream_time.
14704
14705         * gst/gstevent.c: (gst_event_new_newsegment):
14706         stream_time in newsegment cannot be undefined.
14707
14708 2005-10-24  Wim Taymans  <wim@fluendo.com>
14709
14710         * gst/gstbus.c:
14711         Doc fix.
14712
14713         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14714         (gst_queue_loop):
14715         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
14716
14717 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
14718
14719         * docs/libs/tmpl/gstdparam.sgml:
14720         * docs/libs/tmpl/gstdplinint.sgml:
14721         * docs/libs/tmpl/gstdpman.sgml:
14722         * docs/libs/tmpl/gstdpsmooth.sgml:
14723         * docs/libs/tmpl/gstunitconvert.sgml:
14724           these are obsolete
14725
14726 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14727
14728         * configure.ac:
14729           back to HEAD
14730
14731 === release 0.9.4 ===
14732
14733 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14734
14735         * configure.ac:
14736           releasing 0.9.4, "Tyrannosaurus Rex"
14737
14738 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
14739
14740         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14741         (gst_file_sink_get_current_offset):
14742           Use fseeko() and ftello() if available. When falling back on
14743           lseek() to get the current offset, fflush() first to make sure
14744           everything is up-to-date and we get the right offset.
14745
14746 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14747
14748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14749         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14750         * gst/gsterror.c: (_gst_stream_errors_init):
14751         * gst/gsterror.h:
14752         * gst/gstqueue.c: (gst_queue_loop):
14753         * po/POTFILES.in:
14754           remove prematurely added error category and clean up the instances
14755
14756 2005-10-21  Wim Taymans  <wim@fluendo.com>
14757
14758         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14759         (gst_base_sink_get_position), (gst_base_sink_query),
14760         (gst_base_sink_change_state):
14761         Simply set the right flag when going to playing, that's all
14762         we need to do instead of calling a function inside the object
14763         lock (that could take the lock as well and deadlock)
14764
14765 2005-10-21  Wim Taymans  <wim@fluendo.com>
14766
14767         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
14768         (gst_base_src_loop):
14769         Don't warn, the peer element knows what to do best when
14770         the seek failed, it might try something else.
14771
14772 2005-10-21  Wim Taymans  <wim@fluendo.com>
14773
14774         * gst/base/gstbasesrc.c: (gst_base_src_init),
14775         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14776         Fix seeking.
14777
14778 2005-10-21  Wim Taymans  <wim@fluendo.com>
14779
14780         * docs/design/part-segments.txt:
14781         More docs.
14782
14783         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14784         Correctly set caps, even on the subbufer.
14785
14786 2005-10-21  Wim Taymans  <wim@fluendo.com>
14787
14788         * docs/gst/gstreamer-docs.sgml:
14789         * docs/gst/gstreamer-sections.txt:
14790         * gst/gstelement.h:
14791         * gst/gstevent.c:
14792         * gst/gstevent.h:
14793         * gst/gstmessage.h:
14794         * gst/gstpad.h:
14795         * gst/gstparse.h:
14796         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
14797         * gst/gsttask.h:
14798         * gst/gstutils.c:
14799         * gst/gstutils.h:
14800         And 2% more doc coverage.
14801
14802 2005-10-21  Andy Wingo  <wingo@pobox.com>
14803
14804         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
14805         position reporting.
14806
14807 2005-10-20  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/gsterror.c: (gst_error_get_message):
14810         * gst/gstparse.h:
14811         * gst/gstquery.h:
14812         * gst/gststructure.c:
14813         * gst/gsttrace.c:
14814         * gst/gstutils.c:
14815         More docs.
14816
14817 2005-10-20  Wim Taymans  <wim@fluendo.com>
14818
14819         * gst/gstbuffer.h:
14820         * gst/gstpad.c:
14821         * gst/gstparse.c:
14822         Another 1% more coverage.
14823
14824 2005-10-20  Wim Taymans  <wim@fluendo.com>
14825
14826         * docs/gst/gstreamer-sections.txt:
14827         * gst/gstelement.c: (gst_element_get_state_func),
14828         (gst_element_abort_state), (gst_element_commit_state),
14829         (gst_element_lost_state):
14830         * gst/gstevent.h:
14831         * gst/gstquery.c: (gst_query_set_position),
14832         (gst_query_parse_position), (gst_query_set_duration),
14833         (gst_query_parse_duration), (gst_query_new_convert):
14834         * gst/gstutils.c:
14835         Yay! 1% more docs coverage.
14836
14837 2005-10-20  Wim Taymans  <wim@fluendo.com>
14838
14839         * gst/gstpad.h:
14840         * gst/gstquery.c: (gst_query_set_position),
14841         (gst_query_parse_position), (gst_query_set_duration),
14842         (gst_query_parse_duration), (gst_query_new_convert):
14843         * gst/gstquery.h:
14844         * gst/gstutils.c: (gst_element_query_convert):
14845         * gst/gstutils.h:
14846         Docs and consistency fixes.
14847
14848 2005-10-20  Wim Taymans  <wim@fluendo.com>
14849
14850         * gst/gsttask.c:
14851         * gst/gsttask.h:
14852         More docs.
14853
14854 2005-10-20  Wim Taymans  <wim@fluendo.com>
14855
14856         * gst/gstbin.c: (message_check), (bin_replace_message),
14857         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14858         (update_degree), (gst_bin_sort_iterator_next),
14859         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
14860         Reworked the message handling a bit, cache the messages instead of
14861         only the senders. alows us to do more in the future.
14862
14863 2005-10-20  Wim Taymans  <wim@fluendo.com>
14864
14865         * docs/design/part-TODO.txt:
14866         Update TODO
14867
14868         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14869         (gst_base_sink_query):
14870         Don't use clock time to report position when in EOS.
14871
14872 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
14873
14874         * tools/gst-inspect.c: (print_interfaces),
14875         (print_element_properties_info), (print_element_info):
14876           Fix interface output with gst-inspect -a; don't print
14877           newlines after double/float properties.
14878
14879 2005-10-20  Wim Taymans  <wim@fluendo.com>
14880
14881         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14882         (gst_base_sink_query):
14883         Speed up current position calculation.
14884
14885         * gst/base/gstbasesrc.c: (gst_base_src_query),
14886         (gst_base_src_default_newsegment):
14887         Correctly set stream position in newsegment.
14888
14889         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
14890         (update_degree), (gst_bin_sort_iterator_next),
14891         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
14892         * gst/gstmessage.c: (gst_message_new_custom):
14893         Clean up debugging info
14894
14895         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14896         (gst_queue_loop), (gst_queue_handle_src_query):
14897         Pause task faster.
14898
14899 2005-10-19  Wim Taymans  <wim@fluendo.com>
14900
14901         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14902         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14903         Fix query handling again.
14904
14905 2005-10-19  Wim Taymans  <wim@fluendo.com>
14906
14907         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14908         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14909         * gst/base/gstbasesrc.c: (gst_base_src_query):
14910         * gst/elements/gstfilesink.c: (gst_file_sink_query):
14911         * gst/elements/gsttypefindelement.c:
14912         (gst_type_find_handle_src_query), (find_element_get_length),
14913         (gst_type_find_element_activate):
14914         API change fix.
14915
14916         * gst/gstquery.c: (gst_query_new_position),
14917         (gst_query_set_position), (gst_query_parse_position),
14918         (gst_query_new_duration), (gst_query_set_duration),
14919         (gst_query_parse_duration), (gst_query_set_segment),
14920         (gst_query_parse_segment):
14921         * gst/gstquery.h:
14922         Bundling query position/duration is not a good idea since duration
14923         does not change much and we don't want to recalculate it for every
14924         position query, so they are separated again..
14925         Base value in segment query is not needed.
14926
14927         * gst/gstqueue.c: (gst_queue_handle_src_query):
14928         * gst/gstutils.c: (gst_element_query_position),
14929         (gst_element_query_duration), (gst_pad_query_position),
14930         (gst_pad_query_duration):
14931         * gst/gstutils.h:
14932         Updates for query API change.
14933         Added some docs here and there.
14934
14935 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14936
14937         * check/gst/gstbin.c: (GST_START_TEST):
14938         * check/gst/gstghostpad.c: (GST_START_TEST):
14939         * check/pipelines/cleanup.c: (GST_START_TEST):
14940           wait on thread to die so we can check refcount correctly
14941
14942 2005-10-18  Wim Taymans  <wim@fluendo.com>
14943
14944         * check/pipelines/stress.c: (GST_START_TEST):
14945         Make check a little more time consuming.
14946
14947 2005-10-18  Wim Taymans  <wim@fluendo.com>
14948
14949         * check/Makefile.am:
14950         * check/pipelines/stress.c: (GST_START_TEST),
14951         (simple_launch_lines_suite), (main):
14952         Small state change torture test.
14953
14954         * docs/design/part-states.txt:
14955         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14956         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
14957         (gst_base_sink_change_state):
14958         Never take state lock from streaming thread, clean up ugly
14959         hacks. Unfortunatly core does not yet support nice ways to
14960         async commit state.
14961         
14962         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
14963         (bin_bus_handler):
14964         Start state recalc if a STATE_DIRTY message is posted, but only
14965         on the toplevel bin.
14966
14967         * gst/gstelement.c: (gst_element_sync_state_with_parent),
14968         (gst_element_get_state_func), (gst_element_abort_state),
14969         (gst_element_commit_state), (gst_element_lost_state),
14970         (gst_element_set_state_func), (gst_element_change_state):
14971         * gst/gstelement.h:
14972         State variables are now protected with the LOCK, the state
14973         lock is only used to serialize _set_state().
14974
14975 2005-10-18  Wim Taymans  <wim@fluendo.com>
14976
14977         * check/gst/gstbin.c: (GST_START_TEST):
14978         * check/gst/gstmessage.c: (GST_START_TEST):
14979         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14980         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
14981         (bin_bus_handler):
14982         * gst/gstelement.c: (gst_element_abort_state),
14983         (gst_element_commit_state), (gst_element_lost_state):
14984         * gst/gstmessage.c: (gst_message_new_state_changed),
14985         (gst_message_new_state_dirty), (gst_message_new_segment_start),
14986         (gst_message_new_segment_done), (gst_message_new_duration),
14987         (gst_message_parse_state_changed),
14988         (gst_message_parse_segment_start),
14989         (gst_message_parse_segment_done), (gst_message_parse_duration):
14990         * gst/gstmessage.h:
14991         * tools/gst-launch.c: (event_loop):
14992         Seriously, this is better than a previous commit as we only need
14993         to notify the fact that an element changed state in a streaming
14994         thread, marking the state of the parents dirty, hence the 
14995         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
14996         message.
14997
14998 2005-10-18  Wim Taymans  <wim@fluendo.com>
14999
15000         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
15001         (gst_bin_recalc_func):
15002         * gst/gstelement.c: (gst_element_set_clock),
15003         (gst_element_abort_state), (gst_element_lost_state):
15004         Cleanups, prepare for state change fixes.
15005
15006 2005-10-18  Wim Taymans  <wim@fluendo.com>
15007
15008         * gst/gstbin.h:
15009         * gst/gstelement.c: (gst_element_class_init),
15010         (gst_element_set_state), (gst_element_set_state_func):
15011         * gst/gstelement.h:
15012         Pending ABI changes.
15013         GThreadPool in GstBinClass to monitor async state changes.
15014         state_cookie in GstElement to detect concurrent gst/set state.
15015         set_state is now virtual too in case a very complicated element
15016         has to be constructed.
15017
15018 2005-10-18  Wim Taymans  <wim@fluendo.com>
15019
15020         * check/gst/gstbin.c: (GST_START_TEST):
15021         * check/gst/gstmessage.c: (GST_START_TEST):
15022         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15023         * gst/gstbin.c: (bin_bus_handler):
15024         * gst/gstelement.c: (gst_element_commit_state),
15025         (gst_element_lost_state):
15026         * gst/gstmessage.c: (gst_message_new_state_changed),
15027         (gst_message_new_segment_start), (gst_message_new_segment_done),
15028         (gst_message_new_duration), (gst_message_parse_state_changed),
15029         (gst_message_parse_segment_start),
15030         (gst_message_parse_segment_done), (gst_message_parse_duration):
15031         * gst/gstmessage.h:
15032         * tools/gst-launch.c: (event_loop):
15033         Make messages future proof.
15034         state-change gets a flag if it was a message comming from the
15035         streaming thread.
15036         segment-start/stop can also be specified in other formats.
15037         A message to notify an app that a pipeline changed playback 
15038         duration.
15039         Also fix a GstMessage leak in -launch
15040
15041 2005-10-18  Andy Wingo  <wingo@pobox.com>
15042
15043         * gst/gstelement.c (gst_element_dispose): More helpful message.
15044
15045 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15046
15047         reviewed by: <delete if not using a buddy>
15048
15049         * common/gtk-doc.mak:
15050
15051 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15052
15053         * gst/gstregistry.c: (gst_registry_scan_path_level):
15054           unref a plug-in we get that was already initialized
15055
15056 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
15057
15058         * docs/gst/gstreamer-sections.txt:
15059         * docs/libs/gstreamer-libs-sections.txt:
15060         * gst/gstelement.h:
15061           add new api entries
15062           hide internal macro
15063
15064 2005-10-17  Andy Wingo  <wingo@pobox.com>
15065
15066         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
15067         cleanup.
15068
15069         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
15070
15071         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
15072
15073         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
15074         (gst_element_get_state_func): Better debug message.
15075         (gst_element_commit_state): s/INFO/DEBUG/.
15076         (gst_element_lost_state, gst_element_change_state): 
15077
15078         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
15079         (gst_message_new_custom): s/INFO/LOG/.
15080
15081 2005-10-17  Michael Smith <msmith@fluendo.com>
15082
15083         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15084           Check if end time is valid using end time, not start time.
15085
15086 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
15087
15088         * check/gst-libs/controller.c: (GST_START_TEST),
15089         (gst_controller_suite):
15090         * libs/gst/controller/gstcontroller.c:
15091         (gst_controlled_property_set_interpolation_mode):
15092         * libs/gst/controller/gstcontroller.h:
15093         * libs/gst/controller/gstinterpolation.c:
15094         * testsuite/controller/.cvsignore:
15095         * testsuite/controller/Makefile.am:
15096         * testsuite/controller/interpolator.c:
15097           merge controller testsuites
15098           fix broken tests
15099           remove mem-chunk from docs
15100
15101 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15102
15103         * gst/gstmemchunk.c:
15104         * gst/gstmemchunk.h:
15105         * gst/gsttrashstack.c:
15106         * gst/gsttrashstack.h:
15107           out.  get out.  you're fired.  to the Attic !
15108
15109 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15110
15111         * gst/gstcaps.c: (gst_caps_intersect):
15112           fix signedness issues in a (hopefully) correct way
15113         * gst/gstelement.c: (gst_element_pads_activate):
15114           some debugging
15115         * gst/gstobject.c: (gst_object_set_parent):
15116           some debugging
15117
15118 2005-10-17  Julien MOUTTE  <julien@moutte.net>
15119
15120         * gst/gstvalue.h: Fix prototypes.
15121
15122 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15123
15124         * docs/gst/gstreamer-sections.txt:
15125         * gst/gst.c: (gst_version_string):
15126         * gst/gst.h:
15127         * gst/gstversion.h.in:
15128         * win32/common/libgstreamer.def:
15129           add gst_version_string ()
15130
15131 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15132
15133         * configure.ac:
15134           clean up further
15135         * gst/gst.c: (init_post):
15136         * win32/common/config.h.in:
15137           it's PLUGINDIR now
15138         * gst/gstcaps.c: (gst_caps_intersect):
15139           use gint64, the range could be bigger than a guint
15140
15141 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15142
15143         * gst/gstclock.h:
15144           document potential problem in 2038
15145
15146 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15147
15148         * gst/gstcaps.c: (gst_caps_intersect):
15149           Fix guint j diving under 0
15150
15151 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15152
15153         * configure.ac:
15154         * win32/common/config.h:
15155         * win32/common/config.h.in:
15156           check for process.h, declares getpid() on Windows
15157         * gst/gstinfo.c:
15158           include process.h if we have it
15159         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
15160         * gst/gstmemchunk.h:
15161           fix signedness issues
15162         * win32/common/libgstreamer.def:
15163           fix get_type's
15164
15165 2005-10-16  Julien MOUTTE  <julien@moutte.net>
15166
15167         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
15168         fix. Because of unsigned ints, caps intersection was going nuts and
15169         trying to access structures with G_MAXUINT index. That fixes
15170         videotestsrc ! ffmpegcolorspace ! fakesink
15171         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
15172         consistency.
15173
15174 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15175
15176         * configure.ac:
15177           use the gettext macro
15178         * gst/elements/gstelements.c:
15179         * gst/gst.c:
15180         * gst/indexers/gstindexers.c:
15181           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
15182         * win32/common/config.h:
15183           updated config.h
15184         * win32/common/config.h.in:
15185           add the template to generate config.h
15186         * win32/common/gstenumtypes.c:
15187         * win32/common/gstversion.h:
15188           updated copies
15189
15190 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15191
15192         * gst/gst.c: (gst_version):
15193         * gst/gstversion.h.in:
15194           add the nano
15195
15196 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15197
15198         * gst/gstevent.h:
15199           Oops, add missing closing bracket.
15200
15201 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15202
15203         * configure.ac:
15204           use common m4's for argument checking
15205
15206 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15207
15208         * docs/gst/gstreamer-sections.txt:
15209         * gst/gstevent.h:
15210           Add GST_EVENT_TYPE_NAME() macro.
15211
15212 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15213
15214         * gst/gstinfo.c:
15215         * gst/gstpluginfeature.c:
15216         * gst/gsttask.c:
15217           privatize more symbols
15218
15219 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15220
15221         * configure.ac:
15222           add srcdir, builddir includes to GST_ALL_CFLAGS, since
15223           everything that uses GStreamer API should have the includes
15224
15225 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15226
15227         * docs/gst/gstreamer-sections.txt:
15228         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15229         * gst/gstvalue.h:
15230           give each value a _get_type, removes the DATA exports
15231
15232 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15233
15234         * gst/gst.c:
15235         * gst/gst.h:
15236           remove _gst_registry_auto_load, not used anymore
15237         * gst/gstbin.c: (gst_bin_get_type):
15238         * gst/gstbin.h:
15239         * gst/gstelement.c: (gst_element_get_type):
15240         * gst/gstelement.h:
15241         * gst/gstobject.c: (gst_object_get_type):
15242         * gst/gstobject.h:
15243         * gst/gstpad.c: (gst_pad_get_type):
15244         * gst/gstpad.h:
15245           make _get_type functions similar, fixes data export from library
15246
15247 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * configure.ac:
15250           correctly make conditionals
15251         * gst/elements/Makefile.am:
15252         * gst/elements/gstelements.c:
15253           fix typo causing fdsrc not to build
15254
15255 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15256
15257         * testsuite/Makefile.am:
15258         * testsuite/bytestream/.cvsignore:
15259         * testsuite/bytestream/Makefile.am:
15260         * testsuite/bytestream/filepadsink.c:
15261         * testsuite/bytestream/gstbstest.c:
15262         * testsuite/bytestream/test1.c:
15263         * testsuite/bytestream/testfile1:
15264         * testsuite/caps/normalisation.c:
15265         * testsuite/caps/random.c: (main):
15266         * testsuite/cleanup/.cvsignore:
15267         * testsuite/cleanup/Makefile.am:
15268         * testsuite/cleanup/cleanup1.c:
15269         * testsuite/cleanup/cleanup2.c:
15270         * testsuite/cleanup/cleanup3.c:
15271         * testsuite/cleanup/cleanup4.c:
15272         * testsuite/cleanup/cleanup5.c:
15273         * testsuite/controller/interpolator.c:
15274         * testsuite/debug/printf_extension.c: (main):
15275         * testsuite/elements/tee.c:
15276         * testsuite/negotiation/.cvsignore:
15277         * testsuite/negotiation/Makefile.am:
15278         * testsuite/negotiation/pad_link.c:
15279         * testsuite/pad/Makefile.am:
15280         * testsuite/pad/chainnopull.c:
15281         * testsuite/pad/getnopush.c:
15282         * testsuite/pad/link.c:
15283         * testsuite/refcounting/sched.c: (create_pipeline):
15284         * testsuite/registry/Makefile.am:
15285         * testsuite/registry/gst-print-formats.c:
15286         * testsuite/schedulers/.cvsignore:
15287         * testsuite/schedulers/142183-2.c:
15288         * testsuite/schedulers/142183.c:
15289         * testsuite/schedulers/143777-2.c:
15290         * testsuite/schedulers/143777.c:
15291         * testsuite/schedulers/147713.c:
15292         * testsuite/schedulers/147819.c:
15293         * testsuite/schedulers/147894-2.c:
15294         * testsuite/schedulers/147894.c:
15295         * testsuite/schedulers/Makefile.am:
15296         * testsuite/schedulers/group_link.c:
15297         * testsuite/schedulers/queue_link.c:
15298         * testsuite/schedulers/relink.c:
15299         * testsuite/schedulers/unlink.c:
15300         * testsuite/schedulers/unref.c:
15301         * testsuite/schedulers/useless_iteration.c:
15302         * testsuite/states/bin.c:
15303           clean out/remove some stuff from the testsuite directories
15304
15305 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15306
15307         * configure.ac:
15308           check for some headers
15309         * gst/elements/Makefile.am:
15310         * gst/elements/gstelements.c:
15311           don't compile fdsrc without sys/socket.h
15312         * gst/indexers/Makefile.am:
15313         * gst/indexers/gstindexers.c: (plugin_init):
15314           don't compile fileindex without mmap
15315
15316 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15317
15318         * configure.ac:
15319           reorganize
15320           clean up
15321           document more
15322           remove cruft
15323         * check/Makefile.am:
15324         * docs/gst/Makefile.am:
15325         * examples/helloworld/Makefile.am:
15326         * gst/Makefile.am:
15327         * gst/base/Makefile.am:
15328         * gst/check/Makefile.am:
15329         * gst/elements/Makefile.am:
15330         * gst/indexers/Makefile.am:
15331         * gst/parse/Makefile.am:
15332         * libs/gst/controller/Makefile.am:
15333         * libs/gst/dataprotocol/Makefile.am:
15334         * examples/helloworld/helloworld.c: (event_loop):
15335           compile fixes, though it's not being compiled currently
15336
15337 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15338
15339         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
15340           Add some simple tests for the new taglist date API.
15341
15342 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15343
15344         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
15345         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
15346           Beautify 'last-message' output: print 'none' for buffer timestamps
15347           and durations if none is set; improve alignment with next messages.
15348
15349 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15350
15351         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
15352         * gst/gstpluginfeature.h:
15353         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
15354         * gst/gstregistry.h:
15355         * docs/gst/gstreamer-sections.txt:
15356           Add new API to check plugin feature version requirements.
15357
15358         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
15359           Some basic tests for the above.         
15360
15361 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15362
15363         * gst/gststructure.c: (gst_structure_to_string):
15364           guard against NULL printf - happens when for example
15365           a message structure with GstClock gets serialized
15366
15367 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15368
15369         * gst/base/gstcollectpads.c: (gst_collectpads_event):
15370           Fix presumable copy'n'pasto.
15371
15372 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15373
15374         * gst/elements/gstfakesrc.h:
15375         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
15376         * gst/elements/gsttypefindelement.c:
15377           fix some signedness
15378         * gst/elements/gstfilesink.c: (gst_file_sink_render):
15379           I wonder if this could actually write +2GB files before
15380
15381 2005-10-13  Andy Wingo  <wingo@pobox.com>
15382
15383         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
15384         Fix Timmeke Waymans bug.
15385         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
15386         string of the proper length to gst_caps_from_string. There's a
15387         potential for, before this fix, that this could cause someone
15388         connecting over the network to cause a segfault if the payload is
15389         not NUL-terminated.
15390
15391 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15392
15393         * docs/design/draft-push-pull.txt:
15394         * docs/design/part-overview.txt:
15395         * docs/random/TODO-pre-0.9:
15396         * docs/random/old/ChangeLog.gstreamer:
15397         * gst/base/gstpushsrc.c:
15398         * gst/gstclock.c:
15399           fixed typos
15400
15401 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15402
15403         * gst/glib-compat.c: (gst_flags_get_first_value):
15404         * gst/glib-compat.h:
15405         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
15406         (gst_value_compare_double), (gst_value_serialize_flags):
15407           GLib 2.6 g_flags_get_first_value has a bug that triggers an
15408           infinite loop
15409
15410 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15411
15412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15413         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15414           fix up debugging
15415         * tools/gst-launch.c: (event_loop):
15416           print out clock nicely
15417
15418 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15419
15420         * docs/gst/gstreamer-sections.txt:
15421         * gst/gsttaglist.h:
15422         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
15423         (gst_tag_list_get_date_index):
15424           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
15425           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
15426
15427 2005-10-13  Julien MOUTTE  <julien@moutte.net>
15428
15429         * gst/base/gstcollectpads.c: (gst_collectpads_event),
15430         (gst_collectpads_chain):
15431         * gst/base/gstcollectpads.h: Handle newsegment and store informations
15432         in CollectData.
15433
15434 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15435
15436         * docs/gst/gstreamer-sections.txt:
15437         * gst/gst.c:
15438         * gst/gsterror.h:
15439         * tools/gst-inspect.c: (main):
15440         * tools/gst-launch.c: (main):
15441         * tools/gst-run.c: (main):
15442         * tools/gst-xmlinspect.c: (main):
15443           fix GOption context leaks
15444           doc fixes
15445
15446 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15447
15448         * gst/gstbus.c:
15449           use HAVE_UNISTD_H
15450         * win32/common/config.h:
15451           update config
15452         * win32/vs6/grammar.dsp:
15453         * win32/vs6/libgstelements.dsp:
15454         * win32/vs6/libgstreamer.dsp:
15455           update vs6 files
15456
15457 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15458
15459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15460         * gst/base/gstbasesrc.c: (gst_base_src_query):
15461           fix more guint64<->gdouble conversions
15462
15463 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15464
15465         * Makefile.am:
15466           add win32-update target
15467         * win32/common/gstconfig.h:
15468         * win32/common/gstenumtypes.c:
15469         * win32/common/gstenumtypes.h:
15470         * win32/common/gstversion.h:
15471           add files that visual studio can't generate
15472
15473 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15474
15475         * Makefile.am:
15476           add a win32-update target
15477         * configure.ac:
15478
15479 2005-10-12  Wim Taymans  <wim@fluendo.com>
15480
15481         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15482         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
15483         * gst/gstelement.c: (gst_element_commit_state),
15484         (gst_element_set_state):
15485         Protect flags with proper lock.
15486         unref provided cached clock in dispose.
15487
15488 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15489
15490         * gst/gst.c:
15491         * gst/gstminiobject.h:
15492         * gst/gstpad.h:
15493         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
15494           removed unused flags from miniobject
15495           doc fixes
15496
15497 2005-10-12  Wim Taymans  <wim@fluendo.com>
15498
15499         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
15500         (gst_file_sink_event), (gst_file_sink_render):
15501         Flush before seeking.
15502
15503 2005-10-12  Andy Wingo  <wingo@pobox.com>
15504
15505         * gst/gst.c (gst_init_check): Ignore unknown options, as has
15506         always been the case.
15507
15508 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15509
15510         * check/gst/gstbin.c: (GST_START_TEST):
15511         * docs/gst/gstreamer-sections.txt:
15512         * gst/base/gstbasesink.c: (gst_base_sink_init):
15513         * gst/base/gstbasesrc.c: (gst_base_src_init),
15514         (gst_base_src_get_range), (gst_base_src_check_get_range),
15515         (gst_base_src_start), (gst_base_src_stop):
15516         * gst/base/gstbasesrc.h:
15517         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
15518         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15519         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
15520         (bin_bus_handler):
15521         * gst/gstbin.h:
15522         * gst/gstbuffer.h:
15523         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
15524         * gst/gstbus.h:
15525         * gst/gstelement.c: (gst_element_is_locked_state),
15526         (gst_element_set_locked_state), (gst_element_commit_state),
15527         (gst_element_set_state):
15528         * gst/gstelement.h:
15529         * gst/gstindex.c: (gst_index_init):
15530         * gst/gstindex.h:
15531         * gst/gstminiobject.h:
15532         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
15533         (gst_object_set_parent):
15534         * gst/gstobject.h:
15535         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
15536         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
15537         * gst/gstpad.h:
15538         * gst/gstpadtemplate.h:
15539         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
15540         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15541         * gst/gstpipeline.h:
15542         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15543         (gst_file_index_commit):
15544         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
15545         * testsuite/pad/link.c: (gst_test_src_init),
15546         (gst_test_filter_init), (gst_test_sink_init):
15547         * testsuite/states/locked.c: (main):
15548           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
15549           moved bitshift from macro to enum definition
15550
15551 2005-10-12  Wim Taymans  <wim@fluendo.com>
15552
15553         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
15554         * gst/elements/gstfilesink.c: (gst_file_sink_event),
15555         (gst_file_sink_render):
15556         Some more debugging info.
15557
15558 2005-10-12  Wim Taymans  <wim@fluendo.com>
15559
15560         * docs/design/part-states.txt:
15561         * tools/gst-launch.c: (main):
15562         Some doc updates.
15563         Revert non-intentional change.
15564
15565 2005-10-12  Wim Taymans  <wim@fluendo.com>
15566
15567         * check/gst/gstbin.c: (GST_START_TEST):
15568         * check/gst/gstelement.c: (GST_START_TEST):
15569         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
15570         * check/gst/gstghostpad.c: (GST_START_TEST):
15571         * check/gst/gstpipeline.c: (GST_START_TEST):
15572         * check/pipelines/simple_launch_lines.c: (run_pipeline):
15573         * check/states/sinks.c: (GST_START_TEST):
15574         * gst/elements/gsttypefindelement.c: (stop_typefinding):
15575         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15576         (gst_bin_remove_func), (gst_bin_get_state_func),
15577         (gst_bin_recalc_state), (gst_bin_change_state_func),
15578         (bin_bus_handler):
15579         * gst/gstelement.c: (gst_element_get_state_func),
15580         (gst_element_get_state), (gst_element_abort_state),
15581         (gst_element_commit_state), (gst_element_set_state),
15582         (gst_element_change_state), (gst_element_change_state_func):
15583         * gst/gstelement.h:
15584         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
15585         (gst_pipeline_provide_clock_func):
15586         * gst/gstutils.c: (gst_element_link_pads_filtered):
15587         * tools/gst-launch.c: (main):
15588         * tools/gst-typefind.c: (main):
15589         Use GstClockTime in _get_state() instead of GTimeVal.
15590         Remove old code in gstutils.c
15591
15592 2005-10-12  Andy Wingo  <wingo@pobox.com>
15593
15594         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
15595         removed.
15596
15597         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
15598         there is no task. Shouldn't affect any code, as nothing in our
15599         plugins checks this return value.
15600         (gst_pad_stop_task): Also take the stream lock if the pad has no
15601         task. Docs updated.
15602
15603 2005-10-12  Wim Taymans  <wim@fluendo.com>
15604
15605         * gst/gstpad.c: (pre_activate), (post_activate),
15606         (gst_pad_activate_pull), (gst_pad_activate_push):
15607         Cleanup activation code. Reset old state if
15608         activation failed.
15609
15610 2005-10-12  Wim Taymans  <wim@fluendo.com>
15611
15612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15613         (gst_base_sink_change_state):
15614         No need to prerol after receiving EOS.
15615
15616         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15617         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
15618         * gst/elements/gstidentity.c: (gst_identity_event):
15619         Print events more verbosely.
15620
15621 2005-10-12  Wim Taymans  <wim@fluendo.com>
15622
15623         * check/Makefile.am:
15624         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15625         * check/states/sinks2.c:
15626         Moved sinks2 testcode in sinks check.
15627
15628         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15629         (gst_bin_remove_func), (gst_bin_recalc_state),
15630         (gst_bin_change_state_func), (bin_bus_handler):
15631         Fix potential race condition when _get_state() iterated over an
15632         ASYNC element right before it posted a state completion.
15633
15634         * gst/gstclock.h:
15635         Do proper cast here.
15636
15637         * gst/gstevent.c: (gst_event_new_newsegment),
15638         (gst_event_parse_newsegment):
15639         A playback rate of 0.0 is not allowed.
15640
15641 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15642
15643         * win32/common/config.h:
15644         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
15645         (_trewinddir), (_ttelldir), (_tseekdir):
15646         * win32/common/dirent.h:
15647         * win32/common/gtchar.h:
15648         * win32/common/libgstbase.def:
15649         * win32/common/libgstreamer.def:
15650         * win32/vs6/grammar.dsp:
15651         * win32/vs6/gst_inspect.dsp:
15652         * win32/vs6/gst_launch.dsp:
15653         * win32/vs6/gstreamer.dsw:
15654         * win32/vs6/libgstbase.dsp:
15655         * win32/vs6/libgstelements.dsp:
15656         * win32/vs6/libgstreamer.dsp:
15657           Visual Studio 6 project files, and a new common directory.
15658           Phear.
15659
15660 2005-10-11  Wim Taymans  <wim@fluendo.com>
15661
15662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15663         (gst_base_sink_do_sync), (gst_base_sink_query),
15664         (gst_base_sink_change_state):
15665         * gst/base/gstbasesink.h:
15666         Correctly parse newsegment info.
15667
15668 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15669
15670         * gst/gst.c: (init_post):
15671           split plugin paths correctly
15672
15673 2005-10-11  Wim Taymans  <wim@fluendo.com>
15674
15675         * check/gst/gstevent.c: (GST_START_TEST):
15676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15677         (gst_base_sink_change_state):
15678         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
15679         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15680         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15681         * gst/gstevent.c: (gst_event_new_newsegment),
15682         (gst_event_parse_newsegment):
15683         * gst/gstevent.h:
15684         Added extra flag to newsegment for future API freeze.
15685         Updated check and base elements.
15686
15687 2005-10-11  Julien MOUTTE  <julien@moutte.net>
15688
15689         * gst/base/gstcollectpads.c: (gst_collectpads_init),
15690         (gst_collectpads_add_pad), (gst_collectpads_pop),
15691         (gst_collectpads_event), (gst_collectpads_chain):
15692         * gst/base/gstcollectpads.h: Handle EOS correctly.
15693
15694 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15695
15696         * tools/gst-launch.c: (main):
15697           more null protecting
15698
15699 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15700
15701         * gst/gst-i18n-lib.h:
15702           check for ENABLE_NLS, not GETTEXT_PACKAGE
15703         * gst/gstregistry.c: (gst_registry_add_plugin),
15704         (gst_registry_scan_path_level),
15705         (_gst_registry_remove_cache_plugins):
15706           protect possibly NULL strings
15707         * gst/parse/types.h:
15708           config.h already included before
15709         * tools/gst-inspect.c: (main):
15710           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
15711           check for ENABLE_NLS, not GETTEXT_PACKAGE
15712         * tools/gst-launch.c: (main):
15713           check for ENABLE_NLS, not GETTEXT_PACKAGE
15714
15715 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15716
15717         * configure.ac:
15718           if we don't have glib, fail before testing 2.8
15719         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
15720           fix a leak, should fix plugins-base testsuite
15721
15722 2005-10-11  Andy Wingo  <wingo@pobox.com>
15723
15724         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
15725         take the mode we're going to as an arg. Go head and set the mode
15726         and flushing flags now, so that if the activate function starts a
15727         thread all the flags will be in the right state.
15728         (post_activate): Renamed also. Just handle making sure streaming
15729         finishes for the deactivation case, and setting the deactivated
15730         mode.
15731         (gst_pad_set_active): Complain loudly if deactivation fails.
15732         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
15733         (gst_pad_activate_push): Adapt to pre/post_activate changes,
15734         remove the terrible hack.
15735
15736 2005-10-11  Wim Taymans  <wim@fluendo.com>
15737
15738         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15739         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
15740         (gst_bin_recalc_state), (gst_bin_change_state_func),
15741         (gst_bin_dispose), (bin_bus_handler):
15742         * gst/gstbin.h:
15743         Prepare to make current EOS message queue more generic.
15744         Fix some typos.
15745
15746         * gst/gstevent.c: (gst_event_new_newsegment),
15747         (gst_event_parse_newsegment):
15748         * gst/gstevent.h:
15749         Rename base to stream_time.
15750
15751         * gst/gstmessage.h:
15752         Fix typo in docs.
15753
15754 2005-10-11  Wim Taymans  <wim@fluendo.com>
15755
15756         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15757         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
15758         (gst_bin_change_state_func), (bin_bus_handler):
15759         * gst/gstbin.h:
15760         Work on proper clock selection.
15761
15762 2005-10-11  Edward Hervey  <edward@fluendo.com>
15763
15764         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
15765         * libs/gst/controller/gstcontroller.h:
15766         Added GList* version of _remove_properties() in order to be able to wrap
15767         it in bindings.
15768
15769 2005-10-11  Wim Taymans  <wim@fluendo.com>
15770
15771         * docs/design/part-states.txt:
15772         Some more docs.
15773
15774         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
15775         (gst_bin_change_state_func), (bin_bus_handler):
15776         Doc updates. Don't distribute the same clock over and over again.
15777
15778         * gst/gstclock.c:
15779         * gst/gstclock.h:
15780         Doc updates.
15781
15782         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
15783         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
15784         (gst_pad_send_event):
15785         * gst/gstpad.h:
15786         Make probe emission threadsafe again.
15787         Register quarks and move _get_name() from utils.
15788         Doc updates.
15789
15790         * gst/gstpipeline.c: (gst_pipeline_class_init),
15791         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15792         Only redistribute the clock of it changed.
15793
15794         * gst/gstsystemclock.h:
15795         Doc updates. 
15796
15797         * gst/gstutils.c:
15798         * gst/gstutils.h:
15799         Moved the _flow_get_name() to GstPad.
15800
15801 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15802
15803         * check/gst-libs/gdp.c: (GST_START_TEST):
15804         * check/gst/gstcaps.c: (GST_START_TEST):
15805         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
15806         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
15807         (gst_dp_packet_from_caps):
15808           fix more valgrind warnings before turning up the heat
15809
15810 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15811
15812         * gst/parse/grammar.y:
15813           some cleanup before the hacking
15814
15815 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15816
15817         * gst/base/gstbasesrc.c: (gst_base_src_query):
15818           use conversions
15819         * gst/gstutils.c: (gst_guint64_to_gdouble),
15820         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
15821         * gst/gstutils.h:
15822           externalize, basesrc uses it
15823           obviously the implementation needs testing
15824
15825 2005-10-10  Wim Taymans  <wim@fluendo.com>
15826
15827         * tests/sched/Makefile.am:
15828         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
15829         (make_pipeline3), (make_pipeline4), (print_elem), (main):
15830
15831 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15832
15833         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
15834           apparently converting from guint64 to double is not implemented
15835           on MSVC
15836
15837 2005-10-10  Wim Taymans  <wim@fluendo.com>
15838
15839         * check/Makefile.am:
15840         * check/generic/states.c: (GST_START_TEST):
15841         * check/gst/gstbin.c: (GST_START_TEST):
15842         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15843         * check/states/sinks.c: (GST_START_TEST):
15844         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
15845         (main):
15846         Check fixes, use API as stated in design docs, remove hacks.
15847
15848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15849         (gst_base_sink_change_state):
15850         Catch stopping our task while we're shutting down.
15851
15852         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
15853         (gst_bin_remove_func), (gst_bin_get_state_func),
15854         (gst_bin_recalc_state), (gst_bin_change_state_func),
15855         (bin_bus_handler):
15856         * gst/gstbin.h:
15857         * gst/gstelement.c: (gst_element_init),
15858         (gst_element_get_state_func), (gst_element_abort_state),
15859         (gst_element_commit_state), (gst_element_lost_state),
15860         (gst_element_set_state), (gst_element_change_state),
15861         (gst_element_change_state_func):
15862         * gst/gstelement.h:
15863         New state change algorithm (see #318116)
15864
15865         * gst/gstpipeline.c: (gst_pipeline_class_init),
15866         (gst_pipeline_init), (gst_pipeline_set_property),
15867         (gst_pipeline_get_property), (do_pipeline_seek),
15868         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15869         * gst/gstpipeline.h:
15870         Remove crude state change hacks.
15871
15872         * gst/gstutils.h:
15873         Remove crude hacks.
15874
15875         * tools/gst-launch.c: (main):
15876         Fixes for state change. Needs some more work to fully use the
15877         new stuff.
15878
15879 2005-10-10  Andy Wingo  <wingo@pobox.com>
15880
15881         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
15882
15883         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
15884         this flag, but it's not even in GLib 2.6. Odd. Hack around the
15885         issue.
15886
15887 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15888
15889         * gst/gstiterator.c: (gst_iterator_new):
15890           Fix my previous commit: GTypes passed to gst_iterator_new()
15891           can be fundamental types.
15892
15893 2005-10-10  Wim Taymans  <wim@fluendo.com>
15894
15895         * gst/gstelement.c: (gst_element_iterate_pad_list),
15896         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
15897         (gst_element_iterate_sink_pads):
15898         Use src/sink pads lists for the respective iterators instead
15899         of filtering.
15900
15901 2005-10-10  Andy Wingo  <wingo@pobox.com>
15902
15903         Merged in popt removal + GOption addition patch from Ronald, bug
15904         #169772.
15905
15906         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
15907         GstElement macros around, remove popt-related symbols, add goption
15908         stuff.
15909
15910         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
15911         
15912         * docs/gst/Makefile.am:
15913         * docs/libs/Makefile.am: No POPT_CFLAGS.
15914         
15915         * examples/manual/Makefile.am:
15916         * docs/manual/basics-init.xml: Doc updates with an example.
15917         
15918         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
15919         (gst_init), (parse_one_option), (parse_goption_arg):
15920         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
15921         bit of hand merging and debugging to get the GOption stuff working
15922         tho.
15923         
15924         * tests/Makefile.am:
15925         * tools/Makefile.am:
15926         * tools/gst-inspect.c: (main):
15927         * tools/gst-launch.c: (main):
15928         * tools/gst-run.c: (main):
15929         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
15930
15931 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15932
15933         * gst/gstiterator.c: (gst_iterator_new):
15934           Add assertions to make sure passed GType is likely to really
15935           be a GType (as the compiler won't catch it if the size and
15936           GType arguments get mixed up, see #318447).
15937
15938 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
15939
15940         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15941
15942         * gst/gstbin.c: (gst_bin_iterate_sorted):
15943           Pass GType and size arguments to gst_iterator_new() in the right
15944           order (maybe we should make _new() take the GType as first argument
15945           just like _new_list()?) (#318447).
15946           
15947
15948 2005-10-10  Wim Taymans  <wim@fluendo.com>
15949
15950         * gst/gstelement.c: (gst_element_finalize):
15951         And free the GStaticRecMutex too
15952
15953 2005-10-10  Andy Wingo  <wingo@pobox.com>
15954
15955         * gst/gstelement.c (gst_element_init, gst_element_finalize):
15956         Allocate and free the mutex properly.
15957
15958         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
15959         New macros.
15960         (GstElement): The state_lock is now recursive. Rebuild your
15961         plugins, suckers. Old macros adapted.
15962
15963         * docs/gst/gstreamer-sections.txt: Doc updates.
15964
15965         * gst/gstutils.h:
15966         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
15967         (g_static_rec_cond_wait): Ported from state changes patch, while
15968         we wait on bug #317802 to be solved in a well-distributed GLib.
15969
15970         * gst/gstelement.c (gst_element_change_state_func): Renamed from
15971         gst_element_change_state, variable name changes.
15972         (gst_element_change_state): Split out of gst_element_set_state in
15973         preparation for the state change merge. Doesn't pay attention to
15974         the 'transition' argument.
15975         (gst_element_set_state): Updates, hopefully purely cosmetic.
15976         (gst_element_sync_state_with_parent): MT-safety. Ported from the
15977         state change patch.
15978         (gst_element_get_state_func): Renamed from get_state, cosmetic
15979         changes.
15980
15981 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15982
15983         * gst/elements/gstelements.c:
15984         * win32/GStreamer.vcproj:
15985         * win32/config.h:
15986         * win32/dirent.c: (_tseekdir):
15987         * win32/gst-inspect.vcproj:
15988         * win32/gst-launch.vcproj:
15989         * win32/gstconfig.h:
15990         * win32/gstelements.vcproj:
15991         * win32/gstenumtypes.c: (gst_object_flags_get_type):
15992         * win32/gstreamer.def:
15993         * win32/msvc71.sln:
15994           updates for the win32 build (patch from Sebastien Moutte)
15995
15996 2005-10-10  Andy Wingo  <wingo@pobox.com>
15997
15998         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
15999         gst_bin_get_state, cleaned up (but no logic changes).
16000         (bin_element_is_sink): Comment updates.
16001         (sink_iterator_filter): Remove needless cast.
16002         (gst_bin_iterate_sinks): Doc update.
16003         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
16004         cleaned up (but no logic changes).
16005
16006         * check/states/sinks.c (test_src_sink): Cleanups from the state
16007         change patch.
16008         (test_livesrc_sink): Sync on the state.
16009
16010         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
16011         the state change patch.
16012
16013         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
16014         change patch.
16015
16016         * check/gst/gstbin.c: Merge in some style fixes and additional
16017         checks from Wim's state change patch.
16018
16019 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
16020
16021         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16022         (gst_type_find_helper):
16023           Check whether we have the requested data already in our list of
16024           cached buffers before pulling a new buffer; also make the buffer
16025           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
16026
16027 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16028
16029         * gst/gstcaps.c:
16030         * gst/gstevent.c:
16031           doc updates
16032         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16033           don't use long long, it's not portable.  Replacing with
16034           gint64 seems to work; let's hope no skeletons fall out of the closet.
16035
16036 2005-10-10  Andy Wingo  <wingo@pobox.com>
16037
16038         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
16039
16040 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
16041
16042         * docs/gst/gstreamer-sections.txt:
16043         * gst/gstevent.c:
16044         * gst/gstevent.h:
16045         * gst/gstinfo.c:
16046         * gst/gstinfo.h:
16047         * gst/gstmessage.c: (gst_message_parse_state_changed):
16048         * gst/gstpad.c:
16049         * gst/gstpad.h:
16050           more docs, fix compilation
16051
16052 2005-10-09  Philippe Khalaf <burger@speedy.org>
16053         * gst/gstmessage.c:
16054           Fixed a few forgotten variables on previous commit
16055
16056 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
16057
16058         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16059           Fix evil typefind crasher: getrange() might return a short
16060           buffer at the end of a file, but gst_type_find_peek() must
16061           either return the full data as requested or NULL, but
16062           never a short buffer.
16063
16064 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16065
16066         * gst/gstmessage.c: (gst_message_new_state_changed),
16067         (gst_message_parse_state_changed):
16068         * gst/gstmessage.h:
16069           don't use "new", it's a C++ keyword
16070
16071 2005-10-08  Wim Taymans  <wim@fluendo.com>
16072
16073         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
16074         * gst/gstelement.c: (gst_element_post_message):
16075         * gst/gstpipeline.c: (gst_pipeline_change_state):
16076         Small docs and debug updates.
16077
16078 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16079
16080         * docs/gst/gstreamer-sections.txt:
16081         * gst/gstelementfactory.c:
16082         * gst/gstevent.c:
16083         * gst/gsttaglist.c:
16084           more docs
16085
16086 2005-10-08  Wim Taymans  <wim@fluendo.com>
16087
16088         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
16089         (gst_bin_dispose), (bin_bus_handler):
16090         Fix typos, add comments.
16091         Clear EOS list when going to PAUSED from any direction and do it
16092         in a threadsafe way.
16093         Get base time in a threadsafe way too.
16094         Fix confusing debug in the change_state function.
16095         Various other small cleanups.
16096         
16097         * gst/gstelement.c: (gst_element_post_message):
16098         Fix very verbose bus posting code.
16099
16100         * gst/gstpipeline.c: (gst_pipeline_class_init),
16101         (gst_pipeline_set_property), (gst_pipeline_get_property),
16102         (gst_pipeline_change_state):
16103         Small ARG_ -> PROP_ cleanup
16104
16105 2005-10-08  Wim Taymans  <wim@fluendo.com>
16106
16107         * gst/gstbin.c: (is_eos), (bin_bus_handler):
16108         Do a less CPU demanding EOS check because we can.
16109
16110 2005-10-08  Wim Taymans  <wim@fluendo.com>
16111
16112         * libs/gst/dataprotocol/dataprotocol.c:
16113         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
16114         (gst_dp_packet_from_event):
16115         * libs/gst/dataprotocol/dataprotocol.h:
16116         * libs/gst/dataprotocol/dp-private.h:
16117         It's about time we bump the version number.
16118         Since event types don't fit in the guint8 anymore describing
16119         the payload type, make payload type 16 bits wide.
16120
16121 2005-10-08  Wim Taymans  <wim@fluendo.com>
16122
16123         * docs/design/part-TODO.txt:
16124         * docs/design/part-clocks.txt:
16125         * docs/design/part-events.txt:
16126         * docs/design/part-gstbin.txt:
16127         * docs/design/part-gstelement.txt:
16128         * docs/design/part-gstpipeline.txt:
16129         * docs/design/part-live-source.txt:
16130         * docs/design/part-messages.txt:
16131         * docs/design/part-overview.txt:
16132         * docs/design/part-states.txt:
16133         Many doc updates.
16134
16135 2005-10-08  Wim Taymans  <wim@fluendo.com>
16136
16137         * gst/gstevent.c:
16138         * gst/gstevent.h:
16139         Fix event quark registration.
16140         Add some space between events so we can insert them in the
16141         right groups.
16142
16143 2005-10-08  Wim Taymans  <wim@fluendo.com>
16144
16145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16146         (gst_base_sink_handle_buffer):
16147         Better log message.
16148
16149         * gst/gstbus.h:
16150         * gst/gstelement.h:
16151         More docs.
16152
16153         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16154         (gst_queue_set_property), (gst_queue_get_property):
16155         * gst/gstqueue.h:
16156         Remove old unused properties.
16157
16158 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16159         * docs/gst/gstreamer-sections.txt:
16160         * gst/gstmessage.c:
16161         * gst/gstmessage.h:
16162         * gst/gstminiobject.c:
16163         * gst/gstminiobject.h:
16164         * gst/gstobject.h:
16165         * gst/gstpad.h:
16166         * gst/gstutils.h:
16167           lots of new docs and doc fixes
16168
16169 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16170
16171         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
16172         * gst/gstplugin.h:
16173         * gst/gstregistry.c: (gst_registry_lookup_locked),
16174         (gst_registry_scan_path_level):
16175         * gst/gstregistryxml.c: (load_plugin):
16176           Only ever load one plugin for a given plugin basename.
16177           This ensures correct overriding of GST_PLUGIN_PATH over
16178           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
16179           system installed plugins.
16180
16181 2005-10-08  Wim Taymans  <wim@fluendo.com>
16182
16183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16184         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
16185         Prepare for doing QOS.
16186
16187 2005-10-08  Wim Taymans  <wim@fluendo.com>
16188
16189         * check/gst/gstbin.c: (GST_START_TEST):
16190         * check/pipelines/cleanup.c: (GST_START_TEST):
16191         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16192         Allow new clock message too.
16193
16194 2005-10-08  Wim Taymans  <wim@fluendo.com>
16195
16196         * gst/gstmessage.c: (gst_message_new_error),
16197         (gst_message_new_warning), (gst_message_new_tag),
16198         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16199         (gst_message_new_clock_lost), (gst_message_new_new_clock),
16200         (gst_message_new_segment_start), (gst_message_new_segment_done),
16201         (gst_message_parse_state_changed),
16202         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
16203         (gst_message_parse_new_clock):
16204         * gst/gstmessage.h:
16205         Also carry the clock in question.
16206
16207 2005-10-08  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/gstmessage.c: (gst_message_new_custom),
16210         (gst_message_new_eos), (gst_message_new_error),
16211         (gst_message_new_warning), (gst_message_new_tag),
16212         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16213         (gst_message_new_new_clock), (gst_message_new_segment_start),
16214         (gst_message_new_segment_done), (gst_message_parse_state_changed),
16215         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
16216         * gst/gstmessage.h:
16217         Clean up.
16218         Added clock related messages.
16219
16220         * gst/gstpipeline.c: (gst_pipeline_change_state):
16221         Post message when the clock changed.
16222
16223         * tools/gst-launch.c: (event_loop):
16224         Print new clock.
16225
16226 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
16227
16228         * tools/gst-inspect.c: (print_element_properties_info):
16229           Can't pass NULL strings to g_print() on windows.
16230
16231 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16232
16233         * docs/Makefile.am:
16234         * docs/gst/Makefile.am:
16235         * docs/gst/gstreamer-docs.sgml:
16236         * docs/gst/running.xml:
16237         * docs/version.entities.in:
16238           add a chapter on running GStreamer.
16239           document GST_DEBUG and GST_PLUGIN* env vars
16240
16241 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16242
16243         * Makefile.am:
16244           remove include dir
16245         * configure.ac:
16246           remove PLUGINS_BUILDDIR stuff
16247         * gst/gst.c: (init_post):
16248           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
16249         * idiottest.mak:
16250           remove, it was condescending and not needed
16251
16252 2005-10-08  Wim Taymans  <wim@fluendo.com>
16253
16254         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
16255         (gst_base_sink_handle_object), (gst_base_sink_event),
16256         (gst_base_sink_wait), (gst_base_sink_handle_event),
16257         (gst_base_sink_change_state):
16258         * gst/base/gstbasesink.h:
16259         Repost EOS message while going to PLAYING if still EOS.
16260         Make sure that when receiving a FLUSH_START we don't attempt
16261         to sync on the clock anymore.
16262
16263 2005-10-08  Wim Taymans  <wim@fluendo.com>
16264
16265         * tools/gst-launch.c: (event_loop):
16266         Better message printout.
16267
16268 2005-10-08  Wim Taymans  <wim@fluendo.com>
16269
16270         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
16271         (gst_bin_child_proxy_get_children_count):
16272         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
16273         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
16274         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
16275         (gst_child_proxy_set_valist):
16276         * gst/parse/grammar.y:
16277         Make ChildProxy threadsafe and fix mem leaks.
16278
16279 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16280
16281         * gst/gst.c: (init_post):
16282           debug the GST_PLUGIN_ env vars
16283
16284 2005-10-08  Wim Taymans  <wim@fluendo.com>
16285
16286         * check/gst/gstbin.c: (GST_START_TEST):
16287         * check/gst/gstmessage.c: (GST_START_TEST):
16288         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16289         * gst/gstelement.c: (gst_element_commit_state),
16290         (gst_element_lost_state):
16291         * gst/gstmessage.c: (gst_message_new_state_changed),
16292         (gst_message_parse_state_changed):
16293         * gst/gstmessage.h:
16294         * tools/gst-launch.c: (event_loop):
16295         Added extra field to STATE_CHANGE message with the pending
16296         state, which will be different from the new state soon.
16297
16298 2005-10-08  Wim Taymans  <wim@fluendo.com>
16299
16300         * gst/gstbus.c: (gst_bus_pop):
16301         * gst/gstclock.c:
16302         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16303         Small cleanups and doc updates.
16304
16305 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16306
16307         * gst/gst.c: (init_pre):
16308         * gst/gstbin.c: (gst_bin_add_func):
16309           log distributing clocks and base time
16310         * gst/gstregistry.c: (gst_registry_add_plugin),
16311         (gst_registry_scan_path_level), (gst_registry_scan_path):
16312           clean up the debugging output a little
16313         * gst/gstutils.c: (gst_element_state_get_name):
16314           warn about a memleak (I've actually seen this be used, though
16315           it was probably a bug)
16316
16317 2005-10-07  Wim Taymans  <wim@fluendo.com>
16318
16319         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16320         (gst_base_src_init), (gst_base_src_default_newsegment),
16321         (gst_base_src_newsegment), (gst_base_src_do_seek),
16322         (gst_base_src_loop), (gst_base_src_start):
16323         * gst/base/gstbasesrc.h:
16324         Make the newsegment event customizable by subclasses.
16325
16326 2005-10-07  Wim Taymans  <wim@fluendo.com>
16327
16328         * gst/gstevent.c: (gst_event_new_buffersize),
16329         (gst_event_parse_buffersize):
16330         * gst/gstevent.h:
16331         New event for future idea.
16332
16333 2005-10-07  Andy Wingo  <wingo@pobox.com>
16334
16335         * gst/gstelement.c (gst_element_post_message): Doc update.
16336
16337         * docs/gst/gstreamer-sections.txt: Update.
16338
16339         * gst/gstmessage.c (gst_message_new_application): Made into a
16340         function like honest API calls.
16341         (gst_message_new_element): New message type.
16342
16343         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
16344
16345         * check/elements/fakesrc.c (test_no_preroll): New check, checks
16346         that setting a live fakesrc to PAUSED returns NO_PREROLL both
16347         times.
16348
16349         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
16350         NO_PREROLL from gst_element_change_state to fall through.
16351
16352 2005-10-07  Wim Taymans  <wim@fluendo.com>
16353
16354         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
16355         (gst_ghost_pad_do_activate_push):
16356         Activating a ghostpad with no internal pad in push mode
16357         is ok.
16358
16359 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16360
16361         * gst/gstobject.h:
16362           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
16363           Fixes compilation on Windows.
16364
16365 2005-10-07  Michael Smith <msmith@fluendo.com>
16366
16367         * tools/gst-inspect.c:
16368           Print out feature and plugin count at the end when printing out
16369           all features.
16370
16371 2005-10-04  Michael Smith <msmith@fluendo.com>
16372
16373         * gst/gsterror.c: (_gst_stream_errors_init):
16374           Add another error string used in a few existing plugins.
16375
16376         * gst/gstplugin.c:
16377         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16378         * tools/gst-inspect.c: (print_element_info):
16379           When a feature disappears from a plugin (and the feature exists in
16380           the cached registry file), things went horribly wrong. This isn't a
16381           complete fix, we should actually be removing the 'missing' features
16382           from the features list when we load the actual plugin. That's not
16383           yet implemented. 
16384
16385 2005-10-04  Johan Dahlin  <johan@gnome.org>
16386
16387         * check/gst/gstiterator.c: (GST_START_TEST):
16388         * gst/gstbin.c: (gst_bin_iterate_elements),
16389         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
16390         * gst/gstelement.c: (gst_element_iterate_pads):
16391         * gst/gstformat.c: (gst_format_iterate_definitions):
16392         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16393         (gst_iterator_new_list), (gst_iterator_filter):
16394         * gst/gstiterator.h:
16395         * gst/gstquery.c: (gst_query_type_iterate_definitions):
16396         Add a GType to GstIterator, update callsites and tests.
16397
16398 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16399
16400         * gst/gstpad.c: (gst_pad_event_default_dispatch):
16401           give events a chance to be handled by event probes when the pad
16402           is not linked
16403
16404 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16405
16406         * gst/gstevent.c: (gst_event_type_get_name),
16407         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
16408         * gst/gstevent.h:
16409           add string representations for event types
16410
16411 2005-10-06  Wim Taymans  <wim@fluendo.com>
16412
16413         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
16414         Don't use NULL pointers.
16415
16416 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16417
16418         * gst/gst_private.h:
16419         * gst/gstbus.c:
16420         * gst/gstelement.c:
16421         * gst/gstinfo.c:
16422         * gst/gstpluginfeature.c:
16423           widen the debug category in output to fit the biggest one we have
16424           add a bus category and use it
16425           play with the colors
16426           fix up some categories
16427
16428 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16429
16430         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
16431           add push activation of sink ghost pads.
16432           Andye, please verify
16433
16434 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16435
16436         * gst/gstutils.c: (gst_element_link_pads):
16437           fix a bug in the case where neither element has a pad
16438         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16439           add a test for that case
16440
16441 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16442
16443         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
16444           emit have-data before checking for peers.  This allows
16445           for probe handlers to connect elements.  This helps autopluggers.
16446         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
16447         (gst_pad_suite):
16448           add six checks, linked/unlinked with no/true/false probe
16449
16450 2005-10-04  Wim Taymans  <wim@fluendo.com>
16451
16452         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
16453         (gst_fake_sink_event), (gst_fake_sink_preroll),
16454         (gst_fake_sink_render), (gst_fake_sink_change_state):
16455         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
16456         (gst_fake_src_get_property), (gst_fake_src_create),
16457         (gst_fake_src_stop):
16458         * gst/elements/gstidentity.c: (gst_identity_stop):
16459         Protect last_message with lock.
16460
16461 2005-10-04  Edward Hervey  <edward@fluendo.com>
16462
16463         * gst/gstformat.h: 
16464         Added precision in the comments for GST_FORMAT_DEFAULT
16465
16466 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
16467
16468         * tools/gst-launch.c: (main):
16469           Don't try to run erroneous pipelines.
16470
16471 2005-10-04  Julien MOUTTE  <julien@moutte.net>
16472
16473         * gst/gstbus.c: We don't need this header.
16474
16475 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16476
16477         * configure.ac:
16478           back to development
16479
16480 === release 0.9.3 ===
16481
16482 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16483
16484         * README:
16485         * configure.ac:
16486           Releasing 0.9.3, "Unregistered"
16487
16488 2005-10-03  Andy Wingo  <wingo@pobox.com>
16489
16490         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
16491         whereby calling a pad's activatepush() function can start a thread
16492         that starts to push or pull before the pad gets the FLUSHING flag
16493         unset. Hack around it by holding the stream lock until the flag is
16494         set. Need to replace this with a proper solution. Together with
16495         the ghost pad fixes, this fixes mp3 playing/tagreading.
16496
16497         * docs/design/part-gstghostpad.txt: Add a note about activation of
16498         proxy pads outside of ghost pads.
16499
16500         * gst/gstghostpad.c: Implement the ghost pad activation design.
16501
16502 2005-10-02  Andy Wingo  <wingo@pobox.com>
16503
16504         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
16505         It is volatile, after all.
16506
16507         * docs/design/part-gstghostpad.txt: Flesh out activation with
16508         ghost pads.
16509
16510         * gst/base/gstbasesrc.c (gst_base_src_init): Use
16511         GST_DEBUG_FUNCPTR.
16512
16513 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
16514
16515         * configure.ac:
16516           Fix (unused) AM_CONDITIONAL tests.
16517
16518 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
16519
16520         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16521
16522         * gst/gstutils.c: (gst_pad_query_convert):
16523           Add assertion that makes sure src_val is >=0, just like
16524           gst_query_new_convert() has. (#315895)
16525
16526 2005-09-30  Edward Hervey  <edward@fluendo.com>
16527
16528         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
16529         Let's not iterate pads we're not interested in, it avoids getting 
16530         sky-high refcounts on sinkpad.
16531
16532 2005-09-30  Wim Taymans  <wim@fluendo.com>
16533
16534         * gst/gstelement.c: (gst_element_set_state),
16535         (gst_element_change_state):
16536         Small tweak, element in ASYNC remains ASYNC.
16537
16538 2005-09-30  Wim Taymans  <wim@fluendo.com>
16539
16540         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
16541         Only error is an error.
16542
16543         * gst/gstbin.c: (gst_bin_change_state):
16544         Better debugging.
16545
16546         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
16547         Also call pad_block in pad alloc.
16548
16549         * gst/gstutils.c: (gst_flow_get_name):
16550         Better debugging.
16551
16552 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16553
16554         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16555         (gst_base_src_get_range):
16556           Fix documentation typos. Add some more debug info.
16557
16558 2005-09-29  David Schleef  <ds@schleef.org>
16559
16560         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
16561           more end-user friendly.
16562         * tools/gst-inspect.c: (main): Check if command-line argument is
16563           a file and attempt to load that file as a plugin.
16564
16565 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16566
16567         * check/gst/gstbin.c:
16568         * check/states/sinks.c:
16569           fix tests for the new warning
16570         * check/gst/gstpipeline.c:
16571           add a test for pipeline and bus interaction
16572         * gst/gstelement.c:
16573           elements should be NULL if they get disposed; add a warning if not
16574
16575 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16576
16577         * gst/gstobject.c:
16578           for 2.6 refcounting, make debug log more correct by printing
16579           the actual refcounts at the time of swap (Wim)
16580
16581 2005-09-29  Andy Wingo  <wingo@pobox.com>
16582
16583         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
16584         removes signal watches previously added via
16585         gst_bus_add_signal_watch.
16586         (gst_bus_add_signal_watch): Don't return the source id, just store
16587         it on the bus if there wasn't an id already.
16588
16589         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
16590         add_signal_watch and remove_signal_watch.
16591
16592 2005-09-29  Edward Hervey  <edward@fluendo.com>
16593
16594         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
16595         Better if we actually iterate the list :)
16596
16597 2005-09-29  Wim Taymans  <wim@fluendo.com>
16598
16599         * check/gst/gstbin.c: (GST_START_TEST):
16600         Change for new bus API.
16601
16602         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16603         (send_messages), (GST_START_TEST), (gstbus_suite):
16604         Change for new bus signal API.
16605
16606         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
16607         (gst_bus_source_prepare), (gst_bus_source_check),
16608         (gst_bus_create_watch), (gst_bus_add_watch_full),
16609         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
16610         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
16611         * gst/gstbus.h:
16612         Remove support for multiple GSources operating on different
16613         message types as it is too complex and unneeded when using
16614         signals.
16615         Added support for receiving signals from the bus.
16616
16617 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16618
16619         * docs/libs/tmpl/gstdataprotocol.sgml:
16620         * docs/manual/advanced-dataaccess.xml:
16621         * gst/elements/gstcapsfilter.c:
16622         * gst/gstutils.c:
16623           rename filter-caps to caps property
16624
16625 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16626
16627         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16628           More robust fraction string parsing.
16629
16630         * docs/pwg/appendix-porting.xml:
16631           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
16632
16633 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16634
16635         * gst/gstcaps.c: (gst_caps_do_simplify):
16636           Thou shalt not free a structure and then continue using it
16637           in the next loop iteration.
16638
16639         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
16640         (gst_caps_suite):
16641           Add test case for caps simplification.
16642
16643 2005-09-29  Wim Taymans  <wim@fluendo.com>
16644
16645         * check/gst/gstbin.c: (GST_START_TEST):
16646         Oops.
16647
16648 2005-09-29  Wim Taymans  <wim@fluendo.com>
16649
16650         * check/gst/gstbin.c: (GST_START_TEST):
16651         Add bus to bin.
16652
16653         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
16654         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16655         (find_element), (gst_bin_sort_iterator_next),
16656         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16657         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16658         (gst_bin_change_state), (gst_bin_dispose):
16659         A bin does not have a bus, it gets the bus from the parent.
16660
16661         * gst/gstelement.c: (gst_element_requires_clock),
16662         (gst_element_provides_clock), (gst_element_is_indexable),
16663         (gst_element_is_locked_state), (gst_element_change_state),
16664         (gst_element_set_bus_func):
16665         Small cleanups.
16666
16667         * gst/gstpipeline.c: (gst_pipeline_class_init),
16668         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
16669         The pipeline provides a bus.
16670
16671 2005-09-28  Johan Dahlin  <johan@gnome.org>
16672
16673         * gst/gstmessage.c (gst_message_parse_state_changed): Use
16674         gst_structure_get_enum instead of gst_structure_get_int
16675
16676         * gst/gststructure.c (gst_structure_get_enum): Impl.
16677
16678         * gst/gststructure.h (gst_structure_get_enum): Add
16679
16680         * docs/gst/gstreamer-sections.txt: Ditto
16681
16682         * gst/gstmessage.c (gst_message_new_state_changed): Use
16683         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
16684         which does introspection.
16685         Reviewed by Christian Schaller
16686
16687 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16688
16689         * gst/gstinfo.c: (gst_debug_log_default):
16690           don't do dummy g_strdup()s
16691         * libs/gst/controller/gstcontroller.c:
16692         (on_object_controlled_property_changed),
16693         (gst_controlled_property_new), (gst_controller_new_valist),
16694         (gst_controller_new_list),
16695         (gst_controller_remove_properties_valist), (gst_controller_set),
16696         (gst_controller_get), (gst_controller_sync_values),
16697         (gst_controller_get_value_array), (_gst_controller_class_init),
16698         (gst_controller_get_type):
16699         * libs/gst/controller/gstcontroller.h:
16700         * libs/gst/controller/gstinterpolation.c:
16701         (gst_controlled_property_find_timed_value_node):
16702           convert // to /**/ comments
16703
16704 2005-09-28  Wim Taymans  <wim@fluendo.com>
16705
16706         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
16707         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
16708         (gst_bus_sync_signal_handler):
16709         * gst/gstbus.h:
16710         Added async-message and sync-message signals to the bus.
16711         Added helper BusFunc to emit signals for all posted messages.
16712
16713         * gst/gstmessage.c: (gst_message_type_get_name),
16714         (gst_message_type_to_quark), (gst_message_get_type):
16715         * gst/gstmessage.h:
16716         Register quarks for message names.
16717
16718 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16719
16720         * docs/libs/gstreamer-libs-sections.txt:
16721         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
16722         (gst_controller_new_list):
16723         * libs/gst/controller/gstcontroller.h:
16724           added another constructor for language bindings
16725
16726 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16727
16728         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16729           add another check
16730         * gst/gstbus.c:
16731           add some doc
16732         * gst/gstinfo.c: (_gst_debug_init):
16733           slightly more readable color for refcount debugging
16734
16735 2005-09-28  Wim Taymans  <wim@fluendo.com>
16736
16737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16738         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16739         (find_element), (gst_bin_sort_iterator_next),
16740         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16741         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16742         (gst_bin_change_state), (gst_bin_dispose):
16743         Small doc fixes. get_clock -> provide_clock.
16744
16745         * gst/gstelement.c: (gst_element_class_init),
16746         (gst_element_provides_clock), (gst_element_provide_clock),
16747         (gst_element_get_clock), (gst_element_commit_state),
16748         (gst_element_lost_state):
16749         * gst/gstelement.h:
16750         Make get/set_clock() symetric. Add provide_clock vmethod since
16751         that is actually what this function does.
16752
16753         * gst/gstpipeline.c: (gst_pipeline_class_init),
16754         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
16755         (gst_pipeline_get_clock):
16756         get_clock -> provide_clock.
16757
16758 2005-09-28  Andy Wingo  <wingo@pobox.com>
16759
16760         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
16761         lieu of real docs...
16762
16763         * gst/elements/gstfdsrc.c: Cleaned up a bit.
16764
16765 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
16766
16767         * gst/elements/gstcapsfilter.c:
16768         * gst/elements/gstfakesink.c:
16769         * gst/elements/gstfakesrc.c:
16770         * gst/elements/gstfdsink.c:
16771         * gst/elements/gstfdsrc.c:
16772         * gst/elements/gstfilesink.c:
16773         * gst/elements/gstfilesrc.c:
16774         * gst/elements/gstidentity.c:
16775         * gst/elements/gsttee.c:
16776         * gst/elements/gsttypefindelement.c:
16777           Make element details static.
16778
16779 2005-09-28  Wim Taymans  <wim@fluendo.com>
16780
16781         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16782         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16783         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16784         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16785         (gst_bin_change_state), (gst_bin_dispose):
16786         Some documentation updates.
16787         Clean up dispose handlers.
16788
16789         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
16790         * gst/gstpad.c: (gst_pad_dispose):
16791         Clean up dispose handler.
16792
16793         * gst/gstpipeline.c: (gst_pipeline_change_state):
16794         Removed spurious UNLOCK.
16795
16796 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
16797
16798         * docs/gst/gstreamer-sections.txt:
16799         * gst/base/gstbasesrc.h:
16800         * gst/gstelement.h:
16801         * gst/gstevent.h:
16802         * gst/gstobject.h:
16803         * gst/gstpad.h:
16804         * gst/gstpipeline.c:
16805         * gst/gstpipeline.h:
16806         * gst/gstutils.h:
16807         * gst/gstxml.h:
16808           added two new functions to the docs
16809                 documents all undocumented GstXXXFlags
16810                 completed some incomplete docs 
16811
16812 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16813
16814         * gst/gstbin.c: (gst_bin_dispose):
16815         * gst/gstelement.c: (gst_element_dispose):
16816           remove now useless and leaky resurrection code in dispose
16817         * gst/base/gstbasesrc.c: (gst_base_src_init):
16818         * gst/gstelementfactory.c: (gst_element_factory_create):
16819         * gst/gstobject.c: (gst_object_set_parent):
16820           add some debugging
16821
16822 2005-09-27  Wim Taymans  <wim@fluendo.com>
16823
16824         * docs/design/part-TODO.txt:
16825         Update TODO.
16826
16827         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16828         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16829         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16830         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16831         (gst_bin_change_state):
16832         * gst/gstelement.h:
16833         Remove element variable, we keep element info in the iterator now.
16834
16835 2005-09-27  Andy Wingo  <wingo@pobox.com>
16836
16837         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
16838         values.
16839
16840 2005-09-27  Wim Taymans  <wim@fluendo.com>
16841
16842         * check/gst/gstbin.c: (GST_START_TEST):
16843         Enable check that works now.
16844
16845         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16846         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16847         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16848         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16849         (gst_bin_change_state):
16850         * gst/gstbin.h:
16851         Redid the state change algorithm using a topological sort algo.
16852         Handles all cases correctly.
16853         Exposed iterator for state change order.
16854
16855         * gst/gstelement.h:
16856         Temp storage for state changes. Need to get rid of this soon.
16857
16858 2005-09-27  Wim Taymans  <wim@fluendo.com>
16859
16860         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
16861         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
16862         (link_fold_func), (gst_pad_proxy_setcaps):
16863         Leak fixes, the fold functions need to unref the passed object and
16864         _get_parent_*() returns ref to parent.
16865
16866 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16867
16868         * check/gst/gstbuffer.c: (test_make_writable):
16869           Plug leak in test case and fix 'make check-valgrind'
16870
16871 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16872
16873         * gst/gstbuffer.c: (gst_subbuffer_init):
16874           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
16875           works correctly in all circumstances (we could have just copied
16876           the parent buffer's readonly flag, but conceptually it seems
16877           cleaner to mark all subbuffers as read-only). (based on patch
16878           by Alessandro Decina, #314710).
16879         
16880         * check/gst/gstbuffer.c: (create_read_only_buffer),
16881         (test_make_writable), (test_subbuffer_make_writable),
16882         (gst_test_suite):
16883           Add some tests for gst_buffer_make_writable().
16884
16885 2005-09-27  Wim Taymans  <wim@fluendo.com>
16886
16887         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
16888         use gst_object_has_ancestor().
16889
16890         * gst/gstobject.c: (gst_object_has_ancestor):
16891         * gst/gstobject.h:
16892         gst_object_has_ancestor() copied from gstbin.c as it is a
16893         useful function.
16894
16895         * tests/instantiate/create.c: (create_all_elements):
16896         * tests/lat.c: (handoff_src), (handoff_sink):
16897         * tests/sched/runxml.c: (main):
16898         * tests/seeking/seeking1.c: (main):
16899         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16900         (main):
16901         Fix compilation of some tests.
16902
16903 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16904
16905         * gst/gsterror.h:
16906           Remove comment. GST_TYPE_G_ERROR is here to stay,
16907           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
16908           (#316961, #300610).
16909
16910 2005-09-26  Wim Taymans  <wim@fluendo.com>
16911
16912         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16913         Added check that shows error in state change order.
16914
16915 2005-09-26  Wim Taymans  <wim@fluendo.com>
16916
16917         * gst/gstbin.c: (gst_bin_change_state):
16918         Make state change function use 3 queues again, we were
16919         adding elements in the wrong order.
16920
16921         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
16922         Some debug info,
16923
16924         * gst/gstpad.c: (gst_pad_dispose):
16925         Added some debug info first.
16926
16927 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
16928
16929         * docs/design/draft-push-pull.txt:
16930         * docs/design/part-events.txt:
16931         * docs/design/part-overview.txt:
16932         * docs/design/part-scheduling.txt:
16933           Replace all _pull_region() with _pull_range()
16934           
16935 2005-09-26  Andy Wingo  <wingo@pobox.com>
16936
16937         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
16938
16939         * check/gst-libs/controller.c: Update for controller api change.
16940
16941         * configure.ac: 
16942         * tests/Makefile.am:
16943         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
16944         over by GLib bug 118439.
16945         
16946         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
16947         routines to a function.
16948
16949         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
16950
16951         * libs/gst/controller/gsthelper.c:
16952         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
16953         (gst_object_sync_values): Renamed from sink_values. Ugh.
16954
16955         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
16956
16957         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
16958         Renamed from controller_key, as it is exported.
16959
16960         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
16961
16962 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16963
16964         * gst/Makefile.am:
16965         * gst/gst.h:
16966         * gst/gstpad.h:
16967         * gst/gstpadtemplate.h:
16968         * gst/gstquery.c:
16969         * gst/gstquery.h:
16970         * gst/gstqueryutils.c:
16971         * gst/gstqueryutils.h:
16972           remove queryutils headers after moving the two used functions
16973           to gstquery.  also fixes build problem for gstsiddec
16974
16975 2005-09-26  Michael Smith <msmith@fluendo.com>
16976
16977         * tools/gst-launch.1.in:
16978         Correct documentation in manpage of debug syntax
16979
16980 2005-09-26  Wim Taymans  <wim@fluendo.com>
16981
16982         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16983         (gst_base_src_is_seekable), (gst_base_src_change_state):
16984         Some more debugging info.
16985
16986 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16987
16988         * docs/gst/gstreamer-sections.txt:
16989         * gst/base/gstbasetransform.h:
16990         * gst/gstindex.h:
16991           added more docs
16992
16993 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16994
16995         * docs/gst/.cvsignore:
16996         * docs/gst/tmpl/.cvsignore:
16997         * docs/gst/tmpl/gstpipeline.sgml:
16998         * docs/gst/tmpl/gstplugin.sgml:
16999         * gst/gstpipeline.c:
17000         * gst/gstplugin.c:
17001         * gst/gstplugin.h:
17002           inlined the last two docs files
17003           removed the tmpl directory from cvs (no more conflicts here!)
17004
17005 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
17006
17007         * docs/gst/gstreamer-sections.txt:
17008         * docs/gst/tmpl/.cvsignore:
17009         * docs/gst/tmpl/gstpad.sgml:
17010         * docs/gst/tmpl/gstpadtemplate.sgml:
17011         * gst/Makefile.am:
17012         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
17013         (gst_pad_finalize), (gst_pad_set_pad_template):
17014         * gst/gstpad.h:
17015         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
17016         (gst_pad_template_class_init), (gst_pad_template_init),
17017         (gst_pad_template_dispose), (name_is_valid),
17018         (gst_static_pad_template_get), (gst_pad_template_new),
17019         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
17020         (gst_pad_template_pad_created):
17021         * gst/gstpadtemplate.h:
17022           inlined two more docs
17023           factored gstpadtemplate out of gstpad
17024
17025 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
17026
17027         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17028         (test_children_state_change_order_semi_sink):
17029           Fix test case: we can't rely on a fixed state change order when
17030           going from READY => PAUSED because the sink might commit its 
17031           new state first when the first buffer created by the source 
17032           reaches the sink before the source has finished its change state.
17033           (Test case still fails at times, see #316856, comment 5 onwards)
17034
17035 2005-09-24  Wim Taymans  <wim@fluendo.com>
17036
17037         * docs/design/part-events.txt:
17038         * docs/design/part-gstbus.txt:
17039         * docs/design/part-gstpipeline.txt:
17040         * docs/design/part-messages.txt:
17041         * docs/design/part-overview.txt:
17042         * docs/design/part-segments.txt:
17043         * gst/gstbin.c:
17044         * gst/gstbuffer.c:
17045         * gst/gstclock.c:
17046         * gst/gstelement.c:
17047         * gst/gstevent.c:
17048         * gst/gstfilter.c:
17049         * gst/gstiterator.c:
17050         Various documentation updates.
17051
17052 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17053
17054         * gst/gstclock.h:
17055           Well, that's embarassing.  Luckily we weren't using
17056           GST_CLOCK_DIFF anywhere.
17057
17058 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17059
17060         * common/gtk-doc.mak:
17061           don't fail on building XML, FC4 slave shows a bunch of doc
17062           missing bits that I don't get
17063         * gst/gstpad.c:
17064         * gst/gstpipeline.c:
17065         * gst/gststructure.c:
17066           some doc updates
17067
17068 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17069
17070         * docs/design/part-gstbin.txt:
17071         * docs/design/part-gstbus.txt:
17072         * gst/gstbus.c:
17073           Add blurb about how the bus goes into flushing mode and
17074           drops all messages when its bin goes from READY into NULL 
17075           state.
17076
17077 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17078
17079         * docs/gst/gstreamer-sections.txt:
17080         * gst/gststructure.c: (gst_structure_get_clock_time):
17081         * gst/gststructure.h:
17082           add a method to get a GstClockTime out of a structure
17083
17084 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17085
17086         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17087         (test_children_state_change_order_semi_sink), (gst_bin_suite):
17088           Added test to check state change order in bins (can still be made
17089           to fail here under heavy disk load; bails out with 'Push on pad
17090           fakesink:sink0, but it was not activated in push mode').
17091
17092         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
17093           Fix state change order when there is only a semi sink (#316856)
17094
17095         * gst/gstbus.c: (gst_bus_class_init):
17096           Use _class_peek_parent(), not _class_ref(); fix docs to say
17097           'default main context' instead of 'mainloop' where that is
17098           what's meant.
17099
17100         * gst/gstelement.c: (gst_element_commit_state),
17101         (gst_element_set_state):
17102           Fix typos in debug messages
17103
17104 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17105
17106         * docs/README:
17107         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
17108         * gst/gstpluginfeature.c:
17109         * gst/gstutils.c:
17110           various doc updates
17111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17112           change an assert into an error until it gets fixed properly
17113
17114 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
17115
17116         * docs/gst/gstreamer-sections.txt:
17117         * docs/gst/tmpl/.cvsignore:
17118         * docs/gst/tmpl/gstelement.sgml:
17119         * docs/gst/tmpl/gstinfo.sgml:
17120         * docs/gst/tmpl/gstobject.sgml:
17121         * gst/gstelement.c:
17122         * gst/gstelement.h:
17123         * gst/gstinfo.c:
17124         * gst/gstinfo.h:
17125         * gst/gstobject.c: (gst_object_class_init):
17126         * gst/gstobject.h:
17127           inlined 3 more biiiig doc files and added some missing docs on the fly
17128
17129 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17130
17131         * check/gst/.cvsignore:
17132         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
17133         * gst/gstregistryxml.c: (load_plugin),
17134         (gst_registry_xml_save_plugin):
17135           put back source in registry.  add checks for find_plugin.
17136         * testsuite/states/bin.c: (assert_state), (empty_bin),
17137         (test_adding_one_element), (main):
17138         * testsuite/states/locked.c: (main):
17139           some compile/run fixes
17140
17141 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17142
17143         * check/gst/gstvalue.c: (GST_START_TEST):
17144           fix leaks in the test itself
17145
17146 2005-09-22  Wim Taymans  <wim@fluendo.com>
17147
17148         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17149         (gst_base_sink_send_event), (gst_base_sink_peer_query),
17150         (gst_base_sink_query):
17151         Prepare for more accurate position reporting and query
17152         handling.
17153
17154         * gst/gstelement.c: (gst_element_send_event),
17155         (gst_element_set_state):
17156         Add some comment.
17157
17158 2005-09-22  Wim Taymans  <wim@fluendo.com>
17159
17160         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
17161         (gst_query_parse_segment):
17162         * gst/gstquery.h:
17163         More documentation.
17164         Add segment query for future use.
17165
17166 2005-09-22  Wim Taymans  <wim@fluendo.com>
17167
17168         * gst/gstbin.c: (gst_bin_add_func):
17169         Some more debug info.
17170
17171         * gst/gstelement.c: (gst_element_send_event):
17172         Simplify send_event
17173
17174         * gst/gstelement.h:
17175         Don't know how flags got broken.
17176
17177         * gst/gstquery.h:
17178         Added new query.
17179
17180 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17181
17182         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
17183           Add simplistic test suite for GST_TYPE_DATE serialisation and
17184           deserialisation.
17185
17186 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17187
17188         * docs/gst/gstreamer-sections.txt:
17189         * gst/gststructure.c: (gst_structure_set_valist),
17190         (gst_structure_get_date):
17191         * gst/gststructure.h:
17192         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
17193         (gst_date_copy), (gst_value_compare_date),
17194         (gst_value_serialize_date), (gst_value_deserialize_date),
17195         (gst_value_transform_date_string),
17196         (gst_value_transform_string_date), (_gst_value_initialize):
17197         * gst/gstvalue.h:
17198           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
17199           bunch of utility functions along with a hack that checks that
17200           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
17201           is required. Part of the grand scheme in #170777.
17202
17203 2005-09-22  Andy Wingo  <wingo@pobox.com>
17204
17205         * gst/gstconfig.h.in: Psych out gtk-doc.
17206
17207         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
17208
17209         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
17210
17211         * tools/gst-inspect.c (print_element_list): Plug some
17212         inconsequential leaks.
17213
17214         * gst/gstregistry.c (gst_registry_get_default): Doc.
17215
17216         * check/gst/gstplugin.c: 
17217         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
17218         * gst/gstelementfactory.c (gst_element_factory_create): 
17219         * gst/gstindexfactory.c (gst_index_factory_create): Update for
17220         refcount changes.
17221
17222         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
17223         (gst_plugin_feature_load): Doc, don't eat refs.
17224
17225         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
17226         (gst_plugin_list_free): Doc.
17227         (gst_plugin_load_file): Doc updates.
17228
17229         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
17230         accessors returning refcounted objects, return a ref.
17231
17232         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
17233         accessor for caps. IDEMPOTENCE. Oh yes.
17234
17235 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
17236
17237         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17238
17239         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
17240         (_gst_debug_register_funcptr):
17241           Add mutex to serialise access to the hash table with
17242           the function pointer => function name string mapping;
17243           make that hash table static scope (#316809).
17244
17245         * gst/registries/.cvsignore:
17246           Remove left-over file.
17247
17248 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17249
17250         * docs/pwg/appendix-porting.xml:
17251           And something about newsegment events and caps-on-buffers to
17252           the porting guide (feel free to improve).
17253
17254 2005-09-21  Andy Wingo  <wingo@pobox.com>
17255
17256         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
17257         data and event probes on the same pad.
17258         (test_buffer_probe_once): Test that removing probes from within
17259         the probe functions works.
17260
17261 2005-09-21  Andy Wingo  <wingo@pobox.com>
17262
17263         * check/gst/gstutils.c: New file.
17264         (test_buffer_probe_n_times): A simple buffer probe test. More to
17265         come, foolios.
17266
17267         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
17268         have-data::buffer, not have-data.
17269         (gst_pad_add_event_probe): Likewise for have-data::event.
17270         (gst_pad_add_data_probe): More docs. The part about 'resolving the
17271         peer' isn't quite right yet though.
17272         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
17273         (gst_pad_remove_data_probe): Change to take the guint handler_id
17274         as their arg, not the function+data, which is more glib-like.
17275
17276         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
17277         the signal emission to indicate if the data is a buffer or an
17278         event.
17279         (gst_pad_get_type): Initialize buffer and event quarks.
17280         (gst_pad_class_init): have-data is now a detailed signal, yes it
17281         is.
17282
17283 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17284
17285         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17286         * gst/gstutils.c: (gst_util_set_value_from_string),
17287         (gst_util_set_object_arg):
17288           Don't put functional code in g_return_if_fail() or
17289           g_return_val_if_fail() statements, otherwise things will 
17290           break when G_DISABLE_CHECKS is defined during compilation.
17291
17292 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17293
17294         * docs/gst/tmpl/.cvsignore:
17295         * docs/gst/tmpl/gstvalue.sgml:
17296         * gst/gstvalue.c:
17297         * gst/gstvalue.h:
17298           inlied another one and added  some obvious docs
17299
17300 2005-09-21  Wim Taymans  <wim@fluendo.com>
17301
17302         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17303         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
17304         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
17305         (gst_fdsrc_get_property), (gst_fdsrc_create):
17306         * gst/elements/gstfdsrc.h:
17307         Properly implement fdsrc. Removed signal and timeout,
17308         better implemented somewhere else.
17309
17310 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17311
17312         * docs/gst/tmpl/.cvsignore:
17313         * docs/gst/tmpl/gstimplementsinterface.sgml:
17314         * gst/gstinterface.c:
17315           inlined more docs
17316
17317 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17318
17319         * docs/gst/gstreamer-sections.txt:
17320         * docs/gst/tmpl/.cvsignore:
17321         * docs/gst/tmpl/gstenumtypes.sgml:
17322           remove obsolete doc file
17323
17324 2005-09-21  David Schleef  <ds@schleef.org>
17325
17326         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
17327         little beer, fix a little leak.
17328
17329 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17330
17331         * docs/gst/gstreamer-docs.sgml:
17332         * docs/gst/gstreamer-sections.txt:
17333         * docs/gst/tmpl/.cvsignore:
17334         * gst/Makefile.am:
17335         * gst/gst.h:
17336         * gst/gstbin.c:
17337         * gst/gstelement.h:
17338         * gst/gstindex.c: (gst_index_class_init):
17339         * gst/gstindex.h:
17340         * gst/gstindexfactory.c: (gst_index_factory_get_type),
17341         (gst_index_factory_class_init), (gst_index_factory_init),
17342         (gst_index_factory_finalize), (gst_index_factory_new),
17343         (gst_index_factory_destroy), (gst_index_factory_find),
17344         (gst_index_factory_create), (gst_index_factory_make):
17345         * gst/gstindexfactory.h:
17346         * gst/gstpluginfeature.c:
17347         * gst/gstpluginfeature.h:
17348         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17349           more docs inlined, splitted gstindex.{c,h}
17350
17351 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17352
17353         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17354           fix a leak
17355
17356 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17357
17358         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17359           Set sync to FALSE by default.
17360
17361 2005-09-20  Wim Taymans  <wim@fluendo.com>
17362
17363         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17364         (gst_base_sink_init):
17365         Make sync property settable from subclass.
17366
17367         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17368         (gst_fake_sink_change_state):
17369         Set sync to FALSE by default.
17370
17371 2005-09-20  Wim Taymans  <wim@fluendo.com>
17372
17373         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
17374         * tools/gst-launch.c: (main):
17375         The timeout handler should have lower priority than the source
17376         so we don't timeout before popping a message with 0 timeout.
17377         Dump error messages after failed state change.
17378
17379 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17380
17381         * tools/gst-inspect.c: (print_element_properties_info):
17382           Fix two typos.
17383
17384 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17385
17386         * check/gst/gstevent.c:
17387         * gst/elements/gstfakesink.c:
17388         * gst/elements/gstfakesink.h:
17389           remove the sync property from fakesink.
17390           has the side effect of setting sync TRUE
17391           for fakesink, which is a change.  Anyone who knows how
17392           to fix this nicely in a GObject-y way, feel free.
17393
17394 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17395
17396         * docs/gst/gstreamer-docs.sgml:
17397           remove probe refsection
17398
17399 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17400
17401         * check/Makefile.am:
17402           disable valgrinding the controller test again
17403         * docs/gst/gstreamer-sections.txt:
17404           update for api-changes
17405
17406 2005-09-20  Wim Taymans  <wim@fluendo.com>
17407
17408         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17409         (gst_base_sink_set_property), (gst_base_sink_get_property),
17410         (gst_base_sink_do_sync):
17411         * gst/base/gstbasesink.h:
17412         Added sync property to basesink to disable clock sync.
17413
17414 2005-09-20  Andy Wingo  <wingo@pobox.com>
17415
17416         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
17417         eating the caller's refcount.
17418
17419         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
17420         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
17421         refcount.
17422
17423         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
17424         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
17425         of GLib 2.8 public, so we can know which refcount to check in
17426         tests.
17427
17428         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
17429         (gst_object_init): Only set the gst refcount if we're going ahead
17430         with the refcount hack.
17431
17432 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17433
17434         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17435         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17436           more leaks plumbed, added more debug-logging
17437         * gst/gstmacros.h:
17438           whitespace fix
17439
17440 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17441
17442         * gst/gstmessage.c:
17443           remove include of gstmemchunk.h
17444
17445 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17446
17447         * gst/gstclock.c: (_gst_clock_id_free):
17448           Commit from the Political Party For More Atomic CVS Commits,
17449           so that people don't waste too much of their day fishing
17450           out obvious leaks out of massive commits.
17451           Oh, and fix a pretty damn obvious leak in the memchunk
17452           removal code.
17453
17454 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17455
17456         * check/Makefile.am:
17457         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17458           plug mem-leak, re-add to valgrindable tests
17459
17460 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17461
17462         * gst/gstplugin.h:
17463           unbreak the build for those who have chronic arthritis
17464           and typing "make check" is just too taxing on the hands
17465
17466 2005-09-20  Andy Wingo  <wingo@pobox.com>
17467
17468         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
17469         really want it out, you should fix plugins at the same time.
17470
17471 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
17472
17473         * configure.ac:
17474         * docs/gst/gstreamer-sections.txt:
17475         * gst/gstobject.c:
17476           added missing symbols to api docs
17477           disable ref-count hack if we have glib >= 2.8
17478
17479 2005-09-19  David Schleef  <ds@schleef.org>
17480
17481         * docs/gst/Makefile.am: Ignore a few more internal headers
17482         * docs/gst/gstreamer-docs.sgml: Remove old sections
17483         * docs/gst/gstreamer-sections.txt: Remove old sections
17484         * docs/gst/tmpl/gstobject.sgml: update
17485         * docs/gst/tmpl/gstplugin.sgml: update
17486         * docs/gst/tmpl/gstpluginfeature.sgml: update
17487         * docs/random/ds/0.9-suggested-changes: update.
17488         * gst/Makefile.am: remove memchunk and trashstack, since they're
17489           not used.
17490         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
17491         * gst/gst.h: don't include some headers
17492         * gst/gstchildproxy.c: add gstmarshal.h
17493         * gst/gstclock.c: Don't use memchunks
17494         * gst/gstminiobject.c: Add some docs
17495         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
17496         * gst/gstobject.h: same
17497         * gst/gstplugin.c: include gstmacros.h
17498         * gst/gstplugin.h: don't include gstmacros.h, since it's private
17499         * gst/gstquery.c: don't use memchunks
17500         * gst/gstregistry.c: rename gst_registry_deinit()
17501         * gst/gstregistry.h: same
17502
17503 2005-09-19  David Schleef  <ds@schleef.org>
17504
17505         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
17506         * docs/libs/gstreamer-libs-sections.txt:
17507         * docs/libs/tmpl/gstgetbits.sgml:
17508         * docs/libs/tmpl/gstputbits.sgml:
17509
17510 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
17511
17512         * win32/gstenumtypes.c:
17513         * win32/gstenumtypes.h:
17514           Update.
17515
17516 2005-09-19  Wim Taymans  <wim@fluendo.com>
17517
17518         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
17519         Automatically PAUSE and RESUME a pipeline when a flushing seek
17520         is performed.
17521
17522 2005-09-19  Andy Wingo  <wingo@pobox.com>
17523
17524         * gst/gstregistry.h: Spacing fixen.
17525
17526 2005-09-19  Wim Taymans  <wim@fluendo.com>
17527
17528         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
17529         Handle state change failure more correctly.
17530
17531 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17532
17533         * check/Makefile.am:
17534         * check/pipelines/cleanup.c: (run_pipeline):
17535         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17536         (GST_START_TEST):
17537           enable cleanup again after fixing the leak
17538         * docs/README:
17539           some more info on docs
17540
17541 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17542
17543         * check/Makefile.am:
17544           re-enable tests now that leaks are plugged
17545         * check/gst/gst.c:
17546         * check/gst/gstbin.c:
17547         * check/gst/gstpipeline.c:
17548           add some more tests while fixing leaks
17549         * common/check.mak:
17550           make sure binaries are uptodate when valgrinding/gdbing
17551         * gst/gst.c:
17552         * gst/gstelementfactory.c:
17553           remove a ref too many, and add a FIXME for when we get
17554           round to disposing of classes
17555         * gst/gstplugin.c:
17556           fix the refcounting when loading a plugin from a file and
17557           the code pretends that the pointer is the same even though
17558           of course it can change
17559         * gst/gstpluginfeature.c:
17560           unref plugins marked cached (a bit confusing as a name)
17561           as the docs state should be done
17562           various doc additions to explain refcounting
17563         * gst/gstregistry.c:
17564         * gst/gstregistryxml.c:
17565           debugging
17566
17567 2005-09-19  Wim Taymans  <wim@fluendo.com>
17568
17569         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
17570         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17571         (send_messages), (GST_START_TEST), (gstbus_suite):
17572         * check/gst/gstpipeline.c: (GST_START_TEST):
17573         * check/pipelines/cleanup.c: (run_pipeline):
17574         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17575         (GST_START_TEST):
17576         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
17577         (gst_bus_source_check), (gst_bus_source_dispatch),
17578         (gst_bus_create_watch), (gst_bus_add_watch_full),
17579         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
17580         * gst/gstbus.h:
17581         * tools/gst-launch.c: (event_loop):
17582         * tools/gst-md5sum.c: (event_loop):
17583         GstBusHandler -> GstBusFunc, return value has the same meaning as
17584         any other GSource (FALSE == remove source).
17585         _add_watch() and _add_watch_full() now take a MessageType mask to
17586         only handle specific types of messages.
17587         _poll() returns the GstMessage instead of the message type to avoid
17588         race conditions.
17589         _have_pending() takes a MessageType mask now too.
17590         Added testsuite for multiple bus watches.
17591         Fix testsuites and applications for new bus API.
17592
17593 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17594
17595         * check/Makefile.am:
17596           mark a bunch of the tests as to fix until we fix them
17597
17598 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * common/check.mak:
17601           use GST_PLUGIN settings for valgrind tests as well, so we're
17602           valgrinding the correct thing
17603         * gst/gst.c: (init_post):
17604           plug another leak
17605
17606 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17607
17608         * gst/gst.c: (init_post), (gst_deinit):
17609         * gst/gstelementfactory.c: (gst_element_factory_class_init),
17610         (gst_element_factory_finalize), (gst_element_factory_cleanup):
17611         * gst/gstindex.c: (gst_index_factory_class_init),
17612         (gst_index_factory_finalize):
17613         * gst/gstobject.c: (gst_object_dispose):
17614         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
17615         (gst_plugin_load_file), (gst_plugin_desc_free):
17616         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
17617         (gst_plugin_feature_finalize):
17618         * gst/gstregistry.c: (gst_registry_class_init),
17619         (gst_registry_init), (gst_registry_finalize),
17620         (gst_registry_get_default), (gst_registry_deinit):
17621         * gst/gstregistry.h:
17622         * gst/gstregistryxml.c: (load_feature), (load_plugin):
17623           various cleanups and memleak plugging.  make valgrind is happy now.
17624
17625 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17626
17627         * common/check.mak:
17628           add a check-valgrind target
17629
17630 2005-09-18  David Schleef  <ds@schleef.org>
17631
17632         * tools/gst-inspect.c: Revert the GOption code.
17633
17634 2005-09-17  David Schleef  <ds@schleef.org>
17635
17636         * check/Makefile.am: Fix environment variables.
17637         * check/gst/gstplugin.c: Fix for API changes.
17638         * tools/gst-inspect.c: Fix for API changes.
17639         * tools/gst-xmlinspect.c: Fix for API changes.
17640         * gst/gstelementfactory.c:
17641         * gst/gstplugin.c:
17642         * gst/gstplugin.h:
17643         * gst/gstpluginfeature.c:
17644         * gst/gstpluginfeature.h:
17645         * gst/gstregistry.c:
17646         * gst/gstregistry.h:
17647         * gst/gstregistryxml.c:
17648         * gst/gsttypefind.c:
17649         * gst/gsttypefindfactory.c:
17650         * gst/indexers/gstfileindex.c:
17651         * gst/indexers/gstmemindex.c:
17652         * gst/schedulers/Makefile.am:
17653           Change registry to keep track of both plugins and features,
17654           removing the feature tracking from plugins themselves.
17655
17656 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17657
17658         * check/Makefile.am:
17659         * tools/gst-register.1.in:
17660           remove gst-register
17661
17662 2005-09-15  David Schleef  <ds@schleef.org>
17663
17664         * check/gst/gstplugin.c:
17665         * gst/gstelementfactory.c:
17666         * gst/gstplugin.c:
17667         * gst/gstpluginfeature.c:
17668         * gst/gstregistry.c:
17669           Getting tired of debugging.  Disabled all the unreffing of
17670           plugins and features, which fixes the segfaults, but of
17671           course leaks like crazy.  At least playbin works.
17672
17673 2005-09-15  David Schleef  <ds@schleef.org>
17674
17675         * check/gst/gstplugin.c: (register_check_elements),
17676         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
17677         More testing
17678         * gst/elements/gsttypefindelement.c: Fix refcounting.
17679         * gst/gsttypefind.c:
17680         * gst/gsttypefindfactory.c:
17681         * gst/gsttypefindfactory.h:
17682
17683 2005-09-15  David Schleef  <ds@schleef.org>
17684
17685         * gst/gstindex.c: get refcounting correct.
17686         * gst/gstregistry.c: Handle the case where a feature/plugin is
17687           not found.
17688
17689 2005-09-15  David Schleef  <ds@schleef.org>
17690
17691         * check/Makefile.am:
17692         * check/gst/gstplugin.c: Add test
17693         * gst/gstplugin.c: Fix problems noticed by testsuite
17694         * gst/gstplugin.h:
17695         * gst/gstregistry.c: 
17696         * gst/gstregistry.h:
17697
17698 2005-09-15  David Schleef  <ds@schleef.org>
17699
17700         * gst/gstplugin.c: Implement semi-decent recounting and locking
17701           in plugins and plugin features.
17702         * gst/gstplugin.h:
17703         * gst/gstpluginfeature.c:
17704         * gst/gstpluginfeature.h:
17705         * gst/gstregistry.c:
17706
17707 2005-09-15  Michael Smith <msmith@fluendo.com>
17708
17709         * gst/gstregistry.c: (gst_registry_get_feature_list):
17710           Implement this. Makes oggdemux work; decodebin still broken.
17711
17712 2005-09-14  David Schleef  <ds@schleef.org>
17713
17714         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
17715           #316076)
17716         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
17717         * gst/check/Makefile.am:
17718         * libs/gst/controller/Makefile.am:
17719         * libs/gst/dataprotocol/Makefile.am:
17720
17721 2005-09-14  David Schleef  <ds@schleef.org>
17722
17723         * configure.ac: Remove getbits library.  Nothing uses it, and
17724           it should be in something like liboil if someone did want
17725           to use it.
17726         * libs/gst/Makefile.am:
17727         * libs/gst/getbits/Makefile.am:
17728         * libs/gst/getbits/gbtest.c:
17729         * libs/gst/getbits/getbits.c:
17730         * libs/gst/getbits/getbits.h:
17731         * libs/gst/getbits/gstgetbits_generic.c:
17732         * libs/gst/getbits/gstgetbits_i386.s:
17733         * libs/gst/getbits/gstgetbits_inl.h:
17734
17735 2005-09-14  David Schleef  <ds@schleef.org>
17736
17737         * gst/Makefile.am: Dist glib-compat.h
17738
17739 2005-09-14  David Schleef  <ds@schleef.org>
17740
17741         * configure.ac: Remove gst/registries, since it's no longer used.
17742         * gst/registries/Makefile.am:
17743         * gst/registries/gstlibxmlregistry.c:
17744         * gst/registries/gstlibxmlregistry.h:
17745         * gst/registries/gstxmlregistry.c:
17746         * gst/registries/gstxmlregistry.h:
17747         * gst/registries/registrytest.c:
17748
17749 2005-09-14  David Schleef  <ds@schleef.org>
17750
17751         * gst/glib-compat.h:
17752         * gst/gstregistryxml.c:
17753           Convergence is near.  Seriously.
17754
17755 2005-09-14  David Schleef  <ds@schleef.org>
17756
17757         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17758         * gst/glib-compat.h:
17759           Attempt #4 to appease the buildbots.
17760
17761 2005-09-14  David Schleef  <ds@schleef.org>
17762
17763         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17764           Attempt #3.
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         Attempt #2.
17770
17771 2005-09-14  David Schleef  <ds@schleef.org>
17772
17773         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
17774           the new functions.
17775
17776 2005-09-14  David Schleef  <ds@schleef.org>
17777
17778         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17779         * gst/glib-compat.h: Add some functions that are in newer versions
17780           of glib than we care to require.
17781         * gst/gstregistryxml.c: Use them.
17782
17783 2005-09-14  David Schleef  <ds@schleef.org>
17784
17785         * po/POTFILES.in: remove gst-register.c
17786
17787 2005-09-14  David Schleef  <ds@schleef.org>
17788
17789         * docs/gst/gstreamer-docs.sgml:
17790         * docs/gst/gstreamer-sections.txt:
17791         * docs/gst/gstreamer.types:
17792         * docs/gst/tmpl/gstelement.sgml:
17793         * docs/gst/tmpl/gstplugin.sgml:
17794         * docs/gst/tmpl/gstpluginfeature.sgml:
17795           Documentation updates for registry changes.
17796
17797 2005-09-14  David Schleef  <ds@schleef.org>
17798
17799         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
17800           because we don't require glib-2.8.
17801
17802 2005-09-14  David Schleef  <ds@schleef.org>
17803
17804         * gst/gstregistryxml.c: Added.  Essentially moved out of the
17805           registries directory.
17806
17807 2005-09-14  David Schleef  <ds@schleef.org>
17808
17809         * check/Makefile.am:
17810         * check/generic/states.c:
17811         * gst/Makefile.am:
17812         * gst/gst.c:
17813         * gst/gst.h:
17814         * gst/gst_private.h:
17815         * gst/gstelementfactory.c:
17816         * gst/gstindex.c:
17817         * gst/gstinfo.c:
17818         * gst/gstplugin.c:
17819         * gst/gstplugin.h:
17820         * gst/gstpluginfeature.c:
17821         * gst/gstpluginfeature.h:
17822         * gst/gstregistry.c:
17823         * gst/gstregistry.h:
17824         * gst/gstregistrypool.c: remove
17825         * gst/gstregistrypool.h: remove
17826         * gst/gsttypefind.c:
17827         * gst/gsttypefindfactory.c:
17828         * gst/gsturi.c:
17829         * tools/Makefile.am:
17830         * tools/gst-compprep.c:
17831         * tools/gst-inspect.c:
17832         * tools/gst-register.c: remove
17833         * tools/gst-xmlinspect.c:
17834           Registry rewrite.  Changes registry from being a file created
17835           by a tool into a simple cache file created automatically by 
17836           libgstreamer.  Removed gst-register (because it's no longer
17837           needed).  Remove registry pools, because we only have one
17838           registry implementation (XML).  Fix up other subsystems as
17839           necessary.
17840
17841 2005-09-13  Michael Smith <msmith@fluendo.com>
17842
17843         * gst/gstconfig.h.in:
17844           Don't Use windows linking attributes for MinGW. Fixes #316157
17845
17846 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17847
17848         * gst/gstutils.c: (set_state_async_thread_func),
17849         (gst_element_set_state_async):
17850           Apparently people think it's better if this function doesn't
17851           try to set the state to whatever state was asked for on the first
17852           call to this function for any object.  Seriously.
17853
17854 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17855
17856         * check/gst/gstpipeline.c: (GST_START_TEST):
17857         * docs/gst/gstreamer-sections.txt:
17858         * gst/gstutils.c: (set_state_async_thread_func),
17859         (gst_element_set_state_async):
17860         * gst/gstutils.h:
17861           add a "gst_element_set_state_async" method that
17862           sets the state and starts a thread to make sure the state
17863           change completes as best as it can
17864
17865 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17866
17867         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17868           codify design+behaviour in testsuite after discussion
17869
17870 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17871
17872         * docs/gst/tmpl/gstelement.sgml:
17873         * docs/manual/appendix-quotes.xml:
17874           add a quote
17875         * gst/gstelement.c: (gst_element_set_state):
17876           add some debug
17877
17878 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
17879
17880         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17881         (gst_base_transform_prepare_output_buf),
17882         (gst_base_transform_handle_buffer):
17883         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
17884         (gst_capsfilter_prepare_buf):
17885           Remove the requirement for sub-classes to call the parent
17886           implementation of prepare_output_buffer with a wrapper function.
17887           
17888         * gst/gsttaglist.h:
17889         * gst/gsttagsetter.h:
17890           Fix #define wrapper
17891
17892 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
17893
17894         * docs/gst/gstreamer-sections.txt:
17895           more doc cleanups
17896
17897 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17898
17899         * docs/gst/gstreamer-sections.txt:
17900         * docs/gst/tmpl/gstelement.sgml:
17901         * docs/gst/tmpl/gstplugin.sgml:
17902         * gst/gstminiobject.c:
17903         * gst/gstvalue.h:
17904           docs now stop throwing warnings
17905
17906 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17907
17908         * docs/gst/gstreamer-sections.txt:
17909         * docs/gst/gstreamer.types:
17910         * docs/gst/tmpl/gstpad.sgml:
17911         * docs/gst/tmpl/gsttypes.sgml:
17912         * gst/base/gstadapter.h:
17913         * gst/base/gstbasesink.h:
17914         * gst/base/gstbasesrc.h:
17915         * gst/gstbin.h:
17916         * gst/gstbuffer.h:
17917         * gst/gstbus.h:
17918         * gst/gstcaps.h:
17919         * gst/gstclock.h:
17920         * gst/gstelement.h:
17921         * gst/gstevent.h:
17922         * gst/gstmessage.h:
17923         * gst/gstpad.h:
17924         * gst/gststructure.c:
17925         * gst/registries/gstlibxmlregistry.h:
17926           various documentation fixes
17927
17928 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17929
17930         * docs/gst/gstreamer-sections.txt:
17931         * docs/gst/tmpl/gstvalue.sgml:
17932           rearrange gstvalue section
17933         * gst/gstutils.c: (gst_element_state_get_name):
17934           NONE -> VOID
17935         * gst/gstvalue.c: (_gst_value_initialize):
17936         * gst/gstvalue.h:
17937           doc updates
17938
17939 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
17940
17941         * check/gst-libs/controller.c:
17942           Header include fix.
17943         * gst/base/gstbasetransform.c:
17944         (gst_base_transform_default_prepare_buf),
17945         (gst_base_transform_handle_buffer):
17946         * gst/base/gstbasetransform.h:
17947           Some more basetransform changes and fixes to enable sub-classes
17948           that modify buffer metadata only.
17949         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17950         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
17951         (gst_capsfilter_prepare_buf):
17952           If the output pad has fixed allowed caps and input buffers 
17953           don't have any, set the fixed caps on outgoing buffers.
17954
17955 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
17956         * check/elements/identity.c: (GST_START_TEST):
17957           Make the error a little clearer when the test fails because
17958           identity made a copy of the buffer.
17959         * docs/gst/gstreamer-sections.txt:
17960           New symbols in gstbasetransform.h
17961         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17962         (gst_base_transform_init), (gst_base_transform_transform_size),
17963         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17964         (gst_base_transform_default_prepare_buf),
17965         (gst_base_transform_get_unit_size),
17966         (gst_base_transform_buffer_alloc),
17967         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
17968         (gst_base_transform_change_state),
17969         (gst_base_transform_set_passthrough),
17970         (gst_base_transform_set_in_place),
17971         (gst_base_transform_is_in_place):
17972         * gst/base/gstbasetransform.h:
17973           Change BaseTransform to separate in_place operate from same_caps
17974           output. in_place implies that the element can perform the transform
17975           on incoming buffers in-place, even if the caps on the output are
17976           different.
17977           Sub-class elements can now implement special buffer allocation
17978           methods for outgoing buffers if they wish to.
17979           Big documentation addition.
17980         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
17981         * gst/elements/gstelements.c:
17982           Changes for basetransform modifications.
17983         * gst/elements/Makefile.am:
17984         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
17985           Compile fix. Extra debug output.
17986
17987 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17988
17989         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
17990         (gst_pad_suite):
17991           add tests for valid pad naming
17992         * gst/check/gstcheck.c: (gst_check_log_message_func),
17993         (gst_check_log_critical_func):
17994           add ASSERT_WARNING
17995           remove printing of code, it is fragile when the code contains
17996           % and the line number is enough info
17997         * gst/check/gstcheck.h:
17998         * gst/gstpad.c: (gst_pad_template_new):
17999           fix memleaks
18000
18001 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18002
18003         * configure.ac:
18004           say what CHECK flags we use
18005         * docs/libs/gstreamer-libs.types:
18006         * libs/gst/controller/Makefile.am:
18007         * libs/gst/controller/gst-controller.c:
18008         * libs/gst/controller/gst-controller.h:
18009         * libs/gst/controller/gst-helper.c:
18010         * libs/gst/controller/gst-interpolation.c:
18011         * libs/gst/controller/gstcontroller.c:
18012         * libs/gst/controller/gsthelper.c:
18013         * libs/gst/controller/gstinterpolation.c:
18014         * tools/gst-inspect.c: (print_plugin_info):
18015           we don't use dashes in header names
18016
18017 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18018
18019         * check/Makefile.am:
18020         * check/gst/.cvsignore:
18021         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
18022         (gst_pipeline_suite), (main):
18023           adding a test for pipelines and state changes
18024         * gst/gstutils.c: (get_state_func):
18025           add some debugging
18026         * gstreamer.spec.in:
18027           fix up spec file
18028
18029 2005-09-08  Michael Smith <msmith@fluendo.com>
18030
18031         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
18032         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
18033         (gst_file_src_is_seekable), (gst_file_src_get_size),
18034         (gst_file_src_start):
18035         * gst/elements/gstfilesrc.h:
18036           Various fixes for unseekable, unmmapable, and non-normal files, so
18037           that fallback to read() rather than mmap() works.
18038         * gst/gstevent.c: (gst_event_new_newsegment):
18039           Allow newsegment events with segment_start == segment_end, as will
18040           correctly happen if you use filesrc on a zero-size file, for
18041           example.
18042
18043 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18044
18045         * gst/gstplugin.c: (gst_plugin_load_file):
18046           Call g_module_close when we don't load the module
18047
18048         * gst/registries/gstlibxmlregistry.c:
18049         (gst_xml_registry_get_property):
18050           Port leak fix from 0.8
18051
18052 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18053
18054         * docs/gst/gstreamer-docs.sgml:
18055         * docs/gst/tmpl/.cvsignore:
18056         * docs/gst/tmpl/gsttrace.sgml:
18057         * docs/gst/tmpl/gsttrashstack.sgml:
18058         * gst/Makefile.am:
18059         * gst/gst.h:
18060         * gst/gstelement.h:
18061         * gst/gstevent.h:
18062         * gst/gstmessage.c:
18063         * gst/gstmessage.h:
18064         * gst/gsttag.c:
18065         * gst/gsttag.h:
18066         * gst/gsttaginterface.c:
18067         * gst/gsttaginterface.h:
18068         * gst/gsttaglist.c:
18069         * gst/gsttaglist.h:
18070         * gst/gsttagsetter.c:
18071         * gst/gsttagsetter.h:
18072         * gst/gsttrace.c:
18073         * gst/gsttrace.h:
18074         * gst/gsttrashstack.c:
18075           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
18076           inlined docs for gsttrace, gsttrashstack
18077
18078 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18079
18080         * gst/Makefile.am:
18081         * gst/elements/gstbufferstore.h:
18082         * gst/elements/gsttypefindelement.c:
18083         * gst/elements/gsttypefindelement.h:
18084         * gst/gst.h:
18085         * gst/gsttypefind.c:
18086         * gst/gsttypefind.h:
18087         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
18088         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
18089         (gst_type_find_factory_dispose),
18090         (gst_type_find_factory_unload_thyself),
18091         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
18092         (gst_type_find_factory_get_caps),
18093         (gst_type_find_factory_get_extensions),
18094         (gst_type_find_factory_call_function):
18095         * gst/gsttypefindfactory.h:
18096         * gst/registries/gstlibxmlregistry.c:
18097         * gst/registries/gstxmlregistry.c:
18098           splitted gsttypefind into gsttypefind, gsttypefindfactory
18099
18100 2005-09-07  Andy Wingo  <wingo@pobox.com>
18101
18102         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
18103         condition whereby the pad's task function is entered before the
18104         pad_mode variable was set.
18105
18106 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18107
18108         * gst/gstpad.c: (gst_pad_alloc_buffer):
18109           Catch misbehaving pad_alloc functions that don't
18110           set up caps and do it for them.
18111
18112 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18113
18114         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18115           test for pipe!=NULL
18116         * docs/gst/tmpl/.cvsignore:
18117         * docs/gst/tmpl/gstmemchunk.sgml:
18118         * docs/gst/tmpl/gstparse.sgml:
18119         * docs/gst/tmpl/gsttaglist.sgml:
18120         * docs/gst/tmpl/gsttagsetter.sgml:
18121         * docs/gst/tmpl/gsttypefind.sgml:
18122         * docs/gst/tmpl/gsttypefindfactory.sgml:
18123         * gst/gstmemchunk.c:
18124         * gst/gstparse.c:
18125         * gst/gsttag.c:
18126         * gst/gsttaginterface.c:
18127         * gst/gsttypefind.c:
18128         * gst/gsttypefind.h:
18129           inlined more docs
18130
18131 === release 0.9.2 ===
18132
18133 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18134
18135         * NEWS:
18136         * RELEASE:
18137         * configure.ac:
18138           releasing 0.9.2, "South"
18139
18140 2005-09-05  Andy Wingo  <wingo@pobox.com>
18141
18142         * gst/registries/gstxmlregistry.h:
18143         * gst/registries/gstxmlregistry.c: Um... resurrect...
18144         
18145         * gst/registries/gstxmlregistry.h:
18146         * gst/registries/gstxmlregistry.c: and update to newer API.
18147         Incidentally they should be a bit faster now that they don't have
18148         to parse the caps.
18149         
18150 2005-09-05  Andy Wingo  <wingo@pobox.com>
18151
18152         * gst/registries/gstxmlregistry.h:
18153         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
18154         replaced by the libxml registry a while back
18155
18156 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18157
18158         * docs/gst/tmpl/gstplugin.sgml:
18159         * gst/elements/gstelements.c:
18160         * gst/gst.c:
18161         * gst/gstplugin.c: (gst_plugin_register_func),
18162         (gst_plugin_desc_copy), (gst_plugin_desc_free),
18163         (gst_plugin_get_source):
18164         * gst/gstplugin.h:
18165         * gst/registries/gstlibxmlregistry.c: (load_plugin),
18166         (gst_xml_registry_save_plugin):
18167         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
18168         (gst_xml_registry_save_plugin):
18169         * tools/gst-inspect.c: (print_plugin_info):
18170           add a "source" plugin description field, to represent the source
18171           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
18172           will set it to PACKAGE, which is automake's idea of the name of
18173           the source project.
18174
18175 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18176
18177         * Makefile.am:
18178         * autogen.sh:
18179         * configure.ac:
18180         * docs/Makefile.am:
18181         * docs/faq/Makefile.am:
18182         * docs/gst/tmpl/gstelement.sgml:
18183         * docs/gst/tmpl/gsttypes.sgml:
18184         * docs/htmlinstall.mak:
18185         * docs/manual/Makefile.am:
18186         * docs/pwg/Makefile.am:
18187           reorganize doc build a little
18188           split out docbook and gtk-doc stuff
18189           have two separate --enable's and enable them through autogen
18190           but disable by default in configure (to be similar to other
18191           projects)
18192         * gstreamer.spec.in:
18193           clean up docs install
18194         * po/af.po:
18195         * po/az.po:
18196         * po/ca.po:
18197         * po/cs.po:
18198         * po/de.po:
18199         * po/en_GB.po:
18200         * po/fr.po:
18201         * po/it.po:
18202         * po/nb.po:
18203         * po/nl.po:
18204         * po/ru.po:
18205         * po/sq.po:
18206         * po/sr.po:
18207         * po/sv.po:
18208         * po/tr.po:
18209         * po/uk.po:
18210         * po/vi.po:
18211           translation updates
18212
18213 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
18214
18215         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
18216           Add comment.
18217           
18218         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18219         (gst_fake_sink_change_state):
18220           Make state change function thread-safe.
18221           
18222         * gst/gstpad.c: (gst_pad_alloc_buffer):
18223           Set offset on generic buffer allocated by fallback.
18224
18225 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
18226
18227         * docs/gst/gstreamer-sections.txt:
18228         * docs/gst/tmpl/gstelement.sgml:
18229         * gst/gstpad.c:
18230         * libs/gst/controller/gst-controller.c:
18231         (gst_controlled_property_set_interpolation_mode),
18232         (gst_controlled_property_new),
18233         (gst_controller_find_controlled_property):
18234          run the wingo-magic script against the docs
18235
18236 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18237
18238         * docs/gst/gstreamer-docs.sgml:
18239         * docs/gst/gstreamer-sections.txt:
18240         * docs/gst/tmpl/.cvsignore:
18241         * docs/gst/tmpl/gstelementdetails.sgml:
18242         * docs/gst/tmpl/gstelementfactory.sgml:
18243         * gst/gst.c:
18244         * gst/gstbus.c:
18245         * gst/gstelementfactory.c:
18246         * gst/gstelementfactory.h:
18247           merged elementdetails docs into elementfactory docs
18248           inlined both
18249
18250 2005-09-02  Andy Wingo  <wingo@pobox.com>
18251
18252         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
18253         consider this enum an enum and not a flags.
18254
18255 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18256
18257         * docs/gst/gstreamer-docs.sgml:
18258         * docs/gst/tmpl/.cvsignore:
18259         * docs/gst/tmpl/gstghostpad.sgml:
18260         * docs/gst/tmpl/gstiterator.sgml:
18261         * docs/gst/tmpl/gstmacros.sgml:
18262         * docs/gst/tmpl/gstrealpad.sgml:
18263         * docs/gst/tmpl/gstregistry.sgml:
18264         * docs/gst/tmpl/gstregistrypool.sgml:
18265         * docs/gst/tmpl/gststructure.sgml:
18266         * docs/gst/tmpl/gstsystemclock.sgml:
18267         * docs/gst/tmpl/gsttrace.sgml:
18268         * gst/gstghostpad.c:
18269         * gst/gstmacros.h:
18270         * gst/gstmemchunk.c:
18271         * gst/gstmemchunk.h:
18272         * gst/gstqueue.c:
18273         * gst/gstregistry.c:
18274         * gst/gstregistrypool.c:
18275         * gst/gststructure.c:
18276         * gst/gstsystemclock.c:
18277           more docs inlined
18278
18279 2005-09-02  Andy Wingo  <wingo@pobox.com>
18280
18281         * gst/gstelement.h (GstState): Renamed from GstElementState,
18282         changed to be a normal enum instead of flags.
18283         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
18284         munged to be GST_STATE_CHANGE_*.
18285         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
18286         work with the new state representation.
18287         (GstStateChange): New enumeration of possible state transitions.
18288         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
18289         (GstElementClass::change_state): Pass the GstStateChange along as
18290         an argument. Helps language bindings, so they don't have to use
18291         tricky lock-needing macros like GST_STATE_CHANGE ().
18292
18293         * scripts/update-states (file): New script. Run it on a file to
18294         update it for state naming and API changes. Updates files in
18295         place.
18296
18297         * All files updated for the new API.
18298
18299 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18300
18301         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
18302         * gst/gstutils.c: (gst_util_set_value_from_string),
18303         (gst_util_set_object_arg):
18304           fix a bunch of unchecked return values
18305         * tools/gst-complete.c: (main):
18306         * gstreamer.spec.in:
18307           clean up a little
18308
18309 2005-09-01  Wim Taymans  <wim@fluendo.com>
18310
18311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18312         (gst_base_sink_event), (gst_base_sink_do_sync),
18313         (gst_base_sink_handle_event):
18314         * gst/base/gstbasesink.h:
18315         Handle newsegments more correctly.
18316
18317         * gst/gstbus.c:
18318         Fix docs.
18319
18320         * gst/gstevent.c: (gst_event_new_newsegment):
18321         A newsegment cannot have a start_time of -1
18322
18323 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
18324
18325         * win32/gstenumtypes.c:
18326         * win32/gstenumtypes.h:
18327           Update
18328
18329 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18330
18331         * libs/gst/controller/gst-controller.c:
18332         (gst_controlled_property_set_interpolation_mode),
18333         (gst_controlled_property_new):
18334          fixed boolean again
18335
18336 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
18337
18338         * docs/faq/gst-uninstalled:
18339           add -good
18340         * gst/gstevent.c:
18341         * gst/gstevent.h:
18342           remove wrong docs
18343         * gst/gstutils.c: (gst_element_link_filtered):
18344         * gst/gstutils.h:
18345           add gst_element_link_filtered
18346
18347 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18348
18349         * docs/gst/gstreamer-docs.sgml:
18350         * docs/gst/gstreamer-sections.txt:
18351         * docs/gst/tmpl/.cvsignore:
18352         * docs/gst/tmpl/gsterror.sgml:
18353         * docs/gst/tmpl/gstfilter.sgml:
18354         * docs/gst/tmpl/gsturihandler.sgml:
18355         * docs/gst/tmpl/gsturitype.sgml:
18356         * docs/gst/tmpl/gstutils.sgml:
18357         * docs/gst/tmpl/gstxml.sgml:
18358         * gst/gsterror.c:
18359         * gst/gsterror.h:
18360         * gst/gstfilter.c:
18361         * gst/gsturi.c:
18362         * gst/gsturitype.c:
18363         * gst/gstutils.c:
18364         * gst/gstxml.c:
18365           inlined more docs, fixed double id-ref
18366
18367 2005-08-31  Wim Taymans  <wim@fluendo.com>
18368
18369         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18370         (gst_base_transform_handle_buffer):
18371         Passthrough elements don't need the caps as they don't care.
18372
18373 2005-08-31  Wim Taymans  <wim@fluendo.com>
18374
18375         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18376         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
18377         Don't leak refcounts on buffers.
18378
18379 2005-08-31  Wim Taymans  <wim@fluendo.com>
18380
18381         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
18382         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18383         (gst_base_transform_chain), (gst_base_transform_change_state):
18384         * gst/base/gstbasetransform.h:
18385         Handle the case where we are not negotiated more gracefully.
18386
18387 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
18388
18389         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
18390         (gst_file_src_map_region):
18391           Set READONLY flag on mmap'ed buffers, otherwise
18392           gst_buffer_make_writable() won't work properly (#314708).
18393
18394 2005-08-31  Wim Taymans  <wim@fluendo.com>
18395
18396         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
18397         passthrough elements can even do inplace on non writable
18398         buffers (as they don't touch them).
18399
18400 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18401
18402         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18403         (gst_test_mono_source_set_property),
18404         (gst_test_mono_source_class_init), (GST_START_TEST),
18405         (gst_controller_suite):
18406           more tests (hehe I have the most)
18407         * gst/gstbus.c:
18408           describe popping messages whenusing mulltiple sources
18409         * libs/gst/controller/gst-controller.c:
18410         (gst_controlled_property_set_interpolation_mode),
18411         (gst_controlled_property_new):
18412         * libs/gst/controller/gst-controller.h:
18413         * libs/gst/controller/gst-interpolation.c:
18414           implement boolean properties
18415
18416 2005-08-31  Wim Taymans  <wim@fluendo.com>
18417
18418         * gst/gstminiobject.c: (gst_mini_object_ref):
18419         Cannot assert that the refcount has to be positive
18420         since a disposed object can be resurrected.
18421
18422 2005-08-31  Wim Taymans  <wim@fluendo.com>
18423
18424         * gst/gstpad.c: (gst_pad_init):
18425         Revert change, need to first fix badly behaving 
18426         apps.
18427
18428 2005-08-30  Wim Taymans  <wim@fluendo.com>
18429
18430         * check/elements/fakesrc.c: (setup_fakesrc):
18431         * check/elements/identity.c: (setup_identity):
18432         Activate pads before using them.
18433
18434 2005-08-30  Wim Taymans  <wim@fluendo.com>
18435
18436         * gst/base/gstadapter.c: (gst_adapter_flush):
18437         Flushing out 0 bytes is ok for this function.
18438
18439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18440         no newsegment gives a warning and sets the start/stop to 
18441         invalid.
18442
18443         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
18444         (gst_base_transform_set_passthrough):
18445         Some debug info.
18446
18447         * gst/gstminiobject.c: (gst_mini_object_ref):
18448         Check refcount here too.
18449
18450         * gst/gstpad.c: (gst_pad_init):
18451         Pads are initially flushing and refusing data.
18452
18453         * gst/gstutils.c: (gst_element_link_pads_filtered):
18454         When adding a capsfilter element make sure it has the
18455         same state as the parent bin.
18456
18457 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18458
18459         * docs/gst/tmpl/.cvsignore:
18460         * docs/gst/tmpl/gstformat.sgml:
18461         * docs/gst/tmpl/gstversion.sgml:
18462         * gst/gstbus.h:
18463         * gst/gstformat.c:
18464         * gst/gstformat.h:
18465         * gst/gstversion.h.in:
18466           more docs and two more inlined
18467
18468 2005-08-30  Wim Taymans  <wim@fluendo.com>
18469
18470         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
18471         Don't sync to clock.
18472
18473 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18474
18475         * docs/gst/gstreamer-sections.txt:
18476           ultral33t func10ns deserve to appear in the docs actually
18477         * docs/gst/tmpl/.cvsignore:
18478         * docs/gst/tmpl/gstcompat.sgml:
18479         * docs/gst/tmpl/gstconfig.sgml:
18480         * gst/check/gstcheck.c:
18481         * gst/gstcompat.h:
18482         * gst/gstconfig.h.in:
18483           inlined more docs
18484
18485 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18486
18487         * docs/gst/tmpl/.cvsignore:
18488         * docs/gst/tmpl/gstquery.sgml:
18489         * docs/gst/tmpl/gstutils.sgml:
18490         * gst/gstquery.c:
18491         * gst/gstquery.h:
18492           inlined and extended docs
18493
18494 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18495
18496         * check/gst-libs/controller.c: (GST_START_TEST),
18497         (gst_controller_suite):
18498           more tests
18499         * docs/gst/tmpl/gstutils.sgml:
18500         * docs/libs/gstreamer-libs-sections.txt:
18501         * docs/libs/tmpl/gstdataprotocol.sgml:
18502           include path fixes
18503         * examples/controller/audio-example.c: (main):
18504           controller example works now
18505         * gst/gstclock.h:
18506           doc fixes
18507         * tools/gst-inspect.c: (print_element_properties_info):
18508           show param spec flags
18509
18510 2005-08-29  Andy Wingo  <wingo@pobox.com>
18511
18512         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
18513
18514 2005-08-28  Andy Wingo  <wingo@pobox.com>
18515
18516         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
18517         as having two arguments instead of just one. Allows superclasses
18518         to access information on subclasses -- see the terrible for() loop
18519         in gtype.c:g_type_create_instance for the reason why. All callers
18520         changed.
18521
18522 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18523
18524         * docs/design/part-messages.txt:
18525           update info
18526         * docs/gst/tmpl/.cvsignore:
18527         * docs/gst/tmpl/gstcaps.sgml:
18528         * docs/gst/tmpl/gstclock.sgml:
18529         * gst/gstbus.c:
18530         * gst/gstcaps.c:
18531         * gst/gstcaps.h:
18532         * gst/gstclock.c:
18533         * gst/gstclock.h:
18534         * gst/gstmessage.c:
18535           added descriptions for bus and message
18536           inline caps and clock docs
18537
18538 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18539
18540         * gst/gstmessage.c:
18541         * gst/gstmessage.h:
18542           doc fixes
18543
18544 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18545
18546         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18547           fix div-by-zero
18548
18549 2005-08-26  Andy Wingo  <wingo@pobox.com>
18550
18551         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
18552         element_set_state's return val.
18553         (test_2_elements): Add test that's been disabled for months.
18554
18555         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
18556         can-activate-pull properties.
18557
18558         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
18559         can-activate-pull properties. Implement is_seekable so fakesrc can
18560         operate in pull mode.
18561
18562         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
18563         properties.
18564         (gst_base_sink_activate, gst_base_sink_activate_pull)
18565         (gst_base_sink_activate_push): Make activation mode choosing work.
18566         Cleanups.
18567         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
18568         is right. Make pull mode work. Post an eos before pausing in pull
18569         mode.
18570         (gst_base_sink_change_state): Pay attention to the core's
18571         change_state() return val.
18572         
18573         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
18574         has-getrange properties. Cleanups.
18575         
18576         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
18577         has_getrange and replace with can_activate_pull and
18578         can_activate_push.
18579
18580         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
18581         locking comments. Remove has_loop, has_chain and replace with
18582         can_activate_pull and can_activate_push.
18583
18584 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
18585
18586         * configure.ac:
18587         * examples/Makefile.am:
18588         * examples/metadata/Makefile.am:
18589         * examples/metadata/read-metadata.c: (message_loop),
18590         (have_pad_handler), (make_pipeline), (print_tag), (main):
18591           Add metadata reading example that loops over a list of filenames,
18592           dumping any tags found.
18593
18594         * gst/gstbus.c: (gst_bus_dispose):
18595         * gst/gstelement.c: (gst_element_dispose):
18596           Release a few potentially-held references in dispose.
18597
18598 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18599
18600         * docs/gst/tmpl/gstminiobject.sgml:
18601           do *not* add tmpl/*.sgml files to CVS!
18602
18603 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18604
18605         * libs/gst/bytestream/.cvsignore:
18606         * libs/gst/bytestream/Makefile.am:
18607         * libs/gst/bytestream/adapter.c:
18608         * libs/gst/bytestream/adapter.h:
18609         * libs/gst/bytestream/bytestream.c:
18610         * libs/gst/bytestream/bytestream.h:
18611         * libs/gst/bytestream/filepad.c:
18612         * libs/gst/bytestream/filepad.h:
18613           removing obsolete files
18614
18615 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18616
18617         * docs/gst/gstreamer-docs.sgml:
18618         * docs/libs/gstreamer-libs-docs.sgml:
18619           disabed additional index entries again, as this makes docs-gen just
18620           slow and they aren't useful yet
18621         * docs/libs/gstreamer-libs-sections.txt:
18622           little -section.txt cleanup for libs
18623
18624 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18625
18626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18627         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
18628           fix up some debugging
18629         (gst_base_transform_get_unit_size),
18630         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18631         (gst_base_transform_handle_buffer):
18632         * gst/base/gstbasetransform.h:
18633           handle and store timed NEWSEGMENT events so that subclasses that
18634           calculate time by counting samples have a segment_start time they
18635           need to add to their timestamps - see audioresample
18636
18637 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18638
18639         * gst/gstbin.h:
18640           removed ';' from the end of macro defs
18641         * docs/gst/gstreamer-docs.sgml:
18642         * docs/gst/gstreamer-sections.txt:
18643         * docs/gst/tmpl/.cvsignore:
18644         * gst/gstbus.h:
18645         * gst/gstelement.c: (gst_element_class_init),
18646         (gst_element_set_state), (activate_pads),
18647         (gst_element_save_thyself):
18648         * gst/gstevent.c: (gst_event_new_newsegment):
18649         * gst/gstevent.h:
18650         * gst/gstiterator.c:
18651         * gst/gstiterator.h:
18652         * gst/gstpad.c:
18653         * gst/gstprobe.h:
18654         * gst/gstutils.c: (gst_pad_query_convert):
18655         * gst/gstutils.h:
18656           fixed parameter name mismatches between source, header and docs
18657           added some more docs, resolved the last batch of unused elements in
18658           docs (now someone needs to doc them)
18659
18660 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18661
18662         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
18663         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
18664           don't walk through the plugins backwards.  Where is all this
18665           reversed logic coming from ?
18666
18667 2005-08-25  Wim Taymans  <wim@fluendo.com>
18668
18669         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18670         (gst_base_transform_transform_size),
18671         (gst_base_transform_configure_caps),
18672         (gst_base_transform_get_unit_size),
18673         (gst_base_transform_buffer_alloc),
18674         (gst_base_transform_change_state):
18675         * gst/base/gstbasetransform.h:
18676         Cache caps unit_size.
18677         Make sure we cannot negotiate up and downstream at the
18678         same time.
18679
18680 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18681
18682         * gst/gst.c: (init_pre), (init_post):
18683           register the installed plugin path after the env var
18684         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
18685         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
18686           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
18687           directories, so the tests can prefer uninstalled over installed
18688
18689 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18690
18691         * gst/base/gstbasetransform.h:
18692           comment
18693         * gst/gstpad.c:
18694           add to docs
18695
18696 2005-08-25  Wim Taymans  <wim@fluendo.com>
18697
18698         * gst/gstbin.c: (bin_bus_handler):
18699         Be a bit more conservative about the posted message.
18700         
18701         * gst/gstbus.c: (gst_bus_post):
18702         Some cleanups, warn wrong return values.
18703
18704 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
18705
18706         * check/gst/gstbin.c: (GST_START_TEST):
18707         * gst/gstbin.c: (bin_bus_handler):
18708         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18709         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18710         (gst_message_new_warning), (gst_message_new_tag),
18711         (gst_message_new_state_changed), (gst_message_new_segment_start),
18712         (gst_message_new_segment_done), (gst_message_new_custom):
18713         * gst/gstmessage.h:
18714         * tools/gst-launch.c: (event_loop):
18715         * tools/gst-md5sum.c: (event_loop):
18716           Revert unpopular change for GST_MESSAGE_SRC to GObject.
18717
18718 2005-08-25  Wim Taymans  <wim@fluendo.com>
18719
18720         * check/generic/states.c: (GST_START_TEST):
18721         Cleanup can be done at the end.
18722
18723         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
18724         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18725         (gst_task_get_state), (gst_task_start), (gst_task_pause):
18726         Oh boy.. Thanks for finding this, Thomas. 
18727
18728 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18729
18730         * docs/gst/gstreamer.types:
18731           added missing types
18732
18733 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18734
18735         * docs/gst/gstreamer-docs.sgml:
18736         * docs/gst/gstreamer-sections.txt:
18737         * docs/gst/tmpl/.cvsignore:
18738         * gst/gstbin.c:
18739         * gst/gstiterator.c:
18740         * gst/gstutils.c:
18741         * gst/registries/gstxmlregistry.h:
18742           added missing classes and symbols (123 more to go)
18743           removed removed symbols from section file
18744           fixed many doc-comments
18745
18746 2005-08-24  Wim Taymans  <wim@fluendo.com>
18747
18748         * check/generic/states.c: (GST_START_TEST):
18749         Make sure all tasks are stopped.
18750
18751         * check/gst/gstbin.c: (GST_START_TEST):
18752         Unref after usage for proper valgrinding.
18753
18754         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
18755         Really wait for the task to stop before destroying the
18756         mutex.
18757
18758         * gst/gstqueue.c: (gst_queue_sink_activate_push),
18759         (gst_queue_src_activate_push):
18760         Small cleanups. Don't stop the task when we did not start
18761         it.
18762
18763         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
18764         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18765         (gst_task_get_state), (gst_task_start), (gst_task_pause),
18766         (gst_task_join):
18767         * gst/gsttask.h:
18768         Protect the stream lock with the object lock.
18769         Disallow setting the stream lock when running.
18770         Add cleanup_all to wait for the threadpool to finish.
18771         Remove code to autoallocate a mutex if none was provided.
18772         Add _join() to wait for a task to stop.
18773         Protect the thread pool with a global lock.
18774
18775 2005-08-24  Wim Taymans  <wim@fluendo.com>
18776
18777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18778         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18779         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
18780         * gst/base/gstbasesink.h:
18781         Handle newsegment events correctly.
18782         Drop buffers out of the segment range.
18783
18784 2005-08-22  Andy Wingo  <wingo@pobox.com>
18785
18786         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
18787         macro, implements an interface and gstimplementsinterface for a
18788         new type.
18789
18790 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18791
18792         * check/Makefile.am:
18793         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
18794           add a test that does a bunch of state changes on elements
18795           needs some fixing for valgrind
18796         * check/states/sinks.c: (gst_object_suite):
18797           whitespace
18798         * gst/gstcaps.h:
18799           add prototype for gst_caps_is_equal_fixed
18800         * gst/gstplugin.c:
18801         * gst/gstregistrypool.c:
18802           doc fixes
18803
18804 2005-08-24  Andy Wingo  <wingo@pobox.com>
18805
18806         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
18807         convert a negative value. Doesn't make much sense. Mostly this is
18808         here to force callers to ensure -1 maps to -1.
18809
18810 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18811
18812         * docs/pwg/advanced-types.xml:
18813           Well done to Michael for catching my deliberate introduction
18814           of this spelling mistake. 
18815         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
18816         * gst/gstelement.h:
18817           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
18818           unlink pads before removing the element from the bin.
18819
18820 2005-08-24  Andy Wingo  <wingo@pobox.com>
18821
18822         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
18823         the same thing as GST_DEBUG=*:4.
18824         (parse_debug_level, parse_debug_category): New helper parsers.
18825
18826 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18827
18828         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18829         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
18830         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
18831         (gst_base_transform_buffer_alloc),
18832         (gst_base_transform_handle_buffer):
18833           use gboolean return values and pointers to size so we can use the
18834           full GST_BUFFER_SIZE range (guint) for buffer sizes
18835           use GstPadDirection for transform_caps
18836         * gst/base/gstbasetransform.h:
18837           rename get_size to get_unit_size since that's what it is
18838         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
18839           use GstPadDirection for transform_caps
18840         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18841         * gst/gstutils.h:
18842           cleanup and debugging
18843
18844 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18845
18846         * gst/gstelement.c: (gst_element_class_init),
18847         (gst_element_set_state), (activate_pads),
18848         (gst_element_save_thyself):
18849         * tools/gst-compprep.c: (main):
18850         * tools/gst-inspect.c: (print_element_properties_info):
18851         * tools/gst-xmlinspect.c: (print_element_properties):
18852           Fixed long standing mem-leak
18853
18854 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18855
18856         * check/gst/gstbin.c: (GST_START_TEST):
18857         * gst/gstbin.c: (bin_bus_handler):
18858         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18859         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18860         (gst_message_new_warning), (gst_message_new_tag),
18861         (gst_message_new_state_changed), (gst_message_new_segment_start),
18862         (gst_message_new_segment_done), (gst_message_new_custom):
18863         * gst/gstmessage.h:
18864         * tools/gst-launch.c: (event_loop):
18865         * tools/gst-md5sum.c: (event_loop):
18866           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
18867           that applications can sensibly post custom messages with references
18868           to their own objects.
18869
18870 2005-08-24  Andy Wingo  <wingo@pobox.com>
18871
18872         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
18873         already.
18874
18875 2005-08-24  Wim Taymans  <wim@fluendo.com>
18876
18877         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18878         (gst_base_transform_transform_caps),
18879         (gst_base_transform_transform_size),
18880         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18881         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18882         (gst_base_transform_handle_buffer):
18883         * gst/base/gstbasetransform.h:
18884         Many fixes and new features added by Thomas. Can now also do
18885         transforms with variable sizes and a custom fixate_caps function.
18886
18887 2005-08-24  Wim Taymans  <wim@fluendo.com>
18888
18889         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18890         Some debugging.
18891
18892         * gst/gstclock.h:
18893         Cast to ClockTime before formatting to time.
18894
18895         * gst/gstutils.h:
18896         Cleanups.
18897
18898 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18899
18900         * check/gst-libs/controller.c: (GST_START_TEST),
18901         (gst_controller_suite):
18902         * docs/gst/tmpl/gstcaps.sgml:
18903         * docs/gst/tmpl/gstghostpad.sgml:
18904         * docs/gst/tmpl/gstquery.sgml:
18905         * docs/gst/tmpl/gstutils.sgml:
18906         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
18907         (gst_object_sink_values), (gst_object_get_value_arrays),
18908         (gst_object_get_value_array):
18909           gracefully handle helper method calls to objects that are not beeing
18910           controlled, added test case for that          
18911
18912 2005-08-23  Wim Taymans  <wim@fluendo.com>
18913
18914         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
18915         (gst_event_new_newsegment), (gst_event_parse_newsegment),
18916         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
18917         (gst_event_parse_qos), (gst_event_new_seek),
18918         (gst_event_parse_seek):
18919         * gst/gstevent.h:
18920         Some more debugging output and doc cleanups.
18921
18922         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18923         Fix possible deadlock.
18924
18925 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18926
18927         * docs/gst/gstreamer-docs.sgml:
18928         * docs/gst/gstreamer-sections.txt:
18929         * docs/gst/gstreamer.types:
18930         * docs/gst/tmpl/.cvsignore:
18931         * gst/gstbin.h:
18932         * gst/gstbus.c:
18933         * gst/gstelement.c:
18934         * gst/gstevent.h:
18935           added 100 symbols from gstreamer-unused.txt to the right sections
18936           fixed more broken comments
18937           added GstBus to docs
18938
18939 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18940
18941         * docs/gst/gstreamer-sections.txt:
18942         * docs/gst/tmpl/.cvsignore:
18943         * docs/gst/tmpl/gstbin.sgml:
18944         * docs/gst/tmpl/gstbuffer.sgml:
18945         * gst/base/gstbasesrc.c:
18946         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
18947         * gst/gstbuffer.c:
18948         * gst/gstbuffer.h:
18949         * tools/gst-launch.1.in:
18950           inlined more doc comments, added missing comments and fixed comments
18951           fixed typos
18952
18953 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18954
18955         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18956           some debugging
18957         * gst/gstcaps.h:
18958           whitespace fixes
18959         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
18960           more debugging
18961         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
18962         * gst/gststructure.h:
18963           add a fixate function for booleans; add a FIXME that these func
18964           names should probably be gst_structure_fixate_*
18965
18966 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18967
18968         * docs/gst/gstreamer-docs.sgml:
18969         * docs/gst/gstreamer-sections.txt:
18970         * gst/Makefile.am:
18971         * gst/gstbin.c: (gst_bin_get_type),
18972         (gst_bin_child_proxy_get_child_by_index),
18973         (gst_bin_child_proxy_get_children_count),
18974         (gst_bin_child_proxy_init):
18975         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18976         (gst_child_proxy_get_child_by_index),
18977         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
18978         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
18979         (gst_child_proxy_get), (gst_child_proxy_set_property),
18980         (gst_child_proxy_set_valist), (gst_child_proxy_set),
18981         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
18982         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
18983         * gst/gstchildproxy.h:
18984         * gst/parse/grammar.y:
18985         * tools/gst-inspect.c: (print_interfaces),
18986         (print_element_properties_info), (print_element_info):
18987           ported gstchildproxy over from 0.8
18988           ported gst-inspect fixes and enhancements over from 0.8
18989
18990 2005-08-22  Wim Taymans  <wim@fluendo.com>
18991
18992         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18993         (gst_base_transform_handle_buffer):
18994         Also call the transform function if we have ANY caps.
18995
18996         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
18997         Fix debug info.
18998
18999 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
19000
19001         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
19002           Don't pretend to handle seek events if the source is not seekable
19003
19004 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
19005
19006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19007           Remove extra parameter to debug output
19008
19009         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19010         (gst_base_src_do_seek), (gst_base_src_activate_push):
19011           Fix seek event handling.
19012
19013         * gst/gstpipeline.c: (gst_pipeline_change_state):
19014         * gst/gstqueue.c: (gst_queue_handle_sink_event),
19015         (gst_queue_src_activate_push):
19016           Don't start the src pad task on FLUSH_STOP if the pad
19017           isn't linked.
19018           Debug changes.
19019
19020 2005-08-22  Wim Taymans  <wim@fluendo.com>
19021
19022         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
19023         Added check for gst_static_caps_get() refcounting.
19024
19025 2005-08-22  Wim Taymans  <wim@fluendo.com>
19026
19027         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
19028         Make _static_caps_get() refcounting sane.
19029         
19030         * gst/gstelement.c: (gst_element_set_state):
19031         Add g_return_val_if_fail() to protect against segfaults.
19032
19033 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
19034
19035         * docs/gst/tmpl/gstevent.sgml:
19036         * gst/gstevent.c:
19037         * gst/gstevent.h:
19038           inlined remaining docs, added missing doc comments
19039
19040 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19041
19042         * check/gst/gstbin.c: (GST_START_TEST):
19043           since we don't know when preroll is done, use refcount range
19044           check for the sink
19045         * gst/check/gstcheck.h:
19046           add macro for checking refcount range
19047
19048 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19049
19050         * check/Makefile.am:
19051           clean up environment for when registry gets built versus
19052           when actual tests are run; valgrind seems to not report
19053           leaks if GST_PLUGIN_PATH is set to some specific values
19054         * check/gst/gstbin.c: (GST_START_TEST):
19055           add more refcounting checks; maybe this exposes a
19056           preroll lock bug ?
19057         * common/check.mak:
19058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19059         * gst/check/gstcheck.h:
19060         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
19061         (gst_bin_change_state):
19062         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
19063           add/fix debugging/whitespace
19064
19065 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19066
19067         * check/gst/gstevent.c: (event_probe), (test_event),
19068         (GST_START_TEST):
19069          Er, don't call gst_bin_watch_for_state_change you idiot.
19070
19071 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19072
19073         * check/Makefile.am:
19074           Use CHECK_CFLAGS and CHECK_LIBS
19075         * check/gst/gstevent.c: (event_probe), (test_event),
19076         (GST_START_TEST):
19077           Don't leak events.
19078         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19079         (gst_base_src_start), (gst_base_src_stop),
19080         (gst_base_src_activate_push), (gst_base_src_activate_pull),
19081         (gst_base_src_change_state):
19082           Sprinkle gst_base_src_stop liberally around error paths to fix
19083           problems reusing a source after failed state changes.
19084         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19085         (helper_find_suggest), (gst_type_find_helper):
19086           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
19087         * gst/gstevent.h:
19088         * docs/gst/tmpl/gstevent.sgml:
19089           Migrate part of the docs from the SGML file. Wait for ensonic to
19090           tell me how I did it wrong ;)
19091         * tools/gst-typefind.c: (main):
19092           Extra robustness to state changes between files.
19093
19094 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19095
19096         * check/Makefile.am:
19097           don't valgrind the controller test - it's leaking - Stefan, HELP
19098         * gst/check/gstcheck.c: (gst_check_message_error),
19099         (gst_check_chain_func), (gst_check_setup_element),
19100         (gst_check_teardown_element), (gst_check_setup_src_pad),
19101         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
19102         (gst_check_teardown_sink_pad):
19103         * gst/check/gstcheck.h:
19104           add a bunch of methods to set up elements, and src and sink pads
19105         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
19106         * check/elements/identity.c: (setup_identity), (cleanup_identity),
19107         (GST_START_TEST):
19108           use them
19109         * gst/gstmessage.c:
19110         * gst/gsttag.h:
19111           whitespace/doc fixes
19112
19113 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19114
19115         * gst/gstelement.h:
19116           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
19117           be handled by the application and not always printed as well
19118
19119 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19120
19121         * check/Makefile.am:
19122           set GST_TOOLS_DIR
19123         * gst/check/gstcheck.c: (gst_check_message_error):
19124         * gst/check/gstcheck.h:
19125           add a fail_unless_equals_int
19126           add fail_unless for error messages
19127
19128 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         * check/Makefile.am:
19131         * check/gst.supp:
19132         * common/Makefile.am:
19133         * common/check.mak:
19134         * common/gst.supp:
19135           factor out some of the common stuff so we can use it
19136
19137 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * check/Makefile.am:
19140         * check/gst/gstiterator.c: (GST_START_TEST):
19141         * check/gst/gstsystemclock.c: (GST_START_TEST),
19142         (gst_systemclock_suite):
19143         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19144         * gst/gstclock.c:
19145           valgrind more tests
19146
19147 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19148
19149         * check/elements/.cvsignore:
19150         * check/elements/gstfakesrc.c:
19151           rename to name of element
19152         * check/elements/identity.c: (chain_func), (event_func),
19153         (setup_identity), (cleanup_identity), (GST_START_TEST),
19154         (identity_suite), (main):
19155           add a test for identity
19156         * check/Makefile.am:
19157         * pkgconfig/Makefile.am:
19158         * pkgconfig/gstreamer-check.pc.in:
19159         * pkgconfig/gstreamer-check-uninstalled.pc.in:
19160         * gst/check:
19161         * gst/Makefile.am:
19162         * configure.ac:
19163           move the check stuff to a library that gets installed
19164         * check/gst-libs/controller.c: (GST_START_TEST):
19165         * check/gst-libs/gdp.c:
19166         * check/gst/gst.c: (GST_START_TEST):
19167         * check/gst/gstbin.c:
19168         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19169         * check/gst/gstbus.c:
19170         * check/gst/gstcaps.c: (GST_START_TEST):
19171         * check/gst/gstelement.c:
19172         * check/gst/gstghostpad.c:
19173         * check/gst/gstiterator.c:
19174         * check/gst/gstmessage.c:
19175         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
19176         * check/gst/gstobject.c:
19177         * check/gst/gstpad.c: (GST_START_TEST):
19178         * check/gst/gststructure.c: (GST_START_TEST):
19179         * check/gst/gstsystemclock.c: (GST_START_TEST),
19180         (gst_systemclock_suite):
19181         * check/gst/gsttag.c: (gst_tag_suite):
19182         * check/gst/gstvalue.c:
19183         * check/pipelines/cleanup.c:
19184         * check/pipelines/simple_launch_lines.c:
19185         * check/states/sinks.c:
19186           change include statement
19187
19188         * docs/gst/gstreamer-sections.txt:
19189         * docs/gst/tmpl/gstpad.sgml:
19190           document more pad stuff
19191         * gst/gstminiobject.c: (gst_mini_object_ref),
19192         (gst_mini_object_unref):
19193           debug refcounting
19194
19195 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
19196
19197         * docs/gst/tmpl/gst.sgml:
19198         * gst/gst.c:
19199           eliminate another tmpl file, fix spelling in the long-description
19200
19201 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19202
19203         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19204         (test_event), (timediff), (gstevents_suite):
19205           Should fix build on 64-bit arch's
19206
19207 2005-08-18  Andy Wingo  <wingo@pobox.com>
19208
19209         Make sure that when a pipeline goes to PLAYING, that data has
19210         actually hit the sink.
19211
19212         * check/states/sinks.c (test_sink): A sink that doesn't get any
19213         data shouldn't return SUCCESS for going to either PLAYING or
19214         PAUSED. Test also the return values on the way back down.
19215
19216         * gst/gstelement.c (gst_element_set_state): When changing the
19217         state of an element currently changing state asynchronously, go to
19218         lost-state after commiting the pending state. Makes future calls
19219         to get_state continue to return ASYNC.
19220
19221         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
19222         ASYNC when going to PLAYING if we still don't have preroll, as can
19223         happen with live sources.
19224
19225 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19226
19227         * docs/pwg/advanced-types.xml:
19228           Hack long paragraph into 2 chunks as a workaround for buggy
19229           jadetex version in sid and breezy that loops infinitely and
19230           eats all RAM.
19231
19232 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19233
19234         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19235         (test_event), (timediff), (gstevents_suite):
19236           Provide more error margin in clock measurements to allow for 
19237           g_get_current_time inaccuracies.
19238
19239 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19240
19241         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19242         (test_event), (timediff), (gstevents_suite):
19243            Fix error message output so I might be able to tell why the
19244            test works here but fails on the build farm.
19245
19246 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19247
19248         * check/Makefile.am:
19249         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19250         (test_event), (timediff), (gstevents_suite), (main):
19251           I wrote a test!
19252
19253         * docs/design/part-seeking.txt:
19254           Spelling correction
19255
19256         * docs/gst/tmpl/gstevent.sgml:
19257         * docs/gst/tmpl/gstfakesrc.sgml:
19258           Docs updates.
19259
19260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19261           Treat a buffer-without-newsegment the same as a receiving 
19262           a newsegment not in time format, and disable syncing to the clock
19263           with a warning.
19264
19265         * gst/gstbus.c: (gst_bus_set_sync_handler):
19266           Assert if anyone tries to replace the existing sync_handler for bus, 
19267           as only the owner should be setting it.
19268
19269         * gst/gstevent.h:
19270           Have a fixed set of custom event enums with events identified by
19271           their structure name (as in 0.8), rather than a free-for-all
19272           allowing collisions between enum values from different plugins.
19273
19274         * gst/gstpad.c: (gst_pad_class_init):
19275           Docs change.
19276           
19277         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19278           Handle out-of-band downstream events from the sending thread.
19279
19280 2005-08-17  Andy Wingo  <wingo@pobox.com>
19281
19282         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
19283         play-timeout==0 to mean no timeout at all. In that case, don't
19284         bother with a get_state or a warning, just return directly, even
19285         if it's ASYNC.
19286
19287         * gst/base/gstbasetransform.c: Debug changes.
19288
19289         * gst/gstutils.h:
19290         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
19291         ensure bins post state change messages. A bit of a hack but I can't
19292         think of a way to avoid it.
19293
19294         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
19295
19296 2005-08-16  Andy Wingo  <wingo@pobox.com>
19297
19298         * gst/base/gstadapter.h:
19299         * gst/base/gstadapter.c (gst_adapter_take): New function, like
19300         peek() but you own the data. Not terribly efficient atm.
19301
19302 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19303
19304         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
19305         (gst_element_found_tags):
19306         * gst/gstutils.h:
19307           Add two utility functions for tag handling.
19308
19309 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19310
19311         * docs/manual/advanced-dataaccess.xml:
19312         * docs/manual/basics-helloworld.xml:
19313           Fix docs to use _bin_add() before _link(), which fixes the examples
19314           with recent core versions (reported by Madhan Raj M
19315           <raj_madan@rediffmail.com>, #313199).
19316
19317 2005-08-16  Wim Taymans  <wim@fluendo.com>
19318
19319         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19320         Added subtract checks.
19321
19322         * docs/design/part-events.txt:
19323         Some more docs about newsegment
19324
19325         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19326         Fix FIXME
19327
19328         * gst/gstcaps.c: (gst_caps_to_string):
19329         Add comments, cleanups.
19330         
19331         * gst/gstelement.c: (gst_element_save_thyself):
19332         cleanups
19333         
19334         * gst/gstvalue.c: (gst_value_collect_int_range),
19335         (gst_string_unwrap), (gst_value_union_int_int_range),
19336         (gst_value_union_int_range_int_range),
19337         (gst_value_intersect_int_int_range),
19338         (gst_value_intersect_int_range_int_range),
19339         (gst_value_intersect_double_double_range),
19340         (gst_value_intersect_double_range_double_range),
19341         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
19342         (gst_value_subtract_int_range_int),
19343         (gst_value_subtract_double_range_double),
19344         (gst_value_subtract_double_range_double_range),
19345         (gst_value_subtract_from_list), (gst_value_subtract_list),
19346         (gst_value_can_compare), (gst_value_compare_fraction):
19347         Cleanups, add comments, remove unneeded asserts.
19348
19349 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19350
19351         * tools/gst-launch.c: (event_loop):
19352           don't convert NULL structures to strings
19353
19354 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
19355
19356         * docs/gst/gstreamer-sections.txt:
19357           made some defines private
19358         * docs/gst/tmpl/gstconfig.sgml:
19359         * docs/gst/tmpl/gstqueue.sgml:
19360         * docs/gst/tmpl/gsttaglist.sgml:
19361         * docs/gst/tmpl/gsttypes.sgml:
19362         * docs/gst/tmpl/gstutils.sgml:
19363         * docs/pwg/appendix-porting.xml:
19364         * gst/base/gstbasesink.h:
19365         * gst/base/gstbasesrc.c:
19366         * gst/base/gstbasesrc.h:
19367         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
19368         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
19369         * gst/gstelement.c: (gst_element_class_init):
19370         * gst/gstpad.c: (gst_pad_class_init):
19371         * gst/gstqueue.c: (gst_queue_class_init):
19372         * gst/gstxml.c: (gst_xml_class_init):
19373           documented all undocumented signal inline
19374         * libs/gst/controller/gst-controller.h:
19375           added padding
19376
19377 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19378
19379         * docs/pwg/appendix-porting.xml:
19380           Document _set_link_function -> _set_setcaps_function.
19381
19382 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19383
19384         * check/Makefile.am:
19385           add a .check target for running the check
19386         * check/gst-libs/controller.c: (GST_START_TEST):
19387           cosmetic fixups
19388         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19389           complete checks for gstbuffer; would be nice if I could get the
19390           gcov stuff to work so I can see if I actually completed gstbuffer.c
19391         * check/gstcheck.h:
19392           add ASSERT_BUFFER_REFCOUNT
19393
19394 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
19395
19396         * docs/gst/gstreamer-sections.txt:
19397         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
19398         * gst/gsttag.h:
19399           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
19400           spew out a warning if a tag that is already registered
19401           is re-registered, unless it is re-registered with a 
19402           different type (#308438).
19403
19404 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
19405
19406         * docs/pwg/appendix-porting.xml:
19407         * docs/pwg/building-state.xml:
19408           Add some paragraphs about state changes in 0.9 to the PWG
19409           and the porting guide, in particular about the new meaning
19410           of GST_STATE_PAUSED and how to write state change functions
19411           with concurrent access by multiple threads in mind.
19412
19413 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
19414
19415         * docs/gst/gstreamer-docs.sgml:
19416         * docs/libs/gstreamer-libs-docs.sgml:
19417           added deprecation and since indexes
19418         * libs/gst/controller/gst-controller.c:
19419         * libs/gst/controller/gst-helper.c:
19420           added since tags
19421
19422
19423 2005-08-11  Wim Taymans  <wim@fluendo.com>
19424
19425         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
19426         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
19427         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
19428         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
19429         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
19430         (gst_ghost_pad_set_target):
19431         Actually implement (re)setting the target on a ghostpad
19432         as described in the docs.
19433
19434 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19435
19436         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
19437           Check whether GST_DEBUG_NO_COLOR environment variable is
19438           set and disable coloured debug output if that is the case.
19439
19440 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19441
19442         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19443         (gst_type_find_helper):
19444           The memory returned by gst_type_find_peek() needs to
19445           stay valid until the end of a typefind function, and
19446           typefind functions may keep results from different 
19447           offsets around, so we can't just unref the buffer from
19448           the previous _peek(), but have to save all buffers 
19449           returned by _peek() until typefinding is done and only
19450           free them then.
19451
19452 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
19453
19454         * docs/gst/gstreamer-sections.txt:
19455         * gst/gstutils.h:
19456           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
19457
19458 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19459
19460         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19461           Fix a pretty good memleak.
19462
19463 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19464
19465         * gst/gstiterator.h:
19466           Fix wrong include and 'make distcheck'.
19467
19468 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19469
19470         * gst/gstbin.c: (bin_bus_handler):
19471           Use gst_element_post_message() instead.
19472
19473 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19474
19475         * gst/base/gstadapter.h:
19476         * gst/base/gstbasesink.h:
19477         * gst/base/gstbasesrc.h:
19478         * gst/base/gstbasetransform.h:
19479         * gst/base/gstcollectpads.h:
19480         * gst/base/gstpushsrc.h:
19481         * gst/gstiterator.h:
19482           Add padding to our base elements' class and instance structs and
19483           to GstIterator (you will need to rebuild all plugins and apps!)
19484
19485 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19486
19487         * gst/gstbin.c: (bin_bus_handler):
19488           Make default message forwarding from child->bus to bin->bus
19489           threadsafe and make it not emit warnings if the parent has no bus.
19490
19491 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19492
19493         * gst/gstelement.c: (activate_pads):
19494           On paused->ready, set pad->caps to NULL, as is the documented
19495           behaviour in this state change. Fixes playback of series of
19496           media files when visualization is enabled in Totem.
19497
19498 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19499
19500         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
19501           Allow NULL as filter-caps (which means "any").
19502
19503 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19504
19505         * docs/libs/gstreamer-libs-sections.txt:
19506         * libs/gst/controller/gst-controller.c:
19507         * libs/gst/controller/gst-controller.h:
19508         * libs/gst/controller/gst-helper.c:
19509           adding more entries to the docs and fix small doc-bugs
19510
19511 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19512
19513         * docs/gst/gstreamer-docs.sgml:
19514         * docs/gst/gstreamer-sections.txt:
19515         * docs/gst/gstreamer.types:
19516         * docs/gst/tmpl/gstbasesink.sgml:
19517         * docs/gst/tmpl/gstbasesrc.sgml:
19518         * docs/gst/tmpl/gstbasetransform.sgml:
19519         * docs/gst/tmpl/gstfakesrc.sgml:
19520         * gst/base/gstcollectpads.c:
19521         * gst/base/gstcollectpads.h:
19522         * libs/gst/controller/gst-controller.c:
19523         * libs/gst/controller/gst-controller.h:
19524         * libs/gst/controller/gst-helper.c:
19525         * libs/gst/controller/gst-interpolation.c:
19526         * libs/gst/controller/lib.c:
19527           added long/short desc for controller docs
19528           added collectpads base class docs
19529           added correct includes to base-class docs
19530
19531 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19532
19533         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19534         (gst_test_mono_source_set_property),
19535         (gst_test_mono_source_class_init), (GST_START_TEST),
19536         (gst_controller_suite):
19537         * docs/gst/gstreamer-docs.sgml:
19538         * docs/gst/gstreamer-sections.txt:
19539         * docs/gst/gstreamer.types:
19540         * docs/libs/gstreamer-libs-docs.sgml:
19541         * docs/libs/gstreamer-libs-sections.txt:
19542         * gst/base/gstadapter.c:
19543         * libs/gst/controller/gst-controller.c:
19544         (gst_controlled_property_new), (gst_controlled_property_free),
19545         (gst_controller_new_valist),
19546         (gst_controller_remove_properties_valist),
19547         (gst_controller_sink_values), (_gst_controller_finalize):
19548         * libs/gst/controller/gst-controller.h:
19549         * libs/gst/controller/gst-helper.c:
19550         (gst_object_control_properties), (gst_object_uncontrol_properties),
19551         (gst_object_get_controller), (gst_object_set_controller),
19552         (gst_object_sink_values), (gst_object_get_value_arrays),
19553         (gst_object_get_value_array):
19554           more tests (and fixes) for the controller
19555           more docs for the controller
19556           integrated companies docs for the adapter 
19557
19558 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19559
19560         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
19561         (GST_START_TEST), (fakesrc_suite):
19562           add tests for sizetype
19563
19564 2005-08-04  Andy Wingo  <wingo@pobox.com>
19565
19566         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
19567         fixes buffer_alloc proxying among other things.
19568
19569         * gst/base/gstbasetransform.c:
19570         * gst/base/gstbasetransform.h:
19571         Revert patch to gstbasetransform from 7-28 removing
19572         delay_configure.
19573
19574         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
19575         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
19576         Semantics changed, should return not the size of the output buffer
19577         but the byte size of a buffer with a given caps.
19578
19579         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
19580         debug object.
19581         (gst_base_transform_configure_caps): Don't set out_size here: (in,
19582         out) are not the pad caps until setcaps finishes.
19583         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
19584         not-in-place case as well. Deal with changing from in-place to
19585         not-in-place within calling pad_alloc_buffer. Still a bit
19586         concerned about the overhead here...
19587
19588 2005-08-03  Andy Wingo  <wingo@pobox.com>
19589
19590         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
19591         fixating is an error.
19592
19593 2005-08-04  Edward Hervey  <edward@fluendo.com>
19594
19595         * gst/base/gstadapter.h: 
19596         Added gst_adapter_get_type() to the header
19597
19598 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19599
19600         * check/Makefile.am:
19601         * check/gst-libs/controller.c:
19602         * libs/gst/controller/gst-controller.c:
19603         (gst_controller_new_valist):
19604           added check test suite for the controller
19605         * gst/base/gstpushsrc.c:
19606           fixed a doc typo
19607
19608 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19609
19610         * docs/gst/Makefile.am:
19611         * docs/gst/gstreamer-docs.sgml:
19612         * docs/gst/gstreamer-sections.txt:
19613         * docs/gst/gstreamer.types:
19614         * docs/gst/tmpl/gstfakesrc.sgml:
19615         * gst/base/README:
19616         * gst/base/gstbasesink.c:
19617         * gst/base/gstbasesink.h:
19618         * gst/base/gstbasesrc.c:
19619         * gst/base/gstbasesrc.h:
19620         * gst/base/gstbasetransform.c:
19621         * gst/base/gstpushsrc.c:
19622         * gst/base/gstpushsrc.h:
19623           add short/long description docs to base classes
19624           add pushsrc to the docs
19625           remove consolidated doc fragments
19626
19627 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19628
19629         * configure.ac:
19630         * docs/libs/Makefile.am:
19631         * docs/libs/gstreamer-libs-docs.sgml:
19632         * docs/libs/gstreamer-libs-sections.txt:
19633         * docs/libs/gstreamer-libs.types:
19634         * examples/Makefile.am:
19635         * examples/controller/.cvsignore:
19636         * examples/controller/Makefile.am:
19637         * examples/controller/audio-example.c: (main):
19638         * libs/gst/Makefile.am:
19639         * libs/gst/controller/.cvsignore:
19640         * libs/gst/controller/Makefile.am:
19641         * libs/gst/controller/gst-controller.c:
19642         (on_object_controlled_property_changed), (gst_timed_value_compare),
19643         (gst_timed_value_find),
19644         (gst_controlled_property_set_interpolation_mode),
19645         (gst_controlled_property_new), (gst_controlled_property_free),
19646         (gst_controller_find_controlled_property),
19647         (gst_controller_new_valist), (gst_controller_new),
19648         (gst_controller_remove_properties_valist),
19649         (gst_controller_remove_properties), (gst_controller_set),
19650         (gst_controller_set_from_list), (gst_controller_unset),
19651         (gst_controller_get), (gst_controller_get_all),
19652         (gst_controller_sink_values), (gst_controller_get_value_arrays),
19653         (gst_controller_get_value_array),
19654         (gst_controller_set_interpolation_mode),
19655         (_gst_controller_finalize), (_gst_controller_init),
19656         (_gst_controller_class_init), (gst_controller_get_type):
19657         * libs/gst/controller/gst-controller.h:
19658         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
19659         (g_object_uncontrol_properties), (g_object_get_controller),
19660         (g_object_set_controller), (g_object_sink_values),
19661         (g_object_get_value_arrays), (g_object_get_value_array):
19662         * libs/gst/controller/gst-interpolation.c:
19663         (gst_controlled_property_find_timed_value_node),
19664         (interpolate_none_get), (interpolate_trigger_get),
19665         (interpolate_trigger_get_value_array):
19666         * libs/gst/controller/lib.c: (gst_controller_init):
19667         * pkgconfig/Makefile.am:
19668         * pkgconfig/gstreamer-control-uninstalled.pc.in:
19669         * pkgconfig/gstreamer-control.pc.in:
19670         * testsuite/Makefile.am:
19671         * testsuite/controller/.cvsignore:
19672         * testsuite/controller/Makefile.am:
19673         * testsuite/controller/interpolator.c: (main):
19674           added controller code
19675           removed dparam pc files
19676
19677 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19678         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
19679         (gst_collectpads_stop):
19680           Broadcast the condition when shutting down, to make sure we wake all
19681           threads up. Shut down pads on finalize, for safety.
19682
19683 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19684         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19685         (gst_base_transform_handle_buffer),
19686         (gst_base_transform_change_state):
19687           Handle PAUSED->READY->PAUSED transition after negotiation
19688           occurred already.
19689         * gst/gstmessage.c: (gst_message_init):
19690           Extra piece of debug for new messages.
19691
19692 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
19693
19694         * configure.ac:
19695         * docs/gst/tmpl/gstbasesrc.sgml:
19696         * docs/gst/tmpl/gstelement.sgml:
19697         * docs/gst/tmpl/gstevent.sgml:
19698         * docs/gst/tmpl/gstfakesrc.sgml:
19699         * docs/gst/tmpl/gstformat.sgml:
19700         * docs/gst/tmpl/gstghostpad.sgml:
19701         * docs/gst/tmpl/gstpad.sgml:
19702         * docs/gst/tmpl/gstquery.sgml:
19703         * docs/gst/tmpl/gststructure.sgml:
19704         * docs/gst/tmpl/gsttaglist.sgml:
19705         * docs/gst/tmpl/gstvalue.sgml:
19706         * docs/libs/gstreamer-libs-docs.sgml:
19707         * docs/libs/gstreamer-libs-sections.txt:
19708         * docs/libs/gstreamer-libs.types:
19709         * libs/gst/Makefile.am:
19710         * libs/gst/control/.cvsignore:
19711         * libs/gst/control/Makefile.am:
19712         * libs/gst/control/control.c:
19713         * libs/gst/control/control.h:
19714         * libs/gst/control/dparam.c:
19715         * libs/gst/control/dparam.h:
19716         * libs/gst/control/dparam_smooth.c:
19717         * libs/gst/control/dparam_smooth.h:
19718         * libs/gst/control/dparamcommon.h:
19719         * libs/gst/control/dparammanager.c:
19720         * libs/gst/control/dparammanager.h:
19721         * libs/gst/control/dplinearinterp.c:
19722         * libs/gst/control/dplinearinterp.h:
19723         * libs/gst/control/unitconvert.c:
19724         * libs/gst/control/unitconvert.h:
19725         * testsuite/Makefile.am:
19726         * testsuite/dynparams/.cvsignore:
19727         * testsuite/dynparams/Makefile.am:
19728         * testsuite/dynparams/dparamstest.c:
19729         * tools/Makefile.am:
19730         * tools/gst-inspect.c: (print_element_info), (main):
19731         * tools/gst-xmlinspect.c: (print_element_info), (main):
19732           deactivate and remove dparams (libgstcontrol)
19733
19734 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19735
19736         * gst/elements/gsttypefindelement.c:
19737         (gst_type_find_element_have_type), (gst_type_find_element_init),
19738         (stop_typefinding), (gst_type_find_element_handle_event),
19739         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19740         * gst/elements/gsttypefindelement.h:
19741           Set caps on all outgoing buffers, not just the first one.
19742
19743 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19744
19745         * gst/elements/gsttypefindelement.c:
19746         (gst_type_find_element_have_type),
19747         (gst_type_find_element_check_set_buffer_caps),
19748         (gst_type_find_element_init), (stop_typefinding),
19749         (gst_type_find_element_handle_event),
19750         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19751         * gst/elements/gsttypefindelement.h:
19752           Set caps on first outgoing buffer when we've found the type.
19753
19754 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19755
19756         * docs/gst/gstreamer-docs.sgml:
19757         * docs/gst/gstreamer-sections.txt:
19758         * docs/gst/tmpl/gstscheduler.sgml:
19759         * docs/gst/tmpl/gstschedulerfactory.sgml:
19760           Remove some old cruft from docs.
19761
19762 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
19763
19764         * gst/gstpad.h:
19765           Fix inline docs for GstPadLinkReturn.
19766           
19767         * gst/gststructure.c: (gst_structure_has_name):
19768         * gst/gststructure.h:
19769         * docs/gst/gstreamer-sections.txt:
19770           New API: gst_structure_has_name().
19771
19772 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
19773
19774         * configure.ac:
19775           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
19776           and _LARGEFILE_SOURCE in config.h as required. Do not 
19777           export those flags in our .pc files any longer (#142209).
19778
19779           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19780
19781         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
19782         (gst_file_sink_do_seek), (gst_file_sink_event),
19783         (gst_file_sink_get_current_offset), (gst_file_sink_render):
19784           Redo seek/tell calls with large file support in mind; add some
19785           debugging messages; add log message that tells us when large
19786           file support is unavailable or not enabled for some reason.
19787
19788         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
19789           Add log message that tells us when large file support 
19790           is unavailable or not enabled for some reason.
19791
19792 2005-07-29  Wim Taymans  <wim@fluendo.com>
19793
19794         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19795         Added test for removing an element with ghostpad from a bin.
19796         Fixed test as current implementation does the right thing.
19797
19798         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
19799         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
19800         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
19801         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
19802         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
19803         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
19804         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
19805         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19806         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
19807         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
19808         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
19809         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
19810         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
19811         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
19812         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
19813         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
19814         * gst/gstghostpad.h:
19815         Clean up ghostpads, remove properties for internal stuff.
19816         Make threadsafe.
19817         Fix refcounting.
19818         Prepare for switching targets, not all use cases work yet.
19819
19820 2005-07-29  Wim Taymans  <wim@fluendo.com>
19821
19822         * docs/design/part-gstghostpad.txt:
19823         Small update.
19824
19825         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19826         (gst_bin_remove_func):
19827         Unlinking pads while holding the bin LOCK is not a good
19828         idea.
19829
19830         * gst/gstpad.c: (gst_pad_class_init),
19831         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
19832         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
19833         No prob setting template after creating the pad.
19834
19835 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
19836
19837         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
19838         (gst_bus_peek), (gst_bus_source_dispatch),
19839         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
19840         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
19841           gst_bus_poll may be called from other threads. Handle
19842           this nicely by not making poll_data disappear off the
19843           stack once gst_bus_poll returns.
19844           gst_bus_peek now increments the refcount on the returned
19845           message.
19846
19847 2005-07-29  Wim Taymans  <wim@fluendo.com>
19848
19849         * docs/design/part-gstghostpad.txt:
19850         Overview of current GhostPad datastructures and use
19851         cases for changing the target.
19852
19853 2005-07-28  Wim Taymans  <wim@fluendo.com>
19854
19855         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19856         Added checks for hierarchy consistency whan adding linked
19857         elements to bins.
19858
19859         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19860         Added check to test element scheduling without bin/pipeline.
19861
19862         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19863         First add elements to bin, then link.
19864         
19865         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19866         (gst_bin_remove_func):
19867         Unlink pads from elements added/removed from bin to maintain
19868         hierarchy consistency.
19869
19870 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19871
19872         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19873         (gst_base_transform_handle_buffer):
19874         * gst/base/gstbasetransform.h:
19875           Remove broken delay_configure (fixes renegotiation of software
19876           scaling pipelines); remove some leftover printf()s.
19877
19878 2005-07-28  Wim Taymans  <wim@fluendo.com>
19879
19880         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19881         Added some more tests for wrong hierarchy
19882
19883         * docs/design/part-overview.txt:
19884         Some updates.
19885
19886         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
19887         Cleanups.
19888
19889         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
19890         (gst_element_dispose):
19891         Some more cleanups.
19892
19893         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
19894         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
19895         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19896         (gst_pad_set_caps), (gst_pad_send_event):
19897         Check for correct hierarchy when linking pads. Moving to
19898         strict requirement for ghostpads when linking elements in
19899         different bins.
19900
19901         * gst/gstpad.h:
19902         Clean ups. Added WRONG_HIERARCHY return value.
19903
19904 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19905
19906         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19907           Better debug if no transform is possible.
19908
19909 2005-07-27  Wim Taymans  <wim@fluendo.com>
19910
19911         * docs/random/wtay/network-transp:
19912         Some old doc I had.
19913
19914 2005-07-27  Wim Taymans  <wim@fluendo.com>
19915
19916         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19917         (gst_dp_event_from_packet):
19918         Fix serialization of seek events.
19919
19920 2005-07-27  Wim Taymans  <wim@fluendo.com>
19921
19922         * check/gst-libs/gdp.c: (GST_START_TEST):
19923         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19924         Fix compilation and fix event serialization.
19925
19926 2005-07-27  Wim Taymans  <wim@fluendo.com>
19927
19928         * CHANGES-0.9:
19929         * docs/design/part-TODO.txt:
19930         * docs/design/part-events.txt:
19931         Some docs updates
19932
19933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19934         (gst_base_sink_event), (gst_base_sink_do_sync),
19935         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19936         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19937         (gst_base_src_do_seek), (gst_base_src_event_handler),
19938         (gst_base_src_loop):
19939         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19940         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19941         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19942         (gst_base_transform_event), (gst_base_transform_handle_buffer),
19943         (gst_base_transform_set_passthrough),
19944         (gst_base_transform_is_passthrough):
19945         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19946         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19947         Event updates.
19948
19949         * gst/gstbuffer.h:
19950         Use faster casts.
19951
19952         * gst/gstelement.c: (gst_element_seek):
19953         * gst/gstelement.h:
19954         Update gst_element_seek.
19955
19956         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
19957         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
19958         (gst_event_new_flush_start), (gst_event_new_flush_stop),
19959         (gst_event_new_eos), (gst_event_new_newsegment),
19960         (gst_event_parse_newsegment), (gst_event_new_tag),
19961         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
19962         (gst_event_parse_qos), (gst_event_new_seek),
19963         (gst_event_parse_seek), (gst_event_new_navigation):
19964         * gst/gstevent.h:
19965         Make GstEvent use GstStructure. Add parsing code, make sure the
19966         API is sufficiently generic.
19967         Mark possible directions of events and serialization.
19968
19969         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
19970         (_gst_message_copy), (gst_message_new_segment_start),
19971         (gst_message_new_segment_done), (gst_message_new_custom),
19972         (gst_message_parse_segment_start),
19973         (gst_message_parse_segment_done):
19974         Small cleanups.
19975
19976         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19977         (gst_pad_set_caps), (gst_pad_send_event):
19978         Update for new events. 
19979         Catch events sent in wrong directions.
19980
19981         * gst/gstqueue.c: (gst_queue_link_src),
19982         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
19983         (gst_queue_handle_src_query):
19984         Event updates.
19985
19986         * gst/gsttag.c:
19987         * gst/gsttag.h:
19988         Remove event code from this file.
19989
19990         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19991         (gst_dp_event_from_packet):
19992         Event updates.
19993
19994 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19995
19996         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
19997         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19998         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
19999           Make debugging actually useful.
20000
20001 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20002
20003         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
20004         (gst_pad_fixate_caps):
20005           Implement default fixation once again, so that gst_pad_fixate()
20006           actually does anything at all. This probably needs to be some
20007           sort of a last resort, and use profile-based fixation first, but
20008           since that doesn't exist yet, this is the best we have. Fixes
20009           visualization in Totem.
20010
20011 2005-07-22  Wim Taymans  <wim@fluendo.com>
20012
20013         * docs/design/part-events.txt:
20014         Small update.
20015
20016         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20017         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
20018         (gst_base_sink_activate_pull):
20019         Some more comments.
20020
20021         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
20022         (gst_fake_src_create):
20023         Fix handoff marshall.
20024
20025         * gst/elements/gstidentity.c: (gst_identity_class_init),
20026         (gst_identity_transform_ip):
20027         We're a real inplace element.
20028
20029         * gst/gstbus.c: (gst_bus_post):
20030         Added some comments.
20031
20032         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
20033         * tests/muxing/case1.c: (main):
20034         * tests/sched/dynamic-pipeline.c: (main):
20035         * tests/sched/interrupt1.c: (main):
20036         * tests/sched/interrupt2.c: (main):
20037         * tests/sched/interrupt3.c: (main):
20038         * tests/sched/runxml.c: (main):
20039         * tests/sched/sched-stress.c: (main):
20040         * tests/seeking/seeking1.c: (event_received), (main):
20041         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20042         (main):
20043         * tests/threadstate/threadstate3.c: (main):
20044         * tests/threadstate/threadstate4.c: (main):
20045         * tests/threadstate/threadstate5.c: (main):
20046         Fix the tests.
20047
20048 2005-07-21  Wim Taymans  <wim@fluendo.com>
20049
20050         * docs/design/part-seeking.txt:
20051         Some small additions.
20052
20053         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20054         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20055         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
20056         * gst/base/gstbasesink.h:
20057         discont values are gint64, handle the math correctly.
20058
20059         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20060         Make the basesrc report error if the source pad is not linked.
20061
20062         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20063         (gst_queue_loop), (gst_queue_handle_src_query),
20064         (gst_queue_src_activate_push):
20065         Make queue collect data even if the srcpad is not linked.
20066         Start pushing out data as soon as it is linked.
20067
20068         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
20069         * gst/gstutils.h:
20070         Added gst_flow_get_name() to ease error reporting.
20071
20072 2005-07-20  Wim Taymans  <wim@fluendo.com>
20073
20074         * gst/gstmessage.c: (gst_message_new_segment_start),
20075         (gst_message_new_segment_done), (gst_message_parse_segment_start),
20076         (gst_message_parse_segment_done):
20077         * gst/gstmessage.h:
20078         Added a bunch of messages for advanced seeking.
20079
20080         * gst/parse/grammar.y:
20081         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
20082         (gst_dpman_state_changed):
20083         Fix some new-pad -> pad-added signals
20084
20085 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20086
20087         * docs/manual/appendix-porting.xml:
20088         * docs/pwg/appendix-porting.xml:
20089           Document new-pad/state-change signal renames and the FixedList
20090           type rename.
20091
20092 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20093
20094         * docs/manual/advanced-autoplugging.xml:
20095         * docs/manual/basics-helloworld.xml:
20096         * docs/manual/basics-pads.xml:
20097         * docs/random/ds/0.9-suggested-changes:
20098         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
20099         * gst/gstelement.h:
20100         * gst/gstevent.h:
20101         * gst/gstformat.h:
20102         * gst/gstquery.h:
20103         * gst/gststructure.c: (gst_structure_value_get_generic_type),
20104         (gst_structure_parse_array), (gst_structure_parse_value):
20105         * gst/gstvalue.c: (gst_type_is_fixed),
20106         (gst_value_list_prepend_value), (gst_value_list_append_value),
20107         (gst_value_list_get_size), (gst_value_list_get_value),
20108         (gst_value_transform_array_string), (gst_value_serialize_array),
20109         (gst_value_deserialize_array), (gst_value_intersect_array),
20110         (gst_value_is_fixed), (_gst_value_initialize):
20111         * gst/gstvalue.h:
20112           GstElement::new-pad -> pad-added, GstElement::state-change ->
20113           state-changed, GstValueFixedList -> GstValueArray, add format and
20114           flags as their own arguments in gst_element_seek() (should improve
20115           "bindeability"), remove function generators since they don't work
20116           under a whole bunch of compilers (they were deprecated already
20117           anyway).
20118
20119 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20120
20121         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20122         (_gst_debug_register_funcptr):
20123         * gst/gstinfo.h:
20124           Fix illegal cast on some platforms (#309253).
20125
20126 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20127
20128         * gst/gstmessage.c: (gst_message_new_custom):
20129         * gst/gstmessage.h:
20130           Add _new_custom, make _new_application a macro to _new_custom.
20131
20132 2005-07-20  Wim Taymans  <wim@fluendo.com>
20133
20134         * gst/base/gstbasesrc.c: (gst_base_src_init),
20135         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20136         * gst/base/gstbasesrc.h:
20137         Add a gboolean to decide when to push out a discont.
20138
20139         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20140         (gst_queue_loop), (gst_queue_handle_src_query),
20141         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
20142         (gst_queue_set_property), (gst_queue_get_property):
20143         Some cleanups.
20144
20145         * tests/threadstate/threadstate1.c: (main):
20146         Make a thread test compile and run... very silly..
20147
20148
20149 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20150
20151         * docs/manual/appendix-porting.xml:
20152           Mention removal of libgstgconf-0.9.la and existence of gconf
20153           elements.
20154
20155 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20156
20157         * docs/pwg/advanced-clock.xml:
20158         * docs/pwg/appendix-porting.xml:
20159         * docs/pwg/intro-preface.xml:
20160         * docs/pwg/other-base.xml:
20161         * docs/pwg/other-manager.xml:
20162         * docs/pwg/other-nton.xml:
20163         * docs/pwg/other-ntoone.xml:
20164         * docs/pwg/other-oneton.xml:
20165         * docs/pwg/pwg.xml:
20166           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
20167           demuxer), remove n-to-n (was never written), fix some code examples
20168           and links and update the porting section to include all this.
20169
20170 2005-07-19  Wim Taymans  <wim@fluendo.com>
20171
20172         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
20173         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
20174         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
20175         (gst_queue_src_activate_push), (gst_queue_change_state),
20176         (gst_queue_get_property):
20177         * gst/gstqueue.h:
20178         Propagate GstFlowReturn more intelligently upstream and output
20179         an ERROR/EOS when streaming stopped due to fatal error.
20180
20181 2005-07-19  Wim Taymans  <wim@fluendo.com>
20182
20183         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20184         Don't block forever for the state change to complete, the
20185         pipeline already did with a sensible timeout.
20186
20187 2005-07-19  Wim Taymans  <wim@fluendo.com>
20188
20189         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20190         Make sure we never call the create function is we
20191         got deactivated.
20192
20193 2005-07-19  Andy Wingo  <wingo@pobox.com>
20194
20195         * gst/parse/parse.l: Attempt to solve bug #172815.
20196
20197 2005-07-19  Wim Taymans  <wim@fluendo.com>
20198
20199         * docs/design/part-clocks.txt:
20200         * docs/design/part-events.txt:
20201         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
20202         Small docs updates.
20203         Only update the seeking values when we are not
20204         busy streaming.
20205
20206 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20207
20208         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20209           Oops, ignore the result of gst_pad_push_event here.
20210
20211 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20212
20213         * gst/base/gstbasesrc.c: (gst_base_src_loop),
20214         (gst_base_src_activate_push):
20215           Send discont event from the loop function, as pads
20216           aren't activated yet in the activate_push handler.
20217
20218         * gst/gstbin.c: (bin_bus_handler):
20219           Don't leak element name.
20220
20221 2005-07-18  Andy Wingo  <wingo@pobox.com>
20222
20223         * configure.ac: Use AS_LIBTOOL_TAGS.
20224
20225 2005-07-18  Wim Taymans  <wim@fluendo.com>
20226
20227         * docs/gst/gstreamer.types:
20228         Remove deleted types.
20229
20230 2005-07-18  Wim Taymans  <wim@fluendo.com>
20231
20232         * check/elements/gstfakesrc.c: (GST_START_TEST):
20233         * configure.ac:
20234         * gst/Makefile.am:
20235         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
20236         (init_popt_callback):
20237         * gst/gst.h:
20238         * gst/gst_private.h:
20239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
20240         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
20241         * gst/gstbin.h:
20242         * gst/gstbus.h:
20243         * gst/gstconfig.h.in:
20244         * gst/gstelement.c: (gst_element_class_init),
20245         (gst_element_set_base_time), (gst_element_get_base_time),
20246         (iterator_fold_with_resync), (gst_element_change_state),
20247         (gst_element_dispose), (gst_element_get_bus):
20248         * gst/gstelement.h:
20249         * gst/gstelementfactory.h:
20250         * gst/gsterror.c: (_gst_core_errors_init):
20251         * gst/gsterror.h:
20252         * gst/gstevent.h:
20253         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20254         * gst/gstindex.c:
20255         * gst/gstinfo.c: (_gst_debug_init):
20256         * gst/gstmessage.c: (_gst_message_copy):
20257         * gst/gstmessage.h:
20258         * gst/gstminiobject.h:
20259         * gst/gstobject.c:
20260         * gst/gstobject.h:
20261         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20262         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
20263         * gst/gstpad.h:
20264         * gst/gstparse.h:
20265         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20266         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20267         (gst_pipeline_get_last_stream_time):
20268         * gst/gstpipeline.h:
20269         * gst/gstpluginfeature.h:
20270         * gst/gstquery.h:
20271         * gst/gstscheduler.c:
20272         * gst/gstscheduler.h:
20273         * gst/gststructure.h:
20274         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
20275         (gst_task_finalize), (gst_task_func), (gst_task_create),
20276         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
20277         (gst_task_stop), (gst_task_pause):
20278         * gst/gsttask.h:
20279         * gst/gsttypefind.h:
20280         * gst/gsttypes.h:
20281         * gst/registries/gstlibxmlregistry.c: (load_feature),
20282         (gst_xml_registry_load), (gst_xml_registry_save_feature):
20283         * gst/registries/gstxmlregistry.c:
20284         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
20285         * gst/schedulers/threadscheduler.c:
20286         * libs/gst/control/dparammanager.h:
20287         * tools/gst-inspect.c: (print_element_list),
20288         (print_plugin_features), (print_element_features):
20289         * tools/gst-xmlinspect.c: (print_element_list),
20290         (print_plugin_info), (main):
20291         Removed plugable schedulers.
20292         Removed Scheduler/Manager from elements.
20293         Removed gsttypes.h, rearranged includes.
20294         Removed dependency pad<->element, element<>pipeline, and
20295         various others,  fix includes.
20296         implement gst_pad_get_parent() with gst_object_get_parent()
20297         Make GstTask sefcontained.
20298         Fix _get_state() on GstBin, it did not return ASYNC with a 0
20299         timeout.
20300         Fix endless loop in iterator_fold_with_resync.
20301
20302
20303 2005-07-18  Wim Taymans  <wim@fluendo.com>
20304
20305         * gst/Makefile.am:
20306         * gst/gstarch.h:
20307         Remove old file.
20308
20309 2005-07-18  Wim Taymans  <wim@fluendo.com>
20310
20311         * gst/Makefile.am:
20312         No more cothreads.h
20313
20314 2005-07-18  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/cothreads.c:
20317         * gst/cothreads.h:
20318         Let's remove these.
20319
20320 2005-07-18  Wim Taymans  <wim@fluendo.com>
20321
20322         * docs/design/part-dynamic.txt:
20323         * docs/design/part-events.txt:
20324         * docs/design/part-seeking.txt:
20325         Some more docs in the works.
20326
20327         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20328         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
20329         (gst_base_transform_setcaps), (gst_base_transform_get_size),
20330         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20331         (gst_base_transform_handle_buffer),
20332         (gst_base_transform_sink_activate_push),
20333         (gst_base_transform_src_activate_pull),
20334         (gst_base_transform_set_passthrough),
20335         (gst_base_transform_is_passthrough):
20336         Refcounting fixes.
20337
20338         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
20339         Cleanups.
20340
20341         * gst/gstevent.c: (gst_event_finalize):
20342         Set SRC to NULL.
20343
20344         * gst/gstutils.c: (gst_element_unlink),
20345         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
20346         (gst_pad_proxy_setcaps):
20347         * gst/gstutils.h:
20348         Add _get_parent_element() to get a pads parent as an element.
20349
20350 2005-07-18  Wim Taymans  <wim@fluendo.com>
20351
20352         * check/gst/gstbin.c: (GST_START_TEST):
20353         Remove bogus test.
20354
20355 2005-07-18  Wim Taymans  <wim@fluendo.com>
20356
20357         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20358         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20359         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20360         (gst_base_sink_event), (gst_base_sink_do_sync),
20361         (gst_base_sink_chain), (gst_base_sink_loop),
20362         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
20363         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20364         Refcounting fixes.
20365         Fix logic for returning ASYNC when not prerolled.
20366
20367 2005-07-18  Wim Taymans  <wim@fluendo.com>
20368
20369         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20370         Fix nasty refcount bug.
20371
20372 2005-07-16 Philippe Khalaf <burger@speedy.org>
20373
20374         * gst/elements/gstfdsrc.c:
20375         * gst/elements/gstfdsrc.h:
20376         * gst/elements/gstelements.c:
20377         * gst/elements/Makefile.am:
20378         Ported fdsrc to 0.9.
20379
20380 2005-07-16  Wim Taymans  <wim@fluendo.com>
20381
20382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20383         (gst_base_sink_do_sync):
20384         Fix compile error.
20385
20386 2005-07-16  Wim Taymans  <wim@fluendo.com>
20387
20388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20389         (gst_base_sink_event), (gst_base_sink_get_times),
20390         (gst_base_sink_do_sync), (gst_base_sink_change_state):
20391         * gst/base/gstbasesink.h:
20392         Store and use discont values when syncing buffers as described
20393         in design docs.
20394         
20395         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20396         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
20397         (gst_base_src_activate_push):
20398         Push discont event when starting.
20399
20400         * gst/elements/gstidentity.c: (gst_identity_transform):
20401         Small cleanups.
20402
20403         * gst/gstbin.c: (gst_bin_change_state):
20404         Small cleanups in base_time  distribution.
20405
20406         * gst/gstelement.c: (gst_element_set_base_time),
20407         (gst_element_get_base_time), (gst_element_change_state):
20408         * gst/gstelement.h:
20409         Added methods for the base_time of the element.
20410         Some MT fixes.
20411
20412         * gst/gstpipeline.c: (gst_pipeline_send_event),
20413         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20414         (gst_pipeline_get_last_stream_time):
20415         * gst/gstpipeline.h:
20416         MT fixes.
20417         Handle seeking as described in design doc, remove stream_time
20418         hack.
20419         Cleanups clock and stream_time selection code. Added accessors
20420         for the stream_time.
20421         
20422
20423 2005-07-16  Andy Wingo  <wingo@pobox.com>
20424
20425         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
20426         (#305291).
20427
20428 2005-07-16  Wim Taymans  <wim@fluendo.com>
20429
20430         * check/gst/gstbin.c: (GST_START_TEST):
20431         Make elements silent as the deep_notify refs the
20432         parent, which might make the test fail.
20433
20434         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20435         Don't hold the lock for too long.
20436
20437 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
20438
20439         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20440           Don't unref the caps we passed to gst_caps_make_writable() after
20441           passing them. gst_caps_make_writable() will do that for us.
20442
20443 2005-07-15  Andy Wingo  <wingo@pobox.com>
20444
20445         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
20446         (#157311).
20447
20448         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
20449         own marshalling function for the handoff signal. Properly type the
20450         buffer as a buffer. Fixes some warnings. Should do a more general
20451         solution.
20452         (gst_identity_class_init): Plug into the right marshaller.
20453
20454 2005-07-15  Wim Taymans  <wim@fluendo.com>
20455
20456         * docs/design/part-TODO.txt:
20457         * docs/design/part-clocks.txt:
20458         * docs/design/part-element-sink.txt:
20459         * docs/design/part-events.txt:
20460         * docs/design/part-gstpipeline.txt:
20461         Updated docs, mostly DISCONT related.
20462
20463 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
20464
20465         * docs/pwg/building-pads.xml:
20466           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
20467
20468 2005-07-15  Andy Wingo  <wingo@pobox.com>
20469
20470         * tools/gst-typefind.c: Update, add copyright block.
20471
20472         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
20473         Normalize and truncate caps before fixation.
20474
20475         * gst/gstcaps.h:
20476         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
20477         discards all but the first structure from its argument.
20478
20479 2005-07-15  Wim Taymans  <wim@fluendo.com>
20480
20481         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20482         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
20483         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20484         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20485         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
20486         (gst_base_transform_chain), (gst_base_transform_change_state),
20487         (gst_base_transform_set_passthrough),
20488         (gst_base_transform_is_passthrough):
20489         * gst/base/gstbasetransform.h:
20490         Make passthrough work using the bufferpools.
20491         Changed API a bit, subclasses have to write into a buffer
20492         provided by the base class.
20493         More debug info in nego functions.
20494         
20495         * gst/elements/gstidentity.c: (gst_identity_init),
20496         (gst_identity_transform):
20497         Port to new base class.
20498
20499 2005-07-15  Wim Taymans  <wim@fluendo.com>
20500
20501         * gst/gstmessage.c: (gst_message_new_state_changed):
20502         * tools/gst-launch.c: (event_loop), (main):
20503         Totally dump messages in -launch with the -m option.
20504         Fix message name for State messages,
20505
20506 2005-07-14  Wim Taymans  <wim@fluendo.com>
20507
20508         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20509         Post error messages on errors.
20510
20511 2005-07-14  Wim Taymans  <wim@fluendo.com>
20512
20513         * gst/gstcaps.c: (gst_caps_do_simplify):
20514         Remove debug info.
20515
20516         * gst/gsterror.h:
20517         Define error for stream stopped.
20518
20519         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20520         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
20521         Do proper return values.
20522
20523         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20524         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
20525         (gst_pad_get_range):
20526         Better return values.
20527
20528         * gst/gstpad.h:
20529         Reorganise return values, add macro to check for fatal errors.
20530
20531         * gst/gstqueue.c: (gst_queue_chain):
20532         Return proper GstFlowReturn values,
20533
20534 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20535
20536         * docs/gst/gstreamer-sections.txt:
20537         * docs/gst/gstreamer.types:
20538         * docs/gst/tmpl/gst.sgml:
20539         * docs/gst/tmpl/gstbasesink.sgml:
20540         * docs/gst/tmpl/gstbasesrc.sgml:
20541         * docs/gst/tmpl/gstbasetransform.sgml:
20542         * docs/gst/tmpl/gstbin.sgml:
20543         * docs/gst/tmpl/gstbuffer.sgml:
20544         * docs/gst/tmpl/gstcaps.sgml:
20545         * docs/gst/tmpl/gstclock.sgml:
20546         * docs/gst/tmpl/gstcompat.sgml:
20547         * docs/gst/tmpl/gstconfig.sgml:
20548         * docs/gst/tmpl/gstelement.sgml:
20549         * docs/gst/tmpl/gstelementdetails.sgml:
20550         * docs/gst/tmpl/gstelementfactory.sgml:
20551         * docs/gst/tmpl/gstenumtypes.sgml:
20552         * docs/gst/tmpl/gsterror.sgml:
20553         * docs/gst/tmpl/gstevent.sgml:
20554         * docs/gst/tmpl/gstfakesink.sgml:
20555         * docs/gst/tmpl/gstfakesrc.sgml:
20556         * docs/gst/tmpl/gstfilesink.sgml:
20557         * docs/gst/tmpl/gstfilesrc.sgml:
20558         * docs/gst/tmpl/gstfilter.sgml:
20559         * docs/gst/tmpl/gstformat.sgml:
20560         * docs/gst/tmpl/gstghostpad.sgml:
20561         * docs/gst/tmpl/gstimplementsinterface.sgml:
20562         * docs/gst/tmpl/gstindex.sgml:
20563         * docs/gst/tmpl/gstindexfactory.sgml:
20564         * docs/gst/tmpl/gstinfo.sgml:
20565         * docs/gst/tmpl/gstiterator.sgml:
20566         * docs/gst/tmpl/gstmacros.sgml:
20567         * docs/gst/tmpl/gstmemchunk.sgml:
20568         * docs/gst/tmpl/gstminiobject.sgml:
20569         * docs/gst/tmpl/gstobject.sgml:
20570         * docs/gst/tmpl/gstpad.sgml:
20571         * docs/gst/tmpl/gstpadtemplate.sgml:
20572         * docs/gst/tmpl/gstparse.sgml:
20573         * docs/gst/tmpl/gstpipeline.sgml:
20574         * docs/gst/tmpl/gstplugin.sgml:
20575         * docs/gst/tmpl/gstpluginfeature.sgml:
20576         * docs/gst/tmpl/gstquery.sgml:
20577         * docs/gst/tmpl/gstqueue.sgml:
20578         * docs/gst/tmpl/gstregistry.sgml:
20579         * docs/gst/tmpl/gstregistrypool.sgml:
20580         * docs/gst/tmpl/gstscheduler.sgml:
20581         * docs/gst/tmpl/gstschedulerfactory.sgml:
20582         * docs/gst/tmpl/gststructure.sgml:
20583         * docs/gst/tmpl/gstsystemclock.sgml:
20584         * docs/gst/tmpl/gsttaglist.sgml:
20585         * docs/gst/tmpl/gsttagsetter.sgml:
20586         * docs/gst/tmpl/gsttrace.sgml:
20587         * docs/gst/tmpl/gsttrashstack.sgml:
20588         * docs/gst/tmpl/gsttypefind.sgml:
20589         * docs/gst/tmpl/gsttypefindfactory.sgml:
20590         * docs/gst/tmpl/gsttypes.sgml:
20591         * docs/gst/tmpl/gsturihandler.sgml:
20592         * docs/gst/tmpl/gsturitype.sgml:
20593         * docs/gst/tmpl/gstutils.sgml:
20594         * docs/gst/tmpl/gstvalue.sgml:
20595         * docs/gst/tmpl/gstversion.sgml:
20596         * docs/gst/tmpl/gstxml.sgml:
20597         * docs/libs/tmpl/gstcontrol.sgml:
20598         * docs/libs/tmpl/gstdataprotocol.sgml:
20599         * docs/libs/tmpl/gstdparam.sgml:
20600         * docs/libs/tmpl/gstdplinint.sgml:
20601         * docs/libs/tmpl/gstdpman.sgml:
20602         * docs/libs/tmpl/gstdpsmooth.sgml:
20603         * docs/libs/tmpl/gstgetbits.sgml:
20604         * docs/libs/tmpl/gstunitconvert.sgml:
20605         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
20606         (gst_push_src_base_init), (gst_push_src_class_init),
20607         (gst_push_src_init), (gst_push_src_create):
20608         * gst/base/gstpushsrc.h:
20609         * gst/elements/gstelements.c:
20610         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
20611         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
20612         (gst_fake_sink_init), (gst_fake_sink_set_property),
20613         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
20614         (gst_fake_sink_event), (gst_fake_sink_preroll),
20615         (gst_fake_sink_render), (gst_fake_sink_change_state):
20616         * gst/elements/gstfakesink.h:
20617         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20618         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20619         (gst_fake_src_base_init), (gst_fake_src_class_init),
20620         (gst_fake_src_init), (gst_fake_src_event_handler),
20621         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
20622         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
20623         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
20624         (gst_fake_src_create_buffer), (gst_fake_src_create),
20625         (gst_fake_src_start), (gst_fake_src_stop):
20626         * gst/elements/gstfakesrc.h:
20627         * gst/elements/gstfilesink.c: (_do_init),
20628         (gst_file_sink_base_init), (gst_file_sink_class_init),
20629         (gst_file_sink_init), (gst_file_sink_dispose),
20630         (gst_file_sink_set_location), (gst_file_sink_set_property),
20631         (gst_file_sink_get_property), (gst_file_sink_open_file),
20632         (gst_file_sink_close_file), (gst_file_sink_query),
20633         (gst_file_sink_event), (gst_file_sink_render),
20634         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
20635         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
20636         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
20637         * gst/elements/gstfilesink.h:
20638         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
20639         (gst_file_src_class_init), (gst_file_src_init),
20640         (gst_file_src_finalize), (gst_file_src_set_location),
20641         (gst_file_src_set_property), (gst_file_src_get_property),
20642         (gst_file_src_map_region), (gst_file_src_map_small_region),
20643         (gst_file_src_create_mmap), (gst_file_src_create_read),
20644         (gst_file_src_create), (gst_file_src_is_seekable),
20645         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
20646         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
20647         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
20648         (gst_file_src_uri_handler_init):
20649         * gst/elements/gstfilesrc.h:
20650           more autistic cleanliness in functions/names/defines
20651
20652 2005-07-13  Andy Wingo  <wingo@pobox.com>
20653
20654         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
20655         source couldn't negotiate.
20656
20657         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
20658         connections again.
20659
20660         * gst/gstutils.h:
20661         * gst/gstutils.c (gst_element_link_pads_filtered): New old
20662         function. I am channeling Hades. Put your boots on suckers!!!
20663
20664 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20665
20666         * testsuite/caps/Makefile.am:
20667         * testsuite/caps/value_compare.c:
20668         * testsuite/caps/value_intersect.c:
20669         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20670           move two testsuite apps over to the check dir
20671
20672 2005-07-12  Wim Taymans  <wim@fluendo.com>
20673
20674         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20675         Added more debug info in the negotiate process.
20676
20677         * gst/gstmessage.h:
20678         Prepare for segment playback.
20679
20680         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
20681         Better debugging.
20682
20683         * gst/gstutils.c:
20684         Some more docs.
20685
20686         * tools/gst-launch.c: (main):
20687         NULL pipeline on errors.
20688
20689 2005-07-12  Andy Wingo  <wingo@pobox.com>
20690
20691         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
20692         not it comes from a malloc region. Make sure our copy gets freed.
20693
20694 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20695
20696         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20697         * check/gst/gstmessage.c: (GST_START_TEST):
20698         * check/gst/gststructure.c: (GST_START_TEST),
20699         (gst_structure_suite), (main):
20700           more testing
20701         * gst/gstelement.c: (gst_element_message_full):
20702           clean up GError and debug string now that they get copied
20703         * gst/gstmessage.c: (gst_message_new_error),
20704         (gst_message_new_warning), (gst_message_parse_error),
20705         (gst_message_parse_warning):
20706           use GST_TYPE_G_ERROR for structure_new, and take copies of
20707           arguments, so that we don't mess up refcounting
20708
20709 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20710
20711         * check/Makefile.am:
20712           add per-test valgrind targets
20713         * check/gst-libs/gdp.c: (GST_START_TEST),
20714         (gst_data_protocol_suite), (main):
20715           clean up
20716
20717 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20718
20719         * check/Makefile.am:
20720           instate more valgrindable tests
20721         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20722         (GST_START_TEST), (fakesrc_suite):
20723         * check/gst/gstpad.c: (GST_START_TEST):
20724         * check/gst/gststructure.c: (GST_START_TEST):
20725           fix test leaks
20726         * docs/gst/tmpl/gstminiobject.sgml:
20727         * gst/gstpad.c: (gst_pad_finalize):
20728           fix the static mutex leak
20729
20730 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20731
20732         * check/Makefile.am:
20733           add two more tests for valgrinding
20734         * check/gst/gstvalue.c: (GST_START_TEST):
20735           test refcount of deserialized buffer, found a leak
20736         * docs/gst/gstreamer-docs.sgml:
20737         * docs/gst/gstreamer-sections.txt:
20738         * docs/gst/gstreamer.types:
20739         * docs/gst/tmpl/gstminiobject.sgml:
20740           add miniobject to docs
20741         * gst/gstminiobject.c:
20742           add some docs
20743         * gst/gstvalue.c: (gst_value_deserialize_buffer),
20744         (gst_string_unwrap):
20745           fix a hard-to-find invalid write for one of the tests
20746           fix a leak for deserialized buffers
20747
20748 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20749
20750         * docs/pwg/advanced-events.xml:
20751         * docs/pwg/advanced-request.xml:
20752         * docs/pwg/advanced-scheduling.xml:
20753         * docs/pwg/appendix-porting.xml:
20754         * docs/pwg/building-boiler.xml:
20755         * docs/pwg/intro-preface.xml:
20756         * docs/pwg/other-ntoone.xml:
20757           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
20758           of example code and explanation for pad activation, loop() and
20759           getrange() functions and a bit more. Remove old comments pointing
20760           to loop-functions.
20761         * examples/pwg/Makefile.am:
20762           Add loop/getrange examples.
20763
20764 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20765
20766         * configure.ac:
20767           check for valgrind binary + some fixes
20768         * check/gst.supp:
20769           valgrind suppressions for the tests
20770         * check/Makefile.am:
20771           add a valgrind: target that valgrinds the unit tests
20772         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
20773         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20774         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20775         * check/gst/gstghostpad.c:
20776           added some cleanup
20777         * check/gst/gstdata.c:
20778           removed
20779         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
20780         (thread_unref), (gst_mini_object_suite), (main):
20781           added
20782         * gst/gst.c: (gst_deinit):
20783         * gst/gst.h:
20784           add a method to clean up.
20785         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20786         (gst_system_clock_obtain):
20787           allow for disposing the system clock.
20788         * tools/gst-launch.c: (main):
20789           deinit
20790
20791 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20792
20793         * docs/gst/tmpl/gstbasesrc.sgml:
20794         * docs/gst/tmpl/gstfakesrc.sgml:
20795         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20796         (gst_base_src_init), (gst_base_src_set_property),
20797         (gst_base_src_get_property), (gst_base_src_get_range),
20798         (gst_base_src_start):
20799         * gst/base/gstbasesrc.h:
20800           add num-buffers property
20801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20802         (gst_fakesrc_init), (gst_fakesrc_set_property),
20803         (gst_fakesrc_get_property), (gst_fakesrc_create),
20804         (gst_fakesrc_start):
20805           remove num-buffers property
20806
20807 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20808
20809         * docs/gst/gstreamer-sections.txt:
20810         * docs/gst/tmpl/gstbasesink.sgml:
20811         * docs/gst/tmpl/gstbasesrc.sgml:
20812         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20813         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20814         (gst_base_sink_finalize), (gst_base_sink_set_clock),
20815         (gst_base_sink_set_property), (gst_base_sink_get_property),
20816         (gst_base_sink_handle_object), (gst_base_sink_event),
20817         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20818         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
20819         (gst_base_sink_loop), (gst_base_sink_deactivate),
20820         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
20821         (gst_base_sink_change_state):
20822         * gst/base/gstbasesink.h:
20823         * gst/base/gstbasesrc.h:
20824         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
20825         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
20826         (gst_filesink_init):
20827           more macro splitting
20828
20829 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20830
20831         * gst/gstelement.c: (gst_element_get_bus):
20832           add debug
20833         * tools/gst-launch.c: (check_intr), (event_loop):
20834           fix bus leaks
20835
20836 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20837
20838         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
20839           fix a caps leak
20840
20841 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20842
20843         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20844         (gst_base_src_finalize):
20845           add finalize method and clean up properly
20846         * gst/gstpipeline.c: (gst_pipeline_dispose):
20847           add debug
20848
20849 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20850
20851         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
20852         (gst_bin_suite):
20853           add more things to check
20854         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20855         * gst/gstelement.c:
20856           more debug
20857
20858 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20859
20860         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20861         (GST_START_TEST), (fakesrc_suite):
20862         * check/gst-libs/gdp.c: (GST_START_TEST):
20863         * check/gst/gst.c: (GST_START_TEST):
20864         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20865         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20866         * check/gst/gstbus.c: (GST_START_TEST):
20867         * check/gst/gstcaps.c: (GST_START_TEST):
20868         * check/gst/gstdata.c: (GST_START_TEST):
20869         * check/gst/gstelement.c: (GST_START_TEST):
20870         * check/gst/gstghostpad.c: (GST_START_TEST):
20871         * check/gst/gstiterator.c: (GST_START_TEST):
20872         * check/gst/gstmessage.c: (GST_START_TEST):
20873         * check/gst/gstobject.c: (GST_START_TEST):
20874         * check/gst/gstpad.c: (GST_START_TEST):
20875         * check/gst/gststructure.c: (GST_START_TEST):
20876         * check/gst/gstsystemclock.c: (GST_START_TEST),
20877         (gst_systemclock_suite):
20878         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20879         * check/gst/gstvalue.c: (GST_START_TEST):
20880         * check/pipelines/cleanup.c: (GST_START_TEST):
20881         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20882         * check/states/sinks.c: (GST_START_TEST):
20883         * check/gstcheck.c: (gst_check_init):
20884         * check/gstcheck.h:
20885           add debugging category
20886           use GST_START_TEST now, so we add a debug line
20887
20888 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20889
20890         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
20891           add test for state change message on a bin
20892         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
20893           add another test
20894         * gst/gstbin.c: (gst_bin_init):
20895         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
20896         * gst/gstelement.c: (gst_element_post_message),
20897         (gst_element_set_state):
20898         * gst/gstelementfactory.c: (gst_element_factory_create):
20899         * gst/gstmessage.c: (gst_message_new):
20900         * gst/gstscheduler.c:
20901           various debugging additions and cleanups
20902
20903 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20904
20905         * check/Makefile.am:
20906         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
20907         (main):
20908           adding tests for elements
20909         * gst/gstelement.c: (gst_element_dispose):
20910
20911 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20912
20913         * gst/registries/gstlibxmlregistry.c: (load_feature):
20914           plug more leaks.  A simple gst_init() now is leakfree, yay.
20915
20916 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20917
20918         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
20919         (gst_xml_registry_load):
20920           plug another memleak
20921
20922 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20923
20924         * configure.ac:
20925           use GST_SET_ERROR_CFLAGS
20926         * docs/faq/cvs.xml:
20927           change to ERROR_CFLAGS
20928
20929 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20930
20931         * configure.ac:
20932           make GST_ERROR_CFLAGS overridable and re-enable Werror
20933         * docs/faq/cvs.xml:
20934           add a note about error CFLAGS
20935         * docs/gst/tmpl/gstfakesrc.sgml:
20936         * gst/elements/gstfakesrc.c:
20937           comment out some unused code
20938         * gst/gst.c: (split_and_iterate):
20939         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
20940         (load_feature):
20941           plug some memleaks
20942
20943 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20944
20945         * common/Makefile.am:
20946         * common/gtk-doc.mak:
20947         * docs/gst/Makefile.am:
20948           factor out gtk-doc.mak
20949
20950 2005-07-07  Wim Taymans  <wim@fluendo.com>
20951
20952         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
20953         (gst_thread_scheduler_dispose):
20954         Unlock the STREAM_LOCK completely.
20955
20956 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20957
20958         * check/Makefile.am:
20959         * check/elements/.cvsignore:
20960         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20961         (START_TEST), (fakesrc_suite), (main):
20962         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20963         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20964         (gst_fakesrc_create), (gst_fakesrc_start):
20965         * gst/elements/gstfakesrc.h:
20966           adding a first element test
20967
20968 2005-07-07  Andy Wingo  <wingo@pobox.com>
20969
20970         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
20971         debug message.
20972
20973 2005-07-07  Wim Taymans  <wim@fluendo.com>
20974
20975         * gst/gstquery.c:
20976         * gst/gstquery.h:
20977         Remove old types
20978
20979 2005-07-07  Wim Taymans  <wim@fluendo.com>
20980
20981         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20982         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
20983         Allow subclasses to implement their own negotiation.
20984
20985 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20986
20987         * docs/design/part-gstbin.txt:
20988         * docs/design/part-gstpipeline.txt:
20989           Update design notes to reflect the movement of
20990           responsibility for bus handling from GstPipeline to
20991           GstBin
20992
20993 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20994
20995         * configure.ac:
20996           Remove unnecessary queue2/3/4 examples.
20997
20998 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20999
21000         * examples/Makefile.am:
21001         * examples/helloworld/helloworld.c: (event_loop), (main):
21002         * examples/queue/queue.c: (event_loop), (main):
21003         * examples/queue2/queue2.c: (main):
21004           Update a couple of the examples to work again.
21005
21006         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21007         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
21008          Spelling corrections and extra debug.
21009         
21010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
21011         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
21012         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
21013         * gst/gstbin.h:
21014         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21015         (gst_pipeline_change_state):
21016         * gst/gstpipeline.h:
21017           Move the bus handler for children to the GstBin, and create a
21018           separate bus for receiving messages from children to the one the
21019           bus sends 'upwards' on.
21020
21021 2005-07-06  Wim Taymans  <wim@fluendo.com>
21022
21023         * gst/base/README:
21024         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21025         (gst_base_sink_handle_object), (gst_base_sink_loop),
21026         (gst_base_sink_change_state):
21027         * gst/base/gstbasesink.h:
21028         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21029         (gst_base_src_init), (gst_base_src_setcaps),
21030         (gst_base_src_getcaps), (gst_base_src_loop),
21031         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
21032         (gst_base_src_start), (gst_base_src_change_state):
21033         * gst/base/gstbasesrc.h:
21034         Make basesrc negotiate.
21035         Handle the case where preroll fails in basesink.
21036         Update README.
21037
21038 2005-07-06  Wim Taymans  <wim@fluendo.com>
21039
21040         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
21041         Implement the fixate function.
21042         Clean up acceptcaps.
21043
21044 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21045
21046         * docs/pwg/building-filterfactory.xml:
21047         * docs/pwg/pwg.xml:
21048           Remove never-written filter-factory chapter; I'll add the various
21049           base classes to part 4 ("other element types") later on.
21050
21051 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21052
21053         * docs/pwg/advanced-negotiation.xml:
21054         * docs/pwg/building-boiler.xml:
21055         * docs/pwg/building-pads.xml:
21056         * docs/pwg/pwg.xml:
21057         * examples/pwg/Makefile.am:
21058           Add a chapter on caps negotiation, simplify the original code
21059           samples a bit w.r.t. caps negotiation, add link to the advanced
21060           section. Add a bunch of examples showing different use cases of
21061           different types of caps negotiation. Upstream renegotiation isn't
21062           fully documented yet since nobody knows how that works.
21063
21064 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21065
21066         * check/gst/gstpad.c:
21067         * check/gstcheck.c:
21068         * gst/gstpad.c: (gst_pad_get_internal_links_default):
21069           if pad has no parent, return NULL as list of internal links
21070
21071 2005-07-05  Andy Wingo  <wingo@pobox.com>
21072
21073         * gst/elements/gstfilesrc.c:
21074         * gst/elements/gstfakesrc.c: 
21075         * gst/base/gstpushsrc.c:
21076         * gst/base/gstbasesrc.h: 
21077         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
21078         
21079 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
21080
21081         * Makefile.am:
21082           better report generation target (lcov needs a patch)
21083
21084 2005-07-05  Andy Wingo  <wingo@pobox.com>
21085
21086         * gst/elements, testsuite: Null if we got it...
21087
21088 2005-07-05  Wim Taymans  <wim@fluendo.com>
21089
21090         * configure.ac:
21091         * libs/gst/dataprotocol/Makefile.am:
21092         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
21093         * libs/gst/dataprotocol/dataprotocol.h:
21094         * pkgconfig/Makefile.am:
21095         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
21096         * pkgconfig/gstreamer-dataprotocol.pc.in:
21097         Ported dataprotol to 0.9. 
21098         Added pkgconfig files.
21099
21100 2005-07-05  Andy Wingo  <wingo@pobox.com>
21101
21102         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
21103         Default to returning TRUE for the case when tranform_caps returns
21104         a fixed caps, like for identity or volume.
21105
21106         * check/gst/gstbus.c (pound_bus_with_messages): 
21107         * check/gst/gstmessage.c (START_TEST): 
21108         * check/pipelines/simple_launch_lines.c (got_handoff): Application
21109         message API change.
21110
21111         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
21112         logic weaks here: always run transform_caps, trying passthrough
21113         operation only if the original caps intersects with the transform.
21114
21115         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
21116         source and sink caps.
21117
21118         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
21119         Intersect the peer caps with the pad template before going into
21120         transform_caps.
21121         (gst_base_transform_transform_caps): More debugging.
21122
21123         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
21124         src argument.
21125
21126 2005-07-04  Edward Hervey  <edward@fluendo.com>
21127
21128         * gst/gstutils.c:
21129         * gst/gstutils.h:
21130         (gst_pad_add_*_probe): now returns the signal id for better wrapping
21131         in bindings.
21132
21133 2005-07-04  Andy Wingo  <wingo@pobox.com>
21134
21135         * check/gst/gstpad.c: Only set explicit caps on pads.
21136
21137 2005-07-01  Andy Wingo  <wingo@pobox.com>
21138
21139         * tests/network-clock.scm: Commentary update.
21140
21141         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
21142         Didn't really make sense, not implementable with basetransform,
21143         etc.
21144         (gst_identity_transform): Unref inbuf via make_writable. Feeble
21145         attempt at implementing the sync property, needs an unlock method.
21146
21147         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
21148         New func, by default returns the same caps (the identity
21149         transformation).
21150         (gst_base_transform_getcaps): Uses transform_caps to return
21151         something sensible.
21152         (gst_base_transform_setcaps): Complicated logic to get caps on
21153         both pads, even if they are different, and to call set_caps once
21154         for every time both pads get their caps set.
21155         (gst_base_transform_handle_buffer): Give the ref to the transform
21156         function. Allows in-place modification of the buffer.
21157
21158         * gst/base/gstbasetransform.h (transform_caps): New class method.
21159         Given caps on one side, what can I do on the other.
21160         (set_caps): Take two caps, one for each side of the element.
21161
21162         * gst/gstpad.h:
21163         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
21164         caps in place. This is safe because we can check the mutability of
21165         the caps, and a good idea because fixate functions are just called
21166         as a matter of last resort. (Not actually implemented.)
21167         (gst_pad_set_caps): If the caps we're setting is actually the same
21168         as the existing pad caps, just update the pointer without calling
21169         setcaps. Assert that caps is either NULL or fixed, as per the
21170         docs.
21171
21172         * gst/gstghostpad.c: Update for fixate changes.
21173
21174 2005-07-02  Andy Wingo  <wingo@pobox.com>
21175
21176         * gst/gstcaps.c:
21177         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
21178         two refcounts makes it immutable, which is enough. Doc more.
21179
21180 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
21181
21182         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
21183           Put the mini_object into GValue as a mini_object,
21184           not a gpointer, since that's how we declared
21185           the signal.
21186
21187 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21188
21189         * examples/pwg/Makefile.am:
21190           Fix buildbot again.
21191
21192 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21193
21194         * docs/pwg/building-testapp.xml:
21195           Add extra check.
21196         * examples/pwg/Makefile.am:
21197           Fix buildbot.
21198
21199 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21200
21201         * configure.ac:
21202         * examples/Makefile.am:
21203         * examples/pwg/Makefile.am:
21204         * examples/pwg/extract.pl:
21205           Enable building the PWG examples.
21206         * docs/pwg/advanced-interfaces.xml:
21207           Add URI interface stub.
21208         * docs/pwg/advanced-types.xml:
21209         * docs/pwg/other-autoplugger.xml:
21210         * docs/pwg/appendix-porting.xml:
21211         * docs/pwg/pwg.xml:
21212           Add porting guide (mostly stubs), remove autoplugging (see ADM).
21213         * docs/pwg/building-boiler.xml:
21214         * docs/pwg/building-chainfn.xml:
21215         * docs/pwg/building-pads.xml:
21216         * docs/pwg/building-props.xml:
21217         * docs/pwg/building-state.xml:
21218         * docs/pwg/building-testapp.xml:
21219           Update the building-*.xml parts for 0.9 changes. All examples
21220           code blocks compile in examples/pwg/*.
21221
21222 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21223
21224         * docs/manual/advanced-autoplugging.xml:
21225         * docs/manual/appendix-checklist.xml:
21226         * docs/manual/appendix-integration.xml:
21227         * docs/manual/highlevel-components.xml:
21228           Fix playbin/decodebin examples, update docs a bit, mention bus
21229           instead of signals in various places, mention kmplayer and
21230           kaffeine since they have a working GStreamer backend in the KDE
21231           section.
21232
21233 2005-06-30  Wim Taymans  <wim@fluendo.com>
21234
21235         * CHANGES-0.9:
21236         * docs/design/draft-ghostpads.txt:
21237         * docs/design/draft-push-pull.txt:
21238         * docs/design/draft-query.txt:
21239         * docs/design/part-TODO.txt:
21240         * docs/design/part-query.txt:
21241         Added CHANGES-0.9 doc, updated status of other docs.
21242         
21243         * gst/gstquery.h:
21244         Remove "hmm" macro
21245
21246 2005-06-30  Wim Taymans  <wim@fluendo.com>
21247
21248         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21249         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21250         (gst_base_sink_change_state):
21251         * gst/base/gstbasesink.h:
21252         Some tweaks, only EOS and a buffer complete a preroll.
21253
21254 2005-06-30  Andy Wingo  <wingo@pobox.com>
21255
21256         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
21257         activate_push down to the internal pad as well.
21258
21259 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
21260
21261         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21262
21263         * gst/gsttaginterface.c:
21264           Some documentation fixes (#307394 and #307397).
21265
21266 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
21267
21268         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21269
21270         * gst/gstvalue.c: (gst_value_intersect_list):
21271           Fix memleak (#309125).
21272
21273 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21274
21275         * docs/manual/advanced-dataaccess.xml:
21276           Fix fakesrc example to compile; doesn't work, bug somewhere...?
21277         * docs/manual/basics-pads.xml:
21278           Add reference for filtered caps to above chapter.
21279
21280 2005-06-30  Wim Taymans  <wim@fluendo.com>
21281
21282         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
21283         (gst_bin_change_state):
21284         Probes are gone.
21285         Lame attempt at making the state change function a bit
21286         more readable.
21287
21288 2005-06-30  Wim Taymans  <wim@fluendo.com>
21289
21290         * docs/design/part-clocks.txt:
21291         * docs/design/part-element-sink.txt:
21292         * docs/design/part-events.txt:
21293         * docs/design/part-preroll.txt:
21294         * docs/design/part-states.txt:
21295         Some more tweeks and additions to the docs.
21296
21297 2005-06-30  Wim Taymans  <wim@fluendo.com>
21298
21299         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21300         (default_have_data), (gst_pad_class_init), (gst_pad_init),
21301         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21302         (gst_pad_check_pull_range), (gst_pad_get_range),
21303         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
21304         * gst/gstpad.h:
21305         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
21306         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21307         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21308         (gst_pad_remove_buffer_probe):
21309         Removed atomic operations, use existing LOCK.
21310         Move exception handling out of main code path.
21311
21312 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21313
21314         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21315         (silly_return_true_function), (gst_pad_class_init),
21316         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21317         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
21318         (gst_pad_send_event):
21319           Fix accumulator, add default value by using _emitv() instead
21320           of _emit() for signal emission.
21321
21322 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21323
21324         * docs/manual/advanced-dataaccess.xml:
21325         * examples/manual/Makefile.am:
21326           Add probe example.
21327         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
21328           Make work (??).
21329
21330 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
21331
21332         * gst/elements/gstfilesink.c: (gst_filesink_render):
21333           Simplify code so that we don't have to handle short
21334           writes and return GST_FLOW_ERROR if an error occured.
21335
21336 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21337
21338         * docs/gst/gstreamer-docs.sgml:
21339           Remove probes more.
21340
21341 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21342
21343         * docs/gst/gstreamer-sections.txt:
21344         * docs/gst/tmpl/gstpad.sgml:
21345         * docs/gst/tmpl/gstprobe.sgml:
21346         * gst/Makefile.am:
21347         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21348         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
21349         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21350         (gst_pad_push_event), (gst_pad_send_event):
21351         * gst/gstpad.h:
21352         * gst/gstutils.c: (gst_pad_add_data_probe),
21353         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21354         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21355         (gst_pad_remove_buffer_probe):
21356         * gst/gstutils.h:
21357           Remove old probes, add new g-signal-based probes and some utility
21358           functions.
21359
21360 2005-06-29  Edward Hervey  <edward@fluendo.com>
21361
21362         * gst/gstelementfactory.c:
21363         * gst/gstutils.h:
21364         * gst/gstutils.c:
21365         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
21366         the definition to the header file.
21367
21368 2005-06-29  Andy Wingo  <wingo@pobox.com>
21369
21370         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
21371         plugins from the source directory.
21372
21373 2005-06-29  Wim Taymans  <wim@fluendo.com>
21374
21375         * docs/gst/tmpl/gstbuffer.sgml:
21376         * docs/gst/tmpl/gstclock.sgml:
21377         Some fixings for blantently wrong text.
21378
21379 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21380
21381         * check/Makefile.am:
21382         * gst/gst.c: (add_path_func), (init_pre):
21383         * gst/gstregistry.c: (gst_registry_add_path):
21384           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
21385           only scan the GST_PLUGIN_PATH locations, and not add
21386           system locations
21387
21388 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21389
21390         * docs/gst/gstreamer-sections.txt:
21391         * docs/gst/tmpl/gstbasesrc.sgml:
21392         * gst/gstelement.c:
21393         * gst/gstelement.h:
21394         * gst/gstevent.c:
21395         * gst/gstutils.c:
21396           doc fixes
21397
21398 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21399
21400         * docs/manual/advanced-autoplugging.xml:
21401           Fix autoplugging example.
21402
21403 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21404
21405         * docs/manual/advanced-autoplugging.xml:
21406         * docs/manual/mime-world.fig:
21407           Try to get autoplugging working, fix type detection. Fix text
21408           in hello-world image.
21409
21410 2005-06-29  Wim Taymans  <wim@fluendo.com>
21411
21412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21413         (gst_base_sink_change_state):
21414         Small debug line.
21415
21416         * gst/gstclock.h:
21417         map SIGNAL and BROADCAST to the right function.
21418
21419         * gst/gstobject.h:
21420         Remove redundant braces.
21421
21422         * gst/gstpad.c: (gst_pad_set_caps):
21423         Don't call setcaps function when reseting caps to NULL.
21424
21425         * gst/gstsystemclock.c: (gst_system_clock_dispose),
21426         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
21427         (gst_system_clock_id_unschedule):
21428         Use BROADCAST as this is what we do.
21429
21430 2005-06-29  Wim Taymans  <wim@fluendo.com>
21431
21432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21433         We are actually prerolling before commiting the state
21434         change. 
21435
21436 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21437
21438         * docs/manual/advanced-clocks.xml:
21439         * docs/manual/advanced-interfaces.xml:
21440         * docs/manual/advanced-metadata.xml:
21441         * docs/manual/advanced-position.xml:
21442         * docs/manual/advanced-schedulers.xml:
21443         * docs/manual/advanced-threads.xml:
21444         * docs/manual/appendix-porting.xml:
21445         * docs/manual/basics-bins.xml:
21446         * docs/manual/basics-bus.xml:
21447         * docs/manual/basics-elements.xml:
21448         * docs/manual/basics-helloworld.xml:
21449         * docs/manual/basics-pads.xml:
21450         * docs/manual/highlevel-components.xml:
21451         * docs/manual/manual.xml:
21452         * docs/manual/thread.fig:
21453           Update (until threads/scheduling) Application Development Manual;
21454           remove GstThread, add GstBus, add simple porting checklist, add
21455           documentation for tag writing, clocks, make all examples until this
21456           part compile and run.
21457         * examples/manual/Makefile.am:
21458           Update from changes to Application Development Manual; add bus
21459           example, remove thread example.
21460
21461 2005-06-28  Wim Taymans  <wim@fluendo.com>
21462
21463         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
21464         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
21465         (gst_bus_source_dispatch):
21466         Add debugging messages.
21467         Make internal methods static.
21468         Handle the case where the bus is flushed in the handler.
21469         
21470         * gst/gstelement.c: (gst_element_get_bus):
21471         Fix refcount in _get_bus();
21472
21473         * gst/gstpipeline.c: (gst_pipeline_change_state),
21474         (gst_pipeline_get_clock_func):
21475         Clock refcounting fixes.
21476         Handle the case where preroll timed out more gracefully.
21477         
21478         * gst/gstsystemclock.c: (gst_system_clock_dispose):
21479         Clean up the internal thread in dispose. This is needed
21480         for subclasses that actually get disposed.
21481         
21482         * gst/schedulers/threadscheduler.c:
21483         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
21484         (gst_thread_scheduler_dispose):
21485         Free thread pool in dispose.
21486
21487 2005-06-28  Andy Wingo  <wingo@pobox.com>
21488
21489         * tests/network-clock-utils.scm (debug, print-event): New utils.
21490
21491         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
21492         (*packet-loss*): Unified loss probability.
21493         (network-time): Report out-of-band events.
21494
21495         * tests/plot-data: Add support for out-of-band events. Hack it
21496         into this script instead of passing it down the pipe; should fix
21497         this later.
21498
21499 2005-06-28  Wim Taymans  <wim@fluendo.com>
21500
21501         * docs/gst/gstreamer.types:
21502         * docs/gst/tmpl/gstbasesrc.sgml:
21503         * docs/gst/tmpl/gstpad.sgml:
21504         Docs fixes.
21505
21506 2005-06-28  Wim Taymans  <wim@fluendo.com>
21507
21508         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21509         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
21510         (gst_proxy_pad_do_fixatecaps):
21511         Correctly proxy the check_pull_range function.
21512
21513 2005-06-28  Andy Wingo  <wingo@pobox.com>
21514
21515         * tests/network-clock.scm: Removed need for slib.
21516         
21517 2005-06-28  Wim Taymans  <wim@fluendo.com>
21518
21519         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
21520         (gst_basesink_preroll_queue_flush):
21521         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
21522         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
21523         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21524         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21525         (gst_proxy_pad_set_property):
21526         * gst/gstpad.c:
21527         * gst/gstpad.h:
21528         * gst/gstqueue.c: (gst_queue_init):
21529         The deprecated pad loop function is removed now.
21530
21531 2005-06-28  Andy Wingo  <wingo@pobox.com>
21532
21533         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
21534         New parameters, simulate network packet loss.
21535
21536         * tests/network-clock-utils.scm: Initialize the RNG.
21537
21538 2005-06-28  Wim Taymans  <wim@fluendo.com>
21539
21540         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
21541         (gst_basesink_event), (gst_basesink_deactivate):
21542         Flushing the preroll queue always needs to unlock the waiters.
21543
21544 2005-06-28  Edward Hervey  <edward@fluendo.com>
21545
21546         * gst/gstpipeline.c: (gst_pipeline_send_event): 
21547         Wheen a seek was successful on a pipeline, set the stream_time to the
21548         seek offset in order to have a synchronized stream_time.
21549
21550 2005-06-28  Wim Taymans  <wim@fluendo.com>
21551
21552         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21553         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
21554         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
21555         (gst_proxy_pad_do_fixatecaps):
21556         Call wrapper function instead of just calling the function
21557         pointers. This takes care of any locking and whatmore.
21558
21559 2005-06-28  Wim Taymans  <wim@fluendo.com>
21560
21561         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
21562         (gst_pad_pull_range):
21563         * gst/gstpad.h:
21564         CONNECTED -> LINKED.
21565
21566 2005-06-28  Andy Wingo  <wingo@pobox.com>
21567
21568         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
21569         source-munging commit!!!
21570
21571         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
21572         (gst_object_sink): Take gpointer arguments, not GstObject --
21573         avoids casts. Like GLib.
21574
21575         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
21576         activate.
21577
21578 2005-06-27  Andy Wingo  <wingo@pobox.com>
21579
21580         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
21581         remaining buffer.
21582
21583         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
21584         returns a sorted copy of the trace list.
21585         (gst_alloc_trace_print_live): New API, only prints traces with
21586         live objects. Sort the list.
21587         (gst_alloc_trace_print_all): Sort the list.
21588         (gst_alloc_trace_print): Align columns.
21589
21590         * gst/elements/gstttypefindelement.c:
21591         * gst/elements/gsttee.c:
21592         * gst/base/gstbasesrc.c:
21593         * gst/base/gstbasesink.c:
21594         * gst/base/gstbasetransform.c:
21595         * gst/gstqueue.c: Adapt for pad activation changes.
21596
21597         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
21598         sched.
21599         (gst_pipeline_dispose): Drop ref on sched.
21600
21601         * gst/gstpad.c (gst_pad_init): Set the default activate func.
21602         (gst_pad_activate_default): Push mode by default.
21603         (pre_activate_switch, post_activate_switch): New stubs, things to
21604         do before and after switching activation modes on pads.
21605         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
21606         the pad's activate function to choose which mode to activate.
21607         Shortcut on deactivation and call the right function directly.
21608         (gst_pad_activate_pull): New API, (de)activates a pad in pull
21609         mode.
21610         (gst_pad_activate_push): New API, same for push mode.
21611         (gst_pad_set_activate_function) 
21612         (gst_pad_set_activatepull_function) 
21613         (gst_pad_set_activatepush_function): Setters for new API.
21614
21615         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
21616         Trace all miniobjects.
21617         (gst_mini_object_make_writable): Unref the arg if we copy, like
21618         gst_caps_make_writable.
21619
21620         * gst/gstmessage.c (_gst_message_initialize): No trace init.
21621
21622         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
21623         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
21624         Adapt for new pad API.
21625
21626         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
21627
21628         * gst/gstelement.h:
21629         * gst/gstelement.c (gst_element_iterate_src_pads) 
21630         (gst_element_iterate_sink_pads): New API functions.
21631         
21632         * gst/gstelement.c (iterator_fold_with_resync): New utility,
21633         should fold into gstiterator.c in some form.
21634         (gst_element_pads_activate): Simplified via use of fold and
21635         delegation of decisions to gstpad->activate.
21636
21637         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
21638         help in debugging.
21639
21640         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
21641         class once in init, like gstmessage. Didn't run into this issue
21642         but it seems correct. Don't initialize a trace, gstminiobject does
21643         that.
21644
21645         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
21646         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
21647         to the bus.
21648         (assert_live_count): New util function, uses alloc traces to check
21649         cleanup.
21650
21651         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
21652         To be modified when unlink drops the internal pad.
21653
21654 2005-06-27  Wim Taymans  <wim@fluendo.com>
21655
21656         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
21657         (gst_bin_change_state):
21658         Cleanup the get_state() function a little, make sure it
21659         iterates the same set of elements.
21660         Added stub iterate_state_order().
21661
21662 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21663
21664         * docs/gst/gstreamer-docs.sgml:
21665         * docs/gst/gstreamer-sections.txt:
21666         * docs/gst/gstreamer.types:
21667         * docs/gst/tmpl/gstbasesink.sgml:
21668         * docs/gst/tmpl/gstbasesrc.sgml:
21669         * docs/gst/tmpl/gstbasetransform.sgml:
21670         * docs/gst/tmpl/gstelement.sgml:
21671         * docs/gst/tmpl/gstiterator.sgml:
21672         * gst/base/gstbasesrc.c:
21673         * gst/base/gstbasesrc.h:
21674         * gst/base/gstbasetransform.h:
21675         * gst/gstelement.c:
21676         * gst/gstiterator.h:
21677           adding basetransform and iterator docs
21678
21679 2005-06-27  Andy Wingo  <wingo@pobox.com>
21680
21681         * docs/design/part-activation.txt: Notes on how activation should
21682         work -- not quite implemented yet.
21683
21684 2005-06-25  Wim Taymans  <wim@fluendo.com>
21685
21686         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
21687         At least get the chain function correct, needs more
21688         fixing.
21689
21690 2005-06-25  Wim Taymans  <wim@fluendo.com>
21691
21692         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21693         (gst_basesink_handle_object), (gst_basesink_event),
21694         (gst_basesink_do_sync), (gst_basesink_handle_event),
21695         (gst_basesink_change_state):
21696         * gst/gsttask.h:
21697         Right, two problems here: ghostpads don't take locks and
21698         glib _rec_mutex_lock_full() with depth==0 still locks.
21699         Catch illegal locking and g_warn them.
21700
21701 2005-06-25  Wim Taymans  <wim@fluendo.com>
21702
21703         * check/states/sinks.c: (START_TEST), (gst_object_suite):
21704         Have to check for completion now...
21705
21706 2005-06-25  Wim Taymans  <wim@fluendo.com>
21707
21708         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21709         (gst_basesink_handle_object), (gst_basesink_event),
21710         (gst_basesink_do_sync), (gst_basesink_handle_event),
21711         (gst_basesink_change_state):
21712         * gst/gstpad.h:
21713         Unlock STREAM_LOCK whatever the recursion was.
21714
21715 2005-06-25  Wim Taymans  <wim@fluendo.com>
21716
21717         * gst/base/gstbasesink.c: (gst_basesink_set_property),
21718         (gst_basesink_preroll_queue_empty),
21719         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
21720         (gst_basesink_event), (gst_basesink_do_sync),
21721         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
21722         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
21723         (gst_basesink_change_state):
21724         Reworked the base sink, handle event and buffer serialisation
21725         correctly and removed possible deadlock.
21726         Handle EOS correctly.
21727
21728 2005-06-25  Wim Taymans  <wim@fluendo.com>
21729
21730         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
21731         (gst_pipeline_change_state):
21732         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21733         Allow elements to post EOS in the state change function.
21734         Fix up -launch, make it exit the poll loop when the
21735         pipeline actually changed state.
21736         Fix up warning parsing in -launch.
21737
21738 2005-06-25  Wim Taymans  <wim@fluendo.com>
21739
21740         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
21741         (gst_tee_sink_activate):
21742         Core takes STREAM_LOCK for us now.
21743
21744 2005-06-25  Wim Taymans  <wim@fluendo.com>
21745
21746         * gst/gstelement.c: (gst_element_get_state_func),
21747         (gst_element_set_state):
21748         * gst/gstelement.h:
21749         * gst/gstmessage.c: (gst_message_parse_error),
21750         (gst_message_parse_warning):
21751         Keep track of current target state while performing a state
21752         change so that subclasses can do something interesting.
21753         Fix parsing of warning/error messages when GError is NULL.
21754
21755 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21756
21757         * docs/gst/Makefile.am:
21758         * docs/gst/gstreamer-docs.sgml:
21759         * docs/gst/gstreamer-sections.txt:
21760         * docs/gst/gstreamer.types:
21761         * docs/gst/tmpl/gstbasesink.sgml:
21762         * docs/gst/tmpl/gstbasesrc.sgml:
21763         * docs/gst/tmpl/gstbin.sgml:
21764         * docs/gst/tmpl/gstcompat.sgml:
21765         * docs/gst/tmpl/gstfakesink.sgml:
21766         * docs/gst/tmpl/gstfakesrc.sgml:
21767         * docs/gst/tmpl/gstfilesink.sgml:
21768         * docs/gst/tmpl/gstfilesrc.sgml:
21769         * docs/gst/tmpl/gstindex.sgml:
21770         * docs/manual/appendix-quotes.xml:
21771         * gst/base/gstbasesrc.h:
21772         * gst/elements/gstfakesrc.h:
21773         * gst/gstmessage.h:
21774           start pulling in base classes and elements in our docs
21775
21776 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
21777
21778         * docs/gst/Makefile.am:
21779         * docs/libs/Makefile.am:
21780           fixed make distcheck with gtk-doc 1.3
21781
21782 2005-06-23  Wim Taymans  <wim@fluendo.com>
21783
21784         * gst/gstelement.c: (gst_element_get_state_func),
21785         (gst_element_set_state), (gst_element_change_state):
21786         When the state did not change, also report NO_PREROLL
21787         when it matters.
21788
21789 2005-06-23  Wim Taymans  <wim@fluendo.com>
21790
21791         * gst/gstpad.c: (gst_pad_event_default):
21792         * gst/gstqueue.c: (gst_queue_loop):
21793         No unsafe task pausing please.
21794
21795 2005-06-23  Wim Taymans  <wim@fluendo.com>
21796
21797         * gst/schedulers/threadscheduler.c:
21798         (gst_thread_scheduler_task_start),
21799         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
21800         Ref the task before pushing it on the threadpool. This
21801         makes sure that we have a ref when the threadfunction is
21802         actually called.
21803
21804 2005-06-23  Andy Wingo  <wingo@pobox.com>
21805
21806         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
21807         offset is greater than the file's size.
21808
21809         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
21810         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
21811         * gst/gstobject.c (gst_object_class_init): Make the class lock
21812         recursive. Wim won't let me drop deep_notify. Decodebin works
21813         again, whoopdy doo.
21814
21815         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
21816         internal pad, and hacks accordingly. Doesn't do it on the target
21817         pad because we change its caps. Probably catches all cases of
21818         interest tho.
21819         (gst_ghost_pad_set_property): Connect to notify::caps as
21820         appropritate.
21821
21822         * tests/network-clock.scm (plot-simulation): Pipe data to the
21823         elite python skript.
21824
21825         * tests/network-clock-utils.scm (define-parameter): New macro,
21826         defines a parameter that can be set via the command line.
21827         (set-parameter!, parse-parameter-arguments): Command line args
21828         parser.
21829
21830         * tests/plot-data: Simple matplotlib-based plotter, takes input on
21831         stdin.
21832
21833 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
21834
21835         * gst/elements/gsttypefindelement.c:
21836         (gst_type_find_element_handle_event):
21837           Don't restart typefinding on a discont.
21838         * gst/gstelement.c: (gst_element_set_state):
21839           Debug spelling fix.
21840         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
21841           Allow changing mode of an active pad.
21842           Debug output fixes.
21843         * gst/registries/gstlibxmlregistry.c: (load_feature):
21844           Don't cast a static pad template to a normal pad template.
21845
21846 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21847
21848         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21849         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21850           remove gst_strtoll completely, since it didn't actually do
21851           anything more than what g_ascii_strtoull already does.
21852           check for range errors when deserializing
21853           do a cast for the unsigned cases; but further fixing needs
21854           a decision on what the interpretation of "(int)" and
21855           deserialization should be for values that fall outside the
21856           type's boundaries (ie, refuse, or interpret as casting)
21857
21858 2005-06-23  Wim Taymans  <wim@fluendo.com>
21859
21860         * check/Makefile.am:
21861         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
21862         * docs/design/part-live-source.txt:
21863         * docs/design/part-states.txt:
21864         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21865         (gst_basesrc_set_live), (gst_basesrc_is_live),
21866         (gst_basesrc_get_range), (gst_basesrc_activate),
21867         (gst_basesrc_change_state):
21868         * gst/base/gstbasesrc.h:
21869         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21870         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21871         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
21872         * gst/gstelement.c: (gst_element_get_state_func),
21873         (gst_element_set_state):
21874         * gst/gstelement.h:
21875         * gst/gsttypes.h:
21876         * tools/gst-launch.c: (event_loop), (main):
21877         Added support for live sources and other elements that
21878         cannot do preroll.
21879         Updated design docs, added live-source design doc.
21880         Implemented live source functionality in basesrc
21881         Fix error condition in _bin_get_state()
21882         Implement live source handling in -launch.
21883         Added check for live sources.
21884         Fixed case in GstBin where elements were changed state
21885         multiple times.
21886
21887
21888 2005-06-23  Andy Wingo  <wingo@pobox.com>
21889
21890         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
21891         borken refcounting.
21892
21893         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
21894         gst_caps_replace takes care of this for us.
21895
21896         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
21897         gst_pad_set_caps on the target, not just its setcaps() function.
21898
21899         * tests/network-clock.scm: 
21900         * tests/network-clock-utils.scm: A network clock simulator.
21901         Something of an algorithmic testbed before doing something in C.
21902
21903 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21904
21905         * check/Makefile.am:
21906         * check/gst/capslist.h:
21907           copy over from 0.8, and add two with bitmasks specified with
21908           (int) 0xFF...
21909         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21910           add test to parse everything from capslist.h
21911         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
21912         (main):
21913           add test for structure deserialization
21914         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21915           add tests for deserialization of strings to int types
21916         * gst/gststructure.c: (gst_structure_nth_field_name):
21917         * gst/gststructure.h:
21918           add a way to get the name of a field referenced by index
21919         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21920           instead of checking if the resulting long long lies between
21921           min and max, we check if the long long would fit into
21922           a number of bytes for the final type.
21923           This fixes cases where a string represents 2^32 - 1, which
21924           when cast to int would be the (valid) -1, but is bigger than
21925           G_MAXINT
21926
21927 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21928
21929         * gst/parse/grammar.y:
21930           add a log line for type deserialization
21931
21932 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21933
21934         * check/gst/gstvalue.c: (START_TEST):
21935         * gst/gstvalue.c: (gst_value_deserialize):
21936           return long long, not int, so gint64 deserialization actually
21937           works.  Is there any flag that makes the compiler check this ?
21938           Fixes #308559
21939
21940 2005-06-22  Wim Taymans  <wim@fluendo.com>
21941
21942         * gst/gstbuffer.h:
21943         Added convenience macros for setting buffers in GValue.
21944
21945 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21946
21947         * check/gst/.cvsignore:
21948         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21949           add a test deserializing int64, and comment part out because
21950           it fails, yay !
21951
21952 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21953
21954         * check/Makefile.am:
21955         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
21956         * testsuite/Makefile.am:
21957         * testsuite/caps/Makefile.am:
21958         * testsuite/caps/value_serialize.c:
21959         * testsuite/test_gst_init.c:
21960           move a value_serialize test over
21961
21962 2005-06-20  Wim Taymans  <wim@fluendo.com>
21963
21964         * gst/gstpad.c:
21965         Small doc updates.
21966         
21967         * gst/gstvalue.c: (gst_value_compare_buffer),
21968         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
21969         (gst_value_compare_flags), (gst_value_serialize_flags),
21970         (gst_value_deserialize_flags), (_gst_value_initialize):
21971         Fix serialisation of buffers, they are not boxed types anymore
21972
21973 2005-06-20  Wim Taymans  <wim@fluendo.com>
21974
21975         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21976         Testcase to show error in buffer-on-caps serialisation.
21977
21978 2005-06-20  Andy Wingo  <wingo@pobox.com>
21979
21980         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
21981         will be adding to later.
21982
21983         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
21984         if its socks fill with rocks.
21985         (gst_system_clock_obtain): Set the name on object construction.
21986         Avoid double-checked locking.
21987
21988 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
21989
21990         * gst/gsturi.c: (gst_element_make_from_uri):
21991           Fix potential endless loop.
21992
21993 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21994
21995         * check/Makefile.am:
21996           add gsttag
21997         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
21998         (main):
21999           move over from testsuite dir and clean up
22000         * configure.ac:
22001         * gst/gsttag.c:
22002         * testsuite/Makefile.am:
22003         * testsuite/tags/.cvsignore:
22004         * testsuite/tags/Makefile.am:
22005         * testsuite/tags/merge.c:
22006           remove testsuite/tags
22007
22008 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22009
22010         * docs/gst/gstreamer-sections.txt:
22011         * docs/gst/tmpl/gstenumtypes.sgml:
22012         * win32/gstenumtypes.c:
22013           clean up documentation build a little
22014
22015 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22016
22017         * check/gstcheck.h:
22018           add macros for checking refcounts on objects and caps
22019         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
22020           add some more unit tests
22021         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
22022         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
22023           fix leaked refcounts (I hope :)) so unittest works
22024         * gst/gstpad.h:
22025           whitespace removal
22026
22027 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22028
22029         * configure.ac: back to HEAD
22030
22031 === release 0.9.1 ===
22032
22033 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22034
22035         * NEWS:
22036         * RELEASE:
22037           updated
22038
22039 2005-06-17  Andy Wingo  <wingo@pobox.com>
22040
22041         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
22042         assert; it's always possible that the pad gets deactivated in
22043         between the checks in gstpad.c and the implementation. Rely on
22044         finish_preroll() to return a FLUSHING or similar instead of on the
22045         assert.
22046         
22047         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
22048         clock and post an EOS message if we come out of finish_preroll in
22049         the playing state.
22050
22051 2005-06-16  David Schleef  <ds@schleef.org>
22052
22053         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22054         (gst_capsfilter_set_property): Allow NULL as possible value
22055         for filter_caps property, indicating GST_CAPS_ANY.
22056
22057 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22058
22059         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
22060           fix debug output
22061         * gst/schedulers/Makefile.am:
22062           use libgst prefix
22063         * gstreamer.spec.in:
22064           fix spec for it
22065
22066 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22067
22068         * gstreamer.spec.in:
22069           clean up
22070
22071 2005-06-08  Andy Wingo  <wingo@pobox.com>
22072
22073         * gst/gstutils.c: RPAD fixes all around.
22074         (gst_element_link_pads): Refcounting fixes.
22075
22076         * tools/gst-inspect.c:
22077         * tools/gst-xmlinspect.c:
22078         * parse/grammar.y:
22079         * gst/base/gsttypefindhelper.c:
22080         * gst/base/gstbasesink.c:
22081         * gst/gstqueue.c: RPAD fixes.
22082
22083         * gst/gstghostpad.h:
22084         * gst/gstghostpad.c: New ghost pad implementation as full proxy
22085         pads. The tricky thing is they provide both source and sink
22086         interfaces, since they proxy the internal pad for the external
22087         pad, and vice versa. Implement with lower-level ProxyPad objects,
22088         with the interior proxy pad as a child of the exterior ghost pad.
22089         Should write a doc on this.
22090         
22091         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
22092         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
22093         gst_object API.
22094         
22095         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
22096         pads are real pads. No ghost pads in this file. Not documenting
22097         the myriad s/RPAD/PAD/ and REALIZE fixes.
22098         (gst_pad_class_init): Add properties for "direction" and
22099         "template". Both are construct-only, so they can't change during
22100         the life of the pad. Fixes properly deriving from GstPad.
22101         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
22102         derived objects, just set properties when creating the objects via
22103         g_object_new.
22104         (gst_pad_get_parent): Implement as a function, return NULL if the
22105         parent is not an element.
22106         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
22107         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
22108         
22109         * gst/gstobject.c (gst_object_class_init): Make name a construct
22110         property. Don't set it in the object init.
22111
22112         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
22113         with UNKNOWN direction.
22114         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
22115         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
22116         (gst_element_remove_pad): Remove ghost-pad special cases.
22117         (gst_element_pads_activate): Remove rpad cruft.
22118
22119         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
22120         catch the pad's-parent-not-an-element case.
22121
22122         * gst/gst.h: Include gstghostpad.h.
22123
22124         * gst/gst.c (init_post): No more real, ghost pads.
22125
22126         * gst/Makefile.am: Add gstghostpad.[ch].
22127
22128         * check/Makefile.am:
22129         * check/gst/gstbin.c:
22130         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
22131         into a bin creates ghost pads, and that the refcounts are right.
22132         Partly moved from gstbin.c.
22133
22134 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22135
22136         * check/gst-libs/.cvsignore:
22137         * check/gst/.cvsignore:
22138         * check/pipelines/.cvsignore:
22139           ignore more
22140         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
22141         (START_TEST), (cleanup_suite), (main):
22142           add some tests related to cleanup after running pipelines
22143
22144 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22145
22146         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
22147           add a testsuite for GstBuffer
22148
22149 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22150
22151         * gst/gstminiobject.h:
22152           add defines for accessing the refcount
22153
22154 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
22155
22156         * Makefile.am: added support for html unit test coverage reports
22157
22158 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
22159
22160         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22161           Free existing caps if the capsfilter changes. Add a FIXME about
22162           setting those caps on the pads.
22163
22164         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
22165           Before adding a ghost pad to a parent bin, check that there isn't
22166           already one for the element on the bin. Prevents infinite recursion
22167           when using decodebin in parse pipelines. Andy says he'll rewrite the
22168           way this works anyway, so ignore the hack.
22169
22170 2005-06-02  Andy Wingo  <wingo@pobox.com>
22171
22172         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
22173         file size, pass it on to the type find helper.
22174
22175         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
22176         segment_start and segment_end properly according to the seek
22177         method. Segment_end is still a bit flaky because offset can be
22178         negative for CUR and END cases, but it takes -1 as an "unset"
22179         value.
22180
22181 2005-06-02  Wim Taymans  <wim@fluendo.com>
22182
22183         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
22184         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
22185         (gst_basesink_activate):
22186         * gst/base/gstbasesink.h:
22187         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22188         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22189         (gst_pad_query), (gst_pad_start_task):
22190         * gst/gstpad.h:
22191         * gst/gstqueue.c: (gst_queue_bufferalloc),
22192         (gst_queue_handle_sink_event), (gst_queue_chain):
22193         Bufferalloc: return GstFlowReturn to more accuratly report
22194         why allocation failed.
22195
22196 2005-06-02  Wim Taymans  <wim@fluendo.com>
22197
22198         * gst/gstpipeline.c: (gst_pipeline_send_event):
22199         Take snapshot of state without blocking.
22200
22201 2005-06-02  Wim Taymans  <wim@fluendo.com>
22202
22203         * docs/design/part-TODO.txt:
22204         * docs/design/part-caps.txt:
22205         * docs/design/part-clocks.txt:
22206         * docs/design/part-negotiation.txt:
22207         * docs/design/part-preroll.txt:
22208         Small doc updates 
22209
22210 2005-05-30  Wim Taymans  <wim@fluendo.com>
22211
22212         * gst/elements/gstidentity.c: (gst_identity_event),
22213         (gst_identity_transform), (gst_identity_get_property):
22214         Protect last_message property as it is accessed from
22215         multiple threads.
22216
22217 2005-05-30  Wim Taymans  <wim@fluendo.com>
22218
22219         * gst/gstelement.c: (gst_element_init),
22220         (gst_element_pads_activate), (gst_element_change_state):
22221         Slicker pad activation code.
22222
22223 2005-05-30  Wim Taymans  <wim@fluendo.com>
22224
22225         * gst/Makefile.am:
22226         * gst/gstelement.h:
22227         * gst/gstelementfactory.h:
22228         * gst/gsttypes.h:
22229         Move elementfactory methods to separate .h file.
22230
22231 2005-05-30  Wim Taymans  <wim@fluendo.com>
22232
22233         * docs/design/part-overview.txt:
22234         * gst/gstsystemclock.h:
22235         Small typo fixes, doc updates.
22236
22237 2005-05-30  Wim Taymans  <wim@fluendo.com>
22238
22239         * gst/gst.c: (gst_init_get_popt_table), (init_post),
22240         (init_popt_callback):
22241         Remove cpu-opt flag.
22242
22243 2005-05-30  Wim Taymans  <wim@fluendo.com>
22244
22245         * gst/gstbuffer.c: (gst_subbuffer_finalize),
22246         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
22247         * gst/gstbuffer.h:
22248         Avoid typechecking in places where not needed.
22249         Added accessor for malloc_data.
22250
22251 2005-05-30  Wim Taymans  <wim@fluendo.com>
22252
22253         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
22254         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
22255         (gst_pad_configure_sink), (gst_pad_configure_src),
22256         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
22257         (gst_pad_start_task):
22258         Propagate errors from _set_caps() in configure_src/sink
22259         functions instead of returning TRUE.
22260         FLUSH events can travel up and downstream
22261
22262
22263 2005-05-30  Wim Taymans  <wim@fluendo.com>
22264
22265         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22266         (gst_basesink_activate):
22267         Handle EOS in preroll.
22268
22269 2005-05-30  Wim Taymans  <wim@fluendo.com>
22270
22271         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22272         (gst_queue_loop), (gst_queue_handle_src_event):
22273         Remove old pieces of code
22274         Flushing the queue in an upstream event is a very bad idea.
22275
22276 2005-05-26  Andy Wingo  <wingo@pobox.com>
22277
22278         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
22279         gst_value_set_mini_object so as to add a ref on the object (which
22280         will be removed when the value is unset).
22281
22282         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
22283         arg type in ::handoff.
22284
22285         * gst/gstelement.c (gst_element_change_state): Also deactivate
22286         pads in READY->NULL, just in case the element didn't make it to
22287         PAUSED. Wingo tested, Wim approved.
22288
22289 2005-05-26  Wim Taymans  <wim@fluendo.com>
22290
22291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22292         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22293         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
22294         A flushing pad cannot be used to alloc_buffer from.
22295
22296 2005-05-26  Wim Taymans  <wim@fluendo.com>
22297
22298         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
22299         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
22300         (gst_bus_source_dispatch), (gst_bus_source_finalize),
22301         (gst_bus_create_watch), (gst_bus_add_watch_full):
22302         * gst/gstbus.h:
22303         Implement a real GSource and use g_main_context_wakeup() to
22304         signal new messages instead of the socketpair.
22305
22306 2005-05-25  Wim Taymans  <wim@fluendo.com>
22307
22308         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
22309         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
22310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22311         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22312         (gst_pad_send_event), (gst_pad_start_task):
22313         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
22314         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22315         (gst_queue_sink_activate), (gst_queue_src_activate),
22316         (gst_queue_change_state):
22317         * gst/gstqueue.h:
22318         Fix state changes for non sinks. We now change sinks, then elements
22319         with unconnected srcpads, then the rest.
22320         More efficient queue unlocking in flush and state changes.
22321         Set the pad activate mode even if it does not have an activate
22322         function.
22323
22324 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22325
22326         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
22327           Don't go in pull mode for non-seekable sources.
22328         * gst/elements/gsttypefindelement.h:
22329         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22330         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
22331         (free_entry), (stop_typefinding),
22332         (gst_type_find_element_handle_event), (find_peek),
22333         (gst_type_find_element_chain), (do_pull_typefind),
22334         (gst_type_find_element_change_state):
22335           Allow typefinding (w/o seeking) in push-mode, simplified version
22336           of what was in 0.8.
22337         * gst/gstutils.c: (gst_buffer_join):
22338         * gst/gstutils.h:
22339           gst_buffer_join() from 0.8.
22340
22341 2005-05-25  Wim Taymans  <wim@fluendo.com>
22342
22343         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22344         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22345         (gst_pad_send_event), (gst_pad_start_task):
22346         Disable attempt at mode switching until it is figured out.
22347
22348 2005-05-25  Wim Taymans  <wim@fluendo.com>
22349
22350         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
22351         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22352         (gst_basesink_finish_preroll), (gst_basesink_chain),
22353         (gst_basesink_loop), (gst_basesink_activate),
22354         (gst_basesink_change_state):
22355         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
22356         (gst_basesrc_get_range), (gst_basesrc_loop),
22357         (gst_basesrc_activate):
22358         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22359         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22360         (gst_real_pad_init), (gst_real_pad_set_property),
22361         (gst_real_pad_get_property), (gst_pad_set_active),
22362         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
22363         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
22364         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
22365         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
22366         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22367         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
22368         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
22369         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22370         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
22371         (gst_pad_stop_task):
22372         * gst/gstpad.h:
22373         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22374         (gst_queue_loop), (gst_queue_src_activate):
22375         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
22376         (gst_task_get_state):
22377         * gst/gsttask.h:
22378         * gst/schedulers/threadscheduler.c:
22379         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
22380         Implement gst_pad_pause/start/stop_task(), take STREAM lock
22381         in task function.
22382         Remove ACTIVE pad flag, use FLUSHING everywhere
22383         Added _pad_chain(), _pad_get_range() to call chain/getrange 
22384         functions.
22385         Add locks around IS_FLUSHING when reading.
22386         Take STREAM lock in chain(), get_range() functions so plugins
22387         don't need to take it anymore.
22388         
22389
22390
22391 2005-05-25  Wim Taymans  <wim@fluendo.com>
22392
22393         * tools/gst-launch.c: (event_loop):
22394         Unref message after using its contents instead of
22395         before.
22396
22397 2005-05-24  Wim Taymans  <wim@fluendo.com>
22398
22399         * docs/design/draft-ghostpads.txt:
22400         * docs/design/draft-push-pull.txt:
22401         * docs/design/draft-query.txt:
22402         * docs/design/part-overview.txt:
22403         Docs updates, added general overview doc.
22404
22405 2005-05-21  David Schleef  <ds@schleef.org>
22406
22407         * docs/gst/tmpl/old/GstBin.sgml:
22408         * docs/gst/tmpl/old/GstBuffer.sgml:
22409         * docs/gst/tmpl/old/GstCaps.sgml:
22410         * docs/gst/tmpl/old/GstClock.sgml:
22411         * docs/gst/tmpl/old/GstCompat.sgml:
22412         * docs/gst/tmpl/old/GstData.sgml:
22413         * docs/gst/tmpl/old/GstElement.sgml:
22414         * docs/gst/tmpl/old/GstEvent.sgml:
22415         * docs/gst/tmpl/old/GstIndex.sgml:
22416         * docs/gst/tmpl/old/GstStructure.sgml:
22417         * docs/gst/tmpl/old/GstTag.sgml:
22418         * docs/gst/tmpl/old/cothreads.sgml:
22419         * docs/gst/tmpl/old/cothreads_compat.sgml:
22420         * docs/gst/tmpl/old/gettext.sgml:
22421         * docs/gst/tmpl/old/gobject2gtk.sgml:
22422         * docs/gst/tmpl/old/grammar.tab.sgml:
22423         * docs/gst/tmpl/old/gst-i18n-app.sgml:
22424         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
22425         * docs/gst/tmpl/old/gst_private.sgml:
22426         * docs/gst/tmpl/old/gstaggregator.sgml:
22427         * docs/gst/tmpl/old/gstarch.sgml:
22428         * docs/gst/tmpl/old/gstatomic_impl.sgml:
22429         * docs/gst/tmpl/old/gstbufferstore.sgml:
22430         * docs/gst/tmpl/old/gstdata_private.sgml:
22431         * docs/gst/tmpl/old/gstdisksink.sgml:
22432         * docs/gst/tmpl/old/gstdisksrc.sgml:
22433         * docs/gst/tmpl/old/gstelementfactory.sgml:
22434         * docs/gst/tmpl/old/gstextratypes.sgml:
22435         * docs/gst/tmpl/old/gstfakesink.sgml:
22436         * docs/gst/tmpl/old/gstfakesrc.sgml:
22437         * docs/gst/tmpl/old/gstfdsink.sgml:
22438         * docs/gst/tmpl/old/gstfdsrc.sgml:
22439         * docs/gst/tmpl/old/gstfilesink.sgml:
22440         * docs/gst/tmpl/old/gstfilesrc.sgml:
22441         * docs/gst/tmpl/old/gsthttpsrc.sgml:
22442         * docs/gst/tmpl/old/gstidentity.sgml:
22443         * docs/gst/tmpl/old/gstindexfactory.sgml:
22444         * docs/gst/tmpl/old/gstmarshal.sgml:
22445         * docs/gst/tmpl/old/gstmd5sink.sgml:
22446         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
22447         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
22448         * docs/gst/tmpl/old/gstpadtemplate.sgml:
22449         * docs/gst/tmpl/old/gstpipefilter.sgml:
22450         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
22451         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
22452         * docs/gst/tmpl/old/gstshaper.sgml:
22453         * docs/gst/tmpl/old/gstspider.sgml:
22454         * docs/gst/tmpl/old/gstspideridentity.sgml:
22455         * docs/gst/tmpl/old/gststatistics.sgml:
22456         * docs/gst/tmpl/old/gsttee.sgml:
22457         * docs/gst/tmpl/old/gsttimecache.sgml:
22458         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
22459         * docs/gst/tmpl/old/gstxmlregistry.sgml:
22460         * docs/gst/tmpl/old/gthread-cothreads.sgml:
22461         * docs/gst/tmpl/old/types.sgml:
22462           I didn't intend to add these or check them in.
22463
22464 2005-05-19  David Schleef  <ds@schleef.org>
22465
22466         * configure.ac: Use -no-common everywhere.  In a sane world, it
22467           would be the default in libtool, because without it, you can't
22468           build DLLs on Windows.
22469         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
22470         * docs/gst/gstreamer-sections.txt:
22471         * docs/gst/tmpl/gstcpu.sgml:
22472         * docs/gst/tmpl/gstdata.sgml:
22473         * docs/gst/tmpl/gstthread.sgml:
22474
22475 2005-05-19  David Schleef  <ds@schleef.org>
22476
22477         * gst/gstminiobject.c: (gst_value_set_mini_object),
22478         (gst_value_take_mini_object), (gst_value_get_mini_object):
22479         * gst/gstminiobject.h: Add GValue set/get functions.
22480
22481 2005-05-19  Wim Taymans  <wim@fluendo.com>
22482
22483         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
22484         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
22485         (gst_subbuffer_init), (gst_buffer_is_span_fast):
22486         * gst/gstbuffer.h:
22487         * gst/gstbus.c: (gst_bus_post):
22488         * gst/gstelement.c: (gst_element_get_random_pad):
22489         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
22490         Make subbufer unref the parent in finalize.
22491         some more debugging info.
22492
22493
22494 2005-05-19  Wim Taymans  <wim@fluendo.com>
22495
22496         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22497         (gst_basesink_init), (gst_basesink_finalize),
22498         (gst_basesink_activate), (gst_basesink_change_state):
22499         Don't free preroll queue too early.
22500
22501 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22502
22503         * gst/Makefile.am:
22504         * gst/ROADMAP:
22505           Hi, I'm outdated. Please shoot me.
22506
22507 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22508
22509         * gst/gstpipeline.c: (gst_pipeline_send_event):
22510           Do not access variables after they have been deleted.
22511
22512 2005-05-19  Wim Taymans  <wim@fluendo.com>
22513
22514         * tools/gst-inspect.c: (print_plugin_features):
22515         A plugin feature does unfortunatly not use the
22516         object name yet...
22517
22518 2005-05-18  Wim Taymans  <wim@fluendo.com>
22519
22520         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
22521         Port _span() functions to new subbuffers.
22522
22523 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22524
22525         * gst/gstbin.c: (gst_bin_add_func):
22526           Fix clock settery in bins when adding kids after the clock has
22527           been selected.
22528
22529 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22530
22531         * gst/elements/gstidentity.c: (gst_identity_class_init):
22532           Workaround until signals support GstMiniObject.
22533
22534 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
22535
22536         * gst/gstbuffer.c:
22537         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
22538
22539 2005-05-18  Wim Taymans  <wim@fluendo.com>
22540
22541         * gst/base/Makefile.am:
22542         * gst/base/gstadapter.c: (gst_adapter_base_init),
22543         (gst_adapter_class_init), (gst_adapter_init),
22544         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
22545         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
22546         (gst_adapter_flush), (gst_adapter_available),
22547         (gst_adapter_available_fast):
22548         * gst/base/gstadapter.h:
22549         Ported and added adapter to the base classes.
22550
22551 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22552
22553         * gst/gst.c:
22554         * gst/gstmessage.c:
22555           Make sure the class is reffed/unreffed once before threads can be
22556           used.  Fixes #304551.
22557
22558 2005-05-17  Wim Taymans  <wim@fluendo.com>
22559
22560         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
22561         (gst_basesink_chain_unlocked), (gst_basesink_activate):
22562         * gst/gstminiobject.c: (gst_mini_object_get_type),
22563         (gst_mini_object_free):
22564         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
22565         (gst_pad_push), (gst_pad_push_event):
22566         * gst/gstqueue.c: (gst_queue_change_state):
22567         Don't queue buffers in basesink when we are flushing.
22568         Unref buffer when flushing in basesink.
22569         Flush queue when going to READY
22570         Unref buffer when _push() returns an error.
22571         Don't free MiniObject instance when refcount is incremented
22572         in _finalize() so that we can recover objects.
22573
22574 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22575
22576         * docs/manual/advanced-schedulers.xml:
22577         * docs/manual/appendix-checklist.xml:
22578         * docs/pwg/advanced-clock.xml:
22579         * docs/pwg/advanced-interfaces.xml:
22580         * docs/pwg/advanced-request.xml:
22581         * docs/pwg/advanced-types.xml:
22582         * docs/pwg/intro-preface.xml:
22583         * examples/plugins/example.c: (gst_example_get_type),
22584         (gst_example_class_init), (gst_example_chain),
22585         (gst_example_set_property), (gst_example_get_property),
22586         (gst_example_change_state), (plugin_init):
22587         * examples/plugins/example.h:
22588           small doc fixes
22589
22590 2005-05-17  Wim Taymans  <wim@fluendo.com>
22591
22592         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
22593         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
22594         * gst/gstqueue.c: (gst_queue_change_state):
22595         Clear queue when going to READY.
22596         Remove IN_SETCAPS flag too.
22597
22598 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
22599
22600         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
22601           Remove implicit cast from gboolean to GstElementStateReturn;
22602           make sure we still return failure in paused => ready case if
22603           the parent class fails to change state and our own stop 
22604           vfunc succeeds.
22605
22606 2005-05-17  Wim Taymans  <wim@fluendo.com>
22607
22608         * tools/gst-launch.c: (event_loop):
22609         Message was unreffed too soon.
22610
22611 2005-05-16  Andy Wingo  <wingo@pobox.com>
22612
22613         * gst/gstbin.c (sink_iterator_filter): Err... um...
22614
22615         * check/gst/gstbin.c (test_ghost_pads): New test for the
22616         ghosting-if-elements-not-in-same-bin behavior.
22617
22618 2005-05-16  David Schleef  <ds@schleef.org>
22619
22620         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
22621         accessing refcount directly.
22622
22623 2005-05-15  David Schleef  <ds@schleef.org>
22624
22625         * check/Makefile.am: remove GstData checks
22626         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
22627         * gst/Makefile.am: add miniobject, remove data
22628         * gst/gst.h: add miniobject, remove data
22629         * gst/gstdata.c: remove
22630         * gst/gstdata.h: remove
22631         * gst/gstdata_private.h: remove
22632         * gst/gsttypes.h: remove GstEvent and GstMessage
22633         * gst/gstelement.c: (gst_element_post_message): fix for API changes
22634         * gst/gstmarshal.list: change BOXED -> OBJECT
22635
22636         Implement GstMiniObject.
22637         * gst/gstminiobject.c:
22638         * gst/gstminiobject.h:
22639
22640         Modify to be subclasses of GstMiniObject.
22641         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
22642         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
22643         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
22644         (gst_subbuffer_get_type), (gst_subbuffer_init),
22645         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
22646         (gst_buffer_span):
22647         * gst/gstbuffer.h:
22648         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
22649         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
22650         (_gst_event_copy), (gst_event_new):
22651         * gst/gstevent.h:
22652         * gst/gstmessage.c: (_gst_message_initialize),
22653         (gst_message_get_type), (gst_message_class_init),
22654         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
22655         (gst_message_new), (gst_message_new_error),
22656         (gst_message_new_warning), (gst_message_new_tag),
22657         (gst_message_new_state_changed), (gst_message_new_application):
22658         * gst/gstmessage.h:
22659         * gst/gstprobe.c: (gst_probe_perform),
22660         (gst_probe_dispatcher_dispatch):
22661         * gst/gstprobe.h:
22662         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
22663         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
22664         (_gst_query_copy), (gst_query_new):
22665
22666         Update elements for GstData -> GstMiniObject changes
22667         * gst/gstquery.h:
22668         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
22669         (gst_queue_chain), (gst_queue_loop):
22670         * gst/elements/gstbufferstore.c:
22671         (gst_buffer_store_add_buffer_func),
22672         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
22673         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22674         (gst_fakesink_render):
22675         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22676         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
22677         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
22678         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
22679         (gst_filesrc_create_read):
22680         * gst/elements/gstidentity.c: (gst_identity_class_init):
22681         * gst/elements/gsttypefindelement.c:
22682         (gst_type_find_element_src_event), (free_entry_buffers),
22683         (gst_type_find_element_handle_event):
22684         * libs/gst/dataprotocol/dataprotocol.c:
22685         (gst_dp_header_from_buffer):
22686         * libs/gst/dataprotocol/dataprotocol.h:
22687         * libs/gst/dataprotocol/dp-private.h:
22688
22689 2005-05-15  David Schleef  <ds@schleef.org>
22690
22691         * gst/elements/gstelements.c: Don't include headers that were
22692         just removed.
22693
22694 2005-05-15  David Schleef  <ds@schleef.org>
22695
22696         * gst/elements/Makefile.am: Remove some elements that don't
22697         need to be in the core (or even exist at all).
22698         * gst/elements/gstaggregator.c:
22699         * gst/elements/gstaggregator.h:
22700         * gst/elements/gstmd5sink.c:
22701         * gst/elements/gstmd5sink.h:
22702         * gst/elements/gstmultifilesrc.c:
22703         * gst/elements/gstmultifilesrc.h:
22704         * gst/elements/gstpipefilter.c:
22705         * gst/elements/gstpipefilter.h:
22706         * gst/elements/gstshaper.c:
22707         * gst/elements/gstshaper.h:
22708         * gst/elements/gststatistics.c:
22709         * gst/elements/gststatistics.h:
22710         * po/POTFILES.in: Remove above files.
22711
22712 2005-05-14  Andy Wingo  <wingo@pobox.com>
22713
22714         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
22715         so as to get the refs right.
22716         (sink_iterator_filter): New function, wraps bin_element_is_sink,
22717         unreffing objects that don't pass the filter.
22718
22719         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
22720         gst_element_set_bus.
22721         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
22722         normal cases, this will destroy the bus.
22723
22724         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
22725         object.
22726
22727         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
22728         has no sinks.
22729
22730 2005-05-13  Andy Wingo  <wingo@pobox.com>
22731
22732         * gst/gstutils.c (gst_element_link_pads): Instead of calling
22733         gst_pad_link, call pad_link_maybe_ghosting,
22734         (pad_link_maybe_ghosting): Links pads, making sure that the
22735         elements being linked are in the same bin.
22736         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
22737         Helpers for pad_link_maybe_ghosting.
22738
22739 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22740
22741         * configure.ac:
22742           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
22743
22744 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22745
22746         * docs/design/part-element-source.txt:
22747           Mention GstPushSrc
22748
22749 2005-05-12  Wim Taymans  <wim@fluendo.com>
22750
22751         * gst/base/gstbasesink.c: (gst_basesink_init),
22752         (gst_basesink_activate):
22753         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
22754         (gst_basesrc_is_seekable):
22755         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22756         (bin_element_is_sink), (gst_bin_change_state):
22757         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22758         * gst/gstelement.h:
22759         Identify sinks by their flag to avoid overly complicated
22760         checks (fow now).
22761         Do state changes even for elements not reachable from the
22762         sinks.
22763         BaseSink is a sink now :)
22764         Some more debugging info in the basesrc.
22765
22766
22767 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22768
22769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
22770           Implement _query on a bin, similar to _send_event.
22771
22772 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
22773
22774         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
22775           Discont event offset format should be GST_FORMAT_BYTES,
22776           not GST_FORMAT_TIME.
22777
22778 2005-05-12  Wim Taymans  <wim@fluendo.com>
22779
22780         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
22781         Same fix as Ronald's but without the signal. 
22782
22783 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22784
22785         * gst/gstutils.c: (gst_element_query_position):
22786           No, an element is not a pad.
22787
22788 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22789
22790         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
22791         (gst_bin_get_state):
22792           If a child is removed from a bin while we remove the child from
22793           the bin and while we're retrieving its state, signal this to the
22794           get_state function so we abort the wait (instead of waiting for
22795           a timeout) and can immediately re-iterate over all other elements.
22796
22797 2005-05-12  Wim Taymans  <wim@fluendo.com>
22798
22799         * gst/base/Makefile.am:
22800         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
22801         (gst_basesrc_start):
22802         * gst/base/gstbasesrc.h:
22803         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
22804         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
22805         (gst_pushsrc_init), (gst_pushsrc_create):
22806         * gst/base/gstpushsrc.h:
22807         Added is_seekable to BaseSrc
22808         Added simple PushSrc.
22809
22810 2005-05-11  Wim Taymans  <wim@fluendo.com>
22811
22812         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22813         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22814         (gst_element_link_pads), (gst_element_query_position),
22815         (gst_element_query_convert), (intersect_caps_func),
22816         (gst_pad_query_position), (gst_pad_query_convert):
22817         Fix refcounting in utils function.
22818         No point in trying to activate a pad when it's added, it could
22819         be added from the state change function and then we deadlock, the
22820         element has to decide what to do.
22821
22822 2005-05-10  Andy Wingo  <wingo@pobox.com>
22823
22824         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
22825         *all* the arguments.
22826
22827         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
22828         stream lock if it's a FLUSH_DONE; normal flushes don't get the
22829         lock (according to the docs -- if this is wrong change the docs).
22830
22831         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
22832         flush messages in the NULL state.
22833
22834         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
22835         message immediately and return.
22836         (gst_bus_set_flushing): New function. If a bus is flushing, it
22837         flushes out any queued messages and immediately unrefs new
22838         messages. This is so when an element goes to NULL, all of the
22839         unhandled messages coming from it can be freed, and their
22840         references to the element dropped. In other words: message source
22841         ref considered harmful :P
22842
22843         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
22844         we're finished with it.
22845
22846         * gst/gstmessage.c (gst_message_new_state_changed): 
22847
22848 2005-05-10  Wim Taymans  <wim@fluendo.com>
22849
22850         * gst/gstvalue.c: (gst_value_compare_flags),
22851         (gst_value_serialize_flags), (gst_value_deserialize_flags),
22852         (_gst_value_initialize):
22853         Added flags serialize/deserialize/compare code.
22854
22855 2005-05-09  Andy Wingo  <wingo@pobox.com>
22856
22857         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
22858         Intersect the peer's caps with our caps.
22859
22860 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22861
22862         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22863         * gst/elements/gsttypefindelement.c: (find_peek):
22864           Handle negative offsets better. Fixes decodebin.
22865
22866 2005-05-09  Wim Taymans  <wim@fluendo.com>
22867
22868         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
22869         (gst_base_transform_event):
22870         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
22871         Implement accept_caps.
22872         Fix silly lock/unlock mismatch in base class.
22873
22874 2005-05-09  Wim Taymans  <wim@fluendo.com>
22875
22876         * docs/design/draft-push-pull.txt:
22877         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
22878         * gst/elements/gstfilesink.c: (gst_filesink_init),
22879         (gst_filesink_query):
22880         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22881         (gst_type_find_handle_src_query), (find_element_get_length):
22882         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
22883         * gst/gstelement.h:
22884         * gst/gstmessage.c:
22885         * gst/gstmessage.h:
22886         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
22887         (gst_real_pad_get_caps_unlocked),
22888         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
22889         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22890         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
22891         (gst_real_pad_dispose), (gst_real_pad_finalize),
22892         (gst_pad_load_and_link), (gst_pad_save_thyself),
22893         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
22894         (gst_pad_check_pull_range), (gst_pad_pull_range),
22895         (gst_pad_template_get_type), (gst_pad_template_class_init),
22896         (gst_pad_template_init), (gst_pad_template_dispose),
22897         (name_is_valid), (gst_static_pad_template_get),
22898         (gst_pad_template_new), (gst_static_pad_template_get_caps),
22899         (gst_pad_template_get_caps), (gst_pad_set_element_private),
22900         (gst_pad_get_element_private), (gst_pad_start_task),
22901         (gst_pad_pause_task), (gst_pad_stop_task),
22902         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
22903         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
22904         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
22905         (gst_ghost_pad_new):
22906         * gst/gstpad.h:
22907         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
22908         (gst_query_new_position), (gst_query_set_position),
22909         (gst_query_parse_position), (gst_query_new_convert),
22910         (gst_query_set_convert), (gst_query_parse_convert):
22911         * gst/gstquery.h:
22912         * gst/gstqueryutils.c:
22913         * gst/gstqueryutils.h:
22914         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22915         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22916         (gst_queue_handle_src_query):
22917         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22918         (gst_element_query_position), (gst_element_query_convert),
22919         (intersect_caps_func), (gst_pad_query_position),
22920         (gst_pad_query_convert):
22921         * gst/gstutils.h:
22922         * tools/gst-inspect.c: (print_pad_info):
22923         * tools/gst-xmlinspect.c: (print_element_info):
22924         Remove old query functions. Ported old code.
22925         Added position/convert helper functions to gstutils.
22926         Reordered gstpad.c code, grouping relevant things.
22927         Remove gst_message_new(), always need to speficy a specific
22928         message.
22929
22930
22931 2005-05-09  Andy Wingo  <wingo@pobox.com>
22932
22933         * gst/gstiterator.h: Add some includes.
22934
22935         * gst/gstqueryutils.h: Include more headers.
22936
22937         * gst/gstpad.h:
22938         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
22939         some uses of gst_pad_query.
22940
22941         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
22942         NULL out parameters.
22943         (gst_query_new_position): New proc, allocates a new position
22944         query.
22945
22946         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
22947         gstqueryutils.c to the build.
22948
22949         * gst/gststructure.c (gst_structure_set_valist): Implement with
22950         the generic G_VALUE_COLLECT.
22951         
22952 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
22953
22954         * gst/Makefile.am: (gst_headers):
22955         Added gstqueryutils.h to the list of headers to install, that was
22956         a 'nachty' move wingo :)
22957
22958 2005-05-06  Andy Wingo  <wingo@pobox.com>
22959
22960         * gst/gstquery.h
22961         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
22962         GstData, init a memchunk.
22963         (standard_definitions): Add a few query types, deprecate a few.
22964         (gst_query_get_type): New proc.
22965         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
22966         implementation.
22967         (gst_query_new_application, gst_query_get_structure): New public
22968         procs.
22969
22970         * docs/design/draft-query.txt: Removed LINKS from the query types,
22971         because all the rest can be dispatched to other pads -- seemed
22972         ugly to have a query that couldn't be dispatched. internal_links
22973         is fine as a pad method.
22974
22975         * gst/gstpad.h: Add query2 as a pad method, add the new functions
22976         in gstpad.c, but maintain binary compatibility for the moment.
22977         Will fix before 0.9 is out.
22978
22979         * gst/gstqueryutils.c: 
22980         * gst/gstqueryutils.h: New files, implement 3 methods for each
22981         query type: parse_query, parse_response, and set. Probably need an
22982         allocator as well.
22983
22984         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
22985
22986         * gst/elements/gstfilesink.c (gst_filesink_query2):
22987         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
22988         query_types, and formats methods.
22989
22990         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
22991         (gst_pad_set_query2_function): New functions.
22992         (gst_real_pad_init): Set query2_default as the default query2
22993         function. Basically just dispatches to internally linked pads.
22994
22995         Needs review!
22996         
22997         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
22998         without using the atomic operations. Only one thread can possibly
22999         be accessing the data at this point. Changed so as to avoid
23000         gst_atomic operations.
23001
23002 2005-05-06  Wim Taymans  <wim@fluendo.com>
23003
23004         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
23005         Also set caps if we use the fallback buffer alloc.
23006
23007 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
23008
23009         * docs/gst/Makefile.am:
23010         * docs/gst/gstreamer-docs.sgml:
23011         * docs/gst/gstreamer-sections.txt:
23012         * docs/gst/tmpl/gstatomic.sgml:
23013         * docs/gst/tmpl/gstmemchunk.sgml:
23014         * testsuite/elements/struct_i386.h:
23015         * win32/GStreamer.vcproj:
23016         * win32/Makefile:
23017           Purge GstAtomic stuff from docs and win32 makefiles as well
23018
23019 2005-05-06  Wim Taymans  <wim@fluendo.com>
23020
23021         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
23022         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
23023         * gst/gstpad.c: (gst_pad_peer_get_caps):
23024         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
23025         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
23026         (gst_queue_src_activate), (gst_queue_change_state):
23027         * gst/gstqueue.h:
23028         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23029         (intersect_caps_func):
23030         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
23031         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
23032         Some fixes for the peer_get_caps() change.
23033
23034 2005-05-06  Wim Taymans  <wim@fluendo.com>
23035
23036         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23037         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
23038         (gst_basesink_activate):
23039         Actually do something with error codes returned from the push
23040         functions.
23041
23042 2005-05-06  Wim Taymans  <wim@fluendo.com>
23043
23044         * docs/design/part-element-sink.txt:
23045         * docs/design/part-element-source.txt:
23046         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23047         (gst_basesink_event), (gst_basesink_activate):
23048         * gst/base/gstbasesink.h:
23049         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
23050         (gst_basesrc_activate):
23051         * gst/base/gstbasesrc.h:
23052         * gst/gstelement.c: (gst_element_pads_activate):
23053         Some more documentation.
23054         Fixed scheduling decision in _pads_activate().
23055
23056 2005-05-05  Andy Wingo  <wingo@pobox.com>
23057
23058         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
23059         the test suite.
23060
23061 2005-05-05  Wim Taymans  <wim@fluendo.com>
23062
23063         * gst/base/Makefile.am:
23064         * gst/base/gstbasesink.h:
23065         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23066         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
23067         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
23068         (gst_collectpads_class_init), (gst_collectpads_init),
23069         (gst_collectpads_finalize), (gst_collectpads_new),
23070         (gst_collectpads_set_function), (gst_collectpads_add_pad),
23071         (find_pad), (gst_collectpads_remove_pad),
23072         (gst_collectpads_is_active), (gst_collectpads_collect),
23073         (gst_collectpads_collect_range), (gst_collectpads_start),
23074         (gst_collectpads_stop), (gst_collectpads_peek),
23075         (gst_collectpads_pop), (gst_collectpads_available),
23076         (gst_collectpads_read), (gst_collectpads_flush),
23077         (gst_collectpads_chain):
23078         * gst/base/gstcollectpads.h:
23079         * gst/elements/Makefile.am:
23080         * gst/elements/gstelements.c:
23081         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23082         (gst_fakesink_get_times), (gst_fakesink_event),
23083         (gst_fakesink_preroll), (gst_fakesink_render):
23084         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
23085         (gst_filesink_init), (gst_filesink_set_location),
23086         (gst_filesink_open_file), (gst_filesink_close_file),
23087         (gst_filesink_pad_query), (gst_filesink_event),
23088         (gst_filesink_render), (gst_filesink_change_state):
23089         * gst/elements/gstfilesink.h:
23090         Added object to help in making collect pad based elements.
23091         Ported filesink.
23092         Make event function in sink baseclass return gboolean.
23093
23094 2005-05-05  Wim Taymans  <wim@fluendo.com>
23095
23096         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
23097         (gst_bin_get_by_name):
23098         * gst/gstbuffer.h:
23099         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
23100         (gst_clock_finalize):
23101         * gst/gstdata.c: (gst_data_replace):
23102         * gst/gstdata.h:
23103         * gst/gstelement.c: (gst_element_request_pad),
23104         (gst_element_pads_activate):
23105         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
23106         (gst_object_unref):
23107         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23108         (gst_pad_set_checkgetrange_function),
23109         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
23110         (gst_pad_check_pull_range), (gst_pad_pull_range),
23111         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23112         (gst_pad_pause_task), (gst_pad_stop_task):
23113         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23114         (gst_element_request_pad), (gst_pad_proxy_getcaps):
23115         Fix name lookup in GstBin.
23116         Added _data_replace() function and _buffer_replace()
23117         Use finalize method to clean up clock.
23118         Fix refcounting on request pads.
23119         Fix pad schedule mode error.
23120         Some more object refcounting debug info,
23121
23122
23123 2005-05-04  Andy Wingo <wingo@pobox.com>
23124
23125         * check/Makefile.am:
23126         * docs/gst/tmpl/gstatomic.sgml:
23127         * docs/gst/tmpl/gstplugin.sgml:
23128         * gst/base/gstbasesink.c: (gst_basesink_activate):
23129         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
23130         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
23131         (gst_basesrc_query), (gst_basesrc_set_property),
23132         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
23133         (gst_basesrc_activate):
23134         * gst/base/gstbasesrc.h:
23135         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
23136         (gst_base_transform_src_activate):
23137         * gst/elements/gstelements.c:
23138         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23139         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23140         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23141         * gst/elements/gsttypefindelement.c: (find_element_get_length),
23142         (gst_type_find_element_checkgetrange),
23143         (gst_type_find_element_activate):
23144         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
23145         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
23146         (gst_caps_load_thyself):
23147         * gst/gstelement.c: (gst_element_pads_activate),
23148         (gst_element_save_thyself), (gst_element_restore_thyself):
23149         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
23150         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
23151         * gst/gstpad.h:
23152         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
23153         (gst_xml_parse_file), (gst_xml_parse_memory),
23154         (gst_xml_get_element), (gst_xml_make_element):
23155         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23156         (_file_index_id_save_xml), (gst_file_index_commit):
23157         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
23158         (read_enum), (load_pad_template), (load_feature), (load_plugin),
23159         (load_paths):
23160         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
23161         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
23162         * tools/gst-complete.c: (main):
23163         * tools/gst-compprep.c: (main):
23164         * tools/gst-inspect.c: (print_element_properties_info):
23165         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
23166         * tools/gst-xmlinspect.c: (print_element_properties):
23167         GCC 4 fixen.
23168         
23169 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23170
23171         * gst/gstplugin.c: (gst_plugin_check_module),
23172         (gst_plugin_check_file), (gst_plugin_load_file):
23173             apply patch from #172526 to make register work on MacOSX
23174
23175 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23176
23177         * docs/gst/tmpl/gstconfig.sgml:
23178         * gst/gstconfig.h.in:
23179           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
23180         * testsuite/debug/printf_extension.c: (main):
23181           Do not use GST_PTR_FORMAT on pointers to types with
23182           sizeof < sizeof(gpointer).  Fixes test on 64-bit
23183         * testsuite/elements/property.h:
23184           use correct printf format
23185
23186 2005-05-02  Wim Taymans  <wim@fluendo.com>
23187
23188         * docs/design/draft-push-pull.txt:
23189         * docs/design/draft-query.txt:
23190         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
23191         (gst_basesrc_start):
23192         Added draft for new query API.
23193         Added draft for better selecting scheduling methods.
23194         Make basesrc ignore length if the subclass does not support
23195         it.
23196
23197 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23198
23199         * gst/Makefile.am:
23200           possible fixes for automake-1.5 - _LIBADD is reserved
23201
23202 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23203
23204         * docs/faq/Makefile.am:
23205         * docs/manual/Makefile.am:
23206         * docs/manuals.mak:
23207         * docs/pwg/Makefile.am:
23208         * gst/Makefile.am:
23209           possible fixes for automake-1.5
23210
23211 2005-04-28  Wim Taymans  <wim@fluendo.com>
23212
23213         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23214         (gst_basesink_pad_getcaps), (gst_basesink_init),
23215         (gst_basesink_do_sync):
23216         * gst/gstclock.c: (gst_clock_entry_new):
23217         * gst/gstevent.c: (gst_event_discont_get_value):
23218         * gst/gstpipeline.c: (pipeline_bus_handler),
23219         (gst_pipeline_change_state):
23220         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
23221         Better debugging of clocking info.
23222         Allow NULL values when getting discont values.
23223
23224 2005-04-27  Wim Taymans  <wim@fluendo.com>
23225
23226         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23227         * check/gst/gstpad.c: (gst_pad_suite):
23228         Increase timeout for checks.
23229
23230 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23231
23232         * check/Makefile.am:
23233           fix the broken rule for cleanup.  Apparently this rule is
23234           only needed on FC2, so maybe this warrants further autotool
23235           inspection.
23236
23237 2005-04-26  Wim Taymans  <wim@fluendo.com>
23238
23239         * gst/gsttrashstack.h:
23240         Ooohh. a nasty one! After having a failed pop() from the stack,
23241         it's possible that the stack is empty. In that case, don't
23242         follow the NULL pointer.
23243
23244 2005-04-25  Wim Taymans  <wim@fluendo.com>
23245
23246         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23247         (gst_pad_set_checkgetrange_function),
23248         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
23249         (gst_pad_check_pull_range), (gst_pad_pull_range),
23250         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23251         (gst_pad_pause_task), (gst_pad_stop_task):
23252         * gst/gstplugin.c: (gst_plugin_load):
23253         * gst/gstplugin.h:
23254         Remove gst_library_load as it does more harm than good with
23255         the new g_module flags.
23256         Revert bogus caps template check in pad linking, pad caps
23257         are important when linking not the template, which is more
23258         general than the current caps.
23259
23260 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23261
23262         * gst/autoplug/.cvsignore:
23263         * gst/autoplug/Makefile.am:
23264         * gst/autoplug/gstsearchfuncs.c:
23265         * gst/autoplug/gstsearchfuncs.h:
23266         * gst/autoplug/gstspider.c:
23267         * gst/autoplug/gstspider.h:
23268         * gst/autoplug/gstspideridentity.c:
23269         * gst/autoplug/gstspideridentity.h:
23270         * gst/autoplug/spidertest.c:
23271           Die, spider, die.
23272
23273 2005-04-25  Wim Taymans  <wim@fluendo.com>
23274
23275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23276         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23277         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
23278         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
23279         * gst/gstpad.h:
23280         Added stubs for unimplemented functions. 
23281
23282 2005-04-24  David Schleef  <ds@schleef.org>
23283
23284         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
23285         please fix.
23286
23287 2005-04-24  David Schleef  <ds@schleef.org>
23288
23289         Convert everything from GstAtomicInt to g_atomic_int_*, and
23290         remove gstatomic.
23291         * gst/Makefile.am:
23292         * gst/gstatomic.c:
23293         * gst/gstatomic.h:
23294         * gst/gstatomic_impl.h:
23295         * gst/gstbuffer.c:
23296         * gst/gstcaps.c:
23297         * gst/gstcaps.h:
23298         * gst/gstclock.c:
23299         * gst/gstclock.h:
23300         * gst/gstdata.c:
23301         * gst/gstdata.h:
23302         * gst/gstdata_private.h:
23303         * gst/gstevent.c:
23304         * gst/gstinfo.c:
23305         * gst/gstinfo.h:
23306         * gst/gstmessage.c:
23307         * gst/gstobject.c:
23308         * gst/gstobject.h:
23309         * gst/gststructure.c:
23310         * gst/gststructure.h:
23311         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
23312         * gst/gstutils.h:
23313
23314 2005-04-24  David Schleef  <ds@schleef.org>
23315
23316         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
23317         make the regressions tests work.  Remove some code that is no
23318         longer true.
23319         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
23320         Disable warning for pads without templates.
23321
23322 2005-04-24  David Schleef  <ds@schleef.org>
23323
23324         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
23325         functions that handle filtered links.
23326         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
23327         removed functions.
23328         * gst/gstutils.c: Fix/remove utility functions that handle
23329         filtered caps.
23330         * gst/gstutils.h:
23331         * gst/gstvalue.c: Add serialization/deserialization of caps
23332         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
23333         requires fixing so that the filter caps notation creates
23334         a capsfilter element and sets the filter_caps property.  I
23335         think everyone probably wants to keep the shorthand notation.
23336         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
23337         * docs/gst/tmpl/gstpad.sgml:
23338
23339         * gst/elements/gstelements.c: Register capsfilter element.
23340         * gst/Makefile.am: fix spacing
23341         * docs/random/ds/0.9-suggested-changes: random
23342
23343 2005-04-23  David Schleef  <ds@schleef.org>
23344
23345         * gst/elements/Makefile.am:
23346         * gst/elements/gstcapsfilter.c: New element that acts like an
23347         identity, but filters caps.  Will eventually replace filtered
23348         caps in pad linking.
23349         * gst/gstutils.c: (gst_element_create_all_pads): New function
23350         to create all the ALWAYS pads that are registered with an
23351         element class.  This functionality should eventually be
23352         merged in with GstElement initialization.
23353         * gst/gstutils.h:
23354         * testsuite/trigger/README: part of trigger test code that should
23355         have been checked in a long time ago.
23356
23357 2005-04-23  David Schleef  <ds@schleef.org>
23358
23359         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
23360         needed with new versions of libtool (nobody will confirm this),
23361         and hard to carry around.
23362         * gst/autoplug/Makefile.am:
23363         * gst/base/Makefile.am:
23364         * gst/elements/Makefile.am:
23365         * gst/indexers/Makefile.am:
23366         * gst/schedulers/Makefile.am:
23367         * libs/gst/bytestream/Makefile.am:
23368         * libs/gst/control/Makefile.am:
23369         * libs/gst/dataprotocol/Makefile.am:
23370         * libs/gst/getbits/Makefile.am:
23371
23372 2005-04-21  Wim Taymans  <wim@fluendo.com>
23373
23374         * docs/design/draft-push-pull.txt:
23375         * docs/design/part-MT-refcounting.txt:
23376         * docs/design/part-TODO.txt:
23377         * docs/design/part-caps.txt:
23378         * docs/design/part-events.txt:
23379         * docs/design/part-gstbus.txt:
23380         * docs/design/part-gstpipeline.txt:
23381         * docs/design/part-messages.txt:
23382         * docs/design/part-push-pull.txt:
23383         * docs/design/part-query.txt:
23384         Some more docs.
23385
23386 2005-04-21  Wim Taymans  <wim@fluendo.com>
23387
23388         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
23389         (gst_message_new), (gst_message_new_error),
23390         (gst_message_new_warning), (gst_message_new_tag),
23391         (gst_message_new_state_changed), (gst_message_new_application),
23392         (gst_message_get_structure):
23393         * gst/gstmessage.h:
23394         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23395         (gst_structure_copy_conditional):
23396         Use parent refcount in GstMessage to ensure GstStructure
23397         consistency.
23398         Cleaned up headers a bit.
23399         
23400
23401 2005-04-20  Wim Taymans  <wim@fluendo.com>
23402
23403         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23404         (gst_basesink_pad_getcaps), (gst_basesink_init),
23405         (gst_basesink_chain_unlocked):
23406         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
23407         (gst_type_find_helper):
23408         * gst/elements/gsttypefindelement.c:
23409         (gst_type_find_element_have_type), (gst_type_find_element_init),
23410         (stop_typefinding), (gst_type_find_element_handle_event),
23411         (find_suggest), (gst_type_find_element_chain),
23412         (gst_type_find_element_checkgetrange),
23413         (gst_type_find_element_getrange), (do_typefind),
23414         (gst_type_find_element_activate):
23415         * gst/gstbuffer.c: (_gst_buffer_sub_free),
23416         (gst_buffer_default_free), (gst_buffer_default_copy),
23417         (gst_buffer_set_caps):
23418         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
23419         (gst_caps_replace):
23420         * gst/gstmessage.c: (gst_message_new),
23421         (gst_message_new_state_changed):
23422         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23423         (gst_pad_set_checkgetrange_function),
23424         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
23425         (gst_pad_set_caps), (gst_pad_check_pull_range),
23426         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
23427         * gst/gstpad.h:
23428         * gst/gsttypefind.c: (gst_type_find_register):
23429         Make gst_caps_replace() work like other _replace() functions.
23430         Use _caps_replace() where possible.
23431         Make sure _message_new() initialises its field.
23432         Add gst_static_pad_template_get_caps()
23433
23434
23435 2005-04-18  Andy Wingo  <wingo@pobox.com>
23436
23437         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
23438         on the peer, not the pad. I think that was a typo. Pass an extra
23439         arg to see if random access is possible. Activate the pads as
23440         PULL_RANGE if possible.
23441
23442         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
23443
23444         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
23445         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
23446         to PROP_....
23447
23448 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23449
23450         * docs/faq/using.xml:
23451           Add note on gstreamer-properties (#154996).
23452
23453 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23454
23455         * docs/random/bbb/optional-properties:
23456           Some analysis on optional properties.
23457
23458 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23459
23460         * docs/gst/tmpl/gstelementfactory.sgml:
23461         * gst/gstelement.h:
23462         * gst/gstelementfactory.c: (gst_element_factory_init),
23463         (gst_element_factory_cleanup), (gst_element_register),
23464         (__gst_element_factory_add_static_pad_template),
23465         (gst_element_factory_get_static_pad_templates),
23466         (gst_element_factory_can_src_caps),
23467         (gst_element_factory_can_sink_caps):
23468         * gst/registries/Makefile.am:
23469         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
23470         (gst_xml_registry_class_init), (gst_xml_registry_init),
23471         (gst_xml_registry_new), (gst_xml_registry_set_property),
23472         (gst_xml_registry_get_property), (get_time), (make_dir),
23473         (gst_xml_registry_get_perms_func),
23474         (plugin_times_older_than_recurse), (plugin_times_older_than),
23475         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
23476         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
23477         (add_to_char_array), (read_string), (read_uint), (read_enum),
23478         (load_pad_template), (load_feature), (load_plugin), (load_paths),
23479         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
23480         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
23481         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
23482         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
23483         (gst_xml_registry_rebuild):
23484         * gst/registries/gstlibxmlregistry.h:
23485         * tools/gst-compprep.c: (main):
23486         * tools/gst-inspect.c: (print_pad_templates_info):
23487         * tools/gst-xmlinspect.c: (print_element_info):
23488           Use libxml2 for registry parsing, use staticpadtemplates in
23489           elementfactories. Makes gst_init() +/- 10x faster.
23490
23491 2005-04-12  Wim Taymans  <wim@fluendo.com>
23492
23493         * gst/base/Makefile.am:
23494         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23495         (gst_basesink_pad_getcaps), (gst_basesink_init),
23496         (gst_basesink_event), (gst_basesink_change_state):
23497         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23498         (gst_basesrc_init), (gst_basesrc_query),
23499         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23500         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23501         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23502         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23503         (gst_basesrc_stop), (gst_basesrc_activate),
23504         (gst_basesrc_change_state):
23505         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23506         (helper_find_suggest), (gst_type_find_helper):
23507         * gst/base/gsttypefindhelper.h:
23508         * gst/elements/Makefile.am:
23509         * gst/elements/gstelements.c:
23510         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23511         (gst_fakesink_get_times), (gst_fakesink_event),
23512         (gst_fakesink_preroll), (gst_fakesink_render):
23513         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23514         (gst_fakesrc_init), (gst_fakesrc_event_handler),
23515         (gst_fakesrc_get_property), (gst_fakesrc_create),
23516         (gst_fakesrc_start), (gst_fakesrc_stop):
23517         * gst/elements/gstfakesrc.h:
23518         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
23519         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23520         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23521         (gst_filesrc_create_read), (gst_filesrc_create),
23522         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
23523         (gst_filesrc_start):
23524         * gst/elements/gsttypefindelement.c:
23525         (gst_type_find_element_have_type), (gst_type_find_element_init),
23526         (start_typefinding), (stop_typefinding), (push_buffer_store),
23527         (gst_type_find_element_handle_event),
23528         (gst_type_find_element_chain),
23529         (gst_type_find_element_checkgetrange),
23530         (gst_type_find_element_getrange), (do_typefind),
23531         (gst_type_find_element_activate),
23532         (gst_type_find_element_change_state):
23533         * gst/elements/gsttypefindelement.h:
23534         * gst/gstpipeline.c: (pipeline_bus_handler):
23535         Added typefind helper.
23536         Small preroll fix in the base sink.
23537         Disable typefind code in basesrc.
23538         Crude port of typefindelement.
23539         Fakesrc cleanups.
23540
23541
23542 2005-04-11  Wim Taymans  <wim@fluendo.com>
23543
23544         * check/gst/gstbus.c: (gstbus_suite):
23545         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
23546         * check/gstcheck.h:
23547           Fix up the timeout so that the test does not fail.
23548
23549 2005-04-06  Wim Taymans  <wim@fluendo.com>
23550
23551         * gst/base/README:
23552         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23553         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
23554         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23555         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23556         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23557         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23558         (gst_basesrc_stop), (gst_basesrc_activate),
23559         (gst_basesrc_change_state), (basesrc_find_peek),
23560         (basesrc_find_suggest), (gst_basesrc_type_find):
23561         * gst/base/gstbasesrc.h:
23562         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
23563         (gst_filesrc_class_init), (gst_filesrc_init),
23564         (gst_filesrc_finalize), (gst_filesrc_set_location),
23565         (gst_filesrc_set_property), (gst_filesrc_get_property),
23566         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23567         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23568         (gst_filesrc_create_read), (gst_filesrc_create),
23569         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
23570         * gst/elements/gstfilesrc.h:
23571         * gst/gstelement.c: (gst_element_get_state_func),
23572         (gst_element_lost_state), (gst_element_pads_activate):
23573         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23574         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23575         (gst_pad_pull_range):
23576         * gst/gstpad.h:
23577         More work on the generic source base class, implement seeking,
23578         query.
23579         Make filesrc extend the base source class.
23580         Added gst_pad_set_checkgetrange_function to GstPad.
23581
23582 2005-04-06  Andy Wingo  <wingo@pobox.com>
23583
23584         * pkgconfig/gstreamer-base.pc.in:
23585         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
23586
23587         * pkgconfig/Makefile.am:
23588         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
23589
23590 2005-04-04  Wim Taymans  <wim@fluendo.com>
23591
23592         * gst/base/Makefile.am:
23593         * gst/base/README:
23594         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23595         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23596         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23597         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
23598         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23599         (gst_basesrc_base_init), (gst_basesrc_class_init),
23600         (gst_basesrc_init), (gst_basesrc_get_formats),
23601         (gst_basesrc_get_query_types), (gst_basesrc_query),
23602         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
23603         (gst_basesrc_set_property), (gst_basesrc_get_property),
23604         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
23605         (gst_basesrc_loop), (gst_basesrc_activate),
23606         (gst_basesrc_change_state):
23607         * gst/base/gstbasesrc.h:
23608         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
23609         (gst_fakesrc_class_init), (gst_fakesrc_init),
23610         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
23611         (gst_fakesrc_get_property), (gst_fakesrc_create):
23612         * gst/elements/gstfakesrc.h:
23613         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
23614         (gst_filesrc_open_file), (gst_filesrc_loop),
23615         (gst_filesrc_activate), (filesrc_find_peek),
23616         (gst_filesrc_type_find):
23617         Made base source class, make fakesrc extend it.
23618         Add comments to basesink class.
23619         Some filesrc cleanup.
23620
23621 2005-03-31  David Schleef  <ds@schleef.org>
23622
23623         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
23624         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
23625         expected to link against libgstreamer.
23626         * gst/base/Makefile.am: link against libgstreamer
23627         * gst/elements/Makefile.am: same
23628
23629 2005-03-31  Andy Wingo  <wingo@pobox.com>
23630
23631         * tests/instantiate/Makefile.am:
23632         * tests/instantiate/caps.c: Add test to test speed of caps copy
23633         and free.
23634
23635         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
23636         GMemChunk to be fair.
23637
23638         * gst/gsttrashstack.h: Remove warning about using the fallback
23639         trash stack implementation, it's still faster than malloc.
23640
23641 2005-03-30  Andy Wingo  <wingo@pobox.com>
23642
23643         * tests/complexity.c: Add a copyright.
23644
23645 2005-03-31  Wim Taymans  <wim@fluendo.com>
23646
23647         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
23648         (gst_base_transform_class_init), (gst_base_transform_init),
23649         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23650         (gst_base_transform_get_property),
23651         (gst_base_transform_sink_activate),
23652         (gst_base_transform_src_activate),
23653         (gst_base_transform_change_state):
23654         * gst/base/gstbasetransform.h:
23655         * gst/elements/gstidentity.c: (gst_identity_class_init),
23656         (gst_identity_event), (gst_identity_check_perfect),
23657         (gst_identity_transform), (gst_identity_start),
23658         (gst_identity_stop):
23659         Added start/stop methods to transform base class so subclasses 
23660         don't need to deal with state changes even.
23661
23662 2005-03-31  Wim Taymans  <wim@fluendo.com>
23663
23664         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
23665         (gst_event_new_discontinuous), (gst_event_discont_get_value):
23666         * gst/gstevent.h:
23667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23668         (gst_pad_pull_range):
23669         Added rate to the discont event to prepare for variable speed
23670         and reverse playback.
23671
23672 2005-03-29  David Schleef  <ds@schleef.org>
23673
23674         * configure.ac:
23675         * testsuite/trigger/Makefile.am:
23676         * testsuite/trigger/trigger.c: A little example program to show
23677         how trigger-based elements can work.
23678
23679 2005-03-29  Wim Taymans  <wim@fluendo.com>
23680
23681         * gst/base/Makefile.am:
23682         * gst/base/README:
23683         * gst/base/gstbasesink.c: (gst_basesink_get_type),
23684         (gst_basesink_base_init), (gst_basesink_class_init),
23685         (gst_basesink_pad_getcaps), (gst_basesink_init),
23686         (gst_basesink_activate), (gst_basesink_change_state):
23687         * gst/base/gstbasesink.h:
23688         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
23689         (gst_base_transform_base_init), (gst_base_transform_finalize),
23690         (gst_base_transform_class_init), (gst_base_transform_init),
23691         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
23692         (gst_base_transform_event), (gst_base_transform_getrange),
23693         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
23694         (gst_base_transform_set_property),
23695         (gst_base_transform_get_property),
23696         (gst_base_transform_sink_activate),
23697         (gst_base_transform_src_activate),
23698         (gst_base_transform_change_state):
23699         * gst/base/gstbasetransform.h:
23700         * gst/elements/gstidentity.c: (gst_identity_finalize),
23701         (gst_identity_class_init), (gst_identity_init),
23702         (gst_identity_event), (gst_identity_check_perfect),
23703         (gst_identity_transform), (gst_identity_set_property),
23704         (gst_identity_get_property), (gst_identity_change_state):
23705         * gst/elements/gstidentity.h:
23706         * gst/gstelement.c: (gst_element_get_state_func),
23707         (gst_element_lost_state), (gst_element_pads_activate):
23708         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23709         (gst_pad_check_pull_range), (gst_pad_pull_range):
23710         * gst/gstpad.h:
23711         Simplify pad activation.
23712         Added function to check if pull_range can be performed.
23713         Error out when pulling inactive or flushing pads.
23714         Removed const from refcounted types as it does not make sense.
23715         Simplify pad templates in basesink
23716         Added base class for simple 1-to-1 transforms.
23717         Make identity subclass the base transform.
23718
23719 2005-03-29  Andy Wingo  <wingo@pobox.com>
23720
23721         * docs/libs/gstreamer-libs-overrides.txt: 
23722         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
23723         really don't understand what's going on, but like whatever. I want
23724         green buildbot!
23725
23726         * docs/gst/Makefile.am:
23727         * docs/libs/Makefile.am: Dist the overrides files.
23728
23729         * check/Makefile.am (clean-local): Remove .libs directories.
23730
23731         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
23732         elements to EXTRA_DIST, so po/ files are happy.
23733
23734         * po/POTFILES.in: Er, remove it here.
23735
23736         * po/POTFILES: Remove gstspider.c.
23737
23738         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
23739
23740         * docs/libs/gstreamer-libs-docs.sgml: 
23741         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
23742         bytestream.
23743
23744         * tests/complexity.c (main): Set the length of the preroll queue
23745         on the sinks to prevent a lockup.
23746
23747         * libs/gst/dataprotocol/Makefile.am: 
23748         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
23749         the same as the one in check/gst-libs/gdp.c.
23750
23751         * po/, docs/gst/: Commit automatic changes to docs and po files.
23752
23753         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
23754         the versioned libgstbase.
23755
23756         * check/Makefile.am: Depend on an unversioned gst-register, seems
23757         to make autoconf happier.
23758
23759         * gst/base/Makefile.am: Make libgstbase a versioned lib.
23760
23761 2005-03-28  Wim Taymans  <wim@fluendo.com>
23762
23763         * configure.ac:
23764         * docs/design/part-gstelement.txt:
23765         * docs/design/part-negotiation.txt:
23766         * docs/design/part-preroll.txt:
23767         * docs/design/part-scheduling.txt:
23768         * docs/design/part-states.txt:
23769         * gst/Makefile.am:
23770         * gst/base/Makefile.am:
23771         * gst/base/README:
23772         * gst/base/gstbasesink.c: (gst_basesink_get_template),
23773         (gst_basesink_base_init), (gst_basesink_class_init),
23774         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23775         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23776         (gst_basesink_set_pad_functions),
23777         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
23778         (gst_basesink_set_property), (gst_basesink_get_property),
23779         (gst_base_sink_get_template), (gst_base_sink_get_caps),
23780         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
23781         (gst_basesink_preroll_queue_push),
23782         (gst_basesink_preroll_queue_empty),
23783         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
23784         (gst_basesink_event), (gst_basesink_get_times),
23785         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
23786         (gst_basesink_chain_unlocked), (gst_basesink_chain),
23787         (gst_basesink_loop), (gst_basesink_activate),
23788         (gst_basesink_change_state):
23789         * gst/base/gstbasesink.h:
23790         * gst/elements/Makefile.am:
23791         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
23792         (gst_fakesink_class_init), (gst_fakesink_init),
23793         (gst_fakesink_set_property), (gst_fakesink_get_property),
23794         (gst_fakesink_get_times), (gst_fakesink_event),
23795         (gst_fakesink_preroll), (gst_fakesink_render),
23796         (gst_fakesink_change_state):
23797         * gst/elements/gstfakesink.h:
23798         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23799         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
23800         * gst/gstelement.c: (gst_element_add_pad),
23801         (gst_element_get_state_func), (gst_element_abort_state),
23802         (gst_element_commit_state), (gst_element_lost_state),
23803         (gst_element_set_state), (gst_element_pads_activate):
23804         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
23805         * gst/gstpipeline.c: (gst_pipeline_send_event),
23806         (gst_pipeline_change_state):
23807         Added state change code.
23808         Added/updated docs.
23809         Added sink base class, make fakesink extend the base class.
23810         Small cleanups in GstPipeline.
23811
23812 2005-03-26  David Schleef  <ds@schleef.org>
23813
23814         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
23815         is broken and should be implemented in a different library.
23816         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
23817         * gst/gst.h: remove gstcpu.h
23818         * gst/gstcpu.c: remove
23819         * gst/gstcpu.h: remove
23820         * gst/Makefile.am.future: Remove this file.  It's ancient.
23821
23822 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23823
23824         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23825         (gst_bin_send_event):
23826           Add default event/set_manager handlers. The set_manager handler
23827           takes care that the manager is distributed over kids that were
23828           already in the bin before the manager was set. The event handler
23829           is a utility virtual function that sends the event over all sinks,
23830           so that gst_element_send_event (bin, event); has the expected
23831           behaviour.
23832         * gst/gstpad.c: (gst_pad_event_default):
23833           Re-install default event handling for discontinuities, so that
23834           seeking works without requiring hacks in applications or extra
23835           code in sinks.
23836         * gst/gstpipeline.c: (gst_pipeline_class_init),
23837         (gst_pipeline_send_event):
23838           Half hack, half utility: set a pipeline to PAUSED for seek events,
23839           since that is the only way we can guarantee a/v sync. Means that
23840           you can do gst_element_seek (pipeline, method, pos); on a pipeline
23841           and it "just works".
23842
23843 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23844
23845         * gst/gstpipeline.c: (gst_pipeline_use_clock):
23846           Lock/unlock mismatch.
23847
23848 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23849
23850         * docs/faq/gst-uninstalled:
23851           add gst-plugins-base
23852         * docs/gst/Makefile.am:
23853           don't error out until docs are fixed
23854         * docs/gst/gstreamer.types:
23855           remove thread
23856
23857 2005-03-22  Wim Taymans  <wim@fluendo.com>
23858
23859         * check/Makefile.am:
23860         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
23861         * gst/gststructure.c: (gst_structure_set_valist),
23862         (gst_structure_copy_conditional):
23863         Activated more tests.
23864         Added message test.
23865         Added G_TYPE_POINTER to GstStructure.
23866         
23867
23868 2005-03-22  Wim Taymans  <wim@fluendo.com>
23869
23870         * docs/design/part-TODO.txt:
23871         * docs/design/part-events.txt:
23872         * docs/design/part-gstbin.txt:
23873         * docs/design/part-gstbus.txt:
23874         * docs/design/part-gstpipeline.txt:
23875         * docs/design/part-messages.txt:
23876         * gst/gstbus.c:
23877         * gst/gstmessage.c:
23878         Docs updates
23879
23880 2005-03-21  Wim Taymans  <wim@fluendo.com>
23881
23882         * gst/gstbus.c: (gst_bus_post):
23883         Fix copy-and-paste error.
23884
23885 2005-03-21  Wim Taymans  <wim@fluendo.com>
23886
23887         * check/Makefile.am:
23888         * gst/Makefile.am:
23889         * gst/elements/Makefile.am:
23890         * gst/elements/gstelements.c:
23891         * gst/elements/gstfakesink.c: (gst_fakesink_init),
23892         (gst_fakesink_event), (gst_fakesink_chain):
23893         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23894         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
23895         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
23896         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
23897         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23898         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
23899         (gst_fakesrc_loop), (gst_fakesrc_activate),
23900         (gst_fakesrc_change_state):
23901         * gst/elements/gstfakesrc.h:
23902         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
23903         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
23904         (gst_filesrc_open_file), (gst_filesrc_loop),
23905         (gst_filesrc_activate), (gst_filesrc_change_state),
23906         (filesrc_find_peek), (filesrc_find_suggest),
23907         (gst_filesrc_type_find):
23908         * gst/elements/gstidentity.c: (gst_identity_finalize),
23909         (gst_identity_class_init), (gst_identity_init),
23910         (gst_identity_proxy_getcaps), (identity_queue_push),
23911         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
23912         (gst_identity_getrange), (gst_identity_chain),
23913         (gst_identity_sink_loop), (gst_identity_src_loop),
23914         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
23915         (gst_identity_set_property), (gst_identity_get_property),
23916         (gst_identity_change_state):
23917         * gst/elements/gstidentity.h:
23918         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
23919         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
23920         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
23921         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
23922         (gst_tee_sink_activate):
23923         * gst/elements/gsttee.h:
23924         * gst/gst.c: (gst_register_core_elements), (init_post):
23925         * gst/gst.h:
23926         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
23927         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
23928         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
23929         (gst_bin_change_state):
23930         * gst/gstbin.h:
23931         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
23932         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
23933         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
23934         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
23935         (gst_bus_set_sync_handler), (gst_bus_create_watch),
23936         (bus_watch_callback), (bus_watch_destroy),
23937         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
23938         (poll_timeout), (gst_bus_poll):
23939         * gst/gstbus.h:
23940         * gst/gstcaps.h:
23941         * gst/gstdata.h:
23942         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23943         (gst_element_post_message), (gst_element_message_full),
23944         (gst_element_get_state_func), (gst_element_get_state),
23945         (gst_element_abort_state), (gst_element_commit_state),
23946         (gst_element_lost_state), (gst_element_set_state),
23947         (gst_element_pads_activate), (gst_element_change_state),
23948         (gst_element_dispose), (gst_element_set_manager_func),
23949         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
23950         (gst_element_set_manager), (gst_element_get_manager),
23951         (gst_element_set_bus), (gst_element_get_bus),
23952         (gst_element_set_scheduler), (gst_element_get_scheduler):
23953         * gst/gstelement.h:
23954         * gst/gstevent.c: (gst_event_new_segment_seek),
23955         (gst_event_new_flush):
23956         * gst/gstevent.h:
23957         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
23958         (_gst_message_free), (gst_message_get_type), (gst_message_new),
23959         (gst_message_new_eos), (gst_message_new_error),
23960         (gst_message_new_warning), (gst_message_new_tag),
23961         (gst_message_new_state_changed), (gst_message_new_application),
23962         (gst_message_get_structure), (gst_message_parse_tag),
23963         (gst_message_parse_state_changed), (gst_message_parse_error),
23964         (gst_message_parse_warning):
23965         * gst/gstmessage.h:
23966         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
23967         (gst_real_pad_set_property), (gst_pad_set_active),
23968         (gst_pad_is_active), (gst_pad_set_blocked_async),
23969         (gst_pad_set_blocked), (gst_pad_is_blocked),
23970         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
23971         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
23972         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
23973         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
23974         (gst_pad_link_filtered), (gst_pad_relink_filtered),
23975         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
23976         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
23977         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
23978         (gst_pad_set_caps), (gst_pad_configure_sink),
23979         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
23980         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
23981         (gst_real_pad_dispose), (gst_real_pad_finalize),
23982         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
23983         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23984         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
23985         * gst/gstpad.h:
23986         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
23987         (pipeline_bus_handler), (gst_pipeline_change_state),
23988         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
23989         * gst/gstpipeline.h:
23990         * gst/gstprobe.h:
23991         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23992         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
23993         (gst_queue_link_src), (gst_queue_bufferalloc),
23994         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
23995         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
23996         (gst_queue_loop), (gst_queue_handle_src_event),
23997         (gst_queue_handle_src_query), (gst_queue_src_activate),
23998         (gst_queue_change_state):
23999         * gst/gstqueue.h:
24000         * gst/gstscheduler.c: (gst_scheduler_init),
24001         (gst_scheduler_dispose), (gst_scheduler_create_task),
24002         (gst_scheduler_factory_create):
24003         * gst/gstscheduler.h:
24004         * gst/gststructure.c: (gst_structure_get_type),
24005         (gst_structure_copy_conditional):
24006         * gst/gststructure.h:
24007         * gst/gsttaginterface.h:
24008         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24009         (gst_task_init), (gst_task_dispose), (gst_task_create),
24010         (gst_task_get_state), (gst_task_start), (gst_task_stop),
24011         (gst_task_pause):
24012         * gst/gsttask.h:
24013         * gst/gstthread.c:
24014         * gst/gstthread.h:
24015         * gst/gsttypes.h:
24016         * gst/schedulers/Makefile.am:
24017         * gst/schedulers/cothreads_compat.h:
24018         * gst/schedulers/entryscheduler.c:
24019         * gst/schedulers/faircothreads.c:
24020         * gst/schedulers/faircothreads.h:
24021         * gst/schedulers/fairscheduler.c:
24022         * gst/schedulers/gstbasicscheduler.c:
24023         * gst/schedulers/gstoptimalscheduler.c:
24024         * gst/schedulers/gthread-cothreads.h:
24025         * gst/schedulers/threadscheduler.c:
24026         (gst_thread_scheduler_task_get_type),
24027         (gst_thread_scheduler_task_class_init),
24028         (gst_thread_scheduler_task_init),
24029         (gst_thread_scheduler_task_start),
24030         (gst_thread_scheduler_task_stop),
24031         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
24032         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24033         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
24034         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
24035         (plugin_init):
24036         * libs/gst/Makefile.am:
24037         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
24038         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
24039         (gst_file_pad_parent_set):
24040         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24041         (gst_dp_event_from_packet):
24042         * tests/complexity.c: (main):
24043         * tests/mass_elements.c: (main):
24044         * testsuite/states/locked.c: (message_received), (main):
24045         * testsuite/states/parent.c: (main):
24046         * tools/gst-inspect.c: (print_element_flag_info),
24047         (print_implementation_info), (print_pad_info):
24048         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
24049         (main):
24050         * tools/gst-md5sum.c: (event_loop), (main):
24051         * tools/gst-typefind.c: (main):
24052         * tools/gst-xmlinspect.c: (print_element_info):
24053         Next big merge.
24054         Added GstBus for mainloop integration.
24055         Added GstMessage for sending notifications on the bus.
24056         Added GstTask as an abstraction for pipeline entry points.
24057         Removed GstThread.
24058         Removed Schedulers.
24059         Simplified GstQueue for multithreaded core.
24060         Made _link threadsafe, removed old capsnego.
24061         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
24062         Added pad blocking functions.
24063         Reworked scheduling functions in GstPad to prepare for
24064         scheduling updates soon.
24065         Moved events out of data stream.
24066         Simplified GstEvent types.
24067         Added return values to push/pull.
24068         Removed clocking from GstElement.
24069         Added prototypes for state change function for next merge.
24070         Removed iterate from bins and state change management.
24071         Fixed some elements, disabled others for now.
24072         Fixed -inspect and -launch.
24073         Added check for GstBus.
24074
24075 2005-03-10  Wim Taymans  <wim@fluendo.com>
24076
24077         * docs/design/part-MT-refcounting.txt:
24078         * docs/design/part-clocks.txt:
24079         * docs/design/part-gstelement.txt:
24080         * docs/design/part-gstobject.txt:
24081         * docs/design/part-standards.txt:
24082         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24083         (gst_bin_remove_func), (gst_bin_remove):
24084         * gst/gstbin.h:
24085         * gst/gstbuffer.c:
24086         * gst/gstcaps.h:
24087         * testsuite/clock/clock1.c: (main):
24088         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
24089         (main):
24090         * testsuite/dlopen/loadgst.c: (do_test):
24091         * testsuite/refcounting/bin.c: (add_remove_test1),
24092         (add_remove_test2), (main):
24093         * testsuite/refcounting/element.c: (main):
24094         * testsuite/refcounting/element_pad.c: (main):
24095         * testsuite/refcounting/pad.c: (main):
24096         * tools/gst-launch.c: (sigint_handler_sighandler):
24097         * tools/gst-typefind.c: (main):
24098         Doc updates.
24099         Added doc about clock.
24100         removed gst_bin_iterate_recurse_up(), marked methods
24101         for removal.
24102         Fix more testsuites.
24103
24104 2005-03-09  Wim Taymans  <wim@fluendo.com>
24105
24106         * gst/gstpad.c: (gst_pad_get_direction),
24107         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
24108         (gst_pad_collect_valist):
24109         * testsuite/bins/interface.c: (main):
24110         * testsuite/caps/audioscale.c: (test_caps):
24111         * testsuite/caps/caps.c: (test1), (test2), (test3):
24112         * testsuite/caps/deserialize.c: (main):
24113         * testsuite/caps/enumcaps.c: (main):
24114         * testsuite/caps/filtercaps.c: (main):
24115         * testsuite/caps/intersect2.c: (main):
24116         * testsuite/caps/random.c: (main):
24117         * testsuite/caps/renegotiate.c: (my_fixate), (main):
24118         * testsuite/caps/sets.c: (check_caps):
24119         * testsuite/caps/simplify.c: (check_caps), (main):
24120         * testsuite/caps/subtract.c: (check_caps):
24121         Fix _pad_get_direction wrt ghostpads.
24122         Fix caps testsuite.
24123
24124 2005-03-09  Wim Taymans  <wim@fluendo.com>
24125
24126         * check/Makefile.am:
24127         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
24128         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
24129         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
24130         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
24131         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
24132         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
24133         (gst_bin_remove), (gst_bin_iterate_recurse_up),
24134         (bin_element_is_sink), (gst_bin_iterate_sinks),
24135         (gst_bin_iterate_all_by_interface):
24136         * gst/gstbin.h:
24137         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
24138         (gst_element_change_state), (gst_element_dispose),
24139         (gst_element_finalize), (gst_element_set_loop_function):
24140         * gst/gstelement.h:
24141         * gst/gstiterator.c: (find_custom_fold_func):
24142         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24143         (gst_pad_collectv), (gst_pad_collect_valist),
24144         (gst_pad_template_new):
24145         * gst/gstpipeline.c: (gst_pipeline_class_init),
24146         (gst_pipeline_dispose), (gst_pipeline_set_property),
24147         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
24148         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
24149         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
24150         * gst/gstutils.h:
24151         * gst/schedulers/entryscheduler.c:
24152         * gst/schedulers/gstbasicscheduler.c:
24153         (gst_basic_scheduler_cothreaded_chain),
24154         (gst_basic_scheduler_chain_add_element):
24155         * testsuite/bins/interface.c: (main):
24156         Added GstBin test.
24157         Added GstSystemClock test.
24158         Implemented clock distribution code in GstBin.
24159         Implemented iterate sinks method for future use.
24160         Rearranged gstelement.h
24161         Fix GstIterator comparison bug.
24162         Moved some code to GstPipeline, mostly clocking related.
24163
24164 2005-03-09  Wim Taymans  <wim@fluendo.com>
24165
24166         * configure.ac:
24167         * gst/gst_private.h:
24168         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24169         (gst_bin_remove_func), (gst_bin_remove),
24170         (gst_bin_get_by_name_recurse_up):
24171         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
24172         (gst_clock_id_compare_func), (gst_clock_id_wait),
24173         (gst_clock_id_wait_async), (gst_clock_init),
24174         (gst_clock_adjust_unlocked), (gst_clock_get_time):
24175         * gst/gstelement.h:
24176         * gst/gstinfo.c: (_gst_debug_init):
24177         * gst/gstobject.h:
24178         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24179         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
24180         * gst/gstpad.h:
24181         Bump version number, we're now 0.9.0
24182         Add future debugging category.
24183         Fix NULL _unref() in _get_by_name_recurse_up
24184         Rearrange gstpad.h.
24185         Update some docs.
24186
24187 2005-03-08  Wim Taymans  <wim@fluendo.com>
24188
24189         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
24190         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
24191         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24192         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
24193         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
24194         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
24195         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
24196         * gst/elements/gstidentity.c: (gst_identity_class_init):
24197         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
24198         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
24199         * gst/elements/gstshaper.c: (gst_shaper_class_init):
24200         * gst/elements/gststatistics.c: (gst_statistics_class_init):
24201         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
24202         (gst_tee_link):
24203         * gst/gstelement.c: (gst_element_class_init),
24204         (gst_element_base_class_init), (gst_element_init),
24205         (gst_element_get_random_pad), (gst_element_wait_state_change),
24206         (gst_element_change_state), (gst_element_dispose),
24207         (gst_element_finalize), (gst_element_set_loop_function):
24208         * gst/gstelement.h:
24209         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
24210         * gst/gstthread.c: (gst_thread_class_init),
24211         (gst_thread_release_children_locks), (gst_thread_change_state):
24212         * gst/schedulers/gstbasicscheduler.c:
24213         (gst_basic_scheduler_loopfunc_wrapper),
24214         (gst_basic_scheduler_chain_wrapper),
24215         (gst_basic_scheduler_src_wrapper),
24216         (gst_basic_scheduler_remove_element):
24217         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
24218         Remove threadsafe properties. Fix elements because GObject
24219         complains when installing a property before declaring a
24220         set/get_property handler.
24221         Rearrange gstelement.h file, use STATE macros for state locks.
24222         Free mutexes in the finalize method instead of dispose.
24223
24224 2005-03-08  Wim Taymans  <wim@fluendo.com>
24225
24226         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24227         * gst/gstthread.c: (gst_thread_release_children_locks):
24228         Added parentage check.
24229         Fix build og GstThread again.
24230
24231 2005-03-08  Wim Taymans  <wim@fluendo.com>
24232
24233         * docs/design/part-MT-refcounting.txt:
24234         * docs/design/part-conventions.txt:
24235         * docs/design/part-gstobject.txt:
24236         * docs/design/part-relations.txt:
24237         * docs/design/part-standards.txt:
24238         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24239         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
24240         (gst_bin_get_by_name), (gst_bin_get_by_interface),
24241         (gst_bin_iterate_all_by_interface):
24242         * gst/gstbuffer.h:
24243         * gst/gstclock.h:
24244         * gst/gstelement.c: (gst_element_class_init),
24245         (gst_element_change_state), (gst_element_set_loop_function):
24246         * gst/gstelement.h:
24247         * gst/gstiterator.c:
24248         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
24249         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
24250         (gst_object_dispatch_properties_changed), (gst_object_set_name),
24251         (gst_object_set_parent), (gst_object_unparent),
24252         (gst_object_check_uniqueness):
24253         * gst/gstobject.h:
24254         Docs updates, clean up some headers.
24255
24256 2005-03-07  Wim Taymans  <wim@fluendo.com>
24257
24258         * check/.cvsignore:
24259         * check/Makefile.am:
24260         * check/gst-libs/.cvsignore:
24261         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
24262         * check/gst/.cvsignore:
24263         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
24264         (START_TEST), (gstbus_suite), (main):
24265         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
24266         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
24267         (gst_data_suite), (main):
24268         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
24269         (add_fold_func), (gstiterator_suite), (main):
24270         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
24271         (thread_name_object), (thread_name_object_default),
24272         (gst_object_name_compare), (gst_object_suite), (main):
24273         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
24274         (gst_pad_suite), (main):
24275         * check/gstcheck.c: (gst_check_log_message_func),
24276         (gst_check_log_critical_func), (gst_check_init):
24277         * check/gstcheck.h:
24278         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
24279         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
24280         Added checks.
24281
24282 2005-03-07  Wim Taymans  <wim@fluendo.com>
24283
24284         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24285         (gst_list_iterator_next), (gst_list_iterator_resync),
24286         (gst_list_iterator_free), (gst_iterator_new_list),
24287         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
24288         (gst_iterator_free), (gst_iterator_push), (filter_next),
24289         (filter_resync), (filter_uninit), (filter_free),
24290         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
24291         (gst_iterator_foreach), (find_custom_fold_func),
24292         (gst_iterator_find_custom):
24293         * gst/gstiterator.h:
24294         Added missing files.
24295
24296 2005-03-07  Wim Taymans  <wim@fluendo.com>
24297
24298         * Makefile.am:
24299         * configure.ac:
24300         * docs/design/part-MT-refcounting.txt:
24301         * docs/design/part-conventions.txt:
24302         * docs/design/part-gstobject.txt:
24303         * docs/design/part-relations.txt:
24304         * examples/mixer/mixer.c: (main):
24305         * examples/thread/thread.c: (eos), (main):
24306         * gst/Makefile.am:
24307         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
24308         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
24309         (gst_spider_plug_from_srcpad):
24310         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
24311         (gst_spider_identity_change_state),
24312         (gst_spider_identity_sink_loop_type_finding):
24313         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
24314         * gst/elements/gstidentity.c: (gst_identity_init):
24315         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
24316         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
24317         * gst/elements/gsttypefindelement.c: (free_entry):
24318         * gst/gst.c:
24319         * gst/gst.h:
24320         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
24321         (gst_bin_set_clock_func), (gst_bin_auto_clock),
24322         (gst_bin_set_index), (gst_bin_set_element_sched),
24323         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
24324         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
24325         (gst_bin_iterate_elements), (iterate_child_recurse),
24326         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
24327         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
24328         (compare_interface), (gst_bin_get_by_interface),
24329         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
24330         * gst/gstbin.h:
24331         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
24332         (gst_buffer_default_free), (gst_buffer_default_copy),
24333         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
24334         (gst_buffer_create_sub):
24335         * gst/gstbuffer.h:
24336         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
24337         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
24338         (gst_caps_unref), (gst_static_caps_get),
24339         (gst_caps_remove_and_get_structure), (gst_caps_append),
24340         (gst_caps_append_structure), (gst_caps_remove_structure),
24341         (gst_caps_copy_nth), (gst_caps_set_simple),
24342         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
24343         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
24344         (gst_caps_structure_intersect_field), (gst_caps_intersect),
24345         (gst_caps_structure_subtract_field), (gst_caps_subtract),
24346         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
24347         (gst_caps_structure_figure_out_union),
24348         (gst_caps_switch_structures), (gst_caps_do_simplify),
24349         (gst_caps_replace), (gst_caps_from_string),
24350         (gst_caps_copy_conditional):
24351         * gst/gstcaps.h:
24352         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
24353         (_gst_clock_id_free), (gst_clock_id_unref),
24354         (gst_clock_id_compare_func), (gst_clock_id_wait),
24355         (gst_clock_id_wait_async), (gst_clock_class_init),
24356         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
24357         (gst_clock_get_time), (gst_clock_set_time_adjust),
24358         (gst_clock_set_property), (gst_clock_get_property):
24359         * gst/gstclock.h:
24360         * gst/gstcompat.h:
24361         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
24362         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
24363         * gst/gstdata.h:
24364         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
24365         (gst_element_requires_clock), (gst_element_provides_clock),
24366         (gst_element_set_clock), (gst_element_clock_wait),
24367         (gst_element_wait), (gst_element_set_time_delay),
24368         (gst_element_is_indexable), (gst_element_add_pad),
24369         (gst_element_add_ghost_pad), (gst_element_remove_pad),
24370         (pad_compare_name), (gst_element_get_static_pad),
24371         (gst_element_request_pad), (gst_element_get_request_pad),
24372         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
24373         (gst_element_class_get_pad_template_list),
24374         (gst_element_class_get_pad_template), (gst_element_error_func),
24375         (gst_element_get_random_pad), (gst_element_get_event_masks),
24376         (gst_element_send_event), (gst_element_seek),
24377         (gst_element_get_query_types), (gst_element_query),
24378         (gst_element_get_formats), (gst_element_convert),
24379         (gst_element_is_locked_state), (gst_element_set_locked_state),
24380         (gst_element_sync_state_with_parent), (gst_element_change_state),
24381         (gst_element_finalize), (gst_element_yield),
24382         (gst_element_interrupt), (gst_element_set_scheduler),
24383         (gst_element_get_scheduler), (gst_element_set_loop_function):
24384         * gst/gstelement.h:
24385         * gst/gstevent.h:
24386         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
24387         (gst_format_get_by_nick), (gst_format_get_details),
24388         (gst_format_iterate_definitions):
24389         * gst/gstformat.h:
24390         * gst/gstindex.c: (gst_index_gtype_resolver):
24391         * gst/gstinfo.c:
24392         * gst/gstinfo.h:
24393         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
24394         (gst_mem_chunk_free):
24395         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
24396         (gst_object_ref), (gst_object_unref), (gst_object_sink),
24397         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
24398         (gst_object_dispatch_properties_changed),
24399         (gst_object_set_name_default), (gst_object_set_name),
24400         (gst_object_get_name), (gst_object_set_name_prefix),
24401         (gst_object_get_name_prefix), (gst_object_set_parent),
24402         (gst_object_get_parent), (gst_object_unparent),
24403         (gst_object_check_uniqueness), (gst_object_save_thyself),
24404         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
24405         (gst_object_set_property), (gst_object_get_property),
24406         (gst_object_get_path_string):
24407         * gst/gstobject.h:
24408         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24409         (gst_real_pad_init), (gst_real_pad_get_property),
24410         (gst_pad_custom_new), (gst_pad_get_direction),
24411         (gst_pad_set_active), (gst_pad_is_active),
24412         (gst_pad_set_event_function), (gst_pad_is_linked),
24413         (gst_pad_link_free), (gst_pad_link_intersect),
24414         (gst_pad_link_fixate), (gst_pad_set_caps),
24415         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
24416         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
24417         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
24418         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
24419         (gst_pad_get_caps), (gst_pad_peer_get_caps),
24420         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
24421         (gst_pad_realize), (gst_pad_get_allowed_caps),
24422         (gst_real_pad_dispose), (gst_real_pad_finalize),
24423         (gst_pad_collectv), (gst_pad_collect_valist),
24424         (gst_pad_template_dispose), (gst_pad_template_new),
24425         (gst_pad_get_internal_links):
24426         * gst/gstpad.h:
24427         * gst/gstpipeline.c: (gst_pipeline_dispose),
24428         (gst_pipeline_change_state):
24429         * gst/gstpipeline.h:
24430         * gst/gstplugin.c:
24431         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
24432         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
24433         * gst/gstpluginfeature.h:
24434         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
24435         * gst/gstquery.c: (_gst_query_type_initialize),
24436         (gst_query_type_register), (gst_query_type_get_by_nick),
24437         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
24438         * gst/gstquery.h:
24439         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
24440         * gst/gstscheduler.c: (gst_scheduler_add_element),
24441         (gst_scheduler_factory_create):
24442         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24443         (gst_structure_free), (gst_structure_set_name),
24444         (gst_structure_id_set_value), (gst_structure_set_value),
24445         (gst_structure_set_valist), (gst_structure_remove_field),
24446         (gst_structure_remove_fields),
24447         (gst_structure_remove_fields_valist),
24448         (gst_structure_remove_all_fields), (gst_structure_foreach),
24449         (gst_structure_map_in_place),
24450         (gst_caps_structure_fixate_field_nearest_int),
24451         (gst_caps_structure_fixate_field_nearest_double):
24452         * gst/gststructure.h:
24453         * gst/gstsystemclock.c: (gst_system_clock_class_init),
24454         (gst_system_clock_init), (gst_system_clock_dispose),
24455         (gst_system_clock_async_thread),
24456         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
24457         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
24458         * gst/gstsystemclock.h:
24459         * gst/gsttag.c: (gst_tag_list_add_value_internal),
24460         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
24461         * gst/gsttaginterface.c:
24462         * gst/gstthread.c: (gst_thread_dispose),
24463         (gst_thread_release_children_locks), (gst_thread_change_state),
24464         (gst_thread_main_loop):
24465         * gst/gsttrashstack.h:
24466         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
24467         * gst/gsttypes.h:
24468         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24469         (gst_element_request_pad), (gst_element_get_pad_from_template),
24470         (gst_element_request_compatible_pad),
24471         (gst_element_get_compatible_pad_filtered),
24472         (gst_element_get_compatible_pad), (gst_element_state_get_name),
24473         (gst_element_link_pads_filtered), (gst_element_link_filtered),
24474         (gst_element_link_many), (gst_element_link),
24475         (gst_element_link_pads), (gst_element_unlink_pads),
24476         (gst_element_unlink_many), (gst_element_unlink),
24477         (gst_pad_can_link_filtered), (gst_pad_can_link),
24478         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
24479         (gst_object_default_error), (gst_bin_add_many),
24480         (gst_bin_remove_many), (gst_element_populate_std_props),
24481         (gst_element_class_install_std_props), (gst_buffer_merge),
24482         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
24483         (link_fold_func), (gst_pad_proxy_setcaps):
24484         * gst/gstutils.h:
24485         * gst/gstvalue.c: (gst_value_deserialize_string):
24486         * gst/parse/grammar.y:
24487         * gst/schedulers/gstbasicscheduler.c:
24488         (gst_basic_scheduler_cothreaded_chain),
24489         (gst_basic_scheduler_chain_recursive_add),
24490         (gst_basic_scheduler_pad_link):
24491         * gst/schedulers/gstoptimalscheduler.c:
24492         (get_group_schedule_function),
24493         (gst_opt_scheduler_state_transition),
24494         (gst_opt_scheduler_add_element), (element_get_reachables_func):
24495         * libs/gst/bytestream/bytestream.c:
24496         * libs/gst/dataprotocol/dataprotocol.c:
24497         (gst_dp_header_from_buffer):
24498         * po/nb.po:
24499         * po/ru.po:
24500         * tests/threadstate/threadstate2.c: (eos):
24501         * tools/gst-compprep.c: (main):
24502         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
24503         (print_pad_info), (print_children_info):
24504         * tools/gst-launch.c: (idle_func), (main):
24505         * tools/gst-md5sum.c: (idle_func), (main):
24506         * tools/gst-xmlinspect.c: (print_element_info):
24507         First THREADED backport attempt, focusing on adding locks and
24508         making sure the API is threadsafe. Needs more work. More docs
24509         follow this week.
24510
24511 2005-02-24  Andy Wingo  <wingo@pobox.com>
24512
24513         * tests/bench-complexity.scm:
24514         * tests/complexity.gnuplot: New files, good for running complexity
24515         benchmarks.
24516
24517         * tests/Makefile.am:
24518         * tests/complexity.c: New test, sets up N elements, at each level
24519         teeing into M streams per element. Eeeenteresting.
24520
24521         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
24522         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
24523         running bench-mass_elements.scm.
24524
24525         * tests/bench-mass_elements.scm: New script, runs mass_elements
24526         for various numbers of identities, outputting the results to a
24527         file. Requires guile 1.6. Just for testing.
24528
24529 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24530
24531         * gst/schedulers/fairscheduler.c:
24532           compile with debug disabled
24533
24534 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24535
24536         * configure.ac:
24537           hunting season on 0.9 is now OPEN