Improve debugging.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-06-15  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5         (gst_base_src_default_query), (gst_base_src_get_range),
6         (gst_base_src_start):
7         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8         Improve debugging.
9
10 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
11
12         * docs/pwg/advanced-types.xml:
13           Added more formats to caps table.
14
15 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
16
17         * tools/gst-launch.c: (main):
18           Remove crufy code. GOption does not need this workaround.
19
20 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
21
22         * libs/gst/controller/gstcontroller.c:
23         (gst_controlled_property_set_interpolation_mode):
24           Fix wrong getter for enums in controller.
25
26 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
27
28         * libs/gst/check/gstcheck.c: (gst_check_init):
29           Intercept criticals and warnings in the Gst-Phonon log domain, so
30           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
31           well.
32         
33 2007-06-14  Edward Hervey  <edward@fluendo.com>
34
35         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
36         Since this file doesn't include "gst.h" it will not go through the
37         macros that disable GST_LOG if debugging was disabled.
38
39 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * libs/gst/check/Makefile.am:
42         * libs/gst/check/gstcheck.h:
43         * pkgconfig/gstreamer-check-uninstalled.pc.in:
44         * pkgconfig/gstreamer-check.pc.in:
45           Ugly 'fix' for the controller unit test on the p5 bot: in
46           fail_unless_equals_float() check whether the values are 'almost
47           equal' by allowing a small absolute error, which should be good
48           enough for our use cases (normal numbers and values close to 0).
49           Proper fixage left to floating point arithmetic aficionados.
50
51 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
52
53         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
54         (gst_base_sink_render_object), (gst_base_sink_get_position):
55           Add two breaks thats where missing.
56
57 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
58
59         * docs/libs/gstreamer-libs-sections.txt:
60         * libs/gst/check/gstcheck.h:
61           API: add fail_unless_equals_float() and assert_equals_float().
62           Add documentation for some of the macros.
63
64         * tests/check/libs/controller.c: (GST_START_TEST):
65           Use newly-added asserts.
66
67 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
68
69         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
70           Show the caps change in the log to help spotting the case of not
71           exactly matching caps.
72
73 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
74
75         * docs/pwg/building-boiler.xml:
76           Fix typos, spotted by Thijs Vermeir (#447190).
77
78 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
79
80         * docs/plugins/tmpl/.cvsignore:
81         Ignore file to keep the buildbots happy
82
83 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
84
85         * docs/plugins/Makefile.am:
86         * docs/plugins/gstreamer-plugins-docs.sgml:
87         * docs/plugins/gstreamer-plugins-sections.txt:
88         Pull fdsink into the docs too.
89
90 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
91
92         * libs/gst/controller/gstinterpolation.c:
93         Actually use the new functions with min/max checks for the trigger and
94         none interpolation modes for get() and get_value_array() instead of
95         just the latter.
96
97 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
98
99         * libs/gst/controller/gstcontroller.c:
100         (gst_controlled_property_free):
101         Unset the minimum and maximum GValues when freeing the corresponding
102         GstControllerProperty struct.
103
104 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
105
106         * libs/gst/controller/gstcontroller.c:
107         (gst_controlled_property_new):
108         * libs/gst/controller/gstcontrollerprivate.h:
109         * libs/gst/controller/gstinterpolation.c:
110         (gst_controlled_property_find_control_point_node),
111         (interpolate_none_get), (interpolate_none_get_enum_value_array),
112         (interpolate_none_get_string_value_array),
113         (interpolate_trigger_get),
114         (interpolate_trigger_get_enum_value_array),
115         (interpolate_trigger_get_string_value_array):
116         Protect against values larger or smaller than the minimum or maximum
117         allowed value for the property when using values that can be compared.
118
119         Optimize trigger interpolator a bit by taking the last requested value
120         into account instead of always looping through the complete list.
121
122         Fix coding style a bit, everywhere else we use "return foo" instead
123         of "return (foo)".
124         
125         * tests/check/libs/controller.c: (GST_START_TEST),
126         (gst_controller_suite):
127         Add unit test for the protection against too large or too small
128         values.
129
130 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
131
132         * docs/random/slomo/controller.txt:
133         Add some thoughts about the future of the controller.
134
135 2007-06-08  Wim Taymans  <wim@fluendo.com>
136
137         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
138         Don't overflow in retimestamping code.
139
140 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
141
142         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
143         Use gst_util_guint64_to_gdouble for conversions.
144         * win32/common/libgstreamer.def:
145         Add new exported functions.
146
147 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * gst/gstutils.c:
150           Small docs addition.
151
152 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
153
154         * README:
155           Remove that test line again.
156
157 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
158
159         * README:
160           Test commit mail sending.
161
162 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
163
164         * configure.ac:
165           Fix typo and test commit mail sending.
166
167 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
168
169         * tests/examples/controller/audio-example.c:
170           Improve comment and test commit mail sending.
171
172 2007-06-07  Wim Taymans  <wim@fluendo.com>
173
174         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
175         (gst_bin_remove_func), (gst_bin_element_set_state),
176         (bin_handle_async_start), (bin_handle_async_done),
177         (gst_bin_handle_message_func):
178         Add helper function to find messages.
179         Generate the async-done messages together with the state change
180         messages.
181         Small cleanups in handling toplevel bins.
182
183 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
184
185         * libs/gst/base/gstdataqueue.c:
186         * libs/gst/base/gstdataqueue.h:
187         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
188         (gst_multi_queue_item_new), (gst_multi_queue_chain),
189         (gst_multi_queue_sink_event):
190         * tests/check/elements/multiqueue.c: (multiqueue_suite):
191           Fix multiqueue leaking buffers and events when downstream or the
192           queue are flushing. Make refcounting assumptions explicit and
193           document them (shouldn't break existing code that uses it other than
194           maybe leak miniobjects, but that already happens anyway). Add unit
195           test for the most common flushing case. Fixes #423700.
196           
197 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
198
199         * libs/gst/controller/gstcontroller.c:
200         Clarify docs: The get_all, get_value_array(s) functions
201         don't modify the GObject properties.
202
203 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
204
205         * libs/gst/controller/gstcontroller.c:
206         (gst_controlled_property_set_interpolation_mode),
207         (gst_controlled_property_prepend_default),
208         (gst_controlled_property_new), (gst_controller_set_unlocked),
209         (gst_controller_set), (gst_controller_set_from_list),
210         (gst_controller_unset), (gst_controller_unset_all):
211         * libs/gst/controller/gstcontrollerprivate.h:
212         * libs/gst/controller/gstinterpolation.c:
213         Factor out the 'set' logic into gst_controller_set_unlocked for the
214         gst_controller_set and gst_controller_set_from_list functions.
215
216         To make life of the interpolators easier always add a control point
217         at timestamp zero with the default value.
218
219         In the linear interpolator make things more obvious by better variable
220         naming (slope).
221
222         Implement cubic interpolation mode (by using a natural cubic spline)
223         and map the quadratic interpolation mode to this too (as quadratic
224         doesn't make much sense, see discussion on the list).
225
226         * tests/check/libs/controller.c: (GST_START_TEST),
227         (gst_controller_suite):
228         Add unit test for the cubic interpolation mode and check everywhere
229         if the interpolation mode could be set as expected.
230
231 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
232
233         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
234           Don't use GLib-2.10 functions, we still depend on
235           GLib-how-old-is-it-again-2.8.
236
237 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
238
239         * docs/gst/gstreamer-sections.txt:
240         * gst/Makefile.am:
241         * gst/gst.c:
242         * gst/gst.h:
243         * gst/gstparamspecs.c: (_gst_param_fraction_init),
244         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
245         (_gst_param_fraction_values_cmp),
246         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
247         * gst/gstparamspecs.h:
248         * gst/gstvalue.c:
249         * tests/check/Makefile.am:
250         * tests/check/gst/.cvsignore:
251         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
252         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
253         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
254         (GST_START_TEST), (gst_param_spec_suite):
255           API: add GstParamSpecFraction, so elements can have fraction
256           properties without lots of painful string parsing (#444648).
257
258 2007-06-05  Wim Taymans  <wim@fluendo.com>
259
260         * gst/gstobject.c: (gst_object_class_init):
261         Fix signal signature.
262
263         * gst/gstsegment.c:
264         Add small clarification in the api docs.
265
266         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
267         States are protected with object lock.
268
269 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
270
271         * AUTHORS:
272         I should probably be listed as an author by now.
273
274         * docs/random/release:
275         Update the release doc
276
277 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
278
279         * gst/gstvalue.c:
280           Make docs for gst_value_compare() mention return enums that
281           actually exist.
282
283 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
284
285         * configure.ac:
286           Back to CVS
287
288 === release 0.10.13 ===
289
290 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
291
292         * configure.ac:
293           releasing 0.10.13, "With or without you"
294
295 2007-05-25  Wim Taymans  <wim@fluendo.com>
296
297         * gst/gstbin.c: (bin_handle_async_done):
298         Make sure that the child bin stops after completing the async state
299         change so that the parent can continue the state change to PLAYING.
300         Fixes #441159.
301
302 2007-05-25  Wim Taymans  <wim@fluendo.com>
303
304         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
305         (unref_data), (gst_collect_pads_remove_pad),
306         (gst_collect_pads_check_pads):
307         Use additional refcounting to avoid crashes when dynamically adding and
308         removing pads. Fixes #420206.
309
310 2007-05-24  Wim Taymans  <wim@fluendo.com>
311
312         * tools/gst-launch.c: (event_loop):
313         When buffering goes from a two digit to a single digit number, make sure
314         to remove the old second digit by writing a blank over it.
315
316 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
317
318         * libs/gst/base/gstdataqueue.c:
319           Eliminate tabs and trailing comma in enum list; fix some typos.
320
321 2007-05-24  Wim Taymans  <wim@fluendo.com>
322
323         * tests/check/gst/gstbin.c: (GST_START_TEST):
324         Allow refcount of 3 and 4 because some state thread might still be busy
325         with it.
326
327 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
328
329         * plugins/elements/Makefile.am:
330         * plugins/elements/gstmultiqueue.h:
331         * plugins/elements/gstqueue.h:
332           These are not installed headers, no need for padding.
333
334 2007-05-24  Wim Taymans  <wim@fluendo.com>
335
336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
337         (gst_bin_continue_func):
338         Enable latency for next release.
339         Restore STATE_LOCK around recalc_state that was left out during the
340         rewrite and could result in racy behaviour when _get_state and
341         recalc_state are run concurrently. See #440463.
342
343 2007-05-23  Wim Taymans  <wim@fluendo.com>
344
345         * tests/check/gst/gstsystemclock.c: (store_callback),
346         (GST_START_TEST):
347         Improve test_async_order to also work when both timers are already
348         expired when we get scheduled to check it.
349
350 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
351
352         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
353         (gst_bin_set_property), (gst_bin_get_property),
354         (gst_bin_remove_func), (gst_bin_handle_message_func):
355         * gst/gstbin.h:
356           'private' is a c++ keyword, let's not use that in header files,
357           otherwise c++ compilers will throw a tantrum.
358
359 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
360
361         * plugins/elements/gstelements.c:
362         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
363         (gst_file_sink_get_current_offset):
364         * plugins/indexers/gstindexers.c: (plugin_init):
365           Use #ifdef for HAVE_XYZ for consistency.
366
367         * tests/check/Makefile.am:
368         * tests/check/elements/.cvsignore:
369         * tests/check/elements/filesink.c: (setup_filesink),
370         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
371           Add some unit tests for filesink.
372
373 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
374
375         Patch by: Mark Nauwelaerts <manauw at skynet be>
376
377         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
378         (gst_file_sink_query), (gst_file_sink_do_seek),
379         (gst_file_sink_get_current_offset), (gst_file_sink_render):
380         * plugins/elements/gstfilesink.h:
381           Fix position reporting; rename data_written member to current_pos to
382           reflect its real meaning (fixes #412648).
383
384 2007-05-22  Edward Hervey  <edward@fluendo.com>
385
386         * docs/gst/gstreamer-sections.txt:
387         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
388         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
389         (gst_bin_remove_func), (gst_bin_handle_message_func):
390         * gst/gstbin.h:
391         Add a property for bins that handle the state change of their childs.
392         Fixes #435880
393
394 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
395
396         * libs/gst/controller/gstinterpolation.c:
397         Use an array of the correct type when using _get_value_array with
398         linear interpolation.
399
400 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
401
402         * gst/gstelement.c (gst_element_requires_clock,
403           gst_element_provides_clock, gst_element_request_pad,
404           gst_element_class_set_details, gst_element_class_set_details_simple,
405           gst_element_default_send_event, gst_element_abort_state,
406           gst_element_continue_state, gst_element_set_state,
407           gst_element_set_state_func, iterator_activate_fold_with_resync):
408         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
409           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
410           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
411           gst_pad_get_range, gst_pad_pull_range):
412         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
413           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
414           GstPadActivateModeFunction, GstPadChainFunction,
415           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
416           GstPadFixateCapsFunction, GstPadTemplate):
417         * gst/gstpipeline.c (gst_pipeline_change_state,
418           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
419           gst_pipeline_set_clock, gst_pipeline_auto_clock,
420           gst_pipeline_get_delay):
421           Whitespace and docs fixes.
422
423 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
424
425         * libs/gst/controller/gstinterpolation.c:
426         (interpolate_trigger_get_enum_value_array),
427         (interpolate_trigger_get_string_value_array):
428         Add support for retrieving value arrays when using the trigger
429         interpolation mode. 
430
431 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
432
433         * libs/gst/controller/gstcontroller.c:
434         (gst_controller_get_value_array):
435         * libs/gst/controller/gstcontroller.h:
436         Clarify the docs of gst_controller_get_value_array(): The array where
437         the values should be written to must be allocated as there seems to be
438         no way to get the size of a random GType. This doesn't change any
439         behaviour. Also fix some typos all over the place and remove an unused,
440         commented function that is not necessary as g_object_set() could be
441         used instead.
442         * tests/check/libs/controller.c: (GST_START_TEST),
443         (gst_controller_suite):
444         Add unit test for gst_controller_get_value_array().
445
446 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
447
448         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
449
450         Disable part of the gst_buffer_try_new_and_alloc test, because
451         it can happily succeed on 64-bit systems where there's more address
452         space available.
453
454 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
455
456         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
457         Add unit test for the improved caps checking from bug #421543.
458
459 2007-05-21  Wim Taymans  <wim@fluendo.com>
460
461         * docs/design/part-synchronisation.txt:
462         Small addition.
463
464         * gst/gstbin.c: (gst_bin_query):
465         * plugins/elements/gstqueue.c: (apply_segment):
466         Improve debugging.
467
468         * gst/gstmessage.h:
469         Improve docs.
470
471 2007-05-21  Wim Taymans  <wim@fluendo.com>
472
473         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
474         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
475         (gst_pad_configure_src):
476         Added simple version of improved caps checking. It was previously
477         assumed that a setcaps function would check the validity of the caps but
478         people prefer us to check caps against the template automatically. 
479         Fixes #421543.
480
481 2007-05-21  Wim Taymans  <wim@fluendo.com>
482
483         * libs/gst/base/gstbasetransform.h:
484         Fix macro for locking/unlocking the transform lock.
485
486 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * docs/plugins/tmpl/.cvsignore:
489           Ignore more.
490
491 2007-05-18  Edward Hervey  <edward@fluendo.com>
492
493         * plugins/elements/gstqueue.c: (gst_queue_loop):
494         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
495         for the subtle art of warning a potentially blocking thread that it
496         should check the source pad return value, and relay the information
497         upstream.
498
499 2007-05-18  Edward Hervey  <edward@fluendo.com>
500
501         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
502         Release the queue lock !
503
504 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
505
506         * docs/libs/gstreamer-libs-sections.txt:
507         Add the two new controller functions to the appropiate places.
508
509 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
510
511         reviewed by: Stefan Kost <ensonic@users.sf.net>
512
513         * libs/gst/controller/gstcontroller.c:
514         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
515         (_gst_controller_get_property), (_gst_controller_set_property),
516         (_gst_controller_init), (_gst_controller_class_init):
517         * libs/gst/controller/gstcontroller.h:
518         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
519         (gst_object_get_control_rate), (gst_object_set_control_rate):
520         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
521         Add API that provides sync suggestion timestamps for elements that
522         call gst_object_sync_values() from which those elements can subdivide
523         their processing loop to get the best results for the controlled
524         properties. For now it just suggests last_sync + control_rate as
525         new timestamp but this will be improved in the future.
526
527         While doing that change the control-rate property to a GstClockTime
528         from guint and change it's meaning from samples to nanoseconds as
529         the GstController doesn't know anything about sampling rate. Strictly
530         speaking this breaks ABI but as the control-rate property didn't do
531         anything in the past and as such couldn't be used this should be no
532         problem.        
533
534 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
535
536         reviewed by: Stefan Kost <ensonic@users.sf.net>
537
538         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
539         (gst_controller_unset_all):
540         * libs/gst/controller/gstcontrollerprivate.h:
541         * libs/gst/controller/gstinterpolation.c:
542         (gst_controlled_property_find_control_point_node):
543         Save last synced value from the list to continue searching from there
544         in future syncs. This speeds everything up a bit.
545         
546 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
547
548         reviewed by: Stefan Kost <ensonic@users.sf.net>
549
550         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
551         (gst_control_point_find), (gst_controlled_property_new),
552         (gst_control_point_free), (gst_controlled_property_free),
553         (gst_controller_set), (gst_controller_set_from_list),
554         (gst_controller_unset), (gst_controller_unset_all),
555         (gst_controller_sync_values):
556         * libs/gst/controller/gstcontroller.h:
557         * libs/gst/controller/gstcontrollerprivate.h:
558         * libs/gst/controller/gstinterpolation.c:
559         (gst_controlled_property_find_control_point_node),
560         (interpolate_none_get), (interpolate_trigger_get):
561         Add a new private GstControlPoint struct which "inherits" from
562         GstTimedValue to allow different interpolators to store internal
563         values next to each control point. From the outside everything is
564         still a GstControlPoint so we don't loose binary compatibility.
565         Also fixup all the GValue handling to not leak GValues or list nodes.
566         * tests/check/libs/controller.c: (GST_START_TEST):
567         Free the list nodes and GValues in the controller_misc test.
568
569 2007-05-17  Edward Hervey  <edward@fluendo.com>
570
571         * gst/gstsegment.c:
572         Small doc fix.
573
574 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
575
576         * gst/gstplugin.c: (gst_plugin_load_file):
577           If we fail to load a plugin because of unresolved symbols or missing
578           libraries and spew a warning to stderr, we may just as well mention
579           which plugin it was that failed to load.
580
581 2007-05-13  David Schleef  <ds@schleef.org>
582
583         * docs/Makefile.am: the gtk-doc makefile snippet correctly
584           handles the case when ENABLE_GTK_DOC is false, and installs
585           the prebuilt documentation.  So gtk-doc subdirs are 
586           unconditionally enabled.  Fixes: #349099.
587
588 2007-05-13  David Schleef  <ds@schleef.org>
589
590         * gst/gstutils.h: Reword some documentation.
591
592 2007-05-12  David Schleef  <ds@schleef.org>
593
594         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
595           do anything with the passed "module" parameter, so remove it.
596           Allows removal of additional vestigal code.
597
598 2007-05-12  David Schleef  <ds@schleef.org>
599
600         * gst/gstplugin.c:
601           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
602           Switch to using g_stat() because it's more portable.
603
604 2007-05-12  David Schleef  <ds@schleef.org>
605
606         * gst/gst.c:
607           Add GST_DISABLE_OPTION_PARSING, in order to disable option
608           parsing for embedded systems.
609         * gst/gstelementfactory.c:
610           Allow gst_element_register() to be called with plugin==NULL.
611           Did nobody notice that static elements were broken?
612
613 2007-05-12  Wim Taymans  <wim@fluendo.com>
614
615         * tools/gst-launch.c: (event_loop):
616         Give more interesting info when buffering starts and stops.
617         Fix case where buffering starts but we fail to update the buffering flag
618         because the target state is not PLAYING.
619
620 2007-05-12  Wim Taymans  <wim@fluendo.com>
621
622         * plugins/elements/gstqueue.c: (gst_queue_init),
623         (gst_queue_finalize), (update_time_level), (apply_segment),
624         (apply_buffer), (gst_queue_locked_flush),
625         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
626         (gst_queue_handle_sink_event), (gst_queue_chain),
627         (gst_queue_push_one), (gst_queue_loop):
628         * plugins/elements/gstqueue.h:
629         Refactor an cleanup queue a bit.
630         Do better time level calculations that also work when the srcpad is not
631         yet running.
632         Remove some unneeded debug lines.
633
634         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
635         Added testcase for time level measurement.
636         Try to make some stuff more racefree.
637
638 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
639
640         * gst/gsturi.c: (gst_element_make_from_uri):
641           Don't leak plugin feature.
642
643         * tests/check/Makefile.am:
644         * tests/check/gst/.cvsignore:
645         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
646           Add brain-dead unit test.
647
648 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
649
650         Patch by: Jeroen Wouters <woutersj at gmail com>
651
652         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
653           Treat protocol strings in a case-insensitive way (#437563).
654
655 2007-05-11  Michael Smith <msmith@fluendo.com>
656
657         * gst/gstplugin.c: (gst_plugin_load_file):
658         * gst/gstregistry.c: (gst_registry_scan_path_level):
659           Don't print a g_warning for any failure to load a shared object.
660           Instead, push this down into gstplugin.c, and warn _only_ if we
661           failed to open the module (i.e. failure to link).
662           Avoids warnings on normal, working, non-plugin .so files.
663
664 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
665
666         * gst/gstplugin.c (gst_plugin_load_file):
667         * gst/gstregistry.c (GST_CAT_DEFAULT,
668           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
669           Print a g_warning if there was an error when loading a plugins during
670           registry scan. The shuld help beginners starting with gst-plugin
671           template.
672
673 2007-05-10  Wim Taymans  <wim@fluendo.com>
674
675         * plugins/elements/gstqueue.c: (gst_queue_class_init),
676         (update_time_level), (gst_queue_locked_flush),
677         (gst_queue_handle_sink_event), (gst_queue_chain),
678         (gst_queue_push_one), (gst_queue_loop):
679         * plugins/elements/gstqueue.h:
680         Be smarter when calculating the current amount of data in the queue by
681         measuring the difference between start and end timestamps (in running
682         time) inside the queue. Fixes #432876.
683         API: GstQueue::pushing to notify elements that we are pushing data again
684         since the running signal is rather broken for this purpose.
685
686 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
687
688         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
689           gst_queue_base_init, gst_queue_init):
690           use GST_BOILERPLATE
691
692 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
693
694         * win32/common/libgstreamer.def:
695         Add new exported functions.
696         * win32/vs6/grammar.dsp:
697         Use grammar pre-generated files.
698
699 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
700
701         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
702
703         * gst/Makefile.am:
704         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
705         * gst/gstparse.h:
706         * gst/gstutils.c: (gst_parse_bin_from_description):
707         * gst/gstutils.h:
708           Maintain API and ABI when --disable-parse is used. Now that
709           we have an appropriate error code, we can just return NULL and the
710           appropriate error when gst_parse_launch() is used despite it having
711           been disabled (#342564).
712
713         * tests/check/Makefile.am:
714         * tests/check/pipelines/.cvsignore:
715         * tests/check/pipelines/parse-disabled.c:
716           Make sure these functions exist and return NULL plus a GError when
717           --disable-parse is used.
718
719 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
720
721         * tests/benchmarks/complexity.c: (main):
722         * tests/benchmarks/mass-elements.c: (main):
723           Set a good example and don't leak messages.
724
725 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
726
727         * docs/gst/Makefile.am:
728         * docs/libs/Makefile.am:
729           Correct fixxrefs options.
730
731         * docs/plugins/Makefile.am:
732         * docs/plugins/gstreamer-plugins-docs.sgml:
733         * docs/plugins/gstreamer-plugins-sections.txt:
734         * plugins/elements/Makefile.am:
735         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
736         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
737           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
738           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
739           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
740           _GstCapsFilterClass, trans_class):
741         * plugins/elements/gstelements.c (name, rank, type, _elements):
742         * plugins/elements/gstidentity.c
743           (gst_identity_check_imperfect_timestamp,
744           gst_identity_check_imperfect_offset):
745           Document capsfilter and add doc-blurb to identity.
746
747 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
748
749         * libs/gst/controller/gstcontroller.c:
750         (gst_controlled_property_set_interpolation_mode):
751         * libs/gst/controller/gstinterpolation.c:
752           Don't crash if someone tries to set an interpolation mode that
753           is invalid or that isn't supported yet. Fixes #422295.
754
755         * tests/check/libs/controller.c: (GST_START_TEST),
756         (gst_controller_suite):
757           Add a test case for the above.
758
759 2007-05-03  Edward Hervey  <edward@fluendo.com>
760
761         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
762         Properly set the last_stop position on GstSegment. This will only happen
763         if there is a buffer to push out.
764
765 2007-05-03  Wim Taymans  <wim@fluendo.com>
766
767         * libs/gst/base/gstbasetransform.c:
768         (gst_base_transform_buffer_alloc):
769         always_in_place does not mean that the sink and source caps are the
770         same! Make sure we don't blindly proxy the buffer_alloc in this case.
771
772 2007-05-03  Wim Taymans  <wim@fluendo.com>
773
774         * docs/libs/gstreamer-libs-sections.txt:
775         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
776         (gst_base_src_default_query), (gst_base_src_get_range):
777         * libs/gst/base/gstbasesrc.h:
778         API: gst_base_src_query_latency(). Added method so that subclasses can
779         easily get the latency values of the base source class.
780
781 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
782
783         * tools/gst-inspect.c (print_implementation_info):
784         Remove 0.8 cruft.
785
786 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
787
788         * tools/Makefile.am:
789         * tools/gst-launch.1.in:
790           Don't create a customised man page based on the host architecture,
791           describe the default registry path generically. That way the man
792           page is the same for all architectures and packagers have one
793           multilib issue less to deal with. Fixes #434926.
794
795 2007-05-02  Wim Taymans  <wim@fluendo.com>
796
797         * gst/gstpad.c:
798         Fix documentation as spotted by rg on IRC. 
799
800 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
801
802         * gst/gstutils.c:
803           Improve docs for gst_element_{link,unlink}.
804
805 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
806
807         * docs/design/part-events.txt:
808         * docs/design/part-overview.txt:
809         * gst/gstevent.c:
810         * gst/gsturi.c:
811         * gst/gsturi.h:
812         * libs/gst/base/gstbasesink.c:
813           Typo fixes; minor docs addition.
814
815 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
816
817         * docs/gst/gstreamer-sections.txt:
818         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
819         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
820         * gst/gsturi.h:
821         API: Add gst_uri_protocol_is_supported(), which checks if an sink
822         or src that supports a given URI protocol exists.
823
824 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
825
826         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
827         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
828         Set the location to NULL if "file://" is set as URI. Otherwise
829         some random previous URI would still be set if "file://" is
830         set on an already used filesink/filesrc.
831
832 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
833
834         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
835         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
836         Special case the "file://" URI as as this is used by some
837         applications to test with gst_element_make_from_uri if there's
838         an element that supports the URI protocol.
839         Also move the g_path_is_absolute() check for the location part
840         of the URI to also check this for "file://localhost/bla" URIs.
841
842 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
843
844         * docs/gst/gstreamer-sections.txt:
845         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
846         * gst/gstbuffer.h:
847         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
848         (gst_buffer_suite):
849           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
850
851 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
852
853         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
854         (gst_registry_binary_load_pad_template),
855         (gst_registry_binary_load_plugin),
856         (gst_registry_binary_read_cache):
857         * gst/gstregistrybinary.h:
858           Implement no-mmap alternative for registry reading. Do code cleanups.
859           Add more comments about avoiding strdups for all text data. Comments
860           welcome.
861
862 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
863
864         * gst/gstregistrybinary.h (GstBinaryPluginElement,
865           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
866           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
867           Comment structs and reformat to fix the build (that stuff should go
868           into a priv. header).
869
870 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
871
872         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
873         (gst_registry_binary_load_feature):
874         * gst/gstregistrybinary.h:
875           Refactor so that we can implement multiple features. Add support for
876           TypeFindFactory features.
877
878 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
879
880         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
881
882         * configure.ac:
883           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
884
885 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
886
887         * gst/gstbin.c: (gst_bin_element_set_state),
888         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
889         (bin_handle_async_done), (gst_bin_handle_message_func):
890           Fix build with --gst-disable-gst-debug
891
892 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
895           Make sure streaming has finished before calling the ::stop() vfunc,
896           since that vfunc might clear state which is being used in the
897           streaming thread. This fixes a race that caused crashes in
898           audioresample when shutting down a pipeline (#420106).
899
900 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
901
902         * docs/gst/gstreamer-sections.txt:
903           That was one byte missing.
904
905 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
906
907         * configure.ac:
908         * docs/gst/gstreamer-sections.txt:
909         * gst/Makefile.am:
910         * gst/gstconfig.h.in:
911         * gst/gstobject.c: (gst_object_class_init),
912         (gst_signal_object_class_init):
913         * gst/gstobject.h:
914           2nd attempt to have a xml-less build as a joined effort of #413123
915           and #421480.
916
917 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
918
919         * docs/design/draft-tagreading.txt:
920           Added open issues/thoughts to draft.
921
922 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
923
924         * gst/parse/grammar.tab.pre.c:
925         * gst/parse/grammar.tab.pre.h:
926         * gst/parse/lex._gst_parse_yy.pre.c:
927         Update the prebuild parser sources.
928
929 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
930
931         * gst/parse/Makefile.am:
932         And now fix the building of the flex sources. Now everything should
933         work as expected.
934
935 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
936
937         * gst/parse/Makefile.am:
938         Now hopefully fix the build failures by setting proper rule
939         dependencies and moving instead of copying.
940
941 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
942
943         * tests/benchmarks/complexity.gnuplot:
944         * tests/benchmarks/complexity.scm:
945         * tests/benchmarks/mass-elements.gnuplot:
946         * tests/benchmarks/mass-elements.scm:
947           Total licensification.
948
949 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
950
951         * gst/parse/Makefile.am:
952           Fix the build by correcting the rule that gave wrong files to flex.
953
954 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
955
956         * tests/benchmarks/complexity.c:
957         * tests/benchmarks/mass-elements.c:
958           Change licence to LGPL as granted by Benjamin and Andy.
959
960 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
961
962         * gst/parse/Makefile.am:
963         Add correct grammar.tab.h dependency if compiling without new enough
964         flex. Fixes #431150.
965
966 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
967
968         * gst/parse/Makefile.am:
969         Fix typo and use outdated sources if the flex/bison sources are newer
970         than the pregenerated ones but flex is too old. Print a warning in
971         that case. This should fix the build on the build bot.
972
973 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
974
975         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
976         * gst/parse/Makefile.am:
977         * gst/parse/grammar.y:
978         * gst/parse/parse.l:
979         Make the parser reentrant and recursively callable. This requires flex
980         >= 2.5.31, for older versions pregenerated sources are used as we
981         can't bump the build dependency. Finally fixes #349180.
982
983         * gst/gstparse.c: (gst_parse_launch):
984         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
985         now anyway.
986
987         * docs/gst/Makefile.am:
988         * docs/gst/Makefile.am:
989         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
990         (__gst_parse_strfree), (__gst_parse_link_new),
991         (__gst_parse_link_free), (__gst_parse_chain_new),
992         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
993         (gst_parse_element_set), (gst_parse_free_link),
994         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
995         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
996         (_gst_parse_launch):
997         * gst/parse/grammar.tab.pre.h:
998         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
999         (yy_get_previous_state), (yy_try_NUL_trans), (input),
1000         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
1001         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
1002         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
1003         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
1004         (_gst_parse_yypop_buffer_state),
1005         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
1006         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
1007         (yy_fatal_error), (_gst_parse_yyget_extra),
1008         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
1009         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
1010         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
1011         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
1012         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
1013         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
1014         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
1015         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
1016         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
1017         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
1018         (_gst_parse_yyfree):
1019         If the installed flex version is too old use pre-generated parser
1020         sources. These pre-generated parser sources are always updated when
1021         the actual flex/bison sources change but require everybody who wants
1022         to change something in the parser to have flex >= 2.5.31 installed.
1023
1024 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
1025
1026         * common/m4/gst-gettext.m4:
1027         * gst/gst-i18n-lib.h:
1028           Make --disable-nls to work
1029
1030 2007-04-17  Wim Taymans  <wim@fluendo.com>
1031
1032         * gst/gstconfig.h.in:
1033         Revert previous change that broke the build.
1034
1035 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * configure.ac:
1038         * gst/Makefile.am:
1039         * gst/gstconfig.h.in:
1040           Drop libxml2 dependency when building with 
1041           --enable-binary-registry --disable-loadsave
1042
1043 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
1044
1045         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1046         (gst_registry_binary_read_cache):
1047         * gst/gstregistrybinary.h:
1048           Remove unnecessary <sys/mman.h> include which broke the win32 build
1049           with MingW; move includes from header file to .c file, even if the
1050           header file isn't installed; use g_strerror() where UTF-8 strings
1051           are expected, such as in GST_DEBUG messages.
1052
1053 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1054
1055         * docs/libs/gstreamer-libs-sections.txt:
1056         Remove bogus addition for API I didn't end up keeping.
1057
1058         * libs/gst/base/gstbasesrc.h:
1059         Mention Since: 0.10.13 in the documentation.
1060
1061         Add the API keyword to the previous ChangeLog entry.
1062
1063 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1064
1065         * docs/libs/gstreamer-libs-sections.txt:
1066         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1067         (gst_base_src_default_prepare_seek_segment),
1068         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
1069         * libs/gst/base/gstbasesrc.h:
1070         Allow basesrc derived classes to execute seeks in other formats
1071         by providing a prepare_seek_segment vmethod. Sub-classes can choose
1072         to prepare the GstSegment in any format that their perform_seek method
1073         will be able to understand. The default implementation provides the
1074         old behaviour of attempting to convert the seek offsets to the 
1075         configured native format.
1076
1077         API: basesrc::prepare_seek_segment vmethod.
1078
1079 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1080
1081         * gst/gstelement.c: (gst_element_get_state_func):
1082         Don't output the same debug statement twice.
1083
1084         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
1085         (gst_adapter_peek), (gst_adapter_take_buffer):
1086         Optimise the case where we have buffers at the head of the queue that
1087         can be joined quickly (because they're contiguous sub-buffers) by
1088         merging them together rather than copying data out into new memory.
1089
1090         * gst/parse/grammar.y:
1091         * tests/check/pipelines/parse-launch.c:
1092         Fix a leak in an error path for parse_launch, and add a check 
1093         for it to the testsuite.
1094
1095 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1096
1097         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1098           Don't deadlock when releasing a pad - gst_pad_set_active may try
1099           and take the multiqueue lock too.
1100
1101 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1102
1103         * gst/gsterror.c: (_gst_core_errors_init):
1104         * gst/gsterror.h:
1105           API: add GST_CORE_ERROR_DISABLED (#392804).
1106
1107 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1108
1109         * docs/faq/gst-uninstalled:
1110           don't get empty paths on the PATH variables
1111         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
1112           Don't format for the uncommon terminal width of 84 characters.
1113
1114 2007-04-06  Wim Taymans  <wim@fluendo.com>
1115
1116         * gst/gstpipeline.c: (reset_stream_time),
1117         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
1118         Only try to select a different pipeline clock when we went back to
1119         PAUSED and not when we merely got flushed.
1120
1121 2007-04-05  Michael Smith  <msmith@fluendo.com>
1122
1123         * tools/gst-launch.1.in:
1124           fractions are better supported in gstreamer than ractions, so
1125           suggest using those.
1126
1127 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1128
1129         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
1130
1131         * po/LINGUAS:
1132         * po/da.po:
1133           Added Danish translation.
1134
1135 2007-04-05  Wim Taymans  <wim@fluendo.com>
1136
1137         * libs/gst/base/gstbasesink.c:
1138         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
1139         Fix leak caused when refusing newsegment after EOS.
1140
1141         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1142         (gst_fake_sink_init), (gst_fake_sink_set_property),
1143         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
1144         (gst_fake_sink_render), (gst_fake_sink_change_state):
1145         * plugins/elements/gstfakesink.h:
1146         Add num-buffers property to make the element generate EOS after a
1147         configurable amount of buffers.
1148         API: fakesink::num-buffers property.
1149
1150         * tests/check/elements/fakesink.c: (GST_START_TEST),
1151         (fakesink_suite):
1152         Fix GstBus leak in test.
1153         Test for fakesink num-buffers.
1154
1155 2007-04-05  Wim Taymans  <wim@fluendo.com>
1156
1157         * libs/gst/base/gstbasesink.c:
1158         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1159         (gst_base_sink_change_state):
1160         Don't accept anything after an EOS, return UNEXPECTED instead.
1161
1162         * tests/check/elements/fakesink.c: (GST_START_TEST),
1163         (fakesink_suite):
1164         Unit test for new EOS behaviour.
1165
1166 2007-04-05  Wim Taymans  <wim@fluendo.com>
1167
1168         * gst/gstelement.c: (gst_element_get_request_pad):
1169         Make padtemplates also work when they don't contain %s or %d.
1170
1171 2007-04-05  Wim Taymans  <wim@fluendo.com>
1172
1173         * docs/gst/gstreamer-sections.txt:
1174         * gst/gstclock.c: (gst_clock_adjust_unlocked),
1175         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
1176         * gst/gstclock.h:
1177         Improve _adjust_unlocked() so that it overflows less.
1178         Add gst_clock_unadjust_unlocked to convert from external time to
1179         internal time based on calibration.
1180         Add some more debug.
1181         API: GstClock::gst_clock_unadjust_unlocked()
1182
1183 2007-04-03  Wim Taymans  <wim@fluendo.com>
1184
1185         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1186
1187         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1188         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
1189         when releasing sink pad. Fixes #425400.
1190
1191 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
1192
1193         * docs/random/ensonic/dynlink.txt:
1194           More work on proposal for new core api.
1195
1196         * docs/libs/gstreamer-libs-sections.txt:
1197         * libs/gst/base/gstbasetransform.h:
1198           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
1199           
1200         * libs/gst/controller/gstcontroller.c:
1201         (on_object_controlled_property_changed),
1202         (gst_controller_sync_values),
1203         (gst_controller_set_interpolation_mode):
1204         * libs/gst/controller/gstcontroller.h:
1205           Less verbose logging add docs for unimplemented parts and correctly
1206           return when using unavailable parts.
1207
1208 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1209
1210         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
1211         Move all the debug to the CLOCK category, and associate it with
1212         the clock object.
1213
1214 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1215
1216         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
1217         Make take_buffer a bit quicker by removing redundant checks
1218         caused by calling gst_adapter_take.
1219
1220 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1221
1222         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
1223           Don't leak GCond.
1224
1225         * tests/check/Makefile.am:
1226         * tests/check/elements/.cvsignore:
1227         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1228         (GST_START_TEST), (multiqueue_suite):
1229           Add some dead simple unit tests for the 'multiqueue' element
1230           (some bits don't work yet and are disabled for now).
1231
1232 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1233
1234         * gst/gstelement.c: (gst_element_get_request_pad),
1235         (gst_element_class_get_request_pad_template):
1236           Make gst_element_get_request_pad() create request pads only for
1237           request pad templates and not for, say, sometimes pad templates.
1238
1239 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
1240
1241         * docs/design/draft-klass.txt:
1242           Add example that needs more thinking.
1243         
1244         * docs/design/draft-missing-plugins.txt:
1245           More thoughts about wrapper plugins.
1246         
1247         * docs/random/ensonic/embedded.txt:
1248         * docs/random/ensonic/profiling.txt:
1249           More design work.
1250
1251 2007-03-25  Wim Taymans  <wim@fluendo.com>
1252
1253         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1254         (gst_base_src_loop):
1255         Only push the segment events in the PLAYING state for live sources.
1256
1257 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
1258
1259         * gst/gstpipeline.c: (gst_pipeline_change_state):
1260         Modify the clock distribution path in PAUSED->PLAYING so that we 
1261         never attempt to choose a new clock unless we're actually leaving
1262         the PAUSED state for the first time. This prevents choosing a
1263         different clock when the state_change gets called for a 2nd time due
1264         to some element doing an async state change.
1265
1266 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1267
1268         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
1269         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
1270         (gst_pad_chain_unchecked), (gst_pad_push):
1271         Revert last commit. This needs some more thoughts.
1272
1273 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1274
1275         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
1276         (gst_pad_chain_unchecked), (gst_pad_push):
1277         Check in set_caps if the caps are compatible with the pad and remove
1278         two functions that are redundant now. Fixes #421543.
1279
1280 2007-03-22  Wim Taymans  <wim@fluendo.com>
1281
1282         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1283         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
1284         Unref some more to make valgrind happy.
1285
1286 2007-03-22  Wim Taymans  <wim@fluendo.com>
1287
1288         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
1289         (gst_system_clock_id_wait_jitter),
1290         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
1291         Fix anoying regression that survived a few releases. When adding an
1292         async entry while blocking on a sync entry, the sync entry will unblock
1293         but still be busy, so it should continue to wait instead of returning
1294         _BUSY to the app.
1295         Add some comments here and there.
1296
1297         * tests/check/gst/gstsystemclock.c: (mixed_thread),
1298         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
1299         Add testcase for this.
1300
1301 2007-03-22  Wim Taymans  <wim@fluendo.com>
1302
1303         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1304         Handle errors from the clock sync better, only UNSCHEDULED indicates a
1305         WRONG_STATE and can silently pause the task. All other cases should
1306         error out.
1307
1308 2007-03-22  Wim Taymans  <wim@fluendo.com>
1309
1310         Patch by: Ville Syrjala <syrjala at sci dot fi>
1311
1312         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
1313         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
1314         Improve debugging.
1315
1316 2007-03-21  Michael Smith  <msmith@fluendo.com>
1317
1318         * docs/pwg/advanced-types.xml:
1319           Fix some errors in the typefinding docs pointed out on irc.
1320
1321 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
1322
1323         * libs/gst/base/gstbasesrc.c:
1324         Clarify FIXME comment in the face of having added unlock_stop()
1325
1326 2007-03-21  Wim Taymans  <wim@fluendo.com>
1327
1328         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
1329         Prepare for release where we warn against possible app breakage in the
1330         case of live pipelines along with an env var to enable/disable live
1331         preroll mode (GST_COMPAT=[no-]live-preroll).
1332
1333 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1334
1335         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
1336         So we should use correct constants for checking for None offset.
1337
1338 2007-03-20  Wim Taymans  <wim@fluendo.com>
1339
1340         * docs/design/part-block.txt:
1341         Mention the fact that the newly switched element should be set to at
1342         least PAUSED.
1343
1344 2007-03-20  Wim Taymans  <wim@fluendo.com>
1345
1346         * gst/gst.c:
1347         Fix compilation with registry disabled as spotted by Saur.
1348
1349 2007-03-20  Wim Taymans  <wim@fluendo.com>
1350
1351         Patch by: Olivier Crete <tester at tester dot ca>
1352
1353         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1354         Look at the pending state too when syncing the element state to the
1355         parent. Fixes #420133.
1356
1357 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
1358
1359         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1360         (gst_base_sink_change_state):
1361         * libs/gst/base/gstbasesink.h:
1362         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1363         (gst_base_src_default_event), (gst_base_src_unlock_stop),
1364         (gst_base_src_deactivate):
1365         * libs/gst/base/gstbasesrc.h:
1366         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
1367         for sub-classes to correctly clear any state they set trying to
1368         unlock, such as clearing out unlock commands from a command fd.
1369         API: basesrc::unlock_stop
1370         API: basesink::unlock_stop
1371
1372         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
1373         (gst_fd_sink_render), (gst_fd_sink_unlock),
1374         (gst_fd_sink_unlock_stop):
1375         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1376         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
1377         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
1378
1379         Implement unlock_stop in fdsrc and fdsink.
1380         Implement seeking in fdsrc when a seekable fd is passed, as in
1381         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
1382
1383 2007-03-19  Wim Taymans  <wim@fluendo.com>
1384
1385         Patch by: Evan Nemerson <evan at coeus dash group dot com>
1386
1387         * gst/gstelement.c: (gst_element_class_init):
1388         Fix pad-added and pad-removed signal signatures so that the pad type is
1389         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
1390
1391 2007-03-19  Wim Taymans  <wim@fluendo.com>
1392
1393         * docs/gst/gstreamer-sections.txt:
1394         Add new element field and method.
1395
1396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1397         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
1398         (gst_bin_recalc_state), (gst_bin_get_state_func),
1399         (gst_bin_element_set_state), (gst_bin_change_state_func),
1400         (gst_bin_continue_func), (bin_bus_handler),
1401         (bin_push_state_continue), (bin_handle_async_start),
1402         (bin_handle_async_done), (gst_bin_handle_message_func):
1403         Make async state changes a bit smarter by using new ASYNC_START and
1404         ASYNC_DONE messages. This reduces the number of times we run the state
1405         recalculation thread.
1406         Don't change state of element with a pending ASYNC_START message.
1407         Deprecate STATE_DIRTY messages.
1408         
1409         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
1410         (gst_element_get_state_func), (gst_element_continue_state),
1411         (gst_element_lost_state), (gst_element_set_state_func),
1412         (gst_element_change_state):
1413         * gst/gstelement.h:
1414         Keep the state that was last set by the app in a new element field.
1415         Don't allow state changes when handling an element event.
1416         Post ASYNC_START and ASYNC_DONE messages.
1417         Change lost_state so that we go to PAUSED and wait for the parent to set
1418         us to PLAYING again (so latency calculation can be performed)
1419         Export gst_element_change_state() method so that subclasses can use it.
1420         API: gst_element_change_state()
1421         API: GST_STATE_TARGET
1422
1423         * gst/gstpipeline.c: (gst_pipeline_class_init),
1424         (reset_stream_time), (gst_pipeline_change_state),
1425         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
1426         Using the new ASYNC_START message we can reset the base_time when
1427         needed. This can then be used to implement base_time redistribution in
1428         flushing seeks so that we can remove the explicit seek handling.
1429         Perform latency query and configuration when going to PLAYING.
1430
1431         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1432         (gst_base_sink_query), (gst_base_sink_change_state):
1433         Post new ASYNC_START/ASYNC_DONE messages.
1434
1435         * tests/check/generic/sinks.c: (GST_START_TEST):
1436         Fix test because the bin will not set the async element to PLAYING right
1437         away.
1438
1439         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
1440         Make the message check a little stronger.
1441         Handle ASYNC messages.
1442
1443         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
1444         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
1445         Expect ASYNC_DONE messages.
1446
1447 2007-03-19  Wim Taymans  <wim@fluendo.com>
1448
1449         * docs/gst/gstreamer-sections.txt:
1450         * gst/gstmessage.c: (gst_message_new_async_start),
1451         (gst_message_new_async_done), (gst_message_parse_info),
1452         (gst_message_parse_async_start):
1453         * gst/gstmessage.h:
1454         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
1455         support.
1456
1457 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1458
1459         * tools/gst-inspect.c:
1460         (print_plugin_automatic_install_info_codecs):
1461           Now that we don't check for the 'Codec' keyword any longer in the
1462           klass, we shouldn't spew a warning if the klass isn't a decoder or
1463           encoder (since it might be a Source/Network, for example).
1464
1465 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1466
1467         * tools/gst-inspect.c:
1468         (print_plugin_automatic_install_info_codecs):
1469           Don't require decoder/demuxer/depayloader elements or
1470           encoder/muxer/paylader elements to have 'Codec' as part of their
1471           factory class string when introspecting a plugin's capabilities.
1472           draft-klass.txt mentions that it might be removed in future, and
1473           flump3dec doesn't have it as part of its class string, so chances
1474           are others might also not have it.
1475
1476 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * po/af.po:
1479         * po/az.po:
1480         * po/bg.po:
1481         * po/ca.po:
1482         * po/cs.po:
1483         * po/de.po:
1484         * po/en_GB.po:
1485         * po/fr.po:
1486         * po/it.po:
1487         * po/nb.po:
1488         * po/nl.po:
1489         * po/ru.po:
1490         * po/sq.po:
1491         * po/sr.po:
1492         * po/sv.po:
1493         * po/tr.po:
1494         * po/uk.po:
1495         * po/vi.po:
1496         * po/zh_CN.po:
1497         * po/zh_TW.po:
1498           Update translations from translation project
1499
1500 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
1501
1502         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
1503         (gst_child_proxy_set_property):
1504           Invert precondition check to be alike the ones in the mimiced gobject
1505           api.
1506
1507 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
1508
1509         * docs/design/draft-tagreading.txt:
1510         * docs/random/ensonic/audiobaseclasses.txt:
1511           Do some Architect work.
1512
1513         * gst/gstobject.c: (gst_object_set_name):
1514           Add a WARNING.
1515
1516         * gst/gstpad.c:
1517           Add docs that point from gst_pad_get_range to gst_pad_pull_range
1518
1519 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
1520
1521         * gst/gstsystemclock.c: (gst_system_clock_init),
1522         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
1523         Defer starting the async system clock thread until the first async
1524         wait is scheduled. Fixes #414986.
1525
1526 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1527
1528         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
1529         (gst_single_queue_free):
1530           Fix small leak (free GstSingleQueue structure too, not only contents).
1531
1532 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
1533
1534         * gst/gstbin.c:(gst_bin_add):
1535         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
1536         * win32/common/libgstbase.def:
1537         * win32/common/libgstreamer.def:
1538         Add new exported functions.
1539
1540 2007-03-09  Wim Taymans  <wim@fluendo.com>
1541
1542         * docs/plugins/gstreamer-plugins-sections.txt:
1543         Fix GstTee docs.
1544
1545 2007-03-09  Wim Taymans  <wim@fluendo.com>
1546
1547         * docs/gst/gstreamer-sections.txt:
1548         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
1549         * gst/gstbuffer.h:
1550         Add metadata copy functions. Fixes #393099.
1551         API: gst_buffer_copy_metadata()
1552
1553         * gst/gstutils.c: (gst_buffer_stamp):
1554         * libs/gst/base/gstbasetransform.c:
1555         (gst_base_transform_prepare_output_buffer):
1556         Use new metadata copy functions.
1557
1558 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1559
1560         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1561         (gst_identity_init), (gst_identity_check_perfect),
1562         (gst_identity_check_imperfect_timestamp),
1563         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
1564         (gst_identity_set_property), (gst_identity_get_property):
1565         * plugins/elements/gstidentity.h:
1566         Separate out check-imperfect-timestamp and check-imperfect-offset.
1567         Put back check-perfect as it was to keep compatibility.
1568
1569 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
1570
1571         * gst/gstelement.c: (gst_element_dispose):
1572         There's no need to warn if VOID_PENDING is not NONE here, as
1573         long as the state is NULL it's ok, and that's checked immediately
1574         above.
1575
1576 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1577
1578         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1579         Fix check for perfect stream to ignore buffers with -1 
1580         offsets/offset ends when checking data contiguity.
1581
1582 2007-03-08  Wim Taymans  <wim@fluendo.com>
1583
1584         * tools/gst-launch.c: (event_loop):
1585         Print INFO messages.
1586
1587 2007-03-08  Wim Taymans  <wim@fluendo.com>
1588
1589         * libs/gst/base/gstbasetransform.c:
1590         (gst_base_transform_sink_eventfunc),
1591         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1592         (gst_base_transform_activate):
1593         * libs/gst/base/gstbasetransform.h:
1594         Add support for dropping buffers with custom GstFlowReturn.
1595         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
1596         buffers or dropped buffers.
1597
1598         * docs/libs/gstreamer-libs-sections.txt:
1599         docs for new custom return code.
1600
1601         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1602         Use drop support in base class to implement drop-probability.
1603
1604 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1605
1606         * gst/gst.c: (load_plugin_func):
1607         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
1608         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1609         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
1610           Remove newlines at end of debug log strings.
1611
1612 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1613
1614         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1615         Only post bus message at max, once per buffer received.
1616
1617 2007-03-07  Wim Taymans  <wim@fluendo.com>
1618
1619         * docs/design/Makefile.am:
1620         * docs/design/part-synchronisation.txt:
1621         Add doc about synchronisation
1622
1623         * docs/design/draft-latency.txt:
1624         * docs/design/part-TODO.txt:
1625         * docs/design/part-clocks.txt:
1626         * docs/design/part-events.txt:
1627         * docs/design/part-gstbus.txt:
1628         * docs/design/part-gstpipeline.txt:
1629         * docs/design/part-live-source.txt:
1630         * docs/design/part-messages.txt:
1631         * docs/design/part-overview.txt:
1632         * docs/design/part-streams.txt:
1633         * docs/design/part-trickmodes.txt:
1634         Documentation updates.
1635
1636 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1637
1638         * gstreamer.doap:
1639         Update the doap file.
1640
1641 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1642
1643         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1644         Rename non-perfect to imperfect for Mike and for the sanctity of the
1645         language.
1646         Also make sure bus message gets emitted for data-incontiguities.
1647
1648 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1649
1650         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
1651         (gst_identity_start):
1652         * plugins/elements/gstidentity.h:
1653         Emit bus message if check-perfect is true and we encounter a
1654         non-perfect stream between 2 consecutive buffers.
1655         Fixes #415394.
1656
1657 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1658
1659         * configure.ac:
1660         Back to CVS
1661
1662 === release 0.10.12 ===
1663
1664 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
1665
1666         * configure.ac:
1667           releasing 0.10.12, "Inevitable Demise"
1668
1669 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
1670
1671         * configure.ac:
1672          Version 0.10.11.2 (0.10.12 pre-release)
1673          Bump libtool versioning.
1674
1675 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1676
1677         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1678           Log flow-names and not numbers.
1679
1680 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1681
1682         * configure.ac:
1683           Convert to new AG_GST style.
1684
1685 2007-02-28  Wim Taymans  <wim@fluendo.com>
1686
1687         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1688         Don't unref query twice.
1689
1690 2007-02-28  Wim Taymans  <wim@fluendo.com>
1691
1692         * gst/gstvalue.c: (gst_value_transform_object_string),
1693         (_gst_value_initialize):
1694         Implement GstObject -> string transform so we print object names
1695         when serializing GValues containing GstObjects.
1696
1697 2007-02-28  Wim Taymans  <wim@fluendo.com>
1698
1699         * docs/gst/gstreamer-sections.txt:
1700         Add new stuff to docs.
1701
1702 2007-02-28  Wim Taymans  <wim@fluendo.com>
1703
1704         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1705         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1706         (gst_base_sink_change_state):
1707         Improve latency query code.
1708         Don't leak latency events.
1709
1710         * tests/check/gst/gstbin.c: (GST_START_TEST):
1711         Improve debugging.
1712
1713 2007-02-28  Wim Taymans  <wim@fluendo.com>
1714
1715         * gst/gstelement.c: (gst_element_message_full),
1716         (gst_element_get_state_func):
1717         * gst/gstelement.h:
1718         Improve docs a little. Added Since: for new macro.
1719
1720         * gst/gstobject.c: (gst_object_sink):
1721         * gst/gstpipeline.c: (gst_pipeline_change_state),
1722         (gst_pipeline_set_new_stream_time):
1723         * gst/gstpipeline.h:
1724         Improve debugging and docs.
1725
1726         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1727         Improve debugging.
1728
1729 2007-02-28  Wim Taymans  <wim@fluendo.com>
1730
1731         * gst/gstelement.c: (gst_element_message_full),
1732         (gst_element_set_locked_state), (gst_element_get_state_func),
1733         (gst_element_change_state):
1734         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1735         Documentation updates.
1736         Small code cleanups.
1737
1738         * gst/gstmessage.c: (gst_message_new_info),
1739         (gst_message_parse_info):
1740         * gst/gstmessage.h:
1741         API: gst_message_new_info()
1742         API: gst_message_parse_info()
1743         Add INFO message create and parse code.
1744
1745 2007-02-28  Wim Taymans  <wim@fluendo.com>
1746
1747         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1748         (bin_query_latency_done):
1749         Also report the live parameter of a latency query.
1750
1751 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1752
1753         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1754           Copy the current generic/states example from -base and adapt so
1755           we can use the exact same code everywhere.
1756           Check a STATES_IGNORE_ELEMENTS env var which can be used
1757           to ignore certain element factories for this test, which is
1758           what is being done in -base
1759         * tests/check/Makefile.am:
1760           Mention this environment variable.
1761
1762 2007-02-27  Wim Taymans  <wim@fluendo.com>
1763
1764         * docs/gst/gstreamer-sections.txt:
1765         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1766         (gst_bus_timed_pop), (gst_bus_pop):
1767         * gst/gstbus.h:
1768         API: gst_bus_timed_pop()
1769         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1770         message to arrive on the bus.
1771
1772         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1773         (gst_bus_suite):
1774         Two unit tests for new _timed_pop() function.
1775
1776 2007-02-23  Wim Taymans  <wim@fluendo.com>
1777
1778         * gst/gstpipeline.c: (gst_pipeline_change_state),
1779         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1780         Don't ref a NULL clock in _provide_clock_func().
1781         Don't allow an INVALID delay.
1782         Don't try to calculate base_time with an invalid start_time.
1783         Also distribute and notify a NULL clock when it was selected.
1784
1785         * tools/gst-launch.c: (event_loop):
1786         Don't crash when a NULL clock was selected in the pipeline.
1787
1788 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1789
1790         * docs/design/Makefile.am:
1791         * docs/design/draft-missing-plugins.txt:
1792         * docs/random/draft-missing-plugins.txt:
1793           Some small updates: update plugin system identifier prefix
1794           ('gstreamer.net' to 'gstreamer'), mention our new install
1795           API in libgstbaseutils rather than libgimme-codec, add
1796           reference to the online docs.
1797
1798 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1799
1800         * win32/common/config.h:
1801           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1802           use moap cl ci to only check in what is mentioned in the ChangeLog.
1803
1804 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1805
1806         * docs/gst/gstreamer-sections.txt:
1807         * gst/gstelement.h:
1808           Fix up documentation to link to the correct GstGError section.
1809           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1810
1811 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * tools/gst-launch.c: (event_loop):
1814           Make sure that we actually show the important message part of a
1815           warning message.
1816           No need to check if the gerror is not NULL to free; first of all
1817           g_free accepts NULL; and second the default error handler would
1818           segfault if gerror was NULL.
1819
1820 2007-02-21  Wim Taymans  <wim@fluendo.com>
1821
1822         * docs/gst/gstreamer-sections.txt:
1823         Removed docs as well.
1824
1825 2007-02-21  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/gstmessage.c: (gst_message_parse_duration):
1828         * gst/gstmessage.h:
1829         Remove new messages for release.
1830
1831 2007-02-20  Wim Taymans  <wim@fluendo.com>
1832
1833         * docs/design/part-gstghostpad.txt:
1834         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1835         (gst_ghost_pad_new_full):
1836         Make the ghostpad a parent of the internal pad again for better backward
1837         compatibility. Don't write code that relies on this however.
1838
1839         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1840         (gst_pad_link_check_hierarchy):
1841         Require that parents should be GstElements in the hierarchy check.
1842
1843 2007-02-20  Wim Taymans  <wim@fluendo.com>
1844
1845         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1846         (gst_bin_change_state_func), (bin_query_min_max_init),
1847         (bin_query_latency_fold), (bin_query_latency_done),
1848         (gst_bin_query):
1849         Improve debug info.
1850         Implement latency query.
1851
1852 2007-02-20  Wim Taymans  <wim@fluendo.com>
1853
1854         * docs/design/part-gstghostpad.txt:
1855         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1856         (gst_ghost_pad_internal_do_activate_push),
1857         (gst_ghost_pad_internal_do_activate_pull),
1858         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1859         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1860         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1861         Do not set the internal pad as a parent anymore so we can avoid
1862         hierarchy linking errors when the ghostpad has no parent yet. This also
1863         fixes failed activation because of unlinked internal pads, which in
1864         turn fixes the impossible case where you have to activate a pad before
1865         you can add it to a running element.
1866         Also fix the docs.
1867
1868         * gst/gstpad.c: (pre_activate), (post_activate),
1869         (gst_pad_set_active), (gst_pad_activate_pull),
1870         (gst_pad_activate_push), (gst_pad_check_pull_range):
1871         Add some more debug info.
1872         Mark activation mode in pre_activate so that we don't try to activate in
1873         endless loops. Fixes #385084.
1874
1875 2007-02-19  Wim Taymans  <wim@fluendo.com>
1876
1877         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1878         (gst_base_transform_check_get_range):
1879         Implement a checkgetrange function instead of relying on the default
1880         core behaviour that assumes we can operate in pull mode if we have a
1881         getrange function. First step at fixing #385084.
1882
1883 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1884
1885         * gst/gstchildproxy.h:
1886         * libs/gst/base/gstbasesink.h:
1887         * libs/gst/base/gstbasesrc.h:
1888         * libs/gst/base/gstbasetransform.h:
1889         More docs coverage and some ChangeLog surgery (add missing names)
1890
1891 2007-02-15  Wim Taymans  <wim@fluendo.com>
1892
1893         * docs/design/part-TODO.txt:
1894         * docs/design/part-activation.txt:
1895         * docs/design/part-block.txt:
1896         * docs/design/part-buffering.txt:
1897         * docs/design/part-clocks.txt:
1898         * docs/design/part-element-source.txt:
1899         * docs/design/part-events.txt:
1900         * docs/design/part-gstbin.txt:
1901         * docs/design/part-gstbus.txt:
1902         * docs/design/part-gstpipeline.txt:
1903         * docs/design/part-live-source.txt:
1904         * docs/design/part-messages.txt:
1905         * docs/design/part-overview.txt:
1906         * docs/design/part-qos.txt:
1907         * docs/design/part-query.txt:
1908         * docs/design/part-states.txt:
1909         * docs/design/part-trickmodes.txt:
1910         Some doc updates. Start renaming from stream_time to running_time where
1911         it was used wrongly.
1912
1913 2007-02-15  Wim Taymans  <wim@fluendo.com>
1914
1915         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1916         Answer LATENCY query.
1917
1918 2007-02-15  Wim Taymans  <wim@fluendo.com>
1919
1920         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1921         (GST_START_TEST):
1922         Improve debugging.
1923
1924 2007-02-15  Wim Taymans  <wim@fluendo.com>
1925
1926         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1927         (gst_pad_dispatcher):
1928         Improve debugging of default pad dispatcher and query functions.
1929
1930 2007-02-15  Wim Taymans  <wim@fluendo.com>
1931
1932         * docs/gst/gstreamer-sections.txt:
1933         Remove old unused method.
1934
1935 2007-02-13  Wim Taymans  <wim@fluendo.com>
1936
1937         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1938         Fix check
1939
1940 2007-02-13  Wim Taymans  <wim@fluendo.com>
1941
1942         * docs/design/part-seeking.txt:
1943         Some small update.
1944
1945         * gst/gstsegment.c: (gst_segment_set_seek):
1946         Revert old bogus change that should make seeking work again.
1947
1948 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1949
1950         * docs/random/ensonic/dynlink.txt:
1951         * docs/random/ensonic/interfaces.txt:
1952         * docs/random/ensonic/receipies.txt:
1953           Possible dynamic reconnection api, plus some type fixes the other two
1954           docs.
1955
1956 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1957
1958         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1959         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1960         Also check for an absolute path following file:// in the filesrc
1961         element. Remove redundant check and call g_path_is_absolute() on the
1962         unescaped location.
1963
1964 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1965
1966         * docs/design/draft-klass.txt:
1967           Add existing category analysis.
1968           
1969         * gst/gstcaps.c:
1970           Fix doc example, framerate is a fraction.
1971
1972 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1973
1974         * configure.ac:
1975         * docs/gst/Makefile.am:
1976         * docs/gst/gstreamer-sections.txt:
1977         * docs/libs/Makefile.am:
1978           Erm, forgot a bunch of --extra-dir.
1979
1980 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1981
1982         * configure.ac:
1983         * docs/gst/Makefile.am:
1984         * docs/libs/Makefile.am:
1985         * docs/plugins/Makefile.am:
1986           Add crossreferences to glib/gobject docs.
1987
1988 2007-02-12  Wim Taymans  <wim@fluendo.com>
1989
1990         * docs/design/draft-latency.txt:
1991         Small update.
1992
1993         * docs/libs/gstreamer-libs-sections.txt:
1994         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1995         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1996         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1997         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1998         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1999         (gst_base_sink_get_position), (gst_base_sink_query),
2000         (gst_base_sink_change_state):
2001         * libs/gst/base/gstbasesink.h:
2002         API: gst_base_sink_query_latency() to let subclasses query the upstream
2003         latency.
2004         API: gst_base_sink_get_latency() to let subclasses query the configured
2005         latency in the sink.
2006         Implement query and set latency.
2007         Update some docs.
2008         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
2009         don't continue preroll when we are flushing. Fixes #405284.
2010
2011         * tests/check/pipelines/stress.c: (change_state_timeout),
2012         (quit_timeout), (GST_START_TEST), (stress_suite):
2013         Test for #405284.
2014
2015 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2016
2017         Patch by: René Stadler <mail at renestadler de>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020         * gst/gsttaglist.c: (_gst_tag_initialize):
2021         * gst/gsttaglist.h:
2022           API: add GST_TAG_REFERENCE_LEVEL (#403597).
2023
2024 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
2025
2026         * docs/libs/Makefile.am:
2027           Fix path to core docs.
2028
2029         * gst/gstbin.c: (gst_bin_get_by_interface),
2030         (gst_bin_iterate_all_by_interface):
2031           Refix docs by also renaming 'interface' to 'iface' in implementation.
2032
2033         * docs/gst/gstreamer-sections.txt:
2034         * gst/gstcaps.c:
2035         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2036         * gst/gstchildproxy.h:
2037         * gst/gstelementfactory.c:
2038         * gst/gstpadtemplate.h:
2039         * libs/gst/controller/gstcontroller.c:
2040         (gst_controlled_property_new):
2041           Document more.
2042
2043 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
2044
2045         * gst/gstbin.h:(gst_bin_get_by_interface),
2046         (gst_bin_iterate_all_by_interface):
2047         Replace interface parameter name by iface as interface is 
2048         a reserved keyword in Visual Studio for C++ projects so it removes
2049         a build error for application developpers using VS.
2050         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
2051         Fix a bug on Windows in uri format check. Now the prefix checked
2052         is file:// and next we check if the path after file:// is absolute.
2053         * win32/common/libgstbase.def:
2054         * win32/common/libgstdataprotocol.def:
2055         * win32/common/libgstgstreamer.def:
2056         Add new exported functions.
2057
2058 2007-02-09  Andy Wingo  <wingo@pobox.com>
2059
2060         * tests/check/pipelines/simple-launch-lines.c
2061         (simple_launch_lines_suite, test_tee): Disable tee test until I
2062         have time to fix it :-(
2063
2064         * tests/check/Makefile.am (noinst_HEADERS): 
2065         * tests/check/libs/libsabi.c: 
2066         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
2067         * tests/check/gst/gstabi.c: 
2068         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
2069
2070         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
2071         tests for push and pull tee behavior.
2072
2073         * plugins/elements/gsttee.h: 
2074         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
2075         mark as deprecated as well as unimplemented. It was a crack idea.
2076         Add support for tee operating in pull mode, off by default.
2077
2078         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
2079         normal-case logs down to LOG, raise errors to WARNING.
2080         (gst_registry_xml_read_cache): Don't log before calling a function
2081         that logs.
2082
2083         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
2084         exit (registry finalize).
2085         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
2086         DEBUG log when we emit signals that people don't even have the
2087         chance to connect to.
2088         (gst_registry_scan_path_level): Less logging in the normal case.
2089
2090 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2091
2092         Patch by: Michal Benes <michal dot benes at itonis dot tv>
2093
2094         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2095         Correctly generate EOS for non-seekable files. We don't have a total
2096         length for them and would get an unexpected end of file if we only
2097         special-cased for regular files. (Fixes: #404569)
2098
2099 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2100
2101         * tests/check/elements/filesrc.c: (GST_START_TEST),
2102         (filesrc_suite):
2103         Add unit test for the GstURIHandler interface in filesrc. This also
2104         tests the newly added file://localhost/foo/bar support.
2105
2106 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2107
2108         * gst/gstelementfactory.h:
2109           The klass string is not a hierarchy. Add reference to the design doc
2110           for more information and common types.
2111
2112 2007-02-02  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/gstquery.c: (gst_query_new_latency):
2115         Remove old structure field.
2116
2117 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
2118
2119         * tools/gst-launch.1.in:
2120           Give example for network streaming (#351998)
2121
2122 2007-02-02  Wim Taymans  <wim@fluendo.com>
2123
2124         * docs/gst/gstreamer-sections.txt:
2125         Add docs for new methods.
2126
2127         * gst/gstevent.c: (gst_event_new_latency),
2128         (gst_event_parse_latency):
2129         * gst/gstevent.h:
2130         Add new LATENCY event to configure latency in a pipeline.
2131         API: gst_event_new_latency
2132         API: gst_event_parse_latency
2133
2134         * gst/gstmessage.c: (gst_message_new_buffering),
2135         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
2136         (gst_message_new_latency), (gst_message_parse_buffering),
2137         (gst_message_parse_lost_preroll):
2138         * gst/gstmessage.h:
2139         Added messages used in draft-latency.
2140         API: gst_message_new_lost_preroll
2141         API: gst_message_parse_lost_preroll
2142         API: gst_message_new_prerolled
2143         API: gst_message_new_latency
2144
2145         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2146         (gst_query_parse_latency):
2147         * gst/gstquery.h:
2148         Implemented new latency query as in design doc.
2149         API: gst_query_new_latency
2150         API: gst_query_set_latency
2151         API: gst_query_parse_latency
2152
2153 2007-02-02  Wim Taymans  <wim@fluendo.com>
2154
2155         * docs/design/draft-latency.txt:
2156         Slight redesign to allow for dynamic latency adjustments.
2157
2158         * docs/design/part-negotiation.txt:
2159         Fix some typos.
2160
2161 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2162
2163         reviewed by: Wim Taymans <wim@fluendo.com>
2164
2165         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2166         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2167         Allow file://localhost/foo/bar URLs and correctly fail for every other
2168         hostname that one sets. This was gnomevfssrc is linked for those if
2169         installed as it can handle it (#403172)
2170
2171 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2172
2173         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2174
2175         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2176         (unref_data), (gst_collect_pads_add_pad_full):
2177         * libs/gst/base/gstcollectpads.h:
2178         Don't put the previously added destroy notify in the GstCollectData
2179         struct as all it's padding is already used and we don't want to break
2180         ABI. Instead put in the pad's GObject data for now. This should be
2181         cleaned up for 0.11 (#402393).
2182
2183 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2184
2185         reviewed by: Wim Taymans <wim@fluendo.com>
2186
2187         * docs/libs/gstreamer-libs-sections.txt:
2188         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2189         (unref_data), (gst_collect_pads_add_pad),
2190         (gst_collect_pads_add_pad_full):
2191         * libs/gst/base/gstcollectpads.h:
2192         API: Add function to specify a destroy notification for custom
2193         GstCollectData when adding new pads in GstCollectPads (#402393).
2194
2195 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
2196
2197         * po/sv.po:
2198           Update Swedish translation (#378255).
2199
2200 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2201
2202         * docs/design/draft-klass.txt:
2203           Fix the previous change, this is a list of categories and not a hierarchy.
2204
2205 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2206
2207         * docs/design/draft-klass.txt:
2208           Add info about how to get a list of used classes.
2209
2210 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
2211
2212         * plugins/elements/gsttypefindelement.c:
2213         (gst_type_find_element_chain_do_typefinding),
2214         (gst_type_find_element_change_state):
2215           Don't leak found caps in chain function (no idea why that never
2216           showed up as a leak anywhere).
2217
2218 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
2219
2220         * gst/gstplugin.h:
2221           Fix and expand GstPluginDesc API docs.
2222
2223 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2224
2225         * gst/gstcaps.c:
2226         * gst/gstelementfactory.c:
2227         * gst/gstpadtemplate.h:
2228           api doc fixes
2229
2230         * libs/gst/controller/gstcontroller.c:
2231         (gst_controlled_property_new):
2232         * tests/examples/controller/audio-example.c:
2233           comment fixes
2234
2235 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * configure.ac:
2238           comment about refining the xml deps
2239
2240         * docs/manuals.mak:
2241           comments about moving away from jade for docs
2242         
2243         * gst/gst.c:
2244           recommit the ifdefs to use the binary registry
2245         
2246         * gst/gstbin.c: (gst_bin_change_state_func):
2247           this break is obsolete
2248
2249         * gst/gstelementfactory.h:
2250           better GST_ELEMENT_DETAILS docs, add comment about translation
2251
2252         * gst/gstinfo.h:
2253           remove eol slash
2254
2255         * gst/gstobject.c: (gst_signal_object_get_type):
2256           add G_UNLIKELY as usual
2257
2258         * gst/gstpad.c: (gst_pad_event_default):
2259           add fall trhu comment
2260
2261         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2262         (gst_registry_binary_initialize_magic),
2263         (gst_registry_binary_save_string),
2264         (gst_registry_binary_save_pad_template),
2265         (gst_registry_binary_save_feature),
2266         (gst_registry_binary_save_plugin),
2267         (gst_registry_binary_write_cache),
2268         (gst_registry_binary_check_magic),
2269         (gst_registry_binary_load_pad_template),
2270         (gst_registry_binary_load_feature),
2271         (gst_registry_binary_load_plugin),
2272         (gst_registry_binary_read_cache):
2273           comment typo and formatting
2274
2275         * gst/gstutils.c: (gst_element_state_get_name),
2276         (gst_element_state_change_return_get_name):
2277           remove obsolete breaks
2278
2279         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2280           add FIXME 0.11 and remove cpp comment
2281
2282 2007-01-29  Edward Hervey  <edward@fluendo.com>
2283
2284         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2285         Fix print statement in an even more portable way.
2286
2287 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * docs/gst/gstreamer-sections.txt:
2290         * gst/gstutils.h:
2291           API: add GST_ROUND_DOWN_* macros (#401781).
2292
2293 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
2294
2295         * docs/gst/gstreamer.types.in:
2296         * gst/gstregistry.c: (gst_registry_class_init):
2297           Document registry signals and make gtk-doc pick them up (#401381).
2298
2299 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2300
2301         * docs/pwg/building-testapp.xml:
2302           Add some audioconverts and audioresample to the pipeline, and some
2303           more comments and error handling.
2304
2305 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * docs/manual/manual.xml:
2308         * docs/pwg/pwg.xml:
2309           Fix typo (#400987).
2310
2311 2007-01-26  Wim Taymans  <wim@fluendo.com>
2312
2313         * gst/gstcaps.c: (gst_static_caps_get):
2314         Init caps flags too.
2315
2316 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
2317
2318         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
2319
2320         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2321         If not using mmap'ed files try to seek to the end instead of the
2322         start to determine whether we can seek at all. This fixes the case
2323         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
2324         seeks for everything afterwards fail. Fixes #400656
2325
2326 2007-01-25  Wim Taymans  <wim@fluendo.com>
2327
2328         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
2329         Add some refcount debugging.
2330         Make gst_static_caps_get threadsafe, which is needed when autoplugging
2331         in multiple streaming threads.
2332
2333 2007-01-25  Wim Taymans  <wim@fluendo.com>
2334
2335         Patch by: David Schleef <ds at schleef dot org>
2336
2337         * docs/libs/gstreamer-libs-sections.txt:
2338         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
2339         * libs/gst/base/gstadapter.h:
2340         API: gst_adapter_copy() that can reduce the amount of memcpy when
2341         getting data from the adapter. Fixes #388201.
2342
2343 2007-01-25  Edward Hervey  <edward@fluendo.com>
2344
2345         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2346         In print statements, "%x" is for guint. Fixes build on macosx.
2347
2348 2007-01-24  Edward Hervey  <edward@fluendo.com>
2349
2350         * plugins/elements/gstmultiqueue.c:
2351         (gst_multi_queue_loop):
2352         Small fix.
2353         (single_queue_overrun_cb), (single_queue_underrun_cb),
2354         (single_queue_check_full), (gst_single_queue_new):
2355         Implement single queue growth system.
2356         This uses the extra-size properties, and will grow single queues by
2357         that much if one goes full whereas there are others empty. This is
2358         called extra-mode in the code.
2359         When a single queue's levels go back below the initial max-size
2360         limits, it is no longer in extra-mode. This is to ensure we don't
2361         consume too much memory.
2362         Fixes #399875
2363
2364 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
2365
2366         * gst/gst.c: (gst_init_get_option_group):
2367           Make warning about late g_thread_init() calls a bit more explicit,
2368           so that it's more obvious to application developers what they need
2369           to do if a user files a bug against their application.
2370
2371 2007-01-22  Edward Hervey  <edward@fluendo.com>
2372
2373         * plugins/elements/gstmultiqueue.c:
2374         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
2375         Remove previous hack of unsetting the flushing flag for the source pad
2376         instead of activating it. Instead, fix the source pad activate function
2377         so that it no longer depends on having a parent set or not.
2378
2379 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
2380
2381         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
2382
2383         * docs/manual/basics-bus.xml:
2384           Fix example code, gst_element_unref() doesn't exist any longer.
2385
2386 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         Patch by: Mark Nauwelaerts <manauw at skynet be>
2389
2390         * gst/gstpad.c:
2391           Fix two docs typoes (#399094).
2392
2393 2007-01-19  Edward Hervey  <edward@fluendo.com>
2394
2395         * docs/faq/gst-uninstalled:
2396         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
2397         depending on libgstbaseutils can work in uninstalled environment.
2398
2399 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
2400
2401         * gst/gsttaglist.h:
2402         * gst/gsttagsetter.c:
2403         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
2404         statement for new tag.
2405
2406 2007-01-17  Edward Hervey  <edward@fluendo.com>
2407
2408         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
2409         When dynamically creating single queues, activate sinkpad before adding
2410         it.
2411         We should be doing the same thing for the source pad, but we can't
2412         since it would call a method which needs the parent to be set in order
2413         to work propertly. Instead of activating the source pad, we just unset
2414         the flushing flag, which is the minimal requirement for adding a pad
2415         to an element in a state greater than READY.
2416
2417 2007-01-17  Edward Hervey  <edward@fluendo.com>
2418
2419         * docs/faq/gst-uninstalled:
2420         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
2421         Mac OS X.
2422
2423 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2424
2425         * tests/check/gst/gstabi.c:
2426         * tests/check/gst/struct_hppa.h:
2427         * tests/check/libs/libsabi.c:
2428         * tests/check/libs/struct_hppa.h:
2429           Add ABI structs for HPPA (see #393796).
2430
2431 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
2432
2433         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2434           Actually write ABI structs to the file specified in the GST_ABI
2435           environment variable, as the message we print claims we would.
2436
2437 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2438
2439         * tests/check/gst/gsttask.c:
2440           Fix header comment.
2441
2442 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2443
2444         * gst/gsttaglist.c: (_gst_tag_initialize):
2445           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
2446           previous two entries.
2447
2448 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2449
2450         * docs/gst/gstreamer-sections.txt:
2451         * gst/gsttaglist.c: (_gst_tag_initialize):
2452         * gst/gsttaglist.h:
2453           Add tag support for beat-per-minute.
2454
2455 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2456
2457         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2458         (gst_registry_binary_initialize_magic),
2459         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
2460         (gst_registry_binary_save_pad_template),
2461         (gst_registry_binary_save_feature),
2462         (gst_registry_binary_save_plugin),
2463         (gst_registry_binary_write_cache),
2464         (gst_registry_binary_check_magic),
2465         (gst_registry_binary_load_pad_template),
2466         (gst_registry_binary_load_feature),
2467         (gst_registry_binary_load_plugin),
2468         (gst_registry_binary_read_cache):
2469         * gst/gstregistrybinary.h:
2470           Use glib types, cleanup comments, impement interfaces and uri-types.
2471
2472 2007-01-13  Andy Wingo  <wingo@pobox.com>
2473
2474         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
2475         getrange() to return buffers with other caps, while we fix
2476         demuxers and typefind, or otherwise change part-negotiation.txt.
2477
2478 2007-01-12  Andy Wingo  <wingo@pobox.com>
2479
2480         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
2481         Factor start/stop into this private function instead of partially
2482         in activate functions and partially in the change_state function.
2483         Fixes setup before the element has changed from READY->PAUSED, as
2484         is the case in pull-mode pipelines.
2485         (gst_base_transform_sink_activate_push)
2486         (gst_base_transform_src_activate_pull): Refactor to use
2487         gst_base_transform_activate().
2488         (gst_base_transform_change_state): Removed, not needed any more.
2489
2490         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2491         Truncate before fixating.
2492         
2493         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2494         Don't set_caps() if the result of fixating is ANY, as it's not
2495         supported, and not necessary in the case of a link with no
2496         template caps on either side. Fixes tests/check/libs/basesrc in
2497         some pull-mode tests.
2498
2499         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
2500         (gst_base_transform_init, gst_base_transform_sink_activate_push)
2501         (gst_base_transform_src_activate_pull): 
2502         Track the activation mode.
2503         (gst_base_transform_setcaps): In pull mode, when activating the
2504         src pad, after activating the sink pad, activate the sink pad's
2505         peer, as discussed in part-negotiation.txt.
2506
2507         * libs/gst/base/gstbasesrc.h: 
2508         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
2509         vmethod, as in basesink.
2510
2511         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
2512
2513         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
2514         mode, first proxy the setcaps to the peer pad.
2515         (gst_base_sink_pad_fixate): Add a fixate function that calls the
2516         new fixate vmethod.
2517         (gst_base_sink_default_activate_pull): Rename from
2518         gst_base_sink_activate_pull.
2519         (gst_base_sink_negotiate_pull): New function, performs negotiation
2520         in pull mode before calling ::activate_pull().
2521         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
2522         vmethod instead of the default implementation. I have no idea how
2523         this worked before. Negotiate before calling activate_pull.
2524
2525         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
2526         sink pads in pull mode. In addition to being correct, fixes
2527         filesrc ! decodebin ! identity ! fakesink.
2528         (gst_pad_get_range, gst_pad_pull_range): Don't call
2529         gst_pad_set_caps() if the caps changes; instead error out with
2530         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2531
2532 2007-01-12  Andy Wingo  <wingo@pobox.com>
2533
2534         * docs/design/part-negotiation.txt: Update with more policy.
2535
2536 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2537
2538         * libs/gst/check/gstbufferstraw.h:
2539         * libs/gst/check/gstcheck.h:
2540           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
2541           belongs.
2542
2543 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2544
2545         * tests/check/Makefile.am:
2546         * tests/check/gst/.cvsignore:
2547         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
2548         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
2549         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
2550         (GST_START_TEST), (gst_tag_setter_suite):
2551           Add minimal unit test for beforementioned GstTagSetter bug.
2552
2553 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2554
2555         Patch by: René Stadler <mail at renestadler dot de>
2556
2557         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2558           gst_tag_list_merge() returns a new list, so it's not the best idea
2559           to ingore its return value. Effectively meant that tags could only
2560           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
2561           Also add function guard to require a non-NULL taglist as input (has
2562           always been so due to gst_tag_list_copy(), just making it explicit).
2563
2564 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2565
2566         * docs/random/draft-missing-plugins.txt:
2567           Some additions: mention new API that is supposed to be used at the
2568           various stages; short blob about new gst-inspect introspection
2569           option; mention potential future problem with plugins that have
2570           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
2571
2572 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2573
2574         * tools/gst-inspect.c:
2575         (print_plugin_automatic_install_info_codecs),
2576         (print_plugin_automatic_install_info_protocols),
2577         (print_plugin_automatic_install_info), (main):
2578         Add --print-plugin-auto-install-info option to gst-inspect, so we can
2579         introspect plugin files and get machine-parsable output that corresponds
2580         to the last bit of the missing-plugin installer string (small gotcha:
2581         doesn't take into account ranks).
2582
2583 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
2584
2585         * configure.ac:
2586         * docs/gst/gstreamer-sections.txt:
2587         * gst/Makefile.am:
2588         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
2589         (gst_registry_lookup_locked):
2590         * gst/gstregistry.h:
2591         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2592         (gst_registry_binary_initialize_magic),
2593         (gst_registry_binary_save_string),
2594         (gst_registry_binary_save_pad_template),
2595         (gst_registry_binary_save_feature),
2596         (gst_registry_binary_save_plugin),
2597         (gst_registry_binary_write_cache),
2598         (gst_registry_binary_check_magic),
2599         (gst_registry_binary_load_pad_template),
2600         (gst_registry_binary_load_feature),
2601         (gst_registry_binary_load_plugin),
2602         (gst_registry_binary_read_cache):
2603         * gst/gstregistrybinary.h:
2604         * gst/gstregistryxml.c: (load_feature),
2605         (gst_registry_xml_read_cache):
2606           commit binary registry (disabled by default, see #359653)
2607
2608 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
2611           Fix 'make check' too.
2612
2613 2007-01-10  Andy Wingo  <wingo@pobox.com>
2614
2615         * docs/design/part-negotiation.txt: Fix a typo, add a couple
2616         notes.
2617         
2618         * docs/design/part-negotiation.txt: Update with, um, one way that
2619         pull-mode negotiation might work?
2620
2621         * gst/gstpad.h: 
2622         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
2623         that the pad must be a src pad; makes sense to call it the other
2624         way in pull mode, and the logic is symmetric anyway.
2625
2626 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2627
2628         * plugins/elements/gstfilesink.c:
2629           Include <stdio.h> for fseeko().
2630
2631 2007-01-10  Wim Taymans  <wim@fluendo.com>
2632
2633         * gst/gstevent.c:
2634         * gst/gstevent.h:
2635         Reserve LATENCY event.
2636
2637 2007-01-09  Wim Taymans  <wim@fluendo.com>
2638
2639         * docs/design/draft-latency.txt:
2640         Updates.
2641
2642 2007-01-09  Wim Taymans  <wim@fluendo.com>
2643
2644         * docs/design/draft-latency.txt:
2645         Updates.
2646
2647         * gst/gstelement.h:
2648         * gst/gststructure.c:
2649         * gst/gsttrace.c:
2650         Small typo fixes.
2651
2652 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * tests/check/.cvsignore:
2655           Ignore test-registry.xml as well.
2656
2657 2007-01-09  Wim Taymans  <wim@fluendo.com>
2658
2659         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2660         unref data at the end when we are done with the pad.
2661
2662 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2663
2664         * docs/gst/gstreamer-sections.txt:
2665         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
2666         (init_post), (gst_deinit), (gst_update_registry):
2667         * gst/gst.h:
2668           API: add gst_update_registry() (#391296).
2669
2670         * tests/check/Makefile.am:
2671         * tests/check/gst/gstregistry.c:
2672         * tests/check/gst/.cvsignore:
2673           Simple unit test for the above.
2674
2675 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2676
2677         * gst/gstregistry.c: (gst_registry_scan_path_level):
2678           Plugin extension on HP-UX is .sl, add that to the list of approved
2679           plugin extensions (see #393796).
2680
2681         * tests/check/gst/gstpad.c: (GST_START_TEST):
2682           ulong => gulong. Fixes compilation with HP-UX compiler.
2683
2684         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2685           Fix compilation if valgrind headers are not available.
2686
2687 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2688
2689         * win32/common/libgstreamer.def: 
2690           Add new exported function.
2691         * win32/vs6/libgstbase.dsp: 
2692           Add gstdataqueue.c to the build.
2693         * win32/vs6/libgstcoreelements.dsp:
2694           Add gstmultiqueue.c to the build.
2695         
2696 2007-01-06  Andy Wingo  <wingo@pobox.com>
2697
2698         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2699         activate_pull(), providing for a way to specialize the process of
2700         spawning a thread to pull on the sink pad. There is a default
2701         implementation.
2702
2703         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2704         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2705         (gst_base_sink_init): Renamed pad activation functions (inserting
2706         "_pad" in their names). Refactor to use the new activate_pull
2707         vmethod, as appropriate.
2708         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2709         default activate_pull function to start a task pulling from the
2710         sink pad, as before.
2711
2712         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2713         on the pads if necessary, as in push()/chain(). Update docs.
2714         Shouldn't affect existing pull() usage as it is currently only
2715         being used on buffers without caps.
2716
2717 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2718
2719         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2720         (init_pre):
2721           Call g_thread_init() first thing in gst_init() / gst_check_init().
2722           When initialisation is done via gst_init_get_option_group() and
2723           GOption parsing, issue a warning if the GLib thread system has not
2724           been initialised yet by the time gst_init_get_option_group() is
2725           called, as it's quite likely other GLib functions such as
2726           g_option_context_new() have been called already then, and
2727           g_thread_init() must be called before any other GLib function. The
2728           application in question must be fixed in that case, since memory
2729           corruption might happen otherwise.
2730           We issue the warning because even if the GLib folks decide to work
2731           around the problem on their end in future, this is still an issue
2732           with all GLib versions >= 2.10.0, so we should warn until we depend
2733           on a GLib version we know to be safe.
2734           Update documentation as well.
2735           Closes bug #391278.
2736
2737 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2738
2739         * tools/gst-inspect.c: (main):
2740         * tools/gst-launch.c: (main):
2741         * tools/gst-typefind.c: (main):
2742         * tools/gst-xmlinspect.c: (main):
2743           Call g_thread_init() really really early, before any other GLib
2744           function (see #342564 and recent discussion on gtk-devel-list).
2745
2746 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2747
2748         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2749
2750         * gst/gst_private.h:
2751         * gst/gstconfig.h.in:
2752         * gst/gstinfo.h:
2753           On win32, all the __declspec stuff for symbol exporting is
2754           apparently only needed with MSVC, but doesn't work with MingW.
2755           Fixes compilation with MingW and #391909.
2756
2757 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2758
2759         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2760           Change some GST_ERROR_OBJECT that aren't really errors to
2761           GST_WARNING_OBJECT in order to reduce terminal spam.
2762
2763 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2764
2765         * tests/check/Makefile.am:
2766           disable test again, as there seem to be still race problems
2767
2768 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2769
2770         * tests/check/Makefile.am:
2771         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2772         (GST_START_TEST), (queue_suite):
2773           enable queue test again, add tests for the leaky behaviour
2774
2775 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * configure.ac:
2778         * tests/examples/Makefile.am:
2779           Compile adapter test/example only if the required headers are
2780           available (fixes #391915).
2781
2782 2007-01-01  David Schleef  <ds@schleef.org>
2783
2784         * gst/gstplugin.c:
2785           Restore the previous signal handler for SIGSEGV instead of
2786           setting to default, since we may have stolen it away from
2787           someone.  (i.e., Mono)
2788
2789 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2790
2791         * docs/random/draft-missing-plugins.txt:
2792           Some small additions and clarifications.
2793
2794 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2795
2796         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2797           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2798           since that can lead to random memory corruptions and crashes
2799           (may or may not be related to #383244, #386711, and #386711).
2800
2801 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2802
2803         * tests/check/.cvsignore:
2804         * tests/check/Makefile.am:
2805           sync .cvsignome and CLEANFILES
2806
2807 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2808
2809         * tests/check/Makefile.am:
2810           fix distcheck
2811
2812 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * docs/design/part-states.txt:
2815           two tiny additional comments
2816         
2817         * gst/gststructure.c:
2818           doc fixing
2819
2820         * tests/check/Makefile.am:
2821         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2822         (GST_START_TEST):
2823           disable test for now, unless it gets fixed
2824
2825 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2826
2827         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2828         (GST_START_TEST):
2829           fix race in underrun test
2830
2831 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2832
2833         * tests/check/elements/.cvsignore:
2834           ignore more
2835
2836         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2837         (GST_START_TEST):
2838           try to narrow test failure
2839
2840 2006-12-21  David Schleef  <ds@schleef.org>
2841
2842         * plugins/elements/gstfakesrc.c:
2843           Use g_random_int_range(), since it produces better random
2844           numbers in a range than almost-correct floating point code.
2845
2846 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2847
2848         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2849         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2850         (gst_check_teardown_sink_pad):
2851           do not automatically (de)activate pads
2852
2853         * tests/check/Makefile.am:
2854         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2855         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2856           add new, yet simple tests for queue
2857
2858         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2859         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2860         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2861         (GST_START_TEST):
2862         * tests/check/elements/identity.c: (cleanup_identity):
2863           consistent pad (de)activation
2864
2865 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2866
2867         Patch by: Sebastian Dröge  <slomo ubuntu com>
2868
2869         * libs/gst/base/gstcollectpads.c:
2870           Fix two doc typos (#387866).
2871
2872 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * docs/manual/advanced-dparams.xml:
2875           Fix typo (g_object_control_properties() doesn't exist).
2876
2877 2006-12-19  Edward Hervey  <edward@fluendo.com>
2878
2879         * gst/gstsegment.c: (gst_segment_set_seek):
2880         Fine tune the cases where the segment start/stop values are really
2881         updated.
2882         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2883         Add tests for the return values of gst_segment_set_seek().
2884
2885 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * gst/gst.c:
2888           Docs typo fix.
2889
2890         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2891         (gst_queue_init):
2892           Fix incorrect documentation and flesh it out a bit more.
2893           Set default values for the max properties on the GParamSpec as well,
2894           so it shows up correctly in gst-inspect.
2895
2896 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2899           Correct docs of queue, add more detail and crosslink it more.
2900
2901 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2902
2903         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2904           Print additional debug info when the stream isn't perfectly
2905           timestamped; don't try to use invalid durations.
2906
2907 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * docs/design/Makefile.am:
2910           Dist new design docs.
2911
2912 2006-12-16  Wim Taymans  <wim@fluendo.com>
2913
2914         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2915
2916         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2917         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2918         (gst_collect_pads_stop), (gst_collect_pads_event),
2919         (gst_collect_pads_chain):
2920         * libs/gst/base/gstcollectpads.h:
2921         Add refcounting to the collectpads data so we can track when it's safe
2922         to free the data. Fixes #383382.
2923
2924 2006-12-15  Wim Taymans  <wim@fluendo.com>
2925
2926         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2927         (gst_collect_pads_remove_pad):
2928         Automatically activate/deactivate pads when they are added to a
2929         started/stoped collectpads.
2930
2931 2006-12-15  Wim Taymans  <wim@fluendo.com>
2932
2933         * gst/gstelement.c: (gst_element_add_pad):
2934         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2935         * gst/gstpad.c: (gst_pad_init):
2936         Set pads to FLUSHING when they are created. Check, warn and fix when a
2937         demuxer adds an inactive pad to itself when running. Fixes #339326.
2938
2939 2006-12-15  Wim Taymans  <wim@fluendo.com>
2940
2941         * gst/gstelement.c: (gst_element_class_init),
2942         (gst_element_default_send_event), (gst_element_send_event),
2943         (gst_element_default_query), (gst_element_query):
2944         Expose default element send_event and query handling as vmethods that
2945         subclasses can chain up to.
2946
2947 2006-12-15  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstelement.c: (gst_element_set_state_func):
2950         Small documentation fixes.
2951
2952 2006-12-15  Wim Taymans  <wim@fluendo.com>
2953
2954         * docs/design/draft-latency.txt:
2955         Checked in draft for handling latency in pipelines.
2956
2957 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * Makefile.am:
2960         * gstreamer.doap:
2961         * gstreamer.spec.in:
2962           adding .doap file
2963
2964 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * gst/gst.c: (init_pre), (init_post):
2967           init_pre() and init_post() might be called via our GOptionGroup or
2968           from gst_init(), and we should skip both of them if we've already
2969           been initialised, otherwise we will init some things twice or add
2970           two default log functions.
2971
2972 2006-12-13  Edward Hervey  <edward@fluendo.com>
2973
2974         * docs/manual/basics-bus.xml:
2975         No, gst_main_loop does not exist. Its g_main_loop.
2976         Discovered by somebody who abused the copy-paste technique of coding :)
2977
2978 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2979
2980         * gst/gstghostpad.c:
2981           Log ghostpad debug stuff to the GST_PADS category as well rather
2982           than just to the default category.
2983
2984 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2985
2986         * configure.ac:
2987         * gst/gst.c: (init_pre):
2988           Add some basic system details such as OS and architecture
2989           to the debug output if possible, courtesy of uname().
2990
2991 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2992
2993         * docs/gst/running.xml:
2994           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2995           environment variables.
2996
2997 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2998
2999         * tests/check/gst/gstbin.c: (GST_START_TEST):
3000         It is acceptable to have a refcount of 2 or 3 at this point in the
3001         test, because the pipeline might be just posting its state_change
3002         message. The next line then waits for that message to appear using
3003         bus_poll, so that should be fine too.
3004
3005 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3006
3007         * gst/gst.c: (ensure_current_registry_forking):
3008         Ignore EINTR when reading from the child registry pipe.
3009         Explicitly ignore the return value from close, since it makes no
3010         difference.
3011
3012         * gst/gstminiobject.c: (gst_mini_object_ref),
3013         (gst_mini_object_unref):
3014         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
3015
3016         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
3017         When removing cached plugins, remove their features too, so they're
3018         not visible after they've disappeared.
3019
3020         * gst/gstutils.c: (prepare_link_maybe_ghosting):
3021         In the unlikely case that we are linking pads with no parents, don't
3022         crash trying to get the non-existent parent bin.
3023
3024         * gst/parse/grammar.y:
3025         Output debug in the PIPELINE category
3026
3027 2005-03-08  Wim Taymans  <wim@fluendo.com>
3028
3029         Patch by: René Stadler <mail at renestadler dot de>
3030
3031         * gst/gstclock.c: (gst_clock_new_periodic_id):
3032         Reject invalid clock times for interval of periodic ids.
3033         Fixes ##383506.
3034
3035 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3036
3037         * gst/gstelementfactory.c: (gst_element_factory_create):
3038         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3039         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3040         * tools/gst-inspect.c: (print_element_info):
3041         Fix refcounting of gst_plugin_feature_load to match the docs. 
3042         Fixes: #380129
3043
3044 2006-12-07  Wim Taymans  <wim@fluendo.com>
3045
3046         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3047         (gst_base_sink_get_position):
3048         Improve debugging of events.
3049
3050 2006-12-07  Wim Taymans  <wim@fluendo.com>
3051
3052         Patch by: René Stadler <mail at renestadler dot de>
3053
3054         * gst/gstclock.c: (gst_clock_id_wait):
3055         Make period ids add the interval to the origial requested time instead
3056         of the possibly updated time which can be wrong when there are multiple
3057         waiters for the same id. Fixes #382592.
3058
3059         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
3060         (gst_system_clock_id_wait_jitter_unlocked),
3061         (gst_system_clock_id_wait_jitter):
3062         Fix restart in the async notify thread when an async entry is added to
3063         the front of the list. Fixes #381492. 
3064
3065         * tests/check/gst/gstsystemclock.c: (store_callback),
3066         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
3067         Added test for multiple async waits.
3068         Added test for async wait order.
3069
3070 2006-12-07  Wim Taymans  <wim@fluendo.com>
3071
3072         * gst/gstbin.c: (gst_bin_query):
3073         Add some more docs about the POSITION query.
3074
3075 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3076
3077         * configure.ac:
3078         Bump version nano - back to CVS.
3079
3080 === release 0.10.11 ===
3081
3082 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
3083
3084         * configure.ac:
3085           releasing 0.10.11, "Love never runs on time"
3086
3087 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
3088
3089         * win32/common/libgstbase.def:
3090         * win32/common/libgstreamer.def:
3091         * win32/vs8/libgstbase.vcproj:
3092         * win32/vs8/libgstcoreelements.vcproj:
3093         * win32/vs8/libgstreamer.vcproj:
3094         Fix compilation on win32 under VS8
3095         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3096         Partially fixes #381175
3097
3098 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3099
3100         * gst/gstvalue.c: (gst_value_compare_fraction):
3101         If someone is foolish enough to compare 2 fractions with denominator =
3102         0, return UNORDERED rather than aborting.
3103
3104 2006-11-28  Edward Hervey  <edward@fluendo.com>
3105
3106         * libs/gst/base/Makefile.am:
3107         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
3108         (gst_data_queue_base_init), (gst_data_queue_class_init),
3109         (gst_data_queue_init), (gst_data_queue_new),
3110         (gst_data_queue_cleanup), (gst_data_queue_finalize),
3111         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
3112         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
3113         (gst_data_queue_is_empty), (gst_data_queue_is_full),
3114         (gst_data_queue_set_flushing), (gst_data_queue_push),
3115         (gst_data_queue_pop), (gst_data_queue_drop_head),
3116         (gst_data_queue_set_property), (gst_data_queue_get_property):
3117         * libs/gst/base/gstdataqueue.h:
3118         New GstDataQueue object for threadsafe queueing. Most useful for
3119         elements that need some queueing functionnality.
3120         * docs/libs/gstreamer-libs-docs.sgml:
3121         * docs/libs/gstreamer-libs-sections.txt:
3122         Insert documentation for GstDataQueue
3123         * plugins/elements/Makefile.am:
3124         * plugins/elements/gstelements.c:
3125         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3126         (gst_multi_queue_class_init), (gst_multi_queue_init),
3127         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3128         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
3129         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
3130         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3131         (gst_multi_queue_loop), (gst_multi_queue_chain),
3132         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3133         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
3134         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
3135         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
3136         (wake_up_next_non_linked), (compute_next_non_linked),
3137         (single_queue_overrun_cb), (single_queue_underrun_cb),
3138         (single_queue_check_full), (gst_single_queue_new):
3139         * plugins/elements/gstmultiqueue.h:
3140         New multiqueue element, using GstDataQueue. Used for queuing multiple
3141         streams.
3142         Closes #344639 and #347785
3143
3144 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
3145
3146         * docs/pwg/advanced-types.xml:
3147           add more missing type details
3148
3149         * tools/gst-run.c: (main):
3150           remove unused variable
3151
3152 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
3153
3154         * docs/libs/Makefile.am:
3155         * docs/libs/gstreamer-libs.types:
3156           add types of base classes to enable gobject specific stuff in the docs
3157
3158         * docs/random/ensonic/embedded.txt:
3159           more ideas about isolating platform specific things
3160
3161 2006-11-20  Wim Taymans  <wim@fluendo.com>
3162
3163         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
3164
3165         * libs/gst/check/gstcheck.h:
3166         Fix compilation and running against 0.9.4. Fixes #377332.
3167
3168 2006-11-20  Wim Taymans  <wim@fluendo.com>
3169
3170         * gst/gstsegment.c: (gst_segment_set_seek),
3171         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3172         (gst_segment_to_running_time):
3173         Fix boundary checking in to_running_time() and to_stream_time().
3174         Fixes #377183.
3175
3176         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3177         stream and running time can now be calculated for the complete
3178         clipped segment.
3179
3180 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * gst/gstpad.c: (gst_pad_push_event):
3183           Can't access event structure after giving away ownership of
3184           the event.
3185
3186 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
3187
3188         * docs/random/ensonic/embedded.txt:
3189         * docs/random/ensonic/profiling.txt:
3190         * docs/random/ensonic/receipies.txt:
3191           more thinking
3192
3193 2006-11-13  Wim Taymans  <wim@fluendo.com>
3194
3195         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3196
3197         * gst/gstpad.c:
3198         Fix documentation for gst_pad_dispatcher. Fixes #374475.
3199
3200 2006-11-13  Wim Taymans  <wim@fluendo.com>
3201
3202         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
3203
3204         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
3205         Store new length in segment duration so we don't keep on calling the
3206         potentially expensize get_size() call. Fixes #370865.
3207
3208 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
3209
3210         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
3211
3212         * win32/common/libgstreamer.def:
3213           Add two missing symbols (#366492).
3214
3215 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
3216
3217         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
3218         (gst_adapter_take_buffer):
3219         Fix format string to use all its arguments.
3220         Remove useless >= check on a guint
3221
3222 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3223
3224         * tests/examples/adapter/.cvsignore:
3225         Ignore build file as commanded by the build-bot
3226
3227 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3228
3229         * tests/examples/adapter/Makefile.am:
3230         * tests/examples/adapter/adapter_test.c: (run_test_take),
3231         (run_test_take_buffer), (run_tests), (main):
3232
3233         Add new files from the previous commit
3234
3235 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3236
3237         * Makefile.am:
3238         * configure.ac:
3239         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
3240         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
3241         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
3242         * libs/gst/base/gstadapter.h:
3243         * tests/check/libs/adapter.c: (create_and_fill_adapter),
3244         (GST_START_TEST), (gst_adapter_suite):
3245         * tests/examples/Makefile.am:
3246         Do some optimisation work in GstAdapter to avoid copies in more cases.
3247         It could still do slightly better by merging buffers when
3248         gst_buffer_is_span_fast is true, but is already faster. 
3249
3250         Also, avoid traversing a single-linked list to append each incoming 
3251         buffer inside the adapter.
3252
3253         Add simple test app that times the adapter behaviour in different
3254         situations, and extend the unit test to check that bytes enter and
3255         exit the adapter in their original order.
3256
3257 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3258
3259         * docs/random/draft-missing-plugins.txt:
3260           Update: use element message instead of adding a new message
3261           type to the core; don't provide GStreamer API to initiate the
3262           plugin download, just provide API to compose the strings needed
3263           and let an external libgimmestuff handle the rest.
3264
3265 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
3266
3267         * tools/gst-inspect.c: (print_element_properties_info):
3268         Print a string instead of 'unknown type' for GValueArray properties
3269
3270 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
3271
3272         * docs/random/draft-missing-plugins.txt:
3273         More small fixes.
3274
3275 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * tests/examples/typefind/typefind.c: (type_found), (main):
3278           Make typefind element example work again (#371894); add a
3279           license header.
3280
3281 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * docs/random/draft-missing-plugins.txt:
3284           Commit initial draft about how to deal with missing plugins,
3285           needs work (API too).
3286
3287 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
3288
3289         * docs/pwg/advanced-types.xml:
3290           documents the new caps elements (see #363118)
3291
3292 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3293
3294         * gst/gstplugin.c: (gst_plugin_load_file):
3295         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
3296         (gst_file_src_map_region), (gst_file_src_start):
3297         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
3298         (gst_file_index_commit):
3299           Use g_strerror() instead of strerror() - we want UTF-8.
3300
3301 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3302
3303         Patch by: Peter Kjellerstedt <pkj at axis com>
3304
3305         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3306           Another printf fix (#371493).
3307
3308 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3309
3310         * tests/check/gst/gsttag.c:
3311           relicence (okay with author=company)
3312
3313 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3314
3315         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3316         (gst_pad_push_event):
3317           Enhance debug and improve docs
3318         
3319         * gst/gsturi.c:
3320           Fix docs
3321
3322 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3323
3324         * docs/random/ensonic/distributed.txt:
3325         * docs/random/ensonic/profiling.txt:
3326           more ideas
3327
3328 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3329
3330         * docs/gst/gstreamer-sections.txt:
3331           add new API and fix the build
3332           
3333         * gst/gstbin.c: (gst_bin_recalc_state):
3334         * gst/gstelement.c: (gst_element_message_full),
3335         (gst_element_get_state_func), (gst_element_set_state_func):
3336           use new API and improve logging
3337         
3338         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3339         * gst/gstutils.h:
3340           API: add function to get StateChangereturn names to improve logs 
3341
3342 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3343
3344         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3345           I'm considering shooting the next person to put strerror stuff
3346           in the translateable part of the message.
3347
3348 2006-11-03  Wim Taymans  <wim@fluendo.com>
3349
3350         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3351         Get the type and printf conversion specifiers right.
3352
3353 2006-11-03  Wim Taymans  <wim@fluendo.com>
3354
3355         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3356
3357         * gst/gstpad.c: (gst_pad_init), (pre_activate),
3358         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
3359         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
3360         Some small cleanups. Improve debugging.
3361         * gst/gstpad.h:
3362         Signal all waiting threads with a broadcast instead of just one.
3363         Fixes #369942.
3364
3365 2006-11-03  Wim Taymans  <wim@fluendo.com>
3366
3367         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3368         (gst_fd_src_create):
3369         Add some debugging. 
3370         Only update fd when it's different from the old.
3371
3372 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3373
3374         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
3375           Printf fixes for PPC/OSX, take two (#369366).
3376
3377 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3378
3379         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
3380
3381         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3382         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3383         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3384           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
3385           don't cast to long long for portability reasons, but use
3386           GLib's types instead.
3387
3388 2006-10-30  Michael Smith  <msmith@fluendo.com>
3389
3390         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3391           Get the arguments to lseek() the right way around.
3392           Fixes 367677.
3393
3394 2006-10-30  Wim Taymans  <wim@fluendo.com>
3395
3396         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
3397
3398         * gst/gstinfo.h:
3399         _declspec should be __declspec (two underscores, not one). Fixes 366572.
3400
3401 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         Patch by: Kjartan Maraas  <kmaraas at gnome org>
3404
3405         * docs/design/part-MT-refcounting.txt:
3406         * docs/random/wtay/capsnego2-docs:
3407         * gst/gstclock.c:
3408         * gst/gstxml.c:
3409           Typo fixes (#366212).
3410
3411 2006-10-28  Wim Taymans  <wim@fluendo.com>
3412
3413         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3414
3415         * gst/gst.c:
3416         * win32/common/libgstbase.def:
3417         * win32/common/libgstreamer.def:
3418         * win32/vs8/libgstbase.vcproj:
3419         * win32/vs8/libgstcontroller.vcproj:
3420         Add needed entries in .def files.
3421         Use HAVE_UNISTD_H.
3422         Rearrange def files in vs8 solutions. Fixes #366286.
3423
3424 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3425
3426         * win32/common/gstconfig.h:
3427           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
3428           hand-made win32 gstconfig.h. Fixes #366321.
3429
3430 2006-10-27  Wim Taymans  <wim@fluendo.com>
3431
3432         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
3433         (gst_ghost_pad_new_full):
3434         Make acceptcaps return TRUE when we don't have a target, just like
3435         setcaps does.
3436
3437 2006-10-27  Wim Taymans  <wim@fluendo.com>
3438
3439         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3440         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
3441
3442 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3443
3444         * gst/gststructure.c: (gst_structure_id_set_value):
3445           If someone tries to set a non-UTF8 string field on a structure,
3446           don't just print a warning, but also ignore the request and do
3447           not change/add that field to the structure.
3448
3449         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3450           Test for the above.
3451
3452 2006-10-25  David Schleef  <ds@schleef.org>
3453
3454         * gst/gstinfo.c:
3455           g_hash_table_insert() needs a cast to a non-const pointer duh.
3456
3457 2006-10-25  David Schleef  <ds@schleef.org>
3458
3459         * gst/gstinfo.c:
3460         * gst/gstinfo.h:
3461           Change name parameter of _gst_debug_register_funcptr to const
3462           to reflect the constness of its use in the function as well
3463           as to quiet a gcc warning.
3464
3465 2006-10-25  Edward Hervey  <edward@fluendo.com>
3466
3467         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3468         Don't push the buffer if it's empty.
3469         Closes #363095
3470
3471 2006-10-24  Wim Taymans  <wim@fluendo.com>
3472
3473         * gst/gstevent.h:
3474         Add small comment.
3475
3476         * libs/gst/base/gstbasetransform.c:
3477         (gst_base_transform_sink_eventfunc):
3478         Debug segment values *after* updating them as this is more
3479         interesting.
3480
3481 2006-10-23  Wim Taymans  <wim@fluendo.com>
3482
3483         * docs/design/part-events.txt:
3484         Update some docs.
3485
3486         * docs/design/part-block.txt:
3487         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3488         (gst_pad_push_event):
3489         Revert BLOCKING patch, it tries to be smart without really having a
3490         clear idea what or how. So, now we discard all FLUSHING events again on
3491         a blocking pad. Should fix gnonlin again.
3492
3493 2006-10-23  Wim Taymans  <wim@fluendo.com>
3494
3495         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3496
3497         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3498         (gst_base_src_start), (gst_base_src_activate_push):
3499         Make sure size is always initialized. Fixes #364388.
3500
3501 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * docs/random/ensonic/distributed.txt:
3504           add some ideas about doing distributed processing
3505
3506         * docs/random/ensonic/profiling.txt:
3507           get_rusage look promising
3508
3509 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3510
3511         * docs/manual/basics-helloworld.xml:
3512           Add a cast in example to fix compile warning
3513
3514 2006-10-18  Wim Taymans  <wim@fluendo.com>
3515
3516         * gst/gstsegment.c: (gst_segment_set_last_stop),
3517         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3518         Relax arg checking again, -1 is allowed.
3519
3520 2006-10-18  Wim Taymans  <wim@fluendo.com>
3521
3522         * gst/gstsegment.c: (gst_segment_set_last_stop),
3523         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3524         _set_last_stop() must be with a value != -1
3525         A _TYPE_SET to -1 means seek to 0.
3526         Calc last_stop correctly for negative rates.
3527         Make sure we work with positive durations when updating a segment.
3528
3529 2006-10-18  Wim Taymans  <wim@fluendo.com>
3530
3531         * docs/design/part-live-source.txt:
3532         * gst/gstclock.h:
3533         Small docs fixes.
3534
3535 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
3536
3537         * gst/gstbuffer.h:
3538           Add an explicit cast to GstBuffer** to keep old code that added an
3539           explicit cast to GstMiniObject** for gst_mini_object_replace()
3540           compiling without warning.
3541
3542 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3543
3544         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
3545           check for validity of dates
3546
3547 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * docs/gst/gstreamer-sections.txt:
3550           Forgot this one, makes gtk-doc shut up.
3551
3552 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3553
3554         Patch by: Peter Kjellerstedt <pkj at axis com>
3555
3556         * gst/gstobject.h:
3557           Don't define xmlNodePtr to gpointer if the core was built with
3558           --disable-loadsave and --disable-registry, this will break
3559           applications that want to use libxml2 but are buildling against a
3560           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
3561           instead so we don't have to mess with the libxml2 namespace
3562           (#361675).
3563
3564 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3565
3566         * gst/gstbuffer.h:
3567           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
3568           type-punned pointer warnings.
3569
3570 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * gst/gstelement.h:
3573           Add casts to the correct return type to state <=> state transition
3574           macros.
3575
3576 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
3577
3578         * docs/design/part-live-source.txt:
3579           describe howto handle latency
3580         
3581         * docs/random/ensonic/profiling.txt:
3582           more ideas
3583
3584         * tools/gst-plot-timeline.py:
3585           fix log parsing for solaris, remove unused function
3586
3587 2006-10-16  Wim Taymans  <wim@fluendo.com>
3588
3589         * docs/design/part-trickmodes.txt:
3590         * gst/gstevent.c:
3591         Update some docs regarding reverse playback.
3592
3593 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3594
3595         Patch by: Marcus Granado  <mrc dot gran at gmail com>
3596
3597         * win32/vs8/grammar.vcproj:
3598           Error out with a warning if glib-genmarshal.exe is not in path,
3599           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
3600
3601 2006-10-13  Wim Taymans  <wim@fluendo.com>
3602
3603         * gst/gstsegment.c: (gst_segment_set_seek):
3604         When seeking to stop -1, set last_stop (current position) to the
3605         duration of the segment.
3606
3607 2006-10-13  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/gstelement.h:
3610         Clarify _NO_PREROLL a bit more.
3611
3612         * gst/gstevent.c:
3613         Fix docs.
3614
3615         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
3616         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
3617         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
3618         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
3619         due to wrong locking order. Fixes #361769.
3620         Remove some redundant/misplaced checks in pad_block.
3621
3622         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3623         For negative rates, count backwards from the duration.
3624
3625 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3626
3627         * gst/gsterror.c: (_gst_library_errors_init):
3628           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
3629           up with something better).
3630
3631 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * win32/vs6/libgstreamer.dsp:
3634         * win32/vs7/libgstreamer.vcproj:
3635         * win32/vs8/libgstreamer.vcproj:
3636           Don't reference glib-compat.c which is currently not used and not
3637           disted; add gstquark.c which was recently added. Fixes #361730.
3638
3639 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3640
3641         * win32/common/libgstbase.def:
3642         * win32/common/libgstcontroller.def:
3643         * win32/common/libgstreamer.def:
3644           Add gst_caps_merge() and a bunch of other recently-added functions.
3645           Fixes #361732.
3646
3647 2006-10-11  Wim Taymans  <wim@fluendo.com>
3648
3649         * docs/plugins/gstreamer-plugins.args:
3650         * docs/plugins/inspect/plugin-coreelements.xml:
3651         * docs/plugins/inspect/plugin-coreindexers.xml:
3652         Update element args.
3653
3654         * gst/gstsystemclock.c:
3655         Small comment update.
3656
3657         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3658         (gst_tee_request_new_pad), (gst_tee_release_pad),
3659         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
3660         (gst_tee_sink_activate_pull):
3661         * plugins/elements/gsttee.h:
3662         Some tee loving:
3663         Add default property defines.
3664         Implement release pad function.
3665         Give properties better blubs etc.
3666         Activate pads before adding them to a running tee.
3667         Do simple buffer_alloc on the first requested pad.
3668         Post error when activation fails.
3669
3670 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3671
3672         * gst/gst.c: (ensure_current_registry_forking):
3673           Check return value of write() to make compiler happy.
3674
3675 2006-10-11  Wim Taymans  <wim@fluendo.com>
3676
3677         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3678
3679         * plugins/elements/gstqueue.c: (gst_queue_chain):
3680         Recheck queue filledness after signalling the overrun when we're about
3681         to leak downstream because we released the lock when emitting the signal
3682         and the queue could be empty again. Fixes #352345.
3683
3684 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3687           Fix refcounting here too, just like we did for _new_valist() a few
3688           days ago (#357180) (thanks to René Stadler). Also remove all those
3689           'Since: 0.9' from the gtk-doc blobs.
3690
3691         * tests/check/libs/controller.c: (controller_refcount_new_list),
3692         (gst_controller_suite):
3693           Unit test for the above.
3694
3695 2006-10-10  Wim Taymans  <wim@fluendo.com>
3696
3697         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3698
3699         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3700         (gst_pad_save_thyself):
3701         Update some docs.
3702         Write pad direction in XML output. Fixes #345496.
3703
3704 2006-10-10  Wim Taymans  <wim@fluendo.com>
3705
3706         Patch by: René Stadler <mail at renestadler dot de>
3707
3708         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3709         (gst_controller_new_list), (_gst_controller_dispose),
3710         (_gst_controller_finalize), (_gst_controller_class_init):
3711         Take ref to controlled object so that it cannot disappear. 
3712         Fixes #357432.
3713
3714 2006-10-10  Wim Taymans  <wim@fluendo.com>
3715
3716         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3717         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3718         (gst_check_teardown_sink_pad):
3719         Activate/deactivate pads in setup/teardown respectively.
3720
3721 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3722
3723         Patch by: Josep Torre Valles <josep@fluendo.com>
3724
3725         * gst/Makefile.am:
3726         Cast values when making gstenumtypes.h.  This pacifies Forte
3727         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3728         in the enumeration.
3729
3730 2006-10-09  Wim Taymans  <wim@fluendo.com>
3731
3732         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3733         Rename some more @cur to @start to fix docs. 
3734
3735         * gst/gstsegment.c: (gst_segment_set_seek):
3736         Fix typo.
3737         time and start must always stay in sync as defined in design doc.
3738
3739         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3740         Rename param to fix docs.
3741
3742         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3743         Check that start and time are in sync.
3744
3745         * tests/check/pipelines/parse-launch.c:
3746         (gst_parse_test_element_change_state):
3747         Activate pad before adding to the element.
3748
3749 2006-10-09  Wim Taymans  <wim@fluendo.com>
3750
3751         * docs/design/part-qos.txt:
3752         Fix typo.
3753
3754         * gst/gstevent.c:
3755         * gst/gstevent.h:
3756         Update seek event docs regarding negative rates.
3757         Rename @cur to @start. 
3758
3759         * gst/gstsegment.c: (gst_segment_set_seek):
3760         * gst/gstsegment.h:
3761         Update set_seek docs regarding negative rates.
3762         Correctly update last_stop to @stop when dealing with negative
3763         rates.
3764         Rename @cur to @start. 
3765
3766         * tests/check/gst/gstpad.c: (GST_START_TEST):
3767         Activate pads before trying to use them.
3768
3769         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3770         (gst_segment_suite):
3771         Add simple check for segments and negative rates.
3772
3773 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3774
3775         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3776         * gst/gsttaglist.h:
3777         * docs/gst/gstreamer-sections.txt:
3778           API: add gst_tag_list_is_empty() (#360467).
3779
3780         * tests/check/gst/gsttag.c: (GST_START_TEST):
3781           And a test case.
3782
3783 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3784
3785         * gst/gstmessage.h:
3786         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3787         a value that doesn't fit on enumeration.
3788
3789 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3790
3791         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3792         Remove local debugging system and use Gstreamer's instead.
3793
3794 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3795
3796         Patch by: Josep Torre Valles <josep@fluendo.com>
3797
3798         * common/m4/gst-error.m4:
3799         Disable warning of statement not reached on Forte.
3800         * gst/gstmessage.h:
3801         Fix warning on Forte (value doesn't fit on enumeration).
3802         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3803         Fix warning on Forte (value doesn't fit on enumeration).
3804         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3805         DEBUG macro says it takes minimum of 2 args and so Forte
3806         complains about the use with just 1 arg.
3807         * plugins/elements/gstfdsink.c:
3808         * plugins/elements/gstfdsrc.c:
3809         * plugins/elements/gstfilesink.c:
3810         * plugins/elements/gstfilesrc.c:
3811         Use correct return type for the uri handler implementations.
3812
3813         All these fix warnings in Forte.  Fixes bug #360860.
3814
3815 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * gst/gstelement.h:
3818           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3819           format string, so don't use G_GNUC_PRINTF for those versions.
3820
3821 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * gst/gsttaglist.c: (gst_is_tag_list):
3824         * gst/gsttaglist.h:
3825           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3826
3827         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3828           Small test for the above.
3829
3830 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832         * gst/gsttaglist.h:
3833           Less tabs, more spaces.
3834
3835 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3836
3837         * gst/gstinfo.h:
3838           Those two function declarations do actually belong there, revert
3839           commit from yesterday that turned them intro macros.
3840
3841 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3842
3843         Patch by: Josep Torre Valles <josep@fluendo.com>
3844
3845         * gst/gst.c: (gst_init_get_option_group):
3846         Fix empty declaration and type mismatch.
3847         * gst/gstbin.c: (gst_bin_change_state_func):
3848         Fix type mismatch.
3849         * gst/gstelement.c: (gst_element_continue_state),
3850         (gst_element_set_state_func), (gst_element_change_state),
3851         (gst_element_change_state_func):
3852         Fix type mismatches.
3853         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3854         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3855         Cast as appropriate.
3856         * gst/gstobject.c: (gst_class_signal_connect):
3857         Cast as appropriate.  The function pointer parameter really
3858         has the wrong type but would break API if we change it.
3859         * gst/gstquery.c:
3860         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3861         order of including string.h.
3862         * gst/gstutils.c: (gst_element_state_get_name):
3863         Remove unreachable line.
3864         * gst/gstxml.c: (gst_xml_parse_doc):
3865         Fix type mismatch.
3866         All these caught by Forte.
3867
3868 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3869
3870         Patch by: Josep Torre Valles <josep@fluendo.com>
3871
3872         * common/m4/gst-error.m4:
3873         Fixed bug #360151.
3874         We need to disable warnings on Forte for empty declarations
3875         due to gst-indent adding ;s to lines that just use macros
3876         where the macro actually doesn't need a ; at end to end
3877         statement.
3878
3879 2006-10-06  Wim Taymans  <wim@fluendo.com>
3880
3881         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3882         (gst_file_sink_close_file), (gst_file_sink_event),
3883         (gst_file_sink_render):
3884         Add some FIXME for the NEWSEGMENT handling.
3885
3886 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3887
3888         * gst/parse/grammar.y:
3889         Remove static function gst_parse_element_lock as all it does
3890         is return.  Looks like cruft from 0.8.
3891
3892 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3893
3894         Patch by: Josep Torre Valles <josep@fluendo.com>
3895
3896         * common/m4/gst-error.m4:
3897         * configure.ac:
3898         * libs/gst/net/Makefile.am:
3899         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3900         libresolv.
3901
3902 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3903
3904         * gst/gstpad.c: (pre_activate):
3905         * gst/gstregistry.c: (gst_registry_scan_path_level):
3906         * gst/gstregistryxml.c: (load_plugin):
3907         * libs/gst/controller/gstcontroller.c:
3908         (gst_controlled_property_set_interpolation_mode):
3909         * libs/gst/dataprotocol/dataprotocol.c:
3910         (gst_dp_packet_from_event_1_0):
3911         * libs/gst/net/gstnetclientclock.c:
3912         (gst_net_client_clock_observe_times):
3913         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3914           Printf fixes.
3915
3916 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3917
3918         * configure.ac:
3919         * docs/gst/gstreamer-sections.txt:
3920         * gst/gstconfig.h.in:
3921         * gst/gstelement.h:
3922         * gst/gstinfo.h:
3923           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3924           whether we can use G_GNUC_PRINTF in other header files and at
3925           least check the printf format/arguments of debug messages and
3926           GST_ELEMENT_ERROR messages when the printf extension is not
3927           being used.
3928           Replace more tabs with spaces in gstinfo.h and remove two spurious
3929           function declarations in GST_DISABLE_DEBUG part with macros.
3930
3931 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3934           More docs for the sync-message signal (mention that it is not
3935           emitted by default); log message structures of messages posted on
3936           the bus as well.
3937
3938 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3939
3940         * gst/gst.c: (ensure_current_registry_forking):
3941         Use a pipe pair to receive status results from the forked child, and
3942         ignore the result from waitpid. Fixes #355499
3943
3944 2006-10-02  Wim Taymans  <wim@fluendo.com>
3945
3946         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3947         (gst_ghost_pad_suite):
3948         Fix leak in check.
3949
3950 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3951
3952         * gst/gstpad.c:
3953           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3954
3955 2006-10-02  Edward Hervey  <edward@fluendo.com>
3956
3957         * docs/design/part-block.txt:
3958         Further explain the use of flushing on blocked pads.
3959         * docs/gst/gstreamer-sections.txt:
3960         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3961         (gst_pad_push_event):
3962         * gst/gstpad.h:
3963         Added new GstPadFlag : GST_PAD_BLOCKING.
3964         Adds the notion of pads really blocking, which enables to properly
3965         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3966         Fixes #358999
3967         API: gst_pad_is_blocking()
3968         API: GST_PAD_IS_BLOCKING() macro
3969         API: GST_PAD_BLOCKING GstPadFlag
3970         
3971 2006-10-02  Wim Taymans  <wim@fluendo.com>
3972
3973         Patch by: mrcgran <mrc.gran at gmail dot com>
3974
3975         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3976         Filter the proxied caps against the padtemplate if we have one.
3977
3978         * gst/gstquery.c: (gst_query_new_segment):
3979         Add include for gstinfo.h so that compilation with
3980         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3981
3982 2006-10-02  Wim Taymans  <wim@fluendo.com>
3983
3984         Patch by: Alessandro Decina  <alessandro at nnva org>
3985
3986         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3987         (gst_file_sink_set_location), (gst_file_sink_open_file),
3988         (gst_file_sink_close_file), (gst_file_sink_event),
3989         (gst_file_sink_render):
3990         Set file to NULL when closing filesink so that we can set a new filename
3991         in READY. Fixes #358613.
3992
3993 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3994
3995         Patch by: Alessandro Decina  <alessandro at nnva org>
3996
3997         * gst/gstevent.c: (_gst_event_copy):
3998           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3999           with event structures by setting the parent refcount address of the
4000           copied structure to the address of the refcount member of the newly
4001           copied event rather than the address of the refcount member of the
4002           original event. Fixes #358737.
4003
4004         * tests/check/gst/gstevent.c: (GST_START_TEST):
4005           Unit test for the above.
4006
4007 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
4008
4009         * docs/design/Makefile.am:
4010           Dist some more files.
4011
4012 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4013
4014         * tests/check/libs/controller.c: (GST_START_TEST),
4015         (gst_controller_suite):
4016           Add test for the previous fix; add some more tests
4017           for correct refcounting behaviour; fix a few leaks
4018           in test cases; call gst_controller_init() at start
4019           of all tests.
4020
4021 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4024         (gst_controller_set_from_list):
4025           Don't g_return_val_if_fail() on timed values with invalid timestamps
4026           inside a critical section without unlocking the mutex. Spotted by
4027           René Stadler. (#357617)
4028           Also, fix up refcounting properly: when returning an existing
4029           controller, we should increase the reference only once and not
4030           once per property and when trying to control a property again
4031           we should also increase the refcount.
4032
4033 2006-09-29  Wim Taymans  <wim@fluendo.com>
4034
4035         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4036         * libs/gst/net/gstnettimeprovider.c:
4037         (gst_net_time_provider_thread):
4038         Stop reading commands when EOF as well.
4039
4040         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4041         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4042         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4043         Unify description of the dump property.
4044
4045 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4046
4047         * tests/examples/manual/.cvsignore:
4048         OK, so it's actually cvsignore that needs changing. Stop laughing.
4049
4050 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4051
4052         * tests/examples/manual/Makefile.am:
4053         Gah, declare vars *before* using them
4054
4055 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4056
4057         * gst/gst.c: (init_pre), (scan_and_update_registry),
4058         (ensure_current_registry_nonforking),
4059         (ensure_current_registry_forking), (ensure_current_registry),
4060         (init_post), (gst_debug_help), (gst_deinit):
4061         * gst/gst_private.h:
4062         * gst/gstregistry.c: (gst_registry_finalize),
4063         (gst_registry_remove_features_for_plugin_unlocked),
4064         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4065         (gst_registry_scan_path),
4066         (_priv_gst_registry_remove_cache_plugins),
4067         (_priv_gst_registry_cleanup):
4068         * gst/gstregistry.h:
4069         Re-commit the registry changes, along with an extra fix:
4070           When a cached plugin is encountered at a different file path,
4071           update the stored path in the registry cache so that the parent
4072           process knows where it actually is now when it re-reads the registry
4073           cache. Fixes the thing that broke distcheck with the previous commit.
4074
4075         * tests/check/Makefile.am:
4076         Clean up files named 'core' too when running make clean.
4077
4078         * tests/examples/manual/Makefile.am:
4079         Set up a registry path for running these tests, and clean it properly
4080         for distcheck.
4081
4082 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4083
4084         * configure.ac:
4085         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
4086         want gmodule-no-export-2.0.pc instead so that we don't drag in
4087         --export-dynamic on every project that links to GStreamer.
4088
4089         Also, make our export regex only match the start of symbols, rather 
4090         than any symbol that contains '_gst' somewhere.
4091
4092         * libs/gst/check/Makefile.am:
4093         The libgstcheck we build does however need export-dynamic, as it
4094         produces some symbols that don't match our _gst... style regex.
4095         Fixes: #318031
4096
4097 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4098
4099         * gst/gst.c: (init_pre), (scan_and_update_registry),
4100         (ensure_current_registry_nonforking),
4101         (ensure_current_registry_forking), (ensure_current_registry),
4102         (init_post), (gst_debug_help), (gst_deinit):
4103         * gst/gst_private.h:
4104         * gst/gstregistry.c: (gst_registry_finalize),
4105         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4106         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
4107         (_gst_registry_cleanup):
4108         * gst/gstregistry.h:
4109           Revert previous change until I figure out why it breaks distcheck.
4110
4111 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4112
4113         * gst/gst.c: (init_pre), (scan_and_update_registry),
4114         (ensure_current_registry_nonforking),
4115         (ensure_current_registry_forking), (ensure_current_registry),
4116         (init_post), (gst_debug_help), (gst_deinit):
4117
4118           Make init_pre and init_post take the full complement of GOptionFunc
4119           args so they can return useful GErrors. Make the registry updating
4120           functions do so.
4121
4122           Call _priv_gst_registry_remove_cache_plugins after scanning files to
4123           ensure that the registry we're about to write out doesn't contain
4124           stale information about old-deleted plugin files.
4125
4126           Make _priv_gst_registry_remove_cache_plugins return a boolean so
4127           that deletion of plugin files is considered a registry change.
4128
4129         * gst/gst_private.h:
4130         * gst/gstregistry.c: (gst_registry_finalize),
4131         (gst_registry_remove_features_for_plugin_unlocked),
4132         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4133         (gst_registry_scan_path),
4134         (_priv_gst_registry_remove_cache_plugins),
4135         (_priv_gst_registry_cleanup):
4136         * gst/gstregistry.h:
4137         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
4138         by adding _priv prefix, so that they won't appear in the global
4139         symbol table. They still do atm though because of #318031. Move the
4140         prototypes to gst_private.h
4141
4142         When removing a plugin, remove all features for that plugin too. 
4143         Fixes #340878.
4144
4145 2006-09-27  Wim Taymans  <wim@fluendo.com>
4146
4147         * docs/random/moving-plugins:
4148         Make it clear that the "compiled-in descriptions" really mean
4149         the element details.
4150
4151         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4152         (gst_base_sink_wait_preroll):
4153         Update docs.
4154
4155         * docs/libs/gstreamer-libs-sections.txt:
4156         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4157         (gst_base_src_get_range), (gst_base_src_activate_push):
4158         * libs/gst/base/gstbasesrc.h:
4159         Added function to block while waiting for PLAYING, this function
4160         is used by live sources that block on the clock.
4161         API: gst_base_src_wait_playing()
4162
4163 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         Patch by: Peter Kjellerstedt <pkj at axis com>
4166
4167         * Makefile.am:
4168           gst-element-check.m4 is generated and should therefore be
4169           copied from the build dir rather than the source dir (#357593).
4170           'make distcheck' hasn't noticed this because we were disting
4171           the file as well, so stop doing that.
4172
4173 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4174
4175         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4176           Add some tests for gst_caps_intersect().
4177
4178         * tools/gst-launch.c: (event_loop):
4179           Print all buffering percentages we get, even the 100% one.
4180
4181 2006-09-26  Wim Taymans  <wim@fluendo.com>
4182
4183         * tools/gst-inspect.c: (print_element_properties_info),
4184         (print_signal_info):
4185         Fix printing of flags to match the look of enums.
4186
4187 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * gst/gstelementfactory.c:
4190           Fix typo in docs blurb.
4191
4192 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4193
4194         * gst/gsturi.c: (search_by_entry):
4195           Don't assert/crash here if a uri handler doesn't return any
4196           supported protocols. The list of protocols could be generated
4197           dynamically at runtime or at plugin registration, and an error
4198           in the underlying library shouldn't be fatal (#353301).
4199
4200 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4201
4202         * gst/gstinfo.c:
4203           Fix warning if HAVE_PRINTF_EXTENSION is undefined
4204           (spotted by Peter Kjellerstedt).
4205
4206 2006-09-23  Wim Taymans  <wim@fluendo.com>
4207
4208         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4209
4210         * libs/gst/base/gstbasesrc.c:
4211         (gst_base_src_default_check_get_range), (gst_base_src_start),
4212         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4213         (gst_base_src_change_state):
4214         Match _start/_stop calls in the activate functions. Remove redundant
4215         _stop call from the state change function. Fixes #356910.
4216         Turn failure DEBUG into ERROR. 
4217
4218 2006-09-22  Wim Taymans  <wim@fluendo.com>
4219
4220         * docs/design/part-buffering.txt:
4221         * gst/gstmessage.c: (gst_message_new_buffering),
4222         (gst_message_parse_buffering):
4223         Update docs about buffering.
4224
4225         * docs/design/part-trickmodes.txt:
4226         Fix typo.
4227
4228 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
4229
4230         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4231         (gst_controller_new_list):
4232           Ref instances when returning them again (fixes #357180)
4233
4234 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4235
4236         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
4237           Don't forget to release proxy lock when there's an error.
4238
4239 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
4240
4241         * gst/gstcaps.h:
4242           Add extra initialisers for Caps things, to fix some plugin warnings
4243           when using -Wextra
4244
4245 2006-09-18  Wim Taymans  <wim@fluendo.com>
4246
4247         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4248           Also set template on the internal pad so that a getcaps from the 
4249           target pad returns the template caps.
4250
4251 2006-09-18  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/gstelement.c: (gst_element_post_message),
4254         (gst_element_dispose):
4255         Use _DEBUG_OBJECT some more.
4256
4257         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4258         Avoid typechecks.
4259
4260         * tools/gst-launch.c: (main):
4261         If the toplevel element is not a GstPipeline, it must be put in a
4262         pipeline so that a bus and clock is selected.
4263
4264 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4265
4266         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4267           JITTER, RATE, and LATENCY query should be handled by the
4268           default case and not by the CONVERT query code.
4269
4270 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * gst/gstformat.c: (gst_format_register):
4273           Fix locking order (must take lock before using n_values).
4274
4275         * gst/gstvalue.c: (gst_value_serialize_enum),
4276         (gst_value_deserialize_enum_iter_cmp),
4277         (gst_value_deserialize_enum):
4278           Fix serialisation/deserialisation of custom registered GstFormats.
4279
4280         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4281           Unit test for custom format serialisation/deserialisation.
4282
4283 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
4284
4285         * docs/pwg/building-boiler.xml:
4286         * plugins/elements/gstcapsfilter.c:
4287         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
4288         section.
4289
4290 2006-09-16  Edward Hervey  <edward@fluendo.com>
4291
4292         * libs/gst/base/gstbasetransform.c:
4293         (gst_base_transform_buffer_alloc):
4294         Check if requested caps are the same as the sinks caps IF
4295         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
4296         is FALSE.
4297         This fixes the renegotiation issues stated in #352827.
4298
4299 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4300
4301         * configure.ac:
4302         * docs/manual/advanced-autoplugging.xml:
4303         * tests/examples/Makefile.am:
4304         * tests/examples/manual/.cvsignore:
4305         * tests/examples/manual/Makefile.am:
4306         * tests/examples/manual/extract.pl:
4307           Extract the manual examples again like we used to do.
4308           Fix one of them.
4309
4310 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         * win32/common/config.h:
4313           update for version
4314
4315 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
4316
4317         * gst/gsterror.c:
4318           Documents how to receive errors.
4319
4320 2006-09-15  Wim Taymans  <wim@fluendo.com>
4321
4322         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
4323         (event_loop), (main):
4324         Added some comments here and there.
4325         Post an application message when an interrupt is caught instead of doing
4326         an uncontrolled state change.
4327         Clean up the event loop.
4328         Handle buffering messages, pause/resume the pipeline.
4329         Make shutdown because of an interrupt more reliable.
4330
4331 2006-09-15  Wim Taymans  <wim@fluendo.com>
4332
4333         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4334         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
4335         (gst_base_sink_preroll_object):
4336         Make sure that our internal state is correct when we commit our state
4337         asynchronously. This solves a race where a state change to PLAYING
4338         could cause the sink to remain blocked in preroll in some situations.
4339
4340 2006-09-15  Wim Taymans  <wim@fluendo.com>
4341
4342         * tools/gst-inspect.c: (print_element_properties_info),
4343         (print_signal_info):
4344         List flags as hex so it's easier to deal with.
4345
4346 2006-09-15  Wim Taymans  <wim@fluendo.com>
4347
4348         * docs/libs/gstreamer-libs-sections.txt:
4349         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
4350         (gst_base_sink_do_sync):
4351         * libs/gst/base/gstbasesink.h:
4352         Expose logic to wait for preroll so that subclasses such as audiosink
4353         can also use this method.
4354         API: gst_base_sink_wait_preroll()
4355
4356 2006-09-15  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/gstobject.c: (gst_object_set_parent):
4359         * gst/gstpipeline.c: (do_pipeline_seek):
4360         Small cleanups in docs and code.
4361
4362         * gst/gstsegment.c: (gst_segment_clip):
4363         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4364         if stop == start and start is in the segment, no clipping should be
4365         done. Also add a test for this.
4366
4367 2006-09-15  Wim Taymans  <wim@fluendo.com>
4368
4369         * docs/design/part-buffering.txt:
4370         * docs/gst/gstreamer-sections.txt:
4371         * gst/gstmessage.c: (gst_message_new_buffering),
4372         (gst_message_parse_buffering):
4373         * gst/gstmessage.h:
4374         Added methods to create and parse BUFFERING messages.
4375         Added preliminary docs about buffering.
4376         API: gst_message_new_buffering
4377         API: gst_message_parse_buffering
4378
4379 2006-09-06  Wim Taymans  <wim@fluendo.com>
4380
4381         * gst/gstbin.c:
4382         Update documentation.
4383
4384         * gst/gstelement.c: (gst_element_class_init),
4385         (gst_element_release_request_pad), (gst_element_set_clock),
4386         (gst_element_get_index), (gst_element_add_pad),
4387         (gst_element_remove_pad), (gst_element_get_random_pad),
4388         (gst_element_send_event), (gst_element_get_query_types),
4389         (gst_element_query), (gst_element_post_message),
4390         (gst_element_message_full), (gst_element_continue_state),
4391         (gst_element_lost_state), (gst_element_save_thyself),
4392         (gst_element_restore_thyself):
4393         Documentation updates.
4394         Rename last bit of the new-pad -> pad-added signal rename.
4395         Fix the case where an element query would only work if the source
4396         pad was linked.
4397         Avoid some useless type checking in message handling.
4398
4399         * gst/gstevent.c:
4400         * gst/gstevent.h:
4401         * gst/gstutils.c:
4402         Documentation updates.
4403
4404 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4405
4406         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4407           add an INFO line for when we actually update the fd
4408
4409 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4410
4411         * configure.ac:
4412           back to TRUNK
4413
4414 === release 0.10.10 ===
4415
4416 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
4417
4418         * configure.ac:
4419           releasing 0.10.10, "Pais"
4420
4421 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * docs/manual/advanced-position.xml:
4424           Fix typo in sample code.
4425
4426 2006-09-05  Wim Taymans  <wim@fluendo.com>
4427
4428         * libs/gst/net/gstnetclientclock.c: (inet_aton),
4429         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4430         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
4431         * libs/gst/net/gstnetclientclock.h:
4432         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4433         * libs/gst/net/gstnettimepacket.h:
4434         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
4435         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
4436         (gst_net_time_provider_thread), (gst_net_time_provider_new):
4437         * libs/gst/net/gstnettimeprovider.h:
4438         Make stuff compile on windows. Fixes #345295.
4439
4440 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4441
4442         * gst/gst.c: (ensure_current_registry_forking):
4443           Print better details when child was terminated by signal.
4444
4445 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4446
4447         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
4448           Print a warning rather than g_assert() if a plugin feature
4449           is a URI handler but returns no protocols (#353976).
4450
4451 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
4452
4453         * docs/random/moving-plugins:
4454         Fix two typos.         
4455
4456 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
4457
4458         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
4459           Fix locking order, handle NULL function values properly.
4460
4461         * gst/gstinfo.h:
4462           Fix docs.
4463
4464         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
4465           Initialise variable before using it and fix debug statement to
4466           print the address of the function rather than the address of the
4467           variable on the stack holding the address of the function.
4468
4469 2006-09-01  Wim Taymans  <wim@fluendo.com>
4470
4471         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
4472         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
4473         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
4474         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
4475         (gst_ghost_pad_parent_unset),
4476         (gst_ghost_pad_internal_do_activate_push),
4477         (gst_ghost_pad_internal_do_activate_pull),
4478         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4479         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4480         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4481         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
4482         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
4483         (gst_ghost_pad_new_no_target_from_template),
4484         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
4485         More cleanups.
4486         Avoid needless typechecking in macros.
4487         Since the internal pad is always present and never changes, there is
4488         no need to locking or ref when retrieving it.
4489         Improve debugging a bit.
4490         Handle link errors when setting the target. Fixes #341029.
4491
4492 2006-09-01  Wim Taymans  <wim@fluendo.com>
4493
4494         * docs/libs/gstreamer-libs-sections.txt:
4495         * docs/plugins/gstreamer-plugins-sections.txt:
4496         Fix docs some more.
4497
4498         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
4499         (gst_collect_pads_event):
4500         * libs/gst/base/gstcollectpads.h:
4501         Documentation updates.
4502         Free queued buffer when removing a pad.
4503
4504 2006-08-31  Michael Smith  <msmith@fluendo.com>
4505
4506         * gst/gstutils.c: (gst_element_link_pads),
4507         (gst_element_link_pads_filtered):
4508           Ensure that we set a capsfilter to NULL if we failed to link it
4509           when doing filtered linking, to avoid criticals.
4510
4511           No need to check for unreffing srcpad, which is explicly NULLed
4512           above (a trivial code cleanup).
4513
4514 2006-08-31  Wim Taymans  <wim@fluendo.com>
4515
4516         * docs/design/part-gstghostpad.txt:
4517         Update ascii art in documentation.
4518
4519         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
4520         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
4521         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4522         (gst_ghost_pad_internal_do_activate_push),
4523         (gst_ghost_pad_internal_do_activate_pull),
4524         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4525         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4526         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
4527         (gst_ghost_pad_set_target):
4528         Small cleanups and leak fixes.
4529         Remove some checks now that the internal pad is never NULL.
4530         Fix the case where linking pads without a target would create nasty
4531         criticals. Fixes #341029.
4532         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
4533         value of _set_target().
4534
4535         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4536         (gst_ghost_pad_suite):
4537         Some more tests for creating and linking untargeted ghostpads.
4538
4539 2006-08-31  Edward Hervey  <edward@fluendo.com>
4540
4541         * docs/gst/gstreamer-sections.txt:
4542         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
4543         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4544         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
4545         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
4546         (gst_ghost_pad_new_from_template),
4547         (gst_ghost_pad_new_no_target_from_template):
4548         * gst/gstghostpad.h:
4549         Refactored *_new() functions.
4550         Templates are now used as a g_object_new() parameter.
4551         Use template in _do_getcaps() if we don't have a target.
4552         Small documentation cleanups.
4553         Added two new constructors:
4554         gst_ghost_pad_new_from_template()
4555         gst_ghost_pad_new_no_target_from_template()
4556         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4557         (gst_ghost_pad_suite):
4558         Added tests for new ghostpad instanciation functions.
4559
4560         API additions: gst_ghost_pad_new_from_template,
4561         gst_ghost_pad_new_no_target_from_template
4562
4563 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
4564
4565         * docs/random/ensonic/profiling.txt:
4566           Ideas about qos profiling.
4567
4568 2006-08-29  Wim Taymans  <wim@fluendo.com>
4569
4570         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
4571         Code cleanups.
4572         Fix memleak.
4573
4574 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * gst/gstxml.c:
4577           Improve and detypofy docs.
4578
4579         * tests/check/Makefile.am:
4580         * tests/check/gst/.cvsignore:
4581         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
4582           Add a basic test suite for GstXML.
4583
4584 2006-08-29  Wim Taymans  <wim@fluendo.com>
4585
4586         * gst/gstelement.c: (activate_pads), (clear_caps),
4587         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4588         Clear the pad caps when the element shut down all of the pads and
4589         is not streaming data that could modify the caps. 
4590         Fixes #352958.
4591
4592 2006-08-28  Michael Smith  <msmith@fluendo.com>
4593
4594         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4595           Revert previous change; I misunderstood single-segment mode.
4596
4597 2006-08-28  Michael Smith  <msmith@fluendo.com>
4598
4599         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4600           Unset DISCONT on buffers when using single-segment mode.
4601
4602 2006-08-28  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/gstcaps.c: (gst_caps_merge_structure):
4605         * gst/gstcaps.h:
4606         Fix docs and indentation again.
4607
4608         * tests/check/gst/gstquery.c: (GST_START_TEST):
4609         Fix leak in tests and add some more tests.
4610
4611 2006-08-28  Edward Hervey  <edward@fluendo.com>
4612
4613         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4614         Inform GstSegment of the last stop position in order for the current
4615         segment to have a proper duration if it doesn't have a specific stop
4616         position from which a duration could be calculated.
4617         This bug was noticeable when a non-flushing, non-update new segment was
4618         followed by another segment (all buffers from the new segment were being
4619         dropped).
4620
4621 2006-08-28  Wim Taymans  <wim@fluendo.com>
4622
4623         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4624         Small comment update.
4625
4626         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4627         (gst_identity_transform_ip):
4628         Drop-probability is broken, mention this in the code with a 
4629         FIXME and also in the property description.
4630         Make silent also be silent about the drop messages.
4631
4632 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * docs/manual/appendix-win32.xml:
4635           Remove mention of popt, we don't depend on that any
4636           longer (#353136). Add some comments pointing out that
4637           this section is slightly outdated.
4638
4639 2006-08-28  Wim Taymans  <wim@fluendo.com>
4640
4641         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4642
4643         * gst/gstquery.c: (gst_query_new_segment):
4644         * tests/check/gst/gstquery.c: (GST_START_TEST):
4645         Initialize variables when creating a new segment query.
4646         Fixes #353121.
4647
4648 2006-08-28  Wim Taymans  <wim@fluendo.com>
4649
4650         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4651
4652         * gst/gstelement.c: (gst_element_get_bus):
4653         * tests/check/gst/gstelement.c: (GST_START_TEST):
4654         Check for NULL before _reffing the bus. Fixes #353122.
4655
4656 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * docs/manual/basics-bus.xml:
4659           Docs update: fix wrong callback return value explanation; add
4660           some lines about the implicit relationship between main loop
4661           and main context; remove duplicate main loop variable declaration.
4662
4663 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4666           Don't leak caps in unit test; add a few more simple
4667           checks. 
4668
4669 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
4670
4671         * docs/gst/gstreamer-sections.txt:
4672         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
4673         (gst_caps_structure_is_subset), (gst_caps_merge),
4674         (gst_caps_merge_structure):
4675         * gst/gstcaps.h:
4676         * libs/gst/base/gstbasetransform.c:
4677         (gst_base_transform_transform_caps):
4678         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4679           implement caps merging (fixes #352580)
4680
4681 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4682
4683         * tools/Makefile.am:
4684         * tools/gst-plot-timeline.py:
4685           add debug-log plotting developer tool (#340674)
4686
4687 2006-08-23  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4690         (gst_pad_stop_task):
4691         Improve debugging for task functions.
4692
4693         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4694         (gst_task_start), (gst_task_pause), (gst_task_join):
4695         Make sure that the task function started and finished after a 
4696         join(). 
4697         Don't try to push the task function on the threadpool multiple
4698         times.
4699         Improve the g_warning message with some useful suggestions
4700         about how to fix the problem. 
4701
4702 2006-08-23  Wim Taymans  <wim@fluendo.com>
4703
4704         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4705         Handle RESYNC correctly in _proxy_getcaps.
4706
4707 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4708
4709         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4710         (gst_xml_parse_memory), (gst_xml_get_element):
4711           Chain up to parent class in dispose function and also
4712           unref the elements in the toplevel_elements GList.
4713           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4714           Always return a reference in gst_xml_get_element() rather
4715           than only sometimes.
4716
4717         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4718           Don't leak GstXml object.
4719
4720 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4721
4722         * docs/gst/gstreamer-sections.txt:
4723         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4724         (gst_caps_merge):
4725         * gst/gstcaps.h:
4726         * libs/gst/base/gstbasetransform.c:
4727         (gst_base_transform_transform_caps):
4728           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4729           in a better way
4730
4731 2006-08-21  Edward Hervey  <edward@fluendo.com>
4732
4733         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4734         Implement GObject::dispose virtual method in GstXML so we can free the
4735         top_elements GList.
4736
4737 2006-08-21  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4740         (gst_buffer_create_sub):
4741         Copy duration/offset_end/caps when creating a subbuffer of the
4742         complete parent.
4743         Make the subbuffer read-only when we make the metadata writable for
4744         now. Fixes #351768.
4745
4746         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4747         Added check for metadata copy when creating subbuffers.
4748
4749 2006-08-21  Edward Hervey  <edward@fluendo.com>
4750
4751         * libs/gst/base/gstbasetransform.c:
4752         (gst_base_transform_buffer_alloc):
4753         Only call downstream buffer_alloc if transform element is passthrough
4754         or always_in_place. Closes #350449.
4755
4756 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4757
4758         * ChangeLog:
4759           ChangeLog surgery to add comments to previous changes
4760
4761 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4762
4763         * gst/gst.c:
4764           Add comments
4765
4766         * gst/gstpad.c: (gst_pad_set_active):
4767           Be more verbose in the log
4768
4769         * libs/gst/base/gstbasetransform.c:
4770         (gst_base_transform_transform_caps):
4771           Simplify caps to get rid of duplicates, fixes #345444
4772
4773 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * gst/gstvalue.c:
4776         * gst/gstvalue.h:
4777           Use these optimizations only internally.
4778
4779 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4780
4781         * gst/gstvalue.c: (gst_value_compare_list),
4782         (gst_value_compare_fraction_range),
4783         (gst_value_intersect_fraction_fraction_range),
4784         (gst_value_intersect_fraction_range_fraction_range),
4785         (gst_value_subtract_fraction_fraction_range),
4786         (gst_value_subtract_fraction_range_fraction_range),
4787         (gst_value_get_compare_func), (gst_value_compare),
4788         (gst_value_compare_with_func):
4789         * gst/gstvalue.h:
4790           Saves the expensive lookup of the compare function in many cases
4791          (#345444)
4792
4793 2006-08-18  Edward Hervey  <edward@fluendo.com>
4794
4795         * tests/check/gst/gstinfo.c: (gst_info_suite):
4796         Disable test that require gstdebug if it wasn't built in core.
4797
4798 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4799
4800         * docs/random/ensonic/logging.txt:
4801           update ideas
4802           
4803         * gst/gstinfo.c: (gst_debug_log_default):
4804           reorder fields, save some columns, add optional color codes for log
4805           levels
4806
4807 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4808
4809         * docs/random/ensonic/logging.txt:
4810           add ideas about making the logs a bit more useful
4811
4812 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4813
4814         * docs/pwg/advanced-events.xml:
4815         * docs/pwg/titlepage.xml:
4816           Update for 0.10 API (#340627). Add myself
4817           to authors list.
4818
4819 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * docs/libs/gstreamer-libs-docs.sgml:
4822         * docs/libs/gstreamer-libs-sections.txt:
4823         * libs/gst/check/gstbufferstraw.c:
4824           Make gstcheck stuff show up in docs (still needs to
4825           be documented properly though).
4826
4827 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4828
4829         * docs/gst/gstreamer-sections.txt:
4830         * gst/Makefile.am:
4831         * gst/gst.c: (init_post):
4832         * gst/gst_private.h:
4833         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4834         * gst/gstquark.h:
4835         * gst/gstquery.c: (gst_query_new_position),
4836         (gst_query_set_position), (gst_query_parse_position),
4837         (gst_query_new_duration), (gst_query_set_duration),
4838         (gst_query_parse_duration), (gst_query_new_convert),
4839         (gst_query_set_convert), (gst_query_parse_convert),
4840         (gst_query_new_segment), (gst_query_set_segment),
4841         (gst_query_parse_segment), (gst_query_new_seeking),
4842         (gst_query_set_seeking), (gst_query_parse_seeking):
4843         Add internal helpers for pre-registering quarks from static strings
4844         and using the quark values directly instead of looking them up when
4845         creating and parsing queries. Can be used for event construction too.
4846         Closes #350432.
4847
4848 2006-08-16  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/gstbin.c:
4851         Fix bogus docs.
4852
4853 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4854
4855         * gst/gstutils.c: (gst_util_set_value_from_string):
4856           Fix memleak (#351502).
4857
4858         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4859           Add unit test for most of gst_util_set_value_from_string()
4860           (not that one would want to encourage use of this function).
4861
4862 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4863
4864         * libs/gst/check/gstcheck.h:
4865           Use const gchar * variables in fail_unless_equals_string
4866           macro to avoid compiler warnings (and don't use tabs for
4867           indenting).
4868
4869 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4870
4871         * tools/gst-launch.c: (print_tag):
4872           More space on the left for the tag names, to cater
4873           for the 'extended comment' tag (not touching the
4874           string for the first line since it's translated).
4875
4876 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * libs/gst/check/gstcheck.h:
4879           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4880           print something when they fail.
4881
4882 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * docs/gst/gstreamer-sections.txt:
4885         * gst/gsttaglist.c: (_gst_tag_initialize):
4886         * gst/gsttaglist.h:
4887           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4888           Also change merge function for GST_TAG_COMMENT to
4889           use_first.
4890
4891 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4892
4893         * gst/gstinfo.c: (gst_debug_print_object):
4894           Make GST_PTR_FORMAT print messages as well.
4895
4896         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4897         (GST_START_TEST), (gst_info_suite):
4898           More tests.
4899
4900 2006-08-14  Edward Hervey  <edward@fluendo.com>
4901
4902         * gst/gstelementfactory.c: (gst_element_register):
4903         If the GstElementClass doesn't have a GstElementDetails with all fields
4904         filled up correctly (longname, description AND author), then error out
4905         nicely instead of crashing.
4906
4907 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4908
4909         * gst/gststructure.c:
4910           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4911
4912         * gst/gstvalue.h:
4913           Expand on the difference between arrays and lists as we use them.
4914           
4915 2006-08-14  Wim Taymans  <wim@fluendo.com>
4916
4917         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4918         If the parent state change function failed, don't assume we can safely
4919         stop the source, this will be done when the pads are deactivated.
4920
4921 2006-08-14  Wim Taymans  <wim@fluendo.com>
4922
4923         * gst/gstbuffer.c:
4924         * gst/gsttask.c: (gst_task_join):
4925         Small doc updates.
4926
4927         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4928         (gst_pad_stop_task):
4929         When pad (de)activation failed for some reason, restore the old
4930         activation mode and set the pad to flushing instead of assuming the
4931         pad is deactivated.
4932         If the _task_join() failed, reinstall the task on the pad so that it can
4933         be stopped later and return an error.
4934
4935 2006-08-11  Andy Wingo  <wingo@pobox.com>
4936
4937         * configure.ac:
4938         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4939         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4940         is only for users of API that don't want to see deprecated
4941         functions in the headers; people that want to compile out
4942         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4943         CFLAGS. Fixes the build of multifdsink, or will soon..
4944
4945 2006-08-11  Wim Taymans  <wim@fluendo.com>
4946
4947         * docs/gst/gstreamer-sections.txt:
4948         Add GstClockClass vmethod docs.
4949
4950         * gst/gstcaps.h:
4951         Mark #endif with comment for associated #if
4952
4953         * gst/gstclock.c: (gst_clock_id_wait):
4954         * gst/gstclock.h:
4955         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4956         most clock implementations.
4957         Document vmethods.
4958         Flesh out docs about resolution methods.
4959         API: GstClockClass::wait_jitter
4960
4961         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4962         (gst_system_clock_async_thread),
4963         (gst_system_clock_id_wait_jitter_unlocked),
4964         (gst_system_clock_id_wait_jitter):
4965         Use base class wait_jitter variant for improved performance
4966         due to less clock polling.
4967
4968 2006-08-11  Edward Hervey  <edward@fluendo.com>
4969
4970         * gst/gst.c: (gst_init_check), (init_post):
4971         Set gst as being initialized before scanning/updating the registry,
4972         since there might be my python plugin loader that calls gst_init() and
4973         we don't want to loop back in.
4974         Closes #350879
4975
4976 2006-08-11  Wim Taymans  <wim@fluendo.com>
4977
4978         * docs/design/part-qos.txt:
4979         Bring docs in line with the code. Mostly the sign of the jitter was
4980         wrong in the docs. Fixes #349943.
4981
4982         * gst/gstclock.c:
4983         Fix the docs for the jitter.
4984
4985         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4986         (gst_event_parse_tag), (gst_event_new_buffer_size),
4987         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4988         (gst_event_new_seek), (gst_event_parse_seek),
4989         (gst_event_new_navigation):
4990         Make sure the GstStructure has no parent when creating custom
4991         events.
4992         Add some more argument checking so that we avoid 0.0 rates.
4993         Flesh out the docs for the QoS event some more.
4994
4995 2006-08-11  Wim Taymans  <wim@fluendo.com>
4996
4997         * docs/gst/gstreamer-sections.txt:
4998         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4999         (ensure_current_registry_forking), (ensure_current_registry),
5000         (parse_one_option), (parse_goption_arg), (gst_deinit),
5001         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
5002         * gst/gst.h:
5003         Doc updates.
5004         Added API and command line option to disable registry forking in
5005         addition to the environment variable.
5006         Constify some static arrays.
5007         Added some more debug.
5008         Don't deinit twice.
5009         API: gst_registry_fork_is_enabled()
5010         API: gst_registry_fork_set_enabled()
5011         API: --gst-disable-registry-fork command line option
5012         Fixes #348918.
5013
5014 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
5015
5016         * gst/gst.c: (gst_init):
5017           Fix typo in error message.
5018
5019 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * libs/gst/controller/gstcontroller.h:
5022           fix ABI size-correction
5023
5024         * tests/check/libs/gdp.c: (gst_dp_suite):
5025           make tests that use deprecated API conditional
5026
5027 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5028
5029         * docs/libs/gstreamer-libs-sections.txt:
5030         * libs/gst/controller/gstcontroller.c:
5031         (_gst_controller_get_property), (_gst_controller_set_property),
5032         (_gst_controller_init), (_gst_controller_class_init):
5033         * libs/gst/controller/gstcontroller.h:
5034         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
5035         (gst_object_set_control_rate):
5036           API: add gst_object_{s,g}et_control_rate(), add private data section,
5037           fix docs
5038
5039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5040         * libs/gst/dataprotocol/dataprotocol.h:
5041           add deprecation guards to make gtk-doc happy and allow disabling cruft
5042
5043 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * tests/check/Makefile.am:
5046         * tests/check/gst/.cvsignore:
5047           Let's enable the new unit test as well.
5048
5049 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * configure.ac:
5052         * docs/gst/gstreamer-sections.txt:
5053         * gst/gstconfig.h.in:
5054         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
5055         (_gst_info_printf_extension_ptr),
5056         (_gst_info_printf_extension_segment):
5057           API: add GST_SEGMENT_FORMAT, which is a printf extension we
5058           register that lets us easily dump GstSegments into debug
5059           logs (#350419).
5060
5061         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
5062         (info_segment_format_printf_extension), (gst_info_suite):
5063           Add simple unit test that logs a bunch of different segments (not
5064           valgrinded at the moment because of leaks in
5065           gst_debug_add_log_function).
5066
5067 2006-08-09  Edward Hervey  <edward@fluendo.com>
5068
5069         * libs/gst/base/gstbasetransform.c:
5070         (gst_base_transform_buffer_alloc):
5071         Even if we can't figure out the proper format to request downstream,
5072         call buffer_alloc() downstream with the input parameters without setting
5073         the caps on the srcpad. This will force negotiation in the chain
5074         function.
5075         Closes #350449
5076
5077 2006-08-08  Edward Hervey  <edward@fluendo.com>
5078
5079         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5080         Unlinking from a pad without a target is now a perfectly valid case
5081         which should NOT raise an assertion.
5082         This case would happen if a linked ghostpad its target set to NULL after
5083         it was previously linked.
5084
5085 2006-08-08  Edward Hervey  <edward@fluendo.com>
5086
5087         * tests/check/libs/gdp.c:
5088         Also comment out the test (see below).
5089
5090 2006-08-08  Edward Hervey  <edward@fluendo.com>
5091
5092         * tests/check/libs/gdp.c: (gst_dp_suite):
5093         Use the architecture information from config.h and not gcc macros
5094         in order to properly disable a test that fails on PPC64.
5095
5096 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
5097
5098         * gst/gstelement.c: (gst_element_remove_pad):
5099           Don't crash printing the warning if the pad has no parent.
5100
5101 2006-08-02  Wim Taymans  <wim@fluendo.com>
5102
5103         * libs/gst/dataprotocol/dataprotocol.c:
5104         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5105         (gst_dp_crc), (gst_dp_header_payload_length),
5106         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
5107         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
5108         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
5109         (gst_dp_event_from_packet), (gst_dp_validate_header),
5110         (gst_dp_validate_payload):
5111         Make debug category static
5112         Constify the crc table.
5113         Do some more arg checking in public functions.
5114         Fix some docs and do some small cleanups.
5115
5116         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
5117         Add some more checks to see if GDP deals with bogus input.
5118
5119 2006-07-31  Wim Taymans  <wim@fluendo.com>
5120
5121         * gst/gstvalue.c: (gst_value_compare_list):
5122         Fix GstValueList comparison code. Fixes #347293.
5123
5124         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5125         Check to test GstValueList comparison.
5126
5127 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5128
5129         * gst/gstelementfactory.c: (gst_element_factory_create):
5130         Remove unnecessary ref/unref pair
5131
5132         * gst/parse/grammar.y:
5133         Make sure to free the parse buffer on all code paths.
5134         Move a g_free up to the error handler where it's easier to see.
5135
5136         * tests/check/gst/gstevent.c: (test_event):
5137         Extending timeout for downstream travelling events to 10 seconds to
5138         hopefully avoid intermittent failure on the buildbots.
5139
5140         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
5141         Don't manually set the state of the src element - it will happen as a
5142         natural consequence of the pipeline changing state, and that way it
5143         will do it in the right order too.
5144
5145 2006-07-31  Wim Taymans  <wim@fluendo.com>
5146
5147         * libs/gst/base/gstbasetransform.c:
5148         (gst_base_transform_buffer_alloc):
5149         Use OBJECT_LOCK and refcounting to get the pad caps in the
5150         buffer_alloc function because the caps could change while we are
5151         busy with them. Fixes #349105
5152
5153 2006-07-31  Wim Taymans  <wim@fluendo.com>
5154
5155         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
5156         Protect _PAD_CAPS with OBJECT_LOCK.
5157
5158 2006-07-31  Wim Taymans  <wim@fluendo.com>
5159
5160         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5161         (gst_pad_get_property), (gst_pad_activate_pull),
5162         (gst_pad_activate_push), (gst_pad_set_blocked_async),
5163         (gst_pad_set_activate_function),
5164         (gst_pad_set_activatepull_function),
5165         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
5166         (gst_pad_set_getrange_function),
5167         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
5168         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5169         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
5170         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
5171         (gst_pad_set_acceptcaps_function),
5172         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5173         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
5174         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
5175         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
5176         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
5177         (gst_pad_configure_sink), (gst_pad_configure_src),
5178         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
5179         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
5180         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
5181         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
5182         (gst_pad_send_event):
5183         Use _DEBUG_OBJECT when it makes sense.
5184         Protect GST_PAD_CAPS with the OBJECT_LOCK.
5185         Small cleanups and code reflows.
5186         Avoid caps refcounting in _accept_caps.
5187         Refactor alloc_buffer so that the code performed on the peer is in a
5188         separate function. Also if the pad does not implement a buffer alloc
5189         function, we should still check if the pad is flushing before falling
5190         back to the default allocator.
5191
5192 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5193
5194         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5195         Make all uses of identity and fakesink have silent=true to avoid
5196         serialising every passing data structure, which is breaking tests
5197         on FC4 for some unknown reason.
5198
5199 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5200
5201         * gst/parse/Makefile.am:
5202         * gst/parse/grammar.y:
5203         * gst/parse/parse.l:
5204           Reverted previous patch as it required to bump the flex dependency to
5205           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
5206
5207 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5208
5209         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
5210
5211         * gst/parse/Makefile.am:
5212         * gst/parse/grammar.y:
5213         * gst/parse/parse.l:
5214           push & pop the state of the lexer for reentrant use case
5215           Fixes #349180
5216
5217 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
5218
5219         * libs/gst/base/gstbasesrc.h:
5220           Note in the docs that the ::newsegment vfunc is not actually used by
5221           GstBaseSrc.
5222
5223 2006-07-28  Wim Taymans  <wim@fluendo.com>
5224
5225         * libs/gst/base/gstcollectpads.c:
5226         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
5227         (gst_collect_pads_clear), (gst_collect_pads_flush),
5228         (gst_collect_pads_event), (gst_collect_pads_chain):
5229         When flushing a pad, also clear the queued buffer so that we don't
5230         accidentally use it when we shouldn't.
5231         Fix leaks by inreffing incomming buffer.
5232         Flush out queued buffers in case of errors.
5233         Fixes #347452.
5234
5235 2006-07-28  Wim Taymans  <wim@fluendo.com>
5236
5237         * docs/random/phonon-gst:
5238         Random notes about a Phonon backend.
5239
5240 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5241
5242         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5243         Extra debug output
5244         * tests/check/libs/gdp.c: (gst_dp_suite):
5245         Take a whack at fixing the ppc compile using a different define to
5246         disable the broken test.
5247
5248         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5249         Remove excess g_print()
5250
5251 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5252
5253         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5254         Oops, meant to uncomment this line too to dampen the noise a bit.
5255
5256 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5257
5258         * gst/parse/grammar.y:
5259         * gst/parse/parse.l:
5260         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5261         (GST_START_TEST), (parse_suite):
5262         Fix some of the leaks exposed by extending the parse-launch testsuite,
5263         and move the 3 I can't figure out into a separate test that won't run
5264         the pipelines unless the appropriate line is uncommented.
5265
5266 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5267
5268         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5269           Requesting 0 bytes before the end of the file should result in
5270           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
5271           unit test.
5272
5273 2006-07-27  Wim Taymans  <wim@fluendo.com>
5274
5275         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
5276         Fix useless assert, a uint is always positive.
5277
5278         * gst/gststructure.c: (gst_structure_nth_field_name),
5279         (gst_structure_foreach), (gst_structure_map_in_place):
5280         Check input arguments for public functions to avoid obvious crashes.
5281
5282         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
5283         * plugins/elements/gstfakesink.h:
5284         Do less useless typechecking.
5285
5286 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5287
5288         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5289           Do not use mmap() by default since there are a number of error
5290           conditions that we would like to handle in a non-fatal way that
5291           will result in a SIGBUS if we use mmap(). Examples: external
5292           devices (USB harddrive, portable music player) being unplugged
5293           while in use; file on mounted CD/DVD that can't be read because
5294           the medium is partly damaged. Fixes #348455 and #348475.
5295
5296 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5297
5298         * gst/gstquery.h:
5299         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
5300         rates are a gdouble
5301
5302 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
5303
5304         * gst/gstregistry.c:
5305           Move big documentation comment into class section header, so that it
5306           appears in the API docs.
5307
5308 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5309
5310         * docs/gst/gstreamer-sections.txt:
5311         Oops. Commit the docs additions too for new API.
5312         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
5313
5314 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5315
5316         * gst/gststructure.c: (gst_structure_id_set),
5317         (gst_structure_id_set_valist):
5318         * gst/gststructure.h:
5319         Add API for setting values into structures without performing
5320         a quark lookup, if the appropriate quark is already known.
5321
5322         API: gst_structure_id_set
5323         API: gst_structure_id_set_valist
5324
5325         * gst/parse/grammar.y:
5326         * gst/parse/parse.l:
5327         Remove some dead code shown by the coverage information.
5328         Don't throw a critical g_warning when encountering a syntax error,
5329         just warn and let the normal error path handle it.
5330
5331         * plugins/elements/gstelements.c:
5332         Bump the rank of filesink up to PRIMARY so that it is preferred over
5333         gnomevfssink for file:// sink uri's
5334
5335         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5336         (GST_START_TEST), (run_delayed_test),
5337         (gst_parse_test_element_base_init),
5338         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
5339         (gst_parse_test_element_change_state),
5340         (gst_register_parse_element), (parse_suite):
5341         Beef up the tests for parse syntax to check that more error cases
5342         fail as they are supposed to. Increases the test coverage a bit.
5343
5344 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5345
5346         * docs/manual/basics-elements.xml:
5347           Fix gst_element_link() example.
5348
5349         * gst/gstutils.c:
5350           Mention in API docs that one should usually gst_bin_add()
5351           elements to a bin or pipeline before doing the linking.
5352           
5353 2006-07-26  Wim Taymans  <wim@fluendo.com>
5354
5355         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
5356         (gst_subbuffer_get_type), (gst_buffer_create_sub):
5357         Avoid function call for known types by keeping the buffer and
5358         subbuffer GType global.
5359
5360         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5361         Random silly optimisations in read() path.
5362
5363 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5364
5365         * tools/gst-launch.c: (main):
5366           If the top-level of the parse is a normal bin, it doesn't do the
5367           right logic to run as a top-level element, so place it inside a
5368           pipeline.
5369
5370 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5371
5372         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
5373           Remove superfluous g_object_notify() calls, GObject does
5374           that for us automatically.
5375
5376 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
5377
5378         * gst/gstinfo.h:
5379           on Win32, use dllspec to export the debug category symbols
5380
5381 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * gst/gsttaglist.c: (_gst_tag_initialize):
5384           Allow more than one GST_TAG_IMAGE per taglist.
5385
5386 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5387
5388         * gst/gstminiobject.c:
5389           update docs
5390         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
5391         (gst_fd_src_create):
5392           log recurring events at LOG level
5393           add more debug for when the fd gets set
5394
5395 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5396
5397         * gst/gstparse.c: (gst_parse_launch):
5398           Also remove reentrance checks if flex is MT safe (#348179)
5399          Fix my empty ChangeLog entry below
5400
5401 2006-07-21  Andy Wingo  <wingo@pobox.com>
5402
5403         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
5404
5405         * libs/gst/check/Makefile.am
5406         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
5407         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
5408         * libs/gst/check/gstbufferstraw.h:
5409         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
5410         functions, thus proving I am still a GStreamer haxor. OK I wrote
5411         them a long time ago, but anyways.
5412
5413 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5414
5415         * configure.ac:
5416         * gst/gstparse.c: (gst_parse_launch):
5417           Check for flex version and omit mutex if we have a MT save flex
5418           (fixes #348179)
5419
5420 2006-07-21  Wim Taymans  <wim@fluendo.com>
5421
5422         * gst/gstparse.c: (gst_parse_launch):
5423         Protect recursive calls to _parse with a recursive mutex
5424         and busy flag.
5425
5426 2006-07-21  Wim Taymans  <wim@fluendo.com>
5427
5428         * tests/check/gst/gstpad.c: (GST_START_TEST):
5429         Fix leak in test.
5430
5431 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * gst/gstparse.c: (gst_parse_launch):
5434           Do not hang on recursive usage of gst_parse_launch()
5435
5436 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5437
5438         * gst/gsttaglist.c:
5439           Add some more docs, comments and FIXME 0.11s here and there
5440           and also fix some typos.
5441
5442 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * gst/gstsegment.h:
5445           Convert tabs to spaces for better readability. 
5446
5447 2006-07-20  Edward Hervey  <edward@fluendo.com>
5448
5449         * tests/check/libs/gdp.c: (gst_dp_suite):
5450         the test_buffer test fails at line 140 on ppc64 at the following
5451         check:
5452         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
5453                 GST_BUFFER_FLAG_IN_CAPS),
5454                 "GST_BUFFER_IN_CAPS flag should have been copied !");
5455         See bug #348114 for more details.
5456
5457 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
5458
5459         * docs/pwg/advanced-scheduling.xml:
5460         * gst/gstpad.c:
5461           Fix typos (#348000).
5462
5463 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
5464
5465         * docs/pwg/intro-basics.xml:
5466           Fix wrong links (#347927).
5467
5468 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
5469
5470         * gst/gstregistry.h:
5471         * gst/gstregistryxml.c: (load_feature),
5472         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
5473         * win32/common/config.h:
5474           make --disable-index work (#342564)
5475
5476 2006-07-18  Wim Taymans  <wim@fluendo.com>
5477
5478         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5479
5480         * gst/Makefile.am:
5481         * gst/gsttrace.h:
5482         The attached patch adds two missing defines to gsttrace.h when tracing
5483         is disabled.  It also corrects one existing define.
5484         Fixes #347756.
5485
5486 2006-07-17  Wim Taymans  <wim@fluendo.com>
5487
5488         * docs/gst/gstreamer-sections.txt:
5489         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
5490         * gst/gst.h:
5491         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
5492         Add two functions to check and change the SIGSEGV behaviour
5493         when loading plugins.
5494         Don't mess with the SIGSEGV handler when we were told not to.
5495         Fixes #347794.
5496         API: gst_segtrap_is_enabled
5497         API: gst_segtrap_set_enabled
5498
5499 2006-07-14  Wim Taymans  <wim@fluendo.com>
5500
5501         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5502         * tests/check/elements/filesrc.c: (GST_START_TEST):
5503         Revert fix for regression in #347408 after release.
5504
5505 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
5506
5507         Patch by: Antoine Tremblay <hexa00 at gmail com>
5508
5509         * gst/gstutils.c: (gst_element_unlink):
5510           Free iterator when done (#347311).
5511
5512         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5513           And add a test case for this.
5514
5515 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
5516
5517         * configure.ac:
5518         Bump nano back to CVS
5519
5520 === release 0.10.9 ===
5521
5522 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
5523
5524         * configure.ac:
5525           releasing 0.10.9, "On the road again"
5526
5527 2006-07-13  Wim Taymans  <wim@fluendo.com>
5528
5529         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5530         * tests/check/elements/filesrc.c: (GST_START_TEST):
5531         Revert pull-0 fix for release. Disable check. Fixes #347408.
5532
5533 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5534
5535         * libs/gst/dataprotocol/dataprotocol.c:
5536         (gst_dp_event_from_packet_1_0):
5537           Fixes #347337: failure to deserialize event packets with
5538           empty payload (only event type)
5539
5540 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5541
5542         * gst/Makefile.am:
5543           do not install a .c file in the header directory
5544
5545 2006-07-13  Edward Hervey  <edward@fluendo.com>
5546
5547         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5548         GhostPad no longer implicitely use the padtemplates of the targets.
5549         Fixes #347384
5550
5551 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
5552
5553         * gst/gstvalue.c: (gst_value_compare_list),
5554         (gst_value_compare_array), (_gst_value_initialize):
5555         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5556         Make GstValueArray comparison be order dependent as designed.
5557         Add checks for value lists and value array comparisons.
5558         Fixes #347221
5559
5560 2006-07-11  Edward Hervey  <edward@fluendo.com>
5561
5562         * gst/gstbin.c: (activate_pads),
5563         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
5564         (gst_bin_change_state_func):
5565         (de)activate src pads before calling state_change on the childs.
5566         This is to avoid the case where a src ghostpad is blocked (holding the
5567         stream lock), which would block the deactivation of the ghostpad's
5568         target pad.
5569         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
5570         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
5571         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
5572         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5573         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5574         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5575         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5576         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
5577         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
5578         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5579         (gst_ghost_pad_class_init),
5580         (gst_ghost_pad_internal_do_activate_push),
5581         (gst_ghost_pad_internal_do_activate_pull),
5582         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5583         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5584         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
5585         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
5586         GhostPads now create their internal GstProxyPad at creation (and not
5587         when they're linked, as it was being done previously).
5588         The internal and target pads are linked straight away.
5589         The data will also travel through the other pad in order to make
5590         pad blocking and probes non-hackish (the probe/block now really happens
5591         on the GhostPad and not on the target).
5592         * gst/gstpad.c: (gst_pad_set_blocked_async),
5593         (gst_pad_link_prepare), (gst_pad_push_event):
5594         Remove previous ghostpad cruft.
5595         * gst/gstutils.c: (gst_pad_add_data_probe),
5596         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5597         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5598         (gst_pad_remove_buffer_probe):
5599         Remove previous ghost pad cruft.
5600         Added more detailed debug statements.
5601         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5602         Fix the testsuite for refcounting changes.
5603         The comments about who has references were correct, but the refcount
5604         being checked wasn't the same (!?!).
5605
5606         Fixes #341029
5607
5608 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * docs/gst/gstreamer-sections.txt:
5611         * gst/gstconfig.h.in:
5612         More docs for configuration options, add docs to gtk-doc.
5613
5614 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5615
5616         * gst/Makefile.am:
5617         * gst/gstconfig.h.in:
5618         * win32/common/config.h:
5619         Fix build when disabling tracing (fixes #344016). Also start to document
5620         the defines that disable the sub-systems.
5621
5622 2006-07-10  Edward Hervey  <edward@fluendo.com>
5623
5624         * gst/gst.c: (ensure_current_registry_forking):
5625         let's make valgrind happy...
5626
5627 2006-07-09  Wim Taymans  <wim@fluendo.com>
5628
5629         * gst/gstelement.c: (activate_pads),
5630         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5631         Better pad activation code: Reset the collect value too on resync.
5632         Add some comments.
5633
5634 2006-07-09  Wim Taymans  <wim@fluendo.com>
5635
5636         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
5637         (gst_pad_activate_push):
5638         Use some more macros where it makes sense.
5639         Allow pad mode switching instead of asserting. When a pad
5640         is activated in one mode and we activate it in another, 
5641         deactivate it first before activating it in a different mode.
5642         Fixes #329198.
5643
5644 2006-07-08  Andy Wingo  <wingo@pobox.com>
5645
5646         * tools/gst-launch.c (main): Handle err == NULL.
5647
5648         * gst/gst.c (init_post, ensure_current_registry)
5649         (ensure_current_registry_forking)
5650         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
5651         factoring out the registry scanning into separate functions. Don't
5652         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
5653         Better environment var name/interface suggestions accepted.
5654
5655 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5656
5657         * gst/gstobject.c: (gst_object_set_name_default),
5658         (gst_object_set_name):
5659           Random micro-optimisation: don't use a hash table
5660           with strings as keys and the usual strdup/strcmp
5661           involved, but rather just use the GQuark of the
5662           type name as key, since it needs to be looked up
5663           anyway to get the type name string.
5664
5665         * tests/check/gst/gstobject.c: (GST_START_TEST):
5666           Fix various leaks.
5667
5668 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5669
5670         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
5671         (gst_bin_iterate_all_by_interface):
5672           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
5673           GTypes are gulongs and thus the top 4 bytes might be cut
5674           off on some platforms when doing GPOINTER_TO_INT, leading
5675           to invalid GTypes and bad things happening (see RH bug #179654).
5676           Also add a check to make sure the type passed in is really
5677           an interface type.
5678
5679 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5680
5681         * .cvsignore:
5682           Ignore more.
5683
5684 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5685
5686         * Makefile.am:
5687         * configure.ac:
5688         * gst-element-check.m4:
5689         * gst-element-check.m4.in:
5690           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5691           instead of the unversioned gst-inspect (#324176, #168659).
5692
5693 2006-07-06  Wim Taymans  <wim@fluendo.com>
5694
5695         * gst/gstmessage.h:
5696         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5697         warnings.
5698
5699 2006-07-06  Wim Taymans  <wim@fluendo.com>
5700
5701         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5702         (gst_base_src_wait), (gst_base_src_update_length),
5703         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5704         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5705         (gst_base_src_loop), (gst_base_src_start),
5706         (gst_base_src_activate_pull):
5707         Update docs.
5708         blocksize == 0 now means the default blocksize when working in push
5709         based mode.
5710         Remove some pointless asserts in _wait function.
5711         Fix offset/length calculations and EOS handling. We can now pull 0
5712         bytes as well, which is allowed.
5713         use _check_get_range() to decide if we can operate in _pull based
5714         mode.
5715         Fix refcounting leak when check_get_range function was not 
5716         implemented.
5717         API GstBaseSrc::blocksize range can be 0 too now (default)
5718
5719         * tests/check/elements/filesrc.c: (GST_START_TEST),
5720         (filesrc_suite):
5721         Added check to test _get_range() behaviour.
5722
5723 2006-07-06  Wim Taymans  <wim@fluendo.com>
5724
5725         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5726         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5727         (gst_pad_pull_range):
5728         * gst/gstpad.h:
5729         Lots of comments and docs added to the pad functions.
5730         Flesh out the expected behaviour of the get_range() functions.
5731
5732 2006-07-06  Wim Taymans  <wim@fluendo.com>
5733
5734         * gst/gstbus.h:
5735         * gst/gstclock.h:
5736         * gst/gstevent.h:
5737         * gst/gstiterator.h:
5738         * gst/gstpad.h:
5739         * gst/gstplugin.h:
5740         * gst/gsttask.h:
5741         Remove comma at end of enumerator list. 
5742
5743 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5744
5745         * win32/common/libgstbase.def:
5746         * win32/common/libgstdataprotocol.def:
5747         * win32/common/libsgtreamer.def:
5748         Add new exported functions.
5749
5750 2006-07-05  Wim Taymans  <wim@fluendo.com>
5751
5752         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5753         Add some more docs here and there.
5754
5755 2006-07-05  Wim Taymans  <wim@fluendo.com>
5756
5757         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5758         (gst_base_sink_loop), (gst_base_sink_get_position):
5759         When operating in pull mode update the offset so that we
5760         read sequentially.
5761
5762 2006-07-05  Wim Taymans  <wim@fluendo.com>
5763
5764         * gst/gstregistryxml.c: (read_string):
5765         Avoid strdup. (will happen in libxml, but hey!)
5766
5767         * gst/gsturi.c:
5768         Add some more docs.
5769
5770 2006-07-05  Wim Taymans  <wim@fluendo.com>
5771
5772         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5773         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5774         (gst_buffer_suite):
5775         No point in checking if the size of the subbuffer > 0, the
5776         code handles it correclty as demonstrated by unit test.
5777         Also add a unit test for the zero sized _new_and_alloc and
5778         _copy. Fixes #346663.
5779
5780 2006-07-05  Wim Taymans  <wim@fluendo.com>
5781
5782         * libs/gst/base/gstbasetransform.c:
5783         (gst_base_transform_prepare_output_buffer),
5784         (gst_base_transform_buffer_alloc),
5785         (gst_base_transform_handle_buffer):
5786         Make sure the buffer we pass to transform_ip has a refcount of
5787         1 and thus is writable. Fixes #343196
5788
5789 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5790
5791         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5792         (gst_file_src_init), (gst_file_src_set_property),
5793         (gst_file_src_get_property), (gst_file_src_map_region):
5794         * plugins/elements/gstfilesrc.h:
5795         Add "sequential" property, off by default, to use madvise and hint
5796         to the kernel that sequential access is desired.
5797         Touch all retrieved pages by default to ensure they are pulled
5798         into memory. (Closes #345720)
5799
5800 2006-07-03  Wim Taymans  <wim@fluendo.com>
5801
5802         * docs/design/part-block.txt:
5803         * docs/design/part-dynamic.txt:
5804         Small docs updates.
5805
5806 2006-07-03  Wim Taymans  <wim@fluendo.com>
5807
5808         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5809         (gst_caps_unref), (gst_static_caps_get),
5810         (gst_caps_append_structure):
5811         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5812         Use GSlice when the glib we build against is >= 2.10
5813
5814 2006-07-03  Wim Taymans  <wim@fluendo.com>
5815
5816         * gst/gstelement.c: (gst_element_pads_activate):
5817         Small cleanup in pad activation code.
5818
5819 2006-07-03  Wim Taymans  <wim@fluendo.com>
5820
5821         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5822
5823         * gst/gst-i18n-app.h:
5824         * gst/gst-i18n-lib.h:
5825         * tools/gst-inspect.c: (print_signal_info):
5826         The attached patch will make the inclusion of gettext.h unconditional in
5827         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5828         libintl.h in tools/gst-inspect.c.
5829         This allows use of --disable-nls again and fixes #344642.
5830
5831 2006-07-03  Edward Hervey  <edward@fluendo.com>
5832
5833         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5834         Implement pad blocking on events according to part-block.txt.
5835         More comments on behaviour.
5836         * tests/check/gst/gstevent.c: (test_event):
5837         Send event to peer pad of blocked pad (else it will block).
5838
5839 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5842         (gst_check_run_suite):
5843           if we get the wrong message, give us the types as string
5844         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5845           Fix a translatable
5846         * tests/check/elements/filesrc.c: (GST_START_TEST):
5847           add a test for trying to open a non-existing file
5848
5849 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5852           add a test for adding self
5853
5854 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5855
5856         * libs/gst/check/gstcheck.h:
5857           add some assert_ as alias for fail_unless_*
5858         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5859           increase test coverage
5860
5861 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * Makefile.am:
5864           include lcov.mak for lcov coverage generation
5865         * tools/Makefile.am:
5866           add to CLEANFILES
5867
5868 2006-07-02  Edward Hervey  <edward@fluendo.com>
5869
5870         * tests/check/elements/.cvsignore:
5871         moaping
5872
5873 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * configure.ac:
5876           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5877         * tests/check/Makefile.am:
5878           clean up gcov files
5879
5880 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5883           remove gst_caps_simplify; it was not declared and not used
5884           and deprecated in 0.8
5885
5886 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * docs/faq/gst-uninstalled:
5889           don't put empty paths on PYTHONPATH
5890         * docs/gst/gstreamer-sections.txt:
5891           remove some symbols that are not there
5892
5893 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5894
5895         * gst/gstcaps.c: (gst_caps_compare_structures):
5896           whitespace fixes
5897         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5898         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5899           add more tests
5900
5901 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * libs/gst/dataprotocol/Makefile.am:
5904           build dataprotocol test by linking to the lib, instead of
5905           compiling the source, so we get coverage
5906         * tests/check/Makefile.am:
5907         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5908         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5909           add a test for filesrc
5910
5911 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5912
5913         * tests/check/gst/gststructure.c: (GST_START_TEST),
5914         (gst_structure_suite):
5915           Push coverage from 59.04% to 70.00%
5916
5917 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5918
5919         * tests/check/Makefile.am:
5920           gst-inspect every element; this makes sure that we also get
5921           coverage on element's get/set functions
5922
5923 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * configure.ac:
5926           set CFLAGS and friends to -O0 if gcov is being used
5927           add GCOV LIBS
5928         * gst/Makefile.am:
5929         * libs/gst/base/Makefile.am:
5930         * libs/gst/check/Makefile.am:
5931         * libs/gst/controller/Makefile.am:
5932         * libs/gst/dataprotocol/Makefile.am:
5933         * libs/gst/net/Makefile.am:
5934         * plugins/elements/Makefile.am:
5935         * plugins/indexers/Makefile.am:
5936           add makefile rules to generate gcov data and clean up
5937         * tests/check/Makefile.am:
5938           add a coverage target that generates an html overview
5939           of coverage data
5940
5941 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5942
5943         * tests/check/elements/fakesink.c:
5944         * tests/check/elements/fakesrc.c:
5945         * tests/check/elements/fdsrc.c:
5946         * tests/check/elements/identity.c:
5947         * tests/check/generic/sinks.c: (gst_sinks_suite):
5948         * tests/check/generic/states.c:
5949         * tests/check/gst/gst.c:
5950         * tests/check/gst/gstabi.c:
5951         * tests/check/gst/gstbin.c:
5952         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5953         * tests/check/gst/gstbus.c: (gst_bus_suite):
5954         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5955         * tests/check/gst/gstelement.c:
5956         * tests/check/gst/gstevent.c: (gst_event_suite):
5957         * tests/check/gst/gstghostpad.c:
5958         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5959         * tests/check/gst/gstmessage.c: (gst_message_suite):
5960         * tests/check/gst/gstminiobject.c:
5961         * tests/check/gst/gstobject.c:
5962         * tests/check/gst/gstpad.c:
5963         * tests/check/gst/gstpipeline.c:
5964         * tests/check/gst/gstplugin.c:
5965         * tests/check/gst/gstquery.c: (gst_query_suite):
5966         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5967         * tests/check/gst/gststructure.c:
5968         * tests/check/gst/gstsystemclock.c:
5969         * tests/check/gst/gsttag.c:
5970         * tests/check/gst/gsttask.c: (gst_task_suite):
5971         * tests/check/gst/gstutils.c:
5972         * tests/check/gst/gstvalue.c:
5973         * tests/check/libs/adapter.c:
5974         * tests/check/libs/basesrc.c:
5975         * tests/check/libs/collectpads.c:
5976         * tests/check/libs/controller.c:
5977         * tests/check/libs/gdp.c: (gst_dp_suite):
5978         * tests/check/libs/gstnetclientclock.c:
5979         * tests/check/libs/gstnettimeprovider.c:
5980         * tests/check/libs/libsabi.c: (libsabi_suite):
5981         * tests/check/libs/typefindhelper.c:
5982         * tests/check/pipelines/cleanup.c:
5983         * tests/check/pipelines/parse-launch.c:
5984         * tests/check/pipelines/simple-launch-lines.c:
5985         * tests/check/pipelines/stress.c: (stress_suite):
5986           use the new macro
5987
5988 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5989
5990         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5991         * libs/gst/check/gstcheck.h:
5992           create a macro and function so that the simple unit test
5993           case can be just one macro to create main()
5994
5995 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5996
5997         * gst/gstbin.c: (gst_bin_restore_thyself):
5998         * gst/gstxml.c: (gst_xml_make_element):
5999           Fix deserialisation from XML. Set parent manually
6000           instead of using gst_bin_add(), since gst_bin_add()
6001           will unlink all pads of the element being added.
6002           Fixes #341667.
6003
6004 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
6005
6006         Patch by: Peter Kjellerstedt <pkj at axis com>
6007
6008         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
6009           Fix missing g_strdup() and double free when using the
6010           --gst-plugin-load command line option (#346097).
6011
6012 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         * gst/gstinfo.c:
6015           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
6016
6017         * libs/gst/net/gstnetclientclock.c:
6018         * libs/gst/net/gstnettimeprovider.c:
6019           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
6020
6021 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6022
6023         * docs/manual/advanced-dataaccess.xml:
6024           Fix buffer probe example compilation in
6025           ADM (#345708).
6026         
6027 2006-06-22  Edward Hervey  <edward@fluendo.com>
6028
6029         * gst/gstelement.c: (gst_element_pads_activate):
6030         We need to deactivate src pads first and then sink pads.
6031         The reason is the src pads might be blocking while holding the streaming
6032         lock, so we need to deactivate them first so that deactivating the sink
6033         pads doesn't block (since it will require the streaming lock).
6034
6035 2006-06-22  Wim Taymans  <wim@fluendo.com>
6036
6037         * libs/gst/base/gstbasetransform.c:
6038         (gst_base_transform_buffer_alloc):
6039         Forgot to remove two unneeded unrefs.
6040         Simplify a check _is_equal allready checks the obvious case.
6041
6042 2006-06-22  Wim Taymans  <wim@fluendo.com>
6043
6044         * docs/design/part-block.txt:
6045         Some docs about what pad_block should do.
6046
6047 2006-06-22  Wim Taymans  <wim@fluendo.com>
6048
6049         * gst/gstcaps.c: (gst_caps_replace):
6050         Fix crasher when passed NULL. Doc clarification.
6051         Optimize for the trivial case.
6052
6053         * gst/gstpipeline.c: (gst_pipeline_change_state):
6054         Small cleanups.
6055
6056         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6057         Small documentation cleanup.
6058
6059         * libs/gst/base/gstbasetransform.c:
6060         (gst_base_transform_buffer_alloc):
6061         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
6062         is what we need and it avoids a whole lot of redundant 
6063         refcount operations.
6064
6065 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         Patch by: Philip Jägenstedt  <philip at lysator liu se>
6068
6069         * docs/manual/advanced-dataaccess.xml:
6070           Fix 'Embedding static elements' section to use
6071           GST_PLUGIN_DEFINE_STATIC (#345607).
6072
6073 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
6076           Attempt to 'fix' spuriously failing test case: it seems like the
6077           timeout of half a second is simply too small when the system is under
6078           load otherwise, and the timeout doesn't really seem to serve any
6079           particular purpose here. Give the pipeline a few seconds to preroll
6080           first, and then give it another half a second to go from PAUSED to
6081           PLAYING and marshal the message into the main thread.
6082
6083 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6084
6085         * tools/gst-feedback-m.m:
6086           Don't only use unversioned tools, try versioned tools as well
6087           (#345086).
6088
6089 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6090
6091         * gst/gstbus.c: (gst_bus_class_init):
6092           Fix some typos, make docs more explicit.
6093
6094 2006-06-20  Wim Taymans  <wim@fluendo.com>
6095
6096         * tests/check/gst/gstghostpad.c: (block_callback),
6097         (GST_START_TEST), (gst_ghost_pad_suite):
6098         Added some more ghostpad tests, mainly blocking
6099         and probes.
6100
6101 2006-06-16  Wim Taymans  <wim@fluendo.com>
6102
6103         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6104         (gst_file_sink_close_file), (gst_file_sink_do_seek),
6105         (gst_file_sink_event), (gst_file_sink_render):
6106         * plugins/elements/gstfilesink.h:
6107         Check if we can seek in the file instead of assuming
6108         we always can. Post an error when we are asked to seek in a
6109         non-seekable file (like a fifo). Fixes #343312.
6110         Some cleanups.
6111
6112 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6113
6114         * tools/gst-launch.1.in:
6115           Un-garble (fourcc) bit in filtered caps section.
6116
6117 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6118
6119         * docs/manual/advanced-autoplugging.xml:
6120         * docs/manual/basics-helloworld.xml:
6121         * docs/manual/highlevel-components.xml:
6122           Don't leak bus reference in sample code.
6123
6124 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * autogen.sh:
6127           Add default for new --enable-plugin-docs switch.
6128
6129         * configure.ac:
6130           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
6131           Fixes #344039.
6132
6133         * docs/Makefile.am:
6134           Use new ENABLE_PLUGIN_DOCS conditional.
6135
6136 2006-06-14  Wim Taymans  <wim@fluendo.com>
6137
6138         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
6139         Make it clear with a FIXME and a real define what the #if 0
6140         previously disabled.
6141
6142 2006-06-14  Wim Taymans  <wim@fluendo.com>
6143
6144         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6145         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6146         * libs/gst/base/gstbasetransform.c:
6147         (gst_base_transform_sink_eventfunc):
6148         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6149         Don't randomly and silently reset a segment when the format 
6150         changes as this is a bug somewhere upstream. Fixes #330379.
6151
6152 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6153
6154         Patch by: Wouter Paesen  <wouter at kangaroot net>
6155
6156         * libs/gst/controller/gstcontroller.c:
6157         (gst_controlled_property_new):
6158           Fix controlling of float properties (#344849).
6159
6160         * tests/check/libs/controller.c:
6161         (gst_test_mono_source_get_property),
6162         (gst_test_mono_source_set_property),
6163         (gst_test_mono_source_class_init), (GST_START_TEST):
6164           While we're at it, add some float stuff to unit test.
6165
6166 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6167
6168         * docs/README:
6169         * docs/images/gdp-header.svg:
6170           add a gdp image
6171         * docs/libs/Makefile.am:
6172         * docs/libs/gdp-header.png:
6173         * libs/gst/dataprotocol/dataprotocol.c:
6174           add it to the API docs
6175         * docs/manual/intro-motivation.xml:
6176           fix typo
6177
6178 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * gst/gst.c: (scan_and_update_registry), (init_post):
6181           If the fork()'ed child process can't write the updated registry cache
6182           file to disk for some reason, make it exit with a failure exit code,
6183           so that the parent can then re-scan the plugins itself and update the
6184           registry structures in memory and work with that (rather than failing
6185           when creating elements because seemingly no plugins are available).
6186           Refactor registry scanning code into separate function for this and
6187           also separate fork() and non-fork() code paths. Fixes #344748.
6188
6189 2006-06-13  Wim Taymans  <wim@fluendo.com>
6190
6191         * docs/manual/advanced-dataaccess.xml:
6192         Fix wrong PluginDesc. Fixes #344755.
6193
6194 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6195
6196         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6197           Fix silly bug that prevented us from creating
6198           ~/.gstreamer-0.10 and writing the registry in one
6199           go (the first call to g_mkstemp() would overwrite the
6200           placeholder in the template string, so the second call
6201           to g_mkstemp() after creating the missing directory
6202           would then error out with 'invalid argument').
6203
6204 2006-06-13  Edward Hervey  <edward@fluendo.com>
6205
6206         * gst/gst.c: (init_post):
6207         Free string.
6208
6209 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * gst/glib-compat-private.h:
6212         * gst/glib-compat.c:
6213         * gst/glib-compat.h:
6214         * gst/gstvalue.c: (gst_value_serialize_flags):
6215           remove GLib 2.6 compatibility code
6216
6217 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
6218
6219         * gst/parse/Makefile.am:
6220           Fix build with 'make -j N' even more (#340016).
6221
6222 2006-06-12  Wim Taymans  <wim@fluendo.com>
6223
6224         * docs/gst/gstreamer-sections.txt:
6225         Fix docs.
6226
6227 2006-06-12  Wim Taymans  <wim@fluendo.com>
6228
6229         * gst/gstsegment.c: (gst_segment_set_duration),
6230         (gst_segment_set_last_stop), (gst_segment_set_seek),
6231         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6232         (gst_segment_to_running_time), (gst_segment_clip):
6233         Use G_UNLIKELY to help the compiler a bit.
6234
6235 2006-06-12  Wim Taymans  <wim@fluendo.com>
6236
6237         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6238
6239         * gst/gstevent.c: (gst_event_get_type):
6240         * gst/gstmessage.c:
6241         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6242         (gst_pad_push):
6243         constify quark registration strings. Fixes #344115
6244         Avoid unneeded type checking is _pad_push() by internally
6245         calling gst_pad_chain_unchecked().
6246
6247 2006-06-12  Wim Taymans  <wim@fluendo.com>
6248
6249         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
6250         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
6251         (gst_subbuffer_finalize), (gst_buffer_create_sub),
6252         (gst_buffer_is_span_fast), (gst_buffer_span):
6253         Init _type for consistency.
6254         Use _FLAGS macro to avoid type check.
6255         Avoid unneeded type checks in subbufer code.
6256
6257 2006-06-12  Wim Taymans  <wim@fluendo.com>
6258
6259         * gst/gst.c: (gst_debug_help):
6260         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
6261         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6262         (gst_plugin_feature_list_free):
6263         * gst/gstregistry.c: (gst_registry_add_plugin),
6264         (gst_registry_add_feature), (gst_registry_plugin_filter),
6265         (gst_registry_feature_filter), (gst_registry_find_plugin),
6266         (gst_registry_find_feature), (gst_registry_get_plugin_list),
6267         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
6268         * gst/gstregistryxml.c: (load_feature),
6269         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
6270         * gst/gstminiobject.c: (gst_mini_object_unref),
6271         (gst_mini_object_replace), (gst_value_mini_object_free),
6272         (gst_value_mini_object_copy):
6273         Use _CAST macros to avoid unneeded type checking.
6274         Added some more G_UNLIKELY.
6275
6276 2006-06-12  Wim Taymans  <wim@fluendo.com>
6277
6278         * gst/gstbuffer.h:
6279         Avoid unneeded type checking.
6280         API: GST_BUFFER_IS_DISCONT
6281
6282         * gst/gstminiobject.h:
6283         Avoid type check in flag accessor.
6284
6285         * gst/gstelementfactory.h:
6286         * gst/gstplugin.h:
6287         * gst/gstpluginfeature.h:
6288         Add _CAST macros.
6289         API: GST_ELEMENT_FACTORY_CAST
6290         API: GST_PLUGIN_CAST
6291         API: GST_PLUGIN_FEATURE_CAST
6292
6293 2006-06-12  Wim Taymans  <wim@fluendo.com>
6294
6295         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
6296         (gst_object_unref):
6297         Add G_UNLIKELY in type registration.
6298         Avoid type check in _ref/_unref since that is also
6299         done in glib.
6300
6301 2006-06-12  Wim Taymans  <wim@fluendo.com>
6302
6303         * gst/gsterror.c: (gst_g_error_get_type):
6304         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6305         (gst_static_pad_template_get_type):
6306         * gst/gsttaglist.c: (gst_tag_list_get_type):
6307         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
6308         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
6309         * gst/gsturi.c: (gst_uri_handler_get_type):
6310         * gst/gstvalue.c: (gst_date_get_type):
6311         * gst/gstxml.c: (gst_xml_get_type):
6312         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
6313         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6314         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
6315         Add G_UNLIKELY in type registration.
6316
6317 2006-06-12  Wim Taymans  <wim@fluendo.com>
6318
6319         * tools/gst-inspect.c: (print_signal_info):
6320         Properly print enum values.
6321
6322 2006-06-12  Wim Taymans  <wim@fluendo.com>
6323
6324         * gst/gstinfo.c: (gst_debug_set_active),
6325         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
6326         * gst/gstinfo.h:
6327         Add some G_[UN]LIKELY.
6328         Maintain __gst_debug_min to avoid formatting the arguments of
6329         debug messages that will be dropped anyway to avoid a lot of 
6330         overhead from the debugging system.
6331
6332 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6333
6334         * po/POTFILES.in:
6335         * po/POTFILES.skip:
6336           add missing files containing translatable strings, tell intltool about
6337           one exception
6338
6339 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6340
6341         * tests/check/libs/.cvsignore:
6342         add test-binary to ignore list
6343
6344 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6345
6346         * docs/libs/gstreamer-libs-docs.sgml:
6347         reorder (put dp into a chapter) and indent
6348
6349 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         * configure.ac:
6352           back to HEAD
6353
6354 === release 0.10.8 ===
6355
6356 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
6357
6358         * configure.ac:
6359           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
6360
6361 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * gst/gst.c: (init_post):
6364           move pid declaration to declaration block
6365
6366 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6367
6368         * gst/gst.c: (init_post):
6369           use _exit() instead of exit() in our forked child; this ensures
6370           that none of the registered exit handlers from whatever is using
6371           GStreamer get executed.  This fixes gnome-mixer-applet failing
6372           to load, because ORBit would shut down.
6373           Spotted by: Edward Hervey  <edward@fluendo.com>
6374           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
6375           Fixes #344474
6376
6377 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6378
6379         * configure.ac:
6380           back to TRUNK
6381
6382 === release 0.10.7 ===
6383
6384 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
6385
6386         * configure.ac:
6387           releasing 0.10.7, "Soepeke, ik zie ou"
6388
6389 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6390
6391         * configure.ac:
6392         * po/af.po:
6393         * po/az.po:
6394         * po/bg.po:
6395         * po/ca.po:
6396         * po/cs.po:
6397         * po/de.po:
6398         * po/en_GB.po:
6399         * po/fr.po:
6400         * po/it.po:
6401         * po/nb.po:
6402         * po/nl.po:
6403         * po/ru.po:
6404         * po/sq.po:
6405         * po/sr.po:
6406         * po/sv.po:
6407         * po/tr.po:
6408         * po/uk.po:
6409         * po/vi.po:
6410         * po/zh_CN.po:
6411         * po/zh_TW.po:
6412         * win32/common/config.h:
6413           0.10.6.2 prerelease
6414
6415 2006-06-07  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/gstindex.c: (gst_index_gtype_resolver):
6418         * tools/gst-xmlinspect.c: (print_plugin_info):
6419         Fix leak spotted by coverity checker. Fixes #343827
6420         Fix another other leak found by paolo borelli.
6421
6422 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         * libs/gst/dataprotocol/dataprotocol.c:
6425         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
6426         (gst_dp_version_get_type), (gst_dp_init),
6427         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
6428         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
6429         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
6430         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
6431         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
6432         (gst_dp_packetizer_free):
6433         * libs/gst/dataprotocol/dataprotocol.h:
6434           API: add a GstDPPacketizer object, and create/free functions
6435           API: add GstDPVersion enum
6436           Add 1.0 event function that uses the string serialization
6437           Serialize more useful buffer flags
6438           Fixes #343988
6439
6440 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * tests/check/Makefile.am:
6443         * tests/check/gst/gstabi.c:
6444         * tests/check/gst/struct_ppc64.h:
6445         * tests/check/libs/libsabi.c:
6446         * tests/check/libs/struct_ppc64.h:
6447           add ppc64 structure sizes
6448
6449 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * tests/check/Makefile.am:
6452         * tests/check/gst/gstabi.c:
6453         * tests/check/gst/struct_x86_64.h:
6454         * tests/check/libs/libsabi.c:
6455         * tests/check/libs/struct_x86_64.h:
6456           generate and add structure size lists for x86_64
6457
6458 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6461         * libs/gst/check/gstcheck.h:
6462           factor out the method from tests that checks size of structures,
6463           and add code to generate the header containing these sizes
6464         * tests/check/gst/gstabi.c: (GST_START_TEST):
6465         * tests/check/gst/struct_i386.h:
6466         * tests/check/libs/libsabi.c: (GST_START_TEST):
6467         * tests/check/libs/struct_i386.h:
6468           use it
6469
6470 2006-06-06  Michael Smith  <msmith@fluendo.com>
6471
6472         * gst/gstsegment.h:
6473           Don't use c++-style comments, fixes #343929
6474
6475 2006-06-05  Edward Hervey  <edward@fluendo.com>
6476
6477         * gst/gst.c:
6478         plugin_paths is not used if we build without registry support.
6479
6480         * gst/gstsegment.c: (gst_segment_copy): 
6481         _copy() was always returning NULL...
6482
6483 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6484
6485         * libs/gst/dataprotocol/dataprotocol.c:
6486         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6487         (gst_dp_packet_from_event):
6488           factor out CRC code
6489
6490 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6491
6492         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
6493           make sure we unset caps
6494
6495 2006-06-02  Michael Smith  <msmith@fluendo.com>
6496
6497         * libs/gst/check/gstcheck.c: (gst_check_init),
6498         (gst_check_chain_func):
6499         * libs/gst/check/gstcheck.h:
6500           Add a cond/mutex to the check support lib, signal this whenever we
6501           add to the buffers list. This will allow tests to not busy-wait on
6502           the buffer-list.
6503
6504 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * libs/gst/dataprotocol/dataprotocol.c:
6507         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6508         (gst_dp_packet_from_event):
6509           factor out some common header init code
6510
6511 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * docs/libs/gstreamer-libs-sections.txt:
6514         * docs/libs/tmpl/gstdataprotocol.sgml:
6515         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6516         * libs/gst/dataprotocol/dataprotocol.h:
6517           API: make gst_dp_crc() public
6518
6519 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6520
6521         * plugins/indexers/gstindexers.c: (plugin_init):
6522         conditionally register fileindexer (fixes #343598)
6523
6524 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6525
6526         * gst/gsttagsetter.h:
6527         Can't cast ifaces to a class
6528
6529         * libs/gst/net/gstnetclientclock.h:
6530         * libs/gst/net/gstnettimeprovider.h:
6531         * plugins/elements/gstfakesink.h:
6532         * plugins/elements/gstfakesrc.h:
6533         * plugins/elements/gstfdsink.h:
6534         * plugins/elements/gstfdsrc.h:
6535         * plugins/elements/gstfilesink.h:
6536         * plugins/elements/gstfilesrc.h:
6537         * plugins/elements/gstidentity.h:
6538         * plugins/elements/gstqueue.h:
6539         * plugins/elements/gsttee.h:
6540         * plugins/indexers/gstfileindex.c:
6541         * plugins/indexers/gstmemindex.c:
6542         * tests/old/examples/plugins/example.h:
6543         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
6544
6545 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * libs/gst/dataprotocol/dataprotocol.c:
6548         (gst_dp_header_from_buffer):
6549           make sure we zero the whole ABI-compatible area
6550
6551 2006-06-01  Wim Taymans  <wim@fluendo.com>
6552
6553         Patch by: Alessandro Decina <alessandro at nnva dot org>
6554
6555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
6556         Make sure the EOS flag is cleared from pads after a flush
6557         or stop. Fixes #343538.
6558
6559         * tests/check/libs/collectpads.c: (GST_START_TEST),
6560         (gst_collect_pads_suite):
6561         Added test for collectpads reusage after EOS.
6562
6563 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
6564
6565         * gst/gst.c:
6566          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
6567         * win32/common/libgstbase.def:
6568          export gst_collect_pads_set_flushing
6569         * win32/common/libgstreamer.def:
6570          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
6571          gst_value_fraction_multiply
6572         * win32/vs6/gst_inspect.dsp:
6573          add a link to intl.lib
6574
6575 2006-05-30  Wim Taymans  <wim@fluendo.com>
6576
6577         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6578         (gst_collect_pads_chain):
6579         Handle the case where a pad is removed from the collection
6580         that could cause the other pads to become collectable.
6581
6582 2006-05-30  Wim Taymans  <wim@fluendo.com>
6583
6584         * gst/gstelement.c:
6585         Clarify the use of _release_request_pad() and
6586         _get_request_pad() a bit better.
6587
6588         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
6589         (gst_adapter_take_buffer):
6590         Fix some doc and comment typos.
6591
6592 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6593
6594         * docs/gst/gstreamer-sections.txt:
6595         * docs/libs/gstreamer-libs-sections.txt:
6596           add declared symbols
6597
6598 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
6599
6600         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6601         Add debug that can be enabled using a #define at the top of the file,
6602         for dumping stats about how late/early we were when waking up from
6603         waiting on the clock.
6604
6605 2006-05-30  Wim Taymans  <wim@fluendo.com>
6606
6607         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
6608         When rebuilding the pad list, don't leak the previous list.
6609
6610 2006-05-30  Wim Taymans  <wim@fluendo.com>
6611
6612         Patch by: Lutz Mueller <lutz at topfrose dot de>
6613
6614         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6615         (gst_base_src_get_query_types), (gst_base_src_update_length):
6616         Publish supported query types.
6617         Update last_stop field in get_range mode so the position
6618         query works. Fixes #342321.
6619
6620 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
6621
6622         * docs/gst/gstreamer-sections.txt:
6623         * gst/gsttaglist.c: (_gst_tag_initialize):
6624         * gst/gsttaglist.h:
6625           API: add GST_TAG_PREVIEW_IMAGE (#343341).
6626
6627 2006-05-30  Wim Taymans  <wim@fluendo.com>
6628
6629         Patch by: Alessandro Decina <alessandro at nnva dot org>
6630
6631         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6632         Unlock mutex when removing an unknown pad.
6633         Fixes #343334.
6634
6635         * tests/check/Makefile.am:
6636         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
6637         (push_event), (setup), (teardown), (GST_START_TEST),
6638         (gst_collect_pads_suite), (main):
6639         Added collecpads check, disabled for now as check crashes for
6640         some reason.
6641
6642 2006-05-29  Wim Taymans  <wim@fluendo.com>
6643
6644         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
6645         Don't leak pads lists.
6646
6647 2006-05-29  Wim Taymans  <wim@fluendo.com>
6648
6649         * docs/libs/gstreamer-libs-sections.txt:
6650         * libs/gst/base/gstcollectpads.c:
6651         (gst_collect_pads_set_flushing_unlocked),
6652         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6653         (gst_collect_pads_stop):
6654         * libs/gst/base/gstcollectpads.h:
6655         API: gst_collect_pads_set_flushing()
6656         Added api to set the pads to flushing, useful for seeking
6657         code in elements using collectpads.
6658         Clear segment when receiving a flush.
6659
6660 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
6661
6662         * gst/gst.c: (add_path_func), (init_post):
6663           Don't scan registry paths passed via --gst-plugin-path immediately
6664           (will crash, because absolutely nothing is set up and no types are
6665           registered etc.); do this later in init_post(). Fixes #343057.
6666
6667 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * gst/gst.c: (init_post):
6670           if we have fork, fork while reading/rebuilding the registry
6671           so the parent doesn't take the hit of having all plugins loaded
6672           in memory.  Fixes #342777.
6673         * configure.ac:
6674           Check if we have fork()
6675         * win32/common/config.h.in:
6676           no fork() on win32
6677
6678 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6679
6680         * plugins/elements/gstelements.c:
6681         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6682         (gst_file_src_init), (gst_file_src_set_property),
6683         (gst_file_src_get_property), (gst_file_src_start):
6684         * plugins/elements/gstfilesrc.h:
6685           API: GstFileSrc::use-mmap
6686
6687         Add a use-mmap property to enable easier testing of all code paths.
6688         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6689         in the absence of gnomevfssrc. (Closes #340501)
6690
6691 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6692
6693         * tools/gst-inspect.c:
6694         Add missing include, removes warning of ngettext not being defined on
6695         some arches.
6696
6697 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6698
6699         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6700         Handle NULL input and output pointers silently as a failed conversion,
6701         rather than g_warnings.
6702
6703 2006-05-25  Wim Taymans  <wim@fluendo.com>
6704
6705         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6706         Initialize variable before using. Fixes #342820.
6707
6708 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6711           Fix off-by-one bug that would only allow peeks of N-1 bytes
6712           from the start even if the buffer to typefind on contains
6713           in fact N bytes of data (makes vorbis typefinding from a
6714           vorbis identification header buffer work).
6715
6716         * tests/check/Makefile.am:
6717         * tests/check/libs/.cvsignore:
6718         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6719         (gst_typefindhelper_suite), (main), (foobar_typefind),
6720         (plugin_init):
6721           Add very basic unit test for gst_type_find_helper_for_buffer()
6722           that checks for the problem fixed above.
6723
6724 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6725
6726         * tools/gst-inspect.c: (print_interfaces),
6727         (print_element_properties_info), (print_element_list), (main):
6728           add more translatable strings
6729
6730 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6731
6732         Patch by: Julien Moutte  <julien at moutte net>
6733
6734         * docs/gst/gstreamer-sections.txt:
6735           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6736           
6737         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6738         (gst_fake_sink_preroll):
6739         * plugins/elements/gstfakesink.h:
6740           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6741
6742 2006-05-23  Wim Taymans  <wim@fluendo.com>
6743
6744         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6745         * gst/gstpad.h:
6746         Added _CUSTOM error and success GstFlowReturn that can be
6747         used be elements internally. 
6748         Added macro to check for SUCCESS flowreturns.
6749         API: GST_FLOW_CUSTOM_SUCCESS
6750         API: GST_FLOW_CUSTOM_ERROR
6751         API: GST_FLOW_IS_SUCCESS
6752
6753         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6754         Added check for GstFlowReturn sanity.
6755
6756 2006-05-23  Wim Taymans  <wim@fluendo.com>
6757
6758         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6759
6760         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6761         (gst_collect_pads_event):
6762         clear/reset segment info in FLUSH_STOP.
6763         Fixes #336929.
6764
6765 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6768         (gst_collect_pads_check_collected):
6769         Flush queued buffer on _stop(), fixes playing again (#342454)
6770
6771 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * tests/check/gst/gststructure.c: (GST_START_TEST),
6774         (gst_structure_suite):
6775           add a test for a complete structure
6776
6777 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6778
6779         * docs/faq/developing.xml:
6780         * docs/faq/faq.xml:
6781         * docs/faq/troubleshooting.xml:
6782         * docs/faq/using.xml:
6783           Some minor FAQ updates that won't change the fact that
6784           our FAQ is badly structured, full of information hardly
6785           anyone new to GStreamer needs to know and lacking lots
6786           of information people constantly ask for.
6787           
6788 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6789
6790         * gst/gstpad.c: (gst_pad_set_caps):
6791           Short-circuit gst_pad_set_caps if setting the existing
6792           caps pointer again, and avoid printing debug and 
6793           reffing/unreffing the caps.
6794
6795         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6796           There's actually no need to set the caps before pushing -
6797           the acceptcaps method will handle it anyway.
6798
6799 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6800
6801         * docs/gst/gstreamer-sections.txt:
6802         * win32/common/libgstreamer.def:
6803         * gst/gstutils.c: (gst_element_seek_simple):
6804         * gst/gstutils.h:
6805           API: add gst_element_seek_simple() (#342238).
6806
6807 2006-05-18  Edward Hervey  <edward@fluendo.com>
6808
6809         * gst/gsttypefind.c: (gst_type_find_get_type):
6810         * gst/gsttypefind.h:
6811         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6812         registered for GstTypeFind pointers. This allows wrapping the structure
6813         in bindings (i.e. gst-python).
6814
6815 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6816
6817         * gst/gsttagsetter.c:
6818           Docs additions and fixes (see #339918).
6819
6820 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6821
6822         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6823         The caps intersection algorithm can produce multiple copies of the
6824         caps. Until that is fixed, we need to simplify the result to be
6825         sure whether the allowed caps are fixed or not.
6826
6827         * plugins/elements/gstqueue.c: (gst_queue_init),
6828         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6829         (gst_queue_push_one):
6830         Proxied buffer alloc should not set the caps on the source pad.
6831         When pushing buffers, we always accept the caps change that triggers.
6832         This prevents negotiation errors caused by caps changing mid-stream 
6833         and then being refused on our source pad (because upstream is now
6834         refusing those caps).
6835
6836 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6837
6838         * tests/examples/helloworld/helloworld.c: (main):
6839           Must plug audioconvert and audioresample between decoder
6840           and audio sink.
6841
6842 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6843
6844         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6845         (load_feature), (load_plugin):
6846         Allow empty strings for some of the plugin fields so we don't 
6847         drop valid plugin entries that were written out correctly
6848         (Fixes #341479)
6849
6850 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6851         
6852         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6853           Use g_remove and g_rename instead of remove and rename that don't 
6854           handle utf8 characters. rename was failing for users who had specific
6855           characters in their name then the registry was built at each 
6856           gstreamer init.
6857         * win32/vs6/gst_inspect.dsp:
6858         * win32/vs6/gst_launch.dsp:
6859         * win32/vs6/libgstbase.dsp:
6860         * win32/vs6/libgstcoreelements.dsp:
6861         * win32/vs6/libgstreamer.dsp:
6862           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6863           build of libgstreamer and clean unused libraries in projects link 
6864           settings.
6865
6866 2006-05-17  Edward Hervey  <edward@fluendo.com>
6867
6868         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6869         The queue is not responsible for pushing an EOS when receiving a fatal
6870         flow error. It's up to the real element driving the pipeline to do that.
6871
6872 2006-05-16  Edward Hervey  <edward@fluendo.com>
6873
6874         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6875         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6876         buffer returned a fatal error. It should just send an EOS and stop
6877         its task.
6878         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6879         when pushing buffers on the queue and will be able to handle the event.
6880
6881 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6882
6883         * docs/manual/basics-bins.xml:
6884         * docs/manual/basics-init.xml:
6885           Fix typos and minor errors in sample code (#341856).
6886
6887 2006-05-16  Wim Taymans  <wim@fluendo.com>
6888
6889         * docs/design/part-qos.txt:
6890         Fix indexes in formulas to make more sense.
6891
6892 2006-05-15  Wim Taymans  <wim@fluendo.com>
6893
6894         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6895         Don't report POSITION based on clock time if sync is
6896         disabled in a sink.
6897
6898 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6899
6900         * gst/gstobject.h:
6901           Add cast to make compiler happy - refcount variable was a gint
6902           in GstObject but is a guint in GObject and g_atomic_int_get()
6903           wants a gint *.
6904
6905 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6906
6907         * gst/parse/Makefile.am:
6908           chain commands using &&, which also makes parallel make work
6909
6910 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6911
6912         * docs/gst/gstreamer-sections.txt:
6913         * gst/gstevent.c:
6914         * gst/gstevent.h:
6915         * gst/gstmessage.h:
6916           Minor docs fixes.
6917
6918 === release 0.10.6 ===
6919
6920 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6921
6922         * configure.ac:
6923           releasing 0.10.6, "Take the cannoli"
6924
6925 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         * tools/gst-launch.c: (print_tag):
6928           Fix use of uninitialized variable in the hypothetical
6929           case that some broken plugin creates a GST_TAG_IMAGE
6930           tag containing a NULL buffer (#341667).
6931
6932 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6933
6934         * tools/gst-launch.c: (print_tag):
6935           Print something more intelligible for image tags when
6936           using the -t switch (#341556).
6937
6938 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6939
6940         * Makefile.am:
6941           updates for win32
6942         * configure.ac:
6943           define GST_MAJORMINOR so we have it available in win32/common/config.h
6944           Possibly remove it from our Makefile.am files later
6945         * win32/common/config.h:
6946         * win32/common/config.h.in:
6947           added GST_MAJORMINOR
6948         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6949         * win32/common/gstversion.h:
6950           updated
6951
6952 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6953
6954         * win32/MANIFEST:
6955           Update win32 files listing.
6956         * win32/common/gstversion.h:
6957           Add GST_MAJORMINOR definition.
6958         * win32/common/libgstreamer.def:
6959           Add new exported functions.
6960           
6961 2006-05-12  Michael Smith  <msmith@fluendo.com>
6962
6963         * gst/gstplugin.c: (gst_plugin_load_file):
6964           If an so file has no plugin entry point, unload the module.
6965
6966 2006-05-11  Wim Taymans  <wim@fluendo.com>
6967
6968         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6969         (gst_queue_set_property):
6970         Don't forget to signal the _chain or _loop function 
6971         when the queue size or thresholds change since that might
6972         cause them to make progres again.
6973
6974 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6975
6976         * gst/gstclock.c: (gst_clock_class_init):
6977         * gst/gstindex.c: (gst_index_class_init):
6978         * gst/gstobject.c: (gst_object_class_init):
6979         * gst/gstpad.c: (gst_pad_class_init):
6980         * gst/gstpipeline.c: (gst_pipeline_class_init):
6981         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6982         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6983         * libs/gst/base/gstbasetransform.c:
6984         (gst_base_transform_class_init):
6985         * libs/gst/net/gstnetclientclock.c:
6986         (gst_net_client_clock_class_init):
6987         * libs/gst/net/gstnettimeprovider.c:
6988         (gst_net_time_provider_class_init):
6989         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6990         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6991         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6992         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6993         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6994         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6995         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6996         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6997         * plugins/elements/gsttee.c: (gst_tee_class_init):
6998         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6999         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7000           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
7001
7002 2006-05-11  Wim Taymans  <wim@fluendo.com>
7003
7004         * gst/gstbuffer.c: (_gst_buffer_initialize):
7005         Register subbufer along with the buffer type so that
7006         it does not accidentally gets registered from N
7007         different streaming threads in a non threadsafe way.
7008
7009 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7010
7011         * gst/gstbuffer.h:
7012         * gst/gstevent.h:
7013         * gst/gstmessage.h:
7014           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
7015           gst_event_ref() and gst_message_ref() functions again
7016           (ugly hack, please do fix if there's a better way besides
7017           overrides.txt, which doesn't seem to work).
7018
7019 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         * libs/gst/check/gstcheck.h:
7022           add an assert for setting state to avoid lots of repetitive code
7023           in the future
7024
7025 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7026
7027         * gst/gstvalue.c: (gst_value_serialize_flags):
7028           fix a leak if no flags are set
7029         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7030           fix leak in tests
7031
7032 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * docs/manual/basics-pads.xml:
7035           Expand a bit on caps and filtered links and update
7036           examples that were still using the no longer existing
7037           gst_pad_link_filtered() (#338206).
7038
7039 2006-05-10  Wim Taymans  <wim@fluendo.com>
7040
7041         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7042         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7043         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7044         (gst_collect_pads_stop):
7045         * libs/gst/base/gstcollectpads.h:
7046         No need to call _stop in _finalize.
7047         Iterate the main pad list in _finalize.
7048         Added some more debug.
7049         Free lists and data in the right order.
7050         Also free data whem doing _remove_pad when stopped for
7051         backward compatibility protect ::started with PAD_LOCK as
7052         well.
7053
7054 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7055
7056         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
7057         (gst_structure_parse_value):
7058           add some comments
7059           rename a method so that it actually says what it does better
7060
7061 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7062
7063         * gst/gstevent.c: (_gst_event_initialize):
7064         * gst/gstformat.c: (_gst_format_initialize):
7065           make sure some essential types used by events are registered
7066           as part of gst_init()
7067         * gst/gstvalue.c: (gst_value_serialize_flags):
7068           if no flags are set, serialize them to a value that represents NONE
7069           so that deserializing them works
7070         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7071           add tests for serialization and deserialization of flags
7072
7073 2006-05-10  Wim Taymans  <wim@fluendo.com>
7074
7075         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
7076         (gst_collect_pads_collect_range), (gst_collect_pads_available),
7077         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
7078         (gst_collect_pads_event), (gst_collect_pads_chain):
7079         Update docs.
7080         Better debug info.
7081         Catch and return errors from the collect function
7082         Refuse data on eos pads.
7083
7084 2006-05-10  Edward Hervey  <edward@fluendo.com>
7085
7086         * gst/gstinterface.h:
7087         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
7088         GInterface type checking.
7089         They were previously using non-defined macros.
7090
7091 2006-05-09  Wim Taymans  <wim@fluendo.com>
7092
7093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
7094         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
7095         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
7096         (gst_collect_pads_start), (gst_collect_pads_stop),
7097         (gst_collect_pads_peek), (gst_collect_pads_pop),
7098         (gst_collect_pads_available), (gst_collect_pads_read),
7099         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
7100         (gst_collect_pads_is_collected), (gst_collect_pads_event),
7101         (gst_collect_pads_chain):
7102         * libs/gst/base/gstcollectpads.h:
7103         Clean up the mess that is collectpads, add comments and
7104         FIXMEs where needed.
7105         Maintain a separate pad list so we can add pads while
7106         collecting the other ones. For this we need a new separate 
7107         lock (see comics).
7108         Fix memory leak in finalize.
7109         Refactor some weird code to set/unset pad flushing flags, mark
7110         with comments.
7111         Don't crash in _available, _read, _flush when we're EOS.
7112
7113         * tests/check/libs/.cvsignore:
7114         Ignore adapter check binary.
7115
7116 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7117
7118         * gst/gstindex.c: (gst_index_resolver_get_type):
7119         * plugins/elements/gstfakesink.c:
7120         (gst_fake_sink_state_error_get_type):
7121         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7122         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
7123         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7124           Const-ify GEnumValue arrays.
7125
7126 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7127
7128         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7129           Add test case for flags + gst_buffer_make_metadata_writable().
7130
7131 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7132
7133         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
7134           gst_buffer_make_metadata_writable() should maintain the
7135           buffer flags (those that make sense at least) (see #340859).
7136
7137 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7138
7139         * tools/gst-inspect.c:
7140         * tools/gst-launch.c:
7141         * tools/gst-typefind.c:
7142         * tools/gst-xmlinspect.c:
7143         * tools/tools.h:
7144           Fix up includes: need to include stdlib.h in tools.h for exit().
7145
7146 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7147
7148         * gst/gsttaglist.c: (_gst_tag_initialize):
7149         * gst/gsttaglist.h:
7150           API: add GST_TAG_IMAGE tag (#340721).
7151
7152 2006-05-08  Wim Taymans  <wim@fluendo.com>
7153
7154         * gst/gstquery.c:
7155         Added some docs for the segment query.
7156
7157 2006-05-08  Wim Taymans  <wim@fluendo.com>
7158
7159         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7160         (gst_base_src_loop), (gst_base_src_change_state):
7161         Always push non-flushing serialized events in the streaming 
7162         thread.
7163
7164 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7165
7166         * gst/gsterror.c: (_gst_stream_errors_init):
7167           Add a missing error string.
7168
7169 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
7170
7171         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
7172         Add applied_rate to the debug
7173
7174         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7175         Copy applied_rate into the outgoing NEWSEGMENT event
7176
7177 2006-05-08  Wim Taymans  <wim@fluendo.com>
7178
7179         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
7180
7181         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7182         (gst_base_sink_change_state):
7183         call ::unlock before taking the PREROLL_LOCK so we can safely
7184         handle elements that lock in ::render.
7185         Fixes #340174.
7186
7187 2006-05-08  Edward Hervey  <edward@fluendo.com>
7188
7189         * autogen.sh: (CONFIGURE_DEF_OPT): 
7190         Darwin's libtoolize is in fact called glibtoolize.
7191         Adding glibtoolize to the list of accepted names for libtoolize.
7192
7193 2006-05-08  Wim Taymans  <wim@fluendo.com>
7194
7195         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7196         Unify error handling, don't post an error message
7197         when a push() returns EOS but perform our normal EOS
7198         handling code. Fixes #340772.
7199
7200 2006-05-08  Wim Taymans  <wim@fluendo.com>
7201
7202         * docs/design/part-overview.txt:
7203         Make upsteam/downstream concepts more clear.
7204         Give an example of serialized/non-serialized events.
7205
7206         * docs/design/part-events.txt:
7207         * docs/design/part-streams.txt:
7208         Mention applied_rate.
7209
7210         * docs/design/part-trickmodes.txt:
7211         Mention applied rate, flesh out some more use cases.
7212
7213         * gst/gstevent.c: (gst_event_new_new_segment),
7214         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
7215         (gst_event_parse_new_segment_full), (gst_event_new_tag),
7216         (gst_event_parse_tag), (gst_event_new_buffer_size),
7217         (gst_event_parse_buffer_size), (gst_event_new_qos),
7218         (gst_event_parse_qos), (gst_event_parse_seek),
7219         (gst_event_new_navigation):
7220         * gst/gstevent.h:
7221         Add applied_rate field to NEWSEGMENT event.
7222         API: gst_event_new_new_segment_full()
7223         API: gst_event_parse_new_segment_full()
7224
7225         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
7226         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
7227         (gst_segment_to_stream_time), (gst_segment_to_running_time):
7228         * gst/gstsegment.h:
7229         Add applied_rate to GstSegment structure.
7230         Make calculation of stream_time and running_time more correct
7231         wrt rate/applied_rate.
7232         Add some more docs.
7233         API: GstSegment::applied_rate field
7234         API: gst_segment_set_newsegment_full();
7235
7236         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7237         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
7238         * libs/gst/base/gstbasetransform.c:
7239         (gst_base_transform_sink_eventfunc),
7240         (gst_base_transform_handle_buffer):
7241         Parse and use applied_rate in the GstSegment field.
7242
7243         * tests/check/gst/gstevent.c: (GST_START_TEST):
7244         Add check for applied_rate field.
7245
7246         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7247         (gstsegments_suite):
7248         Add more checks for various GstSegment operations.
7249
7250 2006-05-08  Wim Taymans  <wim@fluendo.com>
7251
7252         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7253         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
7254         (gst_base_sink_get_position), (gst_base_sink_change_state):
7255         Store the sync time of the buffer end position separatly in a
7256         new variable eos_rtime so we can properly sync the EOS event.
7257         Fixes #340697.
7258         Fix the docs for gst_base_sink_set_qos_enabled().
7259         Don't set segment start to invalid value when we receive a 
7260         non TIME newsegment.
7261         get closer to handling position reporting for negative rates 
7262         correctly.
7263
7264 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7265
7266         * gst/gstcaps.c:
7267         Docs about how to print caps for debug purposes.
7268
7269         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
7270         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
7271
7272 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * gst/gstelement.c:
7275           use full enum names and preprend a '%' in docs strings to make recent 
7276           gtk-doc turn that into a link
7277
7278 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7279
7280         * docs/manual/basics-bins.xml:
7281         * docs/manual/basics-bus.xml:
7282         * docs/manual/basics-pads.xml:
7283           Some typo fixes, some additions, some clarifications. 
7284
7285 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7286
7287         * tools/gst-inspect.c: (main):
7288         * tools/gst-launch.c: (main):
7289         * tools/gst-run.c: (main):
7290         * tools/gst-typefind.c: (main):
7291         * tools/gst-xmlinspect.c: (main):
7292           Use the string passed to g_option_context_new() for
7293           what it's intended for - the program name is already
7294           printed elsewhere.
7295
7296 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7297
7298         * tools/Makefile.am:
7299         * tools/gst-inspect.c: (main):
7300         * tools/gst-launch.c: (main):
7301         * tools/gst-xmlinspect.c: (main):
7302         * tools/tools.h:
7303           Add back --version command line option (#340460).
7304
7305         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
7306           Add --version option and use GOption for argument parsing; refactor a
7307           bit; accept directories as arguments and recurse into them; lastly,
7308           print a decent error message when things go wrong.
7309
7310 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7311
7312         * docs/manual/basics-bins.xml:
7313         Don't mention GstThread (#340611)
7314         * docs/manual/basics-elements.xml:
7315         Update link to GObject tutorial (#340607)
7316         
7317 2006-05-05  Wim Taymans  <wim@fluendo.com>
7318
7319         * gst/gstbuffer.h:
7320         * gst/gstminiobject.c:
7321         Add note about refcounting and miniobject/buffer writeability
7322         to docs. Fixes #340604
7323
7324         * gst/gstelementfactory.h:
7325         Added some explanation about @klass.
7326
7327 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7328
7329         * docs/manual/intro-motivation.xml:
7330         * docs/manual/manual.xml:
7331         Avoid CORBA & Bonobo references (#340598)
7332
7333 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7334
7335         * docs/manual/basics-bus.xml:
7336         * docs/manual/basics-pads.xml:
7337         Fix up some inaccuracies and omissions (#340609)
7338         
7339 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7340
7341         * gst/gstghostpad.c:
7342           Small typo in docs (#340625)
7343
7344 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7345
7346         * gst/parse/Makefile.am:
7347           Make 'make -j' proof (see #340698).
7348
7349 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7350
7351         * configure.ac:
7352           Require GLib-2.8 here as well.
7353
7354 2006-05-05  Wim Taymans  <wim@fluendo.com>
7355
7356         * gst/glib-compat.c:
7357         * gst/gst.c: (init_pre):
7358         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7359         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7360         (gst_object_dispatch_properties_changed):
7361         * gst/gstobject.h:
7362         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7363         * gst/gststructure.c: (gst_structure_set_valist):
7364         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7365         Remove pre glib2.8 compatibility, fixes #340508
7366
7367 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7368
7369         * gst/gsttaglist.h:
7370           Mention type of tags in doc blurbs.
7371
7372 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
7373
7374         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7375         (gst_pad_configure_src), (gst_pad_push):
7376         Restore acceptcaps checking behaviour now that good plugins have
7377         been released.
7378
7379 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
7382
7383         * gst/gst.c:
7384         * gst/gstbus.c:
7385         * gst/gstclock.c:
7386         * gst/gstevent.c:
7387         * gst/gstformat.c:
7388         * gst/gstmessage.c:
7389         * gst/gstparse.c:
7390         * gst/gstquery.c:
7391         * gst/gstutils.c:
7392         * gst/parse/Makefile.am:
7393         * libs/gst/base/gstadapter.c:
7394         * libs/gst/base/gstbasesrc.c:
7395         * libs/gst/base/gstpushsrc.c:
7396         * libs/gst/base/gsttypefindhelper.c:
7397         * plugins/elements/gstfakesrc.c:
7398         * plugins/elements/gstidentity.c:
7399           Make sure gstprivate.h and/or config.h are
7400           always included first, otherwise some of our
7401           defines (like _FILE_OFFSET_BITS) might be
7402           redefined in the system headers. Fixes build
7403           on opensolaris (#340016).
7404
7405 2006-05-04  Wim Taymans  <wim@fluendo.com>
7406
7407         * docs/libs/gstreamer-libs-sections.txt:
7408         API: addition: gst_adapter_take_buffer()
7409         
7410         * libs/gst/base/gstadapter.c: (gst_adapter_push),
7411         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
7412         (gst_adapter_available_fast):
7413         * libs/gst/base/gstadapter.h:
7414         Prepare for optimizing the hell out of this hugely inefficient
7415         piece of code. 
7416         Added gst_adapter_take_buffer() so we can at least start thinking
7417         about subbuffering and merging.
7418         Added some comments.
7419
7420         * tests/check/Makefile.am:
7421         * tests/check/libs/adapter.c: (GST_START_TEST),
7422         (gst_adapter_suite), (main):
7423         Added GstAdapter check.
7424
7425 2006-05-04  Wim Taymans  <wim@fluendo.com>
7426
7427         * docs/design/part-overview.txt:
7428         Fix some typos, add blurb about buffer flags.
7429
7430 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * docs/libs/gstreamer-libs-sections.txt:
7433           make sure GstBaseTransformClass shows up in the docs
7434         * libs/gst/base/gstbasetransform.c:
7435         * libs/gst/base/gstbasetransform.h:
7436           move docs so gtk-doc picks it up now
7437
7438 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7439
7440         * docs/libs/gstreamer-libs-sections.txt:
7441           add missing symbols to docs
7442
7443 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7444
7445         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7446           back out the newsegment handling change, see #340060 for ongoing
7447           discussion
7448
7449 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
7450
7451         * tools/gst-run.c: (get_candidates), (main):
7452           Fix wrong g_file_test() usage (see glib docs for why it doesn't
7453           work); fix typo in error message. Fixes #340079.
7454
7455 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         * common/Makefile.am:
7458         * docs/Makefile.am:
7459         * docs/faq/Makefile.am:
7460         * docs/gst/Makefile.am:
7461         * docs/libs/Makefile.am:
7462         * docs/manual/Makefile.am:
7463         * docs/plugins/Makefile.am:
7464         * docs/pwg/Makefile.am:
7465         * docs/slides/Makefile.am:
7466         * docs/upload.mak:
7467         * common/upload.mak:
7468           move upload.mak to common
7469
7470 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7471
7472         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7473           add more asserts on refcounts
7474           do more cleanup at end of tests
7475           fix test leaks showing in FC5
7476
7477 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
7478
7479         * plugins/elements/gsttypefindelement.c:
7480         (gst_type_find_element_handle_event):
7481         reverted wrong change and reflowed code to avoid others falling into
7482         this trap
7483
7484 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7485
7486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7487           fix changelog entry about last collectpads change,
7488           add notes about proper fix
7489
7490 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7491
7492         * gst/gst.c:
7493         * gst/gstregistry.c: (gst_registry_scan_path_level),
7494         (gst_registry_scan_path):
7495         * gst/gstregistry.h:
7496           only write out registry if it has changed, fixes #338339
7497
7498 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7499
7500         * gst/gstbin.c:
7501         * gst/gstpipeline.c:
7502         * plugins/elements/gstcapsfilter.c:
7503         * plugins/elements/gstfakesink.c:
7504         * plugins/elements/gstfakesrc.c:
7505         * plugins/elements/gstfdsink.c:
7506         * plugins/elements/gstfdsrc.c:
7507         * plugins/elements/gstfilesink.c:
7508         * plugins/elements/gstfilesrc.c:
7509         * plugins/elements/gstidentity.c:
7510         * plugins/elements/gstqueue.c:
7511         * plugins/elements/gsttee.c:
7512         * plugins/elements/gsttypefindelement.c:
7513         (gst_type_find_element_handle_event):
7514           make GstElementDetails const
7515
7516 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
7519         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7520         (gst_collect_pads_is_collected), (gst_collect_pads_event):
7521           more detailed debug and formatting cleanup,
7522           forward newsegments to src-pad (so that e.g. adder not eats them)
7523
7524 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7525
7526         * gst/gstutils.c: (gst_element_link_pads):
7527           cleanup double code
7528
7529 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7530
7531         * libs/gst/controller/gstcontroller.c:
7532         (gst_controller_sync_values):
7533           some little tuning
7534         * tests/check/libs/controller.c: (GST_START_TEST),
7535         (gst_controller_suite):
7536           a new test for live value handling
7537
7538 2006-04-28  Wim Taymans  <wim@fluendo.com>
7539
7540         * gst/gstutils.c: (push_and_ref):
7541         Added some more docs.
7542         Fix refcount issue whith gst_element_found_tags() helper 
7543         function. Fixes #338335
7544
7545         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7546         Added testsuite for gst_element_found_tags().
7547
7548 2006-04-28  Michael Smith  <msmith@fluendo.com>
7549
7550         * gst/gstvalue.c: (gst_value_serialize_flags):
7551           Avoid NULL dereference when trying to serialize flags containing
7552           invalid values.
7553
7554 2006-04-28  Michael Smith  <msmith@fluendo.com>
7555
7556         * plugins/elements/gsttypefindelement.c:
7557         (gst_type_find_element_handle_event):
7558           If we get EOS before any data is accumulated, don't use
7559           uninitialised local variables.
7560
7561 2006-04-28  Michael Smith  <msmith@fluendo.com>
7562
7563         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7564         (gst_dp_event_from_packet):
7565           Fixes in reading/writing events over GDP (not currently used?) - 
7566           dereferencing NULL events for unknown/invalid event types, memory
7567           leak, and change g_warning to GST_WARNING.
7568
7569 2006-04-28  Wim Taymans  <wim@fluendo.com>
7570
7571         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
7572         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7573         (gst_base_sink_get_position), (gst_base_sink_change_state):
7574         When frame dropping is enabled, we should not ignore frames
7575         without a duration.
7576         Update some documentation.
7577
7578 2006-04-28  Wim Taymans  <wim@fluendo.com>
7579
7580         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7581         (gst_base_src_send_event), (gst_base_src_change_state):
7582         Documentation updates.
7583
7584 2006-04-28  Wim Taymans  <wim@fluendo.com>
7585
7586         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
7587         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
7588         handle EAGAIN, EINTR and short writes correctly. Also clean
7589         up some error cases, avoid a deadlock on bad file descriptors and
7590         use GST_DEBUG_OBJECT.
7591         Fixes #339843
7592
7593 2006-04-28  Wim Taymans  <wim@fluendo.com>
7594
7595         * gst/gstvalue.c: (gst_value_serialize_buffer),
7596         (gst_value_deserialize_buffer):
7597         Don't try to serialize a GValue with a NULL buffer. 
7598         Fixes #339821.
7599
7600         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7601         Added check for serialisation of NULL buffers.
7602
7603 2006-04-28  Wim Taymans  <wim@fluendo.com>
7604
7605         * gst/gstminiobject.c: (gst_value_take_mini_object):
7606         Taking a NULL miniobject is valid, fix the case where
7607         we try to unref the NULL miniobject.
7608
7609 2006-04-28  Wim Taymans  <wim@fluendo.com>
7610
7611         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7612
7613         * gst/gstbin.c: (gst_bin_handle_message_func):
7614         Update docs.
7615         Don't leak bin refcount when a state recalc is
7616         in progress and we delay another one #339808.
7617
7618 2006-04-28  Wim Taymans  <wim@fluendo.com>
7619
7620         * docs/design/part-TODO.txt:
7621         Mention QoS as an ongoing work item.
7622
7623         * docs/design/part-buffering.txt:
7624         New doc about buffering that needs to be fleshed out
7625         at some point.
7626
7627         * docs/design/part-qos.txt:
7628         More QoS policy for decoders/demuxers/transforms
7629
7630         * docs/design/part-trickmodes.txt:
7631         Small update.
7632
7633 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * configure.ac:
7636           back to HEAD
7637
7638 === release 0.10.5 ===
7639
7640 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
7641
7642         * configure.ac:
7643           releasing 0.10.5, "Fogo"
7644
7645 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7646
7647         patch by: Wim Taymans
7648
7649         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7650         (gst_pad_configure_src), (gst_pad_push):
7651         * gst/gstpipeline.c: (gst_pipeline_init):
7652           Fix internal data flow errors.  Fixes #338711.
7653
7654 2006-04-12  Wim Taymans  <wim@fluendo.com>
7655
7656         * tests/check/gst/gstelement.c: (GST_START_TEST):
7657         Don't leak the factory.
7658
7659 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7660
7661         * configure.ac:
7662         * win32/common/config.h:
7663           prerelease
7664
7665 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7666
7667         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7668         (gst_controller_unset_all):
7669           Free allocated GstTimedValues when freeing list nodes.
7670           Should fix leaks 'make check-valgrind' complains about.
7671
7672         * win32/common/libgstcontroller.def:
7673           Add gst_controller_unset_all.
7674
7675 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7676
7677         * docs/libs/gstreamer-libs-sections.txt:
7678         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7679         (gst_controller_unset_all):
7680         * libs/gst/controller/gstcontroller.h:
7681         API: Added new method gst_controller_unset_all()
7682         fixed gst_controller_unset()
7683         * tests/check/libs/controller.c: (GST_START_TEST),
7684         (gst_controller_suite):
7685         Added two testcases for new and fixed method
7686
7687 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7688
7689         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7690           MSG_DONTWAIT is not defined on Cygwin, so work
7691           around that (fixes #317048).
7692           
7693 2006-04-11  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/gstelementfactory.c: (gst_element_register),
7696         (gst_element_factory_create), (gst_element_factory_make):
7697         Some cleanups.
7698         Fixed a FIXME.
7699         Updated docs (Fixes #131079)
7700
7701         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7702         Small cleanups.
7703
7704         * tests/check/gst/gstelement.c: (GST_START_TEST),
7705         (gst_element_suite):
7706         Added testcase for elementfactory class field.
7707
7708 2006-04-10  Wim Taymans  <wim@fluendo.com>
7709
7710         * gst/gstsegment.c:
7711         Added some more docs.
7712
7713         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7714         (gst_base_sink_reset_qos):
7715         Calculate more accurate rate values.
7716
7717 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7718
7719         * gst/gst_private.h:
7720           add a new #ifdef to use __declspec(dllimport) only for
7721           other modules and not for gstreamer core
7722         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7723           use gst_guint64_to_gdouble for conversion
7724         * win32/common/libgstreamer.def:
7725           add new exported functions
7726         * win32/vs6/gst_inspect.dsp:
7727         * win32/vs6/gst_launch.dsp:
7728         * win32/vs6/libgstbase.dsp:
7729         * win32/vs6/libgstcontroller.dsp:
7730         * win32/vs6/libgstcoreelements.dsp:
7731         * win32/vs6/libgstdataprotocol.dsp:
7732         * win32/vs6/libgstnet.dsp:
7733           update project files
7734
7735 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7736
7737         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7738         * gst/gstclock.c: (gst_clock_class_init):
7739         * gst/gstelement.c: (gst_element_class_init):
7740         * gst/gstindex.c: (gst_index_class_init):
7741         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7742         * gst/gstobject.c: (gst_object_class_init),
7743         (gst_signal_object_class_init):
7744         * gst/gstpad.c: (gst_pad_class_init):
7745         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7746         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7747         * gst/gstregistry.c: (gst_registry_class_init):
7748         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7749         * gst/gsttask.c: (gst_task_class_init):
7750         * gst/gstxml.c: (gst_xml_class_init):
7751         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7752         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7753         (gst_base_src_loop):
7754         * libs/gst/controller/gstcontroller.c:/
7755         (_gst_controller_class_init):
7756         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7757         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7758         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7759         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7760         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7761         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7762
7763 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7764
7765         * gst/gstpad.c: (gst_pad_link):
7766           Must set peer pads before calling the link function, otherwise
7767           a task started from a link function might get a flow-not-linked
7768           result when trying to push because the other thread where the
7769           linking happens hasn't had a chance to set the peers yet. This
7770           might happen for example when a queue gets linked to a downstream
7771           element, as queue starts a streaming task when its source pad
7772           gets linked. Happens in real life when playing back flac/musepack
7773           files in playbin (#332390).
7774           
7775 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7776
7777         * gst/gstindex.h:
7778         * gst/gstxml.h:
7779         * libs/gst/base/gstadapter.h:
7780         * libs/gst/base/gstbasesink.h:
7781         * libs/gst/base/gstbasesrc.h:
7782         * libs/gst/base/gstbasetransform.h:
7783         * libs/gst/base/gstcollectpads.h:
7784         * libs/gst/base/gstpushsrc.h:
7785         Fix broken GObject macros
7786
7787 2006-04-07  Wim Taymans  <wim@fluendo.com>
7788
7789         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7790         Initialize start and stop times, thanks valgrind.
7791
7792 2006-04-07  Wim Taymans  <wim@fluendo.com>
7793
7794         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7795         Be a bit nicer to badly behaving upstream elements that expect
7796         us to deal with non TIME segments and timestamps (such as fakesrc
7797         in the testsuite).
7798
7799 2006-04-07  Wim Taymans  <wim@fluendo.com>
7800
7801         * gst/gstbus.c:
7802         Small documentation clarification about the signal watch.
7803
7804         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7805         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7806         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7807         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7808         (gst_base_sink_get_position_last),
7809         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7810         Convert and store timestamps in stream time and running time, the
7811         raw timestamps are not useful, also document this better.
7812         Use different window sizes for good and bad QoS observations so
7813         we react to badness a little quicker.
7814         Keep track of the amount of rendered and dropped buffers.
7815         Send QoS timestamps in running time.
7816
7817         * libs/gst/base/gstbasetransform.c:
7818         (gst_base_transform_sink_eventfunc),
7819         (gst_base_transform_handle_buffer):
7820         Compare QoS timestamps against running time.
7821
7822 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7823
7824         * gst/gstpad.c:
7825           Typo fixes in docs.
7826
7827 2006-04-06  Michael Smith  <msmith@fluendo.com>
7828
7829         * gst/gstpad.c: (gst_pad_set_property):
7830           Use g_value_get_object() instead of g_value_dup_gst_object(),
7831           to avoid double-reffing the pad template (which we then sink,
7832           so this worked previously if (and only if) the pad template
7833           was floating.
7834
7835         * gst/gstpadtemplate.c: (gst_pad_template_init),
7836         (gst_pad_template_pad_created):
7837           Never return floating references to pad templates, create
7838           them as initially-sunken.
7839
7840           Document an extra function (and make this stop sinking our
7841           pad template, since that is now guaranteed to do nothing,
7842           since we created it sunken).
7843
7844         * gst/gstghostpad.c:
7845           Fix docs typo.
7846
7847 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7848
7849         * gst/gstinfo.c: (__gst_in_valgrind):
7850           Add some newlines.
7851
7852         * plugins/elements/gsttypefindelement.c:
7853         (gst_type_find_element_chain):
7854           Don't leak buffer caps.
7855
7856 2006-04-06  Michael Smith  <msmith@fluendo.com>
7857
7858         * gst/parse/grammar.y:
7859           Fix a leak in parse-launch for any source-or-sink named element 
7860           references used.
7861
7862         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7863           Unref the pipeline if it exists after we've failed parsing.
7864
7865 2006-04-05  Michael Smith  <msmith@fluendo.com>
7866
7867         * gst/gstpipeline.c: (gst_pipeline_init):
7868           When we create a pipeline bus, initially create it in flushing mode.
7869           Fixes leaks in at least one test, and makes a new pipeline work the
7870           same as one that has gone to READY and then back to NULL.
7871
7872         * gst/gstelement.c:
7873           Typo fix in docs.
7874
7875 2006-04-05  Michael Smith  <msmith@fluendo.com>
7876
7877         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7878           Unref a pad we reffed.
7879         * tests/check/gst/gstutils.c: (GST_START_TEST):
7880           Unref bins
7881
7882 2006-04-05  Michael Smith  <msmith@fluendo.com>
7883
7884         * gst/gstquery.c: (gst_query_set_formats),
7885         (gst_query_set_formatsv):
7886           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7887
7888 2006-04-05  Michael Smith  <msmith@fluendo.com>
7889
7890         * tests/check/generic/sinks.c: (GST_START_TEST):
7891           Fix a variety of memleaks in sinks check, which are only sometimes 
7892           shown by running the tests under valgrind (weird?).
7893
7894 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7895
7896         * docs/version.entities.in:
7897           Fix the substituted entity name after thomas' changes on the
7898           weekend.
7899
7900 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7901
7902         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7903         VALGRIND_PRINTF
7904         
7905 2006-04-05  Andy Wingo  <wingo@pobox.com>
7906
7907         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7908
7909         * libs/gst/base/gstbasetransform.c
7910         (gst_base_transform_sink_eventfunc): When resetting our segment on
7911         FLUSH_STOP, also update the flag saying we haven't seen a
7912         newsegment.
7913
7914 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7915
7916         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7917
7918         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7919         (gst_plugin_check_license):
7920           minor clean-ups: G_DEFINE_TYPE already takes care of the
7921           parent_class stuff, no need to do it twice. Mark array of
7922           license strings as constant. (#337103)
7923           
7924 2006-04-04  Michael Smith  <msmith@fluendo.com>
7925
7926         * tools/gst-inspect.c: (print_element_list):
7927           Free the right plugin list; fixes a memory leak.
7928
7929 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7930
7931         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7932
7933         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7934           Don't error out on empty buffers (#336945).
7935           
7936 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7937
7938         * docs/libs/gstreamer-libs-sections.txt:
7939         * gst/gsttaglist.c:
7940         * libs/gst/base/gstbasesink.c:
7941         * libs/gst/base/gstbasesink.h:
7942         * libs/gst/base/gstbasesrc.c:
7943         * libs/gst/base/gstbasesrc.h:
7944           Documentation updates. Make BaseSink and BaseSrc docs contain the
7945           class structure so that people can actually see the prototypes for
7946           virtual functions they're supposed to be overriding.
7947
7948 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7949
7950         * plugins/elements/gsttypefindelement.c:
7951         (gst_type_find_element_chain):
7952           More debug info; when skipping typefinding, send cached
7953           events in all cases.
7954
7955 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         * configure.ac:
7958           use new AS_VERSION and AS_NANO macros
7959         * gst/gst-i18n-lib.h:
7960         * gst/gst.c:
7961         * gst/gsterror.c:
7962         * gst/gstversion.h.in:
7963         * win32/common/config.h:
7964         * win32/common/config.h.in:
7965           update accordingly
7966
7967 2006-03-31  Michael Smith  <msmith@fluendo.com>
7968
7969         * plugins/elements/gsttypefindelement.c:
7970         (gst_type_find_element_chain):
7971           Do not typefind content if the buffers already have caps.
7972           Neccesary for icydemux (#333657), and the right thing to do anyway.
7973
7974 2006-03-30  Wim Taymans  <wim@fluendo.com>
7975
7976         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7977         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7978         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7979         (gst_base_sink_record_qos_observation),
7980         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7981         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7982         (gst_base_sink_change_state):
7983         More QoS measurements as described in the design doc.
7984         Get rid of ringbuffer with observations, running average is
7985         more simple and equally good.
7986         Calculates valid proportion now.
7987         Added beginning of flood measurement.
7988
7989 2006-03-29  Wim Taymans  <wim@fluendo.com>
7990
7991         * docs/design/part-qos.txt:
7992         * gst/gstclock.c:
7993         Small documentation updates and additions.
7994
7995 2006-03-29  Wim Taymans  <wim@fluendo.com>
7996
7997         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7998         (gst_base_src_send_event), (gst_base_src_loop),
7999         (gst_base_src_change_state):
8000         Perform the EOS logic when we reach the segment stop position.
8001         Fix compilation on gcc4.1
8002
8003 2006-03-29  Wim Taymans  <wim@fluendo.com>
8004
8005         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8006
8007         * plugins/elements/gstqueue.c: (gst_queue_init),
8008         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8009         (gst_queue_set_property):
8010         * plugins/elements/gstqueue.h:
8011         In queue, when EOS is received, if minimum threshold > max_size -
8012         current_level, there is chance that queue blocks forever in conditional
8013         item del wait. This is because the queue is not emptied completely due
8014         to minimum threshold.  Here is another approach. Instead of setting
8015         cur_levels to max in EOS, just zero all minimum threshold levels. This
8016         should make sure that queue gives out all data. When going to READY
8017         (stop) state, just reset the original minimum threshold levels.
8018         Fixes #336336.
8019
8020 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
8021
8022         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
8023         (gst_type_find_element_handle_event),
8024         (gst_type_find_element_send_cached_events),
8025         (gst_type_find_element_change_state):
8026         * plugins/elements/gsttypefindelement.h:
8027           When typefinding is done in push mode, we should cache
8028           events we receive during typefinding instead of just
8029           dropping them (e.g. newsegment, custom events from
8030           dvdreadsrc etc.) and then send them out once we've
8031           determined the type of the stream (and decodebin
8032           has had a chance to plug in a decoder/demuxer).
8033           
8034 2006-03-27  Wim Taymans  <wim@fluendo.com>
8035
8036         * docs/design/part-qos.txt:
8037         First QoS ideas.
8038
8039 2006-03-27  Wim Taymans  <wim@fluendo.com>
8040
8041         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
8042
8043         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8044         (gst_base_src_send_event), (gst_base_src_change_state):
8045         Handle element seek correctly when we are streaming.
8046         Fixes #326998.
8047
8048 2006-03-24  Michael Smith  <msmith@fluendo.com>
8049
8050         * docs/faq/gst-uninstalled:
8051           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
8052           allow you to correctly run intalled applications built against old 
8053           core, using plugins that require updated core (e.g. running
8054           installed totem against a full uninstalled gstreamer stack)
8055
8056 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8057
8058         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8059         more debug details
8060
8061 2006-03-24  Wim Taymans  <wim@fluendo.com>
8062
8063         * docs/gst/gstreamer-sections.txt:
8064         Rearrange the order of the methods so that related methods
8065         are grouped together in sections.
8066
8067 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8068
8069         * gst/gstelement.c:
8070           Little clarification in the docs
8071
8072 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8073
8074         * docs/README:
8075         formatting fix
8076         * plugins/elements/gstidentity.c:
8077         * plugins/elements/gstqueue.c:
8078         * plugins/elements/gsttee.c:
8079         * plugins/elements/gsttypefindelement.c:
8080         GST_ELEMENT_DETAILS formatting
8081
8082 2006-03-24  Wim Taymans  <wim@fluendo.com>
8083
8084         * libs/gst/base/gstbasesink.h:
8085         Only add fields, not insert or we break ABI.
8086
8087 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8088
8089         * win32/common/libgstbase.def:
8090         * win32/common/libgstreamer.def:
8091           Update, add recently added functions.
8092
8093 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8094
8095         * docs/gst/gstreamer-sections.txt:
8096         * gst/gstutils.c: (gst_pad_query_peer_position),
8097         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
8098         * gst/gstutils.h:
8099           API: add some new utility functions:
8100            - gst_pad_query_peer_position()
8101            - gst_pad_query_peer_duration()
8102            - gst_pad_query_peer_convert()
8103           
8104 2006-03-23  Wim Taymans  <wim@fluendo.com>
8105
8106         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8107         (gst_base_sink_init), (gst_base_sink_finalize),
8108         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
8109         (gst_base_sink_set_property), (gst_base_sink_get_property),
8110         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
8111         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8112         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
8113         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8114         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8115         (gst_base_sink_preroll_object), (gst_base_sink_event),
8116         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
8117         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
8118         (gst_base_sink_query), (gst_base_sink_change_state):
8119         Decouple max-lateness and the fact that QoS messages are generated
8120         with a new property (qos).
8121         added API: GstBaseSink::async_play()
8122         Add vmethod so subclasses can be notified of ASYNC playing
8123         state changes.
8124         Collect timestamp start and stop to report better current
8125         position in EOS/PLAYING/PAUSED/READY/NULL.
8126         Refactor QoS/frame dropping and other measurements.
8127         API: GstBaseSrc::qos
8128         Fixes #326311
8129
8130         * libs/gst/base/gstbasesink.h:
8131         Added Private struct.
8132         API: gst_base_sink_set_qos_enabled()
8133         API: gst_base_sink_is_qos_enabled()
8134
8135 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8136
8137         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8138           If compiling against GLib-2.8 or newer, try to read the
8139           registry file using GMappedFile first before falling back
8140           to fopen() + fread() (#332151).
8141
8142 2006-03-22  Wim Taymans  <wim@fluendo.com>
8143
8144         * gst/gstinfo.c: (gst_debug_set_active),
8145         (gst_debug_category_set_threshold):
8146         Disable debugging unless explicitly activated.
8147         Fixes #335480.
8148
8149 2006-03-22  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/gstelement.c: (gst_element_set_locked_state),
8152         (gst_element_dispose):
8153         Cleanup the error case.
8154
8155         * gst/gstobject.c: (gst_object_dispose):
8156         print a critical when some object was disposed with
8157         a parent, also revive the object since it might
8158         crash the parent.
8159
8160 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
8161
8162         * tools/gst-launch.1.in:
8163           Fix another typo.
8164
8165 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8166
8167         * configure.ac:
8168         * tests/check/Makefile.am:
8169           disable some tests when we don't have a registry
8170         * tests/check/gst/gstutils.c: (gst_utils_suite):
8171           don't build the part that needs parsing
8172
8173 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8174
8175         * gst/Makefile.am
8176         * tests/examples/Makefile.am:
8177           fix --disable-parse build
8178
8179 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * tools/gst-feedback.1.in:
8182           Fix typo: s/feeback/feedback/ (#133494).
8183
8184 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8185
8186         * tools/Makefile.am:
8187         * tools/gst-launch.1.in:
8188           Add FILES section and correct entry about GST_REGISTRY_PATH
8189           environment variable (#133495; #133494).
8190
8191 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8192
8193         * tools/Makefile.am:
8194         * tools/gst-md5sum.1.in:
8195         * tools/gst-md5sum.c:
8196           Remove gst-md5sum and man page (the md5sink element
8197           required was removed ages ago)
8198
8199 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8200
8201         * gst/gststructure.c: (gst_structure_id_set_value):
8202           Make sure that string fields in structures/taglists
8203           contain valid UTF-8 - we don't want to pass rubbish to
8204           applications because of a buggy plugin (cp. #334167).
8205
8206 2006-03-21  Edward Hervey  <edward@fluendo.com>
8207
8208         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8209         (gst_bin_handle_message_func):
8210         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
8211         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
8212         (gst_element_set_bus_func):
8213         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
8214         * gst/gstminiobject.c: (gst_value_set_mini_object),
8215         (gst_value_take_mini_object):
8216         * gst/gstpad.c: (gst_pad_set_pad_template):
8217         * gst/gstpipeline.c: (gst_pipeline_dispose),
8218         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8219         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
8220         (gst_collect_pads_chain):
8221         * libs/gst/net/gstnettimeprovider.c:
8222         (gst_net_time_provider_set_property):
8223         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
8224         It's in fact all issues with gst_*object_replace().
8225
8226 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
8229         
8230         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8231         * pkgconfig/gstreamer-check.pc.in:
8232           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8233
8234 2006-03-21  Edward Hervey  <edward@fluendo.com>
8235
8236         * gst/gstbuffer.h:
8237         * gst/gstevent.h:
8238         * gst/gstmessage.h:
8239         gst_[buffer|event|message]_ref() macros are replaced by a static
8240         inline functions because gcc-4.1 will about if the return value
8241         isn't used.
8242         * tests/check/gst/gstevent.c: (event_probe):
8243         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
8244
8245 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
8246
8247         * gst/gstutils.h:
8248         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
8249         the type' case. (Closes: #335195 for now). In the future, when we
8250         depend on GLib 2.10, we could also intern the type name using
8251         g_intern_static_string()
8252
8253 2006-03-20  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/gstbin.c: (gst_bin_handle_message_func),
8256         (bin_query_max_init), (bin_query_position_fold),
8257         (bin_query_position_done), (gst_bin_query):
8258         Position query should also take max of all streams.
8259
8260 2006-03-20  Wim Taymans  <wim@fluendo.com>
8261
8262         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8263         (gst_fake_src_finalize):
8264         Fix leaks in fakesrc.
8265
8266         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8267         Fix leaks in the testcase.
8268
8269 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
8270
8271         * gst/gst_private.h:
8272           add win32 specific import decoration(__declspec(dllimport)) 
8273           for all extern GstDebugCategory * variables
8274         * win32/common/libgstbase.def:
8275         * win32/common/libgstcontroller.def:
8276         * win32/common/libgstreamer.def:
8277           Add some exports, remove empty lines
8278         * win32/common/libgstdataprotocol.def:
8279         * win32/common/libgstdataprotocol.dsp:
8280         * win32/common/libgstnet.def:
8281         * win32/common/libgstnet.dsp:
8282           new project files and exportation files added
8283         
8284 2006-03-19  Wim Taymans  <wim@fluendo.com>
8285
8286         * tests/check/libs/basesrc.c: (eos_event_counter):
8287         Use proper return value for probe.
8288
8289 2006-03-17  Wim Taymans  <wim@fluendo.com>
8290
8291         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8292         (gst_pad_push):
8293         Don't leak buffers, caps and pads on negotiation errors.
8294
8295 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
8296
8297         * docs/faq/cvs.xml:
8298         * docs/faq/dependencies.xml:
8299         * docs/faq/developing.xml:
8300         * docs/faq/faq.xml:
8301         * docs/faq/general.xml:
8302         * docs/faq/getting.xml:
8303         * docs/faq/legal.xml:
8304         * docs/faq/troubleshooting.xml:
8305         * docs/faq/using.xml:
8306         Faq review and update.
8307
8308 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
8309
8310         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8311         (gst_pad_push):
8312         Don't pound the cpu to pieces by checking get_caps when accept_caps
8313         is called with the same caps as the pad already has.
8314         Use GST_DEBUG_OBJECT when outputting caps change information.
8315
8316 2006-03-15  Wim Taymans  <wim@fluendo.com>
8317
8318         * gst/gstclock.c: (gst_clock_class_init):
8319         Fix docs.
8320
8321 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
8322
8323         * gst/gstbuffer.h:
8324         Documentation fix.
8325
8326         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
8327         (gst_pad_accept_caps), (gst_pad_configure_sink),
8328         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
8329         Make the default acceptcaps behaviour be to check the requested 
8330         caps against the gst_pad_get_caps output. 
8331
8332         Ensure that gst_pad_accept_caps is used to check caps when a pad
8333         doesn't have a setcaps function, so that pads automatically refuse 
8334         caps that they don't allow in their pad template. (Fixes #332986)
8335
8336         When a buffer with attached caps is pushed, ensure that the source 
8337         pad receives those caps even if the element didn't call
8338         gst_pad_set_caps first.
8339
8340 2006-03-15  Wim Taymans  <wim@fluendo.com>
8341
8342         * libs/gst/base/gstadapter.c:
8343         Add some docs.
8344
8345 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         * win32/common/libgstbase.def:
8348         * win32/common/libgstcontroller.def:
8349         * win32/common/libgstreamer.def:
8350           Add a whole bunch of missing functions (#334434).
8351
8352 2006-03-14  Wim Taymans  <wim@fluendo.com>
8353
8354         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8355         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8356         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
8357         Better debug info when we receive a segment event.
8358         Reorganize a bit so we can pass the get_times() results around.
8359         Use the segment format when calculating the running time.
8360         Don't do QoS is sync is disabled or we have no clock or the
8361         element does not want us to sync to the clock.
8362         Don't drop buffers if QoS is disabled for now.
8363
8364 2006-03-14  Wim Taymans  <wim@fluendo.com>
8365
8366         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
8367         Marked the stats property as unimplemented so people don't get
8368         wild ideas.
8369         Add debug message when regression goes wrong.
8370         Added some more docs.
8371
8372 2006-03-14  Wim Taymans  <wim@fluendo.com>
8373
8374         * gst/gstsegment.c: (gst_segment_to_stream_time):
8375         Return correct return type in case of errors.
8376
8377 2006-03-14  Wim Taymans  <wim@fluendo.com>
8378
8379         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
8380           Don't segfault on invalid formats.
8381
8382 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8383
8384         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8385           Can't use gst_segment_to_running_time() when the segment
8386           is not in GST_TIME_FORMAT (like with filesink, for example).
8387           Stops flac encoding pipelines from spewing critical warnings
8388           at EOS (#331248).
8389           
8390 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8391
8392         * gst/gstpipeline.c: (gst_pipeline_class_init):
8393           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
8394
8395         * plugins/elements/gsttypefindelement.c:
8396         (gst_type_find_element_handle_event):
8397           Don't try to typefind empty streams.
8398
8399 2006-03-14  Wim Taymans  <wim@fluendo.com>
8400
8401         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8402         (gst_base_sink_do_qos):
8403         Separate QoS calculation.
8404         Only drop buffers when lateness is bigger than the 
8405         duration of the buffer.
8406
8407 2006-03-13  Wim Taymans  <wim@fluendo.com>
8408
8409         * gst/gstpipeline.c: (gst_pipeline_set_property),
8410         (gst_pipeline_get_property), (do_pipeline_seek),
8411         (gst_pipeline_change_state), (gst_pipeline_set_delay),
8412         (gst_pipeline_get_delay):
8413         Don't deadlock when reading properties.
8414
8415 2006-03-13  Wim Taymans  <wim@fluendo.com>
8416
8417         * libs/gst/base/gstbasetransform.c:
8418         (gst_base_transform_class_init), (gst_base_transform_init),
8419         (gst_base_transform_sink_event),
8420         (gst_base_transform_sink_eventfunc),
8421         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
8422         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8423         (gst_base_transform_set_property),
8424         (gst_base_transform_get_property),
8425         (gst_base_transform_change_state), (gst_base_transform_update_qos),
8426         (gst_base_transform_set_qos_enabled),
8427         (gst_base_transform_is_qos_enabled):
8428         * libs/gst/base/gstbasetransform.h:
8429         Make basetransform virtual method for src events too.
8430         Handle QOS in basetransform.
8431         API: gst_base_transform_update_qos()
8432         API: gst_base_transform_set_qos_enabled()
8433         API: gst_base_transform_is_qos_enabled()
8434
8435 2006-03-13  Wim Taymans  <wim@fluendo.com>
8436
8437         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8438         (gst_base_sink_do_sync):
8439         Small cleanups.
8440         Use QOS debug category.
8441
8442 2006-03-13  Wim Taymans  <wim@fluendo.com>
8443
8444         * plugins/elements/gstqueue.c:
8445         Very small doc update.
8446
8447 2006-03-13  Wim Taymans  <wim@fluendo.com>
8448
8449         * gst/gst_private.h:
8450         * gst/gstinfo.c: (_gst_debug_init):
8451         Added QOS debug category
8452
8453 2006-03-13  Wim Taymans  <wim@fluendo.com>
8454
8455         * docs/gst/gstreamer-sections.txt:
8456         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
8457         * gst/gstbin.h:
8458         * gst/gstbus.c: (gst_bus_class_init):
8459         * gst/gstbus.h:
8460         * gst/gstclock.c:
8461         * gst/gstelement.c: (gst_element_set_locked_state):
8462         * gst/gstsegment.c:
8463         Documentation updates.
8464
8465         * gst/gstpipeline.c: (gst_pipeline_get_type),
8466         (gst_pipeline_class_init), (gst_pipeline_init),
8467         (gst_pipeline_dispose), (gst_pipeline_set_property),
8468         (gst_pipeline_get_property), (do_pipeline_seek),
8469         (gst_pipeline_send_event), (gst_pipeline_change_state),
8470         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
8471         (gst_pipeline_get_delay):
8472         * gst/gstpipeline.h:
8473         Added methods for setting the delay.
8474         API: gst_pipeline_set_delay()
8475         API: gst_pipeline_get_delay()
8476         Add pipeline debug category
8477         Various cleanups.
8478         Updated docs.
8479         Don't reset stream time when seek failed.
8480
8481 2006-03-13  Wim Taymans  <wim@fluendo.com>
8482
8483         * docs/design/draft-klass.txt:
8484         * docs/design/part-clocks.txt:
8485         * docs/design/part-events.txt:
8486         * docs/design/part-gstbin.txt:
8487         * docs/design/part-gstpipeline.txt:
8488         * docs/design/part-messages.txt:
8489         * docs/design/part-negotiation.txt:
8490         * docs/design/part-overview.txt:
8491         * docs/design/part-preroll.txt:
8492         * docs/design/part-seeking.txt:
8493         * docs/design/part-states.txt:
8494         * docs/design/part-streams.txt:
8495         Documentation updates.
8496
8497 2006-03-12  Julien MOUTTE  <julien@moutte.net>
8498
8499         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
8500         us to leak strings...
8501
8502 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8503
8504         * libs/gst/net/gstnettimeprovider.c:
8505           fix docs
8506         * win32/common/config.h:
8507           update
8508
8509 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8510
8511         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
8512
8513         * configure.ac:
8514           Don't check for libgnomeui (leftover from old examples
8515           that aren't built or disted any longer) (#334303).
8516           
8517 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
8518
8519         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
8520         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8521           Emit RESOURCE_NO_SPACE_LEFT error here as well when
8522           there's no space left on the device.
8523
8524 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
8525
8526         * gst/gstclock.h:
8527           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
8528           to cast the input to GstClockTime before comparing with
8529           another GstClockTime value.
8530
8531 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * configure.ac:
8534           back to trunk
8535
8536 === release 0.10.4 ===
8537
8538 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
8539
8540         * configure.ac:
8541           releasing 0.10.4, "Light"
8542
8543 2006-03-10  Michael Smith  <msmith@fluendo.com>
8544
8545         * libs/gst/dataprotocol/dataprotocol.c:
8546           Fix docs for dataprocotol to not get the return types completely
8547           wrong for a few functions.
8548
8549 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8550
8551         * docs/gst/gstreamer-sections.txt:
8552         * gst/gstpipeline.c: (gst_pipeline_class_init),
8553         (gst_pipeline_init), (gst_pipeline_set_property),
8554         (gst_pipeline_get_property), (gst_pipeline_change_state),
8555         (gst_pipeline_set_auto_flush_bus),
8556         (gst_pipeline_get_auto_flush_bus):
8557         * gst/gstpipeline.h:
8558           Add new API: gst_pipeline_set_auto_flush_bus() and
8559           gst_pipeline_get_auto_flush_bus() to disable automatic
8560           flushing of the pipeline's GstBus when going from READY
8561           to NULL state (#332045).
8562
8563 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8564
8565         * docs/gst/gstreamer-sections.txt:
8566         * gst/gsturi.c: (gst_uri_has_protocol):
8567         * gst/gsturi.h:
8568            Add new API: gst_uri_has_protocol() (#333779).
8569
8570 2006-03-09  Wim Taymans  <wim@fluendo.com>
8571
8572         * gst/gstclock.c: (gst_clock_entry_new),
8573         (gst_clock_id_compare_func), (gst_clock_id_wait),
8574         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
8575         (gst_clock_init), (gst_clock_get_internal_time),
8576         (gst_clock_set_master), (do_linear_regression),
8577         (gst_clock_add_observation), (gst_clock_set_property):
8578         * gst/gstclock.h:
8579         Review docs.
8580         Small cleanups.
8581         Fix a possible segfault when the window-size is made smaller.
8582         Calculate jitter before performing the clock wait. Ideally
8583         the clock implementation should calculate jitter but we need
8584         API breakage for that.
8585
8586         * gst/gstsystemclock.c: (gst_system_clock_init):
8587         Docs review.
8588         
8589         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8590         Remove leftover else
8591
8592         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8593         (gst_systemclock_suite):
8594         Added check to test GST_CLOCK_DIFF.
8595
8596 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8597
8598         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
8599         (gst_type_find_helper_get_range):
8600           If we are provided with the size, we should implement
8601           GstTypeFind::get_length, so that typefind functions who
8602           want to can actually peek at the middle of a file.
8603
8604 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * docs/manual/advanced-dataaccess.xml:
8607           Add some very very basic error checking.
8608
8609         * docs/pwg/appendix-checklist.xml:
8610           Some updates to the list of things to check when writing an element.
8611
8612 2006-03-08  Wim Taymans  <wim@fluendo.com>
8613
8614         * docs/design/part-element-transform.txt:
8615         Added some docs about the design of tranform elements.
8616
8617         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8618         (gst_base_src_loop), (gst_base_src_change_state):
8619         Mark buffers with the DISCONT flag.
8620
8621 2006-03-08  Michael Smith  <msmith@fluendo.com>
8622
8623         * gst/gstregistry.h:
8624         * gst/gstregistryxml.c: (gst_registry_save),
8625         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
8626         (gst_registry_xml_save_pad_template),
8627         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
8628         (gst_registry_xml_write_cache):
8629           Rewrite registry-saving to avoid race conditions and check for
8630           failed writes.
8631
8632 2006-03-08  Wim Taymans  <wim@fluendo.com>
8633
8634         * libs/gst/base/gstbasetransform.c:
8635         (gst_base_transform_transform_caps),
8636         (gst_base_transform_transform_size),
8637         (gst_base_transform_prepare_output_buffer),
8638         (gst_base_transform_get_unit_size),
8639         (gst_base_transform_buffer_alloc),
8640         (gst_base_transform_handle_buffer),
8641         (gst_base_transform_change_state):
8642         Cleanups, separate normal flow from errors, add sensible
8643         DEBUG lines.
8644         Don't try to renegotiate when allocating an output buffer.
8645         Also copy DISCONT buffer flag when copying a buffer.
8646         Reset the transform after we finish streaming, not during.
8647
8648 2006-03-08  Wim Taymans  <wim@fluendo.com>
8649
8650         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8651         Use last buffer timestamp in qos message.
8652
8653 2006-03-07  Wim Taymans  <wim@fluendo.com>
8654
8655         Patch by: Christophe Fergeau
8656
8657         * docs/pwg/advanced-tagging.xml:
8658         * docs/pwg/building-pads.xml:
8659           fixes #333416
8660
8661 2006-03-07  Wim Taymans  <wim@fluendo.com>
8662
8663         * docs/libs/gstreamer-libs-sections.txt:
8664         Added basesink new methods.
8665
8666         * gst/gstevent.c:
8667         * gst/gstevent.h:
8668         Docs updates. Flesh out the QoS docs.
8669
8670         * libs/gst/base/gstadapter.c:
8671         Small doc clarification about ownership and flushing.
8672
8673         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
8674         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8675         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8676         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8677         * libs/gst/base/gstbasesink.h:
8678         API additions: 
8679         Added new methods to allow subclass to control max-lateness 
8680         and sync.
8681         Generate very basic QoS events based on last sync observation.
8682         Updated docs, fix typo, added some QoS blurb.
8683
8684         * libs/gst/base/gstbasesrc.c:
8685         Remove obsolete _get_state() calls from docs.
8686
8687 2006-03-07  Wim Taymans  <wim@fluendo.com>
8688
8689         * docs/libs/gstreamer-libs-sections.txt:
8690         * libs/gst/base/gstbasetransform.h:
8691         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8692         Fix docs for GstBaseSrc.
8693
8694 2006-03-07  Wim Taymans  <wim@fluendo.com>
8695
8696         * docs/gst/gstreamer-sections.txt:
8697         * gst/gstbuffer.h:
8698         * gst/gstvalue.c:
8699         * libs/gst/base/gstbasetransform.h:
8700         Small documentation fixes.
8701
8702 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8703
8704         * gst/gstvalue.c:
8705           Document thread-unsafety of gst_value_register_foo_func()
8706           when used at the same time as gst_value_foo() (#322628).
8707
8708 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8709
8710         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8711         (gst_push_src_check_get_range):
8712           Push sources don't support pull mode by default.
8713
8714 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8715
8716         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8717         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8718         (gst_base_src_default_check_get_range):
8719         * libs/gst/base/gstbasesrc.h:
8720           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8721           provide default implementation, and rename
8722           gst_base_src_check_get_range() to
8723           gst_base_src_pad_check_get_range() for clarity.
8724
8725 2006-03-06  Wim Taymans  <wim@fluendo.com>
8726
8727         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8728         Make property overridable.
8729
8730 2006-03-06  Wim Taymans  <wim@fluendo.com>
8731
8732         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8733         (gst_base_sink_init), (gst_base_sink_set_property),
8734         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8735         * libs/gst/base/gstbasesink.h:
8736         API addition: Make max-lateness a property.
8737
8738 2006-03-06  Wim Taymans  <wim@fluendo.com>
8739
8740         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8741         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8742         Don't ever draw a frame that is >10ms late.
8743
8744 2006-03-06  Michael Smith  <msmith@fluendo.com>
8745
8746         * gst/gstmessage.c: (_gst_message_copy):
8747           When copying a message, set the parent_refcount of the enclosed
8748           structure to point at the copy, not the original message.
8749
8750 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8751
8752         Patch by: Christophe Fergeau
8753
8754         * gst/gstutils.h:
8755           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8756           usable in c++ code (#333417)
8757
8758 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8759
8760         * gst/gstclock.h:
8761           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8762
8763 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         * libs/gst/base/gstbasetransform.c:
8766         (gst_base_transform_transform_caps):
8767           Make sure caps are writable before passing them to
8768           gst_caps_append().
8769
8770 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * gst/gsterror.h:
8773           Fix some minor docs errors.
8774
8775 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777           Patch by: Ross Burton <ross at burtonini dot com>
8778
8779         * gst/gsterror.c: (_gst_resource_errors_init):
8780         * gst/gsterror.h:
8781           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8782
8783 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8784
8785         * gst/gst.c:
8786         Add a check and output a g_warning when GStreamer is built
8787         against GLib 2.6 but running against 2.8 or higher, and vice 
8788         versa. (Closes: #323542)
8789
8790 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8791
8792         * gst/parse/parse.l:
8793           Commit patch for parse_launch syntax from #331255. Removes 
8794           support for quoted strings and mimetypes when writing filtered 
8795           caps. See the bug report for more details - I'm pretty sure this
8796           obscure feature is not in use by _anyone_ anywhere.
8797
8798           With this simple change, the size of the gstreamer.so here 
8799           drops from 2193KB to 1565KB.
8800
8801 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8802
8803         * plugins/elements/gsttypefindelement.h:
8804         * plugins/elements/gsttypefindelement.c:
8805         (gst_type_find_element_src_event), (start_typefinding),
8806         (stop_typefinding), (gst_type_find_element_handle_event),
8807         (gst_type_find_element_chain),
8808         (gst_type_find_element_chain_do_typefinding):
8809           Use gst_type_find_helper_for_buffer() for chain-based
8810           typefinding.
8811
8812 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8813
8814         * plugins/elements/gsttypefindelement.c:
8815         (gst_type_find_element_class_init),
8816         (gst_type_find_element_set_property),
8817         (gst_type_find_element_get_property):
8818           Deprecate "maximum" property (not only was it only taken into
8819           account for typefinding in push-mode anyway, it also was never
8820           actually possible to set it in the first place because the
8821           property was registered with the numeric property ID for the
8822           "minimum" property). Register "maximum" property correctly,
8823           for the sake of future copy'n'pasters. Remove some cruft
8824           from property get/set functions.
8825
8826 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8827
8828         * plugins/elements/gsttypefindelement.c:
8829         (gst_type_find_element_activate):
8830           Use gst_type_find_helper_get_range() here, so we
8831           can honour the "minimum" property and also emit
8832           the signal with the correct probability of the found caps.
8833
8834 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8835
8836         * docs/libs/gstreamer-libs-sections.txt:
8837         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8838         (helper_find_suggest), (gst_type_find_helper_get_range),
8839         (gst_type_find_helper):
8840         * libs/gst/base/gsttypefindhelper.h:
8841           New API: gst_type_find_helper_get_range() (#333042).
8842
8843 2006-03-02  Michael Smith  <msmith@fluendo.com>
8844
8845         * gst/gstregistryxml.c: (load_feature):
8846           Asserting on a failure to read part of the registry is Not Cool.
8847           Just log a warning and return NULL (which is already handled)
8848
8849 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8850
8851         * win32/common/libgstbase.def:
8852           added export of gst_type_find_helper_for_buffer
8853         * win32/common/libgstbase.def:
8854           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8855           gst_ghost_pad_get_target
8856
8857 2006-02-28  Wim Taymans  <wim@fluendo.com>
8858
8859         * docs/design/draft-klass.txt:
8860         We use Filter now.
8861         Added Connector to mark elements that are only used to
8862         allow pipeline connections.
8863         Moved Debug to extra feature since most of them are 
8864         functionally something else.
8865
8866 2006-02-28  Wim Taymans  <wim@fluendo.com>
8867
8868         * docs/design/draft-klass.txt:
8869         Some updates and clarifications.
8870
8871 2006-02-28  Wim Taymans  <wim@fluendo.com>
8872
8873         * docs/design/draft-klass.txt:
8874         Proposal for klass field values.
8875
8876         * docs/design/part-streams.txt:
8877         Start of a doc describing stream anatomy.
8878
8879 2006-02-28  Wim Taymans  <wim@fluendo.com>
8880
8881         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8882         Help the compiler a bit with type registration.
8883         Use existing forward cod path instead of duplicating it when 
8884         handling a message.
8885         
8886         * gst/gstbus.c: (gst_bus_get_type):
8887         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8888         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8889         * gst/gstclock.c: (gst_clock_get_type):
8890         * gst/gstelement.c: (gst_element_get_type),
8891         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8892         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8893         * gst/gstminiobject.c: (gst_mini_object_get_type):
8894         * gst/gstpad.c: (gst_pad_get_type):
8895         * gst/gstsegment.c: (gst_segment_get_type):
8896         * gst/gststructure.c: (gst_structure_get_type):
8897         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8898         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8899         * gst/gstvalue.c:
8900         Help compiler with type registration.
8901
8902         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8903         Small doc update.
8904
8905 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8906
8907         * plugins/elements/gsttypefindelement.c:
8908         (gst_type_find_element_handle_event):
8909           When we get an EOS event and have not found a type yet
8910           (most likely because we had not yet accumulated
8911           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8912           type given the data we have so far. Fixes typefinding
8913           for very short streams again, most notably quicktime
8914           redirections as used on Apple's trailer site (#331701).
8915
8916 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8917
8918         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8919         (gst_type_find_helper):
8920           Try typefinding factories with the highest rank first.
8921
8922 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8923
8924         * docs/libs/gstreamer-libs-docs.sgml:
8925         * docs/libs/gstreamer-libs-sections.txt:
8926         * libs/gst/base/gsttypefindhelper.c:
8927           Add section for typefind helper and add documentation
8928           for the old and the new function.
8929
8930 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8931
8932         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8933         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8934         (gst_type_find_helper_for_buffer):
8935         * libs/gst/base/gsttypefindhelper.h:
8936           New API: gst_type_find_helper_for_buffer() (#332723).
8937           
8938 2006-02-27  Michael Smith  <msmith@fluendo.com>
8939
8940         Patch by: Loïc Minier
8941
8942         * configure.ac:
8943         * docs/Makefile.am:
8944         * docs/slides/Makefile.am:
8945           prevent CVS directories getting disted.
8946
8947 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8948
8949         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8950           Use the REFCOUNTING category for caps refcounting.
8951           
8952 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8953
8954         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8955           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8956
8957 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8958
8959         * plugins/elements/gsttypefindelement.c:
8960         (gst_type_find_element_activate):
8961           Use gst_pad_check_pull_range() before _activate_pull()
8962           to avoid unnecessary open/close (see #331690).
8963
8964 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8965
8966         * gst/gstutils.c:
8967           Docs enhancement: make it crystal clear what the
8968           gst_pad_add_*_probe() callbacks should look like.
8969
8970 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8971
8972         * libs/gst/base/gstbasesrc.c:
8973           Document how applications can stop recording from
8974           live sources (see #330996).
8975
8976 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8977
8978         * tests/check/Makefile.am:
8979         * tests/check/libs/basesrc.c: (eos_event_counter),
8980         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8981         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8982         (gst_basesrc_suite), (main):
8983           ... and add some tests for the base source EOS stuff.
8984
8985 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8988           Test case originally showed the problem fixed below,
8989           but was then amended. Add checks back at the place
8990           where they used to be.
8991
8992 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8993
8994         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8995         (gst_base_src_init), (gst_base_src_loop),
8996         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8997         (gst_base_src_change_state):
8998         * libs/gst/base/gstbasesrc.h:
8999           Don't unconditionally send EOS when going from PAUSED to
9000           READY state, esp. make sure we don't send two EOS events
9001           in some cases (e.g. one when reaching EOS and one when
9002           going from PAUSED to READY). Also, we don't want to send
9003           EOS events when operating in pull mode. However, we do
9004           want to send an EOS event when shutting down a live
9005           source explicitly, for example (fixes #330996).
9006           
9007 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9008
9009         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9010           Update src->read_position after a seek when not using mmap.
9011           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
9012
9013 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
9014
9015         * gst/Makefile.am:
9016         * gst/gstparse.h:
9017         * gst/gstutils.c:
9018         * gst/gstutils.h:
9019         Make things work with --disable-parse as they do with 
9020         --disable-load-save - the symbols involved disappear, but the
9021         header is still installed and GST_DISABLE_PARSE is included via
9022         gstconfig.h
9023
9024 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9025
9026         * libs/gst/base/gstbasetransform.c:
9027         (gst_base_transform_change_state): Fix a stupid bug. I was 
9028         sure I compiled that.
9029
9030 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9031
9032         * gst/gstpad.c: (gst_pad_set_blocked_async):
9033         * gst/gstutils.c: (gst_pad_add_data_probe),
9034         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9035         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9036         (gst_pad_remove_buffer_probe): Make those function act on the
9037         ghostpad target when it's a ghostpad. (Closes #331727)
9038
9039 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9040
9041         * libs/gst/base/gstbasetransform.c:
9042         (gst_base_transform_change_state): Make basetransform reusable.
9043         (Closes #331898)
9044
9045 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
9046
9047         * docs/random/release:
9048         Move the current documentation of how to do a release to the top
9049         of the file.
9050
9051         * gst/gstbin.c: (gst_bin_class_init),
9052         (gst_bin_handle_message_func):
9053         Allow multiple state-recalculation threads. (Closes #328873)
9054
9055 2006-02-19  Julien MOUTTE  <julien@moutte.net>
9056
9057         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
9058         * gst/gstpad.c: (gst_pad_set_event_function),
9059         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9060         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
9061         2 strings. You can't use the STR_NULL macro on that.
9062
9063 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
9064
9065         * gst/gstpad.c: (gst_pad_set_event_function),
9066         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9067         (gst_pad_set_getcaps_function)
9068         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
9069           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
9070           So now, we can use --gst-debug-level=5 on Windows
9071         * win32/common/libgstcontroller.def:
9072           Added export of gst_controller_init
9073         * win32/vs6/libgstcontroller.dsp:
9074           Fixed Release post build configuration
9075
9076 2006-02-17  Wim Taymans  <wim@fluendo.com>
9077
9078         * tests/check/gst/gstquery.c: (GST_START_TEST):
9079         Added another check.
9080
9081 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
9082
9083         * plugins/elements/gsttypefindelement.c: (find_peek):
9084           We can do peeks at non-zero offsets, as long as they
9085           fall within the buffer we have.
9086
9087 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
9088
9089         * tests/check/Makefile.am:
9090         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
9091         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
9092         (parse_suite), (main):
9093           Add testsuite for parse launch syntax
9094
9095 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         * plugins/elements/gsttypefindelement.c:
9098         (gst_type_find_element_chain):
9099           When typefinding is unsuccessful in the chain function, don't
9100           error out immediately. Only error out with NO_CAPS_FOUND if
9101           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
9102           otherwise simply wait for more data so we can try typefinding
9103           again with more data later. Also, don't attempt to typefind
9104           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
9105           this should improve typefinding from network sources where the
9106           size of the first buffer can be somewhat random.
9107
9108 2006-02-14  Wim Taymans  <wim@fluendo.com>
9109
9110         * docs/gst/gstreamer-sections.txt:
9111         * gst/gstpadtemplate.c:
9112         * gst/gstpadtemplate.h:
9113         Fix padtemplate docs, fixes #328805.
9114
9115 2006-02-14  Wim Taymans  <wim@fluendo.com>
9116
9117         * tools/gst-launch.c: (main):
9118         NO_PREROLL is not an ERROR so don't send confusing messages
9119         to the user.
9120
9121 2006-02-14  Wim Taymans  <wim@fluendo.com>
9122
9123         Patch by: Torsten Schoenfeld
9124
9125         * gst/gstregistry.c: (gst_registry_get_default),
9126         (_gst_registry_cleanup):
9127         Protect default registry with lock and ref/sink it.
9128         Fixes #324818
9129
9130 2006-02-14  Wim Taymans  <wim@fluendo.com>
9131
9132         * gst/gstbuffer.c:
9133         * gst/gstquery.c: (gst_query_list_add_format),
9134         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9135         (gst_query_parse_formats_nth):
9136         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9137         Docs fixes.
9138
9139 2006-02-14  Wim Taymans  <wim@fluendo.com>
9140
9141         * docs/gst/gstreamer-sections.txt:
9142         Reworked query docs.
9143
9144         * gst/gstquery.c: (gst_query_new_formats),
9145         (gst_query_list_add_format), (gst_query_set_formats),
9146         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9147         (gst_query_parse_formats_nth):
9148         * gst/gstquery.h:
9149         Flesh out formats query, added some new methods.
9150         Fix part of #324398.
9151
9152         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
9153         Added query creation tests.
9154
9155 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
9156
9157         * gst/gstpad.c: (fixate_value):
9158         Add a default fixation for fraction lists.
9159
9160 2006-02-13  Wim Taymans  <wim@fluendo.com>
9161
9162         * gst/gsttask.c: (gst_task_init), (gst_task_func),
9163         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
9164         (gst_task_join):
9165         * gst/gsttask.h:
9166         Detect and warn for obvious deadlocks. fixes #320340
9167         Fix error case where lock was not released.
9168
9169         * tests/check/Makefile.am:
9170         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
9171         (task_func), (gst_element_suite), (main):
9172         Add task check.
9173
9174 2006-02-13  Wim Taymans  <wim@fluendo.com>
9175
9176         * docs/gst/gstreamer-sections.txt:
9177         * gst/gstbus.c:
9178         Add new functions to docs.
9179
9180 2006-02-13  Wim Taymans  <wim@fluendo.com>
9181
9182         * docs/design/part-TODO.txt:
9183         Updated TODO list, basesrc supports seeking to non-bytes
9184         formats.
9185
9186         * docs/design/part-element-sink.txt:
9187         Update docs.
9188
9189         * gst/gstbin.c: (bin_replace_message),
9190         (gst_bin_handle_message_func):
9191         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
9192         * gst/gstevent.c: (gst_event_finalize):
9193         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9194         (gst_pad_send_event):
9195         Use shiny new _TYPE_NAME macros.
9196
9197         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9198         Move debug statement up.
9199
9200         * gst/gstelement.c: (gst_element_set_locked_state):
9201         Add some debugging.
9202
9203 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
9204
9205         * docs/gst/gstreamer-sections.txt:
9206         * gst/gstmessage.h:
9207         * gst/gstquery.h:
9208           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
9209           macros (#330906). Also, document the already existing
9210           GST_QUERY_TYPE macro.
9211
9212 2006-02-13  Wim Taymans  <wim@fluendo.com>
9213
9214         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
9215         (event_probe), (GST_START_TEST):
9216         Only events up to the pipeline EOS are counted, there are
9217         some more when going to NULL currently which we don't care
9218         about for now.
9219
9220 2006-02-13  Wim Taymans  <wim@fluendo.com>
9221
9222         * gst/gstpad.c: (gst_pad_send_event):
9223         Correctly check flushing and emit probes. fixes #330125
9224
9225 2006-02-10  Andy Wingo  <wingo@pobox.com>
9226
9227         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9228         structure.
9229         (gst_bus_init): Cache the location of the private data in the
9230         instance structure.
9231         (gst_bus_enable_sync_message_emission) 
9232         (gst_bus_disable_sync_message_emission): Implement new public
9233         functions.
9234         (gst_bus_post): Emit the sync-message signal if the user asked for
9235         it. Fixes #330684.
9236
9237         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
9238         location of the bus-private structure.
9239         (gst_bus_enable_sync_message_emission)
9240         (gst_bus_disable_sync_message_emission): API addition
9241
9242 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
9243
9244         Patch by: Vincent Torri
9245
9246         * docs/pwg/building-boiler.xml:
9247         PWG patch from #326800
9248
9249 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9250
9251         * configure.ac:
9252         * docs/Makefile.am:
9253         * docs/design/Makefile.am:
9254           Dist design docs.
9255
9256 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9257
9258         * configure.ac:
9259           back to CVS
9260
9261 === release 0.10.3 ===
9262
9263 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
9264
9265         * configure.ac:
9266           releasing 0.10.3, "Like a virgin"
9267
9268 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9269
9270         * configure.ac:
9271           2nd prerelease of 0.10.3
9272           Bump libtool versioning.
9273
9274 2006-02-07  Andy Wingo  <wingo@pobox.com>
9275
9276         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
9277         update last_stop if we're in TIME format and the timestamp is
9278         valid.
9279
9280         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
9281         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
9282         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
9283         If we get a new newsegment with a different format, adapt
9284         accordingly.
9285
9286         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
9287         of 0. Not a problem, really.
9288
9289         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
9290         warn if sync=true.
9291
9292 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
9293
9294         * configure.ac:
9295           Prelease of 0.10.3
9296
9297 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
9298
9299         * win32/vs7:
9300           project files updated to the default vs7 configuration
9301         * win32/common/libgstbase.def:
9302         * win32/common/libgstreamer.def:
9303           added new symbols,
9304           removed empty lines,
9305           sorted all exported symbols alphabetically
9306         * win32/common/dirent.c:
9307         * win32/common/dirent.h:
9308         * win32/common/gchar.h:
9309           use windows line end.
9310           
9311 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9312
9313         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9314           Send EOS event when stopping.
9315
9316 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9317
9318         * docs/README:
9319           Tell folks what to do if the plugin-foobar.xml file
9320           hasn't been generated for a newly-added plugin.
9321
9322 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9323
9324         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9325         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9326         (gst_collect_pads_start), (gst_collect_pads_stop),
9327         (gst_collect_pads_event): Collectpads now holds a reference
9328         to the GstPad that was added. Indeed we don't want to look
9329         at pads that might just go away with no warning...
9330
9331 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9332
9333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9334         (gst_collect_pads_start), (gst_collect_pads_stop),
9335         (gst_collect_pads_event), (gst_collect_pads_chain):
9336         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
9337         Mark Nauwelaerts's patch on bug #328491.
9338
9339 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9340
9341         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
9342         (gst_utils_suite):
9343           Add some simple tests for gst_parse_bin_from_description() and
9344           gst_bin_find_unconnected_pad() (#329069).
9345
9346 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9347
9348         * tools/gst-launch.c: (event_loop), (main):
9349           Catch errors during preroll (#320084).
9350
9351 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
9352
9353         * plugins/elements/gsttypefindelement.c:
9354         (gst_type_find_element_activate):
9355           Post TYPE_NOT_FOUND error message when typefinding
9356           is unsuccessful in the activate function as well.
9357
9358 2006-02-02  Wim Taymans  <wim@fluendo.com>
9359
9360         * docs/design/part-element-sink.txt:
9361         Updated doc.
9362
9363 2006-02-02  Wim Taymans  <wim@fluendo.com>
9364
9365         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9366         (gst_base_sink_render_object),
9367         (gst_base_sink_queue_object_unlocked):
9368         Only keep track of prerollable items when we are 
9369         prerolling.
9370         Before rendering after preroll, always check if we
9371         have queued items.
9372         Added some more debugging.
9373
9374 2006-02-02  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/gstelement.c: (gst_element_continue_state),
9377         (gst_element_set_state_func), (gst_element_change_state):
9378         Fixed #326576, been running this for quite some time with
9379         no regressions at all.
9380
9381 2006-02-02  Wim Taymans  <wim@fluendo.com>
9382
9383         * common/gst.supp:
9384         Added more suppressions
9385
9386 2006-02-02  Wim Taymans  <wim@fluendo.com>
9387
9388         * docs/design/part-element-sink.txt:
9389         Updated document.
9390
9391         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9392         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
9393         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9394         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9395         (gst_base_sink_do_sync), (gst_base_sink_render_object),
9396         (gst_base_sink_preroll_object),
9397         (gst_base_sink_queue_object_unlocked),
9398         (gst_base_sink_queue_object), (gst_base_sink_event),
9399         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
9400         (gst_base_sink_loop), (gst_base_sink_activate_pull),
9401         (gst_base_sink_get_position), (gst_base_sink_change_state):
9402         * libs/gst/base/gstbasesink.h:
9403         Totally refactored matching the design doc.
9404         Use two segments, one to clip incomming buffers and another to
9405         perform sync.
9406         Handle queueing correctly, bypass the queue when playing.
9407         Make EOS cancelable.
9408         Handle errors correctly when operating in pull based mode.
9409
9410         * tests/check/elements/fakesink.c: (GST_START_TEST),
9411         (fakesink_suite):
9412         Added new check for sinks.
9413
9414 2006-02-02  Wim Taymans  <wim@fluendo.com>
9415
9416         * gst/gstsegment.c: (gst_segment_clip):
9417         No reason to refuse to clip when start == -1
9418
9419 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
9420
9421         * docs/README:
9422         * docs/manual/intro-basics.xml:
9423         * docs/manual/intro-preface.xml:
9424         * docs/manual/manual.xml:
9425         * docs/pwg/advanced-dparams.xml:
9426         * docs/pwg/intro-basics.xml:
9427         * docs/pwg/intro-preface.xml:
9428         * docs/pwg/pwg.xml:
9429           describe dparams (controller) for plugins
9430           unify docs a little more
9431
9432 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
9433
9434         * docs/gst/gstreamer-sections.txt:
9435         * gst/gstutils.c: (element_find_unconnected_pad),
9436         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
9437         * gst/gstutils.h:
9438           Add new API: gst_parse_bin_from_description() and
9439           gst_bin_find_unconnected_pad() (#329069).
9440
9441 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
9442
9443         * docs/manual/README:
9444           uncover a nasty detail of the docs build
9445
9446 2006-01-31  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
9449         Don't cache duration messages if we're not going to use or
9450         free them.
9451
9452 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
9453
9454         * docs/manual/advanced-dparams.xml:
9455         * docs/pwg/advanced-dparams.xml:
9456           more dparam docs
9457         * gst/gstindex.c:
9458           fix docs
9459         * libs/gst/controller/lib.c: (gst_controller_init):
9460           init just once
9461
9462 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * gst/gstelement.c: (gst_element_message_full):
9465           also show file/line/func if no additional debug was given
9466
9467 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
9468         
9469         * win32/vs7/grammar.vcproj:
9470           activate copy of autogenerated files for Release mode
9471
9472 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9473         
9474         * win32/common/libgstreamer.def:
9475           export gst_value_compare
9476
9477 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
9478
9479         * plugins/elements/Makefile.am:
9480         * plugins/elements/gstelements.c:
9481         * plugins/elements/gstfdsink.c: (_do_init),
9482         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
9483         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
9484         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
9485         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
9486         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
9487         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
9488         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
9489         * plugins/elements/gstfdsink.h:
9490         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
9491
9492 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
9493
9494         * docs/manual/advanced-dparams.xml:
9495           describe controller
9496         * docs/manual/advanced-position.xml:
9497         * docs/manual/basics-init.xml:
9498         * docs/manual/manual.xml:
9499         * docs/manual/titlepage.xml:
9500         * docs/pwg/pwg.xml:
9501         * docs/pwg/titlepage.xml:
9502           cleanup xml (more to come)
9503         * libs/gst/controller/gstcontroller.c:
9504           fix typo
9505
9506 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9507         
9508         * win32/vs6/grammar.dsp:
9509           add autogen of gstmarshal.c,h for Release mode
9510                 
9511 2006-01-30  Wim Taymans  <wim@fluendo.com>
9512
9513         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9514         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
9515         (gst_base_sink_handle_object), (gst_base_sink_event),
9516         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
9517         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9518         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
9519         (gst_base_sink_deactivate), (gst_base_sink_activate),
9520         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
9521         (gst_base_sink_query), (gst_base_sink_change_state):
9522         Basesink cleanups, remove some old code.
9523         Handle the case where a subclass can preroll in the render
9524         method (mostly audiosinks).
9525         Handle more events.
9526         Remove some locks around variables that are now protected
9527         with the PREROLL_LOCK (clock_id, flushing, ..).
9528         Optimize position query some more, do correct locking.
9529         Remove old code to push queue in state change, this is not
9530         needed anymore since preroll blocks on all prerollable items 
9531         now.
9532         Almost implemented as described in design doc.
9533
9534 2006-01-30  Wim Taymans  <wim@fluendo.com>
9535
9536         * tests/check/gst/gstbin.c: (GST_START_TEST):
9537         Wait for refcount to settle down before checking.
9538
9539 2006-01-30  Wim Taymans  <wim@fluendo.com>
9540
9541         * docs/design/part-element-sink.txt:
9542         Pseudo code overview of desired sink behaviour regarding
9543         preroll.
9544
9545 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9546         * win32/vs6/grammar.dsp:
9547           fix some bugs in Release mode for autogenerated files
9548                 
9549 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9550         * win32/common/libgstbase.def:
9551         * win32/common/libgstreamer.def:
9552           export some new symbols: gst_base_src_set_format,
9553           gst_iterator_next, gst_structure_set_valist
9554
9555 2006-01-29  Julien MOUTTE  <julien@moutte.net>
9556
9557         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9558         Set pad functions unconditionally. Fixes #329105.
9559
9560 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9561         * win32/vs8:
9562           add vs8 project files created by Sergey Scobich
9563
9564 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
9565
9566         * gst/gstutils.c: (gst_element_unlink_pads):
9567         Don't leak pad references.
9568
9569         * tests/check/elements/fakesink.c: (GST_START_TEST):
9570         * tests/check/generic/sinks.c: (GST_START_TEST):
9571         * tests/check/generic/states.c: (GST_START_TEST):
9572         * tests/check/gst/gstbin.c: (GST_START_TEST):
9573         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9574         * tests/check/gst/gstelement.c: (GST_START_TEST):
9575         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9576         * tests/check/gst/gstiterator.c: (GST_START_TEST):
9577         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9578         Fix a bunch of leaks. Make generic/sinks.c
9579         use a bit less cpu by slowing the buffer rate
9580         between fakesrc and fakesink.
9581         
9582 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
9583         * gst/gstcaps.c:
9584         * gst/gstelement.c: (gst_element_send_event):
9585         * gst/gstevent.c:
9586         * gst/gstinfo.c:
9587         * gst/gstiterator.c:
9588         * gst/gstiterator.h:
9589         * gst/gstpad.c: (gst_pad_send_event):
9590         * gst/gststructure.c:
9591         * gst/gsturi.c:
9592         * gst/gstutils.c:
9593         * gst/gstvalue.c:
9594         * libs/gst/base/gstadapter.c:
9595           doc fixes, to link to function, just write gst_cool_function(), don't
9596           prefix with '#'
9597
9598 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9599
9600         * plugins/elements/gsttee.c: (gst_tee_do_push),
9601         (gst_tee_handle_buffer):
9602         Always prefer an actual return value from a src
9603         pad in place of NOT_LINKED. This means we return
9604         WRONG_STATE when all src pads are WRONG_STATE
9605         instead of NOT_LINKED.
9606
9607         Lock when replacing the last message to prevent
9608         racing with the get_property method.
9609
9610         Add debug output
9611
9612 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9613
9614         * tests/check/Makefile.am:
9615         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
9616         (main):
9617         Add a very simple check that should have caught the memleak I fixed
9618         last night (if not for the slice allocator hiding it)
9619
9620 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9621
9622         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9623         (gst_bin_remove_func), (gst_bin_handle_message_func),
9624         (bin_query_duration_fold), (bin_query_generic_fold):
9625         Clean up references to the clock provider when disposed or when
9626         handling a clock-lost message from it.
9627
9628         Unref sinks when performing a query via gst_iterator_fold, as the
9629         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
9630
9631         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
9632         (gst_clock_set_master):
9633         Drop our reference to the master clock, if any, when we are disposed.
9634
9635         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
9636         Chain up in dispose. 
9637
9638 2006-01-26  Wim Taymans  <wim@fluendo.com>
9639
9640         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9641         Add some debugging.
9642
9643 2006-01-26  Julien MOUTTE  <julien@moutte.net>
9644
9645         * plugins/elements/gsttee.c: (gst_tee_do_push),
9646         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
9647         handles pad being NOT_LINKED or in WRONG_STATE.
9648
9649 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9650
9651         * win32/MANIFEST:
9652           more updating
9653
9654 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9655
9656         * win32/MANIFEST:
9657           remove obsolete entry
9658
9659 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9660
9661         * docs/gst/gstreamer-sections.txt:
9662         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
9663         (gst_bin_iterate_sources), (gst_bin_send_event):
9664         * gst/gstbin.h:
9665         * gst/gstelement.c: (gst_element_send_event):
9666         * gst/gstevent.c:
9667         * gst/gstpad.c: (gst_pad_send_event):
9668           added code for downstream events, reviewed docs in gstevent.c
9669
9670 2006-01-25  Julien MOUTTE  <julien@moutte.net>
9671
9672         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9673         We only query position using the clock in the playing state.
9674         Query peer in the other cases.
9675         * win32/common/config.h: Updates.
9676
9677 2006-01-24  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9680         A clock entry that is scheduled for the exact time of the
9681         clock is still in time.
9682
9683         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9684         (gst_base_sink_do_sync):
9685         Add some more debug info.
9686
9687 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9688
9689         * win32/vs7:
9690           Add new vs7 project files and solution.
9691
9692 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9693
9694         * win32/vs7:
9695           all files removed as they were out-dated.
9696
9697 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * docs/random/release:
9700           update notes
9701         * gst/gstbin.c: (gst_bin_init):
9702         * gst/gstbus.c: (gst_bus_new):
9703         * gst/gstbus.h:
9704         * gst/gstpipeline.c: (gst_pipeline_init):
9705           use gst_bus_new(), improve logging, fix docs
9706         * win32/common/config.h:
9707           update for cvs build
9708
9709 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9710
9711         * autogen.sh:
9712           up required version of automake to 1.7
9713
9714 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9715
9716         * win32/common/libgstreamer.def:
9717           export gst_buffer_is_metadata_writable
9718
9719 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9720
9721         * docs/gst/gstreamer-sections.txt:
9722         * gst/gstevent.h:
9723           Add gst_event_replace() (#327001)
9724
9725 2006-01-20  Wim Taymans  <wim@fluendo.com>
9726
9727         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9728         Make it actually compile too..
9729
9730 2006-01-20  Wim Taymans  <wim@fluendo.com>
9731
9732         * gst/gstcaps.c:
9733         Clarify behaviour of _is_equal() when passing NULL parameters.
9734
9735         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9736         (gst_pad_set_caps):
9737         Cleanups. Don't unref NULL caps.
9738         When setting the same caps, protect caps of the pad with
9739         proper lock.
9740         Use full functionality of _is_equal() when comparing caps.
9741
9742 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9743
9744         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9745         Don't loop infinitely if there are no buffers to present. Partially
9746         fixes #327197, but collectpads is just broken for reusing elements
9747         to do multiple encodes atm.
9748
9749 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9750
9751         * tools/gst-inspect.c: (print_element_features):
9752         * tools/gst-xmlinspect.c: (main):
9753         URL_HANDLER is not a plugin feature we can search for in
9754         the registry.
9755
9756 2006-01-19  Edward Hervey  <edward@fluendo.com>
9757
9758         * gst/gstelement.c: (gst_element_pads_activate): 
9759         When activating, do src pads first, then sink pads.
9760         When de-activating, do sink pads first, then src pads.
9761
9762 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9763
9764         * docs/gst/gstreamer-sections.txt:
9765         Add gst_index_add_associationv to the docs
9766
9767 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9768
9769         * gst/gstevent.c:
9770           Fix docs typo
9771
9772         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9773         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9774           Do some refactoring. Doesn't actually change functionality,
9775           but makes landing the DRAIN event easier later.
9776
9777 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9778
9779         * docs/pwg/advanced-scheduling.xml:
9780           Update from 0.9.x to 0.10 API and make example a bit
9781           clearer.
9782
9783 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9784
9785         * docs/gst/gstreamer-sections.txt:
9786         Add gst_buffer_(is|make)_metadata_writable methods.
9787
9788 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9789
9790         * docs/design/part-sparsestreams.txt:
9791         Update sparse streams doc, hopefully for greater clarity
9792
9793 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9794
9795         * docs/design/part-events.txt:
9796         Remove mention of FILLER events.
9797         Add DRAIN event.
9798
9799         * docs/design/part-sparsestreams.txt:
9800         Write some things about using NEWSEGMENT to keep sparse streams
9801         flowing.
9802
9803 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9804
9805         * gst/gstbin.c: (gst_bin_dispose):
9806           Guard gst_object_unref call against a NULL object (dispose
9807           can theoretically be called multiple times).
9808           
9809 2006-01-18  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/gstbin.c: (gst_bin_element_set_state):
9812         * gst/gstclock.c: (gst_clock_id_wait):
9813         Added some more debug info.
9814
9815         * libs/gst/base/gstadapter.c:
9816         Added more docs.
9817
9818         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9819         (gst_base_sink_do_sync), (gst_base_sink_chain):
9820         Added some comments.
9821
9822 2006-01-18  Wim Taymans  <wim@fluendo.com>
9823
9824         * tests/check/Makefile.am:
9825         * tests/check/elements/fakesink.c: (chain_async_buffer),
9826         (chain_async), (chain_async_return), (GST_START_TEST),
9827         (fakesink_suite), (main):
9828         Added fakesink test that checks prerolling and clipping
9829         behaviour.
9830
9831         * tests/check/gst/gstutils.c: (GST_START_TEST):
9832         Make check run faster so that buildbots don't timeout.
9833
9834 2006-01-18  Wim Taymans  <wim@fluendo.com>
9835
9836         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9837         (gst_base_sink_do_sync):
9838         Some cleanups.
9839         When the sink finishes blocking on the preroll buffer, it can
9840         immediatly render it instead of rendering when the next buffer
9841         arrives.
9842
9843 2006-01-18  Wim Taymans  <wim@fluendo.com>
9844
9845         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9846         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9847         (gst_base_sink_chain):
9848         Small cleanups.
9849         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9850         Don't store _last_stop if the buffer is dropped.
9851
9852 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9853
9854         * plugins/elements/gsttypefindelement.c:
9855         (gst_type_find_element_class_init):
9856           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9857           object method handler that sets the caps on the pad and we want
9858           that to happen before we emit the signal (fixes e.g. feeding a
9859           plain text file to decodebin).
9860
9861 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9862
9863         * gst/gstplugin.c: Add MPL and Proprietary as license options
9864
9865 2006-01-18  Andy Wingo  <wingo@pobox.com>
9866
9867         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9868         symbol was exported before, it appears this was just an oversight.
9869         Fixes #168703.
9870         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9871
9872         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9873         prototype to gint. OK since this prototype was not in the header.
9874
9875 2006-01-17  Andy Wingo  <wingo@pobox.com>
9876
9877         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9878         registry while we remove plugins.
9879
9880         * tools/gst-inspect.c (print_element_info): Don't unref the
9881         factory arg, that should be the responsibility of whatever code
9882         received the ref. Fixes a double-free when called from
9883         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9884         (main): Unref the factory if we have one.
9885         (print_element_list): No change -- relies on the
9886         plugin_feature_list_free to free the list of features.
9887
9888 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9889
9890         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9891         (gst_buffer_make_metadata_writable):
9892         * gst/gstbuffer.h:
9893         * libs/gst/base/gstbasetransform.c:
9894         (gst_base_transform_prepare_output_buf):
9895         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9896         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9897           Replace gst_buffer_(make|is)_metadata_writable patch now
9898           that the release is out.
9899
9900 2006-01-17  Andy Wingo  <wingo@pobox.com>
9901
9902         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9903         in the present tense without reference to versions.
9904
9905         * gst/gstregistry.c (gst_registry_add_plugin)
9906         (gst_registry_remove_plugin, gst_registry_remove_feature)
9907         (gst_registry_find_feature, gst_registry_get_feature_list)
9908         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9909         (gst_registry_lookup, gst_registry_scan_path)
9910         (_gst_registry_remove_cache_plugins)
9911         (gst_registry_get_feature_list_by_plugin): Add argument
9912         validation.
9913
9914 === release 0.10.2 ===
9915
9916 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9917
9918         * configure.ac:
9919           releasing 0.10.2, "If man is five"
9920
9921 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9922
9923         * gst/gstbuffer.c:
9924         * gst/gstbuffer.h:
9925         * libs/gst/base/gstbasetransform.c:
9926         (gst_base_transform_prepare_output_buf):
9927         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9928         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9929           Back out patch until after the release.
9930
9931 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9932
9933         * gst/gstminiobject.c:
9934           Spelling fix in docs.
9935         * ChangeLog - remove conflict indicator
9936
9937 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9938
9939         Reviewed By: Andy Wingo
9940
9941         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9942         (gst_buffer_make_metadata_writable):
9943         * gst/gstbuffer.h:
9944           Add gst_buffer_(is|make)_metadata_writable as analogues of
9945           gst_buffer_(is|make)_writable.
9946
9947         * libs/gst/base/gstbasetransform.c:
9948         (gst_base_transform_prepare_output_buf):
9949         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9950           Use name gst_buffer_(is|make)_metadata_writable functions.
9951
9952         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9953           Test gst_buffer_(is|make)_metadata_writable
9954         
9955           (Closes: #324162)
9956
9957 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * docs/manual/Makefile.am:
9960           don't do parallel make
9961         * configure.ac:
9962           AC_SUBST HOST_CPU
9963         * win32/common/config.h.in:
9964           add generations for HOST_CPU and GST_MAJORMINOR
9965         * win32/common/config.h:
9966           commit generated result
9967
9968 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9969
9970         * docs/manual/appendix-integration.xml:
9971           Update GNOME integration section to use gst_init_get_option_group()
9972           instead of the old popt stuff (#322911). Also, GNOME applications
9973           should  now use gconf*sink and gconf*src instead of the old gconf
9974           helper lib we had.
9975
9976 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9977
9978
9979         * docs/gst/gstreamer-docs.sgml:
9980         * docs/gst/gstreamer-sections.txt:
9981         * docs/libs/gstreamer-libs-sections.txt:
9982           add new API entries to the docs
9983         * libs/gst/controller/Makefile.am:
9984         * libs/gst/controller/gstcontroller.c:
9985         * libs/gst/controller/gstcontroller.h:
9986         * libs/gst/controller/gstcontrollerprivate.h:
9987         * libs/gst/controller/gsthelper.c:
9988         * libs/gst/controller/gstinterpolation.c:
9989           move private structs to private header
9990         * po/README:
9991           gstreamer-0.7 -> gstreamer-0.10
9992         * tests/check/libs/struct_i386.h:
9993           remove private structs
9994
9995 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * plugins/indexers/Makefile.am:
9998           Fixes as part of #317048
9999
10000 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10001
10002         * plugins/indexers/Makefile.am:
10003           fix #316086 - compilation when mmap is missing
10004
10005 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
10006
10007         * libs/gst/base/gstbasesink.c:
10008           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
10009           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
10010         * win32/common/config.h:
10011           added some defines GST_MAJORMINOR and HOST_CPU
10012         * win32/common/libgstbase.def:
10013         * win32/common/libgstreamer.def:
10014           added some exported functions.
10015
10016 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10017
10018         * libs/gst/controller/gstcontroller.c:
10019         (gst_controlled_property_set_interpolation_mode),
10020         (gst_controlled_property_new):
10021         * libs/gst/controller/gstcontroller.h:
10022         * libs/gst/controller/gstinterpolation.c:
10023         (interpolate_none_get_string_value_array):
10024           make G_TYPE_STRING controlable
10025
10026 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10027
10028         * tools/README:
10029         * tools/gst-feedback.1.in:
10030         * tools/gst-inspect.1.in:
10031         * tools/gst-launch.1.in:
10032         * tools/gst-md5sum.1.in:
10033         * tools/gst-typefind.1.in:
10034         * tools/gst-xmlinspect.1.in:
10035         * tools/gst-xmllaunch.1.in:
10036           cleanup man-pages, remove reference to gst-register, document env-vars
10037
10038 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
10039
10040         * gst/gstbuffer.c: (gst_buffer_span):
10041           gst_buffer_span should copy the timestamp of the first buffer
10042           if they were both originally overlapping subbuffers of the 
10043           same parent, using the same logic as the 'slow copy' case.
10044
10045 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
10046
10047         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
10048           Need to awaken ALL the pads when we pop a buffer, otherwise
10049           collectpads only works when there is 2 input streams.
10050
10051 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
10052
10053         * docs/random/ensonic/media-device-daemon.txt:
10054           more ideas (dbus)
10055         * gst/gstbuffer.c:
10056           fix doc example, add clarification
10057         * tools/gst-launch.1.in:
10058           add initial info about GST_PLUGIN_PATH, needs more work
10059
10060 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10061
10062         * docs/manual/basics-bins.xml:
10063         * docs/manual/basics-elements.xml:
10064         * docs/manual/intro-basics.xml:
10065           Some more minor docs additions and updates.
10066
10067 2006-01-11  Wim Taymans  <wim@fluendo.com>
10068
10069         * docs/manual/basics-bins.xml:
10070         * docs/manual/basics-elements.xml:
10071         Some small fixes as pointed out by Ser-ver on IRC.
10072
10073 2006-01-10  Edward Hervey  <edward@fluendo.com>
10074
10075         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10076         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
10077         the single-segment mode.
10078
10079 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
10080
10081         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10082
10083         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
10084         (gst_base_src_perform_seek), (gst_base_src_send_event),
10085         (gst_base_src_set_property), (gst_base_src_get_property),
10086         (gst_base_src_loop), (gst_base_src_start),
10087         (gst_base_src_activate_push):
10088         * libs/gst/base/gstbasesrc.h:
10089           Name (private) union; makes Sun's Forte compiler happy (#324900).
10090
10091 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10092
10093         * README:
10094           gst-register is gone.
10095
10096 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10097
10098         * gst/gstvalue.c: (_gst_value_initialize):
10099           make the G_TYPE_DATE instantiation work if debug is disabled
10100
10101 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
10102
10103         * gst/gstmessage.c: (gst_message_parse_tag),
10104         (gst_message_parse_error), (gst_message_parse_warning):
10105           Don't crash when return location for error/warning debug
10106           string is NULL; add fact that return locations can be
10107           NULL to docs where appropriate.
10108
10109 2006-01-05  Wim Taymans  <wim@fluendo.com>
10110
10111         * gst/gstplugin.c: (gst_plugin_load_file):
10112         Replace strdup by g_strdup.
10113
10114 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10115
10116         * docs/pwg/advanced-types.xml:
10117           fix doc borkage
10118
10119 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10120
10121         submitted by: Abel Cheung
10122
10123         * po/LINGUAS:
10124         * po/zh_TW.po:
10125           Added Chinese (traditional) translation
10126
10127 2006-01-04  Wim Taymans  <wim@fluendo.com>
10128
10129         * docs/manual/basics-pads.xml:
10130         * docs/plugins/Makefile.am:
10131         * docs/plugins/gstreamer-plugins-docs.sgml:
10132         * docs/plugins/gstreamer-plugins-sections.txt:
10133         * docs/pwg/advanced-clock.xml:
10134         * docs/pwg/advanced-scheduling.xml:
10135         * docs/pwg/advanced-types.xml:
10136         * plugins/elements/gstfdsink.c:
10137         * plugins/elements/gstfdsrc.c:
10138         * plugins/elements/gstfdsrc.h:
10139         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10140         * plugins/elements/gstidentity.h:
10141         * plugins/elements/gstqueue.h:
10142         * plugins/elements/gsttee.c:
10143         * plugins/elements/gsttee.h:
10144         * plugins/elements/gsttypefindelement.c:
10145         (gst_type_find_element_class_init):
10146         * plugins/elements/gsttypefindelement.h:
10147         Small updates to various docs.
10148         Added core plugins to docs.
10149
10150 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10151
10152         * common/gst.supp:
10153           add a suppression for liboil's uninitialized variable
10154
10155 2006-01-02  James Livingston  <jrl at ids dot org dot au>
10156
10157         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10158
10159         * gst/gstutils.h:
10160           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
10161           macro, so that gcc doesn't complain if the -Wmissing-prototypes
10162           compiler switch is being used (#325429).
10163
10164 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
10165
10166         * gst/gstbin.c: (gst_bin_query):
10167           Disable duration query caching in bins until it gets
10168           fixed (see #324807).
10169
10170 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10171
10172         * tools/gst-inspect.c: (print_element_properties_info):
10173           Handle properties of POINTER and BOXED type.
10174
10175 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10176
10177         * gst/gst.c: (init_post):
10178           Init tags stuff and some other things before loading
10179           any static plugins (there may be other static plugins
10180           than just the GStreamer ones, and they may want to
10181           register their own tags or formats or whatever, and
10182           preferably without segfaulting).
10183
10184         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
10185           Print at least a warning in the debug logs if we drop a
10186           query just because we don't know how to adjust the value
10187           in the particular format.
10188
10189 2005-12-24  David Schleef  <ds@schleef.org>
10190
10191         * tools/gstreamer-completion:
10192           Replacement for gst-complete written in sh and sed.  Only
10193           completes names of features, but that's 90% of what I want
10194           it for.  Properties are not available in registry.xml.  (Maybe
10195           they should be...)
10196
10197 === release 0.10.1 ===
10198
10199 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
10200
10201         * configure.ac:
10202           releasing 0.10.1, "Nollaig chridheil"
10203
10204 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
10205
10206         * docs/faq/cvs.xml:
10207           Add missing quote, should be make ERROR_CFLAGS="".
10208
10209 2005-12-20  Wim Taymans  <wim@fluendo.com>
10210
10211         * docs/design/part-trickmodes.txt:
10212         More documentation on trickmodes.
10213
10214 2005-12-20  Edward Hervey  <edward@fluendo.com>
10215
10216         * gst/gstcaps.c: (gst_static_caps_get_type):
10217         * gst/gstcaps.h:
10218           API addition: GST_TYPE_STATIC_CAPS
10219         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
10220         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
10221         * gst/gstpadtemplate.h:
10222           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
10223         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
10224         bindings.
10225
10226 2005-12-18  Wim Taymans  <wim@fluendo.com>
10227
10228         * libs/gst/base/gstadapter.c:
10229         * libs/gst/base/gstadapter.h:
10230         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10231         (gst_base_sink_get_position):
10232         * libs/gst/base/gstbasesink.h:
10233         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10234         (gst_base_src_default_query), (gst_base_src_default_do_seek),
10235         (gst_base_src_do_seek), (gst_base_src_perform_seek),
10236         (gst_base_src_send_event), (gst_base_src_update_length),
10237         (gst_base_src_get_range), (gst_base_src_loop),
10238         (gst_base_src_start):
10239         * libs/gst/base/gstbasesrc.h:
10240         * libs/gst/base/gstbasetransform.h:
10241         * libs/gst/base/gstcollectpads.h:
10242         * libs/gst/base/gstpushsrc.c:
10243         * libs/gst/base/gstpushsrc.h:
10244         * libs/gst/dataprotocol/dataprotocol.c:
10245         * libs/gst/dataprotocol/dataprotocol.h:
10246         * libs/gst/net/gstnetclientclock.h:
10247         * libs/gst/net/gstnettimeprovider.h:
10248         Documentation updates.
10249
10250 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
10251
10252         * docs/manual/basics-helloworld.xml:
10253           Remove superfluous closing bracket in helloworld example.
10254
10255 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
10256
10257         * tools/gst-launch.1.in:
10258           Update gst-launch man page; add a section with useful
10259           environment variables. Fixes #323882.
10260
10261 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
10262
10263         * gst/gst.c:
10264         * gst/gst_private.h:
10265           change some char* into char[]
10266
10267 2005-12-16  Wim Taymans  <wim@fluendo.com>
10268
10269         * gst/gstregistryxml.c: (load_feature):
10270         Cleanups.
10271         Don't use g_object_unref on GstObjects so that we avoid
10272         leaks on unsafe glibs.
10273
10274 2005-12-16  Wim Taymans  <wim@fluendo.com>
10275
10276         * gst/gstbin.c: (gst_bin_recalc_state):
10277         Small doc updates.
10278
10279 2005-12-16  Wim Taymans  <wim@fluendo.com>
10280
10281         * common/check.mak:
10282         Added make forever target for check.
10283
10284 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * gst/gst.c: (init_post):
10287           make the registry cache file HOST_CPU-dependent
10288
10289 2005-12-16  Andy Wingo  <wingo@pobox.com>
10290
10291         * plugins/elements/gstbufferstore.c
10292         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10293         return value.
10294
10295         * tests/check/gst/gstobject.c
10296         (test_fake_object_name_threaded_unique): Pay attention to
10297         g_list_sort return value.
10298
10299 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10300
10301         * tools/gst-feedback-m.m:
10302           Update for 0.9/0.10 (fixes #323870).
10303
10304 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
10305
10306         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
10307           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10308           
10309         * tests/check/gst/gstminiobject.c: (my_foo_init),
10310         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
10311         (test_value_collection), (gst_mini_object_suite):
10312           Add test to ensure refcounts end up as expected when passing
10313           GstMiniObjects through g_object_get() and g_object_set().
10314
10315 2005-12-14  Julien MOUTTE  <julien@moutte.net>
10316
10317         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10318         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
10319         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
10320         of collectpads. This version removes a lot of races without
10321         touching API/ABI. Yay !
10322
10323 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10324
10325         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
10326           Don't allow activation of a srcpad in pull_range if it has no
10327           getrange function.
10328           Change some debug statements to be a little clearer
10329
10330         * plugins/elements/gsttypefindelement.c:
10331         (gst_type_find_handle_src_query):
10332           Check that we have a peer before executing queries thereupon.
10333
10334         * tests/examples/metadata/read-metadata.c: (message_loop):
10335           Use gst_bus_pop instead of gst_bus_poll when we just want it to
10336           immediately return us any available message with 0 timeout.
10337
10338 2005-12-12  Michael Smith  <msmith@fluendo.com>
10339
10340         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10341           Don't unref factories after calling them.
10342         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
10343         * plugins/elements/gsttypefindelement.c:
10344         (gst_type_find_element_chain):
10345           Free lists of factories after using them. Fixing typefinding memory
10346           leaks.
10347
10348 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10349
10350         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10351         (gst_plugin_feature_load):
10352           more meaningful debug output
10353         * configure.ac:
10354         * tests/Makefile.am:
10355         * tests/old/examples/Makefile.am:
10356           make make distcheck happy again
10357
10358 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10359
10360         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10361           Catch the special case where we are operating chain-based,
10362           but the downstream peer pad has no chain function. Emit a
10363           custom error message in this case instead of letting the
10364           core generate one implying that this is some sort of core
10365           bug. It's not, it just means that whatever got plugged
10366           into the pipeline downstream when we announced the type
10367           can only operate pull-based, while our source can only
10368           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
10369           Error string has not been marked for translation yet, as
10370           it probably needs some more work first.
10371
10372         (gst_type_find_element_get_best_possibility):
10373           Add helper function to find the best of all available
10374           found possibilities that qualify given the min. threshold.
10375
10376         (gst_type_find_element_handle_event):
10377           Fix the case where we get an EOS while still in TYPEFIND
10378           mode (we want to chose the best of all possible types,
10379           not just the first type that happens to be in our unsorted
10380           list of possible types).
10381
10382         (gst_type_find_element_chain):
10383           Make sure we return GST_FLOW_ERROR when we errored out
10384           in stop_typefinding(); also, don't just find the best of
10385           all found type entries and then use the last examined
10386           type entry, but actually use the best entry.
10387
10388 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10389
10390         * tests/examples/typefind/typefind.c: (type_found):
10391         * tests/examples/xml/runxml.c: (xml_loaded):
10392           More gcc4 fixes and a mem leak fix.
10393
10394 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10395
10396         * tests/examples/xml/createxml.c: (object_saved):
10397           gcc 4 fixes
10398
10399 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10400
10401         * tests/Makefile.am:
10402           enable the examples even more
10403
10404 2005-12-12  Andy Wingo  <wingo@pobox.com>
10405
10406         * libs/gst/net/gstnettimeprovider.c
10407         (gst_net_time_provider_class_init, gst_net_time_provider_init)
10408         (gst_net_time_provider_set_property)
10409         (gst_net_time_provider_get_property):
10410         API addition: Export "active" as a GObject property.
10411         (gst_net_time_provider_thread): Only respond to time queries if
10412         the time provider is active.
10413
10414         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
10415         NetTimeProvider, preserving binary compat.
10416
10417 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10418
10419         * tests/examples/controller/audio-example.c: (main):
10420         * tests/examples/launch/Makefile.am:
10421           convert comments again
10422
10423 2005-12-12  Wim Taymans  <wim@fluendo.com>
10424
10425         * libs/gst/base/gstpushsrc.c:
10426         Fix typo.
10427
10428 2005-12-12  Wim Taymans  <wim@fluendo.com>
10429
10430         * docs/libs/gstreamer-libs-sections.txt:
10431         Added new symbol to docs.
10432
10433         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10434         (gst_base_src_init), (gst_base_src_set_format),
10435         (gst_base_src_default_query), (gst_base_src_query),
10436         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
10437         (gst_base_src_perform_seek), (gst_base_src_send_event),
10438         (gst_base_src_default_event), (gst_base_src_event_handler),
10439         (gst_base_src_set_property), (gst_base_src_get_property),
10440         (gst_base_src_wait), (gst_base_src_do_sync),
10441         (gst_base_src_update_length), (gst_base_src_get_range),
10442         (gst_base_src_check_get_range), (gst_base_src_loop),
10443         (gst_base_src_default_negotiate), (gst_base_src_start),
10444         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10445         (gst_base_src_change_state):
10446         * libs/gst/base/gstbasesrc.h:
10447         Implement seeking to other formats than _BYTES.
10448         Implement more seeking methods correctly.
10449         Doc updates.
10450         Added query vmethod.
10451         Added do_seek vmethod to make life easier for subclasses
10452         when seeking.
10453         API addition: gst_base_src_set_format()
10454
10455 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10456
10457         * tests/examples/Makefile.am:
10458           added that too
10459
10460 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10461
10462         * configure.ac:
10463         * docs/random/ensonic/media-device-daemon.txt:
10464         * tests/examples/controller/.cvsignore:
10465         * tests/examples/controller/Makefile.am:
10466         * tests/examples/controller/audio-example.c: (main):
10467         * tests/examples/helloworld/.cvsignore:
10468         * tests/examples/helloworld/Makefile.am:
10469         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
10470         * tests/examples/launch/.cvsignore:
10471         * tests/examples/launch/Makefile.am:
10472         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
10473         * tests/examples/metadata/.cvsignore:
10474         * tests/examples/metadata/Makefile.am:
10475         * tests/examples/metadata/read-metadata.c: (message_loop),
10476         (make_pipeline), (print_tag), (main):
10477         * tests/examples/queue/.cvsignore:
10478         * tests/examples/queue/Makefile.am:
10479         * tests/examples/queue/queue.c: (event_loop), (main):
10480         * tests/examples/typefind/.cvsignore:
10481         * tests/examples/typefind/Makefile.am:
10482         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
10483         (main):
10484         * tests/examples/xml/.cvsignore:
10485         * tests/examples/xml/Makefile.am:
10486         * tests/examples/xml/createxml.c: (object_saved), (main):
10487         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
10488         * tests/old/examples/Makefile.am:
10489         * tests/old/examples/TODO:
10490         * tests/old/examples/controller/.cvsignore:
10491         * tests/old/examples/controller/Makefile.am:
10492         * tests/old/examples/controller/audio-example.c:
10493         * tests/old/examples/helloworld/.cvsignore:
10494         * tests/old/examples/helloworld/Makefile.am:
10495         * tests/old/examples/helloworld/helloworld.c:
10496         * tests/old/examples/launch/.cvsignore:
10497         * tests/old/examples/launch/Makefile.am:
10498         * tests/old/examples/launch/mp3parselaunch.c:
10499         * tests/old/examples/launch/mp3play:
10500         * tests/old/examples/manual/Makefile.am:
10501         * tests/old/examples/metadata/Makefile.am:
10502         * tests/old/examples/metadata/read-metadata.c:
10503         * tests/old/examples/queue/.cvsignore:
10504         * tests/old/examples/queue/Makefile.am:
10505         * tests/old/examples/queue/queue.c:
10506         * tests/old/examples/typefind/.cvsignore:
10507         * tests/old/examples/typefind/Makefile.am:
10508         * tests/old/examples/typefind/typefind.c:
10509         * tests/old/examples/xml/.cvsignore:
10510         * tests/old/examples/xml/Makefile.am:
10511         * tests/old/examples/xml/createxml.c:
10512         * tests/old/examples/xml/runxml.c:
10513           applied some simple fixing to some examples
10514           re-enabled the working examples
10515
10516 2005-12-12  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/gstsegment.c: (gst_segment_init),
10519         (gst_segment_set_last_stop), (gst_segment_set_seek),
10520         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
10521         (gst_segment_to_running_time):
10522         Added more documentation.
10523         Make sure the last_pos value is updated properly.
10524         Make sure to_stream_time and to_running_time don't
10525         operate on wrong values.
10526
10527         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10528         Update check.
10529
10530 2005-12-12  Michael Smith  <msmith@fluendo.com>
10531
10532         * plugins/elements/gsttypefindelement.c: (free_entry),
10533         (gst_type_find_element_chain):
10534           Now that we're not leaking factories, make sure we keep references
10535           to them while we need them.
10536
10537 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10538
10539         * tests/check/gst/struct_i386.h:
10540           ifdef out the XML structs
10541
10542 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * gst/gstvalue.c: (gst_value_transform_double_fraction):
10545           floor is not needed, F is always positive; this obviates the
10546           need for adding -lm when building without libxml
10547
10548 2005-12-12  Wim Taymans  <wim@fluendo.com>
10549
10550         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10551         Take current playback rate into account when reporting
10552         the position.
10553
10554 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10555
10556         * docs/manual/mime-world.fig:
10557           Let's try this again, this time with a file that is
10558           actually in XFig format.
10559
10560 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10561
10562         * docs/manual/mime-world.fig:
10563           Add audioconvert element to diagram so that it
10564           matches the text and the code (fixes #319526).
10565
10566 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10567
10568         * docs/pwg/building-chainfn.xml:
10569         * docs/pwg/building-pads.xml:
10570         * docs/pwg/building-state.xml:
10571         * docs/pwg/other-source.xml:
10572           Update state change stuff for 0.10 (fixes #322969).
10573
10574 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10575
10576         * docs/manual/advanced-dataaccess.xml:
10577         * docs/manual/appendix-checklist.xml:
10578         * docs/manual/appendix-programs.xml:
10579         * docs/manual/basics-pads.xml:
10580         * docs/manual/highlevel-components.xml:
10581         * docs/manual/manual.xml:
10582           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
10583           add converters in front of pipelines; remove curly
10584           brackets for threads stuff, they no longer exist; use
10585           GST_TYPE_FRACTION for framerates; update some pieces of
10586           code to 0.10, but there's plenty more to do.
10587
10588         * docs/manual/appendix-porting.xml:
10589           Expand on asynchroneous state changes; s/0.9/0.10/;
10590           mention disappearance of gst_init_get_popt_table()
10591           (fixes #322916).
10592
10593 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10594
10595         * docs/faq/using.xml:
10596           Spider no longer exists, and neither does gst-launch-ext.
10597           Update examples to use decodebin and playbin and put
10598           converters in front of sinks (fixes #323726).
10599
10600 2005-12-09  Michael Smith  <msmith@fluendo.com>
10601
10602         * plugins/elements/gsttypefindelement.c: (find_peek),
10603         (gst_type_find_element_chain):
10604           Fix leaking element factories in typefinding.
10605           Fix problem where we forgot about a probable type on non-seekable
10606           files, and thus later mis-typefound it.
10607
10608 2005-12-09  Michael Smith  <msmith@fluendo.com>
10609
10610         * common/m4/gst-makecontext.m4:
10611         * common/m4/gst-mcsc.m4:
10612         * configure.ac:
10613         * win32/common/config.h:
10614         * win32/common/config.h.in:
10615           Remove makecontext stuff; not used in 0.10 and causes problems on
10616           HPUX according to bug #322441
10617
10618 2005-12-07  Wim Taymans  <wim@fluendo.com>
10619
10620         * tests/check/Makefile.am:
10621         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
10622         (main):
10623         * tests/check/libs/struct_i386.h:
10624         Added ABI check for libs
10625
10626 2005-12-07  Wim Taymans  <wim@fluendo.com>
10627
10628         * tests/check/Makefile.am:
10629         And add the struct_i386.h to dist.
10630
10631 2005-12-07  Wim Taymans  <wim@fluendo.com>
10632
10633         * tests/check/Makefile.am:
10634         * tests/check/gst/.cvsignore:
10635         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
10636         (main):
10637         * tests/check/gst/struct_i386.h:
10638         Added check for ABI compatibility.
10639
10640 2005-12-07  Wim Taymans  <wim@fluendo.com>
10641
10642         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10643         (gst_fake_src_get_times), (gst_fake_src_create):
10644         Fix broken sync option, fixes #323259
10645
10646 2005-12-07  Wim Taymans  <wim@fluendo.com>
10647
10648         * gst/gstbuffer.c:
10649         Small docs update.
10650
10651         * gst/gstcaps.c: (gst_caps_is_equal):
10652         Don't assert on NULL <--> X. Fixes #323260
10653
10654         * gst/gstminiobject.c: (gst_mini_object_replace):
10655         If we're doing atomic operations, we might just as well use
10656         the proper way to get an atomic pointer.
10657
10658         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10659         Clean up debugging.
10660
10661 2005-12-07  Michael Smith  <msmith@fluendo.com>
10662
10663         * gst/parse/grammar.y:
10664           Remove handling of { } for threads.
10665
10666 2005-12-06  David Schleef  <ds@schleef.org>
10667
10668         * libs/gst/base/gstbasetransform.c: speling fix.
10669
10670 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10671
10672         * docs/libs/tmpl/gstdataprotocol.sgml:
10673         * docs/random/omega/testing/gstobject.c:
10674         * gst/gst.c:
10675         * gst/gstclock.c:
10676         * gst/gstelement.c:
10677         * gst/gstelementfactory.c:
10678         * gst/gsterror.c:
10679         * gst/gstevent.c:
10680         * gst/gstghostpad.c:
10681         * gst/gstinfo.c:
10682         * gst/gstpadtemplate.c:
10683         * gst/gstregistryxml.c:
10684         * gst/gsttaglist.c:
10685         * gst/gsttagsetter.c:
10686         * gst/gsttypefind.c:
10687         * gst/gstvalue.c:
10688         * libs/gst/base/gstbasesrc.c:
10689         * libs/gst/net/gstnetclientclock.c:
10690         * libs/gst/net/gstnettimeprovider.c:
10691         * plugins/elements/gstfakesrc.c:
10692         * plugins/elements/gstfdsrc.c:
10693         * plugins/elements/gstfilesrc.c:
10694         * plugins/elements/gstidentity.c:
10695         * plugins/elements/gstqueue.c:
10696         * plugins/elements/gsttypefindelement.c:
10697         * plugins/indexers/gstfileindex.c:
10698         * plugins/indexers/gstmemindex.c:
10699         * tests/check/gst/gsttag.c:
10700         * tests/old/examples/cutter/cutter.c:
10701         * tests/old/examples/mixer/mixer.c:
10702         * tests/old/examples/xml/runxml.c: (main):
10703         * tests/old/testsuite/caps/normalisation.c:
10704         * tests/old/testsuite/debug/global.c:
10705         * tests/old/testsuite/parse/parse1.c:
10706         * tools/gst-xmlinspect.c:
10707         * win32/common/dirent.c:
10708           expand tabs
10709
10710 === release 0.10.0 ===
10711
10712 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10713
10714         * configure.ac:
10715           releasing 0.10.0, "Maroilles"
10716
10717 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         submitted by: Funda Wang <fundawang@linux.net.cn>
10720
10721         * po/LINGUAS:
10722         * po/zh_CN.po:
10723           added Chinese (Traditional) translation
10724
10725 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10726
10727         * docs/gst/gstreamer-sections.txt:
10728         * docs/libs/tmpl/gstdataprotocol.sgml:
10729         * docs/random/thomasvs/TODO:
10730         * gst/gstutils.c:
10731         * gst/gstutils.h:
10732           fix docs
10733
10734 2005-12-05  Andy Wingo  <wingo@pobox.com>
10735
10736         patch by: Wim Taymans <wim@fluendo.com>
10737
10738         * libs/gst/base/gstbasetransform.c
10739         (gst_base_transform_prepare_output_buf)
10740         (gst_base_transform_buffer_alloc):
10741         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10742         alloc_buffer_and_set_caps.
10743
10744         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10745         set_caps on the source pad.
10746         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10747         alloc_buffer used to do. Fixes #322874.
10748
10749         * docs/gst/gstreamer-sections.txt: 
10750         * docs/design/part-negotiation.txt: 
10751         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10752         changes.
10753
10754 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         patch by: Sebastien Moutte
10757
10758         * win32/MANIFEST:
10759         * win32/common/config.h.in:
10760         * win32/vs6/libgstcontroller.dsp:
10761           win32 build fixes
10762
10763 2005-12-05  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstcaps.c: (gst_caps_is_equal):
10766         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10767         (gst_fake_src_create):
10768         Back out previous code changes, leave doc updates, file bugs 
10769         instead. 
10770
10771 2005-12-05  Wim Taymans  <wim@fluendo.com>
10772
10773         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10774         (gst_fake_src_get_times), (gst_fake_src_create):
10775         * plugins/elements/gstfakesrc.h:
10776         Fix broken sync code.
10777
10778 2005-12-05  Wim Taymans  <wim@fluendo.com>
10779
10780         * gst/gstcaps.c: (gst_caps_is_equal):
10781         Comparing NULL against !NULL yields different caps, not a
10782         failure.
10783
10784 2005-12-05  Wim Taymans  <wim@fluendo.com>
10785
10786         * gst/gstpipeline.c:
10787         Fix small typo in docs.
10788
10789 2005-12-05  Andy Wingo  <wingo@pobox.com>
10790
10791         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10792
10793         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10794         registries/plugins with a MAJORMINOR one.
10795         (plugin_desc): Rename library from gstcoreleements to
10796         staticelements. Fixes #323222.
10797
10798 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10799
10800         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10801           Change debug category to 'collectpads' from 'collect_pads'
10802           (fixes #323250).
10803
10804 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10805
10806         patch by: Sebastien Moutte
10807
10808         * libs/gst/controller/gstinterpolation.c:
10809           use convert function for uint64/double
10810         * win32/vs6/libgstcontroller.dsp:
10811           link to GLib
10812
10813 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10814
10815         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10816         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10817         * gst/gstutils.h:
10818         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10819           add tests that seem to show that the guint64/gdouble conversions
10820           are correct.
10821
10822 2005-12-02  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/gstregistry.c: (gst_registry_add_path):
10825         * gst/gstregistry.h:
10826         * gst/gstregistryxml.c:
10827         Fix docs again.
10828
10829 2005-12-02  Wim Taymans  <wim@fluendo.com>
10830
10831         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10832         (gst_util_uint64_scale_int):
10833         Small cleanup.
10834
10835         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10836         Add debug log line.
10837
10838         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10839         Add FIXME.
10840
10841 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10842
10843         * win32/MANIFEST:
10844         * win32/common/config.h:
10845         * win32/vs6/gstreamer.dsw:
10846         * win32/vs6/libgstcoreelements.dsp:
10847         * win32/vs6/libgstelements.dsp:
10848           renamed core elements plugin
10849
10850 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10851
10852         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10853         (get_candidates):
10854           do piece-wise major/minor comparison so 0.9 < 0.10
10855           also allow .exe extensions for tools
10856
10857 2005-12-02  Michael Smith  <msmith@fluendo.com>
10858
10859         * gst/gst.c:
10860           Escape a % to make gtkdoc happier; bug 322958.
10861
10862 === release 0.9.7 ===
10863
10864 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10865
10866         * configure.ac:
10867           releasing 0.9.7, "My Dog Has No Nose"
10868
10869 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10870
10871         * common/gst-xmlinspect.py:
10872         * configure.ac:
10873         * docs/libs/tmpl/gstdataprotocol.sgml:
10874         * docs/random/release:
10875         * po/af.po:
10876         * po/az.po:
10877         * po/bg.po:
10878         * po/ca.po:
10879         * po/cs.po:
10880         * po/de.po:
10881         * po/en_GB.po:
10882         * po/fr.po:
10883         * po/it.po:
10884         * po/nb.po:
10885         * po/nl.po:
10886         * po/ru.po:
10887         * po/sq.po:
10888         * po/sr.po:
10889         * po/sv.po:
10890         * po/tr.po:
10891         * po/uk.po:
10892         * po/vi.po:
10893         * win32/common/config.h:
10894         * win32/common/config.h.in:
10895         * win32/vs6/gst_inspect.dsp:
10896         * win32/vs6/gst_launch.dsp:
10897         * win32/vs6/libgstbase.dsp:
10898         * win32/vs6/libgstelements.dsp:
10899         * win32/vs6/libgstreamer.dsp:
10900         * win32/vs7/GStreamer.vcproj:
10901         * win32/vs7/gst-inspect.vcproj:
10902         * win32/vs7/gst-launch.vcproj:
10903         * win32/vs7/libgstbase.vcproj:
10904           bump GST_MAJORMINOR to 0.10
10905           reset libtool version
10906
10907 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10908
10909         * po/LINGUAS:
10910         * po/bg.po:
10911           Added Bulgarian translation by (Alexander Shopov)
10912
10913 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10914
10915         * tests/check/gst/gstplugin.c:
10916           fix test
10917
10918 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10919
10920         * common/gst-xmlinspect.py:
10921         * common/gtk-doc-plugins.mak:
10922         * configure.ac:
10923         * docs/Makefile.am:
10924         * docs/gst/Makefile.am:
10925         * docs/gst/gstreamer-docs.sgml:
10926         * docs/gst/gstreamer-sections.txt:
10927         * docs/gst/gstreamer.types:
10928         * docs/gst/gstreamer.types.in:
10929         * docs/plugins/Makefile.am:
10930         * docs/plugins/gstreamer-plugins-docs.sgml:
10931         * docs/plugins/gstreamer-plugins-sections.txt:
10932         * docs/plugins/gstreamer-plugins.types:
10933         * docs/plugins/inspect.stamp:
10934         * docs/plugins/inspect/plugin-coreelements.xml:
10935         * docs/plugins/inspect/plugin-coreindexers.xml:
10936         * docs/plugins/scanobj-build.stamp:
10937         * gstreamer.spec.in:
10938         * plugins/elements/Makefile.am:
10939         * plugins/elements/gstelements.c:
10940         * plugins/elements/gstfakesink.c:
10941         * plugins/elements/gstfakesrc.c:
10942         * plugins/elements/gstfilesink.c:
10943         * plugins/elements/gstfilesrc.c:
10944         * plugins/elements/gstqueue.c:
10945         * plugins/indexers/Makefile.am:
10946         * plugins/indexers/gstindexers.c:
10947           document core plugins in a separate document just like all the
10948           others
10949           rename these plugins to something starting with core
10950
10951 2005-12-01  Andy Wingo  <wingo@pobox.com>
10952
10953         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10954         padding here before, but it missed the commit.
10955
10956 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10957
10958         * libs/gst/controller/gstinterpolation.c:
10959           whitespace prices have crashed, we should feel free to use some now
10960           use gst_guint64_to_gdouble
10961
10962 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10963
10964         * libs/gst/controller/gstcontroller.c:
10965         * libs/gst/controller/gsthelper.c:
10966         * libs/gst/controller/gstinterpolation.c:
10967         * libs/gst/controller/lib.c:
10968           wrap config.h include
10969
10970 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10971
10972         * docs/gst/gstreamer-sections.txt:
10973           update docs
10974
10975 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10976
10977         * plugins/elements/gstelements.c:
10978         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10979         (gst_fd_sink__class_init), (gst_fd_sink__init),
10980         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10981         (gst_fd_sink__get_property):
10982         * plugins/elements/gstfdsink.h:
10983         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10984         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10985         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10986         (gst_fd_src_unlock), (gst_fd_src_set_property),
10987         (gst_fd_src_get_property), (gst_fd_src_create),
10988         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10989         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10990         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10991         (gst_fd_src_uri_handler_init):
10992         * plugins/elements/gstfdsrc.h:
10993         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10994           more anal cleanup
10995
10996 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10997
10998         * docs/gst/Makefile.am:
10999         * docs/gst/gstreamer.types.in:
11000         * gst/Makefile.am:
11001           fix the docs build
11002
11003 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11004
11005         * configure.ac:
11006         * gst/Makefile.am:
11007         * gst/gst.c:
11008         * gst/gstplugin.h:
11009         * gst/gstregistry.h:
11010         * tests/benchmarks/complexity.c:
11011         * tests/benchmarks/mass-elements.c:
11012         * tests/check/Makefile.am:
11013         * tools/Makefile.am:
11014         * tools/gst-inspect.c:
11015         * tools/gst-xmlinspect.c:
11016           various fixes to make
11017           --disable-nls --disable-registry --disable-loadsave
11018           --disable-parse --disable-gst-debug
11019           work and get the core .so down to 360444 bytes after stripping
11020
11021 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11022
11023         * Makefile.am:
11024         * configure.ac:
11025           descend into tests
11026         * docs/random/thomasvs/TODO:
11027         * tests/Makefile.am:
11028         * tests/README:
11029           add a README
11030
11031 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11032
11033         * win32/GStreamer.vcproj:
11034         * win32/MANIFEST:
11035         * win32/Makefile:
11036         * win32/Makefile.inspect:
11037         * win32/Makefile.launch:
11038         * win32/Makefile.register:
11039         * win32/README.txt:
11040         * win32/gst-inspect.vcproj:
11041         * win32/gst-launch.vcproj:
11042         * win32/gst-register.vcproj:
11043         * win32/gstelements.vcproj:
11044         * win32/gstgetbits.def:
11045         * win32/gstgetbits.vcproj:
11046         * win32/gstreamer-dbg.def:
11047         * win32/gstreamer.def:
11048         * win32/libgstbase.def:
11049         * win32/libgstbase.vcproj:
11050         * win32/link_oldruntime.c:
11051         * win32/mman.c:
11052         * win32/mman.h:
11053         * win32/mman.inl:
11054         * win32/msvc71.sln:
11055           move even more stuff, win32/ is nice and clean now
11056
11057 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * libs/gst/control/.cvsignore:
11060         * win32/MANIFEST:
11061         * win32/config.h:
11062         * win32/dirent.c:
11063         * win32/dirent.h:
11064         * win32/gstbytestream.def:
11065         * win32/gstbytestream.vcproj:
11066         * win32/gstconfig.h:
11067         * win32/gstenumtypes.c:
11068         * win32/gstenumtypes.h:
11069         * win32/gstoptimalscheduler.vcproj:
11070         * win32/gstversion.h:
11071         * win32/gtchar.h:
11072         * win32/testsuite/bins.vcproj:
11073         * win32/testsuite/bytestream.vcproj:
11074         * win32/testsuite/caps.vcproj:
11075         * win32/testsuite/cleanup.vcproj:
11076         * win32/testsuite/clock.vcproj:
11077         * win32/testsuite/debug.vcproj:
11078         * win32/testsuite/dlopen.vcproj:
11079         * win32/testsuite/dynparams.vcproj:
11080         * win32/testsuite/elements.vcproj:
11081         * win32/testsuite/ghostpads.vcproj:
11082         * win32/testsuite/indexers.vcproj:
11083         * win32/testsuite/negotiation.vcproj:
11084         * win32/testsuite/parse.vcproj:
11085         * win32/testsuite/plugin.vcproj:
11086         * win32/testsuite/refcounting.vcproj:
11087         * win32/testsuite/schedulers.vcproj:
11088         * win32/testsuite/states.vcproj:
11089         * win32/testsuite/tags.vcproj:
11090         * win32/testsuite/threads.vcproj:
11091           remove old win32 stuff that isn't maintained and should be
11092           reorganized
11093
11094 2005-11-30  Andy Wingo  <wingo@pobox.com>
11095
11096         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
11097         loading the gst.interfaces python module bork.
11098
11099         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
11100         available since GLib 2.2. Fixes #318031.
11101
11102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * Makefile.am:
11105         * check/.cvsignore:
11106         * check/Makefile.am:
11107         * check/elements/.cvsignore:
11108         * check/elements/fakesrc.c:
11109         * check/elements/fdsrc.c:
11110         * check/elements/identity.c:
11111         * check/generic/.cvsignore:
11112         * check/generic/states.c:
11113         * check/gst-libs/.cvsignore:
11114         * check/gst-libs/controller.c:
11115         * check/gst-libs/gdp.c:
11116         * check/gst/.cvsignore:
11117         * check/gst/capslist.h:
11118         * check/gst/gst.c:
11119         * check/gst/gstbin.c:
11120         * check/gst/gstbuffer.c:
11121         * check/gst/gstbus.c:
11122         * check/gst/gstcaps.c:
11123         * check/gst/gstelement.c:
11124         * check/gst/gstevent.c:
11125         * check/gst/gstghostpad.c:
11126         * check/gst/gstiterator.c:
11127         * check/gst/gstmessage.c:
11128         * check/gst/gstminiobject.c:
11129         * check/gst/gstobject.c:
11130         * check/gst/gstpad.c:
11131         * check/gst/gstpipeline.c:
11132         * check/gst/gstplugin.c:
11133         * check/gst/gstsegment.c:
11134         * check/gst/gststructure.c:
11135         * check/gst/gstsystemclock.c:
11136         * check/gst/gsttag.c:
11137         * check/gst/gstutils.c:
11138         * check/gst/gstvalue.c:
11139         * check/net/.cvsignore:
11140         * check/net/gstnetclientclock.c:
11141         * check/net/gstnettimeprovider.c:
11142         * check/pipelines/.cvsignore:
11143         * check/pipelines/cleanup.c:
11144         * check/pipelines/simple_launch_lines.c:
11145         * check/pipelines/stress.c:
11146         * check/states/.cvsignore:
11147         * check/states/sinks.c:
11148         * configure.ac:
11149         * examples/Makefile.am:
11150         * examples/appreader/.cvsignore:
11151         * examples/appreader/Makefile.am:
11152         * examples/appreader/appreader.c:
11153         * examples/controller/.cvsignore:
11154         * examples/controller/Makefile.am:
11155         * examples/controller/audio-example.c:
11156         * examples/cutter/.cvsignore:
11157         * examples/cutter/Makefile.am:
11158         * examples/cutter/cutter.c:
11159         * examples/cutter/cutter.h:
11160         * examples/events/Makefile.am:
11161         * examples/events/seek.c:
11162         * examples/helloworld/.cvsignore:
11163         * examples/helloworld/Makefile.am:
11164         * examples/helloworld/helloworld.c:
11165         * examples/helloworld2/.cvsignore:
11166         * examples/helloworld2/Makefile.am:
11167         * examples/helloworld2/helloworld2.c:
11168         * examples/launch/.cvsignore:
11169         * examples/launch/Makefile.am:
11170         * examples/launch/mp3parselaunch.c:
11171         * examples/launch/mp3play:
11172         * examples/manual/.cvsignore:
11173         * examples/manual/Makefile.am:
11174         * examples/manual/extract.pl:
11175         * examples/metadata/Makefile.am:
11176         * examples/metadata/read-metadata.c:
11177         * examples/mixer/.cvsignore:
11178         * examples/mixer/Makefile.am:
11179         * examples/mixer/mixer.c:
11180         * examples/mixer/mixer.h:
11181         * examples/pingpong/.cvsignore:
11182         * examples/pingpong/Makefile.am:
11183         * examples/pingpong/pingpong.c:
11184         * examples/plugins/.cvsignore:
11185         * examples/plugins/Makefile.am:
11186         * examples/plugins/example.c:
11187         * examples/plugins/example.h:
11188         * examples/pwg/.cvsignore:
11189         * examples/pwg/Makefile.am:
11190         * examples/pwg/extract.pl:
11191         * examples/queue/.cvsignore:
11192         * examples/queue/Makefile.am:
11193         * examples/queue/queue.c:
11194         * examples/queue2/.cvsignore:
11195         * examples/queue2/Makefile.am:
11196         * examples/queue2/queue2.c:
11197         * examples/queue3/.cvsignore:
11198         * examples/queue3/Makefile.am:
11199         * examples/queue3/queue3.c:
11200         * examples/queue4/.cvsignore:
11201         * examples/queue4/Makefile.am:
11202         * examples/queue4/queue4.c:
11203         * examples/retag/.cvsignore:
11204         * examples/retag/Makefile.am:
11205         * examples/retag/retag.c:
11206         * examples/retag/transcode.c:
11207         * examples/thread/.cvsignore:
11208         * examples/thread/Makefile.am:
11209         * examples/thread/thread.c:
11210         * examples/typefind/.cvsignore:
11211         * examples/typefind/Makefile.am:
11212         * examples/typefind/typefind.c:
11213         * examples/xml/.cvsignore:
11214         * examples/xml/Makefile.am:
11215         * examples/xml/createxml.c:
11216         * examples/xml/runxml.c:
11217         * tests/Makefile.am:
11218         * tests/check/Makefile.am:
11219         * testsuite/.cvsignore:
11220         * testsuite/Makefile.am:
11221         * testsuite/Rules:
11222         * testsuite/caps/.cvsignore:
11223         * testsuite/caps/Makefile.am:
11224         * testsuite/caps/app_fixate.c:
11225         * testsuite/caps/audioscale.c:
11226         * testsuite/caps/caps.c:
11227         * testsuite/caps/caps.h:
11228         * testsuite/caps/caps_strings:
11229         * testsuite/caps/compatibility.c:
11230         * testsuite/caps/deserialize.c:
11231         * testsuite/caps/enumcaps.c:
11232         * testsuite/caps/eratosthenes.c:
11233         * testsuite/caps/filtercaps.c:
11234         * testsuite/caps/fixed.c:
11235         * testsuite/caps/fraction-convert.c:
11236         * testsuite/caps/fraction-multiply-and-zero.c:
11237         * testsuite/caps/intersect2.c:
11238         * testsuite/caps/intersection.c:
11239         * testsuite/caps/normalisation.c:
11240         * testsuite/caps/random.c:
11241         * testsuite/caps/renegotiate.c:
11242         * testsuite/caps/sets.c:
11243         * testsuite/caps/simplify.c:
11244         * testsuite/caps/string-conversions.c:
11245         * testsuite/caps/structure.c:
11246         * testsuite/caps/subtract.c:
11247         * testsuite/caps/union.c:
11248         * testsuite/debug/.cvsignore:
11249         * testsuite/debug/Makefile.am:
11250         * testsuite/debug/category.c:
11251         * testsuite/debug/commandline.c:
11252         * testsuite/debug/global.c:
11253         * testsuite/debug/output.c:
11254         * testsuite/debug/printf_extension.c:
11255         * testsuite/dlopen/.cvsignore:
11256         * testsuite/dlopen/Makefile.am:
11257         * testsuite/dlopen/dlopen_gst.c:
11258         * testsuite/dlopen/loadgst.c:
11259         * testsuite/elements/.cvsignore:
11260         * testsuite/elements/Makefile.am:
11261         * testsuite/elements/gst-inspect-check.in:
11262         * testsuite/elements/struct_i386.h:
11263         * testsuite/elements/struct_size.c:
11264         * testsuite/indexers/.cvsignore:
11265         * testsuite/indexers/Makefile.am:
11266         * testsuite/indexers/cache1.c:
11267         * testsuite/indexers/indexdump.c:
11268         * testsuite/parse/.cvsignore:
11269         * testsuite/parse/Makefile.am:
11270         * testsuite/parse/parse1.c:
11271         * testsuite/parse/parse2.c:
11272         * testsuite/plugin/.cvsignore:
11273         * testsuite/plugin/Makefile.am:
11274         * testsuite/plugin/README:
11275         * testsuite/plugin/dynamic.c:
11276         * testsuite/plugin/linked.c:
11277         * testsuite/plugin/loading.c:
11278         * testsuite/plugin/registry.c:
11279         * testsuite/plugin/static.c:
11280         * testsuite/plugin/static2.c:
11281         * testsuite/plugin/testplugin.c:
11282         * testsuite/plugin/testplugin2.c:
11283         * testsuite/plugin/testplugin2_s.c:
11284         * testsuite/plugin/testplugin_s.c:
11285         * testsuite/refcounting/.cvsignore:
11286         * testsuite/refcounting/Makefile.am:
11287         * testsuite/refcounting/bin.c:
11288         * testsuite/refcounting/element.c:
11289         * testsuite/refcounting/element_pad.c:
11290         * testsuite/refcounting/mainloop.c:
11291         * testsuite/refcounting/mem.c:
11292         * testsuite/refcounting/mem.h:
11293         * testsuite/refcounting/object.c:
11294         * testsuite/refcounting/pad.c:
11295         * testsuite/refcounting/sched.c:
11296         * testsuite/refcounting/thread.c:
11297         * testsuite/states/.cvsignore:
11298         * testsuite/states/Makefile.am:
11299         * testsuite/states/bin.c:
11300         * testsuite/states/locked.c:
11301         * testsuite/states/parent.c:
11302         * testsuite/threads/.cvsignore:
11303         * testsuite/threads/159566.c:
11304         * testsuite/threads/159852.c:
11305         * testsuite/threads/Makefile.am:
11306         * testsuite/threads/queue.c:
11307         * testsuite/threads/signals.c:
11308         * testsuite/threads/staticrec.c:
11309         * testsuite/threads/thread.c:
11310         * testsuite/threads/threadb.c:
11311         * testsuite/threads/threadc.c:
11312         * testsuite/threads/threadd.c:
11313         * testsuite/threads/threade.c:
11314         * testsuite/threads/threadf.c:
11315         * testsuite/threads/threadg.c:
11316         * testsuite/threads/threadh.c:
11317         * testsuite/threads/threadi.c:
11318           move all of these under tests
11319
11320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * configure.ac:
11323         * tests/Makefile.am:
11324           fix distcheck
11325
11326 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11327
11328         * docs/gst/gstreamer-sections.txt:
11329         * tests/sched/.cvsignore:
11330         * tests/sched/Makefile.am:
11331         * tests/sched/cases/(fs-fs).xml:
11332         * tests/sched/cases/(fs-i-fs).xml:
11333         * tests/sched/cases/(fs-i-i-fs).xml:
11334         * tests/sched/cases/(fs-i-q[i-fs]).xml:
11335         * tests/sched/dynamic-pipeline.c:
11336         * tests/sched/interrupt1.c:
11337         * tests/sched/interrupt2.c:
11338         * tests/sched/interrupt3.c:
11339         * tests/sched/runtestcases:
11340         * tests/sched/runxml.c:
11341         * tests/sched/sched-stress.c:
11342         * tests/sched/sort.c:
11343         * tests/sched/testcases:
11344         * tests/sched/testcases1.tc:
11345         * tests/seeking/.cvsignore:
11346         * tests/seeking/Makefile.am:
11347         * tests/seeking/seeking1.c:
11348         * tests/threadstate/.cvsignore:
11349         * tests/threadstate/Makefile.am:
11350         * tests/threadstate/test1.c:
11351         * tests/threadstate/test2.c:
11352         * tests/threadstate/threadstate1.c:
11353         * tests/threadstate/threadstate2.c:
11354         * tests/threadstate/threadstate3.c:
11355         * tests/threadstate/threadstate4.c:
11356         * tests/threadstate/threadstate5.c:
11357           remove obsolete tests
11358         * configure.ac:
11359         * tests/bench-complexity.scm:
11360         * tests/bench-mass_elements.scm:
11361         * tests/complexity.c:
11362         * tests/complexity.gnuplot:
11363         * tests/instantiate/.cvsignore:
11364         * tests/instantiate/Makefile.am:
11365         * tests/instantiate/caps.c:
11366         * tests/mass_elements.c:
11367         * tests/network-clock-utils.scm:
11368         * tests/network-clock.scm:
11369         * tests/plot-data:
11370         First pass at cleaning up tests/ dir before moving the rest
11371         Combined with CVS surgery
11372
11373 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11374
11375         * po/POTFILES.in:
11376           queue has moved, update
11377
11378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11379
11380         * docs/gst/gstreamer-sections.txt:
11381           remove double entries from the docs
11382         * gst/gst_private.h:
11383         * gst/gstinfo.c: (_gst_debug_init):
11384           remove the THREAD debug category
11385         * gst/Makefile.am:
11386         * gst/gstqueue.c:
11387         * gst/gstqueue.h:
11388         * docs/gst/gstreamer.types:
11389         * plugins/elements/gstqueue.c: (gst_queue_get_type),
11390         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
11391           completely move queue and fix up debugging categories
11392
11393 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11396           make initialization portable, using LL is not
11397
11398 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11399
11400         * win32/common/gstconfig.h:
11401           add large padding
11402
11403 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11404
11405         * win32/common/libgstreamer.def:
11406           rename symbols; sort base section
11407
11408 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * gst/gstclock.c: (do_linear_regression):
11411           remove crack non-portable handrolled DEBUG macro
11412
11413 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11414
11415         * docs/random/release:
11416           update notes
11417         * win32/common/gstenumtypes.c: (register_gst_object_flags),
11418         (gst_object_flags_get_type), (register_gst_bin_flags),
11419         (gst_bin_flags_get_type), (register_gst_buffer_flag),
11420         (gst_buffer_flag_get_type), (register_gst_bus_flags),
11421         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
11422         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
11423         (gst_caps_flags_get_type), (register_gst_clock_return),
11424         (gst_clock_return_get_type), (register_gst_clock_entry_type),
11425         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
11426         (gst_clock_flags_get_type), (register_gst_state),
11427         (gst_state_get_type), (register_gst_state_change_return),
11428         (gst_state_change_return_get_type), (register_gst_state_change),
11429         (gst_state_change_get_type), (register_gst_element_flags),
11430         (gst_element_flags_get_type), (register_gst_core_error),
11431         (gst_core_error_get_type), (register_gst_library_error),
11432         (gst_library_error_get_type), (register_gst_resource_error),
11433         (gst_resource_error_get_type), (register_gst_stream_error),
11434         (gst_stream_error_get_type), (register_gst_event_type_flags),
11435         (gst_event_type_flags_get_type), (register_gst_event_type),
11436         (gst_event_type_get_type), (register_gst_seek_type),
11437         (gst_seek_type_get_type), (register_gst_seek_flags),
11438         (gst_seek_flags_get_type), (register_gst_format),
11439         (gst_format_get_type), (register_gst_index_certainty),
11440         (gst_index_certainty_get_type), (register_gst_index_entry_type),
11441         (gst_index_entry_type_get_type),
11442         (register_gst_index_lookup_method),
11443         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
11444         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
11445         (gst_index_resolver_method_get_type), (register_gst_index_flags),
11446         (gst_index_flags_get_type), (register_gst_debug_level),
11447         (gst_debug_level_get_type), (register_gst_debug_color_flags),
11448         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
11449         (gst_iterator_result_get_type), (register_gst_iterator_item),
11450         (gst_iterator_item_get_type), (register_gst_message_type),
11451         (gst_message_type_get_type), (register_gst_mini_object_flags),
11452         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
11453         (gst_pad_link_return_get_type), (register_gst_flow_return),
11454         (gst_flow_return_get_type), (register_gst_activate_mode),
11455         (gst_activate_mode_get_type), (register_gst_pad_direction),
11456         (gst_pad_direction_get_type), (register_gst_pad_flags),
11457         (gst_pad_flags_get_type), (register_gst_pad_presence),
11458         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
11459         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
11460         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
11461         (gst_plugin_error_get_type), (register_gst_plugin_flags),
11462         (gst_plugin_flags_get_type), (register_gst_rank),
11463         (gst_rank_get_type), (register_gst_query_type),
11464         (gst_query_type_get_type), (register_gst_tag_merge_mode),
11465         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
11466         (gst_tag_flag_get_type), (register_gst_task_state),
11467         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
11468         (gst_alloc_trace_flags_get_type),
11469         (register_gst_type_find_probability),
11470         (gst_type_find_probability_get_type), (register_gst_uri_type),
11471         (gst_uri_type_get_type), (register_gst_parse_error),
11472         (gst_parse_error_get_type):
11473         * win32/common/gstenumtypes.h:
11474         * win32/common/gstversion.h:
11475           update visual studio generated files
11476
11477 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11478
11479         * win32/vs6/libgstbase.dsp:
11480         * win32/vs6/libgstelements.dsp:
11481           update project files for new locations
11482
11483 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11484
11485         * Makefile.am:
11486           remove some files
11487         * README:
11488           reinstate and update
11489         * DEVEL:
11490         * REQUIREMENTS:
11491           removed
11492         * LICENSE:
11493         * docs/random/LICENSE:
11494           moved to random
11495
11496 2005-11-30  Edward Hervey  <edward@fluendo.com>
11497
11498         * gst/gsttypefind.c: (gst_type_find_register):
11499         * gst/gsttypefind.h:
11500         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
11501         (gst_type_find_factory_dispose):
11502         * gst/gsttypefindfactory.h:
11503         Fix memory leak in GstTypeFindFactory.
11504
11505 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11506
11507         * gst/gst.c:
11508         * plugins/elements/Makefile.am:
11509         * plugins/elements/gstelements.c:
11510         * plugins/elements/gstqueue.c:
11511           move queue from core to the elements plugin
11512
11513 2005-11-29  Andy Wingo  <wingo@pobox.com>
11514
11515         * libs/gst/base/gstbasetransform.h: 
11516         * libs/gst/base/gstbasesrc.h: 
11517         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
11518
11519         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
11520         of pointers by which to pad very extensible base classes (like the
11521         ones in libs/gst/base).
11522
11523 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11524
11525         * docs/gst/gstreamer-docs.sgml:
11526         * docs/gst/gstreamer-sections.txt:
11527         * docs/libs/gstreamer-libs-docs.sgml:
11528         * docs/libs/gstreamer-libs-sections.txt:
11529           moving documentation from core to lib
11530
11531 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11532
11533         * check/Makefile.am:
11534         * configure.ac:
11535         * docs/gst/Makefile.am:
11536         * gst/Makefile.am:
11537         * gst/base/.cvsignore:
11538         * gst/base/Makefile.am:
11539         * gst/base/README:
11540         * gst/base/gstadapter.c:
11541         * gst/base/gstadapter.h:
11542         * gst/base/gstbasesink.c:
11543         * gst/base/gstbasesink.h:
11544         * gst/base/gstbasesrc.c:
11545         * gst/base/gstbasesrc.h:
11546         * gst/base/gstbasetransform.c:
11547         * gst/base/gstbasetransform.h:
11548         * gst/base/gstcollectpads.c:
11549         * gst/base/gstcollectpads.h:
11550         * gst/base/gstpushsrc.c:
11551         * gst/base/gstpushsrc.h:
11552         * gst/base/gsttypefindhelper.c:
11553         * gst/base/gsttypefindhelper.h:
11554         * gst/check/Makefile.am:
11555         * gst/check/gstcheck.c:
11556         * gst/check/gstcheck.h:
11557         * gst/net/Makefile.am:
11558         * gst/net/gstnet.h:
11559         * gst/net/gstnetclientclock.c:
11560         * gst/net/gstnetclientclock.h:
11561         * gst/net/gstnettimepacket.c:
11562         * gst/net/gstnettimepacket.h:
11563         * gst/net/gstnettimeprovider.c:
11564         * gst/net/gstnettimeprovider.h:
11565         * libs/gst/Makefile.am:
11566         * libs/gst/base/Makefile.am:
11567         * libs/gst/base/gstbasetransform.c:
11568         * libs/gst/check/Makefile.am:
11569         * plugins/elements/Makefile.am:
11570         * po/POTFILES.in:
11571           CVS surgery + support to move base, check, and net out of gst
11572           and into libs/gst
11573
11574 2005-11-29  Andy Wingo  <wingo@pobox.com>
11575
11576         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
11577
11578         * gst/gststructure.h (struct _GstStructure): Only one pointer of
11579         padding.
11580
11581         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
11582
11583         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
11584
11585         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
11586
11587         * gst/gstobject.h: (struct _GstObject): Only one pointer of
11588         padding; reduces object size by about 30%. We don't expect
11589         anything else to go into gstobject.
11590
11591         * gst/gstminiobject.h (struct _GstMiniObject)
11592         (struct _GstMiniObjectClass): Only one pointer of padding; the
11593         payload is only a pointer and two ints anyway. For the class there
11594         are only two methods as well.
11595         
11596         * gst/gstelement.h (struct _GstElementClass): Removed
11597         the state_changed signal callback, it is not used.
11598
11599 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * docs/gst/gstreamer.types:
11602           fix includes, though they are a little dinky
11603
11604 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11605
11606         * check/Makefile.am:
11607           look in the right place for elements, a lot more chance of
11608           success
11609         * gst/Makefile.am:
11610           remove indexers and elements subdirs
11611         * plugins/Makefile.am:
11612           make indexers conditional
11613
11614 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11615
11616         * Makefile.am:
11617         * configure.ac:
11618         * plugins/elements/Makefile.am:
11619         * plugins/elements/gstcapsfilter.c:
11620         * plugins/elements/gstfilesink.c:
11621         * plugins/elements/gstfilesrc.c:
11622         * plugins/elements/gstidentity.c:
11623         * plugins/indexers/Makefile.am:
11624           do CVS surgery and related build fixery to move elements
11625           and indexers in a new gstreamer/plugins directory, out of the
11626           gst/ directory
11627
11628 2005-11-29  Andy Wingo  <wingo@pobox.com>
11629
11630         * check/Makefile.am:
11631         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11632         * pkgconfig/gstreamer-net.pc.in:
11633         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
11634         #322257.
11635
11636 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11637
11638         * tools/Makefile.am:
11639         * tools/gst-complete.1.in:
11640         * tools/gst-complete.c:
11641         * tools/gst-compprep.1.in:
11642         * tools/gst-compprep.c:
11643           removing -compprep and -complete
11644
11645 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/gstevent.c: (gst_event_new_new_segment),
11648         (gst_event_parse_new_segment):
11649         * gst/gstevent.h:
11650           fix #320529 - clean up new_segment API and structure.
11651           Let's hope everyone was using the methods, and not the structure.
11652
11653 2005-11-29  Edward Hervey  <edward@fluendo.com>
11654
11655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11656         (gst_base_sink_event), (gst_base_sink_do_sync),
11657         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11658         Properly handle non GST_FORMAT_TIME segment
11659         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11660         Properly handle non GST_FORMAT_TIME segment
11661         * gst/gstsegment.c:
11662         This function is valid if the accumulator is 0 and the format
11663         is different from the requested format.
11664         
11665 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11666
11667         * docs/gst/gstreamer-sections.txt:
11668         Add gst_query_new_seeking and gst_query_parse_seeking to the
11669         docs.
11670
11671 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11672
11673         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11674           Treat a pad alloc with new caps the same as if we were not
11675           negotiated, in order to allow a changing upstream output
11676           to produce a new format of data.
11677
11678 2005-11-29  Edward Hervey  <edward@fluendo.com>
11679
11680         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11681         (gst_base_transform_event), (gst_base_transform_eventfunc):
11682         The event virtual method is now properly implemented, with a default
11683         handler
11684         Sub classes should call the parent_class event method. They should
11685         return FALSE if they had a problem handling the given event, or don't
11686         want GstBaseTransform to send that even downstream
11687         * gst/elements/gstidentity.c: (gst_identity_class_init),
11688         (gst_identity_init), (gst_identity_event),
11689         (gst_identity_transform_ip), (gst_identity_set_property),
11690         (gst_identity_get_property):
11691         * gst/elements/gstidentity.h:
11692         Added the single-segment boolean property.
11693         If set to TRUE, it will output a single segment of data, starting from
11694         0, will eat up all incoming newsegment, and modify the timestamp of the
11695         buffers accordingly
11696
11697 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11698
11699         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11700           Don't ref NULL target pad (#322751). Improve docs.
11701
11702 2005-11-29  Michael Smith  <msmith@fluendo.com>
11703
11704         * gst/gstregistryxml.c: (load_plugin):
11705           Don't crash if we failed to load a feature from a plugin. 
11706
11707 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11708
11709         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11710         (GST_START_TEST):
11711           use more check API and less GLib API
11712
11713 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11714
11715         * Makefile.am:
11716           don't run checks if we don't have check
11717         * common/check.mak:
11718           remove the registry when running make torture
11719         * docs/gst/gstreamer-sections.txt:
11720           remove second multiply
11721         * gst/gstqueue.c: (gst_queue_loop):
11722           fix a compile warning when disabling debug
11723
11724 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11725
11726         * gst/gstinfo.h:
11727         Hey! Let's print the pad name if the pointer != NULL instead
11728         of when it == NULL :-)
11729
11730 2005-11-28  Wim Taymans  <wim@fluendo.com>
11731
11732         * check/gst/gstutils.c: (GST_START_TEST):
11733         Updated check, add some scaling accuracy checking code.
11734
11735         * gst/gstutils.c: (gst_util_div128_64),
11736         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11737         (gst_util_uint64_scale_int):
11738         Fix 6 times faster division code. Optimize for common 
11739         1/1 and less common X/1 cases.
11740
11741 2005-11-28  Wim Taymans  <wim@fluendo.com>
11742
11743         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11744         More checks.
11745
11746         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11747         (do_linear_regression), (gst_clock_add_observation):
11748         Cleanups.
11749         Release lock when the clock cannot be slaved.
11750         Catch the case where the regression returned an invalid denominator.
11751
11752         * gst/gstutils.c: (gst_util_div128_64_iterate),
11753         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11754         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11755         Add protentially more performant non-iterative 128/64 divide function
11756         that unfortunatly does not work yet.
11757         Shortcut the trivial 0/X = 0 case.
11758         Remove the warnings on overflow.
11759
11760 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11761
11762         * gst/gstplugin.c: (gst_plugin_register_func):
11763           everything causing a plugin not to load should be at least a WARNING
11764
11765 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11766
11767         * docs/random/ensonic/dparams.txt:
11768           some TODOs for the next dev cycle
11769         * libs/gst/controller/gstcontroller.c:
11770         (gst_controlled_property_set_interpolation_mode),
11771         (gst_controlled_property_new):
11772         * libs/gst/controller/gstcontroller.h:
11773           use base type to assign acccessor functions
11774
11775 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11776
11777         * check/Makefile.am:
11778         Oops, that should have been top_srcdir
11779
11780 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11781
11782         * check/Makefile.am:
11783         * check/elements/fdsrc.c: (GST_START_TEST):
11784         Use a cmdline define to specify the location of a file to use for
11785         testing, to avoid breaking distcheck.
11786
11787 2005-11-28  Andy Wingo  <wingo@pobox.com>
11788
11789         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11790
11791 2005-11-28  Edward Hervey  <edward@fluendo.com>
11792
11793         * tools/gst-launch.c: (main):
11794         Clarify the output strings, makes it easier to translate.
11795         Fixes #322626
11796
11797 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11798
11799         * gst/Makefile.am:
11800           don't try and build net if we don't even have <sys/socket.h>
11801
11802 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11803
11804         * check/Makefile.am:
11805         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11806         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11807           Add tests for fdsrc seekability
11808
11809         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11810         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11811         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11812         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11813         * gst/elements/gstfdsrc.h:
11814           fdsrc should not be a 'live' source.
11815           Implement seeking on seekable fd's.
11816
11817         * gst/gstquery.c: (gst_query_new_seeking),
11818         (gst_query_parse_seeking):
11819         * gst/gstquery.h:
11820           Implement SEEKING query functions: 
11821             *_new_seeking and *_parse_seeking
11822
11823 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11824
11825         * gst/gstelement.c: (gst_element_dispose):
11826           don't loop forever
11827
11828         * gst/gstiterator.c:
11829         * gst/gststructure.c:
11830           doc fixes
11831
11832         * libs/gst/controller/gstcontroller.c:
11833         (gst_controlled_property_set_interpolation_mode):
11834         * libs/gst/controller/gstcontroller.h:
11835         * libs/gst/controller/gstinterpolation.c:
11836         (interpolate_none_get_enum_value_array):
11837           support controlling enums
11838
11839 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11840
11841         * gst/gstvalue.c:
11842           Improve documentation for gst_value_union().
11843
11844         * gst/gstvalue.h:
11845           Change return value for union, intersect and subtract functions
11846           from gint to gboolean.
11847
11848 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * gst/gstvalue.c: (gst_value_serialize_any_list),
11851         (gst_value_transform_any_list_string),
11852         (gst_value_deserialize_list), (gst_value_deserialize_array),
11853         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11854         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11855         (gst_value_set_fraction_range_full),
11856         (gst_value_deserialize_fraction_range),
11857         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11858         (gst_value_deserialize_boolean),
11859         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11860         (gst_value_serialize_float), (gst_value_deserialize_float),
11861         (gst_string_wrap), (gst_value_deserialize_string),
11862         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11863         (gst_value_union_int_range_int_range),
11864         (gst_value_intersect_int_range_int_range),
11865         (gst_value_intersect_double_range_double_range),
11866         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11867         (gst_value_subtract_int_range_int_range),
11868         (gst_value_subtract_double_double_range),
11869         (gst_value_subtract_double_range_double_range),
11870         (gst_value_deserialize_fraction):
11871         * gst/gstvalue.h:
11872           Use gint, gdouble and gchar in our API instead of int, double and
11873           char (and make usage in gstvalue.c more consistent).
11874
11875 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * check/Makefile.am:
11878         * libs/gst/controller/Makefile.am:
11879         * libs/gst/dataprotocol/Makefile.am:
11880           fix up Makefile.am and remove GST_ENABLE_NEW
11881
11882 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11883
11884         * configure.ac:
11885         * gst/Makefile.am:
11886         * gst/base/Makefile.am:
11887         * gst/check/Makefile.am:
11888         * gst/elements/Makefile.am:
11889         * gst/net/Makefile.am:
11890           update LDFLAGS use some more
11891
11892 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11893
11894         * common/m4/gst-doc.m4:
11895           Fixes #312589
11896
11897 2005-11-26  Edward Hervey  <edward@fluendo.com>
11898
11899         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11900         This shouldn't issue a g_warning since it returns NULL if it
11901         couldn't find the plugin, and all functions using this behave
11902         properly on a NULL return. Switching to a GST_WARNING.
11903
11904 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11905
11906         * gst/gstbin.c: (gst_bin_handle_message_func):
11907         Don't leak clock messages.
11908
11909 2005-11-25  Wim Taymans  <wim@fluendo.com>
11910
11911         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11912         (gst_util_uint64_scale_int):
11913         Optimisations, remove unneeded vars.
11914
11915 2005-11-25  Wim Taymans  <wim@fluendo.com>
11916
11917         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11918         Added more checks for the high precision uint64 cases.
11919
11920         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11921         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11922         Implement high precision (guint64 * guint64) / guint64.
11923
11924 2005-11-24  Wim Taymans  <wim@fluendo.com>
11925
11926         * gst/base/gstbasesrc.c: (gst_base_src_query):
11927         Fix wrong percentage query.
11928
11929         * gst/gstutils.c: (gst_util_uint64_scale),
11930         (gst_util_uint64_scale_int):
11931         Add some more common cases that can be handled 
11932         efficiently to _scale.
11933
11934 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11935
11936         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11937         (gst_mini_object_suite):
11938           don't use check calls from threads; check probably isn't
11939           threadsafe and using a lock to make it threadsafe would
11940           defeat the purpose of this check
11941         * gst/check/gstcheck.c:
11942         * gst/check/gstcheck.h:
11943           use GST_DEBUG some more
11944
11945 2005-11-24  Wim Taymans  <wim@fluendo.com>
11946
11947         * gst/gstutils.c: (gst_util_uint64_scale),
11948         (gst_util_uint64_scale_int):
11949         Chain trivial case to _scale_int.
11950
11951 2005-11-24  Wim Taymans  <wim@fluendo.com>
11952
11953         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11954         Added test for scaling.
11955
11956         * gst/gstclock.h:
11957         Small doc fix.
11958
11959         * gst/gstutils.c: (gst_util_uint64_scale_int):
11960         Implemented high precision scaling code.
11961
11962 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11963
11964         * gst/gstinfo.h:
11965           do not crash on pad==NULL
11966
11967 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11968
11969         Patch by: Stefan Kost
11970
11971         * common/gtk-doc.mak:
11972         * docs/gst/Makefile.am:
11973         * docs/libs/Makefile.am:
11974           Fix distcheck issues for the libraries docs build
11975           Closes #319599.
11976
11977 2005-11-24  Michael Smith <msmith@fluendo.com>
11978
11979         * docs/manual/basics-helloworld.xml:
11980           Fix bug #315027: memory leak in example code in docs.
11981
11982 2005-11-24  Michael Smith <msmith@fluendo.com>
11983
11984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11985           Unlock the PREROLL_LOCK in a failure case.
11986
11987 2005-11-24  Wim Taymans  <wim@fluendo.com>
11988
11989         * docs/gst/gstreamer-sections.txt:
11990         * gst/base/gstadapter.h:
11991         * gst/base/gstbasesink.h:
11992         * gst/base/gstbasesrc.h:
11993         * gst/base/gstbasetransform.h:
11994         * gst/base/gstpushsrc.h:
11995         * gst/elements/gstfakesink.h:
11996         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11997         * gst/elements/gstfakesrc.h:
11998         * gst/elements/gstfilesink.h:
11999         * gst/elements/gstfilesrc.h:
12000         * gst/gst.c:
12001         * gst/gstbin.c:
12002         * gst/gstbuffer.c: (_gst_buffer_copy):
12003         * gst/gstbus.h:
12004         * gst/gstcaps.c:
12005         * gst/gstchildproxy.c:
12006         * gst/gstclock.c:
12007         * gst/gstelement.c:
12008         * gst/gstelementfactory.c:
12009         * gst/gstelementfactory.h:
12010         * gst/gstevent.c:
12011         * gst/gstghostpad.h:
12012         * gst/gstindex.h:
12013         * gst/gstinterface.h:
12014         * gst/gstminiobject.c:
12015         * gst/gstminiobject.h:
12016         * gst/gstpad.c:
12017         * gst/gstpad.h:
12018         * gst/gstpadtemplate.h:
12019         * gst/gstpipeline.h:
12020         * gst/gstpluginfeature.h:
12021         * gst/gstquery.h:
12022         * gst/gstqueue.h:
12023         * gst/gsttaglist.c:
12024         * gst/gsttaglist.h:
12025         * gst/gsttagsetter.c:
12026         * gst/gsttagsetter.h:
12027         * gst/gsttrace.c:
12028         * gst/gsttrace.h:
12029         * gst/gsttypefind.h:
12030         * gst/gsturi.h:
12031         * gst/gstvalue.c:
12032         * gst/net/gstnetclientclock.c:
12033         * gst/net/gstnetclientclock.h:
12034         * gst/net/gstnettimepacket.c:
12035         * gst/net/gstnettimeprovider.c:
12036         * gst/net/gstnettimeprovider.h:
12037         Doc fixes.
12038
12039 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * configure.ac: back to HEAD
12042
12043 === release 0.9.6 ===
12044
12045 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
12046
12047         * configure.ac:
12048           releasing 0.9.6, "Always On Time"
12049
12050 2005-11-23  Wim Taymans  <wim@fluendo.com>
12051
12052         * docs/gst/gstreamer-sections.txt:
12053         * gst/glib-compat.c:
12054         * gst/gsttagsetter.c:
12055         * gst/gstvalue.c:
12056         * gst/net/gstnetclientclock.c:
12057         * gst/net/gstnettimepacket.h:
12058         Doc updates.
12059
12060 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12061
12062         * docs/faq/using.xml:
12063         * docs/libs/tmpl/gstcontrol.sgml:
12064         * docs/manual/advanced-dparams.xml:
12065         * docs/manual/appendix-checklist.xml:
12066         * docs/manual/basics-elements.xml:
12067         * docs/pwg/other-source.xml:
12068         * docs/random/moving-plugins:
12069         * gst/gstpad.c:
12070         * tools/gst-launch.1.in:
12071           remove mentions of sinesrc
12072
12073 2005-11-23  Michael Smith <msmith@fluendo.com>
12074
12075         * docs/gst/gstreamer-sections.txt:
12076           Update for new API and API changes.
12077         * gst/gstobject.h:
12078           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
12079         * gst/gstvalue.c:
12080           Documentation typo fix.
12081         * gst/net/gstnettimepacket.c:
12082           Documentation fixes for arguments.
12083
12084 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
12085
12086         * gst/gststructure.c: (gst_structure_get_fraction),
12087         (gst_structure_parse_value),
12088         (gst_structure_fixate_field_nearest_fraction):
12089         * gst/gststructure.h:
12090         * gst/gstutils.c: (gst_util_uint64_scale_int):
12091         * gst/gstutils.h:
12092         * scripts/update-funcnames:
12093         API Changes. 
12094         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
12095         Make gst_structure_fixate_field_nearest_fraction take a numerator
12096         and denominator argument instead of a GValue
12097         add gst_structure_get_fraction helper function.
12098
12099 2005-11-23  Wim Taymans  <wim@fluendo.com>
12100
12101         * docs/design/part-TODO.txt:
12102         Update TODO.
12103
12104         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12105         * gst/net/gstnetclientclock.h:
12106         Use parent fields for timeout and window_size.
12107
12108 2005-11-23  Andy Wingo  <wingo@pobox.com>
12109
12110         * check/net/gstnetclientclock.c (test_functioning): Adjust to
12111         rate_num/rate_denom change.
12112
12113         * gst/net/gstnetclientclock.c
12114         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
12115         OBJECT_LOCK. Don't call add_observation with the lock.
12116
12117         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
12118         fraction.
12119         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
12120         rate fraction.
12121         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
12122         deal with rate as a fraction whose numerator and denominator are
12123         GstClockTime values.
12124         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
12125         master; the other fields are protected by the SLAVE_LOCK.
12126         (do_linear_regression): Note that this must be called with the
12127         SLAVE_LOCK.
12128         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
12129         OBJECT_LOCK. Call set_calibration instead of touching the
12130         variables directly.
12131         (gst_clock_set_property, gst_clock_get_property): Protect
12132         master/slave parameters with the SLAVE_LOCK.
12133
12134         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
12135         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
12136         note that all of the instance variables that add_observation and
12137         the set_master functions use are protected by that lock and not
12138         the OBJECT_LOCK.
12139         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
12140
12141         * gst/gstclock.c (gst_clock_add_observation): No longer requires
12142         the caller to take the object lock.
12143
12144 2005-11-23  Wim Taymans  <wim@fluendo.com>
12145
12146         * gst/gsterror.c: (_gst_core_errors_init):
12147         * gst/gsterror.h:
12148         Add error for clock stuff.
12149
12150         * gst/gstpipeline.c: (gst_pipeline_change_state),
12151         (gst_pipeline_set_clock):
12152         Post clock error when clock cannot be used in a pipeline.
12153
12154 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
12155
12156         * docs/gst/gstreamer-sections.txt:
12157           make two symbols from gstinfo private for the docs
12158         * gst/base/gstcollectpads.h:
12159         * gst/gstutils.c:
12160           fix doc typos, update docs
12161
12162 2005-11-22  Wim Taymans  <wim@fluendo.com>
12163
12164         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12165         (gst_base_sink_wait), (gst_base_sink_do_sync),
12166         (gst_base_sink_handle_event):
12167         * gst/base/gstbasesink.h:
12168         No need to store the clock, the parent element class already
12169         has it.
12170
12171         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
12172         Updates for clock_set returning a gboolean
12173
12174         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
12175         (gst_clock_id_wait_async), (gst_clock_class_init),
12176         (gst_clock_init), (gst_clock_finalize),
12177         (gst_clock_get_internal_time), (gst_clock_get_time),
12178         (gst_clock_slave_callback), (gst_clock_set_master),
12179         (gst_clock_get_master), (do_linear_regression),
12180         (gst_clock_add_observation), (gst_clock_set_property),
12181         (gst_clock_get_property):
12182         * gst/gstclock.h:
12183         Implement master/slave. When setting a clock as a slave, a
12184         periodic timeout is scheduled to sample master and slave times.
12185         Then the slave clock is recalibrated to match offset and rate
12186         of the master clock.
12187         Update logging a bit.
12188         Add flag so that a clock can state that is cannot be slaved to
12189         another clock.
12190
12191         * gst/gstelement.c: (gst_element_set_clock):
12192         * gst/gstelement.h:
12193         The set clock returns a gboolean for when an element cannot
12194         deal with the selected clock in the pipeline. 
12195
12196         * gst/gstpipeline.c: (gst_pipeline_change_state),
12197         (gst_pipeline_set_clock):
12198         * gst/gstpipeline.h:
12199         Handle the case where the selected clock cannot be set on
12200         the pipeline.
12201
12202         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
12203         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12204         (gst_net_client_clock_set_property),
12205         (gst_net_client_clock_get_property),
12206         (gst_net_client_clock_observe_times):
12207         * gst/net/gstnetclientclock.h:
12208         Use regression code in GstClock parent, remove duplicated
12209         functionality.
12210
12211 2005-11-22  Michael Smith <msmith@fluendo.com>
12212
12213         * gst/gstutils.c: (gst_util_clock_time_scale):
12214         * gst/gstutils.h:
12215         * docs/gst/gstreamer-sections.txt:
12216           Rename method to have extra underscore.
12217
12218 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12219
12220         * gst/elements/Makefile.am:
12221         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
12222         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12223         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12224         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
12225         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
12226         * gst/elements/gstfakesrc.h:
12227         * gst/gstqueue.c: (queue_leaky_get_type):
12228           correctly fix GEnumValues so that nick is the short lowercase
12229           dashed tag
12230         * tools/gst-inspect.c: (print_element_properties_info):
12231           also show the nick, since it's useful to use from parse_launch
12232           syntax
12233           Fixes #322139
12234
12235 2005-11-22  Michael Smith <msmith@fluendo.com>
12236
12237         * gst/gstutils.c: (gst_util_clocktime_scale):
12238         * gst/gstutils.h:
12239         * docs/gst/gstreamer-sections.txt:
12240           Add util method for scaling a clocktime by a fraction. Useful 
12241           implementation is left as an exercise for the reader.
12242
12243 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12244
12245         * gst/gstvalue.c: (gst_value_collect_fraction_range):
12246         If needed, allocate storage in the destination value during
12247         collection.
12248
12249 2005-11-22  Edward Hervey  <edward@fluendo.com>
12250
12251         * docs/gst/gstreamer-sections.txt:
12252         * gst/Makefile.am:
12253         * gst/gst.h:
12254         * gst/gsturitype.c:
12255         * gst/gsturitype.h:
12256         * gst/gstutils.c: (gst_util_set_object_arg):
12257         * tools/gst-compprep.c: (main):
12258         * tools/gst-inspect.c: (print_element_properties_info):
12259         Removed GstURI, closes bug #321061
12260
12261 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12262
12263         * check/gst/gststructure.c: (GST_START_TEST):
12264         * gst/gststructure.c: (gst_structure_parse_value):
12265           Oops, broke automatic string type parsing.
12266           Add a test to catch it in future.
12267
12268 2005-11-22  Andy Wingo  <wingo@pobox.com>
12269
12270         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
12271         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
12272         Actually rename the function implementations. Grr.
12273
12274 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12275
12276         * check/gst/capslist.h:
12277           Comment test cases
12278         * check/gst/gststructure.c: (GST_START_TEST),
12279         (gst_structure_suite):
12280           Test automatic value type detection in gst_structure_from_string.
12281         * gst/gststructure.c: (gst_structure_parse_value):
12282           Add fraction as a type we try and guess automatically in
12283           caps/structure strings.
12284
12285 2005-11-22  Andy Wingo  <wingo@pobox.com>
12286
12287         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
12288
12289         * gst/gsttagsetter.h:
12290         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
12291         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
12292         (gst_tag_setter_add_tag_valist)
12293         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
12294         _add_values, _add_valist, and _add_valist_values. Since this is an
12295         interface the function suffixes should be more explicit so
12296         language binding don't end up with element.add_valist ->
12297         gst_tag_setter_add_valist, for example. Fixes #322069.
12298
12299 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12300
12301         * check/gst/gstcaps.c: (GST_START_TEST):
12302           Extend caps string tests to check that a caps to string
12303           conversion is reversible and produces the same caps.
12304
12305         * gst/gststructure.c: (gst_structure_value_get_generic_type):
12306           Output "fraction" as the generic type fraction range, so caps
12307           serialisation and deserialisation works.
12308         * check/gst/capslist.h:
12309         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12310           Support 'MIN' and 'MAX' for deserialising fractions.
12311
12312 2005-11-22  Andy Wingo  <wingo@pobox.com>
12313
12314         * gst/gstevent.h (gst_event_new_new_segment)
12315         (gst_event_parse_new_segment, gst_event_new_buffer_size)
12316         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
12317         Renamed from *_newsegment, *_buffersize, *_notarget.
12318
12319         * scripts/update-funcnames: New script, performs the changes
12320         listed above.
12321
12322 2005-11-22  Wim Taymans  <wim@fluendo.com>
12323
12324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12325         Make sure the GstFlowReturn is returned.
12326
12327         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
12328         (gst_bus_add_signal_watch):
12329         * gst/gstbus.h:
12330         add gst_bus_add_signal_watch_full.
12331
12332         * gst/gstplugin.c: (gst_plugin_load_file):
12333         Small style cleanup.
12334
12335 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12336
12337         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
12338           Block the fakesrc srcpad when we send an event, to avoid
12339           contention on the stream_lock causing random test failures.
12340
12341 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12342
12343         * check/gst/gstvalue.c: (GST_START_TEST):
12344         * gst/gstvalue.c: (gst_value_fraction_subtract):
12345           Fix subtraction.
12346
12347 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
12348
12349         * gst/gst.h:
12350           include "gstchildproxy.h"
12351         * gst/gstchildproxy.h:
12352         * libs/gst/controller/gstcontroller.h:
12353           use G_GNUC_NULL_TERMINATED
12354
12355 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12356
12357         * check/gst/capslist.h:
12358         * check/gst/gstcaps.c: (GST_START_TEST):
12359         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12360         * gst/gststructure.c: (gst_structure_parse_range),
12361         (gst_structure_fixate_field_nearest_fraction):
12362         * gst/gststructure.h:
12363         * gst/gstvalue.c: (gst_value_init_fraction_range),
12364         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
12365         (gst_value_collect_fraction_range),
12366         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
12367         (gst_value_set_fraction_range_full),
12368         (gst_value_get_fraction_range_min),
12369         (gst_value_get_fraction_range_max),
12370         (gst_value_serialize_fraction_range),
12371         (gst_value_transform_fraction_range_string),
12372         (gst_value_compare_fraction_range),
12373         (gst_value_deserialize_fraction_range),
12374         (gst_value_intersect_fraction_fraction_range),
12375         (gst_value_intersect_fraction_range_fraction_range),
12376         (gst_value_subtract_fraction_fraction_range),
12377         (gst_value_subtract_fraction_range_fraction),
12378         (gst_value_subtract_fraction_range_fraction_range),
12379         (gst_value_collect_fraction), (gst_value_fraction_multiply),
12380         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
12381         (gst_value_transform_string_fraction), (_gst_value_initialize):
12382         * gst/gstvalue.h:
12383           Implement fraction ranges and extend GstFraction to support
12384           arithmetic subtraction, as well as deserialization from integer
12385           strings such as "100"
12386           Add a testsuite as for int and double range set operations
12387
12388 2005-11-21  Andy Wingo  <wingo@pobox.com>
12389
12390         * gst/gsttaglist.h: 
12391         * gst/gstcaps.h: 
12392         * gst/gststructure.h: Add glib-compat.h.
12393
12394 2005-11-21  Wim Taymans  <wim@fluendo.com>
12395
12396         * gst/gstbin.c: (gst_bin_change_state_func):
12397         Fix for #321595
12398
12399 2005-11-21  Wim Taymans  <wim@fluendo.com>
12400
12401         * gst/gstsegment.h:
12402         And add a nice define too.
12403
12404 2005-11-21  Wim Taymans  <wim@fluendo.com>
12405
12406         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
12407         (gst_segment_new), (gst_segment_free), (gst_segment_init),
12408         (gst_segment_set_duration), (gst_segment_set_last_stop),
12409         (gst_segment_set_seek), (gst_segment_set_newsegment),
12410         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12411         (gst_segment_clip):
12412         * gst/gstsegment.h:
12413         Make binding friendly.
12414
12415 2005-11-21  Andy Wingo  <wingo@pobox.com>
12416
12417         * gst/gsttagsetter.h: 
12418         * gst/gsttaglist.h: 
12419         * gst/gststructure.h: 
12420         * gst/gstcaps.h: 
12421         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
12422         #319940.
12423
12424         * gst/gsterror.c (_gst_core_errors_init):
12425         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
12426         category.
12427
12428         * gst/Makefile.am (gst_headers): Add glib-compat.h.
12429         (noinst_HEADERS): noinst the -private.
12430
12431 2005-11-21  Michael Smith <msmith@fluendo.com>
12432
12433         * gst/gstplugin.h:
12434         * gst/gstregistry.h:
12435           Remove unimplemented declarations for which we can see no sensible
12436           use.
12437
12438 2005-11-21  Andy Wingo  <wingo@pobox.com>
12439
12440         * gst/gst.h: Include glib-compat.h.
12441
12442         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
12443
12444         * gst/glib-compat.c: Include the public and the private header.
12445
12446         * gst/glib-compat-private.h: Copied here from glib-compat.h.
12447
12448         * gst/gstvalue.c: 
12449         * gst/gstpad.c: 
12450         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
12451
12452         * check/gst/gstevent.c (create_custom_events): Check that
12453         FLUSH_STOP is serialized.
12454
12455         * check/elements/identity.c (event_func): 
12456         * check/elements/fakesrc.c (event_func): No stream lock, the core
12457         takes it.
12458
12459         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
12460         stream lock taking, yay.
12461
12462         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
12463         ensure that core takes the stream lock.
12464
12465         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
12466         lock name change.
12467
12468         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
12469         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
12470         it already. For the flush start we do take it though so we get the
12471         right preroll state change messages.
12472
12473         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
12474         the stream lock here, the core does it for us.
12475
12476         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
12477         GST_STREAM_GET_LOCK.
12478         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
12479         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
12480         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
12481         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
12482         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
12483         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
12484
12485         * gst/gstpad.c: Update for stream lock name change.
12486
12487         * gst/base/gstbasesink.c: Update for preroll lock name change.
12488
12489 2005-11-21  Wim Taymans  <wim@fluendo.com>
12490
12491         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
12492         (gst_clock_get_master):
12493         * gst/gstclock.h:
12494         * gst/gstsystemclock.c: (gst_system_clock_init):
12495         Convert Clock flags to object flags.
12496         Added methods to manage master/slave clocks.
12497
12498 2005-11-21  Wim Taymans  <wim@fluendo.com>
12499
12500         * check/gst/gstsegment.c: (GST_START_TEST):
12501         * docs/design/part-TODO.txt:
12502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12503         (gst_base_sink_event), (gst_base_sink_do_sync),
12504         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12505         (gst_base_sink_query), (gst_base_sink_change_state):
12506         * gst/base/gstbasesink.h:
12507         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12508         (gst_base_src_default_newsegment),
12509         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12510         (gst_base_src_get_range), (gst_base_src_loop),
12511         (gst_base_src_change_state):
12512         * gst/base/gstbasesrc.h:
12513         * gst/base/gstbasetransform.c:
12514         (gst_base_transform_prepare_output_buf),
12515         (gst_base_transform_event), (gst_base_transform_change_state):
12516         * gst/base/gstbasetransform.h:
12517         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12518         (gst_collect_pads_event):
12519         * gst/base/gstcollectpads.h:
12520         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
12521         (gst_fake_src_create):
12522         * gst/elements/gstfakesrc.h:
12523         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12524         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12525         (gst_segment_set_last_stop), (gst_segment_set_seek),
12526         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12527         (gst_segment_to_running_time), (gst_segment_clip):
12528         * gst/gstsegment.h:
12529         More segment updates, replace code in plugins with segment
12530         helper functions.
12531
12532 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12533
12534         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
12535         Don't ignore sscanf results
12536
12537 2005-11-21  Andy Wingo  <wingo@pobox.com>
12538
12539         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
12540
12541         * *.h:
12542         * *.c: Ran scripts/update-macros. Oh yes.
12543
12544         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
12545         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
12546         GST_GET_LOCK, etc.
12547
12548         * scripts/update-macros: New script. Run it on your files to
12549         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
12550         well.
12551
12552 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12553
12554         * docs/gst/Makefile.am:
12555         * docs/gst/gstreamer-docs.sgml:
12556         * docs/gst/gstreamer-sections.txt:
12557         * docs/gst/gstreamer.types:
12558         * gst/gstinfo.h:
12559           more docs fixes, add new api to the docs
12560
12561 2005-11-21  Andy Wingo  <wingo@pobox.com>
12562
12563         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
12564         state_broadcast call.
12565
12566         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
12567
12568 2005-11-21  Julien MOUTTE  <julien@moutte.net>
12569
12570         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
12571         function calls for arrays.
12572
12573 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12574
12575         * docs/random/ensonic/media-device-daemon.txt:
12576           wild idea, can this be done?
12577         * docs/gst/gstreamer-sections.txt:
12578         * gst/gsterror.h:
12579         * gst/gstfilter.c:
12580         * gst/gstfilter.h:
12581         * gst/gstplugin.h:
12582         * gst/gstpluginfeature.c:
12583         * gst/gsttrace.c:
12584         * gst/gstvalue.c:
12585         * gst/gstvalue.h:
12586           doc fixes and additions
12587
12588 2005-11-21  Andy Wingo  <wingo@pobox.com>
12589
12590         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
12591         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
12592         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
12593         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
12594         private to the basesrc implementation.
12595
12596         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
12597         behalf of event function if necessary. It should no longer be
12598         necessary to take the stream lock in pad's event functions. Fixes
12599         #320299.
12600
12601 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12602         * docs/gst/gstreamer-sections.txt:
12603         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
12604         (gst_structure_fixate_field_nearest_double),
12605         (gst_structure_fixate_field_boolean):
12606         * gst/gststructure.h:
12607         * win32/common/libgstreamer.def:
12608         * win32/gstreamer.def:
12609
12610         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
12611         (#322027)
12612
12613 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12614
12615         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
12616         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
12617         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
12618         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
12619         (gst_fdsrc_uri_handler_init):
12620         * gst/elements/gstfdsrc.h:
12621           Port fd:// URI handler from 0.8 to fdsrc
12622
12623 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12624
12625         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
12626         (gst_value_serialize_fourcc):
12627         * gst/gstvalue.h:
12628           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
12629           consistent with our other format defines (#320324).
12630
12631 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12632
12633         * gst/gstvalue.c: (gst_value_is_fixed):
12634           Revert previous commit. Value lists are by definition
12635           not fixed, as they are a list of possible values.
12636
12637 2005-11-21  Andy Wingo  <wingo@pobox.com>
12638
12639         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
12640         during the stable series if we need it. Fixes #319178.
12641
12642         * gst/gstevent.c (gst_event_new_filler): Removed.
12643
12644         * check/gst/gstevent.c: Update comment about filler events.
12645
12646 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12647
12648         * gst/gstvalue.c: (gst_value_is_fixed):
12649           Should handle both value arrays and value lists.
12650
12651 2005-11-21  Andy Wingo  <wingo@pobox.com>
12652
12653         patch by: Alessandro Dessina <alessandro nnva org>
12654
12655         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
12656         functions to access arrays. Fixes #321962.
12657
12658 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12659
12660         * docs/gst/gstreamer.types:
12661           gst_collectpads_get_type => gst_collect_pads_get_type.
12662           
12663         * gst/base/gstbasetransform.c:
12664           Remove unused SIGNAL_HANDOFF enum.
12665
12666 2005-11-21  Andy Wingo  <wingo@pobox.com>
12667
12668         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
12669         the event type (upstream, downstream, serialized). Renamed
12670         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
12671         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
12672         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
12673
12674         * gst/gstevent.c: Update for new CUSTOM event names.
12675
12676         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12677
12678         * gst/gstevent.h:
12679         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12680         bug #319392.
12681
12682 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12683
12684         * docs/gst/gstreamer-sections.txt:
12685         * win32/common/libgstbase.def:
12686         * win32/libgstbase.def:
12687         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12688         (gst_collect_pads_class_init), (gst_collect_pads_init),
12689         (gst_collect_pads_finalize), (gst_collect_pads_new),
12690         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12691         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12692         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12693         (gst_collect_pads_start), (gst_collect_pads_stop),
12694         (gst_collect_pads_peek), (gst_collect_pads_pop),
12695         (gst_collect_pads_available), (gst_collect_pads_read),
12696         (gst_collect_pads_flush), (gst_collect_pads_event),
12697         (gst_collect_pads_chain):
12698         * gst/base/gstcollectpads.h:
12699           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12700           unimplemented functions as unimplemented. Add padding to
12701           GstCollectData. (#320766, #320423)
12702
12703 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12704
12705         * gst/gstmessage.c:
12706           Improve docs for DURATION message (usage of duration parameter)
12707           (#320113)
12708
12709 2005-11-20  Wim Taymans  <wim@fluendo.com>
12710
12711         * check/Makefile.am:
12712         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12713         (main):
12714         * gst/Makefile.am:
12715         * gst/gst.h:
12716         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12717         (gst_segment_set_seek), (gst_segment_set_newsegment),
12718         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12719         (gst_segment_clip):
12720         * gst/gstsegment.h:
12721         Added segment helper structure and methods. Not fully implemented
12722         yet.
12723         Added segment check.
12724
12725 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12726
12727         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12728           Add a deserialisation test for fractions
12729         * examples/metadata/read-metadata.c: (message_loop),
12730         (make_pipeline), (main):
12731           Fix up metadata reading sample.
12732         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12733           Debug format fix
12734         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12735           Don't try and fixate empty caps
12736         * gst/gst_private.h:
12737           Wrap in G_BEGIN_DECLS/G_END_DECLS
12738         * gst/gstvalue.c: (gst_value_collect_fraction),
12739         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12740         (gst_value_transform_string_fraction),
12741         (gst_value_compare_fraction):
12742           Add some extra guards to ensure that we don't end up 
12743           with an invalid denominator of 0 in a gstfraction and
12744           that fractions always get reduced.
12745
12746 2005-11-20  Wim Taymans  <wim@fluendo.com>
12747
12748         * docs/gst/gstreamer-sections.txt:
12749         * gst/gstbuffer.h:
12750         * gst/gstelement.c:
12751         * gst/gstformat.c:
12752         * gst/gstformat.h:
12753         * gst/gstindex.h:
12754         * gst/gstquery.c:
12755         * gst/gstquery.h:
12756         * gst/gstvalue.c:
12757         Doc fixes.
12758
12759 2005-11-20  Wim Taymans  <wim@fluendo.com>
12760
12761         * docs/design/part-TODO.txt:
12762         * gst/gstcaps.h:
12763         Make a proper enum of the flag.
12764
12765 2005-11-19  Wim Taymans  <wim@fluendo.com>
12766
12767         * docs/design/part-TODO.txt:
12768         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12769         (gst_format_to_quark), (gst_format_register):
12770         * gst/gstformat.h:
12771         * gst/gstquery.c: (_gst_query_initialize),
12772         (gst_query_type_get_name), (gst_query_type_to_quark),
12773         (gst_query_type_register):
12774         * gst/gstquery.h:
12775         Add type to quark and type to string conversions.
12776
12777 2005-11-19  Andy Wingo  <wingo@pobox.com>
12778
12779         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12780         #320097.
12781
12782 2005-11-19  Wim Taymans  <wim@fluendo.com>
12783
12784         * docs/design/part-TODO.txt:
12785         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12786         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12787         (gst_bin_handle_message_func):
12788         * gst/gstbin.h:
12789         Make message handling overridable.
12790
12791 2005-11-19  Andy Wingo  <wingo@pobox.com>
12792
12793         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12794
12795         * gst/gstclock.h:
12796         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12797         be a GstClockTime.
12798         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12799         is a GstClockTime. Fixes #321710.
12800
12801         * gst/gstclock.h (GstClock): Remove offset property. Add
12802         internal_calibration and external_calibration. Fix padding. Pad
12803         also by GstClockTime so we don't run into problems.
12804
12805         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12806         (gst_clock_get_rate_offset): Remove.
12807         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12808
12809         * gst/gstutils.h:
12810         * gst/gstutils.c (g_static_rec_cond_wait)
12811         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12812
12813         * gst/gstbin.c: Remove terrible continue_state prototype.
12814
12815         * gst/gstelement.h (gst_element_continue_state): Make public.
12816
12817         * gst/gstelement.h:
12818         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12819         by continue_state. Fixes #319389.
12820
12821         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12822         Really fixes #168438. However I don't see anywhere where the
12823         filter function is called... stupid GStreamer...
12824         
12825         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12826         don't have a dispose function, so it won't get called when the
12827         object is unreffed, but oh well!
12828
12829         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12830         allows a destroy function to be set so user_data can be freed.
12831         Fixes #168438.
12832         (gst_index_set_filter): Call gst_index_set_filter_full.
12833
12834         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12835
12836         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12837         string should produce an error, given the lack of a way to
12838         represent NULL strings. Fixes #165650.
12839         
12840         * gst/gstvalue.h: 
12841         * gst/gstvalue.c (gst_value_array_append_value) 
12842         (gst_value_array_prepend_value, gst_value_array_get_size) 
12843         (gst_value_array_get_value): New API, copied from
12844         gst_value_list_*, only operates on arrays.
12845         (gst_value_list_append_value, gst_value_list_prepend_value) 
12846         (gst_value_list_concat, gst_value_list_get_size) 
12847         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12848
12849         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12850         init_list, because it works on both.
12851         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12852         (gst_value_copy_list_or_array): Renamed from copy_list.
12853         (gst_value_free_list_or_array): Renamed from free_list.
12854         (gst_value_collect_list_or_array): Renamed from collect_list.
12855         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12856         (gst_value_list_or_array_peek_pointer): Renamed from
12857         list_peek_pointer.
12858         (_gst_value_array_value_table, _gst_value_list_value_table):
12859         Update value table functions.
12860         (gst_value_compare_list_or_array): Renamed from compare_list.
12861
12862         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12863         some constness.
12864
12865         * gst/gsttaglist.c:
12866         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12867         GstTagList*. Fixes #143472.
12868
12869         * gst/gststructure.h: Clarify what the foreach/map functions can
12870         or can't do to their arguments.
12871
12872 2005-11-18  Wim Taymans  <wim@fluendo.com>
12873
12874         * gst/gstclock.c: (gst_clock_set_calibration),
12875         (gst_clock_get_calibration):
12876         Doc and API fixes.
12877         Calibration can be set with internal time equal to current
12878         internal time too.
12879
12880 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * gst/gsterror.c:
12883         * gst/gsterror.h:
12884           document
12885
12886 2005-11-18  Andy Wingo  <wingo@pobox.com>
12887
12888         * configure.ac: 
12889         * pkgconfig/gstreamer-net.pc.in:
12890         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12891         * pkgconfig/Makefile.am: Add net pkgconfig files.
12892
12893 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12894
12895         * gst/gstcaps.c:
12896         * gst/gstghostpad.c:
12897         * gst/gsttrace.c:
12898         * gst/gstvalue.c:
12899         * gst/gstvalue.h:
12900           docs fixes
12901
12902 2005-11-18  Andy Wingo  <wingo@pobox.com>
12903
12904         * gst/net/gstnetclientclock.c: Turn off debugging.
12905
12906         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12907         times connverge somewhat. Can't make a real test.
12908
12909         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12910         integer arithmetic. Return the minimum of the domain, which can be
12911         set as "internal" for gst_clock_set_calibration.
12912         (gst_net_client_clock_observe_times): Call _set_calibration.
12913         (gst_net_client_clock_new): Call _set_calibration instead of
12914         rate_offset.
12915
12916         * check/net/gstnetclientclock.c (test_functioning): Use the right
12917         adjustment api.
12918
12919         * gst/gstclock.h:
12920         * gst/gstclock.c (gst_clock_get_calibration) 
12921         (gst_clock_set_calibration): New functions, obsolete the ones I
12922         added yesterday. Doh. Precision issues mean we have to extrapolate
12923         from a point in the more recent past than 1970.
12924         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12925         obsolete.
12926         (gst_clock_adjust_unlocked): Use the right calibration data.
12927
12928 2005-11-18  Edward Hervey  <edward@fluendo.com>
12929
12930         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12931         Also reset the ->current_* values in READY->PAUSED
12932
12933 2005-11-18  Andy Wingo  <wingo@pobox.com>
12934
12935         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12936         Whoops, check the right fd. Also add some debugging.
12937         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12938         (do_linear_regression): Add a crapload of debugging. Subtract off
12939         the minimum values from the input series to discard unneeded bits.
12940         Use only int arithmetic. There is still double arithmetic when
12941         calculating the intercept that needs fixing. Return boolean to
12942         indicate success; FALSE would mean the domain or range is too
12943         great. Still needs fixes.
12944
12945 2005-11-18  Wim Taymans  <wim@fluendo.com>
12946
12947         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12948         For the current position in stream time, we need to subtract
12949         accumulated time.
12950         
12951         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12952         Release lock before calling the callback function of async
12953         entries.
12954
12955 2005-11-18  Andy Wingo  <wingo@pobox.com>
12956
12957         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12958         Port goes all the way to MAXUINT16.
12959
12960         * gst/net/gstnettimeprovider.c: Make the port range the same as
12961         for the kernel: 0 assigns, otherwise ports are less than
12962         MAXUINT16.
12963
12964         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12965         port change.
12966
12967         * check/net/gstnetclientclock.c (test_functioning): Add the start
12968         of another test. 
12969
12970 2005-11-18  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12973         (gst_bin_remove_func), (bin_bus_handler):
12974         * gst/gstbin.h:
12975         Removing a clock provider from a bin, triggers a clock lost message
12976         so that a new clock will be selected.
12977         Adding a clock to a bin triggers a clock provider message.
12978         Make sure we reselect a clock when we received a clock lost message.
12979         Keep a reference to the element that provided the clock.
12980
12981 2005-11-18  Andy Wingo  <wingo@pobox.com>
12982
12983         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12984         the clock initially so it produces values around the base time.
12985         (gst_net_client_clock_class_init): Typo fix.
12986         (gst_net_client_clock_thread): Add note on when the socket gets
12987         closed.
12988
12989 2005-11-17  Wim Taymans  <wim@fluendo.com>
12990
12991         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12992         Free remote and local time arrays.
12993
12994 2005-11-17  Wim Taymans  <wim@fluendo.com>
12995
12996         * gst/net/gstnetclientclock.c: (do_linear_regression),
12997         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12998         Fix compilation, uninitialized vars and a forgotten continue.
12999
13000 2005-11-17  Andy Wingo  <wingo@pobox.com>
13001
13002         * check/Makefile.am (check_PROGRAMS): 
13003         * check/net/gstnetclientclock.c: Add a most minimal test for the
13004         net client clock. More to come later.
13005
13006         * gst/net/gstnet.h: 
13007         * gst/net/Makefile.am: Add netclientclock.
13008
13009         * gst/net/gstnetclientclock.h:
13010         * gst/net/gstnetclientclock.c: New files, implement an untested
13011         GstClock that takes its time from a network time provider.
13012         Implements the algorithm in network-clock.scm.
13013
13014         * tests/network-clock.scm (*window-size*): Rename from
13015         *queue-length*.
13016         * tests/network-clock.scm (network-time): 
13017         * tests/network-clock-utils.scm (q-push): Update callers.
13018
13019 2005-11-17  Wim Taymans  <wim@fluendo.com>
13020
13021         * gst/gstbin.c: (gst_bin_provide_clock_func),
13022         (gst_bin_sort_iterator_new):
13023         And unref the child too..
13024
13025 2005-11-17  Wim Taymans  <wim@fluendo.com>
13026
13027         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13028         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
13029         Refactor the sort iterator so it can be used while holding the
13030         LOCK too.
13031         Make clock selection select a clock closest to the source.
13032
13033 2005-11-17  Michael Smith <msmith@fluendo.com>
13034
13035         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
13036         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
13037         * gst/gstclock.h:
13038           Anonymous structs are a gcc (and some other compilers) extension, so
13039           don't use them. Since this is only for ABI-compatibility, and our
13040           API/ABI freeze is over in a few days, this whole thing will only
13041           last a few days, so don't bother trying to think up a meaningful
13042           name for the struct.
13043
13044 2005-11-17  Andy Wingo  <wingo@pobox.com>
13045
13046         * gst/gstclock.h (GstClock): Add rate and offset properties,
13047         preserving ABI stability. Add rate/offset accessors. Will file bug
13048         for the freeze break.
13049
13050         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
13051         and offset, trying to keep precision and avoiding
13052         underflow/overflow.
13053         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
13054         functions. Make gst_clock_set_time_adjust obsolete.
13055         (gst_clock_set_time_adjust): Note that this function is obsolete.
13056         Will file bug soon.
13057
13058         * gst/base/gstbasetransform.h: Make the ABI-stability hack
13059         greppable by using GST_PADDING-1+1.
13060
13061 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
13062
13063         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13064
13065         * gst/gstmessage.c: (gst_message_parse_clock_lost):
13066           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
13067
13068         * gst/gstpadtemplate.h:
13069         * gst/gstpluginfeature.h:
13070           Don't use c++ style comments in headers (#321638).
13071
13072 2005-11-16  Andy Wingo  <wingo@pobox.com>
13073
13074         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
13075         buffer.
13076
13077         * check/net/gstnettimeprovider.c: Check to see that the time
13078         provider actually provides times. Works, yo!
13079
13080 2005-11-16  Wim Taymans  <wim@fluendo.com>
13081
13082         * check/Makefile.am:
13083         Enable more tests.
13084
13085         * check/elements/fakesrc.c: (GST_START_TEST):
13086         Set element to NULL before disposing it.
13087
13088 2005-11-16  Andy Wingo  <wingo@pobox.com>
13089
13090         * gst/net/Makefile.am:
13091         * gst/net/gstnet.h:
13092         * gst/net/gstnettimeprovider.c: 
13093         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
13094         provider, include it from gstnet.h, and add it to the build.
13095
13096         * gst/net/gstnettimepacket.h: 
13097         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
13098         sending and receiving.
13099
13100 2005-11-16  Wim Taymans  <wim@fluendo.com>
13101
13102         * check/Makefile.am:
13103         Enable valgrind check.
13104
13105         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
13106         (gst_fake_src_alloc_buffer):
13107         Fix memleak.
13108
13109 2005-11-16  Wim Taymans  <wim@fluendo.com>
13110
13111         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
13112         Call parent finalize too.
13113
13114 2005-11-16  Wim Taymans  <wim@fluendo.com>
13115
13116         * check/Makefile.am:
13117         Enable valgrind check that should work fine now.
13118
13119         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13120         * gst/gstqueue.c: (gst_queue_init):
13121         Fix memleaks in pad allocation.
13122
13123 2005-11-16  Andy Wingo  <wingo@pobox.com>
13124
13125         * gst/net/Makefile.am:
13126         * gst/net/gstnet.h: New part of core to hold network elements and
13127         objects. Put in core because it exposes API that applications want
13128         to use. The library is named libgstnet-tempname right now because
13129         of the existing libgstnet in gst-plugins-base. Solution is
13130         probably to rename the one in plugins-base; will file a bug for
13131         the freeze break.
13132
13133         * gst/net/gstnettimeprovider.c: 
13134         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
13135         get_time call over the network.
13136
13137         * configure.ac: 
13138         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
13139
13140         * check/Makefile.am:
13141         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
13142         get additions shortly.
13143
13144 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * gst/gstpad.c: (gst_pad_new_from_static_template):
13147         * gst/gstpad.h:
13148           add gst_pad_new_from_static_template functions
13149         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
13150         (gst_check_setup_sink_pad):
13151         * gst/elements/gsttee.c: (gst_tee_init):
13152           and use them
13153
13154 2005-11-16  Wim Taymans  <wim@fluendo.com>
13155
13156         * gst/gstpad.c: (gst_pad_pause_task):
13157         Removed warning, it's not really an error either.
13158
13159 2005-11-16  Wim Taymans  <wim@fluendo.com>
13160
13161         * gst/base/gstbasetransform.c:
13162         (gst_base_transform_prepare_output_buf),
13163         (gst_base_transform_event):
13164         Check if the caps are NULL, this can happen if the element
13165         is shutting down and the pad caps are set to NULL.
13166
13167 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13168
13169         * gst/elements/gsttee.c: (gst_tee_init):
13170           fix pad template leak in tee
13171
13172 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13173
13174         * gst/glib-compat.c: (g_value_dup_gst_object):
13175         * gst/glib-compat.h:
13176         * gst/gstpad.c: (gst_pad_set_property):
13177           use gst_object_ref when setting the pad template; this will
13178           trigger the pad template leaks on GLib 2.6 and the slaves
13179
13180 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13181
13182         * gst/glib-compat.c: (gst_flags_get_first_value):
13183         * gst/glib-compat.h:
13184         * gst/gstregistryxml.c:
13185           remove functions copied from GLib 2.6
13186
13187 2005-11-16  Michael Smith <msmith@fluendo.com>
13188
13189         * gst/Makefile.am:
13190           Don't link against VALGRIND_LIBS. That was always the wrong thing to
13191           do, but only breaks with newer valgrind versions. We're not a
13192           valgrind tool, we have no link-time dependencies on libcoregrind.
13193
13194 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13195
13196         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13197           some debug changes
13198         * gst/gstmessage.h:
13199           typo fixes
13200
13201 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13202
13203         * gst/base/gstbasesrc.c: (gst_base_src_init):
13204         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13205         * gst/gstqueue.c: (gst_queue_init):
13206         * gst/gstregistryxml.c: (load_feature):
13207           Revert all these unrefs, they don't even pass make check !
13208
13209 2005-11-15  Johan Dahlin  <johan@gnome.org>
13210
13211         * gst/base/gstbasesrc.c: (gst_base_src_init):
13212         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13213         * gst/gstqueue.c: (gst_queue_init): 
13214         Free pad templates, fixes a couple of leaks.
13215
13216 2005-11-15  Daniel Fischer  <dan at f3c dot com>
13217
13218         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13219
13220         * gst/gstpad.c: (gst_pad_get_property):
13221           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
13222           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
13223           (#321452)
13224
13225 2005-11-15  Wim Taymans  <wim@fluendo.com>
13226
13227         * gst/gstevent.c:
13228         Small doc update.
13229
13230 2005-11-15  Andy Wingo  <wingo@pobox.com>
13231
13232         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
13233
13234         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
13235         using GST_CLOCK_TIME_NONE to disable base time management.
13236         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
13237         time if it was NONE before.
13238         (gst_pipeline_change_state): Only munge the base time if
13239         stream_time != GST_CLOCK_TIME_NONE.
13240
13241         * check/gst/gstpipeline.c (test_base_time): Punt around the
13242         problem of the probe not being called, because that's not the
13243         issue I'm looking at. Add a check that setting stream_time to NONE
13244         disables base time management.
13245         
13246 2005-11-15  Wim Taymans  <wim@fluendo.com>
13247
13248         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13249         segment_stop == -1 at startup.
13250
13251         * gst/base/gstbasetransform.c: (gst_base_transform_event),
13252         (gst_base_transform_change_state):
13253         Init segment values at start.
13254
13255 2005-11-15  Wim Taymans  <wim@fluendo.com>
13256
13257         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13258         0 segment values are 0 in any format.
13259
13260         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13261         * gst/base/gstbasetransform.h:
13262         Parse newsegment correctly in basetransform
13263
13264         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13265         Sync to clock using updated segment values.
13266
13267 2005-11-15  Andy Wingo  <wingo@pobox.com>
13268
13269         * check/gst/gstpipeline.c (test_base_time): Add check that the
13270         base time and stream time are reset correctly.
13271
13272 2005-11-15  Wim Taymans  <wim@fluendo.com>
13273
13274         * docs/design/part-TODO.txt:
13275         Some more TODO items.
13276
13277 2005-11-15  Andy Wingo  <wingo@pobox.com>
13278
13279         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
13280         error if the user selected "no clock" as the clocking method.
13281
13282         * check/gst/gstpipeline.c (test_base_time): New test for buffer
13283         timestamps with live capture.
13284
13285         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
13286         is 0 but we are a live source, timestamp the buffers using the
13287         element's clock.
13288
13289 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
13290
13291         * docs/gst/gstreamer-sections.txt:
13292         * gst/gsterror.c:
13293         * gst/gstghostpad.c:
13294         * gst/gstobject.h:
13295         * gst/gstxml.c:
13296           more section docs
13297
13298 2005-11-14  Wim Taymans  <wim@fluendo.com>
13299
13300         * common/gst.supp:
13301           add suppressions from Wim's Debian machine
13302
13303 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13304
13305         * common/gst.supp:
13306           add suppressions from Andy's AMD64 Ubuntu machine
13307
13308 2005-11-14  Andy Wingo  <wingo@pobox.com>
13309
13310         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
13311         STATE_LOCK not necessary. Fixes #311489.
13312
13313         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
13314         #305291.
13315
13316         * gst/gstindex.c (gst_index_add_object): Note in the docs that
13317         this function is not implemented.
13318
13319 2005-11-14  Julien MOUTTE  <julien@moutte.net>
13320
13321         * gst/base/gstbasetransform.c:
13322         (gst_base_transform_prepare_output_buf):
13323         Ref the source pad caps while we need them.
13324         Fixes (#321386)
13325
13326 2005-11-11  Wim Taymans  <wim@fluendo.com>
13327
13328         * docs/gst/gstreamer-sections.txt:
13329         Added some docs for GstCollectData.
13330
13331         * gst/base/gstadapter.c:
13332         Some small code example fix.
13333
13334         * gst/base/gstcollectpads.c:
13335         * gst/base/gstcollectpads.h:
13336         Document some more.
13337
13338 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13339
13340         * configure.ac: back to HEAD
13341
13342 === release 0.9.5 ===
13343
13344 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
13345
13346         * configure.ac:
13347           releasing 0.9.5, "Bike Lunch Day"
13348
13349 2005-11-11  Wim Taymans  <wim@fluendo.com>
13350
13351         * gst/gstbuffer.c: (_gst_buffer_copy):
13352         Copy more flags.
13353
13354         * gst/gstcaps.c: (gst_caps_is_equal):
13355         Fix some docs.
13356         Make _is_equal fast in the trivial cases.
13357
13358         * gst/gstminiobject.c:
13359         * gst/gstminiobject.h:
13360         More docs. Spifify .h file.
13361
13362         * gst/gstutils.c:
13363         Small doc update.
13364
13365 2005-11-11  Wim Taymans  <wim@fluendo.com>
13366
13367         * gst/base/gstbasetransform.c:
13368         (gst_base_transform_prepare_output_buf),
13369         (gst_base_transform_handle_buffer):
13370         Small cleanups.
13371         If we're processing a buffer and need to allocate an output
13372         buffer, we cannot accept a format change. If we did get a 
13373         format change, we have to alloc a buffer ourselves of the 
13374         right size.
13375
13376 2005-11-11  Wim Taymans  <wim@fluendo.com>
13377
13378         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
13379         While checking the flag for reentrancy in the gstcaps function
13380         is nice to detect recursive invocations, it also makes it 
13381         impossible to call getcaps from multiple threads, which must be
13382         possible. So, checking for recursive calls has to go.
13383
13384 2005-11-11  Michael Smith <msmith@fluendo.com>
13385
13386         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13387           Don't sync on buffers that fall partially outside our current
13388           segment. Prevents an assertion failure/abort playing some files.
13389
13390 2005-11-10  Andy Wingo  <wingo@pobox.com>
13391
13392         * check/gst/gstbin.c (test_message_state_changed_children): Style
13393         fix..
13394
13395         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
13396         gst_bus_poll with the signal watch. Ensures that poll and a signal
13397         watch see the same messages.
13398
13399         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
13400         a poll and a watch at the same time get the same messages.
13401
13402 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13403
13404         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
13405         * gst/gstcaps.c: (gst_caps_intersect):
13406           Don't call gst_caps_do_simplify - it doesn't respect order of caps
13407           and it's not needed.
13408
13409 2005-11-10  Wim Taymans  <wim@fluendo.com>
13410
13411         * docs/design/part-TODO.txt:
13412         Updated todo.
13413
13414 2005-11-10  Wim Taymans  <wim@fluendo.com>
13415
13416         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13417         * gst/base/gstbasesrc.c: (gst_base_src_wait),
13418         (gst_base_src_do_sync), (gst_base_src_get_range):
13419         Implement clock sync in base class.
13420
13421 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13422
13423         patch by: Tim-Philipp Müller <tim at centricular dot net>
13424
13425         * gst/gststructure.c: (gst_structure_parse_field),
13426         (gst_structure_from_string):
13427           Forward-port a 0.8 patch to handle escaped spaces in structure string,
13428           so that gst_parse_launch() can deal with spaces in filtered link
13429           caps (fixes #164479)
13430         * check/gst/capslist.h:
13431         * check/gst/gststructure.c: (GST_START_TEST):
13432           add unit tests for this change
13433
13434 2005-11-10  Wim Taymans  <wim@fluendo.com>
13435
13436         * docs/gst/gstreamer-sections.txt:
13437         * gst/gstelement.c:
13438         * gst/gstelement.h:
13439         Fix docs, move some STATE macros to private.
13440
13441 2005-11-10  Wim Taymans  <wim@fluendo.com>
13442
13443         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13444         Added check for bug #317341
13445
13446         * gst/gstbuffer.c:
13447         * gst/gstbuffer.h:
13448         Some more spiffifying.
13449
13450         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
13451         Call peer linkfunction if we are a source pad. Totally fixes
13452         #317341
13453
13454         * gst/gstpad.c:
13455         Update docs, source pads should call the peer linkfunction
13456         so they can atomically perform the pad link.
13457
13458 2005-11-09  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstbuffer.c:
13461         * gst/gstbuffer.h:
13462         Uber-spiffy-spiffify some more.
13463
13464 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
13465
13466         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
13467         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13468         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13469         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
13470         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
13471         * gst/gstpad.c: (gst_pad_init):
13472           Use GST_DEBUG_FUNCPTR() more extensively.
13473
13474 2005-11-09  Wim Taymans  <wim@fluendo.com>
13475
13476         * gst/gstobject.c: (gst_object_class_init):
13477         * gst/gstobject.h:
13478         Documentation fixes.
13479
13480 2005-11-09  Edward Hervey  <edward@fluendo.com>
13481
13482         * gst/gsttypefindfactory.c:
13483         Fix docs.
13484         
13485 2005-11-09  Edward Hervey  <edward@fluendo.com>
13486
13487         * gst/base/gsttypefindhelper.c:
13488         * gst/gsttypefind.c:
13489         * gst/gsttypefind.h:
13490         Fix docs.
13491
13492 2005-11-09  Wim Taymans  <wim@fluendo.com>
13493
13494         * gst/gstiterator.c:
13495         Fix revision data.
13496
13497         * gst/gsttask.c:
13498         * gst/gsttask.h:
13499         Fix docs.
13500
13501 2005-11-09  Wim Taymans  <wim@fluendo.com>
13502
13503         * gst/gstevent.h:
13504         * gst/gsturi.h:
13505         Fix docs.
13506
13507 2005-11-09  Wim Taymans  <wim@fluendo.com>
13508
13509         * docs/gst/gstreamer-sections.txt:
13510         Moved the message async delivery private lock and cond
13511         to the private section.
13512
13513         * gst/gstmessage.c:
13514         * gst/gstmessage.h:
13515         Fixed docs.
13516
13517 2005-11-09  Edward Hervey  <edward@fluendo.com>
13518
13519         * docs/gst/gstreamer-sections.txt:
13520         * gst/gsturi.c:
13521         * gst/gsturi.h:
13522         Document GstURIHandler
13523
13524 2005-11-09  Wim Taymans  <wim@fluendo.com>
13525
13526         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
13527         (gst_iterator_find_custom):
13528         * gst/gstiterator.h:
13529         Fix iterator docs.
13530
13531 2005-11-09  Wim Taymans  <wim@fluendo.com>
13532
13533         * gst/gstbin.h:
13534         Document another field.
13535
13536         * gst/gststructure.c:
13537         * gst/gststructure.h:
13538         Document.
13539
13540 2005-11-09  Wim Taymans  <wim@fluendo.com>
13541
13542         * gst/gstbin.h:
13543         Documented structs.
13544
13545 2005-11-09  Wim Taymans  <wim@fluendo.com>
13546
13547         * docs/gst/gstreamer-sections.txt:
13548         Added some new macros.
13549
13550         * gst/gstclock.c:
13551         * gst/gstclock.h:
13552         * gst/gstobject.h:
13553         Docs updates.
13554
13555 2005-11-09  Wim Taymans  <wim@fluendo.com>
13556
13557         * docs/design/part-TODO.txt:
13558         Some more items for the TODO
13559
13560         * gst/gstcaps.c:
13561         * gst/gstcaps.h:
13562         Document GstCaps.
13563
13564 2005-11-09  Andy Wingo  <wingo@pobox.com>
13565
13566         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
13567         to work on something else now tho...
13568
13569         * gst/base/gstadapter.c: More adapter docs.
13570
13571         * gst/elements/gstfilesink.c (gst_file_sink_start) 
13572         (gst_file_sink_stop): New functions, replace the state change
13573         handler.
13574         (gst_file_sink_class_init): Hook up the start and stop functions.
13575         (gst_file_sink_base_init): Don't set the state change handler any
13576         more. It was a bit ugly too, being set from here...
13577         (gst_file_sink_get_property, gst_file_sink_set_property):
13578         Cleanups...
13579         (gst_file_sink_set_location): More robust check that doesn't call
13580         GST_STATE. Ugggggg.
13581
13582 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
13583
13584         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13585           Hold STREAM_LOCK while pushing newsegment or tag events as well.
13586
13587 2005-11-08  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13590         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13591         (gst_base_sink_chain), (gst_base_sink_change_state):
13592         * gst/base/gstbasesink.h:
13593         * gst/base/gstbasesrc.h:
13594         * gst/gstelement.h:
13595         * gst/gstevent.h:
13596         Avoid excessive typechecking in macros.
13597
13598         * gst/gstminiobject.c: (gst_mini_object_get_type),
13599         (gst_mini_object_init), (gst_mini_object_new),
13600         (gst_mini_object_free):
13601         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13602         (gst_object_finalize):
13603         Remove cruft code, optimize alloc_trace.
13604
13605 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13606
13607         * docs/faq/gst-uninstalled:
13608           fix up PS1 for systems that try to reset it
13609
13610 2005-11-07  Wim Taymans  <wim@fluendo.com>
13611
13612         * gst/base/gstbasesrc.c: (gst_base_src_init),
13613         (gst_base_src_get_range):
13614         Set the segment_end to -1 initially. Fixed typefind.
13615
13616 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * gst/base/gstadapter.c:
13619           Debug category should be 'adapter', not 'GstAdapter'.
13620           
13621         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
13622         (gst_collectpads_class_init), (gst_collectpads_init),
13623         (gst_collectpads_peek), (gst_collectpads_pop),
13624         (gst_collectpads_event), (gst_collectpads_chain):
13625           Add debug category and some debugging output. Use boilerplate
13626           macros. Remove some extraneous words from docs.
13627
13628 2005-11-05  Andy Wingo  <wingo@pobox.com>
13629
13630         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
13631         macro.
13632
13633 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13634
13635         * docs/gst/gstreamer-sections.txt:
13636         * gst/gstcaps.h:
13637         * gst/gstinfo.c:
13638         * gst/gstminiobject.h:
13639         * gst/gstobject.h:
13640         * gst/gstutils.h:
13641           more docs added
13642
13643 2005-11-04  Wim Taymans  <wim@fluendo.com>
13644
13645         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13646         Small update to stop at the configured segment_end
13647         position.
13648
13649 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13650
13651         * gst/gstregistry.c:
13652         * gst/gstregistry.h:
13653           added missing docs
13654
13655 2005-11-04  Edward Hervey  <edward@fluendo.com>
13656
13657         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13658         Check if we are doing a segment seek and have arrived at the
13659         end of that segment.
13660
13661 2005-11-04  Wim Taymans  <wim@fluendo.com>
13662
13663         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
13664         Don't leak a mutex unlock in case of an error.
13665
13666         * gst/gstbus.h:
13667         Doc fixes.
13668
13669 2005-11-04  Wim Taymans  <wim@fluendo.com>
13670
13671         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
13672         (gst_bus_post):
13673         Get the context to wake up only once.
13674
13675 2005-11-03  Wim Taymans  <wim@fluendo.com>
13676
13677         * check/states/sinks.c: (GST_START_TEST):
13678         Uncomment fixed check.
13679
13680         * docs/design/part-TODO.txt:
13681         Updated TODO.
13682
13683         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13684         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13685         (gst_base_sink_get_position):
13686         If we are going to PLAYING, post the right pending state
13687         when we post the intermediate paused message.
13688
13689         * gst/gstelement.c: (gst_element_continue_state),
13690         (gst_element_set_state_func), (gst_element_change_state):
13691         Don't post state changes that were between the same state
13692         and were not ASYNC.
13693
13694 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13695
13696         * docs/gst/gstreamer-sections.txt:
13697         * gst/gstcaps.h:
13698         * gst/gstinfo.c:
13699         * gst/gstminiobject.h:
13700         * gst/gstobject.h:
13701         * gst/gstutils.h:
13702           more docs and doc style fixes
13703
13704 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13705
13706         * docs/gst/gstreamer-sections.txt:
13707         * gst/gstelement.c:
13708         * gst/gstminiobject.c:
13709         doc fixes
13710
13711 2005-11-03  Andy Wingo  <wingo@pobox.com>
13712
13713         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13714         state-changed messages actually have the right order and the right
13715         values.
13716
13717 2005-11-03  Wim Taymans  <wim@fluendo.com>
13718
13719         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13720         Added some more checks. Specifically the case where NO_PREROLL
13721         elements are in the pipeline.
13722
13723         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13724         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13725         (gst_base_sink_get_position):
13726         Post READY->PAUSED state change messages too.
13727         Fix bug where VOID was posted as pending state...
13728
13729         * gst/gstbin.c: (gst_bin_recalc_state):
13730         use _element_continue_state() to continue the state change.
13731
13732         * gst/gstelement.c: (gst_element_continue_state),
13733         (gst_element_commit_state), (gst_element_set_state_func),
13734         (gst_element_change_state), (gst_element_change_state_func):
13735         Lots of state change cleanups, assign the STATE_RETURN in
13736         a new continue_state() function that also propagates the
13737         last return value from a state change to the app.
13738         Update some debug statements with proper category.
13739
13740 2005-11-03  Wim Taymans  <wim@fluendo.com>
13741
13742         * docs/design/part-events.txt:
13743         * docs/design/part-gstpipeline.txt:
13744         * docs/design/part-messages.txt:
13745         * docs/design/part-overview.txt:
13746         * docs/design/part-seeking.txt:
13747         * docs/design/part-states.txt:
13748         * docs/design/part-trickmodes.txt:
13749         * docs/manual/advanced-position.xml:
13750         Small docs updates.
13751
13752         * gst/gstobject.h:
13753         People think !! is ugly, this looks better.
13754
13755         * gst/gstpad.c: (gst_pad_set_blocked_async):
13756         Remove !! since it's fixed elsewhere now.
13757
13758 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13759
13760         * gst/gstminiobject.h:
13761         * gst/gstobject.h:
13762           Add !! to _FLAG_IS_SET macros to make the result boolean.
13763
13764 2005-11-03  Edward Hervey  <edward@fluendo.com>
13765
13766         * gst/gstpad.c: (gst_pad_set_blocked_async):
13767         comparing a flag and a gboolean rarely returns coherent results...
13768         Added two characters (!!) to make that work correctly.
13769         
13770 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13771
13772         * gst/gstbus.c: (gst_bus_class_init):
13773           Fix some typos.
13774           
13775         * gst/gstqueue.c: (gst_queue_loop):
13776           Don't assume a miniobject that isn't a buffer is an
13777           event (it could be that there is a refcounting
13778           problem somewhere and the pointer is stale and
13779           refers to an already destroyed miniobject).
13780
13781 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13782
13783         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13784
13785 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13786
13787         * docs/manual/advanced-position.xml:
13788           Update seek example and explanations to current 0.9 API.
13789
13790         * gst/elements/gsttypefindelement.c:
13791         (gst_type_find_element_activate):
13792           Remove FIXME comment now that the found caps
13793           are unreffed.
13794
13795 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13796
13797         * gst/gstregistryxml.c: (load_feature):
13798           Add another GST_STR_NULL instance
13799
13800 2005-11-02  Edward Hervey  <edward@fluendo.com>
13801
13802         * gst/gstpad.c: (handle_pad_block):
13803         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13804         
13805 2005-11-02  Wim Taymans  <wim@fluendo.com>
13806
13807         * gst/gstbin.c:
13808         Fix typo in docs.
13809
13810         * gst/gstelement.c: (gst_element_commit_state):
13811         Remove unused value.
13812
13813         * gst/gstiterator.c:
13814         Mention that the returned element is reffed in the docs.
13815
13816 2005-11-02  Wim Taymans  <wim@fluendo.com>
13817
13818         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13819         (gst_pad_push), (gst_pad_push_event):
13820         Unlock blocked pads when they are flushed.
13821
13822 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * docs/README:
13825         * docs/gst/gstreamer-sections.txt:
13826         * gst/gstbin.c:
13827           doc updates
13828         * gst/gstregistry.c: (gst_registry_scan_path_level):
13829           fix for a nasty little missed situation where an installed plug-in
13830           which was in the cache did not get overridden by an uninstalled one
13831           which was earlier in the plugin path because the newly created plugin
13832           for the uninstalled one (not in the registry) didn't get its
13833           ->registered set to TRUE
13834
13835 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13836
13837         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13838         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13839         (gst_collectpads_is_active), (gst_collectpads_collect),
13840         (gst_collectpads_collect_range), (gst_collectpads_start),
13841         (gst_collectpads_stop), (gst_collectpads_peek),
13842         (gst_collectpads_pop), (gst_collectpads_available),
13843         (gst_collectpads_read), (gst_collectpads_flush):
13844           Guard public API with assertions.
13845         
13846         * gst/gstpad.c:
13847           Fix docs for gst_pad_set_link_function().
13848
13849 2005-11-02  Johan Dahlin  <johan@gnome.org>
13850
13851         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13852         Unref found_caps after we used it.
13853
13854 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13855
13856         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13857           Don't try to ref NULL.
13858
13859 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * win32/common/config.h.in:
13862           provide a GST_FUNCTION that just gives a string for now
13863
13864 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13867         (gst_object_flags_get_type), (register_gst_bin_flags),
13868         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13869         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13870         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13871         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13872         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13873         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13874         (gst_clock_flags_get_type), (register_gst_state),
13875         (gst_state_get_type), (register_gst_state_change_return),
13876         (gst_state_change_return_get_type), (register_gst_state_change),
13877         (gst_state_change_get_type), (register_gst_element_flags),
13878         (gst_element_flags_get_type), (register_gst_core_error),
13879         (gst_core_error_get_type), (register_gst_library_error),
13880         (gst_library_error_get_type), (register_gst_resource_error),
13881         (gst_resource_error_get_type), (register_gst_stream_error),
13882         (gst_stream_error_get_type), (register_gst_event_type),
13883         (gst_event_type_get_type), (register_gst_seek_type),
13884         (gst_seek_type_get_type), (register_gst_seek_flags),
13885         (gst_seek_flags_get_type), (register_gst_format),
13886         (gst_format_get_type), (register_gst_index_certainty),
13887         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13888         (gst_index_entry_type_get_type),
13889         (register_gst_index_lookup_method),
13890         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13891         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13892         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13893         (gst_index_flags_get_type), (register_gst_debug_level),
13894         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13895         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13896         (gst_iterator_result_get_type), (register_gst_iterator_item),
13897         (gst_iterator_item_get_type), (register_gst_message_type),
13898         (gst_message_type_get_type), (register_gst_mini_object_flags),
13899         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13900         (gst_pad_link_return_get_type), (register_gst_flow_return),
13901         (gst_flow_return_get_type), (register_gst_activate_mode),
13902         (gst_activate_mode_get_type), (register_gst_pad_direction),
13903         (gst_pad_direction_get_type), (register_gst_pad_flags),
13904         (gst_pad_flags_get_type), (register_gst_pad_presence),
13905         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13906         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13907         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13908         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13909         (gst_plugin_flags_get_type), (register_gst_rank),
13910         (gst_rank_get_type), (register_gst_query_type),
13911         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13912         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13913         (gst_tag_flag_get_type), (register_gst_task_state),
13914         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13915         (gst_alloc_trace_flags_get_type),
13916         (register_gst_type_find_probability),
13917         (gst_type_find_probability_get_type), (register_gst_uri_type),
13918         (gst_uri_type_get_type), (register_gst_parse_error),
13919         (gst_parse_error_get_type):
13920         * win32/common/gstversion.h:
13921           update win32 copies
13922
13923 2005-11-01  Luca Ognibene  <luogni@tin.it>
13924
13925         * gst/gst.c:
13926           fix docs. popt is dead, long live GOption.
13927
13928 2005-10-31  Wim Taymans  <wim@fluendo.com>
13929
13930         * gst/gstbuffer.h:
13931         Small doc fix.
13932
13933 2005-10-31  Andy Wingo  <wingo@pobox.com>
13934
13935         * Boo!
13936
13937         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13938
13939         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13940         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13941         the possibility of deadlocks here if code calling notify() or
13942         set() has a lock that can be taken in another notify handler (ABBA
13943         with class lock and e.g. python GIL state lock).
13944
13945 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13946
13947         * gst/gstbus.c: Doc updates.
13948
13949 2005-10-28  Wim Taymans  <wim@fluendo.com>
13950
13951         * docs/design/part-TODO.txt:
13952         * gst/gstiterator.c:
13953         * gst/gstsystemclock.c:
13954         * gst/gstsystemclock.h:
13955         Doc updates.
13956
13957 2005-10-28  Edward Hervey  <edward@fluendo.com>
13958
13959         * docs/gst/gstreamer-docs.sgml:
13960         * docs/gst/gstreamer-sections.txt:
13961         the GstURIType documentation page is private, it only defines GstURIType
13962         which should be defined in the GstURIHandler page
13963         
13964 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * gst/gstbin.c: (gst_bin_class_init):
13967         * gst/gstbin.h:
13968         * gst/gstutils.c:
13969         Documentation updates.
13970
13971 2005-10-28  Wim Taymans  <wim@fluendo.com>
13972
13973         * docs/gst/gstreamer-sections.txt:
13974         * gst/gstclock.c:
13975         * gst/gstclock.h:
13976         Documented the clocks.
13977
13978 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13979
13980         * docs/gst/gstreamer-sections.txt:
13981           move some macros to private sections
13982         * gst/gstminiobject.c:
13983         * gst/gstminiobject.h:
13984           add descriptions provided by ds and some more
13985         * gst/gstpad.h:
13986           mark macro as to be removed
13987
13988 2005-10-28  Wim Taymans  <wim@fluendo.com>
13989
13990         * docs/design/part-TODO.txt:
13991         Add an item to TODO.
13992
13993         * gst/gstiterator.c: (gst_iterator_fold),
13994         (gst_iterator_find_custom):
13995         * gst/gstiterator.h:
13996         Add iterator docs.
13997
13998 2005-10-28  Wim Taymans  <wim@fluendo.com>
13999
14000         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14001         (gst_base_transform_init):
14002         Don't leak class.
14003
14004         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
14005         An EOS event marks the queue as completely filled.
14006
14007 2005-10-27  Wim Taymans  <wim@fluendo.com>
14008
14009         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14010         (gst_base_sink_do_sync), (gst_base_sink_get_position):
14011         Some more debugging.
14012
14013         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
14014         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
14015         (gst_base_transform_event), (gst_base_transform_getrange),
14016         (gst_base_transform_chain):
14017         * gst/base/gstbasetransform.h:
14018         Fix debugging,
14019         Protect transform and concurrent buffer alloc with a new lock.
14020         Try not to break ABI/API.
14021
14022 2005-10-27  Wim Taymans  <wim@fluendo.com>
14023
14024         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14025         (gst_base_src_init), (gst_base_src_query),
14026         (gst_base_src_default_newsegment),
14027         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14028         (gst_base_src_send_event), (gst_base_src_event_handler),
14029         (gst_base_src_pad_get_range), (gst_base_src_loop),
14030         (gst_base_src_unlock), (gst_base_src_default_negotiate),
14031         (gst_base_src_start), (gst_base_src_deactivate),
14032         (gst_base_src_activate_push), (gst_base_src_change_state):
14033         Move some stuff around and cleanup things.
14034
14035 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
14036
14037         * gst/base/gstbasesrc.c: (gst_base_src_query):
14038           Add missing break statements.
14039
14040 2005-10-27  Wim Taymans  <wim@fluendo.com>
14041
14042         * check/gst/gstbin.c: (GST_START_TEST):
14043         An extra refcount is taken in basesrc.
14044
14045         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14046         (gst_base_src_get_range), (gst_base_src_pad_get_range),
14047         (gst_base_src_loop):
14048         Small cleanups, check for flushing after being unlocked from the 
14049         LIVE_LOCK. take refcounts correctly (not yet everywhere).
14050         Don't send out EOS when going to READY.
14051
14052 2005-10-27  Wim Taymans  <wim@fluendo.com>
14053
14054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14055         (gst_base_sink_get_position):
14056         Some more debug.
14057
14058         * gst/gstbin.c: (message_check), (bin_replace_message),
14059         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14060         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14061         (bin_query_duration_init), (bin_query_duration_fold),
14062         (bin_query_duration_done), (bin_query_generic_fold),
14063         (gst_bin_query):
14064         * tools/gst-launch.c: (main):
14065         Remove old option.
14066
14067 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
14068
14069         * examples/controller/audio-example.c: (main):
14070         * examples/queue/queue.c: (event_loop):
14071         * gst/base/gstbasetransform.h:
14072         * gst/gstelement.c: (gst_element_send_event):
14073         * gst/gstevent.h:
14074         * gst/gstpad.c: (gst_pad_send_event):
14075           fixing examples
14076           fixing docs typos
14077           changing log priority in error situations
14078
14079 2005-10-25  Wim Taymans  <wim@fluendo.com>
14080
14081         * gst/gstbin.c: (message_check), (bin_replace_message),
14082         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14083         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14084         (bin_query_duration_init), (bin_query_duration_fold),
14085         (bin_query_duration_done), (bin_query_generic_fold),
14086         (gst_bin_query):
14087         Some doc and debug updates.
14088         Cache previously requested query DURATION for speed. invalidate
14089         cached duration if element posts a DURATION message.
14090
14091 2005-10-25  Wim Taymans  <wim@fluendo.com>
14092
14093         * docs/design/part-TODO.txt:
14094         Update TODO.
14095
14096         * gst/gstbin.c: (message_check), (bin_replace_message),
14097         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14098         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14099         (bin_query_duration_init), (bin_query_duration_fold),
14100         (bin_query_duration_done), (bin_query_generic_fold),
14101         (gst_bin_query):
14102         Handle SEGMENT_START/DONE messages correctly.
14103         More evolved query algorithm that handles duration queries
14104         correctly.
14105
14106         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
14107         (gst_element_get_state_func), (gst_element_abort_state),
14108         (gst_element_commit_state), (gst_element_lost_state):
14109         Some more debugging.
14110
14111         * gst/gstmessage.h:
14112         Added doc.
14113
14114 2005-10-25  Wim Taymans  <wim@fluendo.com>
14115
14116         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14117         Don't use invalid stream_time.
14118
14119         * gst/gstevent.c: (gst_event_new_newsegment):
14120         stream_time in newsegment cannot be undefined.
14121
14122 2005-10-24  Wim Taymans  <wim@fluendo.com>
14123
14124         * gst/gstbus.c:
14125         Doc fix.
14126
14127         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14128         (gst_queue_loop):
14129         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
14130
14131 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
14132
14133         * docs/libs/tmpl/gstdparam.sgml:
14134         * docs/libs/tmpl/gstdplinint.sgml:
14135         * docs/libs/tmpl/gstdpman.sgml:
14136         * docs/libs/tmpl/gstdpsmooth.sgml:
14137         * docs/libs/tmpl/gstunitconvert.sgml:
14138           these are obsolete
14139
14140 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14141
14142         * configure.ac:
14143           back to HEAD
14144
14145 === release 0.9.4 ===
14146
14147 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14148
14149         * configure.ac:
14150           releasing 0.9.4, "Tyrannosaurus Rex"
14151
14152 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
14153
14154         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14155         (gst_file_sink_get_current_offset):
14156           Use fseeko() and ftello() if available. When falling back on
14157           lseek() to get the current offset, fflush() first to make sure
14158           everything is up-to-date and we get the right offset.
14159
14160 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14161
14162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14163         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14164         * gst/gsterror.c: (_gst_stream_errors_init):
14165         * gst/gsterror.h:
14166         * gst/gstqueue.c: (gst_queue_loop):
14167         * po/POTFILES.in:
14168           remove prematurely added error category and clean up the instances
14169
14170 2005-10-21  Wim Taymans  <wim@fluendo.com>
14171
14172         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14173         (gst_base_sink_get_position), (gst_base_sink_query),
14174         (gst_base_sink_change_state):
14175         Simply set the right flag when going to playing, that's all
14176         we need to do instead of calling a function inside the object
14177         lock (that could take the lock as well and deadlock)
14178
14179 2005-10-21  Wim Taymans  <wim@fluendo.com>
14180
14181         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
14182         (gst_base_src_loop):
14183         Don't warn, the peer element knows what to do best when
14184         the seek failed, it might try something else.
14185
14186 2005-10-21  Wim Taymans  <wim@fluendo.com>
14187
14188         * gst/base/gstbasesrc.c: (gst_base_src_init),
14189         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14190         Fix seeking.
14191
14192 2005-10-21  Wim Taymans  <wim@fluendo.com>
14193
14194         * docs/design/part-segments.txt:
14195         More docs.
14196
14197         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14198         Correctly set caps, even on the subbufer.
14199
14200 2005-10-21  Wim Taymans  <wim@fluendo.com>
14201
14202         * docs/gst/gstreamer-docs.sgml:
14203         * docs/gst/gstreamer-sections.txt:
14204         * gst/gstelement.h:
14205         * gst/gstevent.c:
14206         * gst/gstevent.h:
14207         * gst/gstmessage.h:
14208         * gst/gstpad.h:
14209         * gst/gstparse.h:
14210         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
14211         * gst/gsttask.h:
14212         * gst/gstutils.c:
14213         * gst/gstutils.h:
14214         And 2% more doc coverage.
14215
14216 2005-10-21  Andy Wingo  <wingo@pobox.com>
14217
14218         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
14219         position reporting.
14220
14221 2005-10-20  Wim Taymans  <wim@fluendo.com>
14222
14223         * gst/gsterror.c: (gst_error_get_message):
14224         * gst/gstparse.h:
14225         * gst/gstquery.h:
14226         * gst/gststructure.c:
14227         * gst/gsttrace.c:
14228         * gst/gstutils.c:
14229         More docs.
14230
14231 2005-10-20  Wim Taymans  <wim@fluendo.com>
14232
14233         * gst/gstbuffer.h:
14234         * gst/gstpad.c:
14235         * gst/gstparse.c:
14236         Another 1% more coverage.
14237
14238 2005-10-20  Wim Taymans  <wim@fluendo.com>
14239
14240         * docs/gst/gstreamer-sections.txt:
14241         * gst/gstelement.c: (gst_element_get_state_func),
14242         (gst_element_abort_state), (gst_element_commit_state),
14243         (gst_element_lost_state):
14244         * gst/gstevent.h:
14245         * gst/gstquery.c: (gst_query_set_position),
14246         (gst_query_parse_position), (gst_query_set_duration),
14247         (gst_query_parse_duration), (gst_query_new_convert):
14248         * gst/gstutils.c:
14249         Yay! 1% more docs coverage.
14250
14251 2005-10-20  Wim Taymans  <wim@fluendo.com>
14252
14253         * gst/gstpad.h:
14254         * gst/gstquery.c: (gst_query_set_position),
14255         (gst_query_parse_position), (gst_query_set_duration),
14256         (gst_query_parse_duration), (gst_query_new_convert):
14257         * gst/gstquery.h:
14258         * gst/gstutils.c: (gst_element_query_convert):
14259         * gst/gstutils.h:
14260         Docs and consistency fixes.
14261
14262 2005-10-20  Wim Taymans  <wim@fluendo.com>
14263
14264         * gst/gsttask.c:
14265         * gst/gsttask.h:
14266         More docs.
14267
14268 2005-10-20  Wim Taymans  <wim@fluendo.com>
14269
14270         * gst/gstbin.c: (message_check), (bin_replace_message),
14271         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14272         (update_degree), (gst_bin_sort_iterator_next),
14273         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
14274         Reworked the message handling a bit, cache the messages instead of
14275         only the senders. alows us to do more in the future.
14276
14277 2005-10-20  Wim Taymans  <wim@fluendo.com>
14278
14279         * docs/design/part-TODO.txt:
14280         Update TODO
14281
14282         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14283         (gst_base_sink_query):
14284         Don't use clock time to report position when in EOS.
14285
14286 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
14287
14288         * tools/gst-inspect.c: (print_interfaces),
14289         (print_element_properties_info), (print_element_info):
14290           Fix interface output with gst-inspect -a; don't print
14291           newlines after double/float properties.
14292
14293 2005-10-20  Wim Taymans  <wim@fluendo.com>
14294
14295         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14296         (gst_base_sink_query):
14297         Speed up current position calculation.
14298
14299         * gst/base/gstbasesrc.c: (gst_base_src_query),
14300         (gst_base_src_default_newsegment):
14301         Correctly set stream position in newsegment.
14302
14303         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
14304         (update_degree), (gst_bin_sort_iterator_next),
14305         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
14306         * gst/gstmessage.c: (gst_message_new_custom):
14307         Clean up debugging info
14308
14309         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14310         (gst_queue_loop), (gst_queue_handle_src_query):
14311         Pause task faster.
14312
14313 2005-10-19  Wim Taymans  <wim@fluendo.com>
14314
14315         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14316         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14317         Fix query handling again.
14318
14319 2005-10-19  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14322         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14323         * gst/base/gstbasesrc.c: (gst_base_src_query):
14324         * gst/elements/gstfilesink.c: (gst_file_sink_query):
14325         * gst/elements/gsttypefindelement.c:
14326         (gst_type_find_handle_src_query), (find_element_get_length),
14327         (gst_type_find_element_activate):
14328         API change fix.
14329
14330         * gst/gstquery.c: (gst_query_new_position),
14331         (gst_query_set_position), (gst_query_parse_position),
14332         (gst_query_new_duration), (gst_query_set_duration),
14333         (gst_query_parse_duration), (gst_query_set_segment),
14334         (gst_query_parse_segment):
14335         * gst/gstquery.h:
14336         Bundling query position/duration is not a good idea since duration
14337         does not change much and we don't want to recalculate it for every
14338         position query, so they are separated again..
14339         Base value in segment query is not needed.
14340
14341         * gst/gstqueue.c: (gst_queue_handle_src_query):
14342         * gst/gstutils.c: (gst_element_query_position),
14343         (gst_element_query_duration), (gst_pad_query_position),
14344         (gst_pad_query_duration):
14345         * gst/gstutils.h:
14346         Updates for query API change.
14347         Added some docs here and there.
14348
14349 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14350
14351         * check/gst/gstbin.c: (GST_START_TEST):
14352         * check/gst/gstghostpad.c: (GST_START_TEST):
14353         * check/pipelines/cleanup.c: (GST_START_TEST):
14354           wait on thread to die so we can check refcount correctly
14355
14356 2005-10-18  Wim Taymans  <wim@fluendo.com>
14357
14358         * check/pipelines/stress.c: (GST_START_TEST):
14359         Make check a little more time consuming.
14360
14361 2005-10-18  Wim Taymans  <wim@fluendo.com>
14362
14363         * check/Makefile.am:
14364         * check/pipelines/stress.c: (GST_START_TEST),
14365         (simple_launch_lines_suite), (main):
14366         Small state change torture test.
14367
14368         * docs/design/part-states.txt:
14369         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14370         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
14371         (gst_base_sink_change_state):
14372         Never take state lock from streaming thread, clean up ugly
14373         hacks. Unfortunatly core does not yet support nice ways to
14374         async commit state.
14375         
14376         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
14377         (bin_bus_handler):
14378         Start state recalc if a STATE_DIRTY message is posted, but only
14379         on the toplevel bin.
14380
14381         * gst/gstelement.c: (gst_element_sync_state_with_parent),
14382         (gst_element_get_state_func), (gst_element_abort_state),
14383         (gst_element_commit_state), (gst_element_lost_state),
14384         (gst_element_set_state_func), (gst_element_change_state):
14385         * gst/gstelement.h:
14386         State variables are now protected with the LOCK, the state
14387         lock is only used to serialize _set_state().
14388
14389 2005-10-18  Wim Taymans  <wim@fluendo.com>
14390
14391         * check/gst/gstbin.c: (GST_START_TEST):
14392         * check/gst/gstmessage.c: (GST_START_TEST):
14393         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
14395         (bin_bus_handler):
14396         * gst/gstelement.c: (gst_element_abort_state),
14397         (gst_element_commit_state), (gst_element_lost_state):
14398         * gst/gstmessage.c: (gst_message_new_state_changed),
14399         (gst_message_new_state_dirty), (gst_message_new_segment_start),
14400         (gst_message_new_segment_done), (gst_message_new_duration),
14401         (gst_message_parse_state_changed),
14402         (gst_message_parse_segment_start),
14403         (gst_message_parse_segment_done), (gst_message_parse_duration):
14404         * gst/gstmessage.h:
14405         * tools/gst-launch.c: (event_loop):
14406         Seriously, this is better than a previous commit as we only need
14407         to notify the fact that an element changed state in a streaming
14408         thread, marking the state of the parents dirty, hence the 
14409         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
14410         message.
14411
14412 2005-10-18  Wim Taymans  <wim@fluendo.com>
14413
14414         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
14415         (gst_bin_recalc_func):
14416         * gst/gstelement.c: (gst_element_set_clock),
14417         (gst_element_abort_state), (gst_element_lost_state):
14418         Cleanups, prepare for state change fixes.
14419
14420 2005-10-18  Wim Taymans  <wim@fluendo.com>
14421
14422         * gst/gstbin.h:
14423         * gst/gstelement.c: (gst_element_class_init),
14424         (gst_element_set_state), (gst_element_set_state_func):
14425         * gst/gstelement.h:
14426         Pending ABI changes.
14427         GThreadPool in GstBinClass to monitor async state changes.
14428         state_cookie in GstElement to detect concurrent gst/set state.
14429         set_state is now virtual too in case a very complicated element
14430         has to be constructed.
14431
14432 2005-10-18  Wim Taymans  <wim@fluendo.com>
14433
14434         * check/gst/gstbin.c: (GST_START_TEST):
14435         * check/gst/gstmessage.c: (GST_START_TEST):
14436         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14437         * gst/gstbin.c: (bin_bus_handler):
14438         * gst/gstelement.c: (gst_element_commit_state),
14439         (gst_element_lost_state):
14440         * gst/gstmessage.c: (gst_message_new_state_changed),
14441         (gst_message_new_segment_start), (gst_message_new_segment_done),
14442         (gst_message_new_duration), (gst_message_parse_state_changed),
14443         (gst_message_parse_segment_start),
14444         (gst_message_parse_segment_done), (gst_message_parse_duration):
14445         * gst/gstmessage.h:
14446         * tools/gst-launch.c: (event_loop):
14447         Make messages future proof.
14448         state-change gets a flag if it was a message comming from the
14449         streaming thread.
14450         segment-start/stop can also be specified in other formats.
14451         A message to notify an app that a pipeline changed playback 
14452         duration.
14453         Also fix a GstMessage leak in -launch
14454
14455 2005-10-18  Andy Wingo  <wingo@pobox.com>
14456
14457         * gst/gstelement.c (gst_element_dispose): More helpful message.
14458
14459 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14460
14461         reviewed by: <delete if not using a buddy>
14462
14463         * common/gtk-doc.mak:
14464
14465 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14466
14467         * gst/gstregistry.c: (gst_registry_scan_path_level):
14468           unref a plug-in we get that was already initialized
14469
14470 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
14471
14472         * docs/gst/gstreamer-sections.txt:
14473         * docs/libs/gstreamer-libs-sections.txt:
14474         * gst/gstelement.h:
14475           add new api entries
14476           hide internal macro
14477
14478 2005-10-17  Andy Wingo  <wingo@pobox.com>
14479
14480         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
14481         cleanup.
14482
14483         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
14484
14485         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
14486
14487         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
14488         (gst_element_get_state_func): Better debug message.
14489         (gst_element_commit_state): s/INFO/DEBUG/.
14490         (gst_element_lost_state, gst_element_change_state): 
14491
14492         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
14493         (gst_message_new_custom): s/INFO/LOG/.
14494
14495 2005-10-17  Michael Smith <msmith@fluendo.com>
14496
14497         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14498           Check if end time is valid using end time, not start time.
14499
14500 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
14501
14502         * check/gst-libs/controller.c: (GST_START_TEST),
14503         (gst_controller_suite):
14504         * libs/gst/controller/gstcontroller.c:
14505         (gst_controlled_property_set_interpolation_mode):
14506         * libs/gst/controller/gstcontroller.h:
14507         * libs/gst/controller/gstinterpolation.c:
14508         * testsuite/controller/.cvsignore:
14509         * testsuite/controller/Makefile.am:
14510         * testsuite/controller/interpolator.c:
14511           merge controller testsuites
14512           fix broken tests
14513           remove mem-chunk from docs
14514
14515 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14516
14517         * gst/gstmemchunk.c:
14518         * gst/gstmemchunk.h:
14519         * gst/gsttrashstack.c:
14520         * gst/gsttrashstack.h:
14521           out.  get out.  you're fired.  to the Attic !
14522
14523 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14524
14525         * gst/gstcaps.c: (gst_caps_intersect):
14526           fix signedness issues in a (hopefully) correct way
14527         * gst/gstelement.c: (gst_element_pads_activate):
14528           some debugging
14529         * gst/gstobject.c: (gst_object_set_parent):
14530           some debugging
14531
14532 2005-10-17  Julien MOUTTE  <julien@moutte.net>
14533
14534         * gst/gstvalue.h: Fix prototypes.
14535
14536 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14537
14538         * docs/gst/gstreamer-sections.txt:
14539         * gst/gst.c: (gst_version_string):
14540         * gst/gst.h:
14541         * gst/gstversion.h.in:
14542         * win32/common/libgstreamer.def:
14543           add gst_version_string ()
14544
14545 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14546
14547         * configure.ac:
14548           clean up further
14549         * gst/gst.c: (init_post):
14550         * win32/common/config.h.in:
14551           it's PLUGINDIR now
14552         * gst/gstcaps.c: (gst_caps_intersect):
14553           use gint64, the range could be bigger than a guint
14554
14555 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14556
14557         * gst/gstclock.h:
14558           document potential problem in 2038
14559
14560 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14561
14562         * gst/gstcaps.c: (gst_caps_intersect):
14563           Fix guint j diving under 0
14564
14565 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14566
14567         * configure.ac:
14568         * win32/common/config.h:
14569         * win32/common/config.h.in:
14570           check for process.h, declares getpid() on Windows
14571         * gst/gstinfo.c:
14572           include process.h if we have it
14573         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
14574         * gst/gstmemchunk.h:
14575           fix signedness issues
14576         * win32/common/libgstreamer.def:
14577           fix get_type's
14578
14579 2005-10-16  Julien MOUTTE  <julien@moutte.net>
14580
14581         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
14582         fix. Because of unsigned ints, caps intersection was going nuts and
14583         trying to access structures with G_MAXUINT index. That fixes
14584         videotestsrc ! ffmpegcolorspace ! fakesink
14585         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
14586         consistency.
14587
14588 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14589
14590         * configure.ac:
14591           use the gettext macro
14592         * gst/elements/gstelements.c:
14593         * gst/gst.c:
14594         * gst/indexers/gstindexers.c:
14595           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
14596         * win32/common/config.h:
14597           updated config.h
14598         * win32/common/config.h.in:
14599           add the template to generate config.h
14600         * win32/common/gstenumtypes.c:
14601         * win32/common/gstversion.h:
14602           updated copies
14603
14604 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14605
14606         * gst/gst.c: (gst_version):
14607         * gst/gstversion.h.in:
14608           add the nano
14609
14610 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14611
14612         * gst/gstevent.h:
14613           Oops, add missing closing bracket.
14614
14615 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14616
14617         * configure.ac:
14618           use common m4's for argument checking
14619
14620 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14621
14622         * docs/gst/gstreamer-sections.txt:
14623         * gst/gstevent.h:
14624           Add GST_EVENT_TYPE_NAME() macro.
14625
14626 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14627
14628         * gst/gstinfo.c:
14629         * gst/gstpluginfeature.c:
14630         * gst/gsttask.c:
14631           privatize more symbols
14632
14633 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14634
14635         * configure.ac:
14636           add srcdir, builddir includes to GST_ALL_CFLAGS, since
14637           everything that uses GStreamer API should have the includes
14638
14639 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14640
14641         * docs/gst/gstreamer-sections.txt:
14642         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14643         * gst/gstvalue.h:
14644           give each value a _get_type, removes the DATA exports
14645
14646 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14647
14648         * gst/gst.c:
14649         * gst/gst.h:
14650           remove _gst_registry_auto_load, not used anymore
14651         * gst/gstbin.c: (gst_bin_get_type):
14652         * gst/gstbin.h:
14653         * gst/gstelement.c: (gst_element_get_type):
14654         * gst/gstelement.h:
14655         * gst/gstobject.c: (gst_object_get_type):
14656         * gst/gstobject.h:
14657         * gst/gstpad.c: (gst_pad_get_type):
14658         * gst/gstpad.h:
14659           make _get_type functions similar, fixes data export from library
14660
14661 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14662
14663         * configure.ac:
14664           correctly make conditionals
14665         * gst/elements/Makefile.am:
14666         * gst/elements/gstelements.c:
14667           fix typo causing fdsrc not to build
14668
14669 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14670
14671         * testsuite/Makefile.am:
14672         * testsuite/bytestream/.cvsignore:
14673         * testsuite/bytestream/Makefile.am:
14674         * testsuite/bytestream/filepadsink.c:
14675         * testsuite/bytestream/gstbstest.c:
14676         * testsuite/bytestream/test1.c:
14677         * testsuite/bytestream/testfile1:
14678         * testsuite/caps/normalisation.c:
14679         * testsuite/caps/random.c: (main):
14680         * testsuite/cleanup/.cvsignore:
14681         * testsuite/cleanup/Makefile.am:
14682         * testsuite/cleanup/cleanup1.c:
14683         * testsuite/cleanup/cleanup2.c:
14684         * testsuite/cleanup/cleanup3.c:
14685         * testsuite/cleanup/cleanup4.c:
14686         * testsuite/cleanup/cleanup5.c:
14687         * testsuite/controller/interpolator.c:
14688         * testsuite/debug/printf_extension.c: (main):
14689         * testsuite/elements/tee.c:
14690         * testsuite/negotiation/.cvsignore:
14691         * testsuite/negotiation/Makefile.am:
14692         * testsuite/negotiation/pad_link.c:
14693         * testsuite/pad/Makefile.am:
14694         * testsuite/pad/chainnopull.c:
14695         * testsuite/pad/getnopush.c:
14696         * testsuite/pad/link.c:
14697         * testsuite/refcounting/sched.c: (create_pipeline):
14698         * testsuite/registry/Makefile.am:
14699         * testsuite/registry/gst-print-formats.c:
14700         * testsuite/schedulers/.cvsignore:
14701         * testsuite/schedulers/142183-2.c:
14702         * testsuite/schedulers/142183.c:
14703         * testsuite/schedulers/143777-2.c:
14704         * testsuite/schedulers/143777.c:
14705         * testsuite/schedulers/147713.c:
14706         * testsuite/schedulers/147819.c:
14707         * testsuite/schedulers/147894-2.c:
14708         * testsuite/schedulers/147894.c:
14709         * testsuite/schedulers/Makefile.am:
14710         * testsuite/schedulers/group_link.c:
14711         * testsuite/schedulers/queue_link.c:
14712         * testsuite/schedulers/relink.c:
14713         * testsuite/schedulers/unlink.c:
14714         * testsuite/schedulers/unref.c:
14715         * testsuite/schedulers/useless_iteration.c:
14716         * testsuite/states/bin.c:
14717           clean out/remove some stuff from the testsuite directories
14718
14719 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14720
14721         * configure.ac:
14722           check for some headers
14723         * gst/elements/Makefile.am:
14724         * gst/elements/gstelements.c:
14725           don't compile fdsrc without sys/socket.h
14726         * gst/indexers/Makefile.am:
14727         * gst/indexers/gstindexers.c: (plugin_init):
14728           don't compile fileindex without mmap
14729
14730 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14731
14732         * configure.ac:
14733           reorganize
14734           clean up
14735           document more
14736           remove cruft
14737         * check/Makefile.am:
14738         * docs/gst/Makefile.am:
14739         * examples/helloworld/Makefile.am:
14740         * gst/Makefile.am:
14741         * gst/base/Makefile.am:
14742         * gst/check/Makefile.am:
14743         * gst/elements/Makefile.am:
14744         * gst/indexers/Makefile.am:
14745         * gst/parse/Makefile.am:
14746         * libs/gst/controller/Makefile.am:
14747         * libs/gst/dataprotocol/Makefile.am:
14748         * examples/helloworld/helloworld.c: (event_loop):
14749           compile fixes, though it's not being compiled currently
14750
14751 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14752
14753         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14754           Add some simple tests for the new taglist date API.
14755
14756 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14757
14758         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14759         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14760           Beautify 'last-message' output: print 'none' for buffer timestamps
14761           and durations if none is set; improve alignment with next messages.
14762
14763 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14764
14765         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14766         * gst/gstpluginfeature.h:
14767         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14768         * gst/gstregistry.h:
14769         * docs/gst/gstreamer-sections.txt:
14770           Add new API to check plugin feature version requirements.
14771
14772         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14773           Some basic tests for the above.         
14774
14775 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14776
14777         * gst/gststructure.c: (gst_structure_to_string):
14778           guard against NULL printf - happens when for example
14779           a message structure with GstClock gets serialized
14780
14781 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14782
14783         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14784           Fix presumable copy'n'pasto.
14785
14786 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14787
14788         * gst/elements/gstfakesrc.h:
14789         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14790         * gst/elements/gsttypefindelement.c:
14791           fix some signedness
14792         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14793           I wonder if this could actually write +2GB files before
14794
14795 2005-10-13  Andy Wingo  <wingo@pobox.com>
14796
14797         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14798         Fix Timmeke Waymans bug.
14799         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14800         string of the proper length to gst_caps_from_string. There's a
14801         potential for, before this fix, that this could cause someone
14802         connecting over the network to cause a segfault if the payload is
14803         not NUL-terminated.
14804
14805 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14806
14807         * docs/design/draft-push-pull.txt:
14808         * docs/design/part-overview.txt:
14809         * docs/random/TODO-pre-0.9:
14810         * docs/random/old/ChangeLog.gstreamer:
14811         * gst/base/gstpushsrc.c:
14812         * gst/gstclock.c:
14813           fixed typos
14814
14815 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14816
14817         * gst/glib-compat.c: (gst_flags_get_first_value):
14818         * gst/glib-compat.h:
14819         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14820         (gst_value_compare_double), (gst_value_serialize_flags):
14821           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14822           infinite loop
14823
14824 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14825
14826         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14827         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14828           fix up debugging
14829         * tools/gst-launch.c: (event_loop):
14830           print out clock nicely
14831
14832 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14833
14834         * docs/gst/gstreamer-sections.txt:
14835         * gst/gsttaglist.h:
14836         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14837         (gst_tag_list_get_date_index):
14838           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14839           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14840
14841 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14842
14843         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14844         (gst_collectpads_chain):
14845         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14846         in CollectData.
14847
14848 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14849
14850         * docs/gst/gstreamer-sections.txt:
14851         * gst/gst.c:
14852         * gst/gsterror.h:
14853         * tools/gst-inspect.c: (main):
14854         * tools/gst-launch.c: (main):
14855         * tools/gst-run.c: (main):
14856         * tools/gst-xmlinspect.c: (main):
14857           fix GOption context leaks
14858           doc fixes
14859
14860 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14861
14862         * gst/gstbus.c:
14863           use HAVE_UNISTD_H
14864         * win32/common/config.h:
14865           update config
14866         * win32/vs6/grammar.dsp:
14867         * win32/vs6/libgstelements.dsp:
14868         * win32/vs6/libgstreamer.dsp:
14869           update vs6 files
14870
14871 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14872
14873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14874         * gst/base/gstbasesrc.c: (gst_base_src_query):
14875           fix more guint64<->gdouble conversions
14876
14877 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14878
14879         * Makefile.am:
14880           add win32-update target
14881         * win32/common/gstconfig.h:
14882         * win32/common/gstenumtypes.c:
14883         * win32/common/gstenumtypes.h:
14884         * win32/common/gstversion.h:
14885           add files that visual studio can't generate
14886
14887 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14888
14889         * Makefile.am:
14890           add a win32-update target
14891         * configure.ac:
14892
14893 2005-10-12  Wim Taymans  <wim@fluendo.com>
14894
14895         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14896         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14897         * gst/gstelement.c: (gst_element_commit_state),
14898         (gst_element_set_state):
14899         Protect flags with proper lock.
14900         unref provided cached clock in dispose.
14901
14902 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14903
14904         * gst/gst.c:
14905         * gst/gstminiobject.h:
14906         * gst/gstpad.h:
14907         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14908           removed unused flags from miniobject
14909           doc fixes
14910
14911 2005-10-12  Wim Taymans  <wim@fluendo.com>
14912
14913         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14914         (gst_file_sink_event), (gst_file_sink_render):
14915         Flush before seeking.
14916
14917 2005-10-12  Andy Wingo  <wingo@pobox.com>
14918
14919         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14920         always been the case.
14921
14922 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14923
14924         * check/gst/gstbin.c: (GST_START_TEST):
14925         * docs/gst/gstreamer-sections.txt:
14926         * gst/base/gstbasesink.c: (gst_base_sink_init):
14927         * gst/base/gstbasesrc.c: (gst_base_src_init),
14928         (gst_base_src_get_range), (gst_base_src_check_get_range),
14929         (gst_base_src_start), (gst_base_src_stop):
14930         * gst/base/gstbasesrc.h:
14931         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14932         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14933         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14934         (bin_bus_handler):
14935         * gst/gstbin.h:
14936         * gst/gstbuffer.h:
14937         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14938         * gst/gstbus.h:
14939         * gst/gstelement.c: (gst_element_is_locked_state),
14940         (gst_element_set_locked_state), (gst_element_commit_state),
14941         (gst_element_set_state):
14942         * gst/gstelement.h:
14943         * gst/gstindex.c: (gst_index_init):
14944         * gst/gstindex.h:
14945         * gst/gstminiobject.h:
14946         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14947         (gst_object_set_parent):
14948         * gst/gstobject.h:
14949         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14950         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14951         * gst/gstpad.h:
14952         * gst/gstpadtemplate.h:
14953         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14954         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14955         * gst/gstpipeline.h:
14956         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14957         (gst_file_index_commit):
14958         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14959         * testsuite/pad/link.c: (gst_test_src_init),
14960         (gst_test_filter_init), (gst_test_sink_init):
14961         * testsuite/states/locked.c: (main):
14962           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14963           moved bitshift from macro to enum definition
14964
14965 2005-10-12  Wim Taymans  <wim@fluendo.com>
14966
14967         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14968         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14969         (gst_file_sink_render):
14970         Some more debugging info.
14971
14972 2005-10-12  Wim Taymans  <wim@fluendo.com>
14973
14974         * docs/design/part-states.txt:
14975         * tools/gst-launch.c: (main):
14976         Some doc updates.
14977         Revert non-intentional change.
14978
14979 2005-10-12  Wim Taymans  <wim@fluendo.com>
14980
14981         * check/gst/gstbin.c: (GST_START_TEST):
14982         * check/gst/gstelement.c: (GST_START_TEST):
14983         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14984         * check/gst/gstghostpad.c: (GST_START_TEST):
14985         * check/gst/gstpipeline.c: (GST_START_TEST):
14986         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14987         * check/states/sinks.c: (GST_START_TEST):
14988         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14989         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14990         (gst_bin_remove_func), (gst_bin_get_state_func),
14991         (gst_bin_recalc_state), (gst_bin_change_state_func),
14992         (bin_bus_handler):
14993         * gst/gstelement.c: (gst_element_get_state_func),
14994         (gst_element_get_state), (gst_element_abort_state),
14995         (gst_element_commit_state), (gst_element_set_state),
14996         (gst_element_change_state), (gst_element_change_state_func):
14997         * gst/gstelement.h:
14998         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14999         (gst_pipeline_provide_clock_func):
15000         * gst/gstutils.c: (gst_element_link_pads_filtered):
15001         * tools/gst-launch.c: (main):
15002         * tools/gst-typefind.c: (main):
15003         Use GstClockTime in _get_state() instead of GTimeVal.
15004         Remove old code in gstutils.c
15005
15006 2005-10-12  Andy Wingo  <wingo@pobox.com>
15007
15008         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
15009         removed.
15010
15011         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
15012         there is no task. Shouldn't affect any code, as nothing in our
15013         plugins checks this return value.
15014         (gst_pad_stop_task): Also take the stream lock if the pad has no
15015         task. Docs updated.
15016
15017 2005-10-12  Wim Taymans  <wim@fluendo.com>
15018
15019         * gst/gstpad.c: (pre_activate), (post_activate),
15020         (gst_pad_activate_pull), (gst_pad_activate_push):
15021         Cleanup activation code. Reset old state if
15022         activation failed.
15023
15024 2005-10-12  Wim Taymans  <wim@fluendo.com>
15025
15026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15027         (gst_base_sink_change_state):
15028         No need to prerol after receiving EOS.
15029
15030         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15031         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
15032         * gst/elements/gstidentity.c: (gst_identity_event):
15033         Print events more verbosely.
15034
15035 2005-10-12  Wim Taymans  <wim@fluendo.com>
15036
15037         * check/Makefile.am:
15038         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15039         * check/states/sinks2.c:
15040         Moved sinks2 testcode in sinks check.
15041
15042         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15043         (gst_bin_remove_func), (gst_bin_recalc_state),
15044         (gst_bin_change_state_func), (bin_bus_handler):
15045         Fix potential race condition when _get_state() iterated over an
15046         ASYNC element right before it posted a state completion.
15047
15048         * gst/gstclock.h:
15049         Do proper cast here.
15050
15051         * gst/gstevent.c: (gst_event_new_newsegment),
15052         (gst_event_parse_newsegment):
15053         A playback rate of 0.0 is not allowed.
15054
15055 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15056
15057         * win32/common/config.h:
15058         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
15059         (_trewinddir), (_ttelldir), (_tseekdir):
15060         * win32/common/dirent.h:
15061         * win32/common/gtchar.h:
15062         * win32/common/libgstbase.def:
15063         * win32/common/libgstreamer.def:
15064         * win32/vs6/grammar.dsp:
15065         * win32/vs6/gst_inspect.dsp:
15066         * win32/vs6/gst_launch.dsp:
15067         * win32/vs6/gstreamer.dsw:
15068         * win32/vs6/libgstbase.dsp:
15069         * win32/vs6/libgstelements.dsp:
15070         * win32/vs6/libgstreamer.dsp:
15071           Visual Studio 6 project files, and a new common directory.
15072           Phear.
15073
15074 2005-10-11  Wim Taymans  <wim@fluendo.com>
15075
15076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15077         (gst_base_sink_do_sync), (gst_base_sink_query),
15078         (gst_base_sink_change_state):
15079         * gst/base/gstbasesink.h:
15080         Correctly parse newsegment info.
15081
15082 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15083
15084         * gst/gst.c: (init_post):
15085           split plugin paths correctly
15086
15087 2005-10-11  Wim Taymans  <wim@fluendo.com>
15088
15089         * check/gst/gstevent.c: (GST_START_TEST):
15090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15091         (gst_base_sink_change_state):
15092         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
15093         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15094         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15095         * gst/gstevent.c: (gst_event_new_newsegment),
15096         (gst_event_parse_newsegment):
15097         * gst/gstevent.h:
15098         Added extra flag to newsegment for future API freeze.
15099         Updated check and base elements.
15100
15101 2005-10-11  Julien MOUTTE  <julien@moutte.net>
15102
15103         * gst/base/gstcollectpads.c: (gst_collectpads_init),
15104         (gst_collectpads_add_pad), (gst_collectpads_pop),
15105         (gst_collectpads_event), (gst_collectpads_chain):
15106         * gst/base/gstcollectpads.h: Handle EOS correctly.
15107
15108 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15109
15110         * tools/gst-launch.c: (main):
15111           more null protecting
15112
15113 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15114
15115         * gst/gst-i18n-lib.h:
15116           check for ENABLE_NLS, not GETTEXT_PACKAGE
15117         * gst/gstregistry.c: (gst_registry_add_plugin),
15118         (gst_registry_scan_path_level),
15119         (_gst_registry_remove_cache_plugins):
15120           protect possibly NULL strings
15121         * gst/parse/types.h:
15122           config.h already included before
15123         * tools/gst-inspect.c: (main):
15124           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
15125           check for ENABLE_NLS, not GETTEXT_PACKAGE
15126         * tools/gst-launch.c: (main):
15127           check for ENABLE_NLS, not GETTEXT_PACKAGE
15128
15129 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15130
15131         * configure.ac:
15132           if we don't have glib, fail before testing 2.8
15133         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
15134           fix a leak, should fix plugins-base testsuite
15135
15136 2005-10-11  Andy Wingo  <wingo@pobox.com>
15137
15138         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
15139         take the mode we're going to as an arg. Go head and set the mode
15140         and flushing flags now, so that if the activate function starts a
15141         thread all the flags will be in the right state.
15142         (post_activate): Renamed also. Just handle making sure streaming
15143         finishes for the deactivation case, and setting the deactivated
15144         mode.
15145         (gst_pad_set_active): Complain loudly if deactivation fails.
15146         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
15147         (gst_pad_activate_push): Adapt to pre/post_activate changes,
15148         remove the terrible hack.
15149
15150 2005-10-11  Wim Taymans  <wim@fluendo.com>
15151
15152         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15153         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
15154         (gst_bin_recalc_state), (gst_bin_change_state_func),
15155         (gst_bin_dispose), (bin_bus_handler):
15156         * gst/gstbin.h:
15157         Prepare to make current EOS message queue more generic.
15158         Fix some typos.
15159
15160         * gst/gstevent.c: (gst_event_new_newsegment),
15161         (gst_event_parse_newsegment):
15162         * gst/gstevent.h:
15163         Rename base to stream_time.
15164
15165         * gst/gstmessage.h:
15166         Fix typo in docs.
15167
15168 2005-10-11  Wim Taymans  <wim@fluendo.com>
15169
15170         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15171         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
15172         (gst_bin_change_state_func), (bin_bus_handler):
15173         * gst/gstbin.h:
15174         Work on proper clock selection.
15175
15176 2005-10-11  Edward Hervey  <edward@fluendo.com>
15177
15178         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
15179         * libs/gst/controller/gstcontroller.h:
15180         Added GList* version of _remove_properties() in order to be able to wrap
15181         it in bindings.
15182
15183 2005-10-11  Wim Taymans  <wim@fluendo.com>
15184
15185         * docs/design/part-states.txt:
15186         Some more docs.
15187
15188         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
15189         (gst_bin_change_state_func), (bin_bus_handler):
15190         Doc updates. Don't distribute the same clock over and over again.
15191
15192         * gst/gstclock.c:
15193         * gst/gstclock.h:
15194         Doc updates.
15195
15196         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
15197         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
15198         (gst_pad_send_event):
15199         * gst/gstpad.h:
15200         Make probe emission threadsafe again.
15201         Register quarks and move _get_name() from utils.
15202         Doc updates.
15203
15204         * gst/gstpipeline.c: (gst_pipeline_class_init),
15205         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15206         Only redistribute the clock of it changed.
15207
15208         * gst/gstsystemclock.h:
15209         Doc updates. 
15210
15211         * gst/gstutils.c:
15212         * gst/gstutils.h:
15213         Moved the _flow_get_name() to GstPad.
15214
15215 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15216
15217         * check/gst-libs/gdp.c: (GST_START_TEST):
15218         * check/gst/gstcaps.c: (GST_START_TEST):
15219         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
15220         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
15221         (gst_dp_packet_from_caps):
15222           fix more valgrind warnings before turning up the heat
15223
15224 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15225
15226         * gst/parse/grammar.y:
15227           some cleanup before the hacking
15228
15229 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15230
15231         * gst/base/gstbasesrc.c: (gst_base_src_query):
15232           use conversions
15233         * gst/gstutils.c: (gst_guint64_to_gdouble),
15234         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
15235         * gst/gstutils.h:
15236           externalize, basesrc uses it
15237           obviously the implementation needs testing
15238
15239 2005-10-10  Wim Taymans  <wim@fluendo.com>
15240
15241         * tests/sched/Makefile.am:
15242         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
15243         (make_pipeline3), (make_pipeline4), (print_elem), (main):
15244
15245 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15246
15247         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
15248           apparently converting from guint64 to double is not implemented
15249           on MSVC
15250
15251 2005-10-10  Wim Taymans  <wim@fluendo.com>
15252
15253         * check/Makefile.am:
15254         * check/generic/states.c: (GST_START_TEST):
15255         * check/gst/gstbin.c: (GST_START_TEST):
15256         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15257         * check/states/sinks.c: (GST_START_TEST):
15258         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
15259         (main):
15260         Check fixes, use API as stated in design docs, remove hacks.
15261
15262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15263         (gst_base_sink_change_state):
15264         Catch stopping our task while we're shutting down.
15265
15266         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
15267         (gst_bin_remove_func), (gst_bin_get_state_func),
15268         (gst_bin_recalc_state), (gst_bin_change_state_func),
15269         (bin_bus_handler):
15270         * gst/gstbin.h:
15271         * gst/gstelement.c: (gst_element_init),
15272         (gst_element_get_state_func), (gst_element_abort_state),
15273         (gst_element_commit_state), (gst_element_lost_state),
15274         (gst_element_set_state), (gst_element_change_state),
15275         (gst_element_change_state_func):
15276         * gst/gstelement.h:
15277         New state change algorithm (see #318116)
15278
15279         * gst/gstpipeline.c: (gst_pipeline_class_init),
15280         (gst_pipeline_init), (gst_pipeline_set_property),
15281         (gst_pipeline_get_property), (do_pipeline_seek),
15282         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15283         * gst/gstpipeline.h:
15284         Remove crude state change hacks.
15285
15286         * gst/gstutils.h:
15287         Remove crude hacks.
15288
15289         * tools/gst-launch.c: (main):
15290         Fixes for state change. Needs some more work to fully use the
15291         new stuff.
15292
15293 2005-10-10  Andy Wingo  <wingo@pobox.com>
15294
15295         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
15296
15297         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
15298         this flag, but it's not even in GLib 2.6. Odd. Hack around the
15299         issue.
15300
15301 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15302
15303         * gst/gstiterator.c: (gst_iterator_new):
15304           Fix my previous commit: GTypes passed to gst_iterator_new()
15305           can be fundamental types.
15306
15307 2005-10-10  Wim Taymans  <wim@fluendo.com>
15308
15309         * gst/gstelement.c: (gst_element_iterate_pad_list),
15310         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
15311         (gst_element_iterate_sink_pads):
15312         Use src/sink pads lists for the respective iterators instead
15313         of filtering.
15314
15315 2005-10-10  Andy Wingo  <wingo@pobox.com>
15316
15317         Merged in popt removal + GOption addition patch from Ronald, bug
15318         #169772.
15319
15320         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
15321         GstElement macros around, remove popt-related symbols, add goption
15322         stuff.
15323
15324         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
15325         
15326         * docs/gst/Makefile.am:
15327         * docs/libs/Makefile.am: No POPT_CFLAGS.
15328         
15329         * examples/manual/Makefile.am:
15330         * docs/manual/basics-init.xml: Doc updates with an example.
15331         
15332         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
15333         (gst_init), (parse_one_option), (parse_goption_arg):
15334         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
15335         bit of hand merging and debugging to get the GOption stuff working
15336         tho.
15337         
15338         * tests/Makefile.am:
15339         * tools/Makefile.am:
15340         * tools/gst-inspect.c: (main):
15341         * tools/gst-launch.c: (main):
15342         * tools/gst-run.c: (main):
15343         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
15344
15345 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15346
15347         * gst/gstiterator.c: (gst_iterator_new):
15348           Add assertions to make sure passed GType is likely to really
15349           be a GType (as the compiler won't catch it if the size and
15350           GType arguments get mixed up, see #318447).
15351
15352 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
15353
15354         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15355
15356         * gst/gstbin.c: (gst_bin_iterate_sorted):
15357           Pass GType and size arguments to gst_iterator_new() in the right
15358           order (maybe we should make _new() take the GType as first argument
15359           just like _new_list()?) (#318447).
15360           
15361
15362 2005-10-10  Wim Taymans  <wim@fluendo.com>
15363
15364         * gst/gstelement.c: (gst_element_finalize):
15365         And free the GStaticRecMutex too
15366
15367 2005-10-10  Andy Wingo  <wingo@pobox.com>
15368
15369         * gst/gstelement.c (gst_element_init, gst_element_finalize):
15370         Allocate and free the mutex properly.
15371
15372         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
15373         New macros.
15374         (GstElement): The state_lock is now recursive. Rebuild your
15375         plugins, suckers. Old macros adapted.
15376
15377         * docs/gst/gstreamer-sections.txt: Doc updates.
15378
15379         * gst/gstutils.h:
15380         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
15381         (g_static_rec_cond_wait): Ported from state changes patch, while
15382         we wait on bug #317802 to be solved in a well-distributed GLib.
15383
15384         * gst/gstelement.c (gst_element_change_state_func): Renamed from
15385         gst_element_change_state, variable name changes.
15386         (gst_element_change_state): Split out of gst_element_set_state in
15387         preparation for the state change merge. Doesn't pay attention to
15388         the 'transition' argument.
15389         (gst_element_set_state): Updates, hopefully purely cosmetic.
15390         (gst_element_sync_state_with_parent): MT-safety. Ported from the
15391         state change patch.
15392         (gst_element_get_state_func): Renamed from get_state, cosmetic
15393         changes.
15394
15395 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15396
15397         * gst/elements/gstelements.c:
15398         * win32/GStreamer.vcproj:
15399         * win32/config.h:
15400         * win32/dirent.c: (_tseekdir):
15401         * win32/gst-inspect.vcproj:
15402         * win32/gst-launch.vcproj:
15403         * win32/gstconfig.h:
15404         * win32/gstelements.vcproj:
15405         * win32/gstenumtypes.c: (gst_object_flags_get_type):
15406         * win32/gstreamer.def:
15407         * win32/msvc71.sln:
15408           updates for the win32 build (patch from Sebastien Moutte)
15409
15410 2005-10-10  Andy Wingo  <wingo@pobox.com>
15411
15412         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
15413         gst_bin_get_state, cleaned up (but no logic changes).
15414         (bin_element_is_sink): Comment updates.
15415         (sink_iterator_filter): Remove needless cast.
15416         (gst_bin_iterate_sinks): Doc update.
15417         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
15418         cleaned up (but no logic changes).
15419
15420         * check/states/sinks.c (test_src_sink): Cleanups from the state
15421         change patch.
15422         (test_livesrc_sink): Sync on the state.
15423
15424         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
15425         the state change patch.
15426
15427         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
15428         change patch.
15429
15430         * check/gst/gstbin.c: Merge in some style fixes and additional
15431         checks from Wim's state change patch.
15432
15433 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15434
15435         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15436         (gst_type_find_helper):
15437           Check whether we have the requested data already in our list of
15438           cached buffers before pulling a new buffer; also make the buffer
15439           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
15440
15441 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15442
15443         * gst/gstcaps.c:
15444         * gst/gstevent.c:
15445           doc updates
15446         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15447           don't use long long, it's not portable.  Replacing with
15448           gint64 seems to work; let's hope no skeletons fall out of the closet.
15449
15450 2005-10-10  Andy Wingo  <wingo@pobox.com>
15451
15452         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
15453
15454 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
15455
15456         * docs/gst/gstreamer-sections.txt:
15457         * gst/gstevent.c:
15458         * gst/gstevent.h:
15459         * gst/gstinfo.c:
15460         * gst/gstinfo.h:
15461         * gst/gstmessage.c: (gst_message_parse_state_changed):
15462         * gst/gstpad.c:
15463         * gst/gstpad.h:
15464           more docs, fix compilation
15465
15466 2005-10-09  Philippe Khalaf <burger@speedy.org>
15467         * gst/gstmessage.c:
15468           Fixed a few forgotten variables on previous commit
15469
15470 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
15471
15472         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15473           Fix evil typefind crasher: getrange() might return a short
15474           buffer at the end of a file, but gst_type_find_peek() must
15475           either return the full data as requested or NULL, but
15476           never a short buffer.
15477
15478 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15479
15480         * gst/gstmessage.c: (gst_message_new_state_changed),
15481         (gst_message_parse_state_changed):
15482         * gst/gstmessage.h:
15483           don't use "new", it's a C++ keyword
15484
15485 2005-10-08  Wim Taymans  <wim@fluendo.com>
15486
15487         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
15488         * gst/gstelement.c: (gst_element_post_message):
15489         * gst/gstpipeline.c: (gst_pipeline_change_state):
15490         Small docs and debug updates.
15491
15492 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15493
15494         * docs/gst/gstreamer-sections.txt:
15495         * gst/gstelementfactory.c:
15496         * gst/gstevent.c:
15497         * gst/gsttaglist.c:
15498           more docs
15499
15500 2005-10-08  Wim Taymans  <wim@fluendo.com>
15501
15502         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
15503         (gst_bin_dispose), (bin_bus_handler):
15504         Fix typos, add comments.
15505         Clear EOS list when going to PAUSED from any direction and do it
15506         in a threadsafe way.
15507         Get base time in a threadsafe way too.
15508         Fix confusing debug in the change_state function.
15509         Various other small cleanups.
15510         
15511         * gst/gstelement.c: (gst_element_post_message):
15512         Fix very verbose bus posting code.
15513
15514         * gst/gstpipeline.c: (gst_pipeline_class_init),
15515         (gst_pipeline_set_property), (gst_pipeline_get_property),
15516         (gst_pipeline_change_state):
15517         Small ARG_ -> PROP_ cleanup
15518
15519 2005-10-08  Wim Taymans  <wim@fluendo.com>
15520
15521         * gst/gstbin.c: (is_eos), (bin_bus_handler):
15522         Do a less CPU demanding EOS check because we can.
15523
15524 2005-10-08  Wim Taymans  <wim@fluendo.com>
15525
15526         * libs/gst/dataprotocol/dataprotocol.c:
15527         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
15528         (gst_dp_packet_from_event):
15529         * libs/gst/dataprotocol/dataprotocol.h:
15530         * libs/gst/dataprotocol/dp-private.h:
15531         It's about time we bump the version number.
15532         Since event types don't fit in the guint8 anymore describing
15533         the payload type, make payload type 16 bits wide.
15534
15535 2005-10-08  Wim Taymans  <wim@fluendo.com>
15536
15537         * docs/design/part-TODO.txt:
15538         * docs/design/part-clocks.txt:
15539         * docs/design/part-events.txt:
15540         * docs/design/part-gstbin.txt:
15541         * docs/design/part-gstelement.txt:
15542         * docs/design/part-gstpipeline.txt:
15543         * docs/design/part-live-source.txt:
15544         * docs/design/part-messages.txt:
15545         * docs/design/part-overview.txt:
15546         * docs/design/part-states.txt:
15547         Many doc updates.
15548
15549 2005-10-08  Wim Taymans  <wim@fluendo.com>
15550
15551         * gst/gstevent.c:
15552         * gst/gstevent.h:
15553         Fix event quark registration.
15554         Add some space between events so we can insert them in the
15555         right groups.
15556
15557 2005-10-08  Wim Taymans  <wim@fluendo.com>
15558
15559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15560         (gst_base_sink_handle_buffer):
15561         Better log message.
15562
15563         * gst/gstbus.h:
15564         * gst/gstelement.h:
15565         More docs.
15566
15567         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15568         (gst_queue_set_property), (gst_queue_get_property):
15569         * gst/gstqueue.h:
15570         Remove old unused properties.
15571
15572 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15573         * docs/gst/gstreamer-sections.txt:
15574         * gst/gstmessage.c:
15575         * gst/gstmessage.h:
15576         * gst/gstminiobject.c:
15577         * gst/gstminiobject.h:
15578         * gst/gstobject.h:
15579         * gst/gstpad.h:
15580         * gst/gstutils.h:
15581           lots of new docs and doc fixes
15582
15583 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15584
15585         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
15586         * gst/gstplugin.h:
15587         * gst/gstregistry.c: (gst_registry_lookup_locked),
15588         (gst_registry_scan_path_level):
15589         * gst/gstregistryxml.c: (load_plugin):
15590           Only ever load one plugin for a given plugin basename.
15591           This ensures correct overriding of GST_PLUGIN_PATH over
15592           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
15593           system installed plugins.
15594
15595 2005-10-08  Wim Taymans  <wim@fluendo.com>
15596
15597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15598         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
15599         Prepare for doing QOS.
15600
15601 2005-10-08  Wim Taymans  <wim@fluendo.com>
15602
15603         * check/gst/gstbin.c: (GST_START_TEST):
15604         * check/pipelines/cleanup.c: (GST_START_TEST):
15605         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15606         Allow new clock message too.
15607
15608 2005-10-08  Wim Taymans  <wim@fluendo.com>
15609
15610         * gst/gstmessage.c: (gst_message_new_error),
15611         (gst_message_new_warning), (gst_message_new_tag),
15612         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15613         (gst_message_new_clock_lost), (gst_message_new_new_clock),
15614         (gst_message_new_segment_start), (gst_message_new_segment_done),
15615         (gst_message_parse_state_changed),
15616         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
15617         (gst_message_parse_new_clock):
15618         * gst/gstmessage.h:
15619         Also carry the clock in question.
15620
15621 2005-10-08  Wim Taymans  <wim@fluendo.com>
15622
15623         * gst/gstmessage.c: (gst_message_new_custom),
15624         (gst_message_new_eos), (gst_message_new_error),
15625         (gst_message_new_warning), (gst_message_new_tag),
15626         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15627         (gst_message_new_new_clock), (gst_message_new_segment_start),
15628         (gst_message_new_segment_done), (gst_message_parse_state_changed),
15629         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
15630         * gst/gstmessage.h:
15631         Clean up.
15632         Added clock related messages.
15633
15634         * gst/gstpipeline.c: (gst_pipeline_change_state):
15635         Post message when the clock changed.
15636
15637         * tools/gst-launch.c: (event_loop):
15638         Print new clock.
15639
15640 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
15641
15642         * tools/gst-inspect.c: (print_element_properties_info):
15643           Can't pass NULL strings to g_print() on windows.
15644
15645 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15646
15647         * docs/Makefile.am:
15648         * docs/gst/Makefile.am:
15649         * docs/gst/gstreamer-docs.sgml:
15650         * docs/gst/running.xml:
15651         * docs/version.entities.in:
15652           add a chapter on running GStreamer.
15653           document GST_DEBUG and GST_PLUGIN* env vars
15654
15655 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15656
15657         * Makefile.am:
15658           remove include dir
15659         * configure.ac:
15660           remove PLUGINS_BUILDDIR stuff
15661         * gst/gst.c: (init_post):
15662           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
15663         * idiottest.mak:
15664           remove, it was condescending and not needed
15665
15666 2005-10-08  Wim Taymans  <wim@fluendo.com>
15667
15668         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
15669         (gst_base_sink_handle_object), (gst_base_sink_event),
15670         (gst_base_sink_wait), (gst_base_sink_handle_event),
15671         (gst_base_sink_change_state):
15672         * gst/base/gstbasesink.h:
15673         Repost EOS message while going to PLAYING if still EOS.
15674         Make sure that when receiving a FLUSH_START we don't attempt
15675         to sync on the clock anymore.
15676
15677 2005-10-08  Wim Taymans  <wim@fluendo.com>
15678
15679         * tools/gst-launch.c: (event_loop):
15680         Better message printout.
15681
15682 2005-10-08  Wim Taymans  <wim@fluendo.com>
15683
15684         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15685         (gst_bin_child_proxy_get_children_count):
15686         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15687         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15688         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15689         (gst_child_proxy_set_valist):
15690         * gst/parse/grammar.y:
15691         Make ChildProxy threadsafe and fix mem leaks.
15692
15693 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15694
15695         * gst/gst.c: (init_post):
15696           debug the GST_PLUGIN_ env vars
15697
15698 2005-10-08  Wim Taymans  <wim@fluendo.com>
15699
15700         * check/gst/gstbin.c: (GST_START_TEST):
15701         * check/gst/gstmessage.c: (GST_START_TEST):
15702         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15703         * gst/gstelement.c: (gst_element_commit_state),
15704         (gst_element_lost_state):
15705         * gst/gstmessage.c: (gst_message_new_state_changed),
15706         (gst_message_parse_state_changed):
15707         * gst/gstmessage.h:
15708         * tools/gst-launch.c: (event_loop):
15709         Added extra field to STATE_CHANGE message with the pending
15710         state, which will be different from the new state soon.
15711
15712 2005-10-08  Wim Taymans  <wim@fluendo.com>
15713
15714         * gst/gstbus.c: (gst_bus_pop):
15715         * gst/gstclock.c:
15716         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15717         Small cleanups and doc updates.
15718
15719 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15720
15721         * gst/gst.c: (init_pre):
15722         * gst/gstbin.c: (gst_bin_add_func):
15723           log distributing clocks and base time
15724         * gst/gstregistry.c: (gst_registry_add_plugin),
15725         (gst_registry_scan_path_level), (gst_registry_scan_path):
15726           clean up the debugging output a little
15727         * gst/gstutils.c: (gst_element_state_get_name):
15728           warn about a memleak (I've actually seen this be used, though
15729           it was probably a bug)
15730
15731 2005-10-07  Wim Taymans  <wim@fluendo.com>
15732
15733         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15734         (gst_base_src_init), (gst_base_src_default_newsegment),
15735         (gst_base_src_newsegment), (gst_base_src_do_seek),
15736         (gst_base_src_loop), (gst_base_src_start):
15737         * gst/base/gstbasesrc.h:
15738         Make the newsegment event customizable by subclasses.
15739
15740 2005-10-07  Wim Taymans  <wim@fluendo.com>
15741
15742         * gst/gstevent.c: (gst_event_new_buffersize),
15743         (gst_event_parse_buffersize):
15744         * gst/gstevent.h:
15745         New event for future idea.
15746
15747 2005-10-07  Andy Wingo  <wingo@pobox.com>
15748
15749         * gst/gstelement.c (gst_element_post_message): Doc update.
15750
15751         * docs/gst/gstreamer-sections.txt: Update.
15752
15753         * gst/gstmessage.c (gst_message_new_application): Made into a
15754         function like honest API calls.
15755         (gst_message_new_element): New message type.
15756
15757         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15758
15759         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15760         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15761         times.
15762
15763         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15764         NO_PREROLL from gst_element_change_state to fall through.
15765
15766 2005-10-07  Wim Taymans  <wim@fluendo.com>
15767
15768         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15769         (gst_ghost_pad_do_activate_push):
15770         Activating a ghostpad with no internal pad in push mode
15771         is ok.
15772
15773 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15774
15775         * gst/gstobject.h:
15776           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15777           Fixes compilation on Windows.
15778
15779 2005-10-07  Michael Smith <msmith@fluendo.com>
15780
15781         * tools/gst-inspect.c:
15782           Print out feature and plugin count at the end when printing out
15783           all features.
15784
15785 2005-10-04  Michael Smith <msmith@fluendo.com>
15786
15787         * gst/gsterror.c: (_gst_stream_errors_init):
15788           Add another error string used in a few existing plugins.
15789
15790         * gst/gstplugin.c:
15791         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15792         * tools/gst-inspect.c: (print_element_info):
15793           When a feature disappears from a plugin (and the feature exists in
15794           the cached registry file), things went horribly wrong. This isn't a
15795           complete fix, we should actually be removing the 'missing' features
15796           from the features list when we load the actual plugin. That's not
15797           yet implemented. 
15798
15799 2005-10-04  Johan Dahlin  <johan@gnome.org>
15800
15801         * check/gst/gstiterator.c: (GST_START_TEST):
15802         * gst/gstbin.c: (gst_bin_iterate_elements),
15803         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15804         * gst/gstelement.c: (gst_element_iterate_pads):
15805         * gst/gstformat.c: (gst_format_iterate_definitions):
15806         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15807         (gst_iterator_new_list), (gst_iterator_filter):
15808         * gst/gstiterator.h:
15809         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15810         Add a GType to GstIterator, update callsites and tests.
15811
15812 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15813
15814         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15815           give events a chance to be handled by event probes when the pad
15816           is not linked
15817
15818 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15819
15820         * gst/gstevent.c: (gst_event_type_get_name),
15821         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15822         * gst/gstevent.h:
15823           add string representations for event types
15824
15825 2005-10-06  Wim Taymans  <wim@fluendo.com>
15826
15827         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15828         Don't use NULL pointers.
15829
15830 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15831
15832         * gst/gst_private.h:
15833         * gst/gstbus.c:
15834         * gst/gstelement.c:
15835         * gst/gstinfo.c:
15836         * gst/gstpluginfeature.c:
15837           widen the debug category in output to fit the biggest one we have
15838           add a bus category and use it
15839           play with the colors
15840           fix up some categories
15841
15842 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15843
15844         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15845           add push activation of sink ghost pads.
15846           Andye, please verify
15847
15848 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15849
15850         * gst/gstutils.c: (gst_element_link_pads):
15851           fix a bug in the case where neither element has a pad
15852         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15853           add a test for that case
15854
15855 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15856
15857         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15858           emit have-data before checking for peers.  This allows
15859           for probe handlers to connect elements.  This helps autopluggers.
15860         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15861         (gst_pad_suite):
15862           add six checks, linked/unlinked with no/true/false probe
15863
15864 2005-10-04  Wim Taymans  <wim@fluendo.com>
15865
15866         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15867         (gst_fake_sink_event), (gst_fake_sink_preroll),
15868         (gst_fake_sink_render), (gst_fake_sink_change_state):
15869         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15870         (gst_fake_src_get_property), (gst_fake_src_create),
15871         (gst_fake_src_stop):
15872         * gst/elements/gstidentity.c: (gst_identity_stop):
15873         Protect last_message with lock.
15874
15875 2005-10-04  Edward Hervey  <edward@fluendo.com>
15876
15877         * gst/gstformat.h: 
15878         Added precision in the comments for GST_FORMAT_DEFAULT
15879
15880 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15881
15882         * tools/gst-launch.c: (main):
15883           Don't try to run erroneous pipelines.
15884
15885 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15886
15887         * gst/gstbus.c: We don't need this header.
15888
15889 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15890
15891         * configure.ac:
15892           back to development
15893
15894 === release 0.9.3 ===
15895
15896 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15897
15898         * README:
15899         * configure.ac:
15900           Releasing 0.9.3, "Unregistered"
15901
15902 2005-10-03  Andy Wingo  <wingo@pobox.com>
15903
15904         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15905         whereby calling a pad's activatepush() function can start a thread
15906         that starts to push or pull before the pad gets the FLUSHING flag
15907         unset. Hack around it by holding the stream lock until the flag is
15908         set. Need to replace this with a proper solution. Together with
15909         the ghost pad fixes, this fixes mp3 playing/tagreading.
15910
15911         * docs/design/part-gstghostpad.txt: Add a note about activation of
15912         proxy pads outside of ghost pads.
15913
15914         * gst/gstghostpad.c: Implement the ghost pad activation design.
15915
15916 2005-10-02  Andy Wingo  <wingo@pobox.com>
15917
15918         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15919         It is volatile, after all.
15920
15921         * docs/design/part-gstghostpad.txt: Flesh out activation with
15922         ghost pads.
15923
15924         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15925         GST_DEBUG_FUNCPTR.
15926
15927 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15928
15929         * configure.ac:
15930           Fix (unused) AM_CONDITIONAL tests.
15931
15932 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15933
15934         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15935
15936         * gst/gstutils.c: (gst_pad_query_convert):
15937           Add assertion that makes sure src_val is >=0, just like
15938           gst_query_new_convert() has. (#315895)
15939
15940 2005-09-30  Edward Hervey  <edward@fluendo.com>
15941
15942         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15943         Let's not iterate pads we're not interested in, it avoids getting 
15944         sky-high refcounts on sinkpad.
15945
15946 2005-09-30  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/gstelement.c: (gst_element_set_state),
15949         (gst_element_change_state):
15950         Small tweak, element in ASYNC remains ASYNC.
15951
15952 2005-09-30  Wim Taymans  <wim@fluendo.com>
15953
15954         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15955         Only error is an error.
15956
15957         * gst/gstbin.c: (gst_bin_change_state):
15958         Better debugging.
15959
15960         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15961         Also call pad_block in pad alloc.
15962
15963         * gst/gstutils.c: (gst_flow_get_name):
15964         Better debugging.
15965
15966 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15967
15968         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15969         (gst_base_src_get_range):
15970           Fix documentation typos. Add some more debug info.
15971
15972 2005-09-29  David Schleef  <ds@schleef.org>
15973
15974         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15975           more end-user friendly.
15976         * tools/gst-inspect.c: (main): Check if command-line argument is
15977           a file and attempt to load that file as a plugin.
15978
15979 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15980
15981         * check/gst/gstbin.c:
15982         * check/states/sinks.c:
15983           fix tests for the new warning
15984         * check/gst/gstpipeline.c:
15985           add a test for pipeline and bus interaction
15986         * gst/gstelement.c:
15987           elements should be NULL if they get disposed; add a warning if not
15988
15989 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15990
15991         * gst/gstobject.c:
15992           for 2.6 refcounting, make debug log more correct by printing
15993           the actual refcounts at the time of swap (Wim)
15994
15995 2005-09-29  Andy Wingo  <wingo@pobox.com>
15996
15997         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15998         removes signal watches previously added via
15999         gst_bus_add_signal_watch.
16000         (gst_bus_add_signal_watch): Don't return the source id, just store
16001         it on the bus if there wasn't an id already.
16002
16003         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
16004         add_signal_watch and remove_signal_watch.
16005
16006 2005-09-29  Edward Hervey  <edward@fluendo.com>
16007
16008         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
16009         Better if we actually iterate the list :)
16010
16011 2005-09-29  Wim Taymans  <wim@fluendo.com>
16012
16013         * check/gst/gstbin.c: (GST_START_TEST):
16014         Change for new bus API.
16015
16016         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16017         (send_messages), (GST_START_TEST), (gstbus_suite):
16018         Change for new bus signal API.
16019
16020         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
16021         (gst_bus_source_prepare), (gst_bus_source_check),
16022         (gst_bus_create_watch), (gst_bus_add_watch_full),
16023         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
16024         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
16025         * gst/gstbus.h:
16026         Remove support for multiple GSources operating on different
16027         message types as it is too complex and unneeded when using
16028         signals.
16029         Added support for receiving signals from the bus.
16030
16031 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16032
16033         * docs/libs/tmpl/gstdataprotocol.sgml:
16034         * docs/manual/advanced-dataaccess.xml:
16035         * gst/elements/gstcapsfilter.c:
16036         * gst/gstutils.c:
16037           rename filter-caps to caps property
16038
16039 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16040
16041         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16042           More robust fraction string parsing.
16043
16044         * docs/pwg/appendix-porting.xml:
16045           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
16046
16047 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16048
16049         * gst/gstcaps.c: (gst_caps_do_simplify):
16050           Thou shalt not free a structure and then continue using it
16051           in the next loop iteration.
16052
16053         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
16054         (gst_caps_suite):
16055           Add test case for caps simplification.
16056
16057 2005-09-29  Wim Taymans  <wim@fluendo.com>
16058
16059         * check/gst/gstbin.c: (GST_START_TEST):
16060         Oops.
16061
16062 2005-09-29  Wim Taymans  <wim@fluendo.com>
16063
16064         * check/gst/gstbin.c: (GST_START_TEST):
16065         Add bus to bin.
16066
16067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
16068         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16069         (find_element), (gst_bin_sort_iterator_next),
16070         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16071         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16072         (gst_bin_change_state), (gst_bin_dispose):
16073         A bin does not have a bus, it gets the bus from the parent.
16074
16075         * gst/gstelement.c: (gst_element_requires_clock),
16076         (gst_element_provides_clock), (gst_element_is_indexable),
16077         (gst_element_is_locked_state), (gst_element_change_state),
16078         (gst_element_set_bus_func):
16079         Small cleanups.
16080
16081         * gst/gstpipeline.c: (gst_pipeline_class_init),
16082         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
16083         The pipeline provides a bus.
16084
16085 2005-09-28  Johan Dahlin  <johan@gnome.org>
16086
16087         * gst/gstmessage.c (gst_message_parse_state_changed): Use
16088         gst_structure_get_enum instead of gst_structure_get_int
16089
16090         * gst/gststructure.c (gst_structure_get_enum): Impl.
16091
16092         * gst/gststructure.h (gst_structure_get_enum): Add
16093
16094         * docs/gst/gstreamer-sections.txt: Ditto
16095
16096         * gst/gstmessage.c (gst_message_new_state_changed): Use
16097         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
16098         which does introspection.
16099         Reviewed by Christian Schaller
16100
16101 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16102
16103         * gst/gstinfo.c: (gst_debug_log_default):
16104           don't do dummy g_strdup()s
16105         * libs/gst/controller/gstcontroller.c:
16106         (on_object_controlled_property_changed),
16107         (gst_controlled_property_new), (gst_controller_new_valist),
16108         (gst_controller_new_list),
16109         (gst_controller_remove_properties_valist), (gst_controller_set),
16110         (gst_controller_get), (gst_controller_sync_values),
16111         (gst_controller_get_value_array), (_gst_controller_class_init),
16112         (gst_controller_get_type):
16113         * libs/gst/controller/gstcontroller.h:
16114         * libs/gst/controller/gstinterpolation.c:
16115         (gst_controlled_property_find_timed_value_node):
16116           convert // to /**/ comments
16117
16118 2005-09-28  Wim Taymans  <wim@fluendo.com>
16119
16120         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
16121         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
16122         (gst_bus_sync_signal_handler):
16123         * gst/gstbus.h:
16124         Added async-message and sync-message signals to the bus.
16125         Added helper BusFunc to emit signals for all posted messages.
16126
16127         * gst/gstmessage.c: (gst_message_type_get_name),
16128         (gst_message_type_to_quark), (gst_message_get_type):
16129         * gst/gstmessage.h:
16130         Register quarks for message names.
16131
16132 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16133
16134         * docs/libs/gstreamer-libs-sections.txt:
16135         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
16136         (gst_controller_new_list):
16137         * libs/gst/controller/gstcontroller.h:
16138           added another constructor for language bindings
16139
16140 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16141
16142         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16143           add another check
16144         * gst/gstbus.c:
16145           add some doc
16146         * gst/gstinfo.c: (_gst_debug_init):
16147           slightly more readable color for refcount debugging
16148
16149 2005-09-28  Wim Taymans  <wim@fluendo.com>
16150
16151         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16152         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16153         (find_element), (gst_bin_sort_iterator_next),
16154         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16155         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16156         (gst_bin_change_state), (gst_bin_dispose):
16157         Small doc fixes. get_clock -> provide_clock.
16158
16159         * gst/gstelement.c: (gst_element_class_init),
16160         (gst_element_provides_clock), (gst_element_provide_clock),
16161         (gst_element_get_clock), (gst_element_commit_state),
16162         (gst_element_lost_state):
16163         * gst/gstelement.h:
16164         Make get/set_clock() symetric. Add provide_clock vmethod since
16165         that is actually what this function does.
16166
16167         * gst/gstpipeline.c: (gst_pipeline_class_init),
16168         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
16169         (gst_pipeline_get_clock):
16170         get_clock -> provide_clock.
16171
16172 2005-09-28  Andy Wingo  <wingo@pobox.com>
16173
16174         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
16175         lieu of real docs...
16176
16177         * gst/elements/gstfdsrc.c: Cleaned up a bit.
16178
16179 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
16180
16181         * gst/elements/gstcapsfilter.c:
16182         * gst/elements/gstfakesink.c:
16183         * gst/elements/gstfakesrc.c:
16184         * gst/elements/gstfdsink.c:
16185         * gst/elements/gstfdsrc.c:
16186         * gst/elements/gstfilesink.c:
16187         * gst/elements/gstfilesrc.c:
16188         * gst/elements/gstidentity.c:
16189         * gst/elements/gsttee.c:
16190         * gst/elements/gsttypefindelement.c:
16191           Make element details static.
16192
16193 2005-09-28  Wim Taymans  <wim@fluendo.com>
16194
16195         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16196         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16197         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16198         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16199         (gst_bin_change_state), (gst_bin_dispose):
16200         Some documentation updates.
16201         Clean up dispose handlers.
16202
16203         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
16204         * gst/gstpad.c: (gst_pad_dispose):
16205         Clean up dispose handler.
16206
16207         * gst/gstpipeline.c: (gst_pipeline_change_state):
16208         Removed spurious UNLOCK.
16209
16210 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
16211
16212         * docs/gst/gstreamer-sections.txt:
16213         * gst/base/gstbasesrc.h:
16214         * gst/gstelement.h:
16215         * gst/gstevent.h:
16216         * gst/gstobject.h:
16217         * gst/gstpad.h:
16218         * gst/gstpipeline.c:
16219         * gst/gstpipeline.h:
16220         * gst/gstutils.h:
16221         * gst/gstxml.h:
16222           added two new functions to the docs
16223                 documents all undocumented GstXXXFlags
16224                 completed some incomplete docs 
16225
16226 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16227
16228         * gst/gstbin.c: (gst_bin_dispose):
16229         * gst/gstelement.c: (gst_element_dispose):
16230           remove now useless and leaky resurrection code in dispose
16231         * gst/base/gstbasesrc.c: (gst_base_src_init):
16232         * gst/gstelementfactory.c: (gst_element_factory_create):
16233         * gst/gstobject.c: (gst_object_set_parent):
16234           add some debugging
16235
16236 2005-09-27  Wim Taymans  <wim@fluendo.com>
16237
16238         * docs/design/part-TODO.txt:
16239         Update TODO.
16240
16241         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16242         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16243         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16244         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16245         (gst_bin_change_state):
16246         * gst/gstelement.h:
16247         Remove element variable, we keep element info in the iterator now.
16248
16249 2005-09-27  Andy Wingo  <wingo@pobox.com>
16250
16251         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
16252         values.
16253
16254 2005-09-27  Wim Taymans  <wim@fluendo.com>
16255
16256         * check/gst/gstbin.c: (GST_START_TEST):
16257         Enable check that works now.
16258
16259         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16260         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16261         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16262         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16263         (gst_bin_change_state):
16264         * gst/gstbin.h:
16265         Redid the state change algorithm using a topological sort algo.
16266         Handles all cases correctly.
16267         Exposed iterator for state change order.
16268
16269         * gst/gstelement.h:
16270         Temp storage for state changes. Need to get rid of this soon.
16271
16272 2005-09-27  Wim Taymans  <wim@fluendo.com>
16273
16274         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
16275         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
16276         (link_fold_func), (gst_pad_proxy_setcaps):
16277         Leak fixes, the fold functions need to unref the passed object and
16278         _get_parent_*() returns ref to parent.
16279
16280 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16281
16282         * check/gst/gstbuffer.c: (test_make_writable):
16283           Plug leak in test case and fix 'make check-valgrind'
16284
16285 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16286
16287         * gst/gstbuffer.c: (gst_subbuffer_init):
16288           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
16289           works correctly in all circumstances (we could have just copied
16290           the parent buffer's readonly flag, but conceptually it seems
16291           cleaner to mark all subbuffers as read-only). (based on patch
16292           by Alessandro Decina, #314710).
16293         
16294         * check/gst/gstbuffer.c: (create_read_only_buffer),
16295         (test_make_writable), (test_subbuffer_make_writable),
16296         (gst_test_suite):
16297           Add some tests for gst_buffer_make_writable().
16298
16299 2005-09-27  Wim Taymans  <wim@fluendo.com>
16300
16301         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
16302         use gst_object_has_ancestor().
16303
16304         * gst/gstobject.c: (gst_object_has_ancestor):
16305         * gst/gstobject.h:
16306         gst_object_has_ancestor() copied from gstbin.c as it is a
16307         useful function.
16308
16309         * tests/instantiate/create.c: (create_all_elements):
16310         * tests/lat.c: (handoff_src), (handoff_sink):
16311         * tests/sched/runxml.c: (main):
16312         * tests/seeking/seeking1.c: (main):
16313         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16314         (main):
16315         Fix compilation of some tests.
16316
16317 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16318
16319         * gst/gsterror.h:
16320           Remove comment. GST_TYPE_G_ERROR is here to stay,
16321           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
16322           (#316961, #300610).
16323
16324 2005-09-26  Wim Taymans  <wim@fluendo.com>
16325
16326         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16327         Added check that shows error in state change order.
16328
16329 2005-09-26  Wim Taymans  <wim@fluendo.com>
16330
16331         * gst/gstbin.c: (gst_bin_change_state):
16332         Make state change function use 3 queues again, we were
16333         adding elements in the wrong order.
16334
16335         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
16336         Some debug info,
16337
16338         * gst/gstpad.c: (gst_pad_dispose):
16339         Added some debug info first.
16340
16341 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
16342
16343         * docs/design/draft-push-pull.txt:
16344         * docs/design/part-events.txt:
16345         * docs/design/part-overview.txt:
16346         * docs/design/part-scheduling.txt:
16347           Replace all _pull_region() with _pull_range()
16348           
16349 2005-09-26  Andy Wingo  <wingo@pobox.com>
16350
16351         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
16352
16353         * check/gst-libs/controller.c: Update for controller api change.
16354
16355         * configure.ac: 
16356         * tests/Makefile.am:
16357         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
16358         over by GLib bug 118439.
16359         
16360         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
16361         routines to a function.
16362
16363         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
16364
16365         * libs/gst/controller/gsthelper.c:
16366         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
16367         (gst_object_sync_values): Renamed from sink_values. Ugh.
16368
16369         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
16370
16371         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
16372         Renamed from controller_key, as it is exported.
16373
16374         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
16375
16376 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16377
16378         * gst/Makefile.am:
16379         * gst/gst.h:
16380         * gst/gstpad.h:
16381         * gst/gstpadtemplate.h:
16382         * gst/gstquery.c:
16383         * gst/gstquery.h:
16384         * gst/gstqueryutils.c:
16385         * gst/gstqueryutils.h:
16386           remove queryutils headers after moving the two used functions
16387           to gstquery.  also fixes build problem for gstsiddec
16388
16389 2005-09-26  Michael Smith <msmith@fluendo.com>
16390
16391         * tools/gst-launch.1.in:
16392         Correct documentation in manpage of debug syntax
16393
16394 2005-09-26  Wim Taymans  <wim@fluendo.com>
16395
16396         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16397         (gst_base_src_is_seekable), (gst_base_src_change_state):
16398         Some more debugging info.
16399
16400 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16401
16402         * docs/gst/gstreamer-sections.txt:
16403         * gst/base/gstbasetransform.h:
16404         * gst/gstindex.h:
16405           added more docs
16406
16407 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16408
16409         * docs/gst/.cvsignore:
16410         * docs/gst/tmpl/.cvsignore:
16411         * docs/gst/tmpl/gstpipeline.sgml:
16412         * docs/gst/tmpl/gstplugin.sgml:
16413         * gst/gstpipeline.c:
16414         * gst/gstplugin.c:
16415         * gst/gstplugin.h:
16416           inlined the last two docs files
16417           removed the tmpl directory from cvs (no more conflicts here!)
16418
16419 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16420
16421         * docs/gst/gstreamer-sections.txt:
16422         * docs/gst/tmpl/.cvsignore:
16423         * docs/gst/tmpl/gstpad.sgml:
16424         * docs/gst/tmpl/gstpadtemplate.sgml:
16425         * gst/Makefile.am:
16426         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
16427         (gst_pad_finalize), (gst_pad_set_pad_template):
16428         * gst/gstpad.h:
16429         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
16430         (gst_pad_template_class_init), (gst_pad_template_init),
16431         (gst_pad_template_dispose), (name_is_valid),
16432         (gst_static_pad_template_get), (gst_pad_template_new),
16433         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
16434         (gst_pad_template_pad_created):
16435         * gst/gstpadtemplate.h:
16436           inlined two more docs
16437           factored gstpadtemplate out of gstpad
16438
16439 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
16440
16441         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16442         (test_children_state_change_order_semi_sink):
16443           Fix test case: we can't rely on a fixed state change order when
16444           going from READY => PAUSED because the sink might commit its 
16445           new state first when the first buffer created by the source 
16446           reaches the sink before the source has finished its change state.
16447           (Test case still fails at times, see #316856, comment 5 onwards)
16448
16449 2005-09-24  Wim Taymans  <wim@fluendo.com>
16450
16451         * docs/design/part-events.txt:
16452         * docs/design/part-gstbus.txt:
16453         * docs/design/part-gstpipeline.txt:
16454         * docs/design/part-messages.txt:
16455         * docs/design/part-overview.txt:
16456         * docs/design/part-segments.txt:
16457         * gst/gstbin.c:
16458         * gst/gstbuffer.c:
16459         * gst/gstclock.c:
16460         * gst/gstelement.c:
16461         * gst/gstevent.c:
16462         * gst/gstfilter.c:
16463         * gst/gstiterator.c:
16464         Various documentation updates.
16465
16466 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16467
16468         * gst/gstclock.h:
16469           Well, that's embarassing.  Luckily we weren't using
16470           GST_CLOCK_DIFF anywhere.
16471
16472 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16473
16474         * common/gtk-doc.mak:
16475           don't fail on building XML, FC4 slave shows a bunch of doc
16476           missing bits that I don't get
16477         * gst/gstpad.c:
16478         * gst/gstpipeline.c:
16479         * gst/gststructure.c:
16480           some doc updates
16481
16482 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16483
16484         * docs/design/part-gstbin.txt:
16485         * docs/design/part-gstbus.txt:
16486         * gst/gstbus.c:
16487           Add blurb about how the bus goes into flushing mode and
16488           drops all messages when its bin goes from READY into NULL 
16489           state.
16490
16491 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16492
16493         * docs/gst/gstreamer-sections.txt:
16494         * gst/gststructure.c: (gst_structure_get_clock_time):
16495         * gst/gststructure.h:
16496           add a method to get a GstClockTime out of a structure
16497
16498 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16499
16500         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16501         (test_children_state_change_order_semi_sink), (gst_bin_suite):
16502           Added test to check state change order in bins (can still be made
16503           to fail here under heavy disk load; bails out with 'Push on pad
16504           fakesink:sink0, but it was not activated in push mode').
16505
16506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
16507           Fix state change order when there is only a semi sink (#316856)
16508
16509         * gst/gstbus.c: (gst_bus_class_init):
16510           Use _class_peek_parent(), not _class_ref(); fix docs to say
16511           'default main context' instead of 'mainloop' where that is
16512           what's meant.
16513
16514         * gst/gstelement.c: (gst_element_commit_state),
16515         (gst_element_set_state):
16516           Fix typos in debug messages
16517
16518 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16519
16520         * docs/README:
16521         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
16522         * gst/gstpluginfeature.c:
16523         * gst/gstutils.c:
16524           various doc updates
16525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16526           change an assert into an error until it gets fixed properly
16527
16528 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
16529
16530         * docs/gst/gstreamer-sections.txt:
16531         * docs/gst/tmpl/.cvsignore:
16532         * docs/gst/tmpl/gstelement.sgml:
16533         * docs/gst/tmpl/gstinfo.sgml:
16534         * docs/gst/tmpl/gstobject.sgml:
16535         * gst/gstelement.c:
16536         * gst/gstelement.h:
16537         * gst/gstinfo.c:
16538         * gst/gstinfo.h:
16539         * gst/gstobject.c: (gst_object_class_init):
16540         * gst/gstobject.h:
16541           inlined 3 more biiiig doc files and added some missing docs on the fly
16542
16543 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16544
16545         * check/gst/.cvsignore:
16546         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
16547         * gst/gstregistryxml.c: (load_plugin),
16548         (gst_registry_xml_save_plugin):
16549           put back source in registry.  add checks for find_plugin.
16550         * testsuite/states/bin.c: (assert_state), (empty_bin),
16551         (test_adding_one_element), (main):
16552         * testsuite/states/locked.c: (main):
16553           some compile/run fixes
16554
16555 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16556
16557         * check/gst/gstvalue.c: (GST_START_TEST):
16558           fix leaks in the test itself
16559
16560 2005-09-22  Wim Taymans  <wim@fluendo.com>
16561
16562         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16563         (gst_base_sink_send_event), (gst_base_sink_peer_query),
16564         (gst_base_sink_query):
16565         Prepare for more accurate position reporting and query
16566         handling.
16567
16568         * gst/gstelement.c: (gst_element_send_event),
16569         (gst_element_set_state):
16570         Add some comment.
16571
16572 2005-09-22  Wim Taymans  <wim@fluendo.com>
16573
16574         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
16575         (gst_query_parse_segment):
16576         * gst/gstquery.h:
16577         More documentation.
16578         Add segment query for future use.
16579
16580 2005-09-22  Wim Taymans  <wim@fluendo.com>
16581
16582         * gst/gstbin.c: (gst_bin_add_func):
16583         Some more debug info.
16584
16585         * gst/gstelement.c: (gst_element_send_event):
16586         Simplify send_event
16587
16588         * gst/gstelement.h:
16589         Don't know how flags got broken.
16590
16591         * gst/gstquery.h:
16592         Added new query.
16593
16594 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16595
16596         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
16597           Add simplistic test suite for GST_TYPE_DATE serialisation and
16598           deserialisation.
16599
16600 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16601
16602         * docs/gst/gstreamer-sections.txt:
16603         * gst/gststructure.c: (gst_structure_set_valist),
16604         (gst_structure_get_date):
16605         * gst/gststructure.h:
16606         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
16607         (gst_date_copy), (gst_value_compare_date),
16608         (gst_value_serialize_date), (gst_value_deserialize_date),
16609         (gst_value_transform_date_string),
16610         (gst_value_transform_string_date), (_gst_value_initialize):
16611         * gst/gstvalue.h:
16612           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
16613           bunch of utility functions along with a hack that checks that
16614           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
16615           is required. Part of the grand scheme in #170777.
16616
16617 2005-09-22  Andy Wingo  <wingo@pobox.com>
16618
16619         * gst/gstconfig.h.in: Psych out gtk-doc.
16620
16621         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
16622
16623         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
16624
16625         * tools/gst-inspect.c (print_element_list): Plug some
16626         inconsequential leaks.
16627
16628         * gst/gstregistry.c (gst_registry_get_default): Doc.
16629
16630         * check/gst/gstplugin.c: 
16631         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
16632         * gst/gstelementfactory.c (gst_element_factory_create): 
16633         * gst/gstindexfactory.c (gst_index_factory_create): Update for
16634         refcount changes.
16635
16636         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
16637         (gst_plugin_feature_load): Doc, don't eat refs.
16638
16639         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
16640         (gst_plugin_list_free): Doc.
16641         (gst_plugin_load_file): Doc updates.
16642
16643         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
16644         accessors returning refcounted objects, return a ref.
16645
16646         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
16647         accessor for caps. IDEMPOTENCE. Oh yes.
16648
16649 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
16650
16651         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16652
16653         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16654         (_gst_debug_register_funcptr):
16655           Add mutex to serialise access to the hash table with
16656           the function pointer => function name string mapping;
16657           make that hash table static scope (#316809).
16658
16659         * gst/registries/.cvsignore:
16660           Remove left-over file.
16661
16662 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16663
16664         * docs/pwg/appendix-porting.xml:
16665           And something about newsegment events and caps-on-buffers to
16666           the porting guide (feel free to improve).
16667
16668 2005-09-21  Andy Wingo  <wingo@pobox.com>
16669
16670         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
16671         data and event probes on the same pad.
16672         (test_buffer_probe_once): Test that removing probes from within
16673         the probe functions works.
16674
16675 2005-09-21  Andy Wingo  <wingo@pobox.com>
16676
16677         * check/gst/gstutils.c: New file.
16678         (test_buffer_probe_n_times): A simple buffer probe test. More to
16679         come, foolios.
16680
16681         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16682         have-data::buffer, not have-data.
16683         (gst_pad_add_event_probe): Likewise for have-data::event.
16684         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16685         peer' isn't quite right yet though.
16686         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16687         (gst_pad_remove_data_probe): Change to take the guint handler_id
16688         as their arg, not the function+data, which is more glib-like.
16689
16690         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16691         the signal emission to indicate if the data is a buffer or an
16692         event.
16693         (gst_pad_get_type): Initialize buffer and event quarks.
16694         (gst_pad_class_init): have-data is now a detailed signal, yes it
16695         is.
16696
16697 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16698
16699         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16700         * gst/gstutils.c: (gst_util_set_value_from_string),
16701         (gst_util_set_object_arg):
16702           Don't put functional code in g_return_if_fail() or
16703           g_return_val_if_fail() statements, otherwise things will 
16704           break when G_DISABLE_CHECKS is defined during compilation.
16705
16706 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16707
16708         * docs/gst/tmpl/.cvsignore:
16709         * docs/gst/tmpl/gstvalue.sgml:
16710         * gst/gstvalue.c:
16711         * gst/gstvalue.h:
16712           inlied another one and added  some obvious docs
16713
16714 2005-09-21  Wim Taymans  <wim@fluendo.com>
16715
16716         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16717         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16718         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16719         (gst_fdsrc_get_property), (gst_fdsrc_create):
16720         * gst/elements/gstfdsrc.h:
16721         Properly implement fdsrc. Removed signal and timeout,
16722         better implemented somewhere else.
16723
16724 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16725
16726         * docs/gst/tmpl/.cvsignore:
16727         * docs/gst/tmpl/gstimplementsinterface.sgml:
16728         * gst/gstinterface.c:
16729           inlined more docs
16730
16731 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16732
16733         * docs/gst/gstreamer-sections.txt:
16734         * docs/gst/tmpl/.cvsignore:
16735         * docs/gst/tmpl/gstenumtypes.sgml:
16736           remove obsolete doc file
16737
16738 2005-09-21  David Schleef  <ds@schleef.org>
16739
16740         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16741         little beer, fix a little leak.
16742
16743 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16744
16745         * docs/gst/gstreamer-docs.sgml:
16746         * docs/gst/gstreamer-sections.txt:
16747         * docs/gst/tmpl/.cvsignore:
16748         * gst/Makefile.am:
16749         * gst/gst.h:
16750         * gst/gstbin.c:
16751         * gst/gstelement.h:
16752         * gst/gstindex.c: (gst_index_class_init):
16753         * gst/gstindex.h:
16754         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16755         (gst_index_factory_class_init), (gst_index_factory_init),
16756         (gst_index_factory_finalize), (gst_index_factory_new),
16757         (gst_index_factory_destroy), (gst_index_factory_find),
16758         (gst_index_factory_create), (gst_index_factory_make):
16759         * gst/gstindexfactory.h:
16760         * gst/gstpluginfeature.c:
16761         * gst/gstpluginfeature.h:
16762         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16763           more docs inlined, splitted gstindex.{c,h}
16764
16765 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16766
16767         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16768           fix a leak
16769
16770 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16771
16772         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16773           Set sync to FALSE by default.
16774
16775 2005-09-20  Wim Taymans  <wim@fluendo.com>
16776
16777         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16778         (gst_base_sink_init):
16779         Make sync property settable from subclass.
16780
16781         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16782         (gst_fake_sink_change_state):
16783         Set sync to FALSE by default.
16784
16785 2005-09-20  Wim Taymans  <wim@fluendo.com>
16786
16787         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16788         * tools/gst-launch.c: (main):
16789         The timeout handler should have lower priority than the source
16790         so we don't timeout before popping a message with 0 timeout.
16791         Dump error messages after failed state change.
16792
16793 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16794
16795         * tools/gst-inspect.c: (print_element_properties_info):
16796           Fix two typos.
16797
16798 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16799
16800         * check/gst/gstevent.c:
16801         * gst/elements/gstfakesink.c:
16802         * gst/elements/gstfakesink.h:
16803           remove the sync property from fakesink.
16804           has the side effect of setting sync TRUE
16805           for fakesink, which is a change.  Anyone who knows how
16806           to fix this nicely in a GObject-y way, feel free.
16807
16808 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16809
16810         * docs/gst/gstreamer-docs.sgml:
16811           remove probe refsection
16812
16813 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16814
16815         * check/Makefile.am:
16816           disable valgrinding the controller test again
16817         * docs/gst/gstreamer-sections.txt:
16818           update for api-changes
16819
16820 2005-09-20  Wim Taymans  <wim@fluendo.com>
16821
16822         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16823         (gst_base_sink_set_property), (gst_base_sink_get_property),
16824         (gst_base_sink_do_sync):
16825         * gst/base/gstbasesink.h:
16826         Added sync property to basesink to disable clock sync.
16827
16828 2005-09-20  Andy Wingo  <wingo@pobox.com>
16829
16830         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16831         eating the caller's refcount.
16832
16833         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16834         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16835         refcount.
16836
16837         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16838         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16839         of GLib 2.8 public, so we can know which refcount to check in
16840         tests.
16841
16842         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16843         (gst_object_init): Only set the gst refcount if we're going ahead
16844         with the refcount hack.
16845
16846 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16847
16848         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16849         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16850           more leaks plumbed, added more debug-logging
16851         * gst/gstmacros.h:
16852           whitespace fix
16853
16854 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16855
16856         * gst/gstmessage.c:
16857           remove include of gstmemchunk.h
16858
16859 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16860
16861         * gst/gstclock.c: (_gst_clock_id_free):
16862           Commit from the Political Party For More Atomic CVS Commits,
16863           so that people don't waste too much of their day fishing
16864           out obvious leaks out of massive commits.
16865           Oh, and fix a pretty damn obvious leak in the memchunk
16866           removal code.
16867
16868 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16869
16870         * check/Makefile.am:
16871         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16872           plug mem-leak, re-add to valgrindable tests
16873
16874 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16875
16876         * gst/gstplugin.h:
16877           unbreak the build for those who have chronic arthritis
16878           and typing "make check" is just too taxing on the hands
16879
16880 2005-09-20  Andy Wingo  <wingo@pobox.com>
16881
16882         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16883         really want it out, you should fix plugins at the same time.
16884
16885 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16886
16887         * configure.ac:
16888         * docs/gst/gstreamer-sections.txt:
16889         * gst/gstobject.c:
16890           added missing symbols to api docs
16891           disable ref-count hack if we have glib >= 2.8
16892
16893 2005-09-19  David Schleef  <ds@schleef.org>
16894
16895         * docs/gst/Makefile.am: Ignore a few more internal headers
16896         * docs/gst/gstreamer-docs.sgml: Remove old sections
16897         * docs/gst/gstreamer-sections.txt: Remove old sections
16898         * docs/gst/tmpl/gstobject.sgml: update
16899         * docs/gst/tmpl/gstplugin.sgml: update
16900         * docs/gst/tmpl/gstpluginfeature.sgml: update
16901         * docs/random/ds/0.9-suggested-changes: update.
16902         * gst/Makefile.am: remove memchunk and trashstack, since they're
16903           not used.
16904         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16905         * gst/gst.h: don't include some headers
16906         * gst/gstchildproxy.c: add gstmarshal.h
16907         * gst/gstclock.c: Don't use memchunks
16908         * gst/gstminiobject.c: Add some docs
16909         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16910         * gst/gstobject.h: same
16911         * gst/gstplugin.c: include gstmacros.h
16912         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16913         * gst/gstquery.c: don't use memchunks
16914         * gst/gstregistry.c: rename gst_registry_deinit()
16915         * gst/gstregistry.h: same
16916
16917 2005-09-19  David Schleef  <ds@schleef.org>
16918
16919         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16920         * docs/libs/gstreamer-libs-sections.txt:
16921         * docs/libs/tmpl/gstgetbits.sgml:
16922         * docs/libs/tmpl/gstputbits.sgml:
16923
16924 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16925
16926         * win32/gstenumtypes.c:
16927         * win32/gstenumtypes.h:
16928           Update.
16929
16930 2005-09-19  Wim Taymans  <wim@fluendo.com>
16931
16932         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16933         Automatically PAUSE and RESUME a pipeline when a flushing seek
16934         is performed.
16935
16936 2005-09-19  Andy Wingo  <wingo@pobox.com>
16937
16938         * gst/gstregistry.h: Spacing fixen.
16939
16940 2005-09-19  Wim Taymans  <wim@fluendo.com>
16941
16942         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16943         Handle state change failure more correctly.
16944
16945 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16946
16947         * check/Makefile.am:
16948         * check/pipelines/cleanup.c: (run_pipeline):
16949         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16950         (GST_START_TEST):
16951           enable cleanup again after fixing the leak
16952         * docs/README:
16953           some more info on docs
16954
16955 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16956
16957         * check/Makefile.am:
16958           re-enable tests now that leaks are plugged
16959         * check/gst/gst.c:
16960         * check/gst/gstbin.c:
16961         * check/gst/gstpipeline.c:
16962           add some more tests while fixing leaks
16963         * common/check.mak:
16964           make sure binaries are uptodate when valgrinding/gdbing
16965         * gst/gst.c:
16966         * gst/gstelementfactory.c:
16967           remove a ref too many, and add a FIXME for when we get
16968           round to disposing of classes
16969         * gst/gstplugin.c:
16970           fix the refcounting when loading a plugin from a file and
16971           the code pretends that the pointer is the same even though
16972           of course it can change
16973         * gst/gstpluginfeature.c:
16974           unref plugins marked cached (a bit confusing as a name)
16975           as the docs state should be done
16976           various doc additions to explain refcounting
16977         * gst/gstregistry.c:
16978         * gst/gstregistryxml.c:
16979           debugging
16980
16981 2005-09-19  Wim Taymans  <wim@fluendo.com>
16982
16983         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16984         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16985         (send_messages), (GST_START_TEST), (gstbus_suite):
16986         * check/gst/gstpipeline.c: (GST_START_TEST):
16987         * check/pipelines/cleanup.c: (run_pipeline):
16988         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16989         (GST_START_TEST):
16990         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16991         (gst_bus_source_check), (gst_bus_source_dispatch),
16992         (gst_bus_create_watch), (gst_bus_add_watch_full),
16993         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16994         * gst/gstbus.h:
16995         * tools/gst-launch.c: (event_loop):
16996         * tools/gst-md5sum.c: (event_loop):
16997         GstBusHandler -> GstBusFunc, return value has the same meaning as
16998         any other GSource (FALSE == remove source).
16999         _add_watch() and _add_watch_full() now take a MessageType mask to
17000         only handle specific types of messages.
17001         _poll() returns the GstMessage instead of the message type to avoid
17002         race conditions.
17003         _have_pending() takes a MessageType mask now too.
17004         Added testsuite for multiple bus watches.
17005         Fix testsuites and applications for new bus API.
17006
17007 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17008
17009         * check/Makefile.am:
17010           mark a bunch of the tests as to fix until we fix them
17011
17012 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17013
17014         * common/check.mak:
17015           use GST_PLUGIN settings for valgrind tests as well, so we're
17016           valgrinding the correct thing
17017         * gst/gst.c: (init_post):
17018           plug another leak
17019
17020 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17021
17022         * gst/gst.c: (init_post), (gst_deinit):
17023         * gst/gstelementfactory.c: (gst_element_factory_class_init),
17024         (gst_element_factory_finalize), (gst_element_factory_cleanup):
17025         * gst/gstindex.c: (gst_index_factory_class_init),
17026         (gst_index_factory_finalize):
17027         * gst/gstobject.c: (gst_object_dispose):
17028         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
17029         (gst_plugin_load_file), (gst_plugin_desc_free):
17030         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
17031         (gst_plugin_feature_finalize):
17032         * gst/gstregistry.c: (gst_registry_class_init),
17033         (gst_registry_init), (gst_registry_finalize),
17034         (gst_registry_get_default), (gst_registry_deinit):
17035         * gst/gstregistry.h:
17036         * gst/gstregistryxml.c: (load_feature), (load_plugin):
17037           various cleanups and memleak plugging.  make valgrind is happy now.
17038
17039 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17040
17041         * common/check.mak:
17042           add a check-valgrind target
17043
17044 2005-09-18  David Schleef  <ds@schleef.org>
17045
17046         * tools/gst-inspect.c: Revert the GOption code.
17047
17048 2005-09-17  David Schleef  <ds@schleef.org>
17049
17050         * check/Makefile.am: Fix environment variables.
17051         * check/gst/gstplugin.c: Fix for API changes.
17052         * tools/gst-inspect.c: Fix for API changes.
17053         * tools/gst-xmlinspect.c: Fix for API changes.
17054         * gst/gstelementfactory.c:
17055         * gst/gstplugin.c:
17056         * gst/gstplugin.h:
17057         * gst/gstpluginfeature.c:
17058         * gst/gstpluginfeature.h:
17059         * gst/gstregistry.c:
17060         * gst/gstregistry.h:
17061         * gst/gstregistryxml.c:
17062         * gst/gsttypefind.c:
17063         * gst/gsttypefindfactory.c:
17064         * gst/indexers/gstfileindex.c:
17065         * gst/indexers/gstmemindex.c:
17066         * gst/schedulers/Makefile.am:
17067           Change registry to keep track of both plugins and features,
17068           removing the feature tracking from plugins themselves.
17069
17070 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17071
17072         * check/Makefile.am:
17073         * tools/gst-register.1.in:
17074           remove gst-register
17075
17076 2005-09-15  David Schleef  <ds@schleef.org>
17077
17078         * check/gst/gstplugin.c:
17079         * gst/gstelementfactory.c:
17080         * gst/gstplugin.c:
17081         * gst/gstpluginfeature.c:
17082         * gst/gstregistry.c:
17083           Getting tired of debugging.  Disabled all the unreffing of
17084           plugins and features, which fixes the segfaults, but of
17085           course leaks like crazy.  At least playbin works.
17086
17087 2005-09-15  David Schleef  <ds@schleef.org>
17088
17089         * check/gst/gstplugin.c: (register_check_elements),
17090         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
17091         More testing
17092         * gst/elements/gsttypefindelement.c: Fix refcounting.
17093         * gst/gsttypefind.c:
17094         * gst/gsttypefindfactory.c:
17095         * gst/gsttypefindfactory.h:
17096
17097 2005-09-15  David Schleef  <ds@schleef.org>
17098
17099         * gst/gstindex.c: get refcounting correct.
17100         * gst/gstregistry.c: Handle the case where a feature/plugin is
17101           not found.
17102
17103 2005-09-15  David Schleef  <ds@schleef.org>
17104
17105         * check/Makefile.am:
17106         * check/gst/gstplugin.c: Add test
17107         * gst/gstplugin.c: Fix problems noticed by testsuite
17108         * gst/gstplugin.h:
17109         * gst/gstregistry.c: 
17110         * gst/gstregistry.h:
17111
17112 2005-09-15  David Schleef  <ds@schleef.org>
17113
17114         * gst/gstplugin.c: Implement semi-decent recounting and locking
17115           in plugins and plugin features.
17116         * gst/gstplugin.h:
17117         * gst/gstpluginfeature.c:
17118         * gst/gstpluginfeature.h:
17119         * gst/gstregistry.c:
17120
17121 2005-09-15  Michael Smith <msmith@fluendo.com>
17122
17123         * gst/gstregistry.c: (gst_registry_get_feature_list):
17124           Implement this. Makes oggdemux work; decodebin still broken.
17125
17126 2005-09-14  David Schleef  <ds@schleef.org>
17127
17128         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
17129           #316076)
17130         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
17131         * gst/check/Makefile.am:
17132         * libs/gst/controller/Makefile.am:
17133         * libs/gst/dataprotocol/Makefile.am:
17134
17135 2005-09-14  David Schleef  <ds@schleef.org>
17136
17137         * configure.ac: Remove getbits library.  Nothing uses it, and
17138           it should be in something like liboil if someone did want
17139           to use it.
17140         * libs/gst/Makefile.am:
17141         * libs/gst/getbits/Makefile.am:
17142         * libs/gst/getbits/gbtest.c:
17143         * libs/gst/getbits/getbits.c:
17144         * libs/gst/getbits/getbits.h:
17145         * libs/gst/getbits/gstgetbits_generic.c:
17146         * libs/gst/getbits/gstgetbits_i386.s:
17147         * libs/gst/getbits/gstgetbits_inl.h:
17148
17149 2005-09-14  David Schleef  <ds@schleef.org>
17150
17151         * gst/Makefile.am: Dist glib-compat.h
17152
17153 2005-09-14  David Schleef  <ds@schleef.org>
17154
17155         * configure.ac: Remove gst/registries, since it's no longer used.
17156         * gst/registries/Makefile.am:
17157         * gst/registries/gstlibxmlregistry.c:
17158         * gst/registries/gstlibxmlregistry.h:
17159         * gst/registries/gstxmlregistry.c:
17160         * gst/registries/gstxmlregistry.h:
17161         * gst/registries/registrytest.c:
17162
17163 2005-09-14  David Schleef  <ds@schleef.org>
17164
17165         * gst/glib-compat.h:
17166         * gst/gstregistryxml.c:
17167           Convergence is near.  Seriously.
17168
17169 2005-09-14  David Schleef  <ds@schleef.org>
17170
17171         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17172         * gst/glib-compat.h:
17173           Attempt #4 to appease the buildbots.
17174
17175 2005-09-14  David Schleef  <ds@schleef.org>
17176
17177         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17178           Attempt #3.
17179
17180 2005-09-14  David Schleef  <ds@schleef.org>
17181
17182         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17183         Attempt #2.
17184
17185 2005-09-14  David Schleef  <ds@schleef.org>
17186
17187         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
17188           the new functions.
17189
17190 2005-09-14  David Schleef  <ds@schleef.org>
17191
17192         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17193         * gst/glib-compat.h: Add some functions that are in newer versions
17194           of glib than we care to require.
17195         * gst/gstregistryxml.c: Use them.
17196
17197 2005-09-14  David Schleef  <ds@schleef.org>
17198
17199         * po/POTFILES.in: remove gst-register.c
17200
17201 2005-09-14  David Schleef  <ds@schleef.org>
17202
17203         * docs/gst/gstreamer-docs.sgml:
17204         * docs/gst/gstreamer-sections.txt:
17205         * docs/gst/gstreamer.types:
17206         * docs/gst/tmpl/gstelement.sgml:
17207         * docs/gst/tmpl/gstplugin.sgml:
17208         * docs/gst/tmpl/gstpluginfeature.sgml:
17209           Documentation updates for registry changes.
17210
17211 2005-09-14  David Schleef  <ds@schleef.org>
17212
17213         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
17214           because we don't require glib-2.8.
17215
17216 2005-09-14  David Schleef  <ds@schleef.org>
17217
17218         * gst/gstregistryxml.c: Added.  Essentially moved out of the
17219           registries directory.
17220
17221 2005-09-14  David Schleef  <ds@schleef.org>
17222
17223         * check/Makefile.am:
17224         * check/generic/states.c:
17225         * gst/Makefile.am:
17226         * gst/gst.c:
17227         * gst/gst.h:
17228         * gst/gst_private.h:
17229         * gst/gstelementfactory.c:
17230         * gst/gstindex.c:
17231         * gst/gstinfo.c:
17232         * gst/gstplugin.c:
17233         * gst/gstplugin.h:
17234         * gst/gstpluginfeature.c:
17235         * gst/gstpluginfeature.h:
17236         * gst/gstregistry.c:
17237         * gst/gstregistry.h:
17238         * gst/gstregistrypool.c: remove
17239         * gst/gstregistrypool.h: remove
17240         * gst/gsttypefind.c:
17241         * gst/gsttypefindfactory.c:
17242         * gst/gsturi.c:
17243         * tools/Makefile.am:
17244         * tools/gst-compprep.c:
17245         * tools/gst-inspect.c:
17246         * tools/gst-register.c: remove
17247         * tools/gst-xmlinspect.c:
17248           Registry rewrite.  Changes registry from being a file created
17249           by a tool into a simple cache file created automatically by 
17250           libgstreamer.  Removed gst-register (because it's no longer
17251           needed).  Remove registry pools, because we only have one
17252           registry implementation (XML).  Fix up other subsystems as
17253           necessary.
17254
17255 2005-09-13  Michael Smith <msmith@fluendo.com>
17256
17257         * gst/gstconfig.h.in:
17258           Don't Use windows linking attributes for MinGW. Fixes #316157
17259
17260 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17261
17262         * gst/gstutils.c: (set_state_async_thread_func),
17263         (gst_element_set_state_async):
17264           Apparently people think it's better if this function doesn't
17265           try to set the state to whatever state was asked for on the first
17266           call to this function for any object.  Seriously.
17267
17268 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17269
17270         * check/gst/gstpipeline.c: (GST_START_TEST):
17271         * docs/gst/gstreamer-sections.txt:
17272         * gst/gstutils.c: (set_state_async_thread_func),
17273         (gst_element_set_state_async):
17274         * gst/gstutils.h:
17275           add a "gst_element_set_state_async" method that
17276           sets the state and starts a thread to make sure the state
17277           change completes as best as it can
17278
17279 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17280
17281         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17282           codify design+behaviour in testsuite after discussion
17283
17284 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17285
17286         * docs/gst/tmpl/gstelement.sgml:
17287         * docs/manual/appendix-quotes.xml:
17288           add a quote
17289         * gst/gstelement.c: (gst_element_set_state):
17290           add some debug
17291
17292 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
17293
17294         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17295         (gst_base_transform_prepare_output_buf),
17296         (gst_base_transform_handle_buffer):
17297         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
17298         (gst_capsfilter_prepare_buf):
17299           Remove the requirement for sub-classes to call the parent
17300           implementation of prepare_output_buffer with a wrapper function.
17301           
17302         * gst/gsttaglist.h:
17303         * gst/gsttagsetter.h:
17304           Fix #define wrapper
17305
17306 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
17307
17308         * docs/gst/gstreamer-sections.txt:
17309           more doc cleanups
17310
17311 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17312
17313         * docs/gst/gstreamer-sections.txt:
17314         * docs/gst/tmpl/gstelement.sgml:
17315         * docs/gst/tmpl/gstplugin.sgml:
17316         * gst/gstminiobject.c:
17317         * gst/gstvalue.h:
17318           docs now stop throwing warnings
17319
17320 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17321
17322         * docs/gst/gstreamer-sections.txt:
17323         * docs/gst/gstreamer.types:
17324         * docs/gst/tmpl/gstpad.sgml:
17325         * docs/gst/tmpl/gsttypes.sgml:
17326         * gst/base/gstadapter.h:
17327         * gst/base/gstbasesink.h:
17328         * gst/base/gstbasesrc.h:
17329         * gst/gstbin.h:
17330         * gst/gstbuffer.h:
17331         * gst/gstbus.h:
17332         * gst/gstcaps.h:
17333         * gst/gstclock.h:
17334         * gst/gstelement.h:
17335         * gst/gstevent.h:
17336         * gst/gstmessage.h:
17337         * gst/gstpad.h:
17338         * gst/gststructure.c:
17339         * gst/registries/gstlibxmlregistry.h:
17340           various documentation fixes
17341
17342 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17343
17344         * docs/gst/gstreamer-sections.txt:
17345         * docs/gst/tmpl/gstvalue.sgml:
17346           rearrange gstvalue section
17347         * gst/gstutils.c: (gst_element_state_get_name):
17348           NONE -> VOID
17349         * gst/gstvalue.c: (_gst_value_initialize):
17350         * gst/gstvalue.h:
17351           doc updates
17352
17353 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
17354
17355         * check/gst-libs/controller.c:
17356           Header include fix.
17357         * gst/base/gstbasetransform.c:
17358         (gst_base_transform_default_prepare_buf),
17359         (gst_base_transform_handle_buffer):
17360         * gst/base/gstbasetransform.h:
17361           Some more basetransform changes and fixes to enable sub-classes
17362           that modify buffer metadata only.
17363         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17364         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
17365         (gst_capsfilter_prepare_buf):
17366           If the output pad has fixed allowed caps and input buffers 
17367           don't have any, set the fixed caps on outgoing buffers.
17368
17369 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
17370         * check/elements/identity.c: (GST_START_TEST):
17371           Make the error a little clearer when the test fails because
17372           identity made a copy of the buffer.
17373         * docs/gst/gstreamer-sections.txt:
17374           New symbols in gstbasetransform.h
17375         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17376         (gst_base_transform_init), (gst_base_transform_transform_size),
17377         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17378         (gst_base_transform_default_prepare_buf),
17379         (gst_base_transform_get_unit_size),
17380         (gst_base_transform_buffer_alloc),
17381         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
17382         (gst_base_transform_change_state),
17383         (gst_base_transform_set_passthrough),
17384         (gst_base_transform_set_in_place),
17385         (gst_base_transform_is_in_place):
17386         * gst/base/gstbasetransform.h:
17387           Change BaseTransform to separate in_place operate from same_caps
17388           output. in_place implies that the element can perform the transform
17389           on incoming buffers in-place, even if the caps on the output are
17390           different.
17391           Sub-class elements can now implement special buffer allocation
17392           methods for outgoing buffers if they wish to.
17393           Big documentation addition.
17394         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
17395         * gst/elements/gstelements.c:
17396           Changes for basetransform modifications.
17397         * gst/elements/Makefile.am:
17398         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
17399           Compile fix. Extra debug output.
17400
17401 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17402
17403         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
17404         (gst_pad_suite):
17405           add tests for valid pad naming
17406         * gst/check/gstcheck.c: (gst_check_log_message_func),
17407         (gst_check_log_critical_func):
17408           add ASSERT_WARNING
17409           remove printing of code, it is fragile when the code contains
17410           % and the line number is enough info
17411         * gst/check/gstcheck.h:
17412         * gst/gstpad.c: (gst_pad_template_new):
17413           fix memleaks
17414
17415 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17416
17417         * configure.ac:
17418           say what CHECK flags we use
17419         * docs/libs/gstreamer-libs.types:
17420         * libs/gst/controller/Makefile.am:
17421         * libs/gst/controller/gst-controller.c:
17422         * libs/gst/controller/gst-controller.h:
17423         * libs/gst/controller/gst-helper.c:
17424         * libs/gst/controller/gst-interpolation.c:
17425         * libs/gst/controller/gstcontroller.c:
17426         * libs/gst/controller/gsthelper.c:
17427         * libs/gst/controller/gstinterpolation.c:
17428         * tools/gst-inspect.c: (print_plugin_info):
17429           we don't use dashes in header names
17430
17431 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17432
17433         * check/Makefile.am:
17434         * check/gst/.cvsignore:
17435         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
17436         (gst_pipeline_suite), (main):
17437           adding a test for pipelines and state changes
17438         * gst/gstutils.c: (get_state_func):
17439           add some debugging
17440         * gstreamer.spec.in:
17441           fix up spec file
17442
17443 2005-09-08  Michael Smith <msmith@fluendo.com>
17444
17445         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
17446         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
17447         (gst_file_src_is_seekable), (gst_file_src_get_size),
17448         (gst_file_src_start):
17449         * gst/elements/gstfilesrc.h:
17450           Various fixes for unseekable, unmmapable, and non-normal files, so
17451           that fallback to read() rather than mmap() works.
17452         * gst/gstevent.c: (gst_event_new_newsegment):
17453           Allow newsegment events with segment_start == segment_end, as will
17454           correctly happen if you use filesrc on a zero-size file, for
17455           example.
17456
17457 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17458
17459         * gst/gstplugin.c: (gst_plugin_load_file):
17460           Call g_module_close when we don't load the module
17461
17462         * gst/registries/gstlibxmlregistry.c:
17463         (gst_xml_registry_get_property):
17464           Port leak fix from 0.8
17465
17466 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17467
17468         * docs/gst/gstreamer-docs.sgml:
17469         * docs/gst/tmpl/.cvsignore:
17470         * docs/gst/tmpl/gsttrace.sgml:
17471         * docs/gst/tmpl/gsttrashstack.sgml:
17472         * gst/Makefile.am:
17473         * gst/gst.h:
17474         * gst/gstelement.h:
17475         * gst/gstevent.h:
17476         * gst/gstmessage.c:
17477         * gst/gstmessage.h:
17478         * gst/gsttag.c:
17479         * gst/gsttag.h:
17480         * gst/gsttaginterface.c:
17481         * gst/gsttaginterface.h:
17482         * gst/gsttaglist.c:
17483         * gst/gsttaglist.h:
17484         * gst/gsttagsetter.c:
17485         * gst/gsttagsetter.h:
17486         * gst/gsttrace.c:
17487         * gst/gsttrace.h:
17488         * gst/gsttrashstack.c:
17489           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
17490           inlined docs for gsttrace, gsttrashstack
17491
17492 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17493
17494         * gst/Makefile.am:
17495         * gst/elements/gstbufferstore.h:
17496         * gst/elements/gsttypefindelement.c:
17497         * gst/elements/gsttypefindelement.h:
17498         * gst/gst.h:
17499         * gst/gsttypefind.c:
17500         * gst/gsttypefind.h:
17501         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
17502         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
17503         (gst_type_find_factory_dispose),
17504         (gst_type_find_factory_unload_thyself),
17505         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
17506         (gst_type_find_factory_get_caps),
17507         (gst_type_find_factory_get_extensions),
17508         (gst_type_find_factory_call_function):
17509         * gst/gsttypefindfactory.h:
17510         * gst/registries/gstlibxmlregistry.c:
17511         * gst/registries/gstxmlregistry.c:
17512           splitted gsttypefind into gsttypefind, gsttypefindfactory
17513
17514 2005-09-07  Andy Wingo  <wingo@pobox.com>
17515
17516         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
17517         condition whereby the pad's task function is entered before the
17518         pad_mode variable was set.
17519
17520 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17521
17522         * gst/gstpad.c: (gst_pad_alloc_buffer):
17523           Catch misbehaving pad_alloc functions that don't
17524           set up caps and do it for them.
17525
17526 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17527
17528         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17529           test for pipe!=NULL
17530         * docs/gst/tmpl/.cvsignore:
17531         * docs/gst/tmpl/gstmemchunk.sgml:
17532         * docs/gst/tmpl/gstparse.sgml:
17533         * docs/gst/tmpl/gsttaglist.sgml:
17534         * docs/gst/tmpl/gsttagsetter.sgml:
17535         * docs/gst/tmpl/gsttypefind.sgml:
17536         * docs/gst/tmpl/gsttypefindfactory.sgml:
17537         * gst/gstmemchunk.c:
17538         * gst/gstparse.c:
17539         * gst/gsttag.c:
17540         * gst/gsttaginterface.c:
17541         * gst/gsttypefind.c:
17542         * gst/gsttypefind.h:
17543           inlined more docs
17544
17545 === release 0.9.2 ===
17546
17547 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17548
17549         * NEWS:
17550         * RELEASE:
17551         * configure.ac:
17552           releasing 0.9.2, "South"
17553
17554 2005-09-05  Andy Wingo  <wingo@pobox.com>
17555
17556         * gst/registries/gstxmlregistry.h:
17557         * gst/registries/gstxmlregistry.c: Um... resurrect...
17558         
17559         * gst/registries/gstxmlregistry.h:
17560         * gst/registries/gstxmlregistry.c: and update to newer API.
17561         Incidentally they should be a bit faster now that they don't have
17562         to parse the caps.
17563         
17564 2005-09-05  Andy Wingo  <wingo@pobox.com>
17565
17566         * gst/registries/gstxmlregistry.h:
17567         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
17568         replaced by the libxml registry a while back
17569
17570 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17571
17572         * docs/gst/tmpl/gstplugin.sgml:
17573         * gst/elements/gstelements.c:
17574         * gst/gst.c:
17575         * gst/gstplugin.c: (gst_plugin_register_func),
17576         (gst_plugin_desc_copy), (gst_plugin_desc_free),
17577         (gst_plugin_get_source):
17578         * gst/gstplugin.h:
17579         * gst/registries/gstlibxmlregistry.c: (load_plugin),
17580         (gst_xml_registry_save_plugin):
17581         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
17582         (gst_xml_registry_save_plugin):
17583         * tools/gst-inspect.c: (print_plugin_info):
17584           add a "source" plugin description field, to represent the source
17585           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
17586           will set it to PACKAGE, which is automake's idea of the name of
17587           the source project.
17588
17589 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17590
17591         * Makefile.am:
17592         * autogen.sh:
17593         * configure.ac:
17594         * docs/Makefile.am:
17595         * docs/faq/Makefile.am:
17596         * docs/gst/tmpl/gstelement.sgml:
17597         * docs/gst/tmpl/gsttypes.sgml:
17598         * docs/htmlinstall.mak:
17599         * docs/manual/Makefile.am:
17600         * docs/pwg/Makefile.am:
17601           reorganize doc build a little
17602           split out docbook and gtk-doc stuff
17603           have two separate --enable's and enable them through autogen
17604           but disable by default in configure (to be similar to other
17605           projects)
17606         * gstreamer.spec.in:
17607           clean up docs install
17608         * po/af.po:
17609         * po/az.po:
17610         * po/ca.po:
17611         * po/cs.po:
17612         * po/de.po:
17613         * po/en_GB.po:
17614         * po/fr.po:
17615         * po/it.po:
17616         * po/nb.po:
17617         * po/nl.po:
17618         * po/ru.po:
17619         * po/sq.po:
17620         * po/sr.po:
17621         * po/sv.po:
17622         * po/tr.po:
17623         * po/uk.po:
17624         * po/vi.po:
17625           translation updates
17626
17627 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
17628
17629         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
17630           Add comment.
17631           
17632         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17633         (gst_fake_sink_change_state):
17634           Make state change function thread-safe.
17635           
17636         * gst/gstpad.c: (gst_pad_alloc_buffer):
17637           Set offset on generic buffer allocated by fallback.
17638
17639 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
17640
17641         * docs/gst/gstreamer-sections.txt:
17642         * docs/gst/tmpl/gstelement.sgml:
17643         * gst/gstpad.c:
17644         * libs/gst/controller/gst-controller.c:
17645         (gst_controlled_property_set_interpolation_mode),
17646         (gst_controlled_property_new),
17647         (gst_controller_find_controlled_property):
17648          run the wingo-magic script against the docs
17649
17650 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17651
17652         * docs/gst/gstreamer-docs.sgml:
17653         * docs/gst/gstreamer-sections.txt:
17654         * docs/gst/tmpl/.cvsignore:
17655         * docs/gst/tmpl/gstelementdetails.sgml:
17656         * docs/gst/tmpl/gstelementfactory.sgml:
17657         * gst/gst.c:
17658         * gst/gstbus.c:
17659         * gst/gstelementfactory.c:
17660         * gst/gstelementfactory.h:
17661           merged elementdetails docs into elementfactory docs
17662           inlined both
17663
17664 2005-09-02  Andy Wingo  <wingo@pobox.com>
17665
17666         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
17667         consider this enum an enum and not a flags.
17668
17669 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17670
17671         * docs/gst/gstreamer-docs.sgml:
17672         * docs/gst/tmpl/.cvsignore:
17673         * docs/gst/tmpl/gstghostpad.sgml:
17674         * docs/gst/tmpl/gstiterator.sgml:
17675         * docs/gst/tmpl/gstmacros.sgml:
17676         * docs/gst/tmpl/gstrealpad.sgml:
17677         * docs/gst/tmpl/gstregistry.sgml:
17678         * docs/gst/tmpl/gstregistrypool.sgml:
17679         * docs/gst/tmpl/gststructure.sgml:
17680         * docs/gst/tmpl/gstsystemclock.sgml:
17681         * docs/gst/tmpl/gsttrace.sgml:
17682         * gst/gstghostpad.c:
17683         * gst/gstmacros.h:
17684         * gst/gstmemchunk.c:
17685         * gst/gstmemchunk.h:
17686         * gst/gstqueue.c:
17687         * gst/gstregistry.c:
17688         * gst/gstregistrypool.c:
17689         * gst/gststructure.c:
17690         * gst/gstsystemclock.c:
17691           more docs inlined
17692
17693 2005-09-02  Andy Wingo  <wingo@pobox.com>
17694
17695         * gst/gstelement.h (GstState): Renamed from GstElementState,
17696         changed to be a normal enum instead of flags.
17697         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17698         munged to be GST_STATE_CHANGE_*.
17699         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17700         work with the new state representation.
17701         (GstStateChange): New enumeration of possible state transitions.
17702         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17703         (GstElementClass::change_state): Pass the GstStateChange along as
17704         an argument. Helps language bindings, so they don't have to use
17705         tricky lock-needing macros like GST_STATE_CHANGE ().
17706
17707         * scripts/update-states (file): New script. Run it on a file to
17708         update it for state naming and API changes. Updates files in
17709         place.
17710
17711         * All files updated for the new API.
17712
17713 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17714
17715         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17716         * gst/gstutils.c: (gst_util_set_value_from_string),
17717         (gst_util_set_object_arg):
17718           fix a bunch of unchecked return values
17719         * tools/gst-complete.c: (main):
17720         * gstreamer.spec.in:
17721           clean up a little
17722
17723 2005-09-01  Wim Taymans  <wim@fluendo.com>
17724
17725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17726         (gst_base_sink_event), (gst_base_sink_do_sync),
17727         (gst_base_sink_handle_event):
17728         * gst/base/gstbasesink.h:
17729         Handle newsegments more correctly.
17730
17731         * gst/gstbus.c:
17732         Fix docs.
17733
17734         * gst/gstevent.c: (gst_event_new_newsegment):
17735         A newsegment cannot have a start_time of -1
17736
17737 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17738
17739         * win32/gstenumtypes.c:
17740         * win32/gstenumtypes.h:
17741           Update
17742
17743 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17744
17745         * libs/gst/controller/gst-controller.c:
17746         (gst_controlled_property_set_interpolation_mode),
17747         (gst_controlled_property_new):
17748          fixed boolean again
17749
17750 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17751
17752         * docs/faq/gst-uninstalled:
17753           add -good
17754         * gst/gstevent.c:
17755         * gst/gstevent.h:
17756           remove wrong docs
17757         * gst/gstutils.c: (gst_element_link_filtered):
17758         * gst/gstutils.h:
17759           add gst_element_link_filtered
17760
17761 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17762
17763         * docs/gst/gstreamer-docs.sgml:
17764         * docs/gst/gstreamer-sections.txt:
17765         * docs/gst/tmpl/.cvsignore:
17766         * docs/gst/tmpl/gsterror.sgml:
17767         * docs/gst/tmpl/gstfilter.sgml:
17768         * docs/gst/tmpl/gsturihandler.sgml:
17769         * docs/gst/tmpl/gsturitype.sgml:
17770         * docs/gst/tmpl/gstutils.sgml:
17771         * docs/gst/tmpl/gstxml.sgml:
17772         * gst/gsterror.c:
17773         * gst/gsterror.h:
17774         * gst/gstfilter.c:
17775         * gst/gsturi.c:
17776         * gst/gsturitype.c:
17777         * gst/gstutils.c:
17778         * gst/gstxml.c:
17779           inlined more docs, fixed double id-ref
17780
17781 2005-08-31  Wim Taymans  <wim@fluendo.com>
17782
17783         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17784         (gst_base_transform_handle_buffer):
17785         Passthrough elements don't need the caps as they don't care.
17786
17787 2005-08-31  Wim Taymans  <wim@fluendo.com>
17788
17789         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17790         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17791         Don't leak refcounts on buffers.
17792
17793 2005-08-31  Wim Taymans  <wim@fluendo.com>
17794
17795         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17796         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17797         (gst_base_transform_chain), (gst_base_transform_change_state):
17798         * gst/base/gstbasetransform.h:
17799         Handle the case where we are not negotiated more gracefully.
17800
17801 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17802
17803         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17804         (gst_file_src_map_region):
17805           Set READONLY flag on mmap'ed buffers, otherwise
17806           gst_buffer_make_writable() won't work properly (#314708).
17807
17808 2005-08-31  Wim Taymans  <wim@fluendo.com>
17809
17810         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17811         passthrough elements can even do inplace on non writable
17812         buffers (as they don't touch them).
17813
17814 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17815
17816         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17817         (gst_test_mono_source_set_property),
17818         (gst_test_mono_source_class_init), (GST_START_TEST),
17819         (gst_controller_suite):
17820           more tests (hehe I have the most)
17821         * gst/gstbus.c:
17822           describe popping messages whenusing mulltiple sources
17823         * libs/gst/controller/gst-controller.c:
17824         (gst_controlled_property_set_interpolation_mode),
17825         (gst_controlled_property_new):
17826         * libs/gst/controller/gst-controller.h:
17827         * libs/gst/controller/gst-interpolation.c:
17828           implement boolean properties
17829
17830 2005-08-31  Wim Taymans  <wim@fluendo.com>
17831
17832         * gst/gstminiobject.c: (gst_mini_object_ref):
17833         Cannot assert that the refcount has to be positive
17834         since a disposed object can be resurrected.
17835
17836 2005-08-31  Wim Taymans  <wim@fluendo.com>
17837
17838         * gst/gstpad.c: (gst_pad_init):
17839         Revert change, need to first fix badly behaving 
17840         apps.
17841
17842 2005-08-30  Wim Taymans  <wim@fluendo.com>
17843
17844         * check/elements/fakesrc.c: (setup_fakesrc):
17845         * check/elements/identity.c: (setup_identity):
17846         Activate pads before using them.
17847
17848 2005-08-30  Wim Taymans  <wim@fluendo.com>
17849
17850         * gst/base/gstadapter.c: (gst_adapter_flush):
17851         Flushing out 0 bytes is ok for this function.
17852
17853         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17854         no newsegment gives a warning and sets the start/stop to 
17855         invalid.
17856
17857         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17858         (gst_base_transform_set_passthrough):
17859         Some debug info.
17860
17861         * gst/gstminiobject.c: (gst_mini_object_ref):
17862         Check refcount here too.
17863
17864         * gst/gstpad.c: (gst_pad_init):
17865         Pads are initially flushing and refusing data.
17866
17867         * gst/gstutils.c: (gst_element_link_pads_filtered):
17868         When adding a capsfilter element make sure it has the
17869         same state as the parent bin.
17870
17871 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17872
17873         * docs/gst/tmpl/.cvsignore:
17874         * docs/gst/tmpl/gstformat.sgml:
17875         * docs/gst/tmpl/gstversion.sgml:
17876         * gst/gstbus.h:
17877         * gst/gstformat.c:
17878         * gst/gstformat.h:
17879         * gst/gstversion.h.in:
17880           more docs and two more inlined
17881
17882 2005-08-30  Wim Taymans  <wim@fluendo.com>
17883
17884         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17885         Don't sync to clock.
17886
17887 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17888
17889         * docs/gst/gstreamer-sections.txt:
17890           ultral33t func10ns deserve to appear in the docs actually
17891         * docs/gst/tmpl/.cvsignore:
17892         * docs/gst/tmpl/gstcompat.sgml:
17893         * docs/gst/tmpl/gstconfig.sgml:
17894         * gst/check/gstcheck.c:
17895         * gst/gstcompat.h:
17896         * gst/gstconfig.h.in:
17897           inlined more docs
17898
17899 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17900
17901         * docs/gst/tmpl/.cvsignore:
17902         * docs/gst/tmpl/gstquery.sgml:
17903         * docs/gst/tmpl/gstutils.sgml:
17904         * gst/gstquery.c:
17905         * gst/gstquery.h:
17906           inlined and extended docs
17907
17908 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17909
17910         * check/gst-libs/controller.c: (GST_START_TEST),
17911         (gst_controller_suite):
17912           more tests
17913         * docs/gst/tmpl/gstutils.sgml:
17914         * docs/libs/gstreamer-libs-sections.txt:
17915         * docs/libs/tmpl/gstdataprotocol.sgml:
17916           include path fixes
17917         * examples/controller/audio-example.c: (main):
17918           controller example works now
17919         * gst/gstclock.h:
17920           doc fixes
17921         * tools/gst-inspect.c: (print_element_properties_info):
17922           show param spec flags
17923
17924 2005-08-29  Andy Wingo  <wingo@pobox.com>
17925
17926         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17927
17928 2005-08-28  Andy Wingo  <wingo@pobox.com>
17929
17930         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17931         as having two arguments instead of just one. Allows superclasses
17932         to access information on subclasses -- see the terrible for() loop
17933         in gtype.c:g_type_create_instance for the reason why. All callers
17934         changed.
17935
17936 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17937
17938         * docs/design/part-messages.txt:
17939           update info
17940         * docs/gst/tmpl/.cvsignore:
17941         * docs/gst/tmpl/gstcaps.sgml:
17942         * docs/gst/tmpl/gstclock.sgml:
17943         * gst/gstbus.c:
17944         * gst/gstcaps.c:
17945         * gst/gstcaps.h:
17946         * gst/gstclock.c:
17947         * gst/gstclock.h:
17948         * gst/gstmessage.c:
17949           added descriptions for bus and message
17950           inline caps and clock docs
17951
17952 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17953
17954         * gst/gstmessage.c:
17955         * gst/gstmessage.h:
17956           doc fixes
17957
17958 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17959
17960         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17961           fix div-by-zero
17962
17963 2005-08-26  Andy Wingo  <wingo@pobox.com>
17964
17965         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17966         element_set_state's return val.
17967         (test_2_elements): Add test that's been disabled for months.
17968
17969         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17970         can-activate-pull properties.
17971
17972         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17973         can-activate-pull properties. Implement is_seekable so fakesrc can
17974         operate in pull mode.
17975
17976         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17977         properties.
17978         (gst_base_sink_activate, gst_base_sink_activate_pull)
17979         (gst_base_sink_activate_push): Make activation mode choosing work.
17980         Cleanups.
17981         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17982         is right. Make pull mode work. Post an eos before pausing in pull
17983         mode.
17984         (gst_base_sink_change_state): Pay attention to the core's
17985         change_state() return val.
17986         
17987         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17988         has-getrange properties. Cleanups.
17989         
17990         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17991         has_getrange and replace with can_activate_pull and
17992         can_activate_push.
17993
17994         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17995         locking comments. Remove has_loop, has_chain and replace with
17996         can_activate_pull and can_activate_push.
17997
17998 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17999
18000         * configure.ac:
18001         * examples/Makefile.am:
18002         * examples/metadata/Makefile.am:
18003         * examples/metadata/read-metadata.c: (message_loop),
18004         (have_pad_handler), (make_pipeline), (print_tag), (main):
18005           Add metadata reading example that loops over a list of filenames,
18006           dumping any tags found.
18007
18008         * gst/gstbus.c: (gst_bus_dispose):
18009         * gst/gstelement.c: (gst_element_dispose):
18010           Release a few potentially-held references in dispose.
18011
18012 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18013
18014         * docs/gst/tmpl/gstminiobject.sgml:
18015           do *not* add tmpl/*.sgml files to CVS!
18016
18017 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18018
18019         * libs/gst/bytestream/.cvsignore:
18020         * libs/gst/bytestream/Makefile.am:
18021         * libs/gst/bytestream/adapter.c:
18022         * libs/gst/bytestream/adapter.h:
18023         * libs/gst/bytestream/bytestream.c:
18024         * libs/gst/bytestream/bytestream.h:
18025         * libs/gst/bytestream/filepad.c:
18026         * libs/gst/bytestream/filepad.h:
18027           removing obsolete files
18028
18029 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18030
18031         * docs/gst/gstreamer-docs.sgml:
18032         * docs/libs/gstreamer-libs-docs.sgml:
18033           disabed additional index entries again, as this makes docs-gen just
18034           slow and they aren't useful yet
18035         * docs/libs/gstreamer-libs-sections.txt:
18036           little -section.txt cleanup for libs
18037
18038 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18039
18040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18041         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
18042           fix up some debugging
18043         (gst_base_transform_get_unit_size),
18044         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18045         (gst_base_transform_handle_buffer):
18046         * gst/base/gstbasetransform.h:
18047           handle and store timed NEWSEGMENT events so that subclasses that
18048           calculate time by counting samples have a segment_start time they
18049           need to add to their timestamps - see audioresample
18050
18051 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18052
18053         * gst/gstbin.h:
18054           removed ';' from the end of macro defs
18055         * docs/gst/gstreamer-docs.sgml:
18056         * docs/gst/gstreamer-sections.txt:
18057         * docs/gst/tmpl/.cvsignore:
18058         * gst/gstbus.h:
18059         * gst/gstelement.c: (gst_element_class_init),
18060         (gst_element_set_state), (activate_pads),
18061         (gst_element_save_thyself):
18062         * gst/gstevent.c: (gst_event_new_newsegment):
18063         * gst/gstevent.h:
18064         * gst/gstiterator.c:
18065         * gst/gstiterator.h:
18066         * gst/gstpad.c:
18067         * gst/gstprobe.h:
18068         * gst/gstutils.c: (gst_pad_query_convert):
18069         * gst/gstutils.h:
18070           fixed parameter name mismatches between source, header and docs
18071           added some more docs, resolved the last batch of unused elements in
18072           docs (now someone needs to doc them)
18073
18074 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18075
18076         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
18077         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
18078           don't walk through the plugins backwards.  Where is all this
18079           reversed logic coming from ?
18080
18081 2005-08-25  Wim Taymans  <wim@fluendo.com>
18082
18083         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18084         (gst_base_transform_transform_size),
18085         (gst_base_transform_configure_caps),
18086         (gst_base_transform_get_unit_size),
18087         (gst_base_transform_buffer_alloc),
18088         (gst_base_transform_change_state):
18089         * gst/base/gstbasetransform.h:
18090         Cache caps unit_size.
18091         Make sure we cannot negotiate up and downstream at the
18092         same time.
18093
18094 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18095
18096         * gst/gst.c: (init_pre), (init_post):
18097           register the installed plugin path after the env var
18098         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
18099         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
18100           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
18101           directories, so the tests can prefer uninstalled over installed
18102
18103 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18104
18105         * gst/base/gstbasetransform.h:
18106           comment
18107         * gst/gstpad.c:
18108           add to docs
18109
18110 2005-08-25  Wim Taymans  <wim@fluendo.com>
18111
18112         * gst/gstbin.c: (bin_bus_handler):
18113         Be a bit more conservative about the posted message.
18114         
18115         * gst/gstbus.c: (gst_bus_post):
18116         Some cleanups, warn wrong return values.
18117
18118 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
18119
18120         * check/gst/gstbin.c: (GST_START_TEST):
18121         * gst/gstbin.c: (bin_bus_handler):
18122         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18123         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18124         (gst_message_new_warning), (gst_message_new_tag),
18125         (gst_message_new_state_changed), (gst_message_new_segment_start),
18126         (gst_message_new_segment_done), (gst_message_new_custom):
18127         * gst/gstmessage.h:
18128         * tools/gst-launch.c: (event_loop):
18129         * tools/gst-md5sum.c: (event_loop):
18130           Revert unpopular change for GST_MESSAGE_SRC to GObject.
18131
18132 2005-08-25  Wim Taymans  <wim@fluendo.com>
18133
18134         * check/generic/states.c: (GST_START_TEST):
18135         Cleanup can be done at the end.
18136
18137         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
18138         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18139         (gst_task_get_state), (gst_task_start), (gst_task_pause):
18140         Oh boy.. Thanks for finding this, Thomas. 
18141
18142 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18143
18144         * docs/gst/gstreamer.types:
18145           added missing types
18146
18147 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18148
18149         * docs/gst/gstreamer-docs.sgml:
18150         * docs/gst/gstreamer-sections.txt:
18151         * docs/gst/tmpl/.cvsignore:
18152         * gst/gstbin.c:
18153         * gst/gstiterator.c:
18154         * gst/gstutils.c:
18155         * gst/registries/gstxmlregistry.h:
18156           added missing classes and symbols (123 more to go)
18157           removed removed symbols from section file
18158           fixed many doc-comments
18159
18160 2005-08-24  Wim Taymans  <wim@fluendo.com>
18161
18162         * check/generic/states.c: (GST_START_TEST):
18163         Make sure all tasks are stopped.
18164
18165         * check/gst/gstbin.c: (GST_START_TEST):
18166         Unref after usage for proper valgrinding.
18167
18168         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
18169         Really wait for the task to stop before destroying the
18170         mutex.
18171
18172         * gst/gstqueue.c: (gst_queue_sink_activate_push),
18173         (gst_queue_src_activate_push):
18174         Small cleanups. Don't stop the task when we did not start
18175         it.
18176
18177         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
18178         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18179         (gst_task_get_state), (gst_task_start), (gst_task_pause),
18180         (gst_task_join):
18181         * gst/gsttask.h:
18182         Protect the stream lock with the object lock.
18183         Disallow setting the stream lock when running.
18184         Add cleanup_all to wait for the threadpool to finish.
18185         Remove code to autoallocate a mutex if none was provided.
18186         Add _join() to wait for a task to stop.
18187         Protect the thread pool with a global lock.
18188
18189 2005-08-24  Wim Taymans  <wim@fluendo.com>
18190
18191         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18192         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18193         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
18194         * gst/base/gstbasesink.h:
18195         Handle newsegment events correctly.
18196         Drop buffers out of the segment range.
18197
18198 2005-08-22  Andy Wingo  <wingo@pobox.com>
18199
18200         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
18201         macro, implements an interface and gstimplementsinterface for a
18202         new type.
18203
18204 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18205
18206         * check/Makefile.am:
18207         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
18208           add a test that does a bunch of state changes on elements
18209           needs some fixing for valgrind
18210         * check/states/sinks.c: (gst_object_suite):
18211           whitespace
18212         * gst/gstcaps.h:
18213           add prototype for gst_caps_is_equal_fixed
18214         * gst/gstplugin.c:
18215         * gst/gstregistrypool.c:
18216           doc fixes
18217
18218 2005-08-24  Andy Wingo  <wingo@pobox.com>
18219
18220         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
18221         convert a negative value. Doesn't make much sense. Mostly this is
18222         here to force callers to ensure -1 maps to -1.
18223
18224 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18225
18226         * docs/pwg/advanced-types.xml:
18227           Well done to Michael for catching my deliberate introduction
18228           of this spelling mistake. 
18229         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
18230         * gst/gstelement.h:
18231           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
18232           unlink pads before removing the element from the bin.
18233
18234 2005-08-24  Andy Wingo  <wingo@pobox.com>
18235
18236         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
18237         the same thing as GST_DEBUG=*:4.
18238         (parse_debug_level, parse_debug_category): New helper parsers.
18239
18240 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18241
18242         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18243         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
18244         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
18245         (gst_base_transform_buffer_alloc),
18246         (gst_base_transform_handle_buffer):
18247           use gboolean return values and pointers to size so we can use the
18248           full GST_BUFFER_SIZE range (guint) for buffer sizes
18249           use GstPadDirection for transform_caps
18250         * gst/base/gstbasetransform.h:
18251           rename get_size to get_unit_size since that's what it is
18252         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
18253           use GstPadDirection for transform_caps
18254         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18255         * gst/gstutils.h:
18256           cleanup and debugging
18257
18258 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18259
18260         * gst/gstelement.c: (gst_element_class_init),
18261         (gst_element_set_state), (activate_pads),
18262         (gst_element_save_thyself):
18263         * tools/gst-compprep.c: (main):
18264         * tools/gst-inspect.c: (print_element_properties_info):
18265         * tools/gst-xmlinspect.c: (print_element_properties):
18266           Fixed long standing mem-leak
18267
18268 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18269
18270         * check/gst/gstbin.c: (GST_START_TEST):
18271         * gst/gstbin.c: (bin_bus_handler):
18272         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18273         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18274         (gst_message_new_warning), (gst_message_new_tag),
18275         (gst_message_new_state_changed), (gst_message_new_segment_start),
18276         (gst_message_new_segment_done), (gst_message_new_custom):
18277         * gst/gstmessage.h:
18278         * tools/gst-launch.c: (event_loop):
18279         * tools/gst-md5sum.c: (event_loop):
18280           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
18281           that applications can sensibly post custom messages with references
18282           to their own objects.
18283
18284 2005-08-24  Andy Wingo  <wingo@pobox.com>
18285
18286         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
18287         already.
18288
18289 2005-08-24  Wim Taymans  <wim@fluendo.com>
18290
18291         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18292         (gst_base_transform_transform_caps),
18293         (gst_base_transform_transform_size),
18294         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18295         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18296         (gst_base_transform_handle_buffer):
18297         * gst/base/gstbasetransform.h:
18298         Many fixes and new features added by Thomas. Can now also do
18299         transforms with variable sizes and a custom fixate_caps function.
18300
18301 2005-08-24  Wim Taymans  <wim@fluendo.com>
18302
18303         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18304         Some debugging.
18305
18306         * gst/gstclock.h:
18307         Cast to ClockTime before formatting to time.
18308
18309         * gst/gstutils.h:
18310         Cleanups.
18311
18312 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18313
18314         * check/gst-libs/controller.c: (GST_START_TEST),
18315         (gst_controller_suite):
18316         * docs/gst/tmpl/gstcaps.sgml:
18317         * docs/gst/tmpl/gstghostpad.sgml:
18318         * docs/gst/tmpl/gstquery.sgml:
18319         * docs/gst/tmpl/gstutils.sgml:
18320         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
18321         (gst_object_sink_values), (gst_object_get_value_arrays),
18322         (gst_object_get_value_array):
18323           gracefully handle helper method calls to objects that are not beeing
18324           controlled, added test case for that          
18325
18326 2005-08-23  Wim Taymans  <wim@fluendo.com>
18327
18328         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
18329         (gst_event_new_newsegment), (gst_event_parse_newsegment),
18330         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
18331         (gst_event_parse_qos), (gst_event_new_seek),
18332         (gst_event_parse_seek):
18333         * gst/gstevent.h:
18334         Some more debugging output and doc cleanups.
18335
18336         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18337         Fix possible deadlock.
18338
18339 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18340
18341         * docs/gst/gstreamer-docs.sgml:
18342         * docs/gst/gstreamer-sections.txt:
18343         * docs/gst/gstreamer.types:
18344         * docs/gst/tmpl/.cvsignore:
18345         * gst/gstbin.h:
18346         * gst/gstbus.c:
18347         * gst/gstelement.c:
18348         * gst/gstevent.h:
18349           added 100 symbols from gstreamer-unused.txt to the right sections
18350           fixed more broken comments
18351           added GstBus to docs
18352
18353 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18354
18355         * docs/gst/gstreamer-sections.txt:
18356         * docs/gst/tmpl/.cvsignore:
18357         * docs/gst/tmpl/gstbin.sgml:
18358         * docs/gst/tmpl/gstbuffer.sgml:
18359         * gst/base/gstbasesrc.c:
18360         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
18361         * gst/gstbuffer.c:
18362         * gst/gstbuffer.h:
18363         * tools/gst-launch.1.in:
18364           inlined more doc comments, added missing comments and fixed comments
18365           fixed typos
18366
18367 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18368
18369         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18370           some debugging
18371         * gst/gstcaps.h:
18372           whitespace fixes
18373         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
18374           more debugging
18375         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
18376         * gst/gststructure.h:
18377           add a fixate function for booleans; add a FIXME that these func
18378           names should probably be gst_structure_fixate_*
18379
18380 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18381
18382         * docs/gst/gstreamer-docs.sgml:
18383         * docs/gst/gstreamer-sections.txt:
18384         * gst/Makefile.am:
18385         * gst/gstbin.c: (gst_bin_get_type),
18386         (gst_bin_child_proxy_get_child_by_index),
18387         (gst_bin_child_proxy_get_children_count),
18388         (gst_bin_child_proxy_init):
18389         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18390         (gst_child_proxy_get_child_by_index),
18391         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
18392         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
18393         (gst_child_proxy_get), (gst_child_proxy_set_property),
18394         (gst_child_proxy_set_valist), (gst_child_proxy_set),
18395         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
18396         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
18397         * gst/gstchildproxy.h:
18398         * gst/parse/grammar.y:
18399         * tools/gst-inspect.c: (print_interfaces),
18400         (print_element_properties_info), (print_element_info):
18401           ported gstchildproxy over from 0.8
18402           ported gst-inspect fixes and enhancements over from 0.8
18403
18404 2005-08-22  Wim Taymans  <wim@fluendo.com>
18405
18406         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18407         (gst_base_transform_handle_buffer):
18408         Also call the transform function if we have ANY caps.
18409
18410         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
18411         Fix debug info.
18412
18413 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18414
18415         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
18416           Don't pretend to handle seek events if the source is not seekable
18417
18418 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18419
18420         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18421           Remove extra parameter to debug output
18422
18423         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18424         (gst_base_src_do_seek), (gst_base_src_activate_push):
18425           Fix seek event handling.
18426
18427         * gst/gstpipeline.c: (gst_pipeline_change_state):
18428         * gst/gstqueue.c: (gst_queue_handle_sink_event),
18429         (gst_queue_src_activate_push):
18430           Don't start the src pad task on FLUSH_STOP if the pad
18431           isn't linked.
18432           Debug changes.
18433
18434 2005-08-22  Wim Taymans  <wim@fluendo.com>
18435
18436         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
18437         Added check for gst_static_caps_get() refcounting.
18438
18439 2005-08-22  Wim Taymans  <wim@fluendo.com>
18440
18441         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
18442         Make _static_caps_get() refcounting sane.
18443         
18444         * gst/gstelement.c: (gst_element_set_state):
18445         Add g_return_val_if_fail() to protect against segfaults.
18446
18447 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
18448
18449         * docs/gst/tmpl/gstevent.sgml:
18450         * gst/gstevent.c:
18451         * gst/gstevent.h:
18452           inlined remaining docs, added missing doc comments
18453
18454 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18455
18456         * check/gst/gstbin.c: (GST_START_TEST):
18457           since we don't know when preroll is done, use refcount range
18458           check for the sink
18459         * gst/check/gstcheck.h:
18460           add macro for checking refcount range
18461
18462 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18463
18464         * check/Makefile.am:
18465           clean up environment for when registry gets built versus
18466           when actual tests are run; valgrind seems to not report
18467           leaks if GST_PLUGIN_PATH is set to some specific values
18468         * check/gst/gstbin.c: (GST_START_TEST):
18469           add more refcounting checks; maybe this exposes a
18470           preroll lock bug ?
18471         * common/check.mak:
18472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18473         * gst/check/gstcheck.h:
18474         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
18475         (gst_bin_change_state):
18476         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
18477           add/fix debugging/whitespace
18478
18479 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18480
18481         * check/gst/gstevent.c: (event_probe), (test_event),
18482         (GST_START_TEST):
18483          Er, don't call gst_bin_watch_for_state_change you idiot.
18484
18485 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18486
18487         * check/Makefile.am:
18488           Use CHECK_CFLAGS and CHECK_LIBS
18489         * check/gst/gstevent.c: (event_probe), (test_event),
18490         (GST_START_TEST):
18491           Don't leak events.
18492         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18493         (gst_base_src_start), (gst_base_src_stop),
18494         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18495         (gst_base_src_change_state):
18496           Sprinkle gst_base_src_stop liberally around error paths to fix
18497           problems reusing a source after failed state changes.
18498         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18499         (helper_find_suggest), (gst_type_find_helper):
18500           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
18501         * gst/gstevent.h:
18502         * docs/gst/tmpl/gstevent.sgml:
18503           Migrate part of the docs from the SGML file. Wait for ensonic to
18504           tell me how I did it wrong ;)
18505         * tools/gst-typefind.c: (main):
18506           Extra robustness to state changes between files.
18507
18508 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18509
18510         * check/Makefile.am:
18511           don't valgrind the controller test - it's leaking - Stefan, HELP
18512         * gst/check/gstcheck.c: (gst_check_message_error),
18513         (gst_check_chain_func), (gst_check_setup_element),
18514         (gst_check_teardown_element), (gst_check_setup_src_pad),
18515         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
18516         (gst_check_teardown_sink_pad):
18517         * gst/check/gstcheck.h:
18518           add a bunch of methods to set up elements, and src and sink pads
18519         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
18520         * check/elements/identity.c: (setup_identity), (cleanup_identity),
18521         (GST_START_TEST):
18522           use them
18523         * gst/gstmessage.c:
18524         * gst/gsttag.h:
18525           whitespace/doc fixes
18526
18527 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18528
18529         * gst/gstelement.h:
18530           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
18531           be handled by the application and not always printed as well
18532
18533 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18534
18535         * check/Makefile.am:
18536           set GST_TOOLS_DIR
18537         * gst/check/gstcheck.c: (gst_check_message_error):
18538         * gst/check/gstcheck.h:
18539           add a fail_unless_equals_int
18540           add fail_unless for error messages
18541
18542 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18543
18544         * check/Makefile.am:
18545         * check/gst.supp:
18546         * common/Makefile.am:
18547         * common/check.mak:
18548         * common/gst.supp:
18549           factor out some of the common stuff so we can use it
18550
18551 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18552
18553         * check/Makefile.am:
18554         * check/gst/gstiterator.c: (GST_START_TEST):
18555         * check/gst/gstsystemclock.c: (GST_START_TEST),
18556         (gst_systemclock_suite):
18557         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
18558         * gst/gstclock.c:
18559           valgrind more tests
18560
18561 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18562
18563         * check/elements/.cvsignore:
18564         * check/elements/gstfakesrc.c:
18565           rename to name of element
18566         * check/elements/identity.c: (chain_func), (event_func),
18567         (setup_identity), (cleanup_identity), (GST_START_TEST),
18568         (identity_suite), (main):
18569           add a test for identity
18570         * check/Makefile.am:
18571         * pkgconfig/Makefile.am:
18572         * pkgconfig/gstreamer-check.pc.in:
18573         * pkgconfig/gstreamer-check-uninstalled.pc.in:
18574         * gst/check:
18575         * gst/Makefile.am:
18576         * configure.ac:
18577           move the check stuff to a library that gets installed
18578         * check/gst-libs/controller.c: (GST_START_TEST):
18579         * check/gst-libs/gdp.c:
18580         * check/gst/gst.c: (GST_START_TEST):
18581         * check/gst/gstbin.c:
18582         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18583         * check/gst/gstbus.c:
18584         * check/gst/gstcaps.c: (GST_START_TEST):
18585         * check/gst/gstelement.c:
18586         * check/gst/gstghostpad.c:
18587         * check/gst/gstiterator.c:
18588         * check/gst/gstmessage.c:
18589         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
18590         * check/gst/gstobject.c:
18591         * check/gst/gstpad.c: (GST_START_TEST):
18592         * check/gst/gststructure.c: (GST_START_TEST):
18593         * check/gst/gstsystemclock.c: (GST_START_TEST),
18594         (gst_systemclock_suite):
18595         * check/gst/gsttag.c: (gst_tag_suite):
18596         * check/gst/gstvalue.c:
18597         * check/pipelines/cleanup.c:
18598         * check/pipelines/simple_launch_lines.c:
18599         * check/states/sinks.c:
18600           change include statement
18601
18602         * docs/gst/gstreamer-sections.txt:
18603         * docs/gst/tmpl/gstpad.sgml:
18604           document more pad stuff
18605         * gst/gstminiobject.c: (gst_mini_object_ref),
18606         (gst_mini_object_unref):
18607           debug refcounting
18608
18609 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
18610
18611         * docs/gst/tmpl/gst.sgml:
18612         * gst/gst.c:
18613           eliminate another tmpl file, fix spelling in the long-description
18614
18615 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18616
18617         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18618         (test_event), (timediff), (gstevents_suite):
18619           Should fix build on 64-bit arch's
18620
18621 2005-08-18  Andy Wingo  <wingo@pobox.com>
18622
18623         Make sure that when a pipeline goes to PLAYING, that data has
18624         actually hit the sink.
18625
18626         * check/states/sinks.c (test_sink): A sink that doesn't get any
18627         data shouldn't return SUCCESS for going to either PLAYING or
18628         PAUSED. Test also the return values on the way back down.
18629
18630         * gst/gstelement.c (gst_element_set_state): When changing the
18631         state of an element currently changing state asynchronously, go to
18632         lost-state after commiting the pending state. Makes future calls
18633         to get_state continue to return ASYNC.
18634
18635         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
18636         ASYNC when going to PLAYING if we still don't have preroll, as can
18637         happen with live sources.
18638
18639 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18640
18641         * docs/pwg/advanced-types.xml:
18642           Hack long paragraph into 2 chunks as a workaround for buggy
18643           jadetex version in sid and breezy that loops infinitely and
18644           eats all RAM.
18645
18646 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18647
18648         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18649         (test_event), (timediff), (gstevents_suite):
18650           Provide more error margin in clock measurements to allow for 
18651           g_get_current_time inaccuracies.
18652
18653 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18654
18655         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18656         (test_event), (timediff), (gstevents_suite):
18657            Fix error message output so I might be able to tell why the
18658            test works here but fails on the build farm.
18659
18660 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18661
18662         * check/Makefile.am:
18663         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18664         (test_event), (timediff), (gstevents_suite), (main):
18665           I wrote a test!
18666
18667         * docs/design/part-seeking.txt:
18668           Spelling correction
18669
18670         * docs/gst/tmpl/gstevent.sgml:
18671         * docs/gst/tmpl/gstfakesrc.sgml:
18672           Docs updates.
18673
18674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18675           Treat a buffer-without-newsegment the same as a receiving 
18676           a newsegment not in time format, and disable syncing to the clock
18677           with a warning.
18678
18679         * gst/gstbus.c: (gst_bus_set_sync_handler):
18680           Assert if anyone tries to replace the existing sync_handler for bus, 
18681           as only the owner should be setting it.
18682
18683         * gst/gstevent.h:
18684           Have a fixed set of custom event enums with events identified by
18685           their structure name (as in 0.8), rather than a free-for-all
18686           allowing collisions between enum values from different plugins.
18687
18688         * gst/gstpad.c: (gst_pad_class_init):
18689           Docs change.
18690           
18691         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18692           Handle out-of-band downstream events from the sending thread.
18693
18694 2005-08-17  Andy Wingo  <wingo@pobox.com>
18695
18696         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18697         play-timeout==0 to mean no timeout at all. In that case, don't
18698         bother with a get_state or a warning, just return directly, even
18699         if it's ASYNC.
18700
18701         * gst/base/gstbasetransform.c: Debug changes.
18702
18703         * gst/gstutils.h:
18704         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18705         ensure bins post state change messages. A bit of a hack but I can't
18706         think of a way to avoid it.
18707
18708         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18709
18710 2005-08-16  Andy Wingo  <wingo@pobox.com>
18711
18712         * gst/base/gstadapter.h:
18713         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18714         peek() but you own the data. Not terribly efficient atm.
18715
18716 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18717
18718         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18719         (gst_element_found_tags):
18720         * gst/gstutils.h:
18721           Add two utility functions for tag handling.
18722
18723 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18724
18725         * docs/manual/advanced-dataaccess.xml:
18726         * docs/manual/basics-helloworld.xml:
18727           Fix docs to use _bin_add() before _link(), which fixes the examples
18728           with recent core versions (reported by Madhan Raj M
18729           <raj_madan@rediffmail.com>, #313199).
18730
18731 2005-08-16  Wim Taymans  <wim@fluendo.com>
18732
18733         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18734         Added subtract checks.
18735
18736         * docs/design/part-events.txt:
18737         Some more docs about newsegment
18738
18739         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18740         Fix FIXME
18741
18742         * gst/gstcaps.c: (gst_caps_to_string):
18743         Add comments, cleanups.
18744         
18745         * gst/gstelement.c: (gst_element_save_thyself):
18746         cleanups
18747         
18748         * gst/gstvalue.c: (gst_value_collect_int_range),
18749         (gst_string_unwrap), (gst_value_union_int_int_range),
18750         (gst_value_union_int_range_int_range),
18751         (gst_value_intersect_int_int_range),
18752         (gst_value_intersect_int_range_int_range),
18753         (gst_value_intersect_double_double_range),
18754         (gst_value_intersect_double_range_double_range),
18755         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18756         (gst_value_subtract_int_range_int),
18757         (gst_value_subtract_double_range_double),
18758         (gst_value_subtract_double_range_double_range),
18759         (gst_value_subtract_from_list), (gst_value_subtract_list),
18760         (gst_value_can_compare), (gst_value_compare_fraction):
18761         Cleanups, add comments, remove unneeded asserts.
18762
18763 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18764
18765         * tools/gst-launch.c: (event_loop):
18766           don't convert NULL structures to strings
18767
18768 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18769
18770         * docs/gst/gstreamer-sections.txt:
18771           made some defines private
18772         * docs/gst/tmpl/gstconfig.sgml:
18773         * docs/gst/tmpl/gstqueue.sgml:
18774         * docs/gst/tmpl/gsttaglist.sgml:
18775         * docs/gst/tmpl/gsttypes.sgml:
18776         * docs/gst/tmpl/gstutils.sgml:
18777         * docs/pwg/appendix-porting.xml:
18778         * gst/base/gstbasesink.h:
18779         * gst/base/gstbasesrc.c:
18780         * gst/base/gstbasesrc.h:
18781         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18782         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18783         * gst/gstelement.c: (gst_element_class_init):
18784         * gst/gstpad.c: (gst_pad_class_init):
18785         * gst/gstqueue.c: (gst_queue_class_init):
18786         * gst/gstxml.c: (gst_xml_class_init):
18787           documented all undocumented signal inline
18788         * libs/gst/controller/gst-controller.h:
18789           added padding
18790
18791 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18792
18793         * docs/pwg/appendix-porting.xml:
18794           Document _set_link_function -> _set_setcaps_function.
18795
18796 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18797
18798         * check/Makefile.am:
18799           add a .check target for running the check
18800         * check/gst-libs/controller.c: (GST_START_TEST):
18801           cosmetic fixups
18802         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18803           complete checks for gstbuffer; would be nice if I could get the
18804           gcov stuff to work so I can see if I actually completed gstbuffer.c
18805         * check/gstcheck.h:
18806           add ASSERT_BUFFER_REFCOUNT
18807
18808 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18809
18810         * docs/gst/gstreamer-sections.txt:
18811         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18812         * gst/gsttag.h:
18813           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18814           spew out a warning if a tag that is already registered
18815           is re-registered, unless it is re-registered with a 
18816           different type (#308438).
18817
18818 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18819
18820         * docs/pwg/appendix-porting.xml:
18821         * docs/pwg/building-state.xml:
18822           Add some paragraphs about state changes in 0.9 to the PWG
18823           and the porting guide, in particular about the new meaning
18824           of GST_STATE_PAUSED and how to write state change functions
18825           with concurrent access by multiple threads in mind.
18826
18827 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18828
18829         * docs/gst/gstreamer-docs.sgml:
18830         * docs/libs/gstreamer-libs-docs.sgml:
18831           added deprecation and since indexes
18832         * libs/gst/controller/gst-controller.c:
18833         * libs/gst/controller/gst-helper.c:
18834           added since tags
18835
18836
18837 2005-08-11  Wim Taymans  <wim@fluendo.com>
18838
18839         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18840         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18841         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18842         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18843         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18844         (gst_ghost_pad_set_target):
18845         Actually implement (re)setting the target on a ghostpad
18846         as described in the docs.
18847
18848 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18849
18850         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18851           Check whether GST_DEBUG_NO_COLOR environment variable is
18852           set and disable coloured debug output if that is the case.
18853
18854 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18855
18856         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18857         (gst_type_find_helper):
18858           The memory returned by gst_type_find_peek() needs to
18859           stay valid until the end of a typefind function, and
18860           typefind functions may keep results from different 
18861           offsets around, so we can't just unref the buffer from
18862           the previous _peek(), but have to save all buffers 
18863           returned by _peek() until typefinding is done and only
18864           free them then.
18865
18866 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18867
18868         * docs/gst/gstreamer-sections.txt:
18869         * gst/gstutils.h:
18870           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18871
18872 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18873
18874         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18875           Fix a pretty good memleak.
18876
18877 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18878
18879         * gst/gstiterator.h:
18880           Fix wrong include and 'make distcheck'.
18881
18882 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18883
18884         * gst/gstbin.c: (bin_bus_handler):
18885           Use gst_element_post_message() instead.
18886
18887 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18888
18889         * gst/base/gstadapter.h:
18890         * gst/base/gstbasesink.h:
18891         * gst/base/gstbasesrc.h:
18892         * gst/base/gstbasetransform.h:
18893         * gst/base/gstcollectpads.h:
18894         * gst/base/gstpushsrc.h:
18895         * gst/gstiterator.h:
18896           Add padding to our base elements' class and instance structs and
18897           to GstIterator (you will need to rebuild all plugins and apps!)
18898
18899 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18900
18901         * gst/gstbin.c: (bin_bus_handler):
18902           Make default message forwarding from child->bus to bin->bus
18903           threadsafe and make it not emit warnings if the parent has no bus.
18904
18905 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18906
18907         * gst/gstelement.c: (activate_pads):
18908           On paused->ready, set pad->caps to NULL, as is the documented
18909           behaviour in this state change. Fixes playback of series of
18910           media files when visualization is enabled in Totem.
18911
18912 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18913
18914         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18915           Allow NULL as filter-caps (which means "any").
18916
18917 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18918
18919         * docs/libs/gstreamer-libs-sections.txt:
18920         * libs/gst/controller/gst-controller.c:
18921         * libs/gst/controller/gst-controller.h:
18922         * libs/gst/controller/gst-helper.c:
18923           adding more entries to the docs and fix small doc-bugs
18924
18925 2005-08-05  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/gstbasesink.sgml:
18931         * docs/gst/tmpl/gstbasesrc.sgml:
18932         * docs/gst/tmpl/gstbasetransform.sgml:
18933         * docs/gst/tmpl/gstfakesrc.sgml:
18934         * gst/base/gstcollectpads.c:
18935         * gst/base/gstcollectpads.h:
18936         * libs/gst/controller/gst-controller.c:
18937         * libs/gst/controller/gst-controller.h:
18938         * libs/gst/controller/gst-helper.c:
18939         * libs/gst/controller/gst-interpolation.c:
18940         * libs/gst/controller/lib.c:
18941           added long/short desc for controller docs
18942           added collectpads base class docs
18943           added correct includes to base-class docs
18944
18945 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18946
18947         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18948         (gst_test_mono_source_set_property),
18949         (gst_test_mono_source_class_init), (GST_START_TEST),
18950         (gst_controller_suite):
18951         * docs/gst/gstreamer-docs.sgml:
18952         * docs/gst/gstreamer-sections.txt:
18953         * docs/gst/gstreamer.types:
18954         * docs/libs/gstreamer-libs-docs.sgml:
18955         * docs/libs/gstreamer-libs-sections.txt:
18956         * gst/base/gstadapter.c:
18957         * libs/gst/controller/gst-controller.c:
18958         (gst_controlled_property_new), (gst_controlled_property_free),
18959         (gst_controller_new_valist),
18960         (gst_controller_remove_properties_valist),
18961         (gst_controller_sink_values), (_gst_controller_finalize):
18962         * libs/gst/controller/gst-controller.h:
18963         * libs/gst/controller/gst-helper.c:
18964         (gst_object_control_properties), (gst_object_uncontrol_properties),
18965         (gst_object_get_controller), (gst_object_set_controller),
18966         (gst_object_sink_values), (gst_object_get_value_arrays),
18967         (gst_object_get_value_array):
18968           more tests (and fixes) for the controller
18969           more docs for the controller
18970           integrated companies docs for the adapter 
18971
18972 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18973
18974         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18975         (GST_START_TEST), (fakesrc_suite):
18976           add tests for sizetype
18977
18978 2005-08-04  Andy Wingo  <wingo@pobox.com>
18979
18980         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18981         fixes buffer_alloc proxying among other things.
18982
18983         * gst/base/gstbasetransform.c:
18984         * gst/base/gstbasetransform.h:
18985         Revert patch to gstbasetransform from 7-28 removing
18986         delay_configure.
18987
18988         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18989         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18990         Semantics changed, should return not the size of the output buffer
18991         but the byte size of a buffer with a given caps.
18992
18993         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18994         debug object.
18995         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18996         out) are not the pad caps until setcaps finishes.
18997         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18998         not-in-place case as well. Deal with changing from in-place to
18999         not-in-place within calling pad_alloc_buffer. Still a bit
19000         concerned about the overhead here...
19001
19002 2005-08-03  Andy Wingo  <wingo@pobox.com>
19003
19004         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
19005         fixating is an error.
19006
19007 2005-08-04  Edward Hervey  <edward@fluendo.com>
19008
19009         * gst/base/gstadapter.h: 
19010         Added gst_adapter_get_type() to the header
19011
19012 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19013
19014         * check/Makefile.am:
19015         * check/gst-libs/controller.c:
19016         * libs/gst/controller/gst-controller.c:
19017         (gst_controller_new_valist):
19018           added check test suite for the controller
19019         * gst/base/gstpushsrc.c:
19020           fixed a doc typo
19021
19022 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19023
19024         * docs/gst/Makefile.am:
19025         * docs/gst/gstreamer-docs.sgml:
19026         * docs/gst/gstreamer-sections.txt:
19027         * docs/gst/gstreamer.types:
19028         * docs/gst/tmpl/gstfakesrc.sgml:
19029         * gst/base/README:
19030         * gst/base/gstbasesink.c:
19031         * gst/base/gstbasesink.h:
19032         * gst/base/gstbasesrc.c:
19033         * gst/base/gstbasesrc.h:
19034         * gst/base/gstbasetransform.c:
19035         * gst/base/gstpushsrc.c:
19036         * gst/base/gstpushsrc.h:
19037           add short/long description docs to base classes
19038           add pushsrc to the docs
19039           remove consolidated doc fragments
19040
19041 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19042
19043         * configure.ac:
19044         * docs/libs/Makefile.am:
19045         * docs/libs/gstreamer-libs-docs.sgml:
19046         * docs/libs/gstreamer-libs-sections.txt:
19047         * docs/libs/gstreamer-libs.types:
19048         * examples/Makefile.am:
19049         * examples/controller/.cvsignore:
19050         * examples/controller/Makefile.am:
19051         * examples/controller/audio-example.c: (main):
19052         * libs/gst/Makefile.am:
19053         * libs/gst/controller/.cvsignore:
19054         * libs/gst/controller/Makefile.am:
19055         * libs/gst/controller/gst-controller.c:
19056         (on_object_controlled_property_changed), (gst_timed_value_compare),
19057         (gst_timed_value_find),
19058         (gst_controlled_property_set_interpolation_mode),
19059         (gst_controlled_property_new), (gst_controlled_property_free),
19060         (gst_controller_find_controlled_property),
19061         (gst_controller_new_valist), (gst_controller_new),
19062         (gst_controller_remove_properties_valist),
19063         (gst_controller_remove_properties), (gst_controller_set),
19064         (gst_controller_set_from_list), (gst_controller_unset),
19065         (gst_controller_get), (gst_controller_get_all),
19066         (gst_controller_sink_values), (gst_controller_get_value_arrays),
19067         (gst_controller_get_value_array),
19068         (gst_controller_set_interpolation_mode),
19069         (_gst_controller_finalize), (_gst_controller_init),
19070         (_gst_controller_class_init), (gst_controller_get_type):
19071         * libs/gst/controller/gst-controller.h:
19072         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
19073         (g_object_uncontrol_properties), (g_object_get_controller),
19074         (g_object_set_controller), (g_object_sink_values),
19075         (g_object_get_value_arrays), (g_object_get_value_array):
19076         * libs/gst/controller/gst-interpolation.c:
19077         (gst_controlled_property_find_timed_value_node),
19078         (interpolate_none_get), (interpolate_trigger_get),
19079         (interpolate_trigger_get_value_array):
19080         * libs/gst/controller/lib.c: (gst_controller_init):
19081         * pkgconfig/Makefile.am:
19082         * pkgconfig/gstreamer-control-uninstalled.pc.in:
19083         * pkgconfig/gstreamer-control.pc.in:
19084         * testsuite/Makefile.am:
19085         * testsuite/controller/.cvsignore:
19086         * testsuite/controller/Makefile.am:
19087         * testsuite/controller/interpolator.c: (main):
19088           added controller code
19089           removed dparam pc files
19090
19091 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19092         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
19093         (gst_collectpads_stop):
19094           Broadcast the condition when shutting down, to make sure we wake all
19095           threads up. Shut down pads on finalize, for safety.
19096
19097 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19098         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19099         (gst_base_transform_handle_buffer),
19100         (gst_base_transform_change_state):
19101           Handle PAUSED->READY->PAUSED transition after negotiation
19102           occurred already.
19103         * gst/gstmessage.c: (gst_message_init):
19104           Extra piece of debug for new messages.
19105
19106 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
19107
19108         * configure.ac:
19109         * docs/gst/tmpl/gstbasesrc.sgml:
19110         * docs/gst/tmpl/gstelement.sgml:
19111         * docs/gst/tmpl/gstevent.sgml:
19112         * docs/gst/tmpl/gstfakesrc.sgml:
19113         * docs/gst/tmpl/gstformat.sgml:
19114         * docs/gst/tmpl/gstghostpad.sgml:
19115         * docs/gst/tmpl/gstpad.sgml:
19116         * docs/gst/tmpl/gstquery.sgml:
19117         * docs/gst/tmpl/gststructure.sgml:
19118         * docs/gst/tmpl/gsttaglist.sgml:
19119         * docs/gst/tmpl/gstvalue.sgml:
19120         * docs/libs/gstreamer-libs-docs.sgml:
19121         * docs/libs/gstreamer-libs-sections.txt:
19122         * docs/libs/gstreamer-libs.types:
19123         * libs/gst/Makefile.am:
19124         * libs/gst/control/.cvsignore:
19125         * libs/gst/control/Makefile.am:
19126         * libs/gst/control/control.c:
19127         * libs/gst/control/control.h:
19128         * libs/gst/control/dparam.c:
19129         * libs/gst/control/dparam.h:
19130         * libs/gst/control/dparam_smooth.c:
19131         * libs/gst/control/dparam_smooth.h:
19132         * libs/gst/control/dparamcommon.h:
19133         * libs/gst/control/dparammanager.c:
19134         * libs/gst/control/dparammanager.h:
19135         * libs/gst/control/dplinearinterp.c:
19136         * libs/gst/control/dplinearinterp.h:
19137         * libs/gst/control/unitconvert.c:
19138         * libs/gst/control/unitconvert.h:
19139         * testsuite/Makefile.am:
19140         * testsuite/dynparams/.cvsignore:
19141         * testsuite/dynparams/Makefile.am:
19142         * testsuite/dynparams/dparamstest.c:
19143         * tools/Makefile.am:
19144         * tools/gst-inspect.c: (print_element_info), (main):
19145         * tools/gst-xmlinspect.c: (print_element_info), (main):
19146           deactivate and remove dparams (libgstcontrol)
19147
19148 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19149
19150         * gst/elements/gsttypefindelement.c:
19151         (gst_type_find_element_have_type), (gst_type_find_element_init),
19152         (stop_typefinding), (gst_type_find_element_handle_event),
19153         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19154         * gst/elements/gsttypefindelement.h:
19155           Set caps on all outgoing buffers, not just the first one.
19156
19157 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19158
19159         * gst/elements/gsttypefindelement.c:
19160         (gst_type_find_element_have_type),
19161         (gst_type_find_element_check_set_buffer_caps),
19162         (gst_type_find_element_init), (stop_typefinding),
19163         (gst_type_find_element_handle_event),
19164         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19165         * gst/elements/gsttypefindelement.h:
19166           Set caps on first outgoing buffer when we've found the type.
19167
19168 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19169
19170         * docs/gst/gstreamer-docs.sgml:
19171         * docs/gst/gstreamer-sections.txt:
19172         * docs/gst/tmpl/gstscheduler.sgml:
19173         * docs/gst/tmpl/gstschedulerfactory.sgml:
19174           Remove some old cruft from docs.
19175
19176 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
19177
19178         * gst/gstpad.h:
19179           Fix inline docs for GstPadLinkReturn.
19180           
19181         * gst/gststructure.c: (gst_structure_has_name):
19182         * gst/gststructure.h:
19183         * docs/gst/gstreamer-sections.txt:
19184           New API: gst_structure_has_name().
19185
19186 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
19187
19188         * configure.ac:
19189           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
19190           and _LARGEFILE_SOURCE in config.h as required. Do not 
19191           export those flags in our .pc files any longer (#142209).
19192
19193           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19194
19195         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
19196         (gst_file_sink_do_seek), (gst_file_sink_event),
19197         (gst_file_sink_get_current_offset), (gst_file_sink_render):
19198           Redo seek/tell calls with large file support in mind; add some
19199           debugging messages; add log message that tells us when large
19200           file support is unavailable or not enabled for some reason.
19201
19202         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
19203           Add log message that tells us when large file support 
19204           is unavailable or not enabled for some reason.
19205
19206 2005-07-29  Wim Taymans  <wim@fluendo.com>
19207
19208         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19209         Added test for removing an element with ghostpad from a bin.
19210         Fixed test as current implementation does the right thing.
19211
19212         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
19213         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
19214         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
19215         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
19216         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
19217         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
19218         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
19219         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19220         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
19221         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
19222         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
19223         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
19224         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
19225         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
19226         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
19227         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
19228         * gst/gstghostpad.h:
19229         Clean up ghostpads, remove properties for internal stuff.
19230         Make threadsafe.
19231         Fix refcounting.
19232         Prepare for switching targets, not all use cases work yet.
19233
19234 2005-07-29  Wim Taymans  <wim@fluendo.com>
19235
19236         * docs/design/part-gstghostpad.txt:
19237         Small update.
19238
19239         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19240         (gst_bin_remove_func):
19241         Unlinking pads while holding the bin LOCK is not a good
19242         idea.
19243
19244         * gst/gstpad.c: (gst_pad_class_init),
19245         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
19246         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
19247         No prob setting template after creating the pad.
19248
19249 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
19250
19251         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
19252         (gst_bus_peek), (gst_bus_source_dispatch),
19253         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
19254         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
19255           gst_bus_poll may be called from other threads. Handle
19256           this nicely by not making poll_data disappear off the
19257           stack once gst_bus_poll returns.
19258           gst_bus_peek now increments the refcount on the returned
19259           message.
19260
19261 2005-07-29  Wim Taymans  <wim@fluendo.com>
19262
19263         * docs/design/part-gstghostpad.txt:
19264         Overview of current GhostPad datastructures and use
19265         cases for changing the target.
19266
19267 2005-07-28  Wim Taymans  <wim@fluendo.com>
19268
19269         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19270         Added checks for hierarchy consistency whan adding linked
19271         elements to bins.
19272
19273         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19274         Added check to test element scheduling without bin/pipeline.
19275
19276         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19277         First add elements to bin, then link.
19278         
19279         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19280         (gst_bin_remove_func):
19281         Unlink pads from elements added/removed from bin to maintain
19282         hierarchy consistency.
19283
19284 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19285
19286         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19287         (gst_base_transform_handle_buffer):
19288         * gst/base/gstbasetransform.h:
19289           Remove broken delay_configure (fixes renegotiation of software
19290           scaling pipelines); remove some leftover printf()s.
19291
19292 2005-07-28  Wim Taymans  <wim@fluendo.com>
19293
19294         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19295         Added some more tests for wrong hierarchy
19296
19297         * docs/design/part-overview.txt:
19298         Some updates.
19299
19300         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
19301         Cleanups.
19302
19303         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
19304         (gst_element_dispose):
19305         Some more cleanups.
19306
19307         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
19308         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
19309         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19310         (gst_pad_set_caps), (gst_pad_send_event):
19311         Check for correct hierarchy when linking pads. Moving to
19312         strict requirement for ghostpads when linking elements in
19313         different bins.
19314
19315         * gst/gstpad.h:
19316         Clean ups. Added WRONG_HIERARCHY return value.
19317
19318 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19319
19320         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19321           Better debug if no transform is possible.
19322
19323 2005-07-27  Wim Taymans  <wim@fluendo.com>
19324
19325         * docs/random/wtay/network-transp:
19326         Some old doc I had.
19327
19328 2005-07-27  Wim Taymans  <wim@fluendo.com>
19329
19330         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19331         (gst_dp_event_from_packet):
19332         Fix serialization of seek events.
19333
19334 2005-07-27  Wim Taymans  <wim@fluendo.com>
19335
19336         * check/gst-libs/gdp.c: (GST_START_TEST):
19337         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19338         Fix compilation and fix event serialization.
19339
19340 2005-07-27  Wim Taymans  <wim@fluendo.com>
19341
19342         * CHANGES-0.9:
19343         * docs/design/part-TODO.txt:
19344         * docs/design/part-events.txt:
19345         Some docs updates
19346
19347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19348         (gst_base_sink_event), (gst_base_sink_do_sync),
19349         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19350         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19351         (gst_base_src_do_seek), (gst_base_src_event_handler),
19352         (gst_base_src_loop):
19353         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19354         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19355         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19356         (gst_base_transform_event), (gst_base_transform_handle_buffer),
19357         (gst_base_transform_set_passthrough),
19358         (gst_base_transform_is_passthrough):
19359         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19360         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19361         Event updates.
19362
19363         * gst/gstbuffer.h:
19364         Use faster casts.
19365
19366         * gst/gstelement.c: (gst_element_seek):
19367         * gst/gstelement.h:
19368         Update gst_element_seek.
19369
19370         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
19371         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
19372         (gst_event_new_flush_start), (gst_event_new_flush_stop),
19373         (gst_event_new_eos), (gst_event_new_newsegment),
19374         (gst_event_parse_newsegment), (gst_event_new_tag),
19375         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
19376         (gst_event_parse_qos), (gst_event_new_seek),
19377         (gst_event_parse_seek), (gst_event_new_navigation):
19378         * gst/gstevent.h:
19379         Make GstEvent use GstStructure. Add parsing code, make sure the
19380         API is sufficiently generic.
19381         Mark possible directions of events and serialization.
19382
19383         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
19384         (_gst_message_copy), (gst_message_new_segment_start),
19385         (gst_message_new_segment_done), (gst_message_new_custom),
19386         (gst_message_parse_segment_start),
19387         (gst_message_parse_segment_done):
19388         Small cleanups.
19389
19390         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19391         (gst_pad_set_caps), (gst_pad_send_event):
19392         Update for new events. 
19393         Catch events sent in wrong directions.
19394
19395         * gst/gstqueue.c: (gst_queue_link_src),
19396         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
19397         (gst_queue_handle_src_query):
19398         Event updates.
19399
19400         * gst/gsttag.c:
19401         * gst/gsttag.h:
19402         Remove event code from this file.
19403
19404         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19405         (gst_dp_event_from_packet):
19406         Event updates.
19407
19408 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19409
19410         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
19411         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19412         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
19413           Make debugging actually useful.
19414
19415 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19416
19417         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
19418         (gst_pad_fixate_caps):
19419           Implement default fixation once again, so that gst_pad_fixate()
19420           actually does anything at all. This probably needs to be some
19421           sort of a last resort, and use profile-based fixation first, but
19422           since that doesn't exist yet, this is the best we have. Fixes
19423           visualization in Totem.
19424
19425 2005-07-22  Wim Taymans  <wim@fluendo.com>
19426
19427         * docs/design/part-events.txt:
19428         Small update.
19429
19430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19431         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
19432         (gst_base_sink_activate_pull):
19433         Some more comments.
19434
19435         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
19436         (gst_fake_src_create):
19437         Fix handoff marshall.
19438
19439         * gst/elements/gstidentity.c: (gst_identity_class_init),
19440         (gst_identity_transform_ip):
19441         We're a real inplace element.
19442
19443         * gst/gstbus.c: (gst_bus_post):
19444         Added some comments.
19445
19446         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
19447         * tests/muxing/case1.c: (main):
19448         * tests/sched/dynamic-pipeline.c: (main):
19449         * tests/sched/interrupt1.c: (main):
19450         * tests/sched/interrupt2.c: (main):
19451         * tests/sched/interrupt3.c: (main):
19452         * tests/sched/runxml.c: (main):
19453         * tests/sched/sched-stress.c: (main):
19454         * tests/seeking/seeking1.c: (event_received), (main):
19455         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
19456         (main):
19457         * tests/threadstate/threadstate3.c: (main):
19458         * tests/threadstate/threadstate4.c: (main):
19459         * tests/threadstate/threadstate5.c: (main):
19460         Fix the tests.
19461
19462 2005-07-21  Wim Taymans  <wim@fluendo.com>
19463
19464         * docs/design/part-seeking.txt:
19465         Some small additions.
19466
19467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19468         (gst_base_sink_get_times), (gst_base_sink_do_sync),
19469         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19470         * gst/base/gstbasesink.h:
19471         discont values are gint64, handle the math correctly.
19472
19473         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19474         Make the basesrc report error if the source pad is not linked.
19475
19476         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19477         (gst_queue_loop), (gst_queue_handle_src_query),
19478         (gst_queue_src_activate_push):
19479         Make queue collect data even if the srcpad is not linked.
19480         Start pushing out data as soon as it is linked.
19481
19482         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
19483         * gst/gstutils.h:
19484         Added gst_flow_get_name() to ease error reporting.
19485
19486 2005-07-20  Wim Taymans  <wim@fluendo.com>
19487
19488         * gst/gstmessage.c: (gst_message_new_segment_start),
19489         (gst_message_new_segment_done), (gst_message_parse_segment_start),
19490         (gst_message_parse_segment_done):
19491         * gst/gstmessage.h:
19492         Added a bunch of messages for advanced seeking.
19493
19494         * gst/parse/grammar.y:
19495         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
19496         (gst_dpman_state_changed):
19497         Fix some new-pad -> pad-added signals
19498
19499 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19500
19501         * docs/manual/appendix-porting.xml:
19502         * docs/pwg/appendix-porting.xml:
19503           Document new-pad/state-change signal renames and the FixedList
19504           type rename.
19505
19506 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19507
19508         * docs/manual/advanced-autoplugging.xml:
19509         * docs/manual/basics-helloworld.xml:
19510         * docs/manual/basics-pads.xml:
19511         * docs/random/ds/0.9-suggested-changes:
19512         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
19513         * gst/gstelement.h:
19514         * gst/gstevent.h:
19515         * gst/gstformat.h:
19516         * gst/gstquery.h:
19517         * gst/gststructure.c: (gst_structure_value_get_generic_type),
19518         (gst_structure_parse_array), (gst_structure_parse_value):
19519         * gst/gstvalue.c: (gst_type_is_fixed),
19520         (gst_value_list_prepend_value), (gst_value_list_append_value),
19521         (gst_value_list_get_size), (gst_value_list_get_value),
19522         (gst_value_transform_array_string), (gst_value_serialize_array),
19523         (gst_value_deserialize_array), (gst_value_intersect_array),
19524         (gst_value_is_fixed), (_gst_value_initialize):
19525         * gst/gstvalue.h:
19526           GstElement::new-pad -> pad-added, GstElement::state-change ->
19527           state-changed, GstValueFixedList -> GstValueArray, add format and
19528           flags as their own arguments in gst_element_seek() (should improve
19529           "bindeability"), remove function generators since they don't work
19530           under a whole bunch of compilers (they were deprecated already
19531           anyway).
19532
19533 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19534
19535         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19536         (_gst_debug_register_funcptr):
19537         * gst/gstinfo.h:
19538           Fix illegal cast on some platforms (#309253).
19539
19540 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19541
19542         * gst/gstmessage.c: (gst_message_new_custom):
19543         * gst/gstmessage.h:
19544           Add _new_custom, make _new_application a macro to _new_custom.
19545
19546 2005-07-20  Wim Taymans  <wim@fluendo.com>
19547
19548         * gst/base/gstbasesrc.c: (gst_base_src_init),
19549         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19550         * gst/base/gstbasesrc.h:
19551         Add a gboolean to decide when to push out a discont.
19552
19553         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19554         (gst_queue_loop), (gst_queue_handle_src_query),
19555         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
19556         (gst_queue_set_property), (gst_queue_get_property):
19557         Some cleanups.
19558
19559         * tests/threadstate/threadstate1.c: (main):
19560         Make a thread test compile and run... very silly..
19561
19562
19563 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19564
19565         * docs/manual/appendix-porting.xml:
19566           Mention removal of libgstgconf-0.9.la and existence of gconf
19567           elements.
19568
19569 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19570
19571         * docs/pwg/advanced-clock.xml:
19572         * docs/pwg/appendix-porting.xml:
19573         * docs/pwg/intro-preface.xml:
19574         * docs/pwg/other-base.xml:
19575         * docs/pwg/other-manager.xml:
19576         * docs/pwg/other-nton.xml:
19577         * docs/pwg/other-ntoone.xml:
19578         * docs/pwg/other-oneton.xml:
19579         * docs/pwg/pwg.xml:
19580           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
19581           demuxer), remove n-to-n (was never written), fix some code examples
19582           and links and update the porting section to include all this.
19583
19584 2005-07-19  Wim Taymans  <wim@fluendo.com>
19585
19586         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
19587         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
19588         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
19589         (gst_queue_src_activate_push), (gst_queue_change_state),
19590         (gst_queue_get_property):
19591         * gst/gstqueue.h:
19592         Propagate GstFlowReturn more intelligently upstream and output
19593         an ERROR/EOS when streaming stopped due to fatal error.
19594
19595 2005-07-19  Wim Taymans  <wim@fluendo.com>
19596
19597         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19598         Don't block forever for the state change to complete, the
19599         pipeline already did with a sensible timeout.
19600
19601 2005-07-19  Wim Taymans  <wim@fluendo.com>
19602
19603         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19604         Make sure we never call the create function is we
19605         got deactivated.
19606
19607 2005-07-19  Andy Wingo  <wingo@pobox.com>
19608
19609         * gst/parse/parse.l: Attempt to solve bug #172815.
19610
19611 2005-07-19  Wim Taymans  <wim@fluendo.com>
19612
19613         * docs/design/part-clocks.txt:
19614         * docs/design/part-events.txt:
19615         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
19616         Small docs updates.
19617         Only update the seeking values when we are not
19618         busy streaming.
19619
19620 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19621
19622         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19623           Oops, ignore the result of gst_pad_push_event here.
19624
19625 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19626
19627         * gst/base/gstbasesrc.c: (gst_base_src_loop),
19628         (gst_base_src_activate_push):
19629           Send discont event from the loop function, as pads
19630           aren't activated yet in the activate_push handler.
19631
19632         * gst/gstbin.c: (bin_bus_handler):
19633           Don't leak element name.
19634
19635 2005-07-18  Andy Wingo  <wingo@pobox.com>
19636
19637         * configure.ac: Use AS_LIBTOOL_TAGS.
19638
19639 2005-07-18  Wim Taymans  <wim@fluendo.com>
19640
19641         * docs/gst/gstreamer.types:
19642         Remove deleted types.
19643
19644 2005-07-18  Wim Taymans  <wim@fluendo.com>
19645
19646         * check/elements/gstfakesrc.c: (GST_START_TEST):
19647         * configure.ac:
19648         * gst/Makefile.am:
19649         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
19650         (init_popt_callback):
19651         * gst/gst.h:
19652         * gst/gst_private.h:
19653         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
19654         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
19655         * gst/gstbin.h:
19656         * gst/gstbus.h:
19657         * gst/gstconfig.h.in:
19658         * gst/gstelement.c: (gst_element_class_init),
19659         (gst_element_set_base_time), (gst_element_get_base_time),
19660         (iterator_fold_with_resync), (gst_element_change_state),
19661         (gst_element_dispose), (gst_element_get_bus):
19662         * gst/gstelement.h:
19663         * gst/gstelementfactory.h:
19664         * gst/gsterror.c: (_gst_core_errors_init):
19665         * gst/gsterror.h:
19666         * gst/gstevent.h:
19667         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19668         * gst/gstindex.c:
19669         * gst/gstinfo.c: (_gst_debug_init):
19670         * gst/gstmessage.c: (_gst_message_copy):
19671         * gst/gstmessage.h:
19672         * gst/gstminiobject.h:
19673         * gst/gstobject.c:
19674         * gst/gstobject.h:
19675         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19676         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19677         * gst/gstpad.h:
19678         * gst/gstparse.h:
19679         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19680         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19681         (gst_pipeline_get_last_stream_time):
19682         * gst/gstpipeline.h:
19683         * gst/gstpluginfeature.h:
19684         * gst/gstquery.h:
19685         * gst/gstscheduler.c:
19686         * gst/gstscheduler.h:
19687         * gst/gststructure.h:
19688         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19689         (gst_task_finalize), (gst_task_func), (gst_task_create),
19690         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19691         (gst_task_stop), (gst_task_pause):
19692         * gst/gsttask.h:
19693         * gst/gsttypefind.h:
19694         * gst/gsttypes.h:
19695         * gst/registries/gstlibxmlregistry.c: (load_feature),
19696         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19697         * gst/registries/gstxmlregistry.c:
19698         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19699         * gst/schedulers/threadscheduler.c:
19700         * libs/gst/control/dparammanager.h:
19701         * tools/gst-inspect.c: (print_element_list),
19702         (print_plugin_features), (print_element_features):
19703         * tools/gst-xmlinspect.c: (print_element_list),
19704         (print_plugin_info), (main):
19705         Removed plugable schedulers.
19706         Removed Scheduler/Manager from elements.
19707         Removed gsttypes.h, rearranged includes.
19708         Removed dependency pad<->element, element<>pipeline, and
19709         various others,  fix includes.
19710         implement gst_pad_get_parent() with gst_object_get_parent()
19711         Make GstTask sefcontained.
19712         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19713         timeout.
19714         Fix endless loop in iterator_fold_with_resync.
19715
19716
19717 2005-07-18  Wim Taymans  <wim@fluendo.com>
19718
19719         * gst/Makefile.am:
19720         * gst/gstarch.h:
19721         Remove old file.
19722
19723 2005-07-18  Wim Taymans  <wim@fluendo.com>
19724
19725         * gst/Makefile.am:
19726         No more cothreads.h
19727
19728 2005-07-18  Wim Taymans  <wim@fluendo.com>
19729
19730         * gst/cothreads.c:
19731         * gst/cothreads.h:
19732         Let's remove these.
19733
19734 2005-07-18  Wim Taymans  <wim@fluendo.com>
19735
19736         * docs/design/part-dynamic.txt:
19737         * docs/design/part-events.txt:
19738         * docs/design/part-seeking.txt:
19739         Some more docs in the works.
19740
19741         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19742         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19743         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19744         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19745         (gst_base_transform_handle_buffer),
19746         (gst_base_transform_sink_activate_push),
19747         (gst_base_transform_src_activate_pull),
19748         (gst_base_transform_set_passthrough),
19749         (gst_base_transform_is_passthrough):
19750         Refcounting fixes.
19751
19752         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19753         Cleanups.
19754
19755         * gst/gstevent.c: (gst_event_finalize):
19756         Set SRC to NULL.
19757
19758         * gst/gstutils.c: (gst_element_unlink),
19759         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19760         (gst_pad_proxy_setcaps):
19761         * gst/gstutils.h:
19762         Add _get_parent_element() to get a pads parent as an element.
19763
19764 2005-07-18  Wim Taymans  <wim@fluendo.com>
19765
19766         * check/gst/gstbin.c: (GST_START_TEST):
19767         Remove bogus test.
19768
19769 2005-07-18  Wim Taymans  <wim@fluendo.com>
19770
19771         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19772         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19773         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19774         (gst_base_sink_event), (gst_base_sink_do_sync),
19775         (gst_base_sink_chain), (gst_base_sink_loop),
19776         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19777         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19778         Refcounting fixes.
19779         Fix logic for returning ASYNC when not prerolled.
19780
19781 2005-07-18  Wim Taymans  <wim@fluendo.com>
19782
19783         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19784         Fix nasty refcount bug.
19785
19786 2005-07-16 Philippe Khalaf <burger@speedy.org>
19787
19788         * gst/elements/gstfdsrc.c:
19789         * gst/elements/gstfdsrc.h:
19790         * gst/elements/gstelements.c:
19791         * gst/elements/Makefile.am:
19792         Ported fdsrc to 0.9.
19793
19794 2005-07-16  Wim Taymans  <wim@fluendo.com>
19795
19796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19797         (gst_base_sink_do_sync):
19798         Fix compile error.
19799
19800 2005-07-16  Wim Taymans  <wim@fluendo.com>
19801
19802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19803         (gst_base_sink_event), (gst_base_sink_get_times),
19804         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19805         * gst/base/gstbasesink.h:
19806         Store and use discont values when syncing buffers as described
19807         in design docs.
19808         
19809         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19810         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19811         (gst_base_src_activate_push):
19812         Push discont event when starting.
19813
19814         * gst/elements/gstidentity.c: (gst_identity_transform):
19815         Small cleanups.
19816
19817         * gst/gstbin.c: (gst_bin_change_state):
19818         Small cleanups in base_time  distribution.
19819
19820         * gst/gstelement.c: (gst_element_set_base_time),
19821         (gst_element_get_base_time), (gst_element_change_state):
19822         * gst/gstelement.h:
19823         Added methods for the base_time of the element.
19824         Some MT fixes.
19825
19826         * gst/gstpipeline.c: (gst_pipeline_send_event),
19827         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19828         (gst_pipeline_get_last_stream_time):
19829         * gst/gstpipeline.h:
19830         MT fixes.
19831         Handle seeking as described in design doc, remove stream_time
19832         hack.
19833         Cleanups clock and stream_time selection code. Added accessors
19834         for the stream_time.
19835         
19836
19837 2005-07-16  Andy Wingo  <wingo@pobox.com>
19838
19839         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19840         (#305291).
19841
19842 2005-07-16  Wim Taymans  <wim@fluendo.com>
19843
19844         * check/gst/gstbin.c: (GST_START_TEST):
19845         Make elements silent as the deep_notify refs the
19846         parent, which might make the test fail.
19847
19848         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19849         Don't hold the lock for too long.
19850
19851 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19852
19853         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19854           Don't unref the caps we passed to gst_caps_make_writable() after
19855           passing them. gst_caps_make_writable() will do that for us.
19856
19857 2005-07-15  Andy Wingo  <wingo@pobox.com>
19858
19859         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19860         (#157311).
19861
19862         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19863         own marshalling function for the handoff signal. Properly type the
19864         buffer as a buffer. Fixes some warnings. Should do a more general
19865         solution.
19866         (gst_identity_class_init): Plug into the right marshaller.
19867
19868 2005-07-15  Wim Taymans  <wim@fluendo.com>
19869
19870         * docs/design/part-TODO.txt:
19871         * docs/design/part-clocks.txt:
19872         * docs/design/part-element-sink.txt:
19873         * docs/design/part-events.txt:
19874         * docs/design/part-gstpipeline.txt:
19875         Updated docs, mostly DISCONT related.
19876
19877 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19878
19879         * docs/pwg/building-pads.xml:
19880           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19881
19882 2005-07-15  Andy Wingo  <wingo@pobox.com>
19883
19884         * tools/gst-typefind.c: Update, add copyright block.
19885
19886         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19887         Normalize and truncate caps before fixation.
19888
19889         * gst/gstcaps.h:
19890         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19891         discards all but the first structure from its argument.
19892
19893 2005-07-15  Wim Taymans  <wim@fluendo.com>
19894
19895         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19896         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19897         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19898         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19899         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19900         (gst_base_transform_chain), (gst_base_transform_change_state),
19901         (gst_base_transform_set_passthrough),
19902         (gst_base_transform_is_passthrough):
19903         * gst/base/gstbasetransform.h:
19904         Make passthrough work using the bufferpools.
19905         Changed API a bit, subclasses have to write into a buffer
19906         provided by the base class.
19907         More debug info in nego functions.
19908         
19909         * gst/elements/gstidentity.c: (gst_identity_init),
19910         (gst_identity_transform):
19911         Port to new base class.
19912
19913 2005-07-15  Wim Taymans  <wim@fluendo.com>
19914
19915         * gst/gstmessage.c: (gst_message_new_state_changed):
19916         * tools/gst-launch.c: (event_loop), (main):
19917         Totally dump messages in -launch with the -m option.
19918         Fix message name for State messages,
19919
19920 2005-07-14  Wim Taymans  <wim@fluendo.com>
19921
19922         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19923         Post error messages on errors.
19924
19925 2005-07-14  Wim Taymans  <wim@fluendo.com>
19926
19927         * gst/gstcaps.c: (gst_caps_do_simplify):
19928         Remove debug info.
19929
19930         * gst/gsterror.h:
19931         Define error for stream stopped.
19932
19933         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19934         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19935         Do proper return values.
19936
19937         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19938         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19939         (gst_pad_get_range):
19940         Better return values.
19941
19942         * gst/gstpad.h:
19943         Reorganise return values, add macro to check for fatal errors.
19944
19945         * gst/gstqueue.c: (gst_queue_chain):
19946         Return proper GstFlowReturn values,
19947
19948 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19949
19950         * docs/gst/gstreamer-sections.txt:
19951         * docs/gst/gstreamer.types:
19952         * docs/gst/tmpl/gst.sgml:
19953         * docs/gst/tmpl/gstbasesink.sgml:
19954         * docs/gst/tmpl/gstbasesrc.sgml:
19955         * docs/gst/tmpl/gstbasetransform.sgml:
19956         * docs/gst/tmpl/gstbin.sgml:
19957         * docs/gst/tmpl/gstbuffer.sgml:
19958         * docs/gst/tmpl/gstcaps.sgml:
19959         * docs/gst/tmpl/gstclock.sgml:
19960         * docs/gst/tmpl/gstcompat.sgml:
19961         * docs/gst/tmpl/gstconfig.sgml:
19962         * docs/gst/tmpl/gstelement.sgml:
19963         * docs/gst/tmpl/gstelementdetails.sgml:
19964         * docs/gst/tmpl/gstelementfactory.sgml:
19965         * docs/gst/tmpl/gstenumtypes.sgml:
19966         * docs/gst/tmpl/gsterror.sgml:
19967         * docs/gst/tmpl/gstevent.sgml:
19968         * docs/gst/tmpl/gstfakesink.sgml:
19969         * docs/gst/tmpl/gstfakesrc.sgml:
19970         * docs/gst/tmpl/gstfilesink.sgml:
19971         * docs/gst/tmpl/gstfilesrc.sgml:
19972         * docs/gst/tmpl/gstfilter.sgml:
19973         * docs/gst/tmpl/gstformat.sgml:
19974         * docs/gst/tmpl/gstghostpad.sgml:
19975         * docs/gst/tmpl/gstimplementsinterface.sgml:
19976         * docs/gst/tmpl/gstindex.sgml:
19977         * docs/gst/tmpl/gstindexfactory.sgml:
19978         * docs/gst/tmpl/gstinfo.sgml:
19979         * docs/gst/tmpl/gstiterator.sgml:
19980         * docs/gst/tmpl/gstmacros.sgml:
19981         * docs/gst/tmpl/gstmemchunk.sgml:
19982         * docs/gst/tmpl/gstminiobject.sgml:
19983         * docs/gst/tmpl/gstobject.sgml:
19984         * docs/gst/tmpl/gstpad.sgml:
19985         * docs/gst/tmpl/gstpadtemplate.sgml:
19986         * docs/gst/tmpl/gstparse.sgml:
19987         * docs/gst/tmpl/gstpipeline.sgml:
19988         * docs/gst/tmpl/gstplugin.sgml:
19989         * docs/gst/tmpl/gstpluginfeature.sgml:
19990         * docs/gst/tmpl/gstquery.sgml:
19991         * docs/gst/tmpl/gstqueue.sgml:
19992         * docs/gst/tmpl/gstregistry.sgml:
19993         * docs/gst/tmpl/gstregistrypool.sgml:
19994         * docs/gst/tmpl/gstscheduler.sgml:
19995         * docs/gst/tmpl/gstschedulerfactory.sgml:
19996         * docs/gst/tmpl/gststructure.sgml:
19997         * docs/gst/tmpl/gstsystemclock.sgml:
19998         * docs/gst/tmpl/gsttaglist.sgml:
19999         * docs/gst/tmpl/gsttagsetter.sgml:
20000         * docs/gst/tmpl/gsttrace.sgml:
20001         * docs/gst/tmpl/gsttrashstack.sgml:
20002         * docs/gst/tmpl/gsttypefind.sgml:
20003         * docs/gst/tmpl/gsttypefindfactory.sgml:
20004         * docs/gst/tmpl/gsttypes.sgml:
20005         * docs/gst/tmpl/gsturihandler.sgml:
20006         * docs/gst/tmpl/gsturitype.sgml:
20007         * docs/gst/tmpl/gstutils.sgml:
20008         * docs/gst/tmpl/gstvalue.sgml:
20009         * docs/gst/tmpl/gstversion.sgml:
20010         * docs/gst/tmpl/gstxml.sgml:
20011         * docs/libs/tmpl/gstcontrol.sgml:
20012         * docs/libs/tmpl/gstdataprotocol.sgml:
20013         * docs/libs/tmpl/gstdparam.sgml:
20014         * docs/libs/tmpl/gstdplinint.sgml:
20015         * docs/libs/tmpl/gstdpman.sgml:
20016         * docs/libs/tmpl/gstdpsmooth.sgml:
20017         * docs/libs/tmpl/gstgetbits.sgml:
20018         * docs/libs/tmpl/gstunitconvert.sgml:
20019         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
20020         (gst_push_src_base_init), (gst_push_src_class_init),
20021         (gst_push_src_init), (gst_push_src_create):
20022         * gst/base/gstpushsrc.h:
20023         * gst/elements/gstelements.c:
20024         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
20025         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
20026         (gst_fake_sink_init), (gst_fake_sink_set_property),
20027         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
20028         (gst_fake_sink_event), (gst_fake_sink_preroll),
20029         (gst_fake_sink_render), (gst_fake_sink_change_state):
20030         * gst/elements/gstfakesink.h:
20031         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20032         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20033         (gst_fake_src_base_init), (gst_fake_src_class_init),
20034         (gst_fake_src_init), (gst_fake_src_event_handler),
20035         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
20036         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
20037         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
20038         (gst_fake_src_create_buffer), (gst_fake_src_create),
20039         (gst_fake_src_start), (gst_fake_src_stop):
20040         * gst/elements/gstfakesrc.h:
20041         * gst/elements/gstfilesink.c: (_do_init),
20042         (gst_file_sink_base_init), (gst_file_sink_class_init),
20043         (gst_file_sink_init), (gst_file_sink_dispose),
20044         (gst_file_sink_set_location), (gst_file_sink_set_property),
20045         (gst_file_sink_get_property), (gst_file_sink_open_file),
20046         (gst_file_sink_close_file), (gst_file_sink_query),
20047         (gst_file_sink_event), (gst_file_sink_render),
20048         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
20049         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
20050         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
20051         * gst/elements/gstfilesink.h:
20052         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
20053         (gst_file_src_class_init), (gst_file_src_init),
20054         (gst_file_src_finalize), (gst_file_src_set_location),
20055         (gst_file_src_set_property), (gst_file_src_get_property),
20056         (gst_file_src_map_region), (gst_file_src_map_small_region),
20057         (gst_file_src_create_mmap), (gst_file_src_create_read),
20058         (gst_file_src_create), (gst_file_src_is_seekable),
20059         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
20060         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
20061         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
20062         (gst_file_src_uri_handler_init):
20063         * gst/elements/gstfilesrc.h:
20064           more autistic cleanliness in functions/names/defines
20065
20066 2005-07-13  Andy Wingo  <wingo@pobox.com>
20067
20068         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
20069         source couldn't negotiate.
20070
20071         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
20072         connections again.
20073
20074         * gst/gstutils.h:
20075         * gst/gstutils.c (gst_element_link_pads_filtered): New old
20076         function. I am channeling Hades. Put your boots on suckers!!!
20077
20078 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20079
20080         * testsuite/caps/Makefile.am:
20081         * testsuite/caps/value_compare.c:
20082         * testsuite/caps/value_intersect.c:
20083         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20084           move two testsuite apps over to the check dir
20085
20086 2005-07-12  Wim Taymans  <wim@fluendo.com>
20087
20088         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20089         Added more debug info in the negotiate process.
20090
20091         * gst/gstmessage.h:
20092         Prepare for segment playback.
20093
20094         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
20095         Better debugging.
20096
20097         * gst/gstutils.c:
20098         Some more docs.
20099
20100         * tools/gst-launch.c: (main):
20101         NULL pipeline on errors.
20102
20103 2005-07-12  Andy Wingo  <wingo@pobox.com>
20104
20105         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
20106         not it comes from a malloc region. Make sure our copy gets freed.
20107
20108 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20109
20110         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20111         * check/gst/gstmessage.c: (GST_START_TEST):
20112         * check/gst/gststructure.c: (GST_START_TEST),
20113         (gst_structure_suite), (main):
20114           more testing
20115         * gst/gstelement.c: (gst_element_message_full):
20116           clean up GError and debug string now that they get copied
20117         * gst/gstmessage.c: (gst_message_new_error),
20118         (gst_message_new_warning), (gst_message_parse_error),
20119         (gst_message_parse_warning):
20120           use GST_TYPE_G_ERROR for structure_new, and take copies of
20121           arguments, so that we don't mess up refcounting
20122
20123 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20124
20125         * check/Makefile.am:
20126           add per-test valgrind targets
20127         * check/gst-libs/gdp.c: (GST_START_TEST),
20128         (gst_data_protocol_suite), (main):
20129           clean up
20130
20131 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20132
20133         * check/Makefile.am:
20134           instate more valgrindable tests
20135         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20136         (GST_START_TEST), (fakesrc_suite):
20137         * check/gst/gstpad.c: (GST_START_TEST):
20138         * check/gst/gststructure.c: (GST_START_TEST):
20139           fix test leaks
20140         * docs/gst/tmpl/gstminiobject.sgml:
20141         * gst/gstpad.c: (gst_pad_finalize):
20142           fix the static mutex leak
20143
20144 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20145
20146         * check/Makefile.am:
20147           add two more tests for valgrinding
20148         * check/gst/gstvalue.c: (GST_START_TEST):
20149           test refcount of deserialized buffer, found a leak
20150         * docs/gst/gstreamer-docs.sgml:
20151         * docs/gst/gstreamer-sections.txt:
20152         * docs/gst/gstreamer.types:
20153         * docs/gst/tmpl/gstminiobject.sgml:
20154           add miniobject to docs
20155         * gst/gstminiobject.c:
20156           add some docs
20157         * gst/gstvalue.c: (gst_value_deserialize_buffer),
20158         (gst_string_unwrap):
20159           fix a hard-to-find invalid write for one of the tests
20160           fix a leak for deserialized buffers
20161
20162 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20163
20164         * docs/pwg/advanced-events.xml:
20165         * docs/pwg/advanced-request.xml:
20166         * docs/pwg/advanced-scheduling.xml:
20167         * docs/pwg/appendix-porting.xml:
20168         * docs/pwg/building-boiler.xml:
20169         * docs/pwg/intro-preface.xml:
20170         * docs/pwg/other-ntoone.xml:
20171           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
20172           of example code and explanation for pad activation, loop() and
20173           getrange() functions and a bit more. Remove old comments pointing
20174           to loop-functions.
20175         * examples/pwg/Makefile.am:
20176           Add loop/getrange examples.
20177
20178 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20179
20180         * configure.ac:
20181           check for valgrind binary + some fixes
20182         * check/gst.supp:
20183           valgrind suppressions for the tests
20184         * check/Makefile.am:
20185           add a valgrind: target that valgrinds the unit tests
20186         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
20187         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20188         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20189         * check/gst/gstghostpad.c:
20190           added some cleanup
20191         * check/gst/gstdata.c:
20192           removed
20193         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
20194         (thread_unref), (gst_mini_object_suite), (main):
20195           added
20196         * gst/gst.c: (gst_deinit):
20197         * gst/gst.h:
20198           add a method to clean up.
20199         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20200         (gst_system_clock_obtain):
20201           allow for disposing the system clock.
20202         * tools/gst-launch.c: (main):
20203           deinit
20204
20205 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20206
20207         * docs/gst/tmpl/gstbasesrc.sgml:
20208         * docs/gst/tmpl/gstfakesrc.sgml:
20209         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20210         (gst_base_src_init), (gst_base_src_set_property),
20211         (gst_base_src_get_property), (gst_base_src_get_range),
20212         (gst_base_src_start):
20213         * gst/base/gstbasesrc.h:
20214           add num-buffers property
20215         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20216         (gst_fakesrc_init), (gst_fakesrc_set_property),
20217         (gst_fakesrc_get_property), (gst_fakesrc_create),
20218         (gst_fakesrc_start):
20219           remove num-buffers property
20220
20221 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20222
20223         * docs/gst/gstreamer-sections.txt:
20224         * docs/gst/tmpl/gstbasesink.sgml:
20225         * docs/gst/tmpl/gstbasesrc.sgml:
20226         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20227         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20228         (gst_base_sink_finalize), (gst_base_sink_set_clock),
20229         (gst_base_sink_set_property), (gst_base_sink_get_property),
20230         (gst_base_sink_handle_object), (gst_base_sink_event),
20231         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20232         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
20233         (gst_base_sink_loop), (gst_base_sink_deactivate),
20234         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
20235         (gst_base_sink_change_state):
20236         * gst/base/gstbasesink.h:
20237         * gst/base/gstbasesrc.h:
20238         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
20239         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
20240         (gst_filesink_init):
20241           more macro splitting
20242
20243 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20244
20245         * gst/gstelement.c: (gst_element_get_bus):
20246           add debug
20247         * tools/gst-launch.c: (check_intr), (event_loop):
20248           fix bus leaks
20249
20250 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20251
20252         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
20253           fix a caps leak
20254
20255 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20256
20257         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20258         (gst_base_src_finalize):
20259           add finalize method and clean up properly
20260         * gst/gstpipeline.c: (gst_pipeline_dispose):
20261           add debug
20262
20263 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20264
20265         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
20266         (gst_bin_suite):
20267           add more things to check
20268         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20269         * gst/gstelement.c:
20270           more debug
20271
20272 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20273
20274         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20275         (GST_START_TEST), (fakesrc_suite):
20276         * check/gst-libs/gdp.c: (GST_START_TEST):
20277         * check/gst/gst.c: (GST_START_TEST):
20278         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20279         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20280         * check/gst/gstbus.c: (GST_START_TEST):
20281         * check/gst/gstcaps.c: (GST_START_TEST):
20282         * check/gst/gstdata.c: (GST_START_TEST):
20283         * check/gst/gstelement.c: (GST_START_TEST):
20284         * check/gst/gstghostpad.c: (GST_START_TEST):
20285         * check/gst/gstiterator.c: (GST_START_TEST):
20286         * check/gst/gstmessage.c: (GST_START_TEST):
20287         * check/gst/gstobject.c: (GST_START_TEST):
20288         * check/gst/gstpad.c: (GST_START_TEST):
20289         * check/gst/gststructure.c: (GST_START_TEST):
20290         * check/gst/gstsystemclock.c: (GST_START_TEST),
20291         (gst_systemclock_suite):
20292         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20293         * check/gst/gstvalue.c: (GST_START_TEST):
20294         * check/pipelines/cleanup.c: (GST_START_TEST):
20295         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20296         * check/states/sinks.c: (GST_START_TEST):
20297         * check/gstcheck.c: (gst_check_init):
20298         * check/gstcheck.h:
20299           add debugging category
20300           use GST_START_TEST now, so we add a debug line
20301
20302 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20303
20304         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
20305           add test for state change message on a bin
20306         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
20307           add another test
20308         * gst/gstbin.c: (gst_bin_init):
20309         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
20310         * gst/gstelement.c: (gst_element_post_message),
20311         (gst_element_set_state):
20312         * gst/gstelementfactory.c: (gst_element_factory_create):
20313         * gst/gstmessage.c: (gst_message_new):
20314         * gst/gstscheduler.c:
20315           various debugging additions and cleanups
20316
20317 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20318
20319         * check/Makefile.am:
20320         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
20321         (main):
20322           adding tests for elements
20323         * gst/gstelement.c: (gst_element_dispose):
20324
20325 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20326
20327         * gst/registries/gstlibxmlregistry.c: (load_feature):
20328           plug more leaks.  A simple gst_init() now is leakfree, yay.
20329
20330 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20331
20332         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
20333         (gst_xml_registry_load):
20334           plug another memleak
20335
20336 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20337
20338         * configure.ac:
20339           use GST_SET_ERROR_CFLAGS
20340         * docs/faq/cvs.xml:
20341           change to ERROR_CFLAGS
20342
20343 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20344
20345         * configure.ac:
20346           make GST_ERROR_CFLAGS overridable and re-enable Werror
20347         * docs/faq/cvs.xml:
20348           add a note about error CFLAGS
20349         * docs/gst/tmpl/gstfakesrc.sgml:
20350         * gst/elements/gstfakesrc.c:
20351           comment out some unused code
20352         * gst/gst.c: (split_and_iterate):
20353         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
20354         (load_feature):
20355           plug some memleaks
20356
20357 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20358
20359         * common/Makefile.am:
20360         * common/gtk-doc.mak:
20361         * docs/gst/Makefile.am:
20362           factor out gtk-doc.mak
20363
20364 2005-07-07  Wim Taymans  <wim@fluendo.com>
20365
20366         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
20367         (gst_thread_scheduler_dispose):
20368         Unlock the STREAM_LOCK completely.
20369
20370 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20371
20372         * check/Makefile.am:
20373         * check/elements/.cvsignore:
20374         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20375         (START_TEST), (fakesrc_suite), (main):
20376         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20377         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20378         (gst_fakesrc_create), (gst_fakesrc_start):
20379         * gst/elements/gstfakesrc.h:
20380           adding a first element test
20381
20382 2005-07-07  Andy Wingo  <wingo@pobox.com>
20383
20384         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
20385         debug message.
20386
20387 2005-07-07  Wim Taymans  <wim@fluendo.com>
20388
20389         * gst/gstquery.c:
20390         * gst/gstquery.h:
20391         Remove old types
20392
20393 2005-07-07  Wim Taymans  <wim@fluendo.com>
20394
20395         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20396         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
20397         Allow subclasses to implement their own negotiation.
20398
20399 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20400
20401         * docs/design/part-gstbin.txt:
20402         * docs/design/part-gstpipeline.txt:
20403           Update design notes to reflect the movement of
20404           responsibility for bus handling from GstPipeline to
20405           GstBin
20406
20407 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20408
20409         * configure.ac:
20410           Remove unnecessary queue2/3/4 examples.
20411
20412 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20413
20414         * examples/Makefile.am:
20415         * examples/helloworld/helloworld.c: (event_loop), (main):
20416         * examples/queue/queue.c: (event_loop), (main):
20417         * examples/queue2/queue2.c: (main):
20418           Update a couple of the examples to work again.
20419
20420         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20421         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
20422          Spelling corrections and extra debug.
20423         
20424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
20425         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
20426         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
20427         * gst/gstbin.h:
20428         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20429         (gst_pipeline_change_state):
20430         * gst/gstpipeline.h:
20431           Move the bus handler for children to the GstBin, and create a
20432           separate bus for receiving messages from children to the one the
20433           bus sends 'upwards' on.
20434
20435 2005-07-06  Wim Taymans  <wim@fluendo.com>
20436
20437         * gst/base/README:
20438         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20439         (gst_base_sink_handle_object), (gst_base_sink_loop),
20440         (gst_base_sink_change_state):
20441         * gst/base/gstbasesink.h:
20442         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20443         (gst_base_src_init), (gst_base_src_setcaps),
20444         (gst_base_src_getcaps), (gst_base_src_loop),
20445         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
20446         (gst_base_src_start), (gst_base_src_change_state):
20447         * gst/base/gstbasesrc.h:
20448         Make basesrc negotiate.
20449         Handle the case where preroll fails in basesink.
20450         Update README.
20451
20452 2005-07-06  Wim Taymans  <wim@fluendo.com>
20453
20454         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
20455         Implement the fixate function.
20456         Clean up acceptcaps.
20457
20458 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20459
20460         * docs/pwg/building-filterfactory.xml:
20461         * docs/pwg/pwg.xml:
20462           Remove never-written filter-factory chapter; I'll add the various
20463           base classes to part 4 ("other element types") later on.
20464
20465 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20466
20467         * docs/pwg/advanced-negotiation.xml:
20468         * docs/pwg/building-boiler.xml:
20469         * docs/pwg/building-pads.xml:
20470         * docs/pwg/pwg.xml:
20471         * examples/pwg/Makefile.am:
20472           Add a chapter on caps negotiation, simplify the original code
20473           samples a bit w.r.t. caps negotiation, add link to the advanced
20474           section. Add a bunch of examples showing different use cases of
20475           different types of caps negotiation. Upstream renegotiation isn't
20476           fully documented yet since nobody knows how that works.
20477
20478 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20479
20480         * check/gst/gstpad.c:
20481         * check/gstcheck.c:
20482         * gst/gstpad.c: (gst_pad_get_internal_links_default):
20483           if pad has no parent, return NULL as list of internal links
20484
20485 2005-07-05  Andy Wingo  <wingo@pobox.com>
20486
20487         * gst/elements/gstfilesrc.c:
20488         * gst/elements/gstfakesrc.c: 
20489         * gst/base/gstpushsrc.c:
20490         * gst/base/gstbasesrc.h: 
20491         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
20492         
20493 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
20494
20495         * Makefile.am:
20496           better report generation target (lcov needs a patch)
20497
20498 2005-07-05  Andy Wingo  <wingo@pobox.com>
20499
20500         * gst/elements, testsuite: Null if we got it...
20501
20502 2005-07-05  Wim Taymans  <wim@fluendo.com>
20503
20504         * configure.ac:
20505         * libs/gst/dataprotocol/Makefile.am:
20506         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
20507         * libs/gst/dataprotocol/dataprotocol.h:
20508         * pkgconfig/Makefile.am:
20509         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
20510         * pkgconfig/gstreamer-dataprotocol.pc.in:
20511         Ported dataprotol to 0.9. 
20512         Added pkgconfig files.
20513
20514 2005-07-05  Andy Wingo  <wingo@pobox.com>
20515
20516         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
20517         Default to returning TRUE for the case when tranform_caps returns
20518         a fixed caps, like for identity or volume.
20519
20520         * check/gst/gstbus.c (pound_bus_with_messages): 
20521         * check/gst/gstmessage.c (START_TEST): 
20522         * check/pipelines/simple_launch_lines.c (got_handoff): Application
20523         message API change.
20524
20525         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
20526         logic weaks here: always run transform_caps, trying passthrough
20527         operation only if the original caps intersects with the transform.
20528
20529         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
20530         source and sink caps.
20531
20532         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
20533         Intersect the peer caps with the pad template before going into
20534         transform_caps.
20535         (gst_base_transform_transform_caps): More debugging.
20536
20537         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
20538         src argument.
20539
20540 2005-07-04  Edward Hervey  <edward@fluendo.com>
20541
20542         * gst/gstutils.c:
20543         * gst/gstutils.h:
20544         (gst_pad_add_*_probe): now returns the signal id for better wrapping
20545         in bindings.
20546
20547 2005-07-04  Andy Wingo  <wingo@pobox.com>
20548
20549         * check/gst/gstpad.c: Only set explicit caps on pads.
20550
20551 2005-07-01  Andy Wingo  <wingo@pobox.com>
20552
20553         * tests/network-clock.scm: Commentary update.
20554
20555         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
20556         Didn't really make sense, not implementable with basetransform,
20557         etc.
20558         (gst_identity_transform): Unref inbuf via make_writable. Feeble
20559         attempt at implementing the sync property, needs an unlock method.
20560
20561         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
20562         New func, by default returns the same caps (the identity
20563         transformation).
20564         (gst_base_transform_getcaps): Uses transform_caps to return
20565         something sensible.
20566         (gst_base_transform_setcaps): Complicated logic to get caps on
20567         both pads, even if they are different, and to call set_caps once
20568         for every time both pads get their caps set.
20569         (gst_base_transform_handle_buffer): Give the ref to the transform
20570         function. Allows in-place modification of the buffer.
20571
20572         * gst/base/gstbasetransform.h (transform_caps): New class method.
20573         Given caps on one side, what can I do on the other.
20574         (set_caps): Take two caps, one for each side of the element.
20575
20576         * gst/gstpad.h:
20577         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
20578         caps in place. This is safe because we can check the mutability of
20579         the caps, and a good idea because fixate functions are just called
20580         as a matter of last resort. (Not actually implemented.)
20581         (gst_pad_set_caps): If the caps we're setting is actually the same
20582         as the existing pad caps, just update the pointer without calling
20583         setcaps. Assert that caps is either NULL or fixed, as per the
20584         docs.
20585
20586         * gst/gstghostpad.c: Update for fixate changes.
20587
20588 2005-07-02  Andy Wingo  <wingo@pobox.com>
20589
20590         * gst/gstcaps.c:
20591         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
20592         two refcounts makes it immutable, which is enough. Doc more.
20593
20594 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
20595
20596         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
20597           Put the mini_object into GValue as a mini_object,
20598           not a gpointer, since that's how we declared
20599           the signal.
20600
20601 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20602
20603         * examples/pwg/Makefile.am:
20604           Fix buildbot again.
20605
20606 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20607
20608         * docs/pwg/building-testapp.xml:
20609           Add extra check.
20610         * examples/pwg/Makefile.am:
20611           Fix buildbot.
20612
20613 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20614
20615         * configure.ac:
20616         * examples/Makefile.am:
20617         * examples/pwg/Makefile.am:
20618         * examples/pwg/extract.pl:
20619           Enable building the PWG examples.
20620         * docs/pwg/advanced-interfaces.xml:
20621           Add URI interface stub.
20622         * docs/pwg/advanced-types.xml:
20623         * docs/pwg/other-autoplugger.xml:
20624         * docs/pwg/appendix-porting.xml:
20625         * docs/pwg/pwg.xml:
20626           Add porting guide (mostly stubs), remove autoplugging (see ADM).
20627         * docs/pwg/building-boiler.xml:
20628         * docs/pwg/building-chainfn.xml:
20629         * docs/pwg/building-pads.xml:
20630         * docs/pwg/building-props.xml:
20631         * docs/pwg/building-state.xml:
20632         * docs/pwg/building-testapp.xml:
20633           Update the building-*.xml parts for 0.9 changes. All examples
20634           code blocks compile in examples/pwg/*.
20635
20636 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20637
20638         * docs/manual/advanced-autoplugging.xml:
20639         * docs/manual/appendix-checklist.xml:
20640         * docs/manual/appendix-integration.xml:
20641         * docs/manual/highlevel-components.xml:
20642           Fix playbin/decodebin examples, update docs a bit, mention bus
20643           instead of signals in various places, mention kmplayer and
20644           kaffeine since they have a working GStreamer backend in the KDE
20645           section.
20646
20647 2005-06-30  Wim Taymans  <wim@fluendo.com>
20648
20649         * CHANGES-0.9:
20650         * docs/design/draft-ghostpads.txt:
20651         * docs/design/draft-push-pull.txt:
20652         * docs/design/draft-query.txt:
20653         * docs/design/part-TODO.txt:
20654         * docs/design/part-query.txt:
20655         Added CHANGES-0.9 doc, updated status of other docs.
20656         
20657         * gst/gstquery.h:
20658         Remove "hmm" macro
20659
20660 2005-06-30  Wim Taymans  <wim@fluendo.com>
20661
20662         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20663         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20664         (gst_base_sink_change_state):
20665         * gst/base/gstbasesink.h:
20666         Some tweaks, only EOS and a buffer complete a preroll.
20667
20668 2005-06-30  Andy Wingo  <wingo@pobox.com>
20669
20670         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
20671         activate_push down to the internal pad as well.
20672
20673 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
20674
20675         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20676
20677         * gst/gsttaginterface.c:
20678           Some documentation fixes (#307394 and #307397).
20679
20680 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20681
20682         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20683
20684         * gst/gstvalue.c: (gst_value_intersect_list):
20685           Fix memleak (#309125).
20686
20687 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20688
20689         * docs/manual/advanced-dataaccess.xml:
20690           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20691         * docs/manual/basics-pads.xml:
20692           Add reference for filtered caps to above chapter.
20693
20694 2005-06-30  Wim Taymans  <wim@fluendo.com>
20695
20696         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20697         (gst_bin_change_state):
20698         Probes are gone.
20699         Lame attempt at making the state change function a bit
20700         more readable.
20701
20702 2005-06-30  Wim Taymans  <wim@fluendo.com>
20703
20704         * docs/design/part-clocks.txt:
20705         * docs/design/part-element-sink.txt:
20706         * docs/design/part-events.txt:
20707         * docs/design/part-preroll.txt:
20708         * docs/design/part-states.txt:
20709         Some more tweeks and additions to the docs.
20710
20711 2005-06-30  Wim Taymans  <wim@fluendo.com>
20712
20713         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20714         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20715         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20716         (gst_pad_check_pull_range), (gst_pad_get_range),
20717         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20718         * gst/gstpad.h:
20719         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20720         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20721         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20722         (gst_pad_remove_buffer_probe):
20723         Removed atomic operations, use existing LOCK.
20724         Move exception handling out of main code path.
20725
20726 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20727
20728         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20729         (silly_return_true_function), (gst_pad_class_init),
20730         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20731         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20732         (gst_pad_send_event):
20733           Fix accumulator, add default value by using _emitv() instead
20734           of _emit() for signal emission.
20735
20736 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20737
20738         * docs/manual/advanced-dataaccess.xml:
20739         * examples/manual/Makefile.am:
20740           Add probe example.
20741         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20742           Make work (??).
20743
20744 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20745
20746         * gst/elements/gstfilesink.c: (gst_filesink_render):
20747           Simplify code so that we don't have to handle short
20748           writes and return GST_FLOW_ERROR if an error occured.
20749
20750 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20751
20752         * docs/gst/gstreamer-docs.sgml:
20753           Remove probes more.
20754
20755 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20756
20757         * docs/gst/gstreamer-sections.txt:
20758         * docs/gst/tmpl/gstpad.sgml:
20759         * docs/gst/tmpl/gstprobe.sgml:
20760         * gst/Makefile.am:
20761         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20762         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20763         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20764         (gst_pad_push_event), (gst_pad_send_event):
20765         * gst/gstpad.h:
20766         * gst/gstutils.c: (gst_pad_add_data_probe),
20767         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20768         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20769         (gst_pad_remove_buffer_probe):
20770         * gst/gstutils.h:
20771           Remove old probes, add new g-signal-based probes and some utility
20772           functions.
20773
20774 2005-06-29  Edward Hervey  <edward@fluendo.com>
20775
20776         * gst/gstelementfactory.c:
20777         * gst/gstutils.h:
20778         * gst/gstutils.c:
20779         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20780         the definition to the header file.
20781
20782 2005-06-29  Andy Wingo  <wingo@pobox.com>
20783
20784         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20785         plugins from the source directory.
20786
20787 2005-06-29  Wim Taymans  <wim@fluendo.com>
20788
20789         * docs/gst/tmpl/gstbuffer.sgml:
20790         * docs/gst/tmpl/gstclock.sgml:
20791         Some fixings for blantently wrong text.
20792
20793 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20794
20795         * check/Makefile.am:
20796         * gst/gst.c: (add_path_func), (init_pre):
20797         * gst/gstregistry.c: (gst_registry_add_path):
20798           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20799           only scan the GST_PLUGIN_PATH locations, and not add
20800           system locations
20801
20802 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20803
20804         * docs/gst/gstreamer-sections.txt:
20805         * docs/gst/tmpl/gstbasesrc.sgml:
20806         * gst/gstelement.c:
20807         * gst/gstelement.h:
20808         * gst/gstevent.c:
20809         * gst/gstutils.c:
20810           doc fixes
20811
20812 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20813
20814         * docs/manual/advanced-autoplugging.xml:
20815           Fix autoplugging example.
20816
20817 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20818
20819         * docs/manual/advanced-autoplugging.xml:
20820         * docs/manual/mime-world.fig:
20821           Try to get autoplugging working, fix type detection. Fix text
20822           in hello-world image.
20823
20824 2005-06-29  Wim Taymans  <wim@fluendo.com>
20825
20826         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20827         (gst_base_sink_change_state):
20828         Small debug line.
20829
20830         * gst/gstclock.h:
20831         map SIGNAL and BROADCAST to the right function.
20832
20833         * gst/gstobject.h:
20834         Remove redundant braces.
20835
20836         * gst/gstpad.c: (gst_pad_set_caps):
20837         Don't call setcaps function when reseting caps to NULL.
20838
20839         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20840         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20841         (gst_system_clock_id_unschedule):
20842         Use BROADCAST as this is what we do.
20843
20844 2005-06-29  Wim Taymans  <wim@fluendo.com>
20845
20846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20847         We are actually prerolling before commiting the state
20848         change. 
20849
20850 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20851
20852         * docs/manual/advanced-clocks.xml:
20853         * docs/manual/advanced-interfaces.xml:
20854         * docs/manual/advanced-metadata.xml:
20855         * docs/manual/advanced-position.xml:
20856         * docs/manual/advanced-schedulers.xml:
20857         * docs/manual/advanced-threads.xml:
20858         * docs/manual/appendix-porting.xml:
20859         * docs/manual/basics-bins.xml:
20860         * docs/manual/basics-bus.xml:
20861         * docs/manual/basics-elements.xml:
20862         * docs/manual/basics-helloworld.xml:
20863         * docs/manual/basics-pads.xml:
20864         * docs/manual/highlevel-components.xml:
20865         * docs/manual/manual.xml:
20866         * docs/manual/thread.fig:
20867           Update (until threads/scheduling) Application Development Manual;
20868           remove GstThread, add GstBus, add simple porting checklist, add
20869           documentation for tag writing, clocks, make all examples until this
20870           part compile and run.
20871         * examples/manual/Makefile.am:
20872           Update from changes to Application Development Manual; add bus
20873           example, remove thread example.
20874
20875 2005-06-28  Wim Taymans  <wim@fluendo.com>
20876
20877         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20878         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20879         (gst_bus_source_dispatch):
20880         Add debugging messages.
20881         Make internal methods static.
20882         Handle the case where the bus is flushed in the handler.
20883         
20884         * gst/gstelement.c: (gst_element_get_bus):
20885         Fix refcount in _get_bus();
20886
20887         * gst/gstpipeline.c: (gst_pipeline_change_state),
20888         (gst_pipeline_get_clock_func):
20889         Clock refcounting fixes.
20890         Handle the case where preroll timed out more gracefully.
20891         
20892         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20893         Clean up the internal thread in dispose. This is needed
20894         for subclasses that actually get disposed.
20895         
20896         * gst/schedulers/threadscheduler.c:
20897         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20898         (gst_thread_scheduler_dispose):
20899         Free thread pool in dispose.
20900
20901 2005-06-28  Andy Wingo  <wingo@pobox.com>
20902
20903         * tests/network-clock-utils.scm (debug, print-event): New utils.
20904
20905         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20906         (*packet-loss*): Unified loss probability.
20907         (network-time): Report out-of-band events.
20908
20909         * tests/plot-data: Add support for out-of-band events. Hack it
20910         into this script instead of passing it down the pipe; should fix
20911         this later.
20912
20913 2005-06-28  Wim Taymans  <wim@fluendo.com>
20914
20915         * docs/gst/gstreamer.types:
20916         * docs/gst/tmpl/gstbasesrc.sgml:
20917         * docs/gst/tmpl/gstpad.sgml:
20918         Docs fixes.
20919
20920 2005-06-28  Wim Taymans  <wim@fluendo.com>
20921
20922         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20923         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20924         (gst_proxy_pad_do_fixatecaps):
20925         Correctly proxy the check_pull_range function.
20926
20927 2005-06-28  Andy Wingo  <wingo@pobox.com>
20928
20929         * tests/network-clock.scm: Removed need for slib.
20930         
20931 2005-06-28  Wim Taymans  <wim@fluendo.com>
20932
20933         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20934         (gst_basesink_preroll_queue_flush):
20935         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20936         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20937         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20938         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20939         (gst_proxy_pad_set_property):
20940         * gst/gstpad.c:
20941         * gst/gstpad.h:
20942         * gst/gstqueue.c: (gst_queue_init):
20943         The deprecated pad loop function is removed now.
20944
20945 2005-06-28  Andy Wingo  <wingo@pobox.com>
20946
20947         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20948         New parameters, simulate network packet loss.
20949
20950         * tests/network-clock-utils.scm: Initialize the RNG.
20951
20952 2005-06-28  Wim Taymans  <wim@fluendo.com>
20953
20954         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20955         (gst_basesink_event), (gst_basesink_deactivate):
20956         Flushing the preroll queue always needs to unlock the waiters.
20957
20958 2005-06-28  Edward Hervey  <edward@fluendo.com>
20959
20960         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20961         Wheen a seek was successful on a pipeline, set the stream_time to the
20962         seek offset in order to have a synchronized stream_time.
20963
20964 2005-06-28  Wim Taymans  <wim@fluendo.com>
20965
20966         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20967         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20968         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20969         (gst_proxy_pad_do_fixatecaps):
20970         Call wrapper function instead of just calling the function
20971         pointers. This takes care of any locking and whatmore.
20972
20973 2005-06-28  Wim Taymans  <wim@fluendo.com>
20974
20975         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20976         (gst_pad_pull_range):
20977         * gst/gstpad.h:
20978         CONNECTED -> LINKED.
20979
20980 2005-06-28  Andy Wingo  <wingo@pobox.com>
20981
20982         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20983         source-munging commit!!!
20984
20985         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20986         (gst_object_sink): Take gpointer arguments, not GstObject --
20987         avoids casts. Like GLib.
20988
20989         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20990         activate.
20991
20992 2005-06-27  Andy Wingo  <wingo@pobox.com>
20993
20994         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20995         remaining buffer.
20996
20997         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20998         returns a sorted copy of the trace list.
20999         (gst_alloc_trace_print_live): New API, only prints traces with
21000         live objects. Sort the list.
21001         (gst_alloc_trace_print_all): Sort the list.
21002         (gst_alloc_trace_print): Align columns.
21003
21004         * gst/elements/gstttypefindelement.c:
21005         * gst/elements/gsttee.c:
21006         * gst/base/gstbasesrc.c:
21007         * gst/base/gstbasesink.c:
21008         * gst/base/gstbasetransform.c:
21009         * gst/gstqueue.c: Adapt for pad activation changes.
21010
21011         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
21012         sched.
21013         (gst_pipeline_dispose): Drop ref on sched.
21014
21015         * gst/gstpad.c (gst_pad_init): Set the default activate func.
21016         (gst_pad_activate_default): Push mode by default.
21017         (pre_activate_switch, post_activate_switch): New stubs, things to
21018         do before and after switching activation modes on pads.
21019         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
21020         the pad's activate function to choose which mode to activate.
21021         Shortcut on deactivation and call the right function directly.
21022         (gst_pad_activate_pull): New API, (de)activates a pad in pull
21023         mode.
21024         (gst_pad_activate_push): New API, same for push mode.
21025         (gst_pad_set_activate_function) 
21026         (gst_pad_set_activatepull_function) 
21027         (gst_pad_set_activatepush_function): Setters for new API.
21028
21029         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
21030         Trace all miniobjects.
21031         (gst_mini_object_make_writable): Unref the arg if we copy, like
21032         gst_caps_make_writable.
21033
21034         * gst/gstmessage.c (_gst_message_initialize): No trace init.
21035
21036         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
21037         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
21038         Adapt for new pad API.
21039
21040         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
21041
21042         * gst/gstelement.h:
21043         * gst/gstelement.c (gst_element_iterate_src_pads) 
21044         (gst_element_iterate_sink_pads): New API functions.
21045         
21046         * gst/gstelement.c (iterator_fold_with_resync): New utility,
21047         should fold into gstiterator.c in some form.
21048         (gst_element_pads_activate): Simplified via use of fold and
21049         delegation of decisions to gstpad->activate.
21050
21051         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
21052         help in debugging.
21053
21054         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
21055         class once in init, like gstmessage. Didn't run into this issue
21056         but it seems correct. Don't initialize a trace, gstminiobject does
21057         that.
21058
21059         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
21060         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
21061         to the bus.
21062         (assert_live_count): New util function, uses alloc traces to check
21063         cleanup.
21064
21065         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
21066         To be modified when unlink drops the internal pad.
21067
21068 2005-06-27  Wim Taymans  <wim@fluendo.com>
21069
21070         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
21071         (gst_bin_change_state):
21072         Cleanup the get_state() function a little, make sure it
21073         iterates the same set of elements.
21074         Added stub iterate_state_order().
21075
21076 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21077
21078         * docs/gst/gstreamer-docs.sgml:
21079         * docs/gst/gstreamer-sections.txt:
21080         * docs/gst/gstreamer.types:
21081         * docs/gst/tmpl/gstbasesink.sgml:
21082         * docs/gst/tmpl/gstbasesrc.sgml:
21083         * docs/gst/tmpl/gstbasetransform.sgml:
21084         * docs/gst/tmpl/gstelement.sgml:
21085         * docs/gst/tmpl/gstiterator.sgml:
21086         * gst/base/gstbasesrc.c:
21087         * gst/base/gstbasesrc.h:
21088         * gst/base/gstbasetransform.h:
21089         * gst/gstelement.c:
21090         * gst/gstiterator.h:
21091           adding basetransform and iterator docs
21092
21093 2005-06-27  Andy Wingo  <wingo@pobox.com>
21094
21095         * docs/design/part-activation.txt: Notes on how activation should
21096         work -- not quite implemented yet.
21097
21098 2005-06-25  Wim Taymans  <wim@fluendo.com>
21099
21100         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
21101         At least get the chain function correct, needs more
21102         fixing.
21103
21104 2005-06-25  Wim Taymans  <wim@fluendo.com>
21105
21106         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21107         (gst_basesink_handle_object), (gst_basesink_event),
21108         (gst_basesink_do_sync), (gst_basesink_handle_event),
21109         (gst_basesink_change_state):
21110         * gst/gsttask.h:
21111         Right, two problems here: ghostpads don't take locks and
21112         glib _rec_mutex_lock_full() with depth==0 still locks.
21113         Catch illegal locking and g_warn them.
21114
21115 2005-06-25  Wim Taymans  <wim@fluendo.com>
21116
21117         * check/states/sinks.c: (START_TEST), (gst_object_suite):
21118         Have to check for completion now...
21119
21120 2005-06-25  Wim Taymans  <wim@fluendo.com>
21121
21122         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21123         (gst_basesink_handle_object), (gst_basesink_event),
21124         (gst_basesink_do_sync), (gst_basesink_handle_event),
21125         (gst_basesink_change_state):
21126         * gst/gstpad.h:
21127         Unlock STREAM_LOCK whatever the recursion was.
21128
21129 2005-06-25  Wim Taymans  <wim@fluendo.com>
21130
21131         * gst/base/gstbasesink.c: (gst_basesink_set_property),
21132         (gst_basesink_preroll_queue_empty),
21133         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
21134         (gst_basesink_event), (gst_basesink_do_sync),
21135         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
21136         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
21137         (gst_basesink_change_state):
21138         Reworked the base sink, handle event and buffer serialisation
21139         correctly and removed possible deadlock.
21140         Handle EOS correctly.
21141
21142 2005-06-25  Wim Taymans  <wim@fluendo.com>
21143
21144         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
21145         (gst_pipeline_change_state):
21146         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21147         Allow elements to post EOS in the state change function.
21148         Fix up -launch, make it exit the poll loop when the
21149         pipeline actually changed state.
21150         Fix up warning parsing in -launch.
21151
21152 2005-06-25  Wim Taymans  <wim@fluendo.com>
21153
21154         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
21155         (gst_tee_sink_activate):
21156         Core takes STREAM_LOCK for us now.
21157
21158 2005-06-25  Wim Taymans  <wim@fluendo.com>
21159
21160         * gst/gstelement.c: (gst_element_get_state_func),
21161         (gst_element_set_state):
21162         * gst/gstelement.h:
21163         * gst/gstmessage.c: (gst_message_parse_error),
21164         (gst_message_parse_warning):
21165         Keep track of current target state while performing a state
21166         change so that subclasses can do something interesting.
21167         Fix parsing of warning/error messages when GError is NULL.
21168
21169 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21170
21171         * docs/gst/Makefile.am:
21172         * docs/gst/gstreamer-docs.sgml:
21173         * docs/gst/gstreamer-sections.txt:
21174         * docs/gst/gstreamer.types:
21175         * docs/gst/tmpl/gstbasesink.sgml:
21176         * docs/gst/tmpl/gstbasesrc.sgml:
21177         * docs/gst/tmpl/gstbin.sgml:
21178         * docs/gst/tmpl/gstcompat.sgml:
21179         * docs/gst/tmpl/gstfakesink.sgml:
21180         * docs/gst/tmpl/gstfakesrc.sgml:
21181         * docs/gst/tmpl/gstfilesink.sgml:
21182         * docs/gst/tmpl/gstfilesrc.sgml:
21183         * docs/gst/tmpl/gstindex.sgml:
21184         * docs/manual/appendix-quotes.xml:
21185         * gst/base/gstbasesrc.h:
21186         * gst/elements/gstfakesrc.h:
21187         * gst/gstmessage.h:
21188           start pulling in base classes and elements in our docs
21189
21190 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
21191
21192         * docs/gst/Makefile.am:
21193         * docs/libs/Makefile.am:
21194           fixed make distcheck with gtk-doc 1.3
21195
21196 2005-06-23  Wim Taymans  <wim@fluendo.com>
21197
21198         * gst/gstelement.c: (gst_element_get_state_func),
21199         (gst_element_set_state), (gst_element_change_state):
21200         When the state did not change, also report NO_PREROLL
21201         when it matters.
21202
21203 2005-06-23  Wim Taymans  <wim@fluendo.com>
21204
21205         * gst/gstpad.c: (gst_pad_event_default):
21206         * gst/gstqueue.c: (gst_queue_loop):
21207         No unsafe task pausing please.
21208
21209 2005-06-23  Wim Taymans  <wim@fluendo.com>
21210
21211         * gst/schedulers/threadscheduler.c:
21212         (gst_thread_scheduler_task_start),
21213         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
21214         Ref the task before pushing it on the threadpool. This
21215         makes sure that we have a ref when the threadfunction is
21216         actually called.
21217
21218 2005-06-23  Andy Wingo  <wingo@pobox.com>
21219
21220         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
21221         offset is greater than the file's size.
21222
21223         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
21224         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
21225         * gst/gstobject.c (gst_object_class_init): Make the class lock
21226         recursive. Wim won't let me drop deep_notify. Decodebin works
21227         again, whoopdy doo.
21228
21229         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
21230         internal pad, and hacks accordingly. Doesn't do it on the target
21231         pad because we change its caps. Probably catches all cases of
21232         interest tho.
21233         (gst_ghost_pad_set_property): Connect to notify::caps as
21234         appropritate.
21235
21236         * tests/network-clock.scm (plot-simulation): Pipe data to the
21237         elite python skript.
21238
21239         * tests/network-clock-utils.scm (define-parameter): New macro,
21240         defines a parameter that can be set via the command line.
21241         (set-parameter!, parse-parameter-arguments): Command line args
21242         parser.
21243
21244         * tests/plot-data: Simple matplotlib-based plotter, takes input on
21245         stdin.
21246
21247 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
21248
21249         * gst/elements/gsttypefindelement.c:
21250         (gst_type_find_element_handle_event):
21251           Don't restart typefinding on a discont.
21252         * gst/gstelement.c: (gst_element_set_state):
21253           Debug spelling fix.
21254         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
21255           Allow changing mode of an active pad.
21256           Debug output fixes.
21257         * gst/registries/gstlibxmlregistry.c: (load_feature):
21258           Don't cast a static pad template to a normal pad template.
21259
21260 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21261
21262         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21263         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21264           remove gst_strtoll completely, since it didn't actually do
21265           anything more than what g_ascii_strtoull already does.
21266           check for range errors when deserializing
21267           do a cast for the unsigned cases; but further fixing needs
21268           a decision on what the interpretation of "(int)" and
21269           deserialization should be for values that fall outside the
21270           type's boundaries (ie, refuse, or interpret as casting)
21271
21272 2005-06-23  Wim Taymans  <wim@fluendo.com>
21273
21274         * check/Makefile.am:
21275         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
21276         * docs/design/part-live-source.txt:
21277         * docs/design/part-states.txt:
21278         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21279         (gst_basesrc_set_live), (gst_basesrc_is_live),
21280         (gst_basesrc_get_range), (gst_basesrc_activate),
21281         (gst_basesrc_change_state):
21282         * gst/base/gstbasesrc.h:
21283         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21284         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21285         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
21286         * gst/gstelement.c: (gst_element_get_state_func),
21287         (gst_element_set_state):
21288         * gst/gstelement.h:
21289         * gst/gsttypes.h:
21290         * tools/gst-launch.c: (event_loop), (main):
21291         Added support for live sources and other elements that
21292         cannot do preroll.
21293         Updated design docs, added live-source design doc.
21294         Implemented live source functionality in basesrc
21295         Fix error condition in _bin_get_state()
21296         Implement live source handling in -launch.
21297         Added check for live sources.
21298         Fixed case in GstBin where elements were changed state
21299         multiple times.
21300
21301
21302 2005-06-23  Andy Wingo  <wingo@pobox.com>
21303
21304         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
21305         borken refcounting.
21306
21307         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
21308         gst_caps_replace takes care of this for us.
21309
21310         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
21311         gst_pad_set_caps on the target, not just its setcaps() function.
21312
21313         * tests/network-clock.scm: 
21314         * tests/network-clock-utils.scm: A network clock simulator.
21315         Something of an algorithmic testbed before doing something in C.
21316
21317 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21318
21319         * check/Makefile.am:
21320         * check/gst/capslist.h:
21321           copy over from 0.8, and add two with bitmasks specified with
21322           (int) 0xFF...
21323         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21324           add test to parse everything from capslist.h
21325         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
21326         (main):
21327           add test for structure deserialization
21328         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21329           add tests for deserialization of strings to int types
21330         * gst/gststructure.c: (gst_structure_nth_field_name):
21331         * gst/gststructure.h:
21332           add a way to get the name of a field referenced by index
21333         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21334           instead of checking if the resulting long long lies between
21335           min and max, we check if the long long would fit into
21336           a number of bytes for the final type.
21337           This fixes cases where a string represents 2^32 - 1, which
21338           when cast to int would be the (valid) -1, but is bigger than
21339           G_MAXINT
21340
21341 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21342
21343         * gst/parse/grammar.y:
21344           add a log line for type deserialization
21345
21346 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21347
21348         * check/gst/gstvalue.c: (START_TEST):
21349         * gst/gstvalue.c: (gst_value_deserialize):
21350           return long long, not int, so gint64 deserialization actually
21351           works.  Is there any flag that makes the compiler check this ?
21352           Fixes #308559
21353
21354 2005-06-22  Wim Taymans  <wim@fluendo.com>
21355
21356         * gst/gstbuffer.h:
21357         Added convenience macros for setting buffers in GValue.
21358
21359 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21360
21361         * check/gst/.cvsignore:
21362         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21363           add a test deserializing int64, and comment part out because
21364           it fails, yay !
21365
21366 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21367
21368         * check/Makefile.am:
21369         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
21370         * testsuite/Makefile.am:
21371         * testsuite/caps/Makefile.am:
21372         * testsuite/caps/value_serialize.c:
21373         * testsuite/test_gst_init.c:
21374           move a value_serialize test over
21375
21376 2005-06-20  Wim Taymans  <wim@fluendo.com>
21377
21378         * gst/gstpad.c:
21379         Small doc updates.
21380         
21381         * gst/gstvalue.c: (gst_value_compare_buffer),
21382         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
21383         (gst_value_compare_flags), (gst_value_serialize_flags),
21384         (gst_value_deserialize_flags), (_gst_value_initialize):
21385         Fix serialisation of buffers, they are not boxed types anymore
21386
21387 2005-06-20  Wim Taymans  <wim@fluendo.com>
21388
21389         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21390         Testcase to show error in buffer-on-caps serialisation.
21391
21392 2005-06-20  Andy Wingo  <wingo@pobox.com>
21393
21394         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
21395         will be adding to later.
21396
21397         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
21398         if its socks fill with rocks.
21399         (gst_system_clock_obtain): Set the name on object construction.
21400         Avoid double-checked locking.
21401
21402 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
21403
21404         * gst/gsturi.c: (gst_element_make_from_uri):
21405           Fix potential endless loop.
21406
21407 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21408
21409         * check/Makefile.am:
21410           add gsttag
21411         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
21412         (main):
21413           move over from testsuite dir and clean up
21414         * configure.ac:
21415         * gst/gsttag.c:
21416         * testsuite/Makefile.am:
21417         * testsuite/tags/.cvsignore:
21418         * testsuite/tags/Makefile.am:
21419         * testsuite/tags/merge.c:
21420           remove testsuite/tags
21421
21422 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21423
21424         * docs/gst/gstreamer-sections.txt:
21425         * docs/gst/tmpl/gstenumtypes.sgml:
21426         * win32/gstenumtypes.c:
21427           clean up documentation build a little
21428
21429 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21430
21431         * check/gstcheck.h:
21432           add macros for checking refcounts on objects and caps
21433         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
21434           add some more unit tests
21435         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21436         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
21437           fix leaked refcounts (I hope :)) so unittest works
21438         * gst/gstpad.h:
21439           whitespace removal
21440
21441 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21442
21443         * configure.ac: back to HEAD
21444
21445 === release 0.9.1 ===
21446
21447 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21448
21449         * NEWS:
21450         * RELEASE:
21451           updated
21452
21453 2005-06-17  Andy Wingo  <wingo@pobox.com>
21454
21455         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
21456         assert; it's always possible that the pad gets deactivated in
21457         between the checks in gstpad.c and the implementation. Rely on
21458         finish_preroll() to return a FLUSHING or similar instead of on the
21459         assert.
21460         
21461         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
21462         clock and post an EOS message if we come out of finish_preroll in
21463         the playing state.
21464
21465 2005-06-16  David Schleef  <ds@schleef.org>
21466
21467         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21468         (gst_capsfilter_set_property): Allow NULL as possible value
21469         for filter_caps property, indicating GST_CAPS_ANY.
21470
21471 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21472
21473         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
21474           fix debug output
21475         * gst/schedulers/Makefile.am:
21476           use libgst prefix
21477         * gstreamer.spec.in:
21478           fix spec for it
21479
21480 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21481
21482         * gstreamer.spec.in:
21483           clean up
21484
21485 2005-06-08  Andy Wingo  <wingo@pobox.com>
21486
21487         * gst/gstutils.c: RPAD fixes all around.
21488         (gst_element_link_pads): Refcounting fixes.
21489
21490         * tools/gst-inspect.c:
21491         * tools/gst-xmlinspect.c:
21492         * parse/grammar.y:
21493         * gst/base/gsttypefindhelper.c:
21494         * gst/base/gstbasesink.c:
21495         * gst/gstqueue.c: RPAD fixes.
21496
21497         * gst/gstghostpad.h:
21498         * gst/gstghostpad.c: New ghost pad implementation as full proxy
21499         pads. The tricky thing is they provide both source and sink
21500         interfaces, since they proxy the internal pad for the external
21501         pad, and vice versa. Implement with lower-level ProxyPad objects,
21502         with the interior proxy pad as a child of the exterior ghost pad.
21503         Should write a doc on this.
21504         
21505         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
21506         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
21507         gst_object API.
21508         
21509         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
21510         pads are real pads. No ghost pads in this file. Not documenting
21511         the myriad s/RPAD/PAD/ and REALIZE fixes.
21512         (gst_pad_class_init): Add properties for "direction" and
21513         "template". Both are construct-only, so they can't change during
21514         the life of the pad. Fixes properly deriving from GstPad.
21515         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
21516         derived objects, just set properties when creating the objects via
21517         g_object_new.
21518         (gst_pad_get_parent): Implement as a function, return NULL if the
21519         parent is not an element.
21520         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
21521         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
21522         
21523         * gst/gstobject.c (gst_object_class_init): Make name a construct
21524         property. Don't set it in the object init.
21525
21526         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
21527         with UNKNOWN direction.
21528         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
21529         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
21530         (gst_element_remove_pad): Remove ghost-pad special cases.
21531         (gst_element_pads_activate): Remove rpad cruft.
21532
21533         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
21534         catch the pad's-parent-not-an-element case.
21535
21536         * gst/gst.h: Include gstghostpad.h.
21537
21538         * gst/gst.c (init_post): No more real, ghost pads.
21539
21540         * gst/Makefile.am: Add gstghostpad.[ch].
21541
21542         * check/Makefile.am:
21543         * check/gst/gstbin.c:
21544         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
21545         into a bin creates ghost pads, and that the refcounts are right.
21546         Partly moved from gstbin.c.
21547
21548 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21549
21550         * check/gst-libs/.cvsignore:
21551         * check/gst/.cvsignore:
21552         * check/pipelines/.cvsignore:
21553           ignore more
21554         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
21555         (START_TEST), (cleanup_suite), (main):
21556           add some tests related to cleanup after running pipelines
21557
21558 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21559
21560         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
21561           add a testsuite for GstBuffer
21562
21563 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21564
21565         * gst/gstminiobject.h:
21566           add defines for accessing the refcount
21567
21568 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
21569
21570         * Makefile.am: added support for html unit test coverage reports
21571
21572 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
21573
21574         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21575           Free existing caps if the capsfilter changes. Add a FIXME about
21576           setting those caps on the pads.
21577
21578         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
21579           Before adding a ghost pad to a parent bin, check that there isn't
21580           already one for the element on the bin. Prevents infinite recursion
21581           when using decodebin in parse pipelines. Andy says he'll rewrite the
21582           way this works anyway, so ignore the hack.
21583
21584 2005-06-02  Andy Wingo  <wingo@pobox.com>
21585
21586         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
21587         file size, pass it on to the type find helper.
21588
21589         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
21590         segment_start and segment_end properly according to the seek
21591         method. Segment_end is still a bit flaky because offset can be
21592         negative for CUR and END cases, but it takes -1 as an "unset"
21593         value.
21594
21595 2005-06-02  Wim Taymans  <wim@fluendo.com>
21596
21597         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
21598         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
21599         (gst_basesink_activate):
21600         * gst/base/gstbasesink.h:
21601         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21602         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21603         (gst_pad_query), (gst_pad_start_task):
21604         * gst/gstpad.h:
21605         * gst/gstqueue.c: (gst_queue_bufferalloc),
21606         (gst_queue_handle_sink_event), (gst_queue_chain):
21607         Bufferalloc: return GstFlowReturn to more accuratly report
21608         why allocation failed.
21609
21610 2005-06-02  Wim Taymans  <wim@fluendo.com>
21611
21612         * gst/gstpipeline.c: (gst_pipeline_send_event):
21613         Take snapshot of state without blocking.
21614
21615 2005-06-02  Wim Taymans  <wim@fluendo.com>
21616
21617         * docs/design/part-TODO.txt:
21618         * docs/design/part-caps.txt:
21619         * docs/design/part-clocks.txt:
21620         * docs/design/part-negotiation.txt:
21621         * docs/design/part-preroll.txt:
21622         Small doc updates 
21623
21624 2005-05-30  Wim Taymans  <wim@fluendo.com>
21625
21626         * gst/elements/gstidentity.c: (gst_identity_event),
21627         (gst_identity_transform), (gst_identity_get_property):
21628         Protect last_message property as it is accessed from
21629         multiple threads.
21630
21631 2005-05-30  Wim Taymans  <wim@fluendo.com>
21632
21633         * gst/gstelement.c: (gst_element_init),
21634         (gst_element_pads_activate), (gst_element_change_state):
21635         Slicker pad activation code.
21636
21637 2005-05-30  Wim Taymans  <wim@fluendo.com>
21638
21639         * gst/Makefile.am:
21640         * gst/gstelement.h:
21641         * gst/gstelementfactory.h:
21642         * gst/gsttypes.h:
21643         Move elementfactory methods to separate .h file.
21644
21645 2005-05-30  Wim Taymans  <wim@fluendo.com>
21646
21647         * docs/design/part-overview.txt:
21648         * gst/gstsystemclock.h:
21649         Small typo fixes, doc updates.
21650
21651 2005-05-30  Wim Taymans  <wim@fluendo.com>
21652
21653         * gst/gst.c: (gst_init_get_popt_table), (init_post),
21654         (init_popt_callback):
21655         Remove cpu-opt flag.
21656
21657 2005-05-30  Wim Taymans  <wim@fluendo.com>
21658
21659         * gst/gstbuffer.c: (gst_subbuffer_finalize),
21660         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
21661         * gst/gstbuffer.h:
21662         Avoid typechecking in places where not needed.
21663         Added accessor for malloc_data.
21664
21665 2005-05-30  Wim Taymans  <wim@fluendo.com>
21666
21667         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
21668         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
21669         (gst_pad_configure_sink), (gst_pad_configure_src),
21670         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
21671         (gst_pad_start_task):
21672         Propagate errors from _set_caps() in configure_src/sink
21673         functions instead of returning TRUE.
21674         FLUSH events can travel up and downstream
21675
21676
21677 2005-05-30  Wim Taymans  <wim@fluendo.com>
21678
21679         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21680         (gst_basesink_activate):
21681         Handle EOS in preroll.
21682
21683 2005-05-30  Wim Taymans  <wim@fluendo.com>
21684
21685         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21686         (gst_queue_loop), (gst_queue_handle_src_event):
21687         Remove old pieces of code
21688         Flushing the queue in an upstream event is a very bad idea.
21689
21690 2005-05-26  Andy Wingo  <wingo@pobox.com>
21691
21692         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21693         gst_value_set_mini_object so as to add a ref on the object (which
21694         will be removed when the value is unset).
21695
21696         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21697         arg type in ::handoff.
21698
21699         * gst/gstelement.c (gst_element_change_state): Also deactivate
21700         pads in READY->NULL, just in case the element didn't make it to
21701         PAUSED. Wingo tested, Wim approved.
21702
21703 2005-05-26  Wim Taymans  <wim@fluendo.com>
21704
21705         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21706         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21707         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21708         A flushing pad cannot be used to alloc_buffer from.
21709
21710 2005-05-26  Wim Taymans  <wim@fluendo.com>
21711
21712         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21713         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21714         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21715         (gst_bus_create_watch), (gst_bus_add_watch_full):
21716         * gst/gstbus.h:
21717         Implement a real GSource and use g_main_context_wakeup() to
21718         signal new messages instead of the socketpair.
21719
21720 2005-05-25  Wim Taymans  <wim@fluendo.com>
21721
21722         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21723         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21724         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21725         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21726         (gst_pad_send_event), (gst_pad_start_task):
21727         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21728         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21729         (gst_queue_sink_activate), (gst_queue_src_activate),
21730         (gst_queue_change_state):
21731         * gst/gstqueue.h:
21732         Fix state changes for non sinks. We now change sinks, then elements
21733         with unconnected srcpads, then the rest.
21734         More efficient queue unlocking in flush and state changes.
21735         Set the pad activate mode even if it does not have an activate
21736         function.
21737
21738 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21739
21740         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21741           Don't go in pull mode for non-seekable sources.
21742         * gst/elements/gsttypefindelement.h:
21743         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21744         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21745         (free_entry), (stop_typefinding),
21746         (gst_type_find_element_handle_event), (find_peek),
21747         (gst_type_find_element_chain), (do_pull_typefind),
21748         (gst_type_find_element_change_state):
21749           Allow typefinding (w/o seeking) in push-mode, simplified version
21750           of what was in 0.8.
21751         * gst/gstutils.c: (gst_buffer_join):
21752         * gst/gstutils.h:
21753           gst_buffer_join() from 0.8.
21754
21755 2005-05-25  Wim Taymans  <wim@fluendo.com>
21756
21757         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21758         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21759         (gst_pad_send_event), (gst_pad_start_task):
21760         Disable attempt at mode switching until it is figured out.
21761
21762 2005-05-25  Wim Taymans  <wim@fluendo.com>
21763
21764         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21765         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21766         (gst_basesink_finish_preroll), (gst_basesink_chain),
21767         (gst_basesink_loop), (gst_basesink_activate),
21768         (gst_basesink_change_state):
21769         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21770         (gst_basesrc_get_range), (gst_basesrc_loop),
21771         (gst_basesrc_activate):
21772         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21773         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21774         (gst_real_pad_init), (gst_real_pad_set_property),
21775         (gst_real_pad_get_property), (gst_pad_set_active),
21776         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21777         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21778         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21779         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21780         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21781         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21782         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21783         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21784         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21785         (gst_pad_stop_task):
21786         * gst/gstpad.h:
21787         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21788         (gst_queue_loop), (gst_queue_src_activate):
21789         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21790         (gst_task_get_state):
21791         * gst/gsttask.h:
21792         * gst/schedulers/threadscheduler.c:
21793         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21794         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21795         in task function.
21796         Remove ACTIVE pad flag, use FLUSHING everywhere
21797         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21798         functions.
21799         Add locks around IS_FLUSHING when reading.
21800         Take STREAM lock in chain(), get_range() functions so plugins
21801         don't need to take it anymore.
21802         
21803
21804
21805 2005-05-25  Wim Taymans  <wim@fluendo.com>
21806
21807         * tools/gst-launch.c: (event_loop):
21808         Unref message after using its contents instead of
21809         before.
21810
21811 2005-05-24  Wim Taymans  <wim@fluendo.com>
21812
21813         * docs/design/draft-ghostpads.txt:
21814         * docs/design/draft-push-pull.txt:
21815         * docs/design/draft-query.txt:
21816         * docs/design/part-overview.txt:
21817         Docs updates, added general overview doc.
21818
21819 2005-05-21  David Schleef  <ds@schleef.org>
21820
21821         * docs/gst/tmpl/old/GstBin.sgml:
21822         * docs/gst/tmpl/old/GstBuffer.sgml:
21823         * docs/gst/tmpl/old/GstCaps.sgml:
21824         * docs/gst/tmpl/old/GstClock.sgml:
21825         * docs/gst/tmpl/old/GstCompat.sgml:
21826         * docs/gst/tmpl/old/GstData.sgml:
21827         * docs/gst/tmpl/old/GstElement.sgml:
21828         * docs/gst/tmpl/old/GstEvent.sgml:
21829         * docs/gst/tmpl/old/GstIndex.sgml:
21830         * docs/gst/tmpl/old/GstStructure.sgml:
21831         * docs/gst/tmpl/old/GstTag.sgml:
21832         * docs/gst/tmpl/old/cothreads.sgml:
21833         * docs/gst/tmpl/old/cothreads_compat.sgml:
21834         * docs/gst/tmpl/old/gettext.sgml:
21835         * docs/gst/tmpl/old/gobject2gtk.sgml:
21836         * docs/gst/tmpl/old/grammar.tab.sgml:
21837         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21838         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21839         * docs/gst/tmpl/old/gst_private.sgml:
21840         * docs/gst/tmpl/old/gstaggregator.sgml:
21841         * docs/gst/tmpl/old/gstarch.sgml:
21842         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21843         * docs/gst/tmpl/old/gstbufferstore.sgml:
21844         * docs/gst/tmpl/old/gstdata_private.sgml:
21845         * docs/gst/tmpl/old/gstdisksink.sgml:
21846         * docs/gst/tmpl/old/gstdisksrc.sgml:
21847         * docs/gst/tmpl/old/gstelementfactory.sgml:
21848         * docs/gst/tmpl/old/gstextratypes.sgml:
21849         * docs/gst/tmpl/old/gstfakesink.sgml:
21850         * docs/gst/tmpl/old/gstfakesrc.sgml:
21851         * docs/gst/tmpl/old/gstfdsink.sgml:
21852         * docs/gst/tmpl/old/gstfdsrc.sgml:
21853         * docs/gst/tmpl/old/gstfilesink.sgml:
21854         * docs/gst/tmpl/old/gstfilesrc.sgml:
21855         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21856         * docs/gst/tmpl/old/gstidentity.sgml:
21857         * docs/gst/tmpl/old/gstindexfactory.sgml:
21858         * docs/gst/tmpl/old/gstmarshal.sgml:
21859         * docs/gst/tmpl/old/gstmd5sink.sgml:
21860         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21861         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21862         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21863         * docs/gst/tmpl/old/gstpipefilter.sgml:
21864         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21865         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21866         * docs/gst/tmpl/old/gstshaper.sgml:
21867         * docs/gst/tmpl/old/gstspider.sgml:
21868         * docs/gst/tmpl/old/gstspideridentity.sgml:
21869         * docs/gst/tmpl/old/gststatistics.sgml:
21870         * docs/gst/tmpl/old/gsttee.sgml:
21871         * docs/gst/tmpl/old/gsttimecache.sgml:
21872         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21873         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21874         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21875         * docs/gst/tmpl/old/types.sgml:
21876           I didn't intend to add these or check them in.
21877
21878 2005-05-19  David Schleef  <ds@schleef.org>
21879
21880         * configure.ac: Use -no-common everywhere.  In a sane world, it
21881           would be the default in libtool, because without it, you can't
21882           build DLLs on Windows.
21883         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21884         * docs/gst/gstreamer-sections.txt:
21885         * docs/gst/tmpl/gstcpu.sgml:
21886         * docs/gst/tmpl/gstdata.sgml:
21887         * docs/gst/tmpl/gstthread.sgml:
21888
21889 2005-05-19  David Schleef  <ds@schleef.org>
21890
21891         * gst/gstminiobject.c: (gst_value_set_mini_object),
21892         (gst_value_take_mini_object), (gst_value_get_mini_object):
21893         * gst/gstminiobject.h: Add GValue set/get functions.
21894
21895 2005-05-19  Wim Taymans  <wim@fluendo.com>
21896
21897         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21898         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21899         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21900         * gst/gstbuffer.h:
21901         * gst/gstbus.c: (gst_bus_post):
21902         * gst/gstelement.c: (gst_element_get_random_pad):
21903         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21904         Make subbufer unref the parent in finalize.
21905         some more debugging info.
21906
21907
21908 2005-05-19  Wim Taymans  <wim@fluendo.com>
21909
21910         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21911         (gst_basesink_init), (gst_basesink_finalize),
21912         (gst_basesink_activate), (gst_basesink_change_state):
21913         Don't free preroll queue too early.
21914
21915 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21916
21917         * gst/Makefile.am:
21918         * gst/ROADMAP:
21919           Hi, I'm outdated. Please shoot me.
21920
21921 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21922
21923         * gst/gstpipeline.c: (gst_pipeline_send_event):
21924           Do not access variables after they have been deleted.
21925
21926 2005-05-19  Wim Taymans  <wim@fluendo.com>
21927
21928         * tools/gst-inspect.c: (print_plugin_features):
21929         A plugin feature does unfortunatly not use the
21930         object name yet...
21931
21932 2005-05-18  Wim Taymans  <wim@fluendo.com>
21933
21934         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21935         Port _span() functions to new subbuffers.
21936
21937 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21938
21939         * gst/gstbin.c: (gst_bin_add_func):
21940           Fix clock settery in bins when adding kids after the clock has
21941           been selected.
21942
21943 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21944
21945         * gst/elements/gstidentity.c: (gst_identity_class_init):
21946           Workaround until signals support GstMiniObject.
21947
21948 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21949
21950         * gst/gstbuffer.c:
21951         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21952
21953 2005-05-18  Wim Taymans  <wim@fluendo.com>
21954
21955         * gst/base/Makefile.am:
21956         * gst/base/gstadapter.c: (gst_adapter_base_init),
21957         (gst_adapter_class_init), (gst_adapter_init),
21958         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21959         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21960         (gst_adapter_flush), (gst_adapter_available),
21961         (gst_adapter_available_fast):
21962         * gst/base/gstadapter.h:
21963         Ported and added adapter to the base classes.
21964
21965 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21966
21967         * gst/gst.c:
21968         * gst/gstmessage.c:
21969           Make sure the class is reffed/unreffed once before threads can be
21970           used.  Fixes #304551.
21971
21972 2005-05-17  Wim Taymans  <wim@fluendo.com>
21973
21974         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21975         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21976         * gst/gstminiobject.c: (gst_mini_object_get_type),
21977         (gst_mini_object_free):
21978         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21979         (gst_pad_push), (gst_pad_push_event):
21980         * gst/gstqueue.c: (gst_queue_change_state):
21981         Don't queue buffers in basesink when we are flushing.
21982         Unref buffer when flushing in basesink.
21983         Flush queue when going to READY
21984         Unref buffer when _push() returns an error.
21985         Don't free MiniObject instance when refcount is incremented
21986         in _finalize() so that we can recover objects.
21987
21988 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21989
21990         * docs/manual/advanced-schedulers.xml:
21991         * docs/manual/appendix-checklist.xml:
21992         * docs/pwg/advanced-clock.xml:
21993         * docs/pwg/advanced-interfaces.xml:
21994         * docs/pwg/advanced-request.xml:
21995         * docs/pwg/advanced-types.xml:
21996         * docs/pwg/intro-preface.xml:
21997         * examples/plugins/example.c: (gst_example_get_type),
21998         (gst_example_class_init), (gst_example_chain),
21999         (gst_example_set_property), (gst_example_get_property),
22000         (gst_example_change_state), (plugin_init):
22001         * examples/plugins/example.h:
22002           small doc fixes
22003
22004 2005-05-17  Wim Taymans  <wim@fluendo.com>
22005
22006         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
22007         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
22008         * gst/gstqueue.c: (gst_queue_change_state):
22009         Clear queue when going to READY.
22010         Remove IN_SETCAPS flag too.
22011
22012 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
22013
22014         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
22015           Remove implicit cast from gboolean to GstElementStateReturn;
22016           make sure we still return failure in paused => ready case if
22017           the parent class fails to change state and our own stop 
22018           vfunc succeeds.
22019
22020 2005-05-17  Wim Taymans  <wim@fluendo.com>
22021
22022         * tools/gst-launch.c: (event_loop):
22023         Message was unreffed too soon.
22024
22025 2005-05-16  Andy Wingo  <wingo@pobox.com>
22026
22027         * gst/gstbin.c (sink_iterator_filter): Err... um...
22028
22029         * check/gst/gstbin.c (test_ghost_pads): New test for the
22030         ghosting-if-elements-not-in-same-bin behavior.
22031
22032 2005-05-16  David Schleef  <ds@schleef.org>
22033
22034         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
22035         accessing refcount directly.
22036
22037 2005-05-15  David Schleef  <ds@schleef.org>
22038
22039         * check/Makefile.am: remove GstData checks
22040         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
22041         * gst/Makefile.am: add miniobject, remove data
22042         * gst/gst.h: add miniobject, remove data
22043         * gst/gstdata.c: remove
22044         * gst/gstdata.h: remove
22045         * gst/gstdata_private.h: remove
22046         * gst/gsttypes.h: remove GstEvent and GstMessage
22047         * gst/gstelement.c: (gst_element_post_message): fix for API changes
22048         * gst/gstmarshal.list: change BOXED -> OBJECT
22049
22050         Implement GstMiniObject.
22051         * gst/gstminiobject.c:
22052         * gst/gstminiobject.h:
22053
22054         Modify to be subclasses of GstMiniObject.
22055         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
22056         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
22057         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
22058         (gst_subbuffer_get_type), (gst_subbuffer_init),
22059         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
22060         (gst_buffer_span):
22061         * gst/gstbuffer.h:
22062         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
22063         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
22064         (_gst_event_copy), (gst_event_new):
22065         * gst/gstevent.h:
22066         * gst/gstmessage.c: (_gst_message_initialize),
22067         (gst_message_get_type), (gst_message_class_init),
22068         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
22069         (gst_message_new), (gst_message_new_error),
22070         (gst_message_new_warning), (gst_message_new_tag),
22071         (gst_message_new_state_changed), (gst_message_new_application):
22072         * gst/gstmessage.h:
22073         * gst/gstprobe.c: (gst_probe_perform),
22074         (gst_probe_dispatcher_dispatch):
22075         * gst/gstprobe.h:
22076         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
22077         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
22078         (_gst_query_copy), (gst_query_new):
22079
22080         Update elements for GstData -> GstMiniObject changes
22081         * gst/gstquery.h:
22082         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
22083         (gst_queue_chain), (gst_queue_loop):
22084         * gst/elements/gstbufferstore.c:
22085         (gst_buffer_store_add_buffer_func),
22086         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
22087         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22088         (gst_fakesink_render):
22089         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22090         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
22091         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
22092         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
22093         (gst_filesrc_create_read):
22094         * gst/elements/gstidentity.c: (gst_identity_class_init):
22095         * gst/elements/gsttypefindelement.c:
22096         (gst_type_find_element_src_event), (free_entry_buffers),
22097         (gst_type_find_element_handle_event):
22098         * libs/gst/dataprotocol/dataprotocol.c:
22099         (gst_dp_header_from_buffer):
22100         * libs/gst/dataprotocol/dataprotocol.h:
22101         * libs/gst/dataprotocol/dp-private.h:
22102
22103 2005-05-15  David Schleef  <ds@schleef.org>
22104
22105         * gst/elements/gstelements.c: Don't include headers that were
22106         just removed.
22107
22108 2005-05-15  David Schleef  <ds@schleef.org>
22109
22110         * gst/elements/Makefile.am: Remove some elements that don't
22111         need to be in the core (or even exist at all).
22112         * gst/elements/gstaggregator.c:
22113         * gst/elements/gstaggregator.h:
22114         * gst/elements/gstmd5sink.c:
22115         * gst/elements/gstmd5sink.h:
22116         * gst/elements/gstmultifilesrc.c:
22117         * gst/elements/gstmultifilesrc.h:
22118         * gst/elements/gstpipefilter.c:
22119         * gst/elements/gstpipefilter.h:
22120         * gst/elements/gstshaper.c:
22121         * gst/elements/gstshaper.h:
22122         * gst/elements/gststatistics.c:
22123         * gst/elements/gststatistics.h:
22124         * po/POTFILES.in: Remove above files.
22125
22126 2005-05-14  Andy Wingo  <wingo@pobox.com>
22127
22128         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
22129         so as to get the refs right.
22130         (sink_iterator_filter): New function, wraps bin_element_is_sink,
22131         unreffing objects that don't pass the filter.
22132
22133         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
22134         gst_element_set_bus.
22135         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
22136         normal cases, this will destroy the bus.
22137
22138         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
22139         object.
22140
22141         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
22142         has no sinks.
22143
22144 2005-05-13  Andy Wingo  <wingo@pobox.com>
22145
22146         * gst/gstutils.c (gst_element_link_pads): Instead of calling
22147         gst_pad_link, call pad_link_maybe_ghosting,
22148         (pad_link_maybe_ghosting): Links pads, making sure that the
22149         elements being linked are in the same bin.
22150         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
22151         Helpers for pad_link_maybe_ghosting.
22152
22153 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22154
22155         * configure.ac:
22156           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
22157
22158 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22159
22160         * docs/design/part-element-source.txt:
22161           Mention GstPushSrc
22162
22163 2005-05-12  Wim Taymans  <wim@fluendo.com>
22164
22165         * gst/base/gstbasesink.c: (gst_basesink_init),
22166         (gst_basesink_activate):
22167         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
22168         (gst_basesrc_is_seekable):
22169         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22170         (bin_element_is_sink), (gst_bin_change_state):
22171         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22172         * gst/gstelement.h:
22173         Identify sinks by their flag to avoid overly complicated
22174         checks (fow now).
22175         Do state changes even for elements not reachable from the
22176         sinks.
22177         BaseSink is a sink now :)
22178         Some more debugging info in the basesrc.
22179
22180
22181 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22182
22183         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
22184           Implement _query on a bin, similar to _send_event.
22185
22186 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
22187
22188         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
22189           Discont event offset format should be GST_FORMAT_BYTES,
22190           not GST_FORMAT_TIME.
22191
22192 2005-05-12  Wim Taymans  <wim@fluendo.com>
22193
22194         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
22195         Same fix as Ronald's but without the signal. 
22196
22197 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22198
22199         * gst/gstutils.c: (gst_element_query_position):
22200           No, an element is not a pad.
22201
22202 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22203
22204         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
22205         (gst_bin_get_state):
22206           If a child is removed from a bin while we remove the child from
22207           the bin and while we're retrieving its state, signal this to the
22208           get_state function so we abort the wait (instead of waiting for
22209           a timeout) and can immediately re-iterate over all other elements.
22210
22211 2005-05-12  Wim Taymans  <wim@fluendo.com>
22212
22213         * gst/base/Makefile.am:
22214         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
22215         (gst_basesrc_start):
22216         * gst/base/gstbasesrc.h:
22217         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
22218         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
22219         (gst_pushsrc_init), (gst_pushsrc_create):
22220         * gst/base/gstpushsrc.h:
22221         Added is_seekable to BaseSrc
22222         Added simple PushSrc.
22223
22224 2005-05-11  Wim Taymans  <wim@fluendo.com>
22225
22226         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22227         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22228         (gst_element_link_pads), (gst_element_query_position),
22229         (gst_element_query_convert), (intersect_caps_func),
22230         (gst_pad_query_position), (gst_pad_query_convert):
22231         Fix refcounting in utils function.
22232         No point in trying to activate a pad when it's added, it could
22233         be added from the state change function and then we deadlock, the
22234         element has to decide what to do.
22235
22236 2005-05-10  Andy Wingo  <wingo@pobox.com>
22237
22238         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
22239         *all* the arguments.
22240
22241         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
22242         stream lock if it's a FLUSH_DONE; normal flushes don't get the
22243         lock (according to the docs -- if this is wrong change the docs).
22244
22245         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
22246         flush messages in the NULL state.
22247
22248         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
22249         message immediately and return.
22250         (gst_bus_set_flushing): New function. If a bus is flushing, it
22251         flushes out any queued messages and immediately unrefs new
22252         messages. This is so when an element goes to NULL, all of the
22253         unhandled messages coming from it can be freed, and their
22254         references to the element dropped. In other words: message source
22255         ref considered harmful :P
22256
22257         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
22258         we're finished with it.
22259
22260         * gst/gstmessage.c (gst_message_new_state_changed): 
22261
22262 2005-05-10  Wim Taymans  <wim@fluendo.com>
22263
22264         * gst/gstvalue.c: (gst_value_compare_flags),
22265         (gst_value_serialize_flags), (gst_value_deserialize_flags),
22266         (_gst_value_initialize):
22267         Added flags serialize/deserialize/compare code.
22268
22269 2005-05-09  Andy Wingo  <wingo@pobox.com>
22270
22271         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
22272         Intersect the peer's caps with our caps.
22273
22274 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22275
22276         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22277         * gst/elements/gsttypefindelement.c: (find_peek):
22278           Handle negative offsets better. Fixes decodebin.
22279
22280 2005-05-09  Wim Taymans  <wim@fluendo.com>
22281
22282         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
22283         (gst_base_transform_event):
22284         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
22285         Implement accept_caps.
22286         Fix silly lock/unlock mismatch in base class.
22287
22288 2005-05-09  Wim Taymans  <wim@fluendo.com>
22289
22290         * docs/design/draft-push-pull.txt:
22291         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
22292         * gst/elements/gstfilesink.c: (gst_filesink_init),
22293         (gst_filesink_query):
22294         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22295         (gst_type_find_handle_src_query), (find_element_get_length):
22296         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
22297         * gst/gstelement.h:
22298         * gst/gstmessage.c:
22299         * gst/gstmessage.h:
22300         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
22301         (gst_real_pad_get_caps_unlocked),
22302         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
22303         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22304         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
22305         (gst_real_pad_dispose), (gst_real_pad_finalize),
22306         (gst_pad_load_and_link), (gst_pad_save_thyself),
22307         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
22308         (gst_pad_check_pull_range), (gst_pad_pull_range),
22309         (gst_pad_template_get_type), (gst_pad_template_class_init),
22310         (gst_pad_template_init), (gst_pad_template_dispose),
22311         (name_is_valid), (gst_static_pad_template_get),
22312         (gst_pad_template_new), (gst_static_pad_template_get_caps),
22313         (gst_pad_template_get_caps), (gst_pad_set_element_private),
22314         (gst_pad_get_element_private), (gst_pad_start_task),
22315         (gst_pad_pause_task), (gst_pad_stop_task),
22316         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
22317         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
22318         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
22319         (gst_ghost_pad_new):
22320         * gst/gstpad.h:
22321         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
22322         (gst_query_new_position), (gst_query_set_position),
22323         (gst_query_parse_position), (gst_query_new_convert),
22324         (gst_query_set_convert), (gst_query_parse_convert):
22325         * gst/gstquery.h:
22326         * gst/gstqueryutils.c:
22327         * gst/gstqueryutils.h:
22328         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22329         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22330         (gst_queue_handle_src_query):
22331         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22332         (gst_element_query_position), (gst_element_query_convert),
22333         (intersect_caps_func), (gst_pad_query_position),
22334         (gst_pad_query_convert):
22335         * gst/gstutils.h:
22336         * tools/gst-inspect.c: (print_pad_info):
22337         * tools/gst-xmlinspect.c: (print_element_info):
22338         Remove old query functions. Ported old code.
22339         Added position/convert helper functions to gstutils.
22340         Reordered gstpad.c code, grouping relevant things.
22341         Remove gst_message_new(), always need to speficy a specific
22342         message.
22343
22344
22345 2005-05-09  Andy Wingo  <wingo@pobox.com>
22346
22347         * gst/gstiterator.h: Add some includes.
22348
22349         * gst/gstqueryutils.h: Include more headers.
22350
22351         * gst/gstpad.h:
22352         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
22353         some uses of gst_pad_query.
22354
22355         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
22356         NULL out parameters.
22357         (gst_query_new_position): New proc, allocates a new position
22358         query.
22359
22360         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
22361         gstqueryutils.c to the build.
22362
22363         * gst/gststructure.c (gst_structure_set_valist): Implement with
22364         the generic G_VALUE_COLLECT.
22365         
22366 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
22367
22368         * gst/Makefile.am: (gst_headers):
22369         Added gstqueryutils.h to the list of headers to install, that was
22370         a 'nachty' move wingo :)
22371
22372 2005-05-06  Andy Wingo  <wingo@pobox.com>
22373
22374         * gst/gstquery.h
22375         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
22376         GstData, init a memchunk.
22377         (standard_definitions): Add a few query types, deprecate a few.
22378         (gst_query_get_type): New proc.
22379         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
22380         implementation.
22381         (gst_query_new_application, gst_query_get_structure): New public
22382         procs.
22383
22384         * docs/design/draft-query.txt: Removed LINKS from the query types,
22385         because all the rest can be dispatched to other pads -- seemed
22386         ugly to have a query that couldn't be dispatched. internal_links
22387         is fine as a pad method.
22388
22389         * gst/gstpad.h: Add query2 as a pad method, add the new functions
22390         in gstpad.c, but maintain binary compatibility for the moment.
22391         Will fix before 0.9 is out.
22392
22393         * gst/gstqueryutils.c: 
22394         * gst/gstqueryutils.h: New files, implement 3 methods for each
22395         query type: parse_query, parse_response, and set. Probably need an
22396         allocator as well.
22397
22398         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
22399
22400         * gst/elements/gstfilesink.c (gst_filesink_query2):
22401         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
22402         query_types, and formats methods.
22403
22404         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
22405         (gst_pad_set_query2_function): New functions.
22406         (gst_real_pad_init): Set query2_default as the default query2
22407         function. Basically just dispatches to internally linked pads.
22408
22409         Needs review!
22410         
22411         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
22412         without using the atomic operations. Only one thread can possibly
22413         be accessing the data at this point. Changed so as to avoid
22414         gst_atomic operations.
22415
22416 2005-05-06  Wim Taymans  <wim@fluendo.com>
22417
22418         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
22419         Also set caps if we use the fallback buffer alloc.
22420
22421 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
22422
22423         * docs/gst/Makefile.am:
22424         * docs/gst/gstreamer-docs.sgml:
22425         * docs/gst/gstreamer-sections.txt:
22426         * docs/gst/tmpl/gstatomic.sgml:
22427         * docs/gst/tmpl/gstmemchunk.sgml:
22428         * testsuite/elements/struct_i386.h:
22429         * win32/GStreamer.vcproj:
22430         * win32/Makefile:
22431           Purge GstAtomic stuff from docs and win32 makefiles as well
22432
22433 2005-05-06  Wim Taymans  <wim@fluendo.com>
22434
22435         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
22436         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
22437         * gst/gstpad.c: (gst_pad_peer_get_caps):
22438         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22439         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22440         (gst_queue_src_activate), (gst_queue_change_state):
22441         * gst/gstqueue.h:
22442         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22443         (intersect_caps_func):
22444         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
22445         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
22446         Some fixes for the peer_get_caps() change.
22447
22448 2005-05-06  Wim Taymans  <wim@fluendo.com>
22449
22450         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22451         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
22452         (gst_basesink_activate):
22453         Actually do something with error codes returned from the push
22454         functions.
22455
22456 2005-05-06  Wim Taymans  <wim@fluendo.com>
22457
22458         * docs/design/part-element-sink.txt:
22459         * docs/design/part-element-source.txt:
22460         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22461         (gst_basesink_event), (gst_basesink_activate):
22462         * gst/base/gstbasesink.h:
22463         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
22464         (gst_basesrc_activate):
22465         * gst/base/gstbasesrc.h:
22466         * gst/gstelement.c: (gst_element_pads_activate):
22467         Some more documentation.
22468         Fixed scheduling decision in _pads_activate().
22469
22470 2005-05-05  Andy Wingo  <wingo@pobox.com>
22471
22472         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
22473         the test suite.
22474
22475 2005-05-05  Wim Taymans  <wim@fluendo.com>
22476
22477         * gst/base/Makefile.am:
22478         * gst/base/gstbasesink.h:
22479         * gst/base/gstbasesrc.c: (gst_basesrc_init),
22480         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
22481         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
22482         (gst_collectpads_class_init), (gst_collectpads_init),
22483         (gst_collectpads_finalize), (gst_collectpads_new),
22484         (gst_collectpads_set_function), (gst_collectpads_add_pad),
22485         (find_pad), (gst_collectpads_remove_pad),
22486         (gst_collectpads_is_active), (gst_collectpads_collect),
22487         (gst_collectpads_collect_range), (gst_collectpads_start),
22488         (gst_collectpads_stop), (gst_collectpads_peek),
22489         (gst_collectpads_pop), (gst_collectpads_available),
22490         (gst_collectpads_read), (gst_collectpads_flush),
22491         (gst_collectpads_chain):
22492         * gst/base/gstcollectpads.h:
22493         * gst/elements/Makefile.am:
22494         * gst/elements/gstelements.c:
22495         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22496         (gst_fakesink_get_times), (gst_fakesink_event),
22497         (gst_fakesink_preroll), (gst_fakesink_render):
22498         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22499         (gst_filesink_init), (gst_filesink_set_location),
22500         (gst_filesink_open_file), (gst_filesink_close_file),
22501         (gst_filesink_pad_query), (gst_filesink_event),
22502         (gst_filesink_render), (gst_filesink_change_state):
22503         * gst/elements/gstfilesink.h:
22504         Added object to help in making collect pad based elements.
22505         Ported filesink.
22506         Make event function in sink baseclass return gboolean.
22507
22508 2005-05-05  Wim Taymans  <wim@fluendo.com>
22509
22510         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
22511         (gst_bin_get_by_name):
22512         * gst/gstbuffer.h:
22513         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
22514         (gst_clock_finalize):
22515         * gst/gstdata.c: (gst_data_replace):
22516         * gst/gstdata.h:
22517         * gst/gstelement.c: (gst_element_request_pad),
22518         (gst_element_pads_activate):
22519         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
22520         (gst_object_unref):
22521         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22522         (gst_pad_set_checkgetrange_function),
22523         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
22524         (gst_pad_check_pull_range), (gst_pad_pull_range),
22525         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22526         (gst_pad_pause_task), (gst_pad_stop_task):
22527         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22528         (gst_element_request_pad), (gst_pad_proxy_getcaps):
22529         Fix name lookup in GstBin.
22530         Added _data_replace() function and _buffer_replace()
22531         Use finalize method to clean up clock.
22532         Fix refcounting on request pads.
22533         Fix pad schedule mode error.
22534         Some more object refcounting debug info,
22535
22536
22537 2005-05-04  Andy Wingo <wingo@pobox.com>
22538
22539         * check/Makefile.am:
22540         * docs/gst/tmpl/gstatomic.sgml:
22541         * docs/gst/tmpl/gstplugin.sgml:
22542         * gst/base/gstbasesink.c: (gst_basesink_activate):
22543         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
22544         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
22545         (gst_basesrc_query), (gst_basesrc_set_property),
22546         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
22547         (gst_basesrc_activate):
22548         * gst/base/gstbasesrc.h:
22549         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
22550         (gst_base_transform_src_activate):
22551         * gst/elements/gstelements.c:
22552         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22553         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22554         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22555         * gst/elements/gsttypefindelement.c: (find_element_get_length),
22556         (gst_type_find_element_checkgetrange),
22557         (gst_type_find_element_activate):
22558         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
22559         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
22560         (gst_caps_load_thyself):
22561         * gst/gstelement.c: (gst_element_pads_activate),
22562         (gst_element_save_thyself), (gst_element_restore_thyself):
22563         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
22564         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
22565         * gst/gstpad.h:
22566         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
22567         (gst_xml_parse_file), (gst_xml_parse_memory),
22568         (gst_xml_get_element), (gst_xml_make_element):
22569         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22570         (_file_index_id_save_xml), (gst_file_index_commit):
22571         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
22572         (read_enum), (load_pad_template), (load_feature), (load_plugin),
22573         (load_paths):
22574         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
22575         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
22576         * tools/gst-complete.c: (main):
22577         * tools/gst-compprep.c: (main):
22578         * tools/gst-inspect.c: (print_element_properties_info):
22579         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
22580         * tools/gst-xmlinspect.c: (print_element_properties):
22581         GCC 4 fixen.
22582         
22583 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22584
22585         * gst/gstplugin.c: (gst_plugin_check_module),
22586         (gst_plugin_check_file), (gst_plugin_load_file):
22587             apply patch from #172526 to make register work on MacOSX
22588
22589 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22590
22591         * docs/gst/tmpl/gstconfig.sgml:
22592         * gst/gstconfig.h.in:
22593           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
22594         * testsuite/debug/printf_extension.c: (main):
22595           Do not use GST_PTR_FORMAT on pointers to types with
22596           sizeof < sizeof(gpointer).  Fixes test on 64-bit
22597         * testsuite/elements/property.h:
22598           use correct printf format
22599
22600 2005-05-02  Wim Taymans  <wim@fluendo.com>
22601
22602         * docs/design/draft-push-pull.txt:
22603         * docs/design/draft-query.txt:
22604         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
22605         (gst_basesrc_start):
22606         Added draft for new query API.
22607         Added draft for better selecting scheduling methods.
22608         Make basesrc ignore length if the subclass does not support
22609         it.
22610
22611 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22612
22613         * gst/Makefile.am:
22614           possible fixes for automake-1.5 - _LIBADD is reserved
22615
22616 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22617
22618         * docs/faq/Makefile.am:
22619         * docs/manual/Makefile.am:
22620         * docs/manuals.mak:
22621         * docs/pwg/Makefile.am:
22622         * gst/Makefile.am:
22623           possible fixes for automake-1.5
22624
22625 2005-04-28  Wim Taymans  <wim@fluendo.com>
22626
22627         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22628         (gst_basesink_pad_getcaps), (gst_basesink_init),
22629         (gst_basesink_do_sync):
22630         * gst/gstclock.c: (gst_clock_entry_new):
22631         * gst/gstevent.c: (gst_event_discont_get_value):
22632         * gst/gstpipeline.c: (pipeline_bus_handler),
22633         (gst_pipeline_change_state):
22634         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
22635         Better debugging of clocking info.
22636         Allow NULL values when getting discont values.
22637
22638 2005-04-27  Wim Taymans  <wim@fluendo.com>
22639
22640         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22641         * check/gst/gstpad.c: (gst_pad_suite):
22642         Increase timeout for checks.
22643
22644 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22645
22646         * check/Makefile.am:
22647           fix the broken rule for cleanup.  Apparently this rule is
22648           only needed on FC2, so maybe this warrants further autotool
22649           inspection.
22650
22651 2005-04-26  Wim Taymans  <wim@fluendo.com>
22652
22653         * gst/gsttrashstack.h:
22654         Ooohh. a nasty one! After having a failed pop() from the stack,
22655         it's possible that the stack is empty. In that case, don't
22656         follow the NULL pointer.
22657
22658 2005-04-25  Wim Taymans  <wim@fluendo.com>
22659
22660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22661         (gst_pad_set_checkgetrange_function),
22662         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
22663         (gst_pad_check_pull_range), (gst_pad_pull_range),
22664         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22665         (gst_pad_pause_task), (gst_pad_stop_task):
22666         * gst/gstplugin.c: (gst_plugin_load):
22667         * gst/gstplugin.h:
22668         Remove gst_library_load as it does more harm than good with
22669         the new g_module flags.
22670         Revert bogus caps template check in pad linking, pad caps
22671         are important when linking not the template, which is more
22672         general than the current caps.
22673
22674 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22675
22676         * gst/autoplug/.cvsignore:
22677         * gst/autoplug/Makefile.am:
22678         * gst/autoplug/gstsearchfuncs.c:
22679         * gst/autoplug/gstsearchfuncs.h:
22680         * gst/autoplug/gstspider.c:
22681         * gst/autoplug/gstspider.h:
22682         * gst/autoplug/gstspideridentity.c:
22683         * gst/autoplug/gstspideridentity.h:
22684         * gst/autoplug/spidertest.c:
22685           Die, spider, die.
22686
22687 2005-04-25  Wim Taymans  <wim@fluendo.com>
22688
22689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22690         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22691         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22692         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22693         * gst/gstpad.h:
22694         Added stubs for unimplemented functions. 
22695
22696 2005-04-24  David Schleef  <ds@schleef.org>
22697
22698         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22699         please fix.
22700
22701 2005-04-24  David Schleef  <ds@schleef.org>
22702
22703         Convert everything from GstAtomicInt to g_atomic_int_*, and
22704         remove gstatomic.
22705         * gst/Makefile.am:
22706         * gst/gstatomic.c:
22707         * gst/gstatomic.h:
22708         * gst/gstatomic_impl.h:
22709         * gst/gstbuffer.c:
22710         * gst/gstcaps.c:
22711         * gst/gstcaps.h:
22712         * gst/gstclock.c:
22713         * gst/gstclock.h:
22714         * gst/gstdata.c:
22715         * gst/gstdata.h:
22716         * gst/gstdata_private.h:
22717         * gst/gstevent.c:
22718         * gst/gstinfo.c:
22719         * gst/gstinfo.h:
22720         * gst/gstmessage.c:
22721         * gst/gstobject.c:
22722         * gst/gstobject.h:
22723         * gst/gststructure.c:
22724         * gst/gststructure.h:
22725         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22726         * gst/gstutils.h:
22727
22728 2005-04-24  David Schleef  <ds@schleef.org>
22729
22730         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22731         make the regressions tests work.  Remove some code that is no
22732         longer true.
22733         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22734         Disable warning for pads without templates.
22735
22736 2005-04-24  David Schleef  <ds@schleef.org>
22737
22738         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22739         functions that handle filtered links.
22740         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22741         removed functions.
22742         * gst/gstutils.c: Fix/remove utility functions that handle
22743         filtered caps.
22744         * gst/gstutils.h:
22745         * gst/gstvalue.c: Add serialization/deserialization of caps
22746         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22747         requires fixing so that the filter caps notation creates
22748         a capsfilter element and sets the filter_caps property.  I
22749         think everyone probably wants to keep the shorthand notation.
22750         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22751         * docs/gst/tmpl/gstpad.sgml:
22752
22753         * gst/elements/gstelements.c: Register capsfilter element.
22754         * gst/Makefile.am: fix spacing
22755         * docs/random/ds/0.9-suggested-changes: random
22756
22757 2005-04-23  David Schleef  <ds@schleef.org>
22758
22759         * gst/elements/Makefile.am:
22760         * gst/elements/gstcapsfilter.c: New element that acts like an
22761         identity, but filters caps.  Will eventually replace filtered
22762         caps in pad linking.
22763         * gst/gstutils.c: (gst_element_create_all_pads): New function
22764         to create all the ALWAYS pads that are registered with an
22765         element class.  This functionality should eventually be
22766         merged in with GstElement initialization.
22767         * gst/gstutils.h:
22768         * testsuite/trigger/README: part of trigger test code that should
22769         have been checked in a long time ago.
22770
22771 2005-04-23  David Schleef  <ds@schleef.org>
22772
22773         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22774         needed with new versions of libtool (nobody will confirm this),
22775         and hard to carry around.
22776         * gst/autoplug/Makefile.am:
22777         * gst/base/Makefile.am:
22778         * gst/elements/Makefile.am:
22779         * gst/indexers/Makefile.am:
22780         * gst/schedulers/Makefile.am:
22781         * libs/gst/bytestream/Makefile.am:
22782         * libs/gst/control/Makefile.am:
22783         * libs/gst/dataprotocol/Makefile.am:
22784         * libs/gst/getbits/Makefile.am:
22785
22786 2005-04-21  Wim Taymans  <wim@fluendo.com>
22787
22788         * docs/design/draft-push-pull.txt:
22789         * docs/design/part-MT-refcounting.txt:
22790         * docs/design/part-TODO.txt:
22791         * docs/design/part-caps.txt:
22792         * docs/design/part-events.txt:
22793         * docs/design/part-gstbus.txt:
22794         * docs/design/part-gstpipeline.txt:
22795         * docs/design/part-messages.txt:
22796         * docs/design/part-push-pull.txt:
22797         * docs/design/part-query.txt:
22798         Some more docs.
22799
22800 2005-04-21  Wim Taymans  <wim@fluendo.com>
22801
22802         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22803         (gst_message_new), (gst_message_new_error),
22804         (gst_message_new_warning), (gst_message_new_tag),
22805         (gst_message_new_state_changed), (gst_message_new_application),
22806         (gst_message_get_structure):
22807         * gst/gstmessage.h:
22808         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22809         (gst_structure_copy_conditional):
22810         Use parent refcount in GstMessage to ensure GstStructure
22811         consistency.
22812         Cleaned up headers a bit.
22813         
22814
22815 2005-04-20  Wim Taymans  <wim@fluendo.com>
22816
22817         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22818         (gst_basesink_pad_getcaps), (gst_basesink_init),
22819         (gst_basesink_chain_unlocked):
22820         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22821         (gst_type_find_helper):
22822         * gst/elements/gsttypefindelement.c:
22823         (gst_type_find_element_have_type), (gst_type_find_element_init),
22824         (stop_typefinding), (gst_type_find_element_handle_event),
22825         (find_suggest), (gst_type_find_element_chain),
22826         (gst_type_find_element_checkgetrange),
22827         (gst_type_find_element_getrange), (do_typefind),
22828         (gst_type_find_element_activate):
22829         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22830         (gst_buffer_default_free), (gst_buffer_default_copy),
22831         (gst_buffer_set_caps):
22832         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22833         (gst_caps_replace):
22834         * gst/gstmessage.c: (gst_message_new),
22835         (gst_message_new_state_changed):
22836         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22837         (gst_pad_set_checkgetrange_function),
22838         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22839         (gst_pad_set_caps), (gst_pad_check_pull_range),
22840         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22841         * gst/gstpad.h:
22842         * gst/gsttypefind.c: (gst_type_find_register):
22843         Make gst_caps_replace() work like other _replace() functions.
22844         Use _caps_replace() where possible.
22845         Make sure _message_new() initialises its field.
22846         Add gst_static_pad_template_get_caps()
22847
22848
22849 2005-04-18  Andy Wingo  <wingo@pobox.com>
22850
22851         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22852         on the peer, not the pad. I think that was a typo. Pass an extra
22853         arg to see if random access is possible. Activate the pads as
22854         PULL_RANGE if possible.
22855
22856         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22857
22858         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22859         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22860         to PROP_....
22861
22862 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22863
22864         * docs/faq/using.xml:
22865           Add note on gstreamer-properties (#154996).
22866
22867 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22868
22869         * docs/random/bbb/optional-properties:
22870           Some analysis on optional properties.
22871
22872 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22873
22874         * docs/gst/tmpl/gstelementfactory.sgml:
22875         * gst/gstelement.h:
22876         * gst/gstelementfactory.c: (gst_element_factory_init),
22877         (gst_element_factory_cleanup), (gst_element_register),
22878         (__gst_element_factory_add_static_pad_template),
22879         (gst_element_factory_get_static_pad_templates),
22880         (gst_element_factory_can_src_caps),
22881         (gst_element_factory_can_sink_caps):
22882         * gst/registries/Makefile.am:
22883         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22884         (gst_xml_registry_class_init), (gst_xml_registry_init),
22885         (gst_xml_registry_new), (gst_xml_registry_set_property),
22886         (gst_xml_registry_get_property), (get_time), (make_dir),
22887         (gst_xml_registry_get_perms_func),
22888         (plugin_times_older_than_recurse), (plugin_times_older_than),
22889         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22890         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22891         (add_to_char_array), (read_string), (read_uint), (read_enum),
22892         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22893         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22894         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22895         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22896         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22897         (gst_xml_registry_rebuild):
22898         * gst/registries/gstlibxmlregistry.h:
22899         * tools/gst-compprep.c: (main):
22900         * tools/gst-inspect.c: (print_pad_templates_info):
22901         * tools/gst-xmlinspect.c: (print_element_info):
22902           Use libxml2 for registry parsing, use staticpadtemplates in
22903           elementfactories. Makes gst_init() +/- 10x faster.
22904
22905 2005-04-12  Wim Taymans  <wim@fluendo.com>
22906
22907         * gst/base/Makefile.am:
22908         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22909         (gst_basesink_pad_getcaps), (gst_basesink_init),
22910         (gst_basesink_event), (gst_basesink_change_state):
22911         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22912         (gst_basesrc_init), (gst_basesrc_query),
22913         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22914         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22915         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22916         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22917         (gst_basesrc_stop), (gst_basesrc_activate),
22918         (gst_basesrc_change_state):
22919         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22920         (helper_find_suggest), (gst_type_find_helper):
22921         * gst/base/gsttypefindhelper.h:
22922         * gst/elements/Makefile.am:
22923         * gst/elements/gstelements.c:
22924         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22925         (gst_fakesink_get_times), (gst_fakesink_event),
22926         (gst_fakesink_preroll), (gst_fakesink_render):
22927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22928         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22929         (gst_fakesrc_get_property), (gst_fakesrc_create),
22930         (gst_fakesrc_start), (gst_fakesrc_stop):
22931         * gst/elements/gstfakesrc.h:
22932         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22933         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22934         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22935         (gst_filesrc_create_read), (gst_filesrc_create),
22936         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22937         (gst_filesrc_start):
22938         * gst/elements/gsttypefindelement.c:
22939         (gst_type_find_element_have_type), (gst_type_find_element_init),
22940         (start_typefinding), (stop_typefinding), (push_buffer_store),
22941         (gst_type_find_element_handle_event),
22942         (gst_type_find_element_chain),
22943         (gst_type_find_element_checkgetrange),
22944         (gst_type_find_element_getrange), (do_typefind),
22945         (gst_type_find_element_activate),
22946         (gst_type_find_element_change_state):
22947         * gst/elements/gsttypefindelement.h:
22948         * gst/gstpipeline.c: (pipeline_bus_handler):
22949         Added typefind helper.
22950         Small preroll fix in the base sink.
22951         Disable typefind code in basesrc.
22952         Crude port of typefindelement.
22953         Fakesrc cleanups.
22954
22955
22956 2005-04-11  Wim Taymans  <wim@fluendo.com>
22957
22958         * check/gst/gstbus.c: (gstbus_suite):
22959         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22960         * check/gstcheck.h:
22961           Fix up the timeout so that the test does not fail.
22962
22963 2005-04-06  Wim Taymans  <wim@fluendo.com>
22964
22965         * gst/base/README:
22966         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22967         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22968         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22969         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22970         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22971         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22972         (gst_basesrc_stop), (gst_basesrc_activate),
22973         (gst_basesrc_change_state), (basesrc_find_peek),
22974         (basesrc_find_suggest), (gst_basesrc_type_find):
22975         * gst/base/gstbasesrc.h:
22976         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22977         (gst_filesrc_class_init), (gst_filesrc_init),
22978         (gst_filesrc_finalize), (gst_filesrc_set_location),
22979         (gst_filesrc_set_property), (gst_filesrc_get_property),
22980         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22981         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22982         (gst_filesrc_create_read), (gst_filesrc_create),
22983         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22984         * gst/elements/gstfilesrc.h:
22985         * gst/gstelement.c: (gst_element_get_state_func),
22986         (gst_element_lost_state), (gst_element_pads_activate):
22987         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22988         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22989         (gst_pad_pull_range):
22990         * gst/gstpad.h:
22991         More work on the generic source base class, implement seeking,
22992         query.
22993         Make filesrc extend the base source class.
22994         Added gst_pad_set_checkgetrange_function to GstPad.
22995
22996 2005-04-06  Andy Wingo  <wingo@pobox.com>
22997
22998         * pkgconfig/gstreamer-base.pc.in:
22999         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
23000
23001         * pkgconfig/Makefile.am:
23002         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
23003
23004 2005-04-04  Wim Taymans  <wim@fluendo.com>
23005
23006         * gst/base/Makefile.am:
23007         * gst/base/README:
23008         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23009         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23010         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23011         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
23012         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23013         (gst_basesrc_base_init), (gst_basesrc_class_init),
23014         (gst_basesrc_init), (gst_basesrc_get_formats),
23015         (gst_basesrc_get_query_types), (gst_basesrc_query),
23016         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
23017         (gst_basesrc_set_property), (gst_basesrc_get_property),
23018         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
23019         (gst_basesrc_loop), (gst_basesrc_activate),
23020         (gst_basesrc_change_state):
23021         * gst/base/gstbasesrc.h:
23022         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
23023         (gst_fakesrc_class_init), (gst_fakesrc_init),
23024         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
23025         (gst_fakesrc_get_property), (gst_fakesrc_create):
23026         * gst/elements/gstfakesrc.h:
23027         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
23028         (gst_filesrc_open_file), (gst_filesrc_loop),
23029         (gst_filesrc_activate), (filesrc_find_peek),
23030         (gst_filesrc_type_find):
23031         Made base source class, make fakesrc extend it.
23032         Add comments to basesink class.
23033         Some filesrc cleanup.
23034
23035 2005-03-31  David Schleef  <ds@schleef.org>
23036
23037         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
23038         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
23039         expected to link against libgstreamer.
23040         * gst/base/Makefile.am: link against libgstreamer
23041         * gst/elements/Makefile.am: same
23042
23043 2005-03-31  Andy Wingo  <wingo@pobox.com>
23044
23045         * tests/instantiate/Makefile.am:
23046         * tests/instantiate/caps.c: Add test to test speed of caps copy
23047         and free.
23048
23049         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
23050         GMemChunk to be fair.
23051
23052         * gst/gsttrashstack.h: Remove warning about using the fallback
23053         trash stack implementation, it's still faster than malloc.
23054
23055 2005-03-30  Andy Wingo  <wingo@pobox.com>
23056
23057         * tests/complexity.c: Add a copyright.
23058
23059 2005-03-31  Wim Taymans  <wim@fluendo.com>
23060
23061         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
23062         (gst_base_transform_class_init), (gst_base_transform_init),
23063         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23064         (gst_base_transform_get_property),
23065         (gst_base_transform_sink_activate),
23066         (gst_base_transform_src_activate),
23067         (gst_base_transform_change_state):
23068         * gst/base/gstbasetransform.h:
23069         * gst/elements/gstidentity.c: (gst_identity_class_init),
23070         (gst_identity_event), (gst_identity_check_perfect),
23071         (gst_identity_transform), (gst_identity_start),
23072         (gst_identity_stop):
23073         Added start/stop methods to transform base class so subclasses 
23074         don't need to deal with state changes even.
23075
23076 2005-03-31  Wim Taymans  <wim@fluendo.com>
23077
23078         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
23079         (gst_event_new_discontinuous), (gst_event_discont_get_value):
23080         * gst/gstevent.h:
23081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23082         (gst_pad_pull_range):
23083         Added rate to the discont event to prepare for variable speed
23084         and reverse playback.
23085
23086 2005-03-29  David Schleef  <ds@schleef.org>
23087
23088         * configure.ac:
23089         * testsuite/trigger/Makefile.am:
23090         * testsuite/trigger/trigger.c: A little example program to show
23091         how trigger-based elements can work.
23092
23093 2005-03-29  Wim Taymans  <wim@fluendo.com>
23094
23095         * gst/base/Makefile.am:
23096         * gst/base/README:
23097         * gst/base/gstbasesink.c: (gst_basesink_get_type),
23098         (gst_basesink_base_init), (gst_basesink_class_init),
23099         (gst_basesink_pad_getcaps), (gst_basesink_init),
23100         (gst_basesink_activate), (gst_basesink_change_state):
23101         * gst/base/gstbasesink.h:
23102         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
23103         (gst_base_transform_base_init), (gst_base_transform_finalize),
23104         (gst_base_transform_class_init), (gst_base_transform_init),
23105         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
23106         (gst_base_transform_event), (gst_base_transform_getrange),
23107         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
23108         (gst_base_transform_set_property),
23109         (gst_base_transform_get_property),
23110         (gst_base_transform_sink_activate),
23111         (gst_base_transform_src_activate),
23112         (gst_base_transform_change_state):
23113         * gst/base/gstbasetransform.h:
23114         * gst/elements/gstidentity.c: (gst_identity_finalize),
23115         (gst_identity_class_init), (gst_identity_init),
23116         (gst_identity_event), (gst_identity_check_perfect),
23117         (gst_identity_transform), (gst_identity_set_property),
23118         (gst_identity_get_property), (gst_identity_change_state):
23119         * gst/elements/gstidentity.h:
23120         * gst/gstelement.c: (gst_element_get_state_func),
23121         (gst_element_lost_state), (gst_element_pads_activate):
23122         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23123         (gst_pad_check_pull_range), (gst_pad_pull_range):
23124         * gst/gstpad.h:
23125         Simplify pad activation.
23126         Added function to check if pull_range can be performed.
23127         Error out when pulling inactive or flushing pads.
23128         Removed const from refcounted types as it does not make sense.
23129         Simplify pad templates in basesink
23130         Added base class for simple 1-to-1 transforms.
23131         Make identity subclass the base transform.
23132
23133 2005-03-29  Andy Wingo  <wingo@pobox.com>
23134
23135         * docs/libs/gstreamer-libs-overrides.txt: 
23136         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
23137         really don't understand what's going on, but like whatever. I want
23138         green buildbot!
23139
23140         * docs/gst/Makefile.am:
23141         * docs/libs/Makefile.am: Dist the overrides files.
23142
23143         * check/Makefile.am (clean-local): Remove .libs directories.
23144
23145         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
23146         elements to EXTRA_DIST, so po/ files are happy.
23147
23148         * po/POTFILES.in: Er, remove it here.
23149
23150         * po/POTFILES: Remove gstspider.c.
23151
23152         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
23153
23154         * docs/libs/gstreamer-libs-docs.sgml: 
23155         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
23156         bytestream.
23157
23158         * tests/complexity.c (main): Set the length of the preroll queue
23159         on the sinks to prevent a lockup.
23160
23161         * libs/gst/dataprotocol/Makefile.am: 
23162         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
23163         the same as the one in check/gst-libs/gdp.c.
23164
23165         * po/, docs/gst/: Commit automatic changes to docs and po files.
23166
23167         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
23168         the versioned libgstbase.
23169
23170         * check/Makefile.am: Depend on an unversioned gst-register, seems
23171         to make autoconf happier.
23172
23173         * gst/base/Makefile.am: Make libgstbase a versioned lib.
23174
23175 2005-03-28  Wim Taymans  <wim@fluendo.com>
23176
23177         * configure.ac:
23178         * docs/design/part-gstelement.txt:
23179         * docs/design/part-negotiation.txt:
23180         * docs/design/part-preroll.txt:
23181         * docs/design/part-scheduling.txt:
23182         * docs/design/part-states.txt:
23183         * gst/Makefile.am:
23184         * gst/base/Makefile.am:
23185         * gst/base/README:
23186         * gst/base/gstbasesink.c: (gst_basesink_get_template),
23187         (gst_basesink_base_init), (gst_basesink_class_init),
23188         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23189         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23190         (gst_basesink_set_pad_functions),
23191         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
23192         (gst_basesink_set_property), (gst_basesink_get_property),
23193         (gst_base_sink_get_template), (gst_base_sink_get_caps),
23194         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
23195         (gst_basesink_preroll_queue_push),
23196         (gst_basesink_preroll_queue_empty),
23197         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
23198         (gst_basesink_event), (gst_basesink_get_times),
23199         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
23200         (gst_basesink_chain_unlocked), (gst_basesink_chain),
23201         (gst_basesink_loop), (gst_basesink_activate),
23202         (gst_basesink_change_state):
23203         * gst/base/gstbasesink.h:
23204         * gst/elements/Makefile.am:
23205         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
23206         (gst_fakesink_class_init), (gst_fakesink_init),
23207         (gst_fakesink_set_property), (gst_fakesink_get_property),
23208         (gst_fakesink_get_times), (gst_fakesink_event),
23209         (gst_fakesink_preroll), (gst_fakesink_render),
23210         (gst_fakesink_change_state):
23211         * gst/elements/gstfakesink.h:
23212         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23213         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
23214         * gst/gstelement.c: (gst_element_add_pad),
23215         (gst_element_get_state_func), (gst_element_abort_state),
23216         (gst_element_commit_state), (gst_element_lost_state),
23217         (gst_element_set_state), (gst_element_pads_activate):
23218         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
23219         * gst/gstpipeline.c: (gst_pipeline_send_event),
23220         (gst_pipeline_change_state):
23221         Added state change code.
23222         Added/updated docs.
23223         Added sink base class, make fakesink extend the base class.
23224         Small cleanups in GstPipeline.
23225
23226 2005-03-26  David Schleef  <ds@schleef.org>
23227
23228         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
23229         is broken and should be implemented in a different library.
23230         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
23231         * gst/gst.h: remove gstcpu.h
23232         * gst/gstcpu.c: remove
23233         * gst/gstcpu.h: remove
23234         * gst/Makefile.am.future: Remove this file.  It's ancient.
23235
23236 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23237
23238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23239         (gst_bin_send_event):
23240           Add default event/set_manager handlers. The set_manager handler
23241           takes care that the manager is distributed over kids that were
23242           already in the bin before the manager was set. The event handler
23243           is a utility virtual function that sends the event over all sinks,
23244           so that gst_element_send_event (bin, event); has the expected
23245           behaviour.
23246         * gst/gstpad.c: (gst_pad_event_default):
23247           Re-install default event handling for discontinuities, so that
23248           seeking works without requiring hacks in applications or extra
23249           code in sinks.
23250         * gst/gstpipeline.c: (gst_pipeline_class_init),
23251         (gst_pipeline_send_event):
23252           Half hack, half utility: set a pipeline to PAUSED for seek events,
23253           since that is the only way we can guarantee a/v sync. Means that
23254           you can do gst_element_seek (pipeline, method, pos); on a pipeline
23255           and it "just works".
23256
23257 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23258
23259         * gst/gstpipeline.c: (gst_pipeline_use_clock):
23260           Lock/unlock mismatch.
23261
23262 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23263
23264         * docs/faq/gst-uninstalled:
23265           add gst-plugins-base
23266         * docs/gst/Makefile.am:
23267           don't error out until docs are fixed
23268         * docs/gst/gstreamer.types:
23269           remove thread
23270
23271 2005-03-22  Wim Taymans  <wim@fluendo.com>
23272
23273         * check/Makefile.am:
23274         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
23275         * gst/gststructure.c: (gst_structure_set_valist),
23276         (gst_structure_copy_conditional):
23277         Activated more tests.
23278         Added message test.
23279         Added G_TYPE_POINTER to GstStructure.
23280         
23281
23282 2005-03-22  Wim Taymans  <wim@fluendo.com>
23283
23284         * docs/design/part-TODO.txt:
23285         * docs/design/part-events.txt:
23286         * docs/design/part-gstbin.txt:
23287         * docs/design/part-gstbus.txt:
23288         * docs/design/part-gstpipeline.txt:
23289         * docs/design/part-messages.txt:
23290         * gst/gstbus.c:
23291         * gst/gstmessage.c:
23292         Docs updates
23293
23294 2005-03-21  Wim Taymans  <wim@fluendo.com>
23295
23296         * gst/gstbus.c: (gst_bus_post):
23297         Fix copy-and-paste error.
23298
23299 2005-03-21  Wim Taymans  <wim@fluendo.com>
23300
23301         * check/Makefile.am:
23302         * gst/Makefile.am:
23303         * gst/elements/Makefile.am:
23304         * gst/elements/gstelements.c:
23305         * gst/elements/gstfakesink.c: (gst_fakesink_init),
23306         (gst_fakesink_event), (gst_fakesink_chain):
23307         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23308         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
23309         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
23310         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
23311         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23312         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
23313         (gst_fakesrc_loop), (gst_fakesrc_activate),
23314         (gst_fakesrc_change_state):
23315         * gst/elements/gstfakesrc.h:
23316         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
23317         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
23318         (gst_filesrc_open_file), (gst_filesrc_loop),
23319         (gst_filesrc_activate), (gst_filesrc_change_state),
23320         (filesrc_find_peek), (filesrc_find_suggest),
23321         (gst_filesrc_type_find):
23322         * gst/elements/gstidentity.c: (gst_identity_finalize),
23323         (gst_identity_class_init), (gst_identity_init),
23324         (gst_identity_proxy_getcaps), (identity_queue_push),
23325         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
23326         (gst_identity_getrange), (gst_identity_chain),
23327         (gst_identity_sink_loop), (gst_identity_src_loop),
23328         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
23329         (gst_identity_set_property), (gst_identity_get_property),
23330         (gst_identity_change_state):
23331         * gst/elements/gstidentity.h:
23332         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
23333         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
23334         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
23335         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
23336         (gst_tee_sink_activate):
23337         * gst/elements/gsttee.h:
23338         * gst/gst.c: (gst_register_core_elements), (init_post):
23339         * gst/gst.h:
23340         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
23341         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
23342         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
23343         (gst_bin_change_state):
23344         * gst/gstbin.h:
23345         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
23346         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
23347         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
23348         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
23349         (gst_bus_set_sync_handler), (gst_bus_create_watch),
23350         (bus_watch_callback), (bus_watch_destroy),
23351         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
23352         (poll_timeout), (gst_bus_poll):
23353         * gst/gstbus.h:
23354         * gst/gstcaps.h:
23355         * gst/gstdata.h:
23356         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23357         (gst_element_post_message), (gst_element_message_full),
23358         (gst_element_get_state_func), (gst_element_get_state),
23359         (gst_element_abort_state), (gst_element_commit_state),
23360         (gst_element_lost_state), (gst_element_set_state),
23361         (gst_element_pads_activate), (gst_element_change_state),
23362         (gst_element_dispose), (gst_element_set_manager_func),
23363         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
23364         (gst_element_set_manager), (gst_element_get_manager),
23365         (gst_element_set_bus), (gst_element_get_bus),
23366         (gst_element_set_scheduler), (gst_element_get_scheduler):
23367         * gst/gstelement.h:
23368         * gst/gstevent.c: (gst_event_new_segment_seek),
23369         (gst_event_new_flush):
23370         * gst/gstevent.h:
23371         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
23372         (_gst_message_free), (gst_message_get_type), (gst_message_new),
23373         (gst_message_new_eos), (gst_message_new_error),
23374         (gst_message_new_warning), (gst_message_new_tag),
23375         (gst_message_new_state_changed), (gst_message_new_application),
23376         (gst_message_get_structure), (gst_message_parse_tag),
23377         (gst_message_parse_state_changed), (gst_message_parse_error),
23378         (gst_message_parse_warning):
23379         * gst/gstmessage.h:
23380         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
23381         (gst_real_pad_set_property), (gst_pad_set_active),
23382         (gst_pad_is_active), (gst_pad_set_blocked_async),
23383         (gst_pad_set_blocked), (gst_pad_is_blocked),
23384         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
23385         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
23386         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
23387         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
23388         (gst_pad_link_filtered), (gst_pad_relink_filtered),
23389         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
23390         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
23391         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
23392         (gst_pad_set_caps), (gst_pad_configure_sink),
23393         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
23394         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
23395         (gst_real_pad_dispose), (gst_real_pad_finalize),
23396         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
23397         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23398         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
23399         * gst/gstpad.h:
23400         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
23401         (pipeline_bus_handler), (gst_pipeline_change_state),
23402         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
23403         * gst/gstpipeline.h:
23404         * gst/gstprobe.h:
23405         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23406         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
23407         (gst_queue_link_src), (gst_queue_bufferalloc),
23408         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
23409         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
23410         (gst_queue_loop), (gst_queue_handle_src_event),
23411         (gst_queue_handle_src_query), (gst_queue_src_activate),
23412         (gst_queue_change_state):
23413         * gst/gstqueue.h:
23414         * gst/gstscheduler.c: (gst_scheduler_init),
23415         (gst_scheduler_dispose), (gst_scheduler_create_task),
23416         (gst_scheduler_factory_create):
23417         * gst/gstscheduler.h:
23418         * gst/gststructure.c: (gst_structure_get_type),
23419         (gst_structure_copy_conditional):
23420         * gst/gststructure.h:
23421         * gst/gsttaginterface.h:
23422         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23423         (gst_task_init), (gst_task_dispose), (gst_task_create),
23424         (gst_task_get_state), (gst_task_start), (gst_task_stop),
23425         (gst_task_pause):
23426         * gst/gsttask.h:
23427         * gst/gstthread.c:
23428         * gst/gstthread.h:
23429         * gst/gsttypes.h:
23430         * gst/schedulers/Makefile.am:
23431         * gst/schedulers/cothreads_compat.h:
23432         * gst/schedulers/entryscheduler.c:
23433         * gst/schedulers/faircothreads.c:
23434         * gst/schedulers/faircothreads.h:
23435         * gst/schedulers/fairscheduler.c:
23436         * gst/schedulers/gstbasicscheduler.c:
23437         * gst/schedulers/gstoptimalscheduler.c:
23438         * gst/schedulers/gthread-cothreads.h:
23439         * gst/schedulers/threadscheduler.c:
23440         (gst_thread_scheduler_task_get_type),
23441         (gst_thread_scheduler_task_class_init),
23442         (gst_thread_scheduler_task_init),
23443         (gst_thread_scheduler_task_start),
23444         (gst_thread_scheduler_task_stop),
23445         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
23446         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23447         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
23448         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
23449         (plugin_init):
23450         * libs/gst/Makefile.am:
23451         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
23452         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
23453         (gst_file_pad_parent_set):
23454         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23455         (gst_dp_event_from_packet):
23456         * tests/complexity.c: (main):
23457         * tests/mass_elements.c: (main):
23458         * testsuite/states/locked.c: (message_received), (main):
23459         * testsuite/states/parent.c: (main):
23460         * tools/gst-inspect.c: (print_element_flag_info),
23461         (print_implementation_info), (print_pad_info):
23462         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
23463         (main):
23464         * tools/gst-md5sum.c: (event_loop), (main):
23465         * tools/gst-typefind.c: (main):
23466         * tools/gst-xmlinspect.c: (print_element_info):
23467         Next big merge.
23468         Added GstBus for mainloop integration.
23469         Added GstMessage for sending notifications on the bus.
23470         Added GstTask as an abstraction for pipeline entry points.
23471         Removed GstThread.
23472         Removed Schedulers.
23473         Simplified GstQueue for multithreaded core.
23474         Made _link threadsafe, removed old capsnego.
23475         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
23476         Added pad blocking functions.
23477         Reworked scheduling functions in GstPad to prepare for
23478         scheduling updates soon.
23479         Moved events out of data stream.
23480         Simplified GstEvent types.
23481         Added return values to push/pull.
23482         Removed clocking from GstElement.
23483         Added prototypes for state change function for next merge.
23484         Removed iterate from bins and state change management.
23485         Fixed some elements, disabled others for now.
23486         Fixed -inspect and -launch.
23487         Added check for GstBus.
23488
23489 2005-03-10  Wim Taymans  <wim@fluendo.com>
23490
23491         * docs/design/part-MT-refcounting.txt:
23492         * docs/design/part-clocks.txt:
23493         * docs/design/part-gstelement.txt:
23494         * docs/design/part-gstobject.txt:
23495         * docs/design/part-standards.txt:
23496         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23497         (gst_bin_remove_func), (gst_bin_remove):
23498         * gst/gstbin.h:
23499         * gst/gstbuffer.c:
23500         * gst/gstcaps.h:
23501         * testsuite/clock/clock1.c: (main):
23502         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
23503         (main):
23504         * testsuite/dlopen/loadgst.c: (do_test):
23505         * testsuite/refcounting/bin.c: (add_remove_test1),
23506         (add_remove_test2), (main):
23507         * testsuite/refcounting/element.c: (main):
23508         * testsuite/refcounting/element_pad.c: (main):
23509         * testsuite/refcounting/pad.c: (main):
23510         * tools/gst-launch.c: (sigint_handler_sighandler):
23511         * tools/gst-typefind.c: (main):
23512         Doc updates.
23513         Added doc about clock.
23514         removed gst_bin_iterate_recurse_up(), marked methods
23515         for removal.
23516         Fix more testsuites.
23517
23518 2005-03-09  Wim Taymans  <wim@fluendo.com>
23519
23520         * gst/gstpad.c: (gst_pad_get_direction),
23521         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
23522         (gst_pad_collect_valist):
23523         * testsuite/bins/interface.c: (main):
23524         * testsuite/caps/audioscale.c: (test_caps):
23525         * testsuite/caps/caps.c: (test1), (test2), (test3):
23526         * testsuite/caps/deserialize.c: (main):
23527         * testsuite/caps/enumcaps.c: (main):
23528         * testsuite/caps/filtercaps.c: (main):
23529         * testsuite/caps/intersect2.c: (main):
23530         * testsuite/caps/random.c: (main):
23531         * testsuite/caps/renegotiate.c: (my_fixate), (main):
23532         * testsuite/caps/sets.c: (check_caps):
23533         * testsuite/caps/simplify.c: (check_caps), (main):
23534         * testsuite/caps/subtract.c: (check_caps):
23535         Fix _pad_get_direction wrt ghostpads.
23536         Fix caps testsuite.
23537
23538 2005-03-09  Wim Taymans  <wim@fluendo.com>
23539
23540         * check/Makefile.am:
23541         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
23542         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
23543         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
23544         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
23545         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
23546         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
23547         (gst_bin_remove), (gst_bin_iterate_recurse_up),
23548         (bin_element_is_sink), (gst_bin_iterate_sinks),
23549         (gst_bin_iterate_all_by_interface):
23550         * gst/gstbin.h:
23551         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
23552         (gst_element_change_state), (gst_element_dispose),
23553         (gst_element_finalize), (gst_element_set_loop_function):
23554         * gst/gstelement.h:
23555         * gst/gstiterator.c: (find_custom_fold_func):
23556         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23557         (gst_pad_collectv), (gst_pad_collect_valist),
23558         (gst_pad_template_new):
23559         * gst/gstpipeline.c: (gst_pipeline_class_init),
23560         (gst_pipeline_dispose), (gst_pipeline_set_property),
23561         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
23562         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
23563         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
23564         * gst/gstutils.h:
23565         * gst/schedulers/entryscheduler.c:
23566         * gst/schedulers/gstbasicscheduler.c:
23567         (gst_basic_scheduler_cothreaded_chain),
23568         (gst_basic_scheduler_chain_add_element):
23569         * testsuite/bins/interface.c: (main):
23570         Added GstBin test.
23571         Added GstSystemClock test.
23572         Implemented clock distribution code in GstBin.
23573         Implemented iterate sinks method for future use.
23574         Rearranged gstelement.h
23575         Fix GstIterator comparison bug.
23576         Moved some code to GstPipeline, mostly clocking related.
23577
23578 2005-03-09  Wim Taymans  <wim@fluendo.com>
23579
23580         * configure.ac:
23581         * gst/gst_private.h:
23582         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23583         (gst_bin_remove_func), (gst_bin_remove),
23584         (gst_bin_get_by_name_recurse_up):
23585         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
23586         (gst_clock_id_compare_func), (gst_clock_id_wait),
23587         (gst_clock_id_wait_async), (gst_clock_init),
23588         (gst_clock_adjust_unlocked), (gst_clock_get_time):
23589         * gst/gstelement.h:
23590         * gst/gstinfo.c: (_gst_debug_init):
23591         * gst/gstobject.h:
23592         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23593         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
23594         * gst/gstpad.h:
23595         Bump version number, we're now 0.9.0
23596         Add future debugging category.
23597         Fix NULL _unref() in _get_by_name_recurse_up
23598         Rearrange gstpad.h.
23599         Update some docs.
23600
23601 2005-03-08  Wim Taymans  <wim@fluendo.com>
23602
23603         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
23604         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
23605         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23606         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
23607         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
23608         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
23609         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
23610         * gst/elements/gstidentity.c: (gst_identity_class_init):
23611         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
23612         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
23613         * gst/elements/gstshaper.c: (gst_shaper_class_init):
23614         * gst/elements/gststatistics.c: (gst_statistics_class_init):
23615         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
23616         (gst_tee_link):
23617         * gst/gstelement.c: (gst_element_class_init),
23618         (gst_element_base_class_init), (gst_element_init),
23619         (gst_element_get_random_pad), (gst_element_wait_state_change),
23620         (gst_element_change_state), (gst_element_dispose),
23621         (gst_element_finalize), (gst_element_set_loop_function):
23622         * gst/gstelement.h:
23623         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
23624         * gst/gstthread.c: (gst_thread_class_init),
23625         (gst_thread_release_children_locks), (gst_thread_change_state):
23626         * gst/schedulers/gstbasicscheduler.c:
23627         (gst_basic_scheduler_loopfunc_wrapper),
23628         (gst_basic_scheduler_chain_wrapper),
23629         (gst_basic_scheduler_src_wrapper),
23630         (gst_basic_scheduler_remove_element):
23631         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
23632         Remove threadsafe properties. Fix elements because GObject
23633         complains when installing a property before declaring a
23634         set/get_property handler.
23635         Rearrange gstelement.h file, use STATE macros for state locks.
23636         Free mutexes in the finalize method instead of dispose.
23637
23638 2005-03-08  Wim Taymans  <wim@fluendo.com>
23639
23640         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23641         * gst/gstthread.c: (gst_thread_release_children_locks):
23642         Added parentage check.
23643         Fix build og GstThread again.
23644
23645 2005-03-08  Wim Taymans  <wim@fluendo.com>
23646
23647         * docs/design/part-MT-refcounting.txt:
23648         * docs/design/part-conventions.txt:
23649         * docs/design/part-gstobject.txt:
23650         * docs/design/part-relations.txt:
23651         * docs/design/part-standards.txt:
23652         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23653         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
23654         (gst_bin_get_by_name), (gst_bin_get_by_interface),
23655         (gst_bin_iterate_all_by_interface):
23656         * gst/gstbuffer.h:
23657         * gst/gstclock.h:
23658         * gst/gstelement.c: (gst_element_class_init),
23659         (gst_element_change_state), (gst_element_set_loop_function):
23660         * gst/gstelement.h:
23661         * gst/gstiterator.c:
23662         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
23663         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
23664         (gst_object_dispatch_properties_changed), (gst_object_set_name),
23665         (gst_object_set_parent), (gst_object_unparent),
23666         (gst_object_check_uniqueness):
23667         * gst/gstobject.h:
23668         Docs updates, clean up some headers.
23669
23670 2005-03-07  Wim Taymans  <wim@fluendo.com>
23671
23672         * check/.cvsignore:
23673         * check/Makefile.am:
23674         * check/gst-libs/.cvsignore:
23675         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23676         * check/gst/.cvsignore:
23677         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23678         (START_TEST), (gstbus_suite), (main):
23679         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23680         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23681         (gst_data_suite), (main):
23682         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23683         (add_fold_func), (gstiterator_suite), (main):
23684         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23685         (thread_name_object), (thread_name_object_default),
23686         (gst_object_name_compare), (gst_object_suite), (main):
23687         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23688         (gst_pad_suite), (main):
23689         * check/gstcheck.c: (gst_check_log_message_func),
23690         (gst_check_log_critical_func), (gst_check_init):
23691         * check/gstcheck.h:
23692         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23693         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23694         Added checks.
23695
23696 2005-03-07  Wim Taymans  <wim@fluendo.com>
23697
23698         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23699         (gst_list_iterator_next), (gst_list_iterator_resync),
23700         (gst_list_iterator_free), (gst_iterator_new_list),
23701         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23702         (gst_iterator_free), (gst_iterator_push), (filter_next),
23703         (filter_resync), (filter_uninit), (filter_free),
23704         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23705         (gst_iterator_foreach), (find_custom_fold_func),
23706         (gst_iterator_find_custom):
23707         * gst/gstiterator.h:
23708         Added missing files.
23709
23710 2005-03-07  Wim Taymans  <wim@fluendo.com>
23711
23712         * Makefile.am:
23713         * configure.ac:
23714         * docs/design/part-MT-refcounting.txt:
23715         * docs/design/part-conventions.txt:
23716         * docs/design/part-gstobject.txt:
23717         * docs/design/part-relations.txt:
23718         * examples/mixer/mixer.c: (main):
23719         * examples/thread/thread.c: (eos), (main):
23720         * gst/Makefile.am:
23721         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23722         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23723         (gst_spider_plug_from_srcpad):
23724         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23725         (gst_spider_identity_change_state),
23726         (gst_spider_identity_sink_loop_type_finding):
23727         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23728         * gst/elements/gstidentity.c: (gst_identity_init):
23729         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23730         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23731         * gst/elements/gsttypefindelement.c: (free_entry):
23732         * gst/gst.c:
23733         * gst/gst.h:
23734         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23735         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23736         (gst_bin_set_index), (gst_bin_set_element_sched),
23737         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23738         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23739         (gst_bin_iterate_elements), (iterate_child_recurse),
23740         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23741         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23742         (compare_interface), (gst_bin_get_by_interface),
23743         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23744         * gst/gstbin.h:
23745         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23746         (gst_buffer_default_free), (gst_buffer_default_copy),
23747         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23748         (gst_buffer_create_sub):
23749         * gst/gstbuffer.h:
23750         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23751         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23752         (gst_caps_unref), (gst_static_caps_get),
23753         (gst_caps_remove_and_get_structure), (gst_caps_append),
23754         (gst_caps_append_structure), (gst_caps_remove_structure),
23755         (gst_caps_copy_nth), (gst_caps_set_simple),
23756         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23757         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23758         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23759         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23760         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23761         (gst_caps_structure_figure_out_union),
23762         (gst_caps_switch_structures), (gst_caps_do_simplify),
23763         (gst_caps_replace), (gst_caps_from_string),
23764         (gst_caps_copy_conditional):
23765         * gst/gstcaps.h:
23766         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23767         (_gst_clock_id_free), (gst_clock_id_unref),
23768         (gst_clock_id_compare_func), (gst_clock_id_wait),
23769         (gst_clock_id_wait_async), (gst_clock_class_init),
23770         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23771         (gst_clock_get_time), (gst_clock_set_time_adjust),
23772         (gst_clock_set_property), (gst_clock_get_property):
23773         * gst/gstclock.h:
23774         * gst/gstcompat.h:
23775         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23776         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23777         * gst/gstdata.h:
23778         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23779         (gst_element_requires_clock), (gst_element_provides_clock),
23780         (gst_element_set_clock), (gst_element_clock_wait),
23781         (gst_element_wait), (gst_element_set_time_delay),
23782         (gst_element_is_indexable), (gst_element_add_pad),
23783         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23784         (pad_compare_name), (gst_element_get_static_pad),
23785         (gst_element_request_pad), (gst_element_get_request_pad),
23786         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23787         (gst_element_class_get_pad_template_list),
23788         (gst_element_class_get_pad_template), (gst_element_error_func),
23789         (gst_element_get_random_pad), (gst_element_get_event_masks),
23790         (gst_element_send_event), (gst_element_seek),
23791         (gst_element_get_query_types), (gst_element_query),
23792         (gst_element_get_formats), (gst_element_convert),
23793         (gst_element_is_locked_state), (gst_element_set_locked_state),
23794         (gst_element_sync_state_with_parent), (gst_element_change_state),
23795         (gst_element_finalize), (gst_element_yield),
23796         (gst_element_interrupt), (gst_element_set_scheduler),
23797         (gst_element_get_scheduler), (gst_element_set_loop_function):
23798         * gst/gstelement.h:
23799         * gst/gstevent.h:
23800         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23801         (gst_format_get_by_nick), (gst_format_get_details),
23802         (gst_format_iterate_definitions):
23803         * gst/gstformat.h:
23804         * gst/gstindex.c: (gst_index_gtype_resolver):
23805         * gst/gstinfo.c:
23806         * gst/gstinfo.h:
23807         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23808         (gst_mem_chunk_free):
23809         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23810         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23811         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23812         (gst_object_dispatch_properties_changed),
23813         (gst_object_set_name_default), (gst_object_set_name),
23814         (gst_object_get_name), (gst_object_set_name_prefix),
23815         (gst_object_get_name_prefix), (gst_object_set_parent),
23816         (gst_object_get_parent), (gst_object_unparent),
23817         (gst_object_check_uniqueness), (gst_object_save_thyself),
23818         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23819         (gst_object_set_property), (gst_object_get_property),
23820         (gst_object_get_path_string):
23821         * gst/gstobject.h:
23822         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23823         (gst_real_pad_init), (gst_real_pad_get_property),
23824         (gst_pad_custom_new), (gst_pad_get_direction),
23825         (gst_pad_set_active), (gst_pad_is_active),
23826         (gst_pad_set_event_function), (gst_pad_is_linked),
23827         (gst_pad_link_free), (gst_pad_link_intersect),
23828         (gst_pad_link_fixate), (gst_pad_set_caps),
23829         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23830         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23831         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23832         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23833         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23834         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23835         (gst_pad_realize), (gst_pad_get_allowed_caps),
23836         (gst_real_pad_dispose), (gst_real_pad_finalize),
23837         (gst_pad_collectv), (gst_pad_collect_valist),
23838         (gst_pad_template_dispose), (gst_pad_template_new),
23839         (gst_pad_get_internal_links):
23840         * gst/gstpad.h:
23841         * gst/gstpipeline.c: (gst_pipeline_dispose),
23842         (gst_pipeline_change_state):
23843         * gst/gstpipeline.h:
23844         * gst/gstplugin.c:
23845         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23846         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23847         * gst/gstpluginfeature.h:
23848         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23849         * gst/gstquery.c: (_gst_query_type_initialize),
23850         (gst_query_type_register), (gst_query_type_get_by_nick),
23851         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23852         * gst/gstquery.h:
23853         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23854         * gst/gstscheduler.c: (gst_scheduler_add_element),
23855         (gst_scheduler_factory_create):
23856         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23857         (gst_structure_free), (gst_structure_set_name),
23858         (gst_structure_id_set_value), (gst_structure_set_value),
23859         (gst_structure_set_valist), (gst_structure_remove_field),
23860         (gst_structure_remove_fields),
23861         (gst_structure_remove_fields_valist),
23862         (gst_structure_remove_all_fields), (gst_structure_foreach),
23863         (gst_structure_map_in_place),
23864         (gst_caps_structure_fixate_field_nearest_int),
23865         (gst_caps_structure_fixate_field_nearest_double):
23866         * gst/gststructure.h:
23867         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23868         (gst_system_clock_init), (gst_system_clock_dispose),
23869         (gst_system_clock_async_thread),
23870         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23871         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23872         * gst/gstsystemclock.h:
23873         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23874         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23875         * gst/gsttaginterface.c:
23876         * gst/gstthread.c: (gst_thread_dispose),
23877         (gst_thread_release_children_locks), (gst_thread_change_state),
23878         (gst_thread_main_loop):
23879         * gst/gsttrashstack.h:
23880         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23881         * gst/gsttypes.h:
23882         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23883         (gst_element_request_pad), (gst_element_get_pad_from_template),
23884         (gst_element_request_compatible_pad),
23885         (gst_element_get_compatible_pad_filtered),
23886         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23887         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23888         (gst_element_link_many), (gst_element_link),
23889         (gst_element_link_pads), (gst_element_unlink_pads),
23890         (gst_element_unlink_many), (gst_element_unlink),
23891         (gst_pad_can_link_filtered), (gst_pad_can_link),
23892         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23893         (gst_object_default_error), (gst_bin_add_many),
23894         (gst_bin_remove_many), (gst_element_populate_std_props),
23895         (gst_element_class_install_std_props), (gst_buffer_merge),
23896         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23897         (link_fold_func), (gst_pad_proxy_setcaps):
23898         * gst/gstutils.h:
23899         * gst/gstvalue.c: (gst_value_deserialize_string):
23900         * gst/parse/grammar.y:
23901         * gst/schedulers/gstbasicscheduler.c:
23902         (gst_basic_scheduler_cothreaded_chain),
23903         (gst_basic_scheduler_chain_recursive_add),
23904         (gst_basic_scheduler_pad_link):
23905         * gst/schedulers/gstoptimalscheduler.c:
23906         (get_group_schedule_function),
23907         (gst_opt_scheduler_state_transition),
23908         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23909         * libs/gst/bytestream/bytestream.c:
23910         * libs/gst/dataprotocol/dataprotocol.c:
23911         (gst_dp_header_from_buffer):
23912         * po/nb.po:
23913         * po/ru.po:
23914         * tests/threadstate/threadstate2.c: (eos):
23915         * tools/gst-compprep.c: (main):
23916         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23917         (print_pad_info), (print_children_info):
23918         * tools/gst-launch.c: (idle_func), (main):
23919         * tools/gst-md5sum.c: (idle_func), (main):
23920         * tools/gst-xmlinspect.c: (print_element_info):
23921         First THREADED backport attempt, focusing on adding locks and
23922         making sure the API is threadsafe. Needs more work. More docs
23923         follow this week.
23924
23925 2005-02-24  Andy Wingo  <wingo@pobox.com>
23926
23927         * tests/bench-complexity.scm:
23928         * tests/complexity.gnuplot: New files, good for running complexity
23929         benchmarks.
23930
23931         * tests/Makefile.am:
23932         * tests/complexity.c: New test, sets up N elements, at each level
23933         teeing into M streams per element. Eeeenteresting.
23934
23935         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23936         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23937         running bench-mass_elements.scm.
23938
23939         * tests/bench-mass_elements.scm: New script, runs mass_elements
23940         for various numbers of identities, outputting the results to a
23941         file. Requires guile 1.6. Just for testing.
23942
23943 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23944
23945         * gst/schedulers/fairscheduler.c:
23946           compile with debug disabled
23947
23948 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23949
23950         * configure.ac:
23951           hunting season on 0.9 is now OPEN