Correct all relevant warnings found by the sparse semantic code analyzer. This includ...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2
3         * gst/gstconfig.h.in:
4         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
5         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
6         (gst_check_log_critical_func), (gst_check_drop_buffers),
7         (gst_check_element_push_buffer_list):
8         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
9         (gst_controller_get_type):
10         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
11         (gst_object_get_controller), (gst_object_get_control_source):
12         * libs/gst/controller/gstinterpolationcontrolsource.c:
13         (gst_interpolation_control_source_new):
14         * libs/gst/controller/gstlfocontrolsource.c:
15         (gst_lfo_control_source_new):
16         * libs/gst/dataprotocol/dataprotocol.c:
17         (gst_dp_event_from_packet_0_2):
18         * plugins/elements/gstfdsrc.c:
19         * plugins/elements/gstmultiqueue.c:
20         * plugins/elements/gsttee.c:
21         * plugins/elements/gsttypefindelement.c:
22         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
23         (gst_file_index_add_association):
24         * plugins/indexers/gstmemindex.c:
25         * tests/benchmarks/gstpollstress.c: (mess_some_more):
26         * tests/check/elements/queue.c: (setup_queue):
27         * tests/check/gst/gstpipeline.c:
28         * tests/check/libs/collectpads.c: (setup), (teardown),
29         (gst_collect_pads_suite):
30         * tests/examples/adapter/adapter_test.c:
31         * tests/examples/metadata/read-metadata.c: (make_pipeline):
32         * tests/examples/xml/createxml.c:
33         * tests/examples/xml/runxml.c:
34         * tools/gst-inspect.c:
35         * tools/gst-run.c:
36         Correct all relevant warnings found by the sparse semantic code
37         analyzer. This include marking several symbols static, using
38         NULL instead of 0 for pointers, not using variable sized arrays
39         on the stack, moving variable declarations to the beginning of
40         a block and using "foo (void)" instead of "foo ()" for declarations.
41
42 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
43
44         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
45         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
46         Don't reset GstPollFDs, this is not necessary at all.
47
48         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
49         (delayed_restart), (delayed_control):
50         Use GST_POLL_FD_INIT.
51
52 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
53
54         * gst/gstpoll.c: (gst_poll_fd_init):
55         * gst/gstpoll.h:
56         Added Since tags.
57
58         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
59         Use some more init macros.
60
61 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
62
63         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
64         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
65         Use init macros and functions.
66
67 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
68
69         * docs/gst/gstreamer-sections.txt:
70         * gst/gstpoll.c: (gst_poll_fd_init):
71         * gst/gstpoll.h:
72         Add INIT macro and _init method for initializing the GstPollFD.
73
74 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
75
76         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
77         (gst_fd_sink_update_fd):
78         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
79         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
80         (delayed_restart), (delayed_control):
81         Initialize some uninitialized variables as spotted by valgrind.
82
83 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
84
85         * tests/benchmarks/Makefile.am:
86         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
87         (main):
88         Add poll stress test.
89
90 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
91
92         Patch by: Peter Kjellerstedt <pkj at axis dot com>
93
94         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
95         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
96         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
97         * plugins/elements/gstfdsink.h:
98         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
99         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
100         (gst_fd_src_unlock_stop), (gst_fd_src_create),
101         (gst_fd_src_uri_set_uri):
102         * plugins/elements/gstfdsrc.h:
103         Port to GstPoll. See #505417.
104
105 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
106
107         * win32/common/libgstreamer.def:
108         Add new gst_poll_ symbols to win32 defs.
109
110 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
111
112         * docs/libs/gstreamer-libs-sections.txt:
113         * libs/gst/net/gstnetclientclock.c:
114         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
115         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
116         (gst_net_client_clock_thread), (gst_net_client_clock_start),
117         (gst_net_client_clock_stop), (gst_net_client_clock_new):
118         * libs/gst/net/gstnetclientclock.h:
119         * libs/gst/net/gstnettimeprovider.c:
120         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
121         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
122         (gst_net_time_provider_start), (gst_net_time_provider_stop),
123         (gst_net_time_provider_new):
124         * libs/gst/net/gstnettimeprovider.h:
125         Use a private stuct to not break ABI.
126
127 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
128
129         Patch by: Peter Kjellerstedt <pkj at axis dot com>
130
131         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
132         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
133         (gst_net_client_clock_thread), (gst_net_client_clock_start),
134         (gst_net_client_clock_stop), (gst_net_client_clock_new):
135         * libs/gst/net/gstnetclientclock.h:
136         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
137         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
138         (gst_net_time_provider_start), (gst_net_time_provider_stop),
139         (gst_net_time_provider_new):
140         * libs/gst/net/gstnettimeprovider.h:
141         Massive code removal and cleanups because of GstPoll.
142         Fixes #505417.
143
144 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
145
146         * configure.ac:
147         Add checks for poll, ppoll and pselect.
148
149         * docs/gst/gstreamer-docs.sgml:
150         * docs/gst/gstreamer-sections.txt:
151         Add docs for GstPoll.
152
153         * gst/Makefile.am:
154         * gst/gst.h:
155         * gst/gstpoll.c: (find_index), (selectable_fds),
156         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
157         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
158         (gst_poll_set_mode), (gst_poll_get_mode),
159         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
160         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
161         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
162         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
163         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
164         (gst_poll_fd_can_write), (gst_poll_wait),
165         (gst_poll_set_controllable), (gst_poll_restart),
166         (gst_poll_set_flushing):
167         * gst/gstpoll.h:
168         Add generic poll abstraction. We ideally don't want to have this in core
169         here but in glib intead...
170         This code will be used in various network elements and ultimately for
171         the nanosecond precision monotonic clock (that's why it's here in core).
172         It'll allow us to implement cancelable socket operations for windows too.
173
174         * tests/check/Makefile.am:
175         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
176         (delayed_stop), (delayed_restart), (delayed_flush),
177         (delayed_control), (gst_poll_suite):
178         Add GstPoll unit test.
179
180 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
181
182         * gst/gstfilter.c:
183           Improve documentation of gst_filter_run(). Fixes #518627.
184
185 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
186
187         * docs/README:
188           Add a few lines about the new 'check-inspected-versions' target.
189
190 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
191
192         * tests/check/gst/gstevent.c:
193           Add qos to the event test. Rename tcase/tsuite; is not only about
194           custom events.
195
196 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
197
198         * plugins/elements/gstqueue.c:
199           Ensure that buffer metadata is writeable, before modifying. Spotted by
200           Mike.
201
202 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
203
204         * plugins/elements/gstqueue.c:
205         * plugins/elements/gstqueue.h:
206           When dropping buffers in leaky modes, mark next buffers we sent as
207           DISCONT.
208
209 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
212           Also, if mmap() fails that would be a READ error, not OPEN_READ.
213
214 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
215
216         * plugins/elements/Makefile.am:
217         * plugins/elements/gstbufferstore.c:
218         * plugins/elements/gstbufferstore.h:
219         * plugins/elements/gsttypefindelement.h:
220           Remove GstBufferStore, no idea why we were still building it.
221           It's not used anywhere and superseded by GstAdapter.
222
223         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
224           (gst_file_src_create_mmap):
225         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
226           Printf format fixes for 64-bit integers.
227
228 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
229
230         * configure.ac:
231         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
232         We're not in 0.8 times anymore.
233
234 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
235
236         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
237         (gst_check_element_push_buffer_list):
238         * libs/gst/check/gstcheck.h:
239         Make the declaration in the header for
240         gst_check_element_push_buffer_list match the implementation.
241
242         Fix up spelling, grammar and wording of the documentation in a few
243         places, and add the Since keyword to new API functions.
244         Use g_list_delete_link instead of g_list_remove in
245         gst_check_drop_buffers, since it's immeasurably more efficient.
246
247         * tests/check/elements/fakesrc.c: (GST_START_TEST):
248         Use new gst_check_drop_buffers function where appropriate.
249
250         * win32/common/libgstbase.def:
251         * win32/common/libgstreamer.def:
252         Add new symbols gst_collect_pads_take_buffer, 
253         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
254         exports
255
256         Changelog surgery to add API keyword to new gst_check API.
257
258 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
259
260         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
261         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
262         Update pre-generated flex files with flex 2.3.34.
263
264 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
265
266         * gst/gstminiobject.c:
267           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
268           friendly to subclasses and not require them to know all internals
269           of their parent class.
270
271 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
272
273         * docs/libs/gstreamer-libs-sections.txt:
274         * libs/gst/base/gstcollectpads.c:
275         * libs/gst/base/gstcollectpads.h:
276           Add sub-buffer functions to collectpads. Fixes #516187.
277           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
278
279 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
280
281         * gst/gstbuffer.c:
282           Copy selected buffer-flags when creating subbuffers.
283           Fixes #516395.
284
285 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
286
287         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
288         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
289         * gst/gstmessage.c: (gst_message_class_init),
290         (gst_message_finalize):
291         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
292         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
293         (gst_mmap_buffer_finalize):
294         Properly chain up finalize functions to the parent class.
295
296 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
297
298         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
299
300         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
301         (gst_index_set_resolver_full):
302         * gst/gstindex.h:
303         Add new function with option to dispose of user_data in resolver.
304         Actually call the dispose function when finalizing the object and not
305         just when changing the resolver/filter.
306         API: GstIndex::gst_index_set_resolver_full()
307
308         * docs/gst/gstreamer-sections.txt:
309         Add new function to docs. Fixes #515469.
310
311 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
312
313         * gst/gstindex.c: (gst_index_finalize):
314         Chain up finalize to the parent class. Fixes leaking the GstObject
315         name and other things.
316
317 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
318
319         * configure.ac:
320         Make DISABLE_DEPRECATED defined *only* during CVS, not during
321         pre-releases or releases.
322
323         * docs/faq/gst-uninstalled:
324         Add gst-plugins-gl
325
326         * docs/random/release:
327         Change one of the steps - we only upload core & base to Gnome FTP
328
329 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
330
331         * gst/gstconfig.h.in:
332           Add 'id' for example.
333
334         * gst/gstpad.c:
335         * gst/gstutils.c:
336         * plugins/elements/gstfdsink.c:
337           Link to signals. Doc and comment fixes.
338
339 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
340
341         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
342         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
343           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
344           unused and unimplemented; finally, it is plugin features, not
345           plugins, that have ranks.
346           
347 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
348
349         * gst/gstpluginfeature.h:
350           Clarify GstRank range docs.
351
352 2008-02-05  David Schleef  <ds@schleef.org>
353
354         * gst/gst.c: Add a separate gst_deinitialized that prevents
355           gst_init() from being called after gst_deinit().  Fixes #509559
356
357 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
358
359         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
360         (gst_bin_class_init):
361         * gst/gstelement.c: (gst_element_base_class_init),
362         (gst_element_class_add_pad_template):
363         * gst/gstpadtemplate.c: (gst_pad_template_init):
364         * gst/gstpipeline.c: (gst_pipeline_get_type),
365         (gst_pipeline_base_init), (gst_pipeline_class_init):
366         * libs/gst/base/gstbasesink.c:
367         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
368         (gst_base_src_base_init), (gst_base_src_class_init):
369         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
370         (gst_capsfilter_class_init):
371         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
372         (gst_fake_sink_class_init):
373         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
374         (gst_fake_src_class_init):
375         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
376         (gst_fd_sink_class_init):
377         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
378         (gst_fd_src_class_init):
379         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
380         (gst_file_sink_class_init):
381         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
382         (gst_file_src_class_init):
383         * plugins/elements/gstidentity.c: (gst_identity_base_init),
384         (gst_identity_class_init):
385         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
386         (gst_multi_queue_class_init):
387         * plugins/elements/gstqueue.c: (gst_queue_base_init),
388         (gst_queue_class_init):
389         * plugins/elements/gsttee.c: (gst_tee_base_init),
390         (gst_tee_class_init):
391         * plugins/elements/gsttypefindelement.c:
392         (gst_type_find_element_base_init),
393         (gst_type_find_element_class_init):
394         * tests/check/gst/gstelement.c: (gst_element_suite):
395         Revert previous changes to the behaviour of GstPadTemplates, etc
396         and the possiblity to call them in class_init as it breaks too
397         many elements. Reopens bug #491501.
398
399         Should be applied again for 0.11, thus added a few FIXME 0.11 at
400         several places.
401
402 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
403
404         * tools/gst-launch.c:
405         Dump one graph per pipeline state-change and state change name
406         (if GST_DEBUG_DUMP_DOT_DIR is set).
407
408 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
409
410         * gst/gstpad.c:
411         * tests/check/gst/gstpad.c:
412         Be sure that we have a new copy of the caps and not
413         reffed caps from a template
414
415 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
416
417         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
418         * gst/gstpipeline.c: (gst_pipeline_get_type),
419         (gst_pipeline_class_init):
420         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
421         (gst_base_sink_class_init):
422         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
423         (gst_base_src_class_init):
424         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
425         (gst_base_transform_class_init):
426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
427         (gst_collect_pads_class_init):
428         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
429         * libs/gst/net/gstnettimeprovider.c:
430         (gst_net_time_provider_base_init),
431         (gst_net_time_provider_class_init):
432         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
433         (gst_capsfilter_class_init):
434         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
435         (gst_fake_sink_class_init):
436         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
437         (gst_fake_src_class_init):
438         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
439         (gst_fd_sink_class_init):
440         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
441         (gst_fd_src_class_init):
442         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
443         (gst_file_sink_class_init):
444         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
445         (gst_file_src_class_init):
446         * plugins/elements/gstidentity.c: (gst_identity_base_init),
447         (gst_identity_class_init):
448         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
449         (gst_multi_queue_class_init):
450         * plugins/elements/gstqueue.c: (gst_queue_base_init),
451         (gst_queue_class_init):
452         * plugins/elements/gsttee.c: (gst_tee_base_init),
453         (gst_tee_class_init):
454         * plugins/elements/gsttypefindelement.c:
455         (gst_type_find_element_base_init),
456         (gst_type_find_element_class_init):
457         Don't use base_init where not absolutely necessary. For example it's
458         not necessary anymore for adding pad templates or setting element
459         details.
460
461         Leave empty base_init functions in several places as GST_BOILERPLATE
462         still defines and uses them.
463
464 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
465
466         * gst/gstelement.c: (gst_element_base_class_init),
467         (gst_element_class_add_pad_template):
468         * gst/gstpadtemplate.c:
469         Make it possible (and recommended) to set element details and add
470         pad templates in the class_init functions by copying the details/pad
471         templates in GstElement's base_init.
472
473         Also make it possible to replace existing pad templates by adding
474         a new one with the same name. This was done in a hackish fashion
475         in same elements before already.
476
477         Don't reference pad templates that are added a second time. A
478         new pad template has a refcount of one and is not floating anymore
479         and to be owned by the element's class. Make this more explicit by
480         mentioning it in the docs of gst_element_class_add_pad_template().
481
482         These changes are backwards compatible. Fixes bug #491501.
483
484         * tests/check/gst/gstelement.c:
485         Add unit test for setting element details, adding pad templates and
486         replacing them in a subclass.
487
488 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
489
490         * tools/gst-inspect.c: (print_interfaces),
491         (print_element_properties_info), (print_pad_info),
492         (print_signal_info), (print_element_info):
493         Fix a few memory leaks.
494
495 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
496
497         * docs/libs/gstreamer-libs-sections.txt:
498         * libs/gst/check/gstcheck.c:
499         * libs/gst/check/gstcheck.h:
500         Add more functions for unit testing: gst_check_drop_buffers,
501         gst_check_caps_equal, gst_check_element_push_buffer_list,
502         gst_check_element_push_buffer
503         API: gst_check_drop_buffers
504         API: gst_check_caps_equal
505         API: gst_check_element_push_buffer_list
506         API: gst_check_element_push_buffer
507
508 2008-02-01  Julien Moutte  <julien@fluendo.com>
509
510         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
511         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
512         (gst_index_finalize), (gst_index_entry_free),
513         (gst_index_add_association): Fix memory leaks.
514         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
515         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
516         (gst_mem_index_free_format), (gst_mem_index_free_id),
517         (gst_mem_index_finalize): Fix memory leaks.
518         * win32/common/config.h: Updated to CVS HEAD.
519
520 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
521
522         * docs/README:
523           Some more details about how the plugin docs works.
524
525         * docs/plugins/gstreamer-plugins-sections.txt:
526           Whitespace cleanup.
527
528 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
529
530         * gst/parse/grammar.tab.pre.c:
531         * gst/parse/grammar.tab.pre.h:
532         * gst/parse/grammar.y:
533         * gst/parse/lex._gst_parse_yy.pre.c:
534           Add delayed set-property. This allows to set properties on dynamicaly
535           created objects (pads in videomxer).
536
537 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
538
539         * gst/gstutils.c:
540         Check if caps are not NULL (fix bug #510194)
541
542 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
543
544         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
545         (gst_base_sink_get_position_paused):
546         Add fixme regarding EOS in pull mode.
547         Fix position reporting in PAUSED for negative rates.
548
549 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
550
551         * gst/gstminiobject.c: (gst_mini_object_replace):
552         When replacing a miniobject, do a quick equality check first so that we
553         can avoid a ref/unref pair.
554
555 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
556
557         * docs/design/part-synchronisation.txt:
558         Update some docs.
559
560         * docs/plugins/Makefile.am:
561         * docs/plugins/gstreamer-plugins-docs.sgml:
562         * docs/plugins/gstreamer-plugins-sections.txt:
563         * plugins/elements/gstmultiqueue.c:
564         Add multiqueue to the docs.
565
566 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
567
568         * configure.ac:
569           Back to CVS
570
571 === release 0.10.17 ===
572
573 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
574
575         * configure.ac:
576           releasing 0.10.17, "Due Negligence"
577
578 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
579
580         * gst/gstutils.c:
581         Revert caps != NULL check temporarily for 0.10.17 release.
582
583 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
584
585         * gst/gstutils.c:
586         Check if caps are not NULL (fix bug #510194)
587
588 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
589
590         * gst/gstutils.c:
591         Fix compilation on systems that have posix timers but no
592         monotonic clock.
593         Fixes: #512715
594         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
595         dot net>
596
597 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
598
599         * tools/gst-inspect.c:
600         Revert previous commit in preparation for an impromptu 0.10.17 release
601
602 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
603
604         * tools/gst-inspect.c: (print_interfaces),
605         (print_element_properties_info), (print_pad_info),
606         (print_signal_info), (print_element_info):
607         Fix a few memory leaks.
608
609 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
610
611         * configure.ac:
612         Back to CVS
613
614 === release 0.10.16 ===
615
616 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
617
618         * configure.ac:
619           releasing 0.10.16, "Special Dispensation"
620
621 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
622
623         * configure.ac:
624           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
625           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
626           not fail when trying to crosscompile on OpenEmbedded (#511750).
627
628 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
629
630         * docs/manuals.mak:
631         Use $(MAKE) instead of make to fix the build if GNU make is
632         called different. Fixes bug #510747.
633
634 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
635
636         * gst/gstplugin.c: (_gst_plugin_initialize):
637           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
638           again, which I broke two commits ago when changing the API
639           of gst_plugin_register_static(): the g_list_foreach() in
640           _gst_plugin_register_static still assumed the old function
641           signature and would therefore fail (re-fixes #510187).
642
643         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
644           (_gst_plugin_register_static), (gst_plugin_register_static):
645           Revert the (technically correct) change to call g_thread_init() from
646           the pre-main() constructor. This will break programs which call
647           g_thread_init() without an if (!g_thread_supported()) guard in their
648           main function. We could just blame it on GLib or the application, but
649           it's probably best to just avoid this altogether and simply not use
650           any GLib functions here and use plain old malloc() with a simple
651           array to store the plugins to register later when gst_init() is
652           finally called (re-fixes #510187).
653
654         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
655           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
656           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
657           (GST_START_TEST), (gst_plugin_suite):
658           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
659           works.
660
661 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
662
663         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
664           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
665           This makes gtk-doc complain, but results in slightly better
666           compiler errors. The old _gst_plugin_register_static() is
667           still guarded, so there'll be a compiler warning about that
668           instead. Fixes #510187 too.
669
670 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
671
672         * gst/gst.c: (init_post):
673         * gst/gstplugin.c: (_gst_plugin_register_static),
674           (gst_plugin_register_static), (_gst_plugin_initialize):
675         * gst/gstplugin.h: (GstPluginFilter):
676           Change API of gst_plugin_register_static() to not take
677           a GstPluginDesc, but rather just take all the arguments
678           in a GstPluginDesc directly. This is more intuitive and
679           avoids certain mistakes when porting code from
680           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
681           Fixes #510187.
682
683         * tests/check/gst/gstplugin.c:
684           Fix up for changed API.
685
686 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * docs/faq/legal.xml:
689           Update FAQ, Totem actually has an exception these days.
690
691 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
692
693         * win32/common/libgstreamer.def:
694         Add new API declarations
695
696 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
697
698         * gst/gstminiobject.c:
699           Spelling fixes for the API docs.
700
701 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
702
703         * libs/gst/base/gstbasetransform.c:
704           Fix long property description for QoS.
705
706 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
707
708         * gst/gst.c:
709         _gst_trace_on is already provided by gsttrace.h, no need to declare
710         it ourselves.
711
712         * docs/libs/gstreamer-libs-sections.txt:
713         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
714         and remove strange tcase_add_test which is outputting a warning.
715
716         * libs/gst/check/gstcheck.c:
717         * libs/gst/check/gstcheck.h:
718         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
719         and define them in gstcheck.c instead of having every .c file whcih
720         includes gstcheck.h be defining its own copy and relying on symbol
721         interposing to marry them all, which doesn't work on Solaris.
722
723         * tests/check/elements/identity.c: (GST_START_TEST):
724         Don't define 'buffers' locally, it comes from libgstcheck.
725
726         * tests/check/generic/sinks.c: (send_buffer):
727         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
728
729         * tests/check/gst/gststructure.c: (GST_START_TEST):
730         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
731         * tests/check/gst/gstutils.c: (GST_START_TEST):
732         * tests/check/gst/gstvalue.c: (GST_START_TEST):
733         Add a bunch of casts to make various constants fit the types
734         they're being assigned to.
735
736 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
737
738         * gst/gstchildproxy.c:
739           Improve docs and add some ideas for making this more general-purpose.
740
741 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
742
743         * gst/gst_private.h: (GST_CAT_TYPES):
744           Add GST_CAT_TYPES, for consistency, and so that the other
745           debug categories don't make fun of it. Spotted by Saur on IRC.
746
747 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
748
749         * gst/parse/Makefile.am:
750           Move types.h from EXTRA_DIST to noinst_HEADERS.
751
752 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
753
754         * autogen.sh:
755           Add -Wno-portability to the automake parameters to stop warnings
756           about GNU make extensions being used. We require GNU make in almost
757           every Makefile anyway.
758
759         * configure.ac:
760           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
761           at the same time is required for per target flags.
762
763 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
764
765         * gst/gstmacros.h:
766           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
767           __GNUC__ is defined before using it.
768
769 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
770
771         * docs/gst/gstreamer-sections.txt:
772         * gst/gst.c: (init_post):
773         * gst/gstplugin.c: (_gst_plugin_register_static),
774           (gst_plugin_register_static), (_gst_plugin_initialize),
775           (gst_plugin_register_func):
776         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
777           API: add gst_plugin_register_static() and deprecate
778           GST_PLUGIN_DEFINE_STATIC, since it's not portable
779           (#498924).
780           Also, in _gst_plugin_register_static(), make sure to call
781           g_thread_init() before calling GLib functions such as
782           g_list_append() if we're not initialised yet, since that
783           may lead to random crashes with older GSlice/GLib versions.
784
785         * tests/check/gst/gstplugin.c:
786           Adapt unit test to above changes.
787
788 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
789
790         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
791         * gst/gstcaps.c: (gst_caps_to_string):
792         * gst/gststructure.c: (GST_ASCII_IS_STRING),
793           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
794           Yet another gratuitous GString micro-optimisation: add a (private)
795           function that serialises a structure appending to an existing
796           GString, so that when we serialise caps we don't need to alloc+free
797           a throwaway GString for each structure (each of which also entailing
798           multiple reallocs on the way); also use g_string_sized_new() in
799           various places with an approximate string length to avoid reallocs
800           within GString. See #500143.
801
802 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
803
804         * gst/gststructure.c: (gst_structure_id_set_value):
805           Always check UTF-8 conformance of structure strings and not only
806           if the debugging system is enabled; reasoning: the behaviour of
807           the actual code shouldn't really change depending on whether the
808           debugging system is enabled or not (#508291).
809
810 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
811
812         * Makefile.am:
813           Remove old coverage target in favour of "make lcov".
814
815 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
816
817         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
818         (gst_base_src_loop):
819         The start segment for reverse playback goes from start to last_stop.
820
821 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
822
823         Patch by: Peter Kjellerstedt <pkj axis com>
824
825         * gst/gstclock.h:
826         Cast the results from the timeval/spec_to_time macros to what the
827         docs say it casts to, a GstClockTime. fixes #508175.
828
829 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
830
831         * gst/gstbuffer.c:
832         Update some comments.
833
834         * tools/gst-inspect.c: (print_element_properties_info):
835         Improve printing of flags.
836
837 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * libs/gst/base/gstbasetransform.c:
840           (gst_base_transform_transform_size):
841           Print element name with g_warning() if there's a problem
842           with the unit size.
843
844 2008-01-07  David Schleef  <ds@schleef.org>
845
846         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
847
848         * libs/gst/controller/gstcontroller.h:
849         * libs/gst/controller/gstcontrolsource.h:
850         * libs/gst/controller/gstinterpolationcontrolsource.h:
851         * libs/gst/controller/gstlfocontrolsource.h:
852         * libs/gst/dataprotocol/dataprotocol.h:
853           Fix empty prototypes.  Fixes bug #507957.
854
855 2008-01-07  David Schleef  <ds@schleef.org>
856
857         * docs/faq/dependencies.xml: Fix typo.
858
859 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
860
861         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
862         (gst_base_src_loop):
863         Don't update the last_stop position in do_seek, that's the position we
864         did a seek to.
865         Read backwards when we have a negative rate.
866
867         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
868         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
869         (filesrc_suite):
870         Add check for reverse reading.
871
872 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
873
874         Patch by: Alexis Ballier <aballier at gentoo org>
875
876         * tests/check/gst/gstabi.c:
877         * tests/check/gst/struct_ppc64.h:
878         * tests/check/libs/libsabi.c:
879         * tests/check/libs/struct_ppc64.h:
880           Decide which header to include based on the userland ABI target
881           and not the kernel/cpu. Fix up structure sizes of ppc64 header
882           for 64-bit userland (#503590).  Might need something similar for
883           x86 too.
884
885 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
886
887         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
888           Log the reason why fopen fails in addition to the fact that it failed.
889           
890 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
891
892         * gst/parse/parse.l:
893         Use "%option never-interactive" to prevent useless calls to isatty()
894         on every input when parsing. Also use "%option noinput" to not define
895         the static input/yyinput functions which we don't use anyway. This
896         removes a compiler warning with gcc 4.3 and saves some bytes in the
897         library.
898         
899         * gst/parse/lex._gst_parse_yy.pre.c:
900         Regenerated for the above change.
901
902 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
903
904         * gst/gstpad.c: (fixate_value):
905         Don't crash when trying to fixate and empty list.
906         Fixes #506643.
907
908 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
909
910         * docs/faq/gst-uninstalled:
911         Clarify the comments to make the usage of this script and what it
912         does easier to understand.
913
914 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
915
916         * tools/gst-plot-timeline.py:
917         Add more options to gst-plot-timeline
918
919 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
920
921         * docs/design/part-synchronisation.txt:
922         Some more info on how the stream_time in GstBaseSink is done.
923
924 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
925
926         * tests/check/generic/sinks.c: (gst_sinks_suite):
927           Put back the tcase_set_timeout(), apparently it's needed after
928           all; fix it up in a way that makes things work with valgrind too.
929
930 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
931
932         * gst/gstdebugutils.c:
933           Add warning when failed to open file for writing.
934
935 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
936
937         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
938
939         * gst/gstvalue.c: (gst_value_is_fixed):
940           Optimisation: bail out of the loop as early as possible (#500143).
941
942 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
943
944         * gst/gstcaps.c: (gst_caps_to_string):
945         * gst/gstinfo.c: (gst_debug_construct_term_color):
946         * gst/gstparse.c: (gst_parse_launchv):
947         * gst/gstutils.c: (gst_util_dump_mem):
948         * gst/gstvalue.c: (gst_value_serialize_any_list),
949           (gst_value_transform_any_list_string):
950           Bunch of gratuitous nano-optimisations.
951
952 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
953
954         * tests/check/generic/sinks.c: (async_done_func),
955           (async_done_eos_func):
956           Fix leak in unit test (bus sync handler must unref the message
957           if it returns GST_BUS_DROP). Don't fiddle with the default test
958           timeout, this is smaller than the current preconfigured value
959           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
960           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
961
962 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
963
964         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
965
966         * configure.ac:
967         Check for stdio_ext.h for the filesink changes.
968
969         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
970         (gst_file_sink_class_init), (gst_file_sink_init),
971         (gst_file_sink_dispose), (gst_file_sink_set_property),
972         (gst_file_sink_get_property), (gst_file_sink_open_file),
973         (gst_file_sink_close_file):
974         * plugins/elements/gstfilesink.h:
975         Add two properties to control the buffering mode and size.
976         API: GstFileSink::buffer-mode
977         API: GstFileSink::buffer-size
978         Fixes #500150.
979
980 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
981
982         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
983         Add some more docs to explain why a FIXME was wrongly added. 
984
985 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
986
987         * gst/gstobject.c:
988           Fix typo in the gst_object_{ref,unref} documentation.
989
990 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
991
992         * tests/check/libs/controller.c:
993         * tests/check/libs/typefindhelper.c:
994         * tests/check/pipelines/parse-launch.c:
995           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
996           going to be deprecated (see #498924).
997
998 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
999
1000         * gst/gsttypefind.c: (gst_type_find_register):
1001           Make gst_type_find_register work for static typefind functions,
1002           ie. allow passing plugin == NULL (prerequisite for #498924).
1003
1004         * gst/gstelementfactory.c: (gst_element_register):
1005           Small docs addition.
1006
1007 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1008
1009         * gst/gstpad.c: (gst_pad_dispose):
1010         Really unlink the peer pad instead of setting the peer pointer to NULL
1011         when we dispose the pad.
1012         This correctly calls the unlink functions and makes sure that the peer
1013         does not have a handle to invalid memory. See #504671.
1014
1015         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1016         Add testsuite for above case.
1017
1018 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1019
1020         Patch by: Peter Kjellerstedt <pkj axis com>
1021
1022         * libs/gst/check/gstcheck.h:
1023           Fix detection of the check version we're compiling against (would
1024           otherwise break if check goes v0.10.0); correctly report the
1025           name of the failed test again in case of failure, instead of
1026           just 'tf' (fixes #504499).
1027
1028 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1029
1030         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1031         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1032         (gst_base_src_loop), (gst_base_src_set_flushing),
1033         (gst_base_src_change_state):
1034         Allow sending EOS to the source to make it send out an EOS event from
1035         the streaming thread.
1036         Update docs and deprecate the old NULL/READY shutdown method.
1037
1038         * tests/check/libs/basesrc.c: (GST_START_TEST),
1039         (gst_basesrc_suite):
1040         Add unit test for controlled shutdown.
1041
1042 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1043
1044         * docs/design/part-synchronisation.txt:
1045         Small updates.
1046
1047         * gst/gstsegment.c: (gst_segment_set_seek),
1048         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1049         (gst_segment_to_running_time):
1050         The seek format can be different from the segment format when the start
1051         and stop values are not to be updated, when we only do a rate change for
1052         example.
1053
1054         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1055         (gst_segment_suite):
1056         Add a testcase for the rate-only seeks, checking that the format is
1057         correctly ignored when start and stop are not updated.
1058
1059 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1060
1061         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1062
1063         * win32/vs8/grammar.vcproj:
1064         * win32/vs8/libgstcontroller.vcproj:
1065         * win32/vs8/libgstreamer.vcproj:
1066         Fix compilation with VS8 and include some missing files.
1067
1068 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1069
1070         * gst/gsttaglist.c:
1071           Small docs addition: mention that the strings returned by
1072           gst_tag_list_get_string*() are in UTF-8 encoding.
1073
1074 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1075
1076         * Makefile.am:
1077           The check-exports stuff moved to common/win32.mak, so include that.
1078
1079 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1080
1081         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1082         (gst_base_src_perform_seek), (gst_base_src_get_range),
1083         (gst_base_src_set_playing), (gst_base_src_change_state):
1084         Make _wait_playing() not check any variables so that we can call this
1085         function from subclasses. Move the checks elsewhere similar to
1086         _wait_preroll() in basesink.
1087         Add some debugging.
1088         Only signal the LIVE cond when we are going back to PLAYING.
1089
1090 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1091
1092         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1093           Use g_remove() and g_rename(). Check result of g_rename(), and
1094           don't leak the open file descriptor if we error out when writing.
1095
1096         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1097           Must check the return value of close() after writing out the new
1098           registry file.  Sometimes write problems such as out-of-diskspace
1099           are only reported when the file is closed and not already during
1100           the write.  This may have caused partial/broken registry files in
1101           some rare circumstances. Should fix #503675.
1102
1103 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1104
1105         * docs/gst/.cvsignore:
1106         * docs/libs/.cvsignore:
1107         * docs/plugins/.cvsignore:
1108         Ignore files generated by new common/* modifications
1109
1110 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1111
1112         * win32/common/libgstbase.def:
1113           Yes, you can also have a <TAB> if you want.
1114
1115 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1116
1117         * win32/common/libgstbase.def:
1118           Add new basetransform API to win export file.
1119
1120 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1121
1122         * tests/check/gst/gstbin.c:
1123           Adjust the test to the refcount change two days ago.
1124
1125 2007-12-14  David Schleef  <ds@schleef.org>
1126
1127         * docs/faq/getting.xml: Fix typo.
1128
1129 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1130
1131         * docs/libs/gstreamer-libs-sections.txt:
1132         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1133           (gst_base_transform_prepare_output_buffer),
1134           (gst_base_transform_set_gap_aware):
1135         * libs/gst/base/gstbasetransform.h:
1136           API: Add gst_base_transform_set_gap_aware() to control whether
1137           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1138           get buffers with this flag at all. Fixes #503231.
1139
1140 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1141
1142         * libs/gst/base/gstbasesink.c:
1143         * libs/gst/base/gstbasesrc.c:
1144         * libs/gst/base/gstbasetransform.c:
1145           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1146           thread. Correct log message in gstbasesrc.c.
1147
1148 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1149
1150         * gst/gstutils.c: (element_find_unconnected_pad):
1151           Fix possible compiler warning (#503417).
1152
1153 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1154
1155         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1156           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1157
1158 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1159
1160         * tools/gst-inspect.c: (print_element_properties_info):
1161           Add support for GstFraction properties.
1162
1163 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1164
1165         * Makefile.am:
1166           Add check-exports target and run it as part of 'make check'
1167           (see #499140 and #493983).
1168
1169         * gst/gst_private.h:
1170         * gst/gstelementfactory.h:
1171         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1172         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1173           (_priv_gst_in_valgrind):
1174         * gst/gstinfo.h: (GstLogFunction):
1175         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1176           (gst_type_find_register):
1177         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1178           (gst_type_find_factory_get_type):
1179         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1180           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1181           (gst_controller_new_valist), (gst_controller_new_list),
1182           (_gst_controller_dispose), (_gst_controller_class_init):
1183         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1184         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1185           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1186           (gst_object_get_controller), (gst_object_set_controller),
1187           (gst_object_suggest_next_sync), (gst_object_sync_values),
1188           (gst_object_set_control_source), (gst_object_get_control_source),
1189           (gst_object_get_value_arrays), (gst_object_get_value_array),
1190           (gst_object_get_control_rate), (gst_object_set_control_rate):
1191         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1192         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1193           Make some functions that should be static static; rename some
1194           private symbols so that they don't get exported; add some FIXME
1195           comments so we can move accidentally exported functions into
1196           our private section in 0.11.
1197
1198         * win32/common/libgstreamer.def:
1199           Add gst_utils_get_timestamp().
1200
1201 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1202
1203         * gst/gstvalue.c:
1204         * gst/gstvalue.h:
1205           Add more missing "Since:" tags to docs.
1206
1207 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1208
1209         * gst/gstutils.c:
1210           Add mising "Since:" to docs.
1211
1212 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * gst/gstplugin.c:
1215           Include "glib-compat-private.h" to fix the build on system with
1216           glib < 2.10. Fixes #503131.
1217
1218 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1219
1220         * gst/gstutils.c:
1221         * gst/gstutils.h:
1222           Actually its not PURE as it gets the time from elsewhere.
1223
1224 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1225
1226         * docs/gst/gstreamer-sections.txt:
1227         * gst/gstclock.h:
1228         * gst/gstdebugutils.c:
1229         * gst/gstinfo.c:
1230         * gst/gstutils.c:
1231         * gst/gstutils.h:
1232         * libs/gst/base/gstbasesink.c:
1233         * tools/gst-launch.c:
1234           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1235           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1236           Thanks Tim for spotting.
1237           API: gst_util_get_timestamp
1238
1239 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1240
1241         * configure.ac:
1242           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1243
1244 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1245
1246         * gst/gststructure.c: (gst_structure_validate_name),
1247           (gst_structure_new_valist), (gst_structure_parse_value),
1248           (gst_structure_from_string):
1249           Don't crash in _from_string() if the structure name is not valid
1250           (fixes #501560).  Allow structure names to start with a number
1251           again (this apparently broke the ubuntu codec installer).
1252
1253         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1254           (GST_START_TEST):
1255           Add unit test for the crash; update unit tests for new behaviour.
1256
1257 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1258
1259         * gst/gstutils.c:
1260         Clarify gst_element_get_compatible_pad() documentation.
1261         Fixes #500919.
1262
1263 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1264
1265         * tests/check/Makefile.am:
1266           Don't forget to dist {gst,libs}/struct_hppa.h.
1267
1268 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1269
1270         * libs/gst/base/gstbasesink.c:
1271           Use new API to get elapsed time.
1272
1273 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1274
1275         * gst/gstdebugutils.c:
1276         * gst/gstinfo.c:
1277           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1278
1279         * tools/gst-launch.c:
1280           Use new API to get elapsed time.
1281
1282 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * docs/gst/gstreamer-sections.txt:
1285         * gst/gstclock.h:
1286         * gst/gstdebugutils.c:
1287         * gst/gstinfo.c:
1288           Rename new API + ChangeLog surgery to remove old name from last entry..
1289
1290 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * docs/gst/gstreamer-sections.txt:
1293         * gst/gstclock.h:
1294         * gst/gstdebugutils.c:
1295         * gst/gstinfo.c:
1296           Now hide the different clock stuff behind a macro.
1297
1298 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1299
1300         * configure.ac:
1301         * gst/gstdebugutils.c:
1302         * gst/gstinfo.c:
1303           Apply the posix-timer check from #361155. Conditionally use the posix
1304           timer for logging. This gives better timestamp precission, less
1305           overhead and no ntp jitter.
1306
1307 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1308
1309         * gst/gstminiobject.c: (gst_mini_object_get_type),
1310         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1311         (gst_mini_object_finalize), (gst_mini_object_copy),
1312         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1313         (gst_mini_object_replace), (param_mini_object_validate),
1314         (gst_param_spec_mini_object_get_type):
1315         Some cleanup and checking against invalid function parameters.
1316
1317 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1318
1319         * docs/gst/gstreamer-sections.txt:
1320         * gst/gstclock.h:
1321         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1322         (gst_systemclock_suite):
1323         Start merging in the easy bits of #361155, the monotonic clock patch.
1324         This one adds a few handy macros with docs and a testsuite.
1325
1326 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1327
1328         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1329         Be a bit smarter when seeking, like, don't try to do a seek when it's
1330         not needed. This avoids errors when the file is not seekable.
1331         Fixes #499771.
1332
1333 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * docs/gst/gstreamer-docs.sgml:
1336         * docs/gst/gstreamer-sections.txt:
1337         * docs/gst/gstreamer.types.in:
1338         * gst/Makefile.am:
1339         * gst/gst.h:
1340         * gst/gstpreset.c:
1341         * gst/gstpreset.h:
1342         * plugins/elements/gstqueue.c:
1343           Due to popular request remove preset interface again. :-(.
1344
1345 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * tools/gst-inspect.c:
1348           Print 'default value' for enums and flags too.
1349
1350 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * docs/random/ensonic/profiling.txt:
1353           More ideas.
1354
1355         * gst/gstbin.c:
1356           Fix typo and give better log output.
1357
1358         * gst/gstdebugutils.c:
1359         * gst/gstdebugutils.h:
1360           More ideas, make graphs a bit smaller and fix param name in macro.
1361
1362 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1363
1364         * gst/gstpreset.c:
1365           Try harder to use the return value from fgets().
1366
1367 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1368
1369         * gst/gstpreset.c:
1370           For theses two fgets we handle the error below.
1371
1372 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1373
1374         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1375         Only send upstream events upstream. Fixes #498746.
1376
1377 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1378
1379         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1380
1381         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1382         (gst_identity_init), (gst_identity_transform_ip),
1383         (gst_identity_set_property), (gst_identity_get_property):
1384         * plugins/elements/gstidentity.h:
1385         Add property to disable handoff signal emission. Fixes #498694.
1386         API: GstIdentity::signal-handoffs
1387
1388 2007-11-21  Julien Moutte  <julien@fluendo.com>
1389
1390         * docs/faq/gst-uninstalled: Yet another missing library for the
1391         uninstalled script (fft)
1392
1393 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1394
1395         * docs/faq/developing.xml:
1396         Add a question about how to submit new translations.
1397
1398         * docs/random/release:
1399         Update the contact email address for the Translation Project
1400
1401         * plugins/elements/gstfdsrc.c:
1402         The parent_class for fdsrc is pushsrc, not GstElement.
1403
1404 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1405
1406         * gst/gstpreset.c:
1407           Plug a leak and fix saving.
1408
1409 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
1410
1411         * docs/gst/gstreamer-sections.txt:
1412         Add new gst_preset__get_property_names() function to the docs
1413         to fix the build.
1414
1415 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1416
1417         * gst/gstpreset.c:
1418         * gst/gstpreset.h:
1419           Change _get_preset_names API to return a strv with copies. Add
1420           _get_property_names to allow implementations to filter and provide
1421           good default implementation.
1422
1423 2007-11-20  Julien MOUTTE  <julien@moutte.net>
1424
1425         * docs/faq/gst-uninstalled: Add another library to the uninstalled
1426         script (sdp).
1427
1428 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1429
1430         * gst/gstpreset.c:
1431           More cleanups, docs, and TODOs from comments that now slowly come in.
1432
1433 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1434
1435         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
1436         search path.
1437
1438 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1439
1440         * gst/gstpreset.c:
1441           Fix bogus warning and make the property type specific code more
1442           similar.
1443
1444 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1445
1446         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
1447         it build on OS X.
1448
1449 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
1450
1451         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1452         (gst_bin_add_func), (gst_bin_remove_func),
1453         (gst_bin_change_state_func), (gst_bin_continue_func):
1454         Change email, cleanups add some more debug and comments.
1455         Also set bus and clock on new elements when the pipeline was in error.
1456
1457 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
1458
1459         * gst/gstbin.c:
1460         * gst/gstdebugutils.c:
1461           Fix build with --disable-gst-debug. Fixes #497859.
1462           Spotted by Sameer Naik.
1463
1464 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1465
1466         * gst/gstevent.c:
1467           Little documentation improvment.
1468
1469         * gst/gstpreset.c:
1470           More TODO cleanups. Remove c++ comments.
1471
1472         * libs/gst/controller/gstcontroller.c:
1473           Add TODO and use quark from static string.
1474
1475         * tests/check/gst/gstmessage.c:
1476         * tests/check/gst/gststructure.c:
1477           Use quark from static string.
1478
1479 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1480
1481         * gst/gstpreset.c:
1482           Add some comments and TODOs.
1483
1484         * gst/gstpreset.h:
1485           Add padding for future changes.
1486
1487         * plugins/elements/gstqueue.c:
1488           Implement the iface.    
1489
1490 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * docs/gst/gstreamer-docs.sgml:
1493         * docs/gst/gstreamer-sections.txt:
1494         * docs/gst/gstreamer.types.in:
1495         * gst/Makefile.am:
1496         * gst/gst.h:
1497         * gst/gstpreset.c:
1498         * gst/gstpreset.h:
1499           Add the preset interface (Fixes #396779). Do some doc cleanups along.
1500
1501 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
1502
1503         * configure.ac:
1504
1505         Back to CVS
1506
1507 === release 0.10.15 ===
1508
1509 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
1510
1511         * configure.ac:
1512           releasing 0.10.15, "October"
1513
1514 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
1515
1516         * win32/vs6/libgstreamer.dsp:
1517         Convert line endings back to DOS.
1518
1519 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
1520
1521         * docs/design/draft-tagreading.txt:
1522         * docs/random/ensonic/profiling.txt:
1523         Update fast tagreading draft and performance profiling ideas.
1524
1525 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1526
1527         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
1528         Don't hold the object lock when unreffing a buffer because it could
1529         cause a deadlock when the finalize function wants to grab the object
1530         lock too. Fixes #495133.
1531
1532 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1533
1534         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
1535         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1536         Also accumulate time correctly when doing reverse playback. Fixes
1537         #488201,
1538         When converting to running and stream time, use default values for
1539         start/stop/time/accum when comparing different formats. Fixes #494245.
1540
1541         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1542         Do running/stream time in TIME format.
1543
1544         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1545         (gst_segment_suite):
1546         2 new unit tests for segment accumulation.
1547
1548 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1549
1550         * gst/gst.c: (init_pre):
1551         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
1552           (_gst_debug_bin_to_dot_file):
1553           Move getenv() back into gst_init, so everyone can live happily
1554           ever after. Make sure the symbol isn't exported though.
1555
1556 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1557
1558         Patch by: Sebastien Moutte  <sebastien moutte net>
1559
1560         * win32/common/gstenumtypes.c:
1561         * win32/common/gstenumtypes.h:
1562           Update enum types.
1563
1564         * win32/vs6/libgstreamer.dsp:
1565           Update vs6 project files (#494343).
1566
1567 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1568
1569         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
1570         (gst_base_src_perform_seek), (gst_base_src_default_event),
1571         (gst_base_src_set_flushing), (gst_base_src_activate_push),
1572         (gst_base_src_activate_pull):
1573         Unify flushing code, remove some old unlock code that is no longer used.
1574         Take the streaming lock when seeking to avoid races. Fixes #492729.
1575         Added some more comments.
1576
1577 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1578
1579         * gst/gst.c: (_gst_disable_segtrap):
1580           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
1581           we can use gst_segtrap_is_enabled() there now that we have that API.
1582           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
1583           to do the getenv here (and export the variable).
1584
1585         * gst/gstdebugutils.c: (debug_dump_element),
1586           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
1587           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
1588
1589         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
1590           (gst_debug_log_default):
1591           Rename _gst_info_start_time to priv_gst_info_start_time so it
1592           doesn't get exported (was never in any header).
1593
1594         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
1595           (gst_plugin_loading_mutex):
1596           Make static mutex gst_plugin_loading_mutex really static (was never
1597           in any header), and use gst_segtrap_is_enabled() instead of
1598           _gst_disable_segtrap.
1599
1600         * gst/gsttrace.c: (_gst_trace_default):
1601           Make local _gst_trace_default static (was never in any header).
1602
1603 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1604
1605         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1606
1607         * win32/common/libgstbase.def:
1608         * win32/common/libgstcontroller.def:
1609         * win32/common/libgstdataprotocol.def:
1610         * win32/common/libgstnet.def:
1611         * win32/common/libgstreamer.def:
1612           Add more missing symbols, remove some duplicates, and sort
1613           as the 'sort' command sorts it (partially fixes #493983).
1614
1615 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1616
1617         * gst/gstelement.c: (gst_element_set_state_func):
1618         Only change the state cookie if a different state was set on the
1619         element. See #492729.
1620
1621 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1622
1623         * gst/gstvalue.c:
1624           Remove unused and uninitialised type variables that were still
1625           exported for some reason (they were never in any header files
1626           though).
1627
1628 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1629
1630         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1631         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
1632         (gst_base_sink_event), (gst_base_sink_get_position_last),
1633         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1634         (gst_base_sink_change_state):
1635         Don't try to report a 0 position when we don't know, return -1 and FALSE
1636         instead. This mostly happens when we are prerolling.
1637         Make sure we can report the right position before we post the ASYNC_DONE
1638         message so that a message handler can query position without races.
1639
1640         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
1641         (async_done_handoff), (async_done_func), (send_buffer),
1642         (async_done_eos_func), (gst_sinks_suite):
1643         Add two tests for the above.
1644
1645 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1646
1647         * MAINTAINERS:
1648         Update with new email address.
1649
1650         * docs/design/part-TODO.txt:
1651         Add some more info about future pad-block and negotiation changes.
1652
1653         * docs/design/part-buffering.txt:
1654         Add some ideas about buffering reporting.
1655
1656 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
1657
1658         * tests/check/gst/gstobject.c:
1659         Disable silly racy test that always fails on this combination of CPU
1660         and kernel.
1661
1662 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1663
1664         Patch by: Murray Cumming  <murrayc@murrayc.com>
1665
1666         * gst/gstobject.c:
1667           Corrected the registration of the parent-set and parent-unset
1668           signals: The parameter is a GstObject, not a GObject (#493134).
1669
1670 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1671
1672         * gst/gst_private.h:
1673         * gst/gstbuffer.h:
1674         * gst/gstevent.h:
1675         * gst/gstformat.h:
1676         * gst/gstmessage.h:
1677         * gst/gstplugin.h:
1678         * gst/gstquery.h:
1679         * gst/gsttaglist.h:
1680         * gst/gstvalue.h:
1681           Move declaration of private _gst_foo_initialize() functions into
1682           our private header file where they should have been all along.
1683
1684 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1685
1686         * docs/plugins/gstreamer-plugins-sections.txt:
1687         * gst/gstdebugutils.h:
1688         * gst/gstxml.h:
1689         * plugins/elements/gstqueue.c:
1690           gtk-doc fixes; trailing-comma-in-enum fix.
1691
1692 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1693
1694         * gst/gst.c: (gst_deinit):
1695           Clean up on deinit (not the external ones though, doesn't seem to be
1696           needed for some reason).
1697
1698 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1699
1700         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
1701           Remove __declspec(dllimport) for MSVC that was copied over into core
1702           from a plugin, obviously without ever having been tested (note the
1703           single underscore in _declspec in the initial commit), and that doesn't
1704           really make sense.  See #492077.
1705
1706 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         * gst/gst.c: (init_post):
1709         * gst/gstevent.c: (_gst_event_initialize):
1710         * gst/gstquery.c: (_gst_query_initialize):
1711         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
1712           g_type_class_ref() other types as well, see #349410 and #64764.
1713
1714         * gst/gstbuffer.c: (_gst_buffer_initialize):
1715         * gst/gstmessage.c: (_gst_message_initialize):
1716           Simplify existing g_type_class_ref().
1717
1718 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1719
1720         * gst/gstformat.c: (_gst_format_initialize):
1721           g_type_class_ref() our GstFormat type to make sure we avoid the
1722           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
1723           bug #64764. Should fix intermittent tee unit test failures (#474823).
1724
1725 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1726
1727         * tests/check/elements/tee.c: (test_num_buffers):
1728           Simplify, simplify, simplify - or not.  Rewrite unit test
1729           not to use gst_parse_launch(); allow N sub-streams. Increasing
1730           the number of sub-streams seems to reproduce #474823 more easily.
1731
1732 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1733
1734         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1735
1736         * gst/gsttrace.c:
1737         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1738         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1739         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
1740           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
1741           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
1742           so use _pipe() directly (#492077).
1743
1744         * win32/common/dirent.c: (_treaddir):
1745           Add a couple of casts to make it build without warnings with MSVC.
1746
1747         * win32/common/libgstreamer.def:
1748           Add some more symbols that need to be exported.
1749
1750 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1751
1752         * tests/examples/metadata/read-metadata.c: (message_loop):
1753           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
1754           arriving in a second or third tag message are added to
1755           the tag list as well.
1756
1757 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
1758
1759         * libs/gst/base/gstbasesrc.c:
1760           Its "Since:" and not "@Since:". And remove an superflous cast.
1761
1762 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
1763
1764         * docs/libs/gstreamer-libs-sections.txt:
1765         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1766         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
1767         (gst_base_sink_get_property), (gst_base_sink_render_object),
1768         (gst_base_sink_preroll_object),
1769         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1770         (gst_base_sink_change_state):
1771         * libs/gst/base/gstbasesink.h:
1772         Add a new last-buffer property that contains the last buffer used in
1773         basesink for preroll or rendering. useful for making snapshots.
1774         API: gst_base_sink_get_last_buffer()
1775         API: GstBaseSink::last-buffer
1776
1777 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1778
1779         * docs/gst/running.xml:
1780         * gst/gst.c:
1781         * gst/gstdebugutils.c:
1782         * gst/gstdebugutils.h:
1783         * tools/gst-launch.c:
1784           Improve bin graph dumping, by using the envvar to specify a path.
1785           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
1786
1787 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
1788
1789         * plugins/elements/gsttypefindelement.c:
1790           (gst_type_find_element_handle_event),
1791           (gst_type_find_element_activate):
1792           Post special error message if we can't determine the type of a stream
1793           because it's empty.
1794
1795 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1796
1797         * docs/gst/running.xml:
1798         * gst/gstdebugutils.c:
1799           Document new env-var. Add one log-line after dumpng a graph.
1800
1801 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
1802
1803         * configure.ac:
1804           Ugly hack to put the (recently removed and non-portable, apparently)
1805           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
1806           GNU ld, because without that 'make check' fails miserably on my debian
1807           stable box.  Someone with more knowledge of linker intricacies and
1808           portability issues than me fix this properly please.
1809
1810 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
1811
1812         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1813         Reset last seen position after flushing so that we don't report the old
1814         position anymore.
1815
1816 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1817
1818         * gst/gstelementfactory.c: (gst_element_register):
1819         * gst/gsturi.h:
1820         Patch from Alessandro Decina adding get_type_full and
1821         get_protocols_full private vfuncs to the URIHandler interface
1822         to allow bindings to support creating URI handlers. 
1823         Partially fixes: #339279
1824         API: GstURIHandlerInterface::get_type_full
1825         API: GstURIHandlerInterface::get_protocols_full
1826
1827 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1828
1829         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1830         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
1831         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
1832         Make it so that pads are considered linked until a buffer is pushed
1833         and discovered otherwise. This avoids problems with decodebin2 hanging
1834         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
1835         case.
1836
1837         Make sure we lock the multiqueue when updating the max-size properties.
1838         
1839         Fix a crash on Solaris in a debug statement in get_request_pad that
1840         passes a NULL string to GST_DEBUG. 
1841
1842         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1843         (run_output_order_test):
1844         Fix the test to allow the first buffer on not-linked pads to come out
1845         of sequence while multiqueue discovers that they are not-linked.
1846
1847 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1848
1849         * configure.ac:
1850         * libs/gst/check/Makefile.am:
1851         Use a custom export symbol regex for libgstcheck, as it needs
1852         to export symbols that don't match the standard GStreamer gst_*
1853         pattern, and  --export-dynamic is not portable (only works on 
1854         GNU ld)
1855
1856         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1857         (gst_check_setup_sink_pad):
1858         Make sure to pass a message parameter to the fail_* macros.
1859
1860         * tests/check/gst/gstinfo.c: (GST_START_TEST):
1861         Fix some compiler warnings.
1862
1863 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
1864
1865         * tests/check/gst/gststructure.c: (test_to_string):
1866           Disable test that checks that white spaces are not allowed
1867           in structure names or field names, since we need to
1868           support that for now for backwards compatibility reasons.
1869
1870 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * docs/gst/gstreamer-sections.txt:
1873         * gst/gsttaglist.c:
1874         * gst/gsttaglist.h:
1875           API: add GST_TAG_ARTIST_SORTNAME
1876           API: add GST_TAG_ALBUM_SORTNAME
1877           API: add GST_TAG_TITLE_SORTNAME
1878           Add tag variants for sorting (#414539).
1879
1880 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1881
1882         * gst/gststructure.c:
1883           Also allow white space for names so we don't break
1884           backwards compatibility.
1885
1886 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
1887
1888         * docs/design/part-TODO.txt:
1889         * docs/design/part-segments.txt:
1890         * docs/design/part-streams.txt:
1891         Small updates.
1892
1893 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1894
1895         * docs/gst/gstreamer-sections.txt:
1896          Fixed documentation from my previous commit (added new API add
1897          gst_value_set_structure(), add gst_value_get_structure() and
1898          GST_VALUE_HOLDS_STRUCTURE).
1899
1900 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
1901
1902         * gst/gstdebugutils.c:
1903           Reflow code to fix uninitialized variable warning.
1904
1905 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1906
1907         * gst/gstcaps.c: (gst_caps_to_string),
1908         (gst_caps_from_string_inplace):
1909         * gst/gststructure.c: (gst_structure_get_abbrs),
1910         (gst_structure_to_string), (gst_structure_from_string):
1911         * gst/gstvalue.c: (gst_value_set_structure),
1912         (gst_value_get_structure), (gst_value_serialize_structure),
1913         (gst_value_deserialize_structure), (_gst_value_initialize):
1914         * gst/gstvalue.h:
1915         * tests/check/gst/gststructure.c: (GST_START_TEST),
1916         (gst_structure_suite):
1917         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1918          Added GstStructure to gst_value_table and its related functions.
1919          Changed gst_structure_to_string to print ';' in the end.
1920          Changed gst_caps_to_string to not print ';' beteween its
1921          fields (structures) anymore and remove the lastes ';' from latest
1922          structure. Now it is possible to have nested structures.
1923          In addition, backward compatibilty is assured by accepting '\0' as
1924          end delimiter. Fixes: #487969.
1925          API: add gst_value_set_structure()
1926          API: add gst_value_get_structure()
1927          API: add GST_VALUE_HOLDS_STRUCTURE
1928
1929 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * gst/gstbus.c:
1932           When no GSource callback has been set up, tell developer
1933           to use a function that actually exists.
1934
1935 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
1936
1937         * docs/gst/gstreamer-sections.txt:
1938         * gst/Makefile.am:
1939         * gst/gst.c:
1940         * gst/gst.h:
1941         * gst/gstdebugutils.c:
1942         * gst/gstdebugutils.h:
1943         * gst/gstinfo.c:
1944         * gst/gstinfo.h:
1945         * tools/gst-launch.c:
1946           Allow dumping pipelines as dot graphs. Fixes #456573.
1947
1948 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1949
1950         * gst/gststructure.c:
1951           Allow '+' as well, it can be part of media or mime types
1952           such as image/svg+xml.
1953
1954 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1955
1956         * docs/gst/gstreamer-sections.txt:
1957         * gst/gstbus.c:
1958         * gst/gstbus.h:
1959           API: add gst_bus_pop_filtered
1960           API: add gst_bus_timed_pop_filtered
1961           Two new functions for waiting for specific message types on the
1962           bus for a specified amount of time without iterating any main
1963           loops or main contexts.
1964
1965         * tests/check/gst/gstbus.c:
1966           Some tests for the new functions.
1967
1968 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1969
1970         * docs/libs/gstreamer-libs-sections.txt:
1971           Make gtk-doc ignore stuff it should ignore.
1972
1973 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1974
1975         * libs/gst/check/gstcheck.c:
1976         * libs/gst/check/gstcheck.h:
1977           Allow runtime selection of unit tests to run via the GST_CHECKS
1978           environment variable (test case function names, comma-separated).
1979
1980 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1981
1982         * gst/gststructure.c:
1983         * tests/check/gst/gststructure.c:
1984           Revert serialisation change and constrain structure-names after
1985           consensus on irc. Update api documentation to reflect the change.
1986
1987 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1988
1989         * gst/gststructure.c:
1990           Improve serialization and fix tests.
1991
1992         * tests/check/gst/gststructure.c:
1993           Add another test that covers why I actually did the previous structure
1994           change.
1995
1996 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
1997
1998         * tools/gst-inspect.c: (print_element_info):
1999         Don't crash when inspecting an element.
2000
2001 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2002
2003         * tests/check/gst/gststructure.c:
2004           Add unit test for escaping of structure name when serialising
2005           and deserialising to/from strings.
2006
2007 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2008
2009         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2010         (gst_single_queue_new):
2011         * plugins/elements/gstqueue.c: (gst_queue_init),
2012         (gst_queue_push_one):
2013         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2014         upstream is tricked into thinking it can suggest a format downstream
2015         while downstream does not support that format. The real problem is that
2016         core calls acceptcaps when pushing a buffer with new caps, for which we
2017         do a little workaround by setting the caps on the srcpad ourselves
2018         before pushing the buffer (until this is figured out). Fixes #486758.
2019
2020 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2021
2022         * gst/gststructure.c:
2023         * gst/gstvalue.c:
2024           Add some more comments and debug output. Quote structure name to fix
2025           deserialisation of some strings.
2026
2027 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2028
2029         * gst/gstbuffer.h:
2030           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2031           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2032
2033 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2034
2035         * tools/gst-inspect.c:
2036           Save approx. 400 1 byte allocs when printing. Use API to acces element
2037           details.
2038
2039         * tools/gst-run.c:
2040           Avoid a strdup.
2041
2042         * tools/gst-xmlinspect.c:
2043           Use API to acces element details.
2044
2045 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * gst/gstinfo.c:
2048           Fix some spelling errors.
2049
2050 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2051
2052         * gst/gstbin.c: (bin_handle_async_done):
2053         Correctly set the next state if all of our async children commited their
2054         state. This makes sure we can actually cancel the state change in
2055         progress. Fixes a regression in Rhythmbox when seeking.
2056
2057 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * gst/gstbin.c:
2060           Don't shadow local variable.
2061
2062         * gst/gstinfo.c:
2063           Don't shadow global function name.
2064
2065 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2066
2067         * gst/gstelementfactory.c:
2068         * gst/gstpluginfeature.c:
2069         * gst/gstpluginfeature.h:
2070         * gst/gstregistrybinary.c:
2071         * gst/gstregistryxml.c:
2072         * gst/gsttypefind.c:
2073           Use already-interned string for the private GstPluginFeature
2074           plugin_name field.
2075
2076 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * docs/libs/gstreamer-libs-sections.txt:
2079           Add new API to docs; fixes the build.
2080
2081 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2082         
2083         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2084
2085         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2086         (gst_base_sink_event):
2087         * libs/gst/base/gstbasesink.h:
2088         Add function to wait for EOS, subclasses can use this to correctly wait
2089         for devices to drain before performing the EOS logic. Fixes #485343.
2090         API: gst_base_sink_wait_eos()
2091
2092 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2093
2094         * gst/gstplugin.h:
2095           Cast description string constants in GST_PLUGIN_DEFINE macros
2096           to a (gchar*) to make C++ code using these macros compile
2097           without warning with g++-4.2 (see #462737).  Even if slightly
2098           ugly, this seems preferable to putting the description strings
2099           into the GLib quark table or making the structure member a
2100           const gchar * and doing casts in core code that allocs and
2101           frees these strings, or requiring a cast in the C++ code.
2102
2103 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2104
2105         * gst/gstinfo.h:
2106           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2107           to print the entire class/function signature into the log
2108           file for C++ code.  This only affects C++ code, for C code
2109           everything remains the same.
2110
2111 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2112
2113         * gst/gstbin.c: (remove_from_queue):
2114         Work around a problem with pipelines containing (semi)loops until a
2115         proper, more complicated solution is ready. See #475455.
2116
2117 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2118
2119         * gst/gstplugin.c:
2120         * gst/gstplugin.h:
2121         * gst/gstregistrybinary.c:
2122         * gst/gstregistryxml.c:
2123           Put more strings into the GLib quark table. No need to keep
2124           a hundred-something copies of identical version strings,
2125           license strings, package name strings and package origin
2126           strings around. 
2127
2128 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2129
2130         * docs/manual/advanced-dataaccess.xml:
2131           Don't imply that it's okay to unconditionally change
2132           buffer data or buffer metadata in a pad probe callback,
2133           and a bunch of other comments. Fixes #430031.
2134
2135 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2136
2137         * win32/common/gstenumtypes.c:
2138         * win32/common/gstenumtypes.h:
2139         * win32/common/gstversion.h:
2140           Update generated files.
2141
2142 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2143
2144         * docs/manual/advanced-autoplugging.xml:
2145           Prefix section with broken code with a warning (see #342432).
2146
2147 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2148
2149         * docs/manual/appendix-integration.xml:
2150         * docs/manual/basics-init.xml:
2151           Call g_thread_init() before g_option_context_new() to
2152           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2153
2154 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2155
2156         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2157         (gst_base_sink_queue_object_unlocked),
2158         (gst_base_sink_queue_object), (gst_base_sink_event),
2159         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2160         When we received EOS and are waiting for when to post the EOS message,
2161         our state is prerolled and we should not return ASYNC.
2162         Reorganize some code paths to implement this behavior.
2163
2164         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2165         (gst_sinks_suite):
2166         Add unit test to verify above EOS fix.
2167
2168 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2169
2170         * plugins/elements/gsttypefindelement.c:
2171         (gst_type_find_element_have_type), (gst_type_find_element_init),
2172         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2173         Move detecting the input caps of the sinkpad to the setcaps function.
2174         This allows us to update the output caps when we receive new input caps
2175         instead of always using the first detected caps.
2176
2177 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2178
2179         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2180         (gst_base_sink_get_position):
2181         Don't try to preroll non-async elements after a flush.
2182         Subtract latency form clock times when reporting position.
2183
2184 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2185
2186         * gst/gstpad.c: (gst_pad_pause_task):
2187         * gst/gstutils.c:
2188         Small comment and documentation update.
2189
2190 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2191
2192         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2193         (gst_base_src_set_live), (gst_base_src_is_live),
2194         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2195         (gst_base_src_default_event), (gst_base_src_wait),
2196         (gst_base_src_do_sync), (gst_base_src_get_range),
2197         (gst_base_src_pad_get_range), (gst_base_src_loop),
2198         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2199         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2200         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2201         (gst_base_src_change_state):
2202         Rework the locking of basesrc in a similar fashion to basesink. We
2203         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2204         us to handle live sources and semi live ones much better.
2205         Simplify flushing.
2206         Fix unlocking when seeking, shutting down and pausing in live sources.
2207
2208 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2209
2210         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2211         Fix compilation again.
2212
2213 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2214
2215         * gst/gstelement.c:
2216           Use meaningful categories for the logs to clean the default one.
2217
2218 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2219
2220         * tests/check/pipelines/cleanup.c:
2221           Print message name and not just number.
2222
2223 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2224
2225         * docs/design/draft-tagreading.txt:
2226           Add some more thoughts.
2227
2228 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2229
2230         * tests/check/pipelines/simple-launch-lines.c:
2231           Print message name and not just number.
2232
2233 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2234
2235         * libs/gst/base/gsttypefindhelper.c:
2236           Speedup typefinding. This is work in progress (see #459862).
2237
2238 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2239
2240         * gst/gstplugin.c:
2241           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2242           Spotted by Josep Torra Valles <josep@fluendo.com>.
2243
2244 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * gst/gstclock.h:
2247           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2248           field has moved to GstObject.
2249
2250 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2251
2252         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2253         (gst_base_src_get_range), (gst_base_src_change_state):
2254         Call unlock for live sources so that they can't get stuck in _create and
2255         produce a buffer before they are set back to PLAYING.
2256
2257 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2258
2259         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2260         (gst_queue_locked_dequeue):
2261         Comment the segment-related code... in the PROPER function.
2262         See #482147 and my commit from yesterday.
2263
2264 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2265
2266         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2267         Also initialize the counter that calculates the first timestamp on a
2268         buffer correctly for non-live sources.
2269
2270 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2271
2272         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2273         Disable code that's breaking the current-time-level reporting.
2274         See #482147
2275
2276 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2277
2278         * docs/gst/gstreamer-sections.txt:
2279         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2280         as they shouldn't show up. Fixes the docs build.
2281
2282 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2283         
2284         * gst/gstinfo.h:
2285         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2286         Define M_PI which is used in files which are including gstinfo.h. 
2287         VS6 includes doesn't define it.
2288         * win32/common/libgstbase.def:
2289         * win32/common/libgstcontroller.def:
2290         * win32/common/libgstreamer.def:
2291         Add new exported functions and variables.
2292         * win32/vs6/libgstcontroller.dsp:
2293         * win32/vs6/libgstreamer.dsp:
2294         Update the list of files to build.
2295         
2296 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2297
2298         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2299
2300         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2301         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2302         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2303         Improve debugging. Fixes #480858.
2304
2305 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2306
2307         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2308
2309         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2310         First patch of code cleanups, use the macros and right arguments in the
2311         macros to signal and lock the queue. See #480858.
2312
2313 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2314
2315         * gst/gstbus.c: (poll_func):
2316         Improve debugging when dealing with _poll().
2317
2318 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2319
2320         * gst/gstregistryxml.c:
2321           Fix memory leak I introduced a few days ago.
2322
2323 2007-09-26  Michael Smith <msmith@fluendo.com>
2324
2325         * gst/gstbuffer.c: (gst_buffer_finalize):
2326           Make it once again possible to free GstBuffers in the default
2327           build.
2328           The poisoning scribbles on parts of the miniobject we need in
2329           order to free it.
2330           Fixes #480341
2331
2332 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2333
2334         * docs/gst/gstreamer-sections.txt:
2335         * gst/gsttaglist.c:
2336         * gst/gsttaglist.h:
2337         API: add GST_TAG_COMPOSER, fixes #459809.
2338
2339 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2340
2341         * gst/gstplugin.c:
2342         * gst/gstplugin.h:
2343         Add the 3-clause BSD license and the MIT/X11 license to the license
2344         list. Fixes #479784.
2345
2346 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2347
2348         * docs/faq/getting.xml:
2349           Add Q+A about different GStreamer versions (#364056).
2350
2351 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2352
2353         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2354         (gst_base_sink_event), (gst_base_sink_change_state):
2355         Return correct gboolean from query function.
2356
2357 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2358
2359         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2360         (gst_base_sink_event), (gst_base_sink_query),
2361         (gst_base_sink_change_state):
2362         Simplify latency query.
2363         When not synchronizing, we can report latency without querying the peer
2364         element.
2365
2366 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2367
2368         * gst/gstobject.h:
2369         * gst/gstvalue.c:
2370         Fix small typos in the docs.
2371
2372 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2373
2374         * docs/design/draft-latency.txt:
2375         * docs/design/draft-push-pull.txt:
2376         * docs/design/draft-tagreading.txt:
2377         * docs/design/part-MT-refcounting.txt:
2378         * docs/design/part-activation.txt:
2379         * docs/design/part-block.txt:
2380         * docs/design/part-element-source.txt:
2381         * docs/design/part-events.txt:
2382         * docs/design/part-gstbin.txt:
2383         * docs/design/part-gstelement.txt:
2384         * docs/design/part-gstobject.txt:
2385         * docs/design/part-gstpipeline.txt:
2386         * docs/design/part-messages.txt:
2387         * docs/design/part-preroll.txt:
2388         * docs/design/part-push-pull.txt:
2389         * docs/design/part-qos.txt:
2390         * docs/design/part-query.txt:
2391         * docs/design/part-scheduling.txt:
2392         * docs/design/part-seeking.txt:
2393         * docs/design/part-segments.txt:
2394         * docs/design/part-states.txt:
2395         Documentation updates and typo fixes.
2396
2397 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         * plugins/elements/gstfakesink.c:
2400           Add some debug text to error message to indicate that
2401           we errored out on request.
2402
2403         * tools/gst-launch.c:
2404           When the state change to PLAYING fails, check for an
2405           error message on the bus and print it.
2406
2407 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2408
2409         translated by: Jorge González González <aloriel@gmail.com>
2410
2411         * po/LINGUAS:
2412         * po/es.po:
2413           Added Spanish translation.
2414
2415 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
2416
2417         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2418         Fix printf arguments.
2419
2420 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2421
2422         * tests/check/generic/states.c:
2423           Improved state change unit test.
2424
2425 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2426
2427         * gst/gstbin.h:
2428           Move priv to the right place.
2429
2430         * gst/gstsystemclock.c:
2431           Add FIXME: and improve log.
2432
2433         * tests/check/Makefile.am:
2434         * tests/examples/manual/Makefile.am:
2435           Work with all types of registries.
2436
2437 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
2438
2439         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2440         Don't unref the event after pushing it. Fixes #478401.
2441
2442 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2443
2444         * .cvsignore:
2445         * tests/examples/manual/.cvsignore:
2446           Ignore registries in any format.
2447
2448 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2449
2450         * gst/glib-compat-private.h:
2451           Add compatibility macro for g_intern_string() for
2452           GLib-2.8 (any reason we can't just bump the
2453           requirement to at least 2.10?)
2454
2455         * gst/gstpadtemplate.h:
2456         * gst/gstelementfactory.c:
2457         * gst/gstregistryxml.c:
2458         * gst/gstregistrybinary.c:
2459           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
2460           up the internal code accordingly.  This shouldn't be a problem, since
2461           there is no reason external code could ever assume the string in such
2462           a structure is dynamically allocated unless it did that itself;  the
2463           use of g_strdup() is private to element factories.  The new code also
2464           saves some memory by putting pad template name strings into the GLib
2465           quark table instead of allocating them dynamically.
2466           Declaring this field constant fixes warnings with g++-4.2 when using
2467           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2468
2469 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * gst/gstelementfactory.c:
2472           Release static caps. Fixes #475723.
2473
2474 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
2475
2476         * gst/gstinfo.c:
2477         * gst/gstinfo.h:
2478           Make some internal API take const gchar * instead of just
2479           gchar * to avoid compiler warnings with g++-4.2.2 when
2480           passing string constants (partially fixes #478092).
2481
2482 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2483
2484         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
2485         A latency query fails when one of the sinks fail.
2486
2487         * gst/gstelement.c: (gst_element_set_base_time):
2488         Improve debugging.
2489
2490 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
2491
2492         * gst/gstbin.c: (gst_bin_continue_func):
2493         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2494         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
2495         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
2496
2497         Fix minor compilation warnings shown with Forte.
2498
2499 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2500
2501         * plugins/elements/gstqueue.c: (apply_buffer),
2502         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
2503         Measure queue level based on the diff between head and tail timestamps
2504         even when pushing the first buffer.
2505
2506 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2507
2508         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2509         (gst_base_sink_event), (gst_base_sink_change_state):
2510         Sinks that don't preroll can always be queried for the latency.
2511         Don't post ASYNC start when we are not async.
2512
2513 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2514
2515         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2516         (gst_queue_handle_sink_event), (gst_queue_chain),
2517         (gst_queue_push_one), (gst_queue_handle_src_query),
2518         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
2519         * plugins/elements/gstqueue.h:
2520         When downstream returns UNEXPECTED from pushing a buffer, don't try to
2521         push more buffers but allow pushing of EOS and NEWSEGMENT.
2522         Add some more debug info here and there. Fixes #476514.
2523
2524 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2525
2526         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2527         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
2528         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2529         (gst_base_sink_set_flushing), (gst_base_sink_query),
2530         (gst_base_sink_change_state):
2531         Latency query is allowed after we are prerolled. Introduce a new flag
2532         for this and stop abusing other variables.
2533
2534 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2535
2536         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2537         Push OOB events downstream when we get them in send_event. This allows
2538         the application to insert events in the pipeline.
2539         Add some more comments.
2540
2541 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2542
2543         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
2544         (do_bin_latency), (gst_bin_change_state_func):
2545         * gst/gstpipeline.c: (gst_pipeline_change_state):
2546         Move latency query from GstPipeline to GstBin so that we can also
2547         use it when async-handling is enabled on bins.
2548
2549 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2550
2551         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2552         (gst_base_src_do_sync), (gst_base_src_change_state):
2553         Update docs.
2554         Clean up the timestamping and syncing code for pseudo live sources.
2555
2556 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
2557
2558         Patch by: Steve Fink  <sphink gmail com>
2559
2560         * docs/manual/appendix-checklist.xml:
2561           Mention less -R switch in the section about debug output (#474055).
2562
2563 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2564
2565         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2566         Queue can latency to the pipeline up to the configured max size in time.
2567         Report this fact in the latency query.
2568
2569 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2570
2571         Patch by: Sebastien Moutte <sebastien at moutte dot net>
2572
2573         * libs/gst/controller/gstinterpolation.c:
2574         * libs/gst/controller/gstlfocontrolsource.c:
2575         Use gst_guint64_to_gdouble() when converting from a uint64 or
2576         GstClockTime to double to fix the build on win32. Fixes #474371.
2577
2578 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2579
2580         * gst/gstbuffer.c: (gst_buffer_finalize):
2581         Implement poisoning for GstBuffer if --enable-poisoning is specified.
2582         When finalizing a buffer the complete struct is filled with 0xff,
2583         thus making a use of the buffer after the final unref impossible.
2584
2585 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2586
2587         * tests/check/libs/controller.c: (GST_START_TEST):
2588         Use fail_unless_equals_int(a, b) instead of
2589         fail_unless_equals (a == b) to get better output on failures.
2590
2591 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * tests/check/gst/gsturi.c:
2594           Also check for the other file URI variant on win32.
2595
2596 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2597
2598         * gst/gsturi.c: (gst_uri_get_location):
2599           If there's no hostname, we want to return 'c:/foo/bar.txt'
2600           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
2601
2602         * tests/check/gst/gsturi.c:
2603           Unit test for the above and a few more things.
2604
2605 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2606
2607         * docs/design/part-live-source.txt:
2608         Add docs on how live sources should timestamp.
2609
2610         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2611         Add some more debug info.
2612         For subclasses that are live and like to sync, add aditional startup
2613         latency to sync time and timestamps so that we timstamp according to the
2614         design doc.
2615
2616 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2617
2618         * gst/gstbuffer.c:
2619           Also do a g_type_class_ref() for the subbuffer type in
2620           the init function.
2621
2622 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2623
2624         * docs/gst/gstreamer-sections.txt:
2625         * gst/gstpad.c: (gst_pad_peer_query):
2626         * gst/gstpad.h:
2627         Add function to perform a query on the peer of a pad.
2628         API: gst_pad_peer_query()
2629
2630 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
2631
2632         * tests/check/gst/gstsystemclock.c:
2633           Cleanup the test a little (use gst-logging and not g_message). Improve
2634           test to check if a wait reached the target.
2635
2636 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2637
2638         * docs/libs/gstreamer-libs-sections.txt:
2639           Add new API to docs and fix the build.
2640
2641 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
2642
2643         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2644         (gst_base_src_init), (gst_base_src_set_do_timestamp),
2645         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
2646         (gst_base_src_get_property), (gst_base_src_do_sync):
2647         * libs/gst/base/gstbasesrc.h:
2648         Add property to make the basesrc timestamp buffers based on the current
2649         running time.
2650         API: GstBaseSrc::do-timestamp
2651         API: gst_base_src_set_do_timestamp()
2652         API: gst_base_src_get_do_timestamp()
2653
2654 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * docs/random/release:
2657           Really make sure translations are up-to-date before
2658           a release (#465010).
2659
2660 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
2661
2662         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2663         Always destroy the timer, also in error cases.
2664
2665 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2666
2667         * docs/manual/highlevel-xml.xml:
2668         Fix XML example code. Fixes #472714.
2669
2670 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2671
2672         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2673         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2674         (gst_base_sink_query):
2675         Protect eos and have_preroll with the OBJECT lock so we don't need to
2676         take the PREROLL lock when querying the latency. Fixes #473846.
2677
2678 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
2679
2680         * gst/gstelement.c:
2681           Give some log-messages a category.
2682
2683 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
2684
2685         * gst/gststructure.c:
2686         (gst_structure_fixate_field_nearest_fraction):
2687         Fix fraction list fixation code. Take the fraction with the smallest
2688         difference with the target instead of the first one in the list.
2689
2690         * tests/check/gst/gststructure.c: (GST_START_TEST),
2691         (gst_structure_suite):
2692         Added test to verify correct fraction list fixation behaviour.
2693
2694 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
2695
2696         * win32/common/libgstreamer.def:
2697           Export gst_bus_add_signal_watch too.
2698
2699 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
2700
2701         * docs/libs/gstreamer-libs-sections.txt:
2702         Add new methods to docs.
2703
2704         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2705         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
2706         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
2707         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
2708         * libs/gst/base/gstbasesink.h:
2709         Add ts-offset property to fine-tune the synchronisation.
2710         API: GstBaseSink::ts-offset property
2711         API: gst_base_sink_set_ts_offset()
2712         API: gst_base_sink_get_ts_offset()
2713
2714 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
2715
2716         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2717         (gst_base_sink_init), (gst_base_sink_set_sync),
2718         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2719         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
2720         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
2721         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
2722         (gst_base_sink_get_property), (gst_base_sink_change_state):
2723         * libs/gst/base/gstbasesink.h:
2724         Add async property to instruct the sink never to inform the parent about
2725         ASYNC state changes, update docs.
2726         Check argument with g_return_* for the public functions.
2727         API: GstBaseSink::async property
2728         API: gst_base_sink_set_async_enabled()
2729         API: gst_base_sink_is_async_enabled()
2730
2731 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
2732
2733         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
2734         Improve debugging.
2735
2736         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2737         (gst_base_src_default_query), (gst_base_src_wait),
2738         (gst_base_src_do_sync), (gst_base_src_change_state):
2739         Rearrange some code so that we can add support for measuring the 
2740         startup latency.
2741
2742 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
2743
2744         * docs/random/ensonic/dynlink.txt:
2745           More thoughs on this.
2746
2747         * plugins/elements/gstcapsfilter.c:
2748           Add bugzilla ticket number to FIXME comment.
2749
2750 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
2751
2752         * docs/design/part-TODO.txt:
2753         * docs/design/part-block.txt:
2754         Update some docs.
2755
2756 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2757
2758         * gst/Makefile.am:
2759           Revert patch which uses $(gst_headers) instead of $^ because it
2760           breaks make dist.
2761
2762 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2763
2764         * tests/check/gst/gstbin.c: (GST_START_TEST):
2765           Fix leaks in the new unit test.
2766
2767 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
2768
2769         * gst/gst.c:
2770           Don't use GST_INFO before the debug system is actually initialised
2771           (shouldn't do any harm, but won't print anything either, so we can
2772           just as well remove it).
2773
2774         * gst/gstinfo.h:
2775           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
2776           compilers that don't support variadic macros (such as MSVC), should
2777           check for debug_level <= __gst_debug_min as well, since that's the
2778           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
2779           inline helper functions. Should improve performance a bit, but also
2780           makes sure uses of GST_INFO et.al are ignored if the debugging
2781           system isn't initialised yet (instead of printing an assertion
2782           failure).
2783
2784 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
2785
2786         patch by: David Nečas <yeti@physics.muni.cz>
2787
2788         * gst/Makefile.am:
2789           Replace some non portable makefile constructs.
2790
2791 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
2792
2793         * common/gtk-doc-plugins.mak:
2794           Grrrrr. Don't remove the types file on make clean.
2795
2796 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
2797
2798         * tools/gst-launch.1.in:
2799         Add colorspace to example pipeline. Fixes #458274.
2800
2801 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
2802
2803         * docs/random/release:
2804           The release manager should run 'make download-po' before making a
2805           release to make sure translations are up-to-date.
2806
2807         * po/LINGUAS:
2808         * po/be.po:
2809         * po/pl.po:
2810         * po/rw.po:
2811           Add some new translations.
2812
2813 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
2814
2815         * tools/gst-launch.c: (event_loop), (main):
2816         Don´t try to do any state management when a live pipeline posts
2817         buffering messages.
2818         Also make the buffering string translatable.
2819
2820 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2821
2822         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
2823         (bin_handle_async_start), (gst_bin_handle_message_func):
2824         Improve debugging.
2825         When adding elements, insert messages into the bus of the newly added
2826         element and make sure the element is the source of the message. This
2827         allows the parent bin to intercept the message and do the
2828         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
2829         messages to the app (which is not allowed).
2830         Update some docs.
2831
2832         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2833         Fix testsuite so that is does not work around messages that should not
2834         have been posted in the first place.
2835
2836 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2837
2838         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
2839         (update_degree), (gst_bin_sort_iterator_next):
2840         Fix annoying bug in the sorted iterator where a sink that is not really
2841         a sink (when it has downstream links) screwed up the iterator.
2842
2843         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2844         Unit test to verify the fix.
2845
2846 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2847
2848         * gst/gstmessage.h:
2849         Add some more docs for the messages.
2850
2851         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2852         (gst_base_sink_query):
2853         Add some more debugging.
2854
2855         * tools/gst-launch.c: (event_loop):
2856         When interrupting, don't try to set pipeline to PAUSED twice.
2857
2858 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2859
2860         
2861         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
2862         (bin_handle_async_start), (gst_bin_handle_message_func):
2863         Move ASYNC_START message posting to where it belongs, similar to
2864         async_done. 
2865         Don't post ASYNC_START when we are in error. 
2866         Post ASYNC_START when we added an async element to a bin.
2867
2868 2007-08-14  Julien MOUTTE  <julien@moutte.net>
2869
2870         * gst/gstindex.c: (gst_index_add_association): Fix index entry
2871         generation from vargs. Fixes #466595.
2872
2873 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2874
2875         * gst/gstbin.c: (gst_bin_element_set_state):
2876         Always change the state of a NO_PREROLL element even if it has ASYNC
2877         elements inside (in case of a bin).
2878
2879         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
2880         Unit test for this case.
2881
2882 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
2883
2884         * libs/gst/check/gstbufferstraw.c:
2885         * libs/gst/check/gstcheck.h:
2886         * libs/gst/controller/gstcontroller.c:
2887         * libs/gst/controller/gstcontrolsource.h:
2888         * libs/gst/controller/gstlfocontrolsource.h:
2889         * plugins/elements/gstcapsfilter.h:
2890         * plugins/elements/gstfdsink.h:
2891         * plugins/elements/gstfdsrc.h:
2892           Add more missing docs.
2893
2894 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2895
2896         * gst/gststructure.c:
2897         Add Since tag to docs.
2898
2899 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2900
2901         * docs/gst/gstreamer-sections.txt:
2902         * gst/gststructure.c: (gst_structure_get_uint):
2903         * gst/gststructure.h:
2904         Add function to get uint from a structure.
2905         API: gst_structure_get_uint()
2906
2907 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2908
2909         * gst/gstcaps.c: (gst_caps_set_simple_valist),
2910         (gst_caps_intersect):
2911         Fix proper check for simple caps.
2912
2913 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
2914
2915         * docs/gst/Makefile.am:
2916         * docs/libs/Makefile.am:
2917           Remove cruft and do some cleanups.
2918
2919         * docs/gst/gstreamer-docs.sgml:
2920         * docs/libs/gstreamer-libs-docs.sgml:
2921           Prepare for comming gtkdoc features (rebase against online docs).
2922
2923 2007-08-10  Michael Smith <msmith@fluendo.com>
2924
2925         * docs/gst/gstreamer-sections.txt:
2926           Add gst_registry_add_path to docs.
2927
2928 2007-08-10  Michael Smith <msmith@fluendo.com>
2929
2930         * gst/gstregistry.h:
2931           Add gst_registry_add_path, which was missing from this header.
2932
2933 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
2934
2935         * libs/gst/controller/gstlfocontrolsource.c:
2936           Printf format fix.
2937
2938 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
2939
2940         * libs/gst/base/gstbasesink.c:
2941           Don't send an async_start message during downwards state change if 
2942           target state is less than READY
2943
2944 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2945
2946         translated by: Gabor Kelemen <kelemeng@gnome.hu>
2947
2948         * po/LINGUAS:
2949         * po/hu.po:
2950           Added Hungarian translation.
2951
2952 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * po/fi.po:
2955         * po/it.po:
2956         * po/nl.po:
2957         * po/sv.po:
2958         * po/uk.po:
2959           Updated translations.
2960
2961 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2962
2963         * libs/gst/controller/Makefile.am:
2964         Dist gstlfocontrolsourceprivate.h
2965
2966 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2967
2968         * docs/libs/gstreamer-libs.types:
2969         Don't register the enum type gst_lfo_waveform_get_type() in the
2970         .types file - only GObject derived types belong.
2971
2972 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2973
2974         Patch by: <arenevier at fdn dot fr>
2975
2976         * gst/gstbuffer.h:
2977         Remove comma from last element in enum to avoid compile errors when
2978         using -pendantic. Fixes #464366.
2979
2980 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2981
2982         * docs/design/part-TODO.txt:
2983         Add some more TODO items
2984
2985         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
2986         Improve debugging.
2987
2988         * gst/gstcaps.c: (gst_caps_intersect):
2989         Optimize trivial intersection case between identical caps pointers.
2990
2991         * gst/gstelement.c: (gst_element_continue_state),
2992         (gst_element_set_state_func):
2993         * gst/gstpad.c:
2994         Fix spelling and grammar mistakes.
2995
2996 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
2997
2998         * po/POTFILES.in:
2999         * po/POTFILES.skip:
3000           Update POTFILES. Fixes #461599.
3001
3002 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3003
3004         * gst/gst.c:
3005         Fix confusing typo in debug output.
3006
3007 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3008
3009         reviewed by: Stefan Kost <ensonic@users.sf.net>
3010
3011         * libs/gst/controller/Makefile.am:
3012         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3013         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3014         (gst_lfo_control_source_new),
3015         (gst_lfo_control_source_set_waveform),
3016         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3017         (gst_lfo_control_source_finalize),
3018         (gst_lfo_control_source_dispose),
3019         (gst_lfo_control_source_set_property),
3020         (gst_lfo_control_source_get_property),
3021         (gst_lfo_control_source_class_init):
3022         * libs/gst/controller/gstlfocontrolsource.h:
3023         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3024         API: Add GstLFOControlSource, a control source that gives values
3025         for specific timestamps based on several periodic waveforms.
3026         Fixes #459717.
3027
3028         * tests/check/libs/controller.c: (GST_START_TEST),
3029         (gst_controller_suite):
3030         * docs/libs/gstreamer-libs-docs.sgml:
3031         * docs/libs/gstreamer-libs-sections.txt:
3032         * docs/libs/gstreamer-libs.types:
3033         Add documentation and unit tests for GstLFOControlSource.
3034
3035 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3036
3037         * configure.ac:
3038         Back to CVS
3039
3040 === release 0.10.14 ===
3041
3042 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3043
3044         * configure.ac:
3045           releasing 0.10.14, "Breathing Vacuum"
3046
3047 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/gstelement.c: (gst_element_class_set_details_simple):
3050         * gst/gstelement.h:
3051           Make strings passed to gst_element_class_set_details_simple()
3052           constant, as they should be (#462752).
3053
3054 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3055
3056         * gst/gstbin.c: (gst_bin_change_state_func),
3057         (bin_handle_async_done), (gst_bin_handle_message_func):
3058         Don't forget about the fact that some element went ASYNC even after a
3059         resync. This makes us post the ASYNC_DONE message correctly.
3060         Fixes #462558.
3061
3062 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3063
3064         * gst/gstregistry.c: (gst_registry_add_feature):
3065         When replacing an existing feature in the registry, make sure to
3066         continue holding a reference until we've replaced the name string
3067         within our feature hash table. Make sure to use g_hash_table_replace
3068         instead of g_hash_table_insert to ensure the new name string is used
3069         as a key instead of the old one that we're about to free.
3070         Fixes: #462085
3071
3072 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3073
3074         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3075         (gst_plugin_feature_set_name):
3076         Revert patch from #459466 until after the release and we can work
3077         out exactly what the problem is (if any).
3078
3079 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3080
3081         * docs/gst/gstreamer-sections.txt:
3082         * gst/gsttaglist.c:
3083         * gst/gsttaglist.h:
3084           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3085
3086 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3087
3088         * docs/libs/Makefile.am:
3089         Include our build-prefix libs and includes before the generic ones to
3090         avoid linking against the installed libs when we want the build-tree
3091         ones.
3092
3093 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3094
3095         Patch by: Steve Fink  <sphink gmail com>
3096
3097         * docs/pwg/building-testapp.xml:
3098           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3099           if people try to build or install the example from the plugin
3100           template against a GStreamer from package using the configure
3101           defaults.
3102
3103 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3104
3105         Patch by: Steve Fink  <sphink gmail com>
3106
3107         * tools/gst-inspect.1.in:
3108           Document --print-all and --print-plugin-auto-install-info command
3109           line options in man page.
3110
3111 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3112
3113         * docs/gst/gstreamer-sections.txt:
3114         Add docs for new api function.
3115
3116 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3117
3118         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3119         * gst/gstelementfactory.h:
3120         API: gst_element_factory_has_interface()
3121         Added method to check if an element factory implements a named
3122         interface.
3123
3124 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3125
3126         * configure.ac:
3127         * docs/gst/gstreamer.types.in:
3128           Another conditional doc check.
3129
3130         * gst/gstmessage.c:
3131         * gst/gstparamspecs.h:
3132         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3133         * gst/gstvalue.c:
3134         * gst/gstxml.h:
3135           API-doc fixes.
3136
3137 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3138
3139         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3140         (gst_registry_binary_load_feature),
3141         (gst_registry_binary_load_plugin),
3142         (gst_registry_binary_read_cache):
3143           Print error just once and with additional info.
3144
3145 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3146
3147         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3148         (helper_find_suggest), (helper_find_get_length),
3149         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3150         (gst_type_find_helper_for_buffer):
3151           Cleanup the typefindhelper code and add private doc comments.
3152
3153 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3154
3155         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3156         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3157         Fix capsfilter for cases where the caps set on capsfilter will provide
3158         additional information.
3159         Fixes #449197
3160
3161 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3162
3163         * gst/gsttypefindfactory.c:
3164           Fix docs that recommened wrong function to use.
3165
3166 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3167
3168         * tools/gst-inspect.c: (print_plugin_features):
3169           Also give media-type for typefinders in element output.
3170
3171 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3172
3173         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3174         (gst_registry_remove_features_for_plugin_unlocked),
3175         (gst_registry_add_feature), (gst_registry_remove_feature),
3176         (gst_registry_lookup_feature_locked):
3177         * gst/gstregistry.h:
3178           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3179           Fixes #459501.
3180
3181 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3182
3183         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3184         (gst_plugin_feature_set_name):
3185           Avoid double memory usage for pluginfeature names. Fixes #459466.
3186
3187 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3188
3189         * gst/gstpad.h:
3190           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3191           driving the pipeline may need to explicitly check for NOT_LINKED as
3192           well, since IS_FATAL doesn't cover that.
3193
3194 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * docs/pwg/advanced-types.xml:
3197           Fix typo and duplicate entry in video formats list.
3198
3199 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3200
3201         * libs/gst/controller/gstinterpolation.c:
3202         Also round to the nearest int when using cubic interpolation.
3203
3204 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3205
3206         * libs/gst/controller/gstinterpolation.c:
3207         When linearly interpolating integer types, round to the nearest int
3208         by adding 0.5. Don't do it for float/double types.
3209         Fixes the failing controller test on my machine, which is somehow
3210         rounding differently than on the buildbots.
3211
3212 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3213
3214         * tools/gst-plot-timeline.py:
3215           Better log parsing (categories can have -). Adjust text vs. lines, so
3216           that they span the same y-range.        
3217
3218 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3219
3220         * docs/random/ensonic/audiobaseclasses.txt:
3221         * docs/random/ensonic/dynlink.txt:
3222         * docs/random/ensonic/profiling.txt:
3223           Save my thoughts.
3224
3225         * docs/random/moving-plugins:
3226           Add note to use g_assert type macros.
3227
3228 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3229
3230         * configure.ac:
3231         * libs/gst/check/Makefile.am:
3232           Add libm check as we use in for plugins.
3233
3234 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3235
3236         * gst/gstbin.c: (gst_bin_continue_func):
3237         Check that the state_cookie hasn't changed since the continue_func
3238         was scheduled. Avoids problems where the state changes back to
3239         something it shouldn't be because it was changed in the meantime.
3240
3241 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3242
3243         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3244         (gst_registry_binary_save_string),
3245         (gst_registry_binary_save_pad_template),
3246         (gst_registry_binary_save_feature),
3247         (gst_registry_binary_save_plugin),
3248         (gst_registry_binary_load_feature),
3249         (gst_registry_binary_load_plugin),
3250         (gst_registry_binary_read_cache):
3251           Fix memory leak. Be less verbose in the log.
3252
3253 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3254
3255         * tests/check/elements/.cvsignore:
3256         Add file to cvsignore as commanded.
3257
3258 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3259
3260         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3261         (mq_dummypad_event), (run_output_order_test):
3262         Use a GStaticMutex to protect all cases where libcheck
3263         fail_if/fail_unless macros might be called from multiple threads
3264         simultaneously to avoid errors like:
3265           "check_pack.c:107: :-1081725400:Bad message type arg"
3266
3267 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3268
3269         * tests/check/pipelines/stress.c: (GST_START_TEST):
3270         Make sure we set the pipeline back to the NULL state before
3271         dropping our final reference.
3272
3273 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3274
3275         * tests/check/elements/tee.c: (GST_START_TEST):
3276         Make the tee stress-test a little less stressful so it doesn't just
3277         time out on slow-machines, and remove a small race when it's starting 
3278         up by adding a get_state() call.
3279
3280 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3281
3282         * gst/gst.c:
3283           Avoid reading registry twice on startup. Fixes #457322.
3284
3285 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3286
3287         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3288         * pkgconfig/gstreamer-check.pc.in:
3289         Substitute the CFLAGS for libcheck into our .pc file too so that
3290         dependent modules will pick it up properly if libcheck is installed
3291         into some other prefix.
3292
3293 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3294
3295         * configure.ac:
3296         Revert the pkg-config check for libcheck, since it pulls in the
3297         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3298         a proper solution, either from the check project, or something else.
3299
3300 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3301
3302         * configure.ac:
3303           Use pkg-config to locate check.
3304
3305 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3306
3307         * gst/gsttaglist.c:
3308           Fix doc syntax.
3309
3310         * gst/gstutils.c:
3311         * gst/gstutils.h:
3312           Add deprecation guards.
3313
3314         * libs/gst/base/gstcollectpads.h:
3315           Don't document object (this is implicitly private).
3316
3317 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3318
3319         * gst/gststructure.c: (gst_structure_parse_value):
3320           When deserialising foo=bar without a type cast, check if it's a
3321           boolean before falling back to a string type, otherwise things like
3322           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3323           because the filtercaps end up having a signed=(string)true field,
3324           which causes problems later when intersection caps.
3325
3326         * tests/check/gst/gststructure.c: (GST_START_TEST):
3327           Add a unit test for this.
3328
3329 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3330
3331         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3332
3333         * libs/gst/controller/Makefile.am:
3334         * libs/gst/controller/gstcontroller.c:
3335         (gst_controlled_property_add_interpolation_control_source),
3336         (gst_controlled_property_new), (gst_controlled_property_free),
3337         (gst_controller_find_controlled_property),
3338         (gst_controller_new_valist), (gst_controller_new_list),
3339         (gst_controller_new), (gst_controller_remove_properties_valist),
3340         (gst_controller_remove_properties_list),
3341         (gst_controller_remove_properties),
3342         (gst_controller_set_property_disabled),
3343         (gst_controller_set_disabled), (gst_controller_set_control_source),
3344         (gst_controller_get_control_source), (gst_controller_get),
3345         (gst_controller_sync_values), (gst_controller_get_value_array),
3346         (_gst_controller_dispose), (gst_controller_get_type),
3347         (gst_controlled_property_set_interpolation_mode),
3348         (gst_controller_set), (gst_controller_set_from_list),
3349         (gst_controller_unset), (gst_controller_unset_all),
3350         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3351         * libs/gst/controller/gstcontroller.h:
3352         * libs/gst/controller/gstcontrollerprivate.h:
3353         * libs/gst/controller/gstcontrolsource.c:
3354         (gst_control_source_class_init), (gst_control_source_init),
3355         (gst_control_source_get_value),
3356         (gst_control_source_get_value_array), (gst_control_source_bind):
3357         * libs/gst/controller/gstcontrolsource.h:
3358         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3359         (gst_object_get_control_source):
3360         * libs/gst/controller/gstinterpolation.c:
3361         (gst_interpolation_control_source_find_control_point_node),
3362         (gst_interpolation_control_source_get_first_value),
3363         (_interpolate_none_get), (interpolate_none_get),
3364         (interpolate_none_get_boolean_value_array),
3365         (interpolate_none_get_enum_value_array),
3366         (interpolate_none_get_string_value_array),
3367         (_interpolate_trigger_get), (interpolate_trigger_get),
3368         (interpolate_trigger_get_boolean_value_array),
3369         (interpolate_trigger_get_enum_value_array),
3370         (interpolate_trigger_get_string_value_array):
3371         * libs/gst/controller/gstinterpolationcontrolsource.c:
3372         (gst_control_point_free), (gst_interpolation_control_source_reset),
3373         (gst_interpolation_control_source_new),
3374         (gst_interpolation_control_source_set_interpolation_mode),
3375         (gst_interpolation_control_source_bind),
3376         (gst_control_point_compare), (gst_control_point_find),
3377         (gst_interpolation_control_source_set_internal),
3378         (gst_interpolation_control_source_set),
3379         (gst_interpolation_control_source_set_from_list),
3380         (gst_interpolation_control_source_unset),
3381         (gst_interpolation_control_source_unset_all),
3382         (gst_interpolation_control_source_get_all),
3383         (gst_interpolation_control_source_get_count),
3384         (gst_interpolation_control_source_init),
3385         (gst_interpolation_control_source_finalize),
3386         (gst_interpolation_control_source_dispose),
3387         (gst_interpolation_control_source_class_init):
3388         * libs/gst/controller/gstinterpolationcontrolsource.h:
3389         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3390         API: Refactor GstController into the core controller which can take
3391         a GstControlSource for providing actual values for timestamps.
3392         Implement a interpolation control source and use this for backward
3393         compatibility, deprecate a bunch of functions that are now handled
3394         by GstControlSource or GstInterpolationControlSource.
3395         Make it possible to disable the controller completely or only for
3396         specific properties. Fixes #450711.
3397         * docs/libs/gstreamer-libs-docs.sgml:
3398         * docs/libs/gstreamer-libs-sections.txt:
3399         * docs/libs/gstreamer-libs.types:
3400         Add new functions and classes to the docs.
3401         * tests/check/libs/controller.c: (GST_START_TEST),
3402         (gst_controller_suite):
3403         * tests/examples/controller/audio-example.c: (main):
3404         Port unit test and example to the new API and add some new
3405         unit tests.
3406
3407 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
3408
3409         Patch by: Mark Nauwelaerts <manauw at skynet be>
3410
3411         * plugins/elements/gstmultiqueue.c:
3412         (gst_multi_queue_get_internal_links), (apply_buffer),
3413         (single_queue_overrun_cb), (gst_single_queue_new):
3414         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
3415         the pipeline layout can be tracked correctly. Fixes #453732.
3416
3417 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
3418
3419         * docs/gst/Makefile.am:
3420         * docs/libs/Makefile.am:
3421         * docs/plugins/Makefile.am:
3422           Simplify --extra-dir as gtkdoc scans recursively.
3423
3424 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3425
3426         * tools/gst-launch.c: (main):
3427         When we got an error, there is no point in waiting for preroll when
3428         shutting down.
3429
3430 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3431
3432         * plugins/elements/gsttee.c: (gst_tee_base_init),
3433         (gst_tee_request_new_pad), (gst_tee_release_pad),
3434         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
3435         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
3436         (gst_tee_chain):
3437         Be a lot smarter when deciding what srcpad to use for proxying
3438         the buffer_alloc. Also handle pad added/removed when doing so.
3439         Fixes #357959.
3440         Keep track of what pads we already pushed on in case we have pads
3441         added/removed while pushing. Fixes #374639 
3442
3443         * tests/check/Makefile.am:
3444         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
3445         (tee_suite):
3446         Added unit test for pad resync.
3447
3448 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3449
3450         * po/nl.po:
3451         * po/sv.po:
3452           Updated translations.
3453
3454 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3455
3456         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
3457
3458         * po/LINGUAS:
3459         * po/fi.po:
3460           Added new Finnish translation.
3461
3462 2007-06-28  Wim Taymans  <wim@fluendo.com>
3463
3464         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3465         (single_queue_overrun_cb):
3466         When figuring out when a queue is filled, use our internal time estimate
3467         based on segments, just like check_full does.
3468
3469 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3470
3471         * gst/gstminiobject.c: (gst_mini_object_get_type):
3472           Remove 3 do-nothing methods.
3473
3474 2007-06-27  Wim Taymans  <wim@fluendo.com>
3475
3476         Patch by: Tim Angus <tim at ngus dot net>
3477
3478         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3479         (gst_capsfilter_set_property):
3480         Take a reference instead of a copy when setting "caps".
3481         Fix documentation to clarify this behaviour. Fixes #449414.
3482
3483 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3484
3485         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3486         * gst/gstplugin.c: (gst_plugin_init):
3487         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
3488         * gst/gstquery.c: (gst_query_get_type):
3489         * gst/gstregistry.c: (gst_registry_init):
3490         * gst/gsturi.c: (gst_uri_handler_base_init):
3491           Remove empty instance_init() functions to save relocs and lessen the
3492           noise. Remove some of the function prototypes that are doubled by
3493           G_DEFINE_TYPE.
3494           
3495 2007-06-27  Wim Taymans  <wim@fluendo.com>
3496
3497         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
3498
3499         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
3500         Add peer and direction in the XML serialisation of ghostpads.
3501         Fixes #449226.
3502
3503 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3504
3505         * configure.ac:
3506           Preserve useful information, thanks Tim.
3507
3508 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
3509
3510         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3511         (gst_single_queue_flush), (apply_segment), (apply_buffer),
3512         (gst_single_queue_push_one), (gst_multi_queue_loop),
3513         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3514         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
3515         (compute_high_id), (gst_single_queue_new):
3516         * plugins/elements/gstmultiqueue.h:
3517         Take the multiqueue lock when updating the fill level so we don't get
3518         confused. 
3519
3520         After applying a buffer or event on the src pad segment, make sure to
3521         call gst_data_queue_limits_changed() to get the data queue to unblock
3522         and check the filled state again.
3523         
3524         Rework the not-linked pad handling so the logic is that not-linked 
3525         pads can push as fast as they like, but only so they never get 
3526         ahead of any linked pads.
3527
3528         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
3529         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
3530         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
3531
3532         Add a test to check that not-linked pads always stay behind
3533         linked pads.
3534
3535         Fixes: #430682
3536
3537 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
3538
3539         * docs/random/release:
3540           Some updates to the release procedure.
3541
3542 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3543
3544         * gst/gstelementfactory.c: (__gst_element_details_clear):
3545           Microoptimization that saves stunning 80 bytes.
3546
3547 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
3548
3549         * docs/plugins/gstreamer-plugins.args:
3550         * docs/plugins/inspect/plugin-coreelements.xml:
3551         * docs/plugins/inspect/plugin-coreindexers.xml:
3552           Update docs with caps info.
3553
3554 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3555
3556         * po/it.po:
3557           Updated Italian translation.
3558
3559 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3560
3561         * ChangeLog:
3562         * po/vi.po:
3563           Update Vietnamese translations.
3564
3565 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * libs/gst/base/gstbasesink.c:
3568           Remove unused signal enum.
3569
3570 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3571
3572         * docs/gst/gstreamer-sections.txt:
3573         * gst/gstelement.c:
3574         * gst/gstutils.c: (gst_type_register_static_full):
3575         Beef up and include the docs for gst_type_register_static_full and
3576         gst_element_class_set_details_simple and add the API keyword
3577         in the ChangeLog.
3578
3579 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3580
3581         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3582         (update_time_level), (gst_single_queue_push_one),
3583         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
3584         (single_queue_overrun_cb), (single_queue_underrun_cb),
3585         (single_queue_check_full):
3586         Fix setting max-* properties after adding queues.
3587         Use IS_FILLED for checking visible items.
3588         Signal overrun if multiple queues overrun.
3589         Add extra debug output.
3590         Patch by: Wim Taymans <wim@fluendo.com>
3591
3592 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
3593
3594         * gst/gstelement.c: (gst_element_class_set_details_simple):
3595         * gst/gstelement.h:
3596         * gst/gstutils.c: (gst_type_register_static_full):
3597         * gst/gstutils.h:
3598         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
3599         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
3600         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
3601         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
3602         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
3603         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
3604         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
3605         * plugins/elements/gstidentity.c: (gst_identity_base_init):
3606         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
3607         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3608         (apply_buffer), (gst_queue_chain):
3609         * plugins/elements/gsttee.c: (gst_tee_base_init):
3610         * plugins/elements/gsttypefindelement.c:
3611         (gst_type_find_element_base_init),
3612         (gst_type_find_element_class_init):
3613           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
3614           API: add gst_type_register_static_full
3615           API: add gst_element_class_set_details_simple
3616
3617 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * docs/pwg/advanced-types.xml:
3620           Fix typo in iana.org URI.
3621
3622 2007-06-19  Andy Wingo  <wingo@pobox.com>
3623
3624         * tests/check/pipelines/simple-launch-lines.c
3625         (test_state_change_returns): Enable pull-mode tests now that
3626         basesink has been fixed.
3627
3628         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
3629         Changed from gst_base_sink_is_prerolled, reversing the sense of
3630         the return value. Returns FALSE also if the sink is in pull mode,
3631         in which case it needs no preroll.
3632         (gst_base_sink_query, gst_base_sink_change_state): Update for
3633         needs_preroll change.
3634         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
3635         chaining up, in which we return SUCCESS directly if we activated
3636         in pull mode instead of ASYNC. Involves countering an async_start
3637         message sent before chaining up; not sure if this is correct, in
3638         an ideal world we only send async-start when activating in push
3639         mode.
3640
3641         * tests/check/pipelines/simple-launch-lines.c
3642         (test_state_change_returns): New test, partially disabled until
3643         basesink is fixed.
3644
3645 2007-06-19  Wim Taymans  <wim@fluendo.com>
3646
3647         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3648         (gst_multi_queue_sink_event):
3649         Fix event leak.
3650
3651 2007-06-19  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3654         (gst_bin_change_state_func), (bin_push_state_continue),
3655         (bin_handle_async_start), (bin_handle_async_done),
3656         (gst_bin_handle_message_func):
3657         Move the common code for posting state-change messages into
3658         one function.
3659         Broadcast the state signal after we posted the messages.
3660         Mark the bin as busy when it's doing a state-change.
3661         Make sure async-start/done messages don't interfere with the bin's
3662         state when it's busy.
3663         After the state change, let the bin check which elements completed the
3664         state change while it was busy so that it can update its state.
3665
3666 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
3667
3668         * docs/random/release:
3669         Add a note about updating the doap file to the release checklist
3670
3671 2007-06-18  Wim Taymans  <wim@fluendo.com>
3672
3673         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3674         (gst_single_queue_push_one), (gst_multi_queue_chain),
3675         (gst_multi_queue_sink_event):
3676         Make sure we don't reference the buffer/event after we have given away
3677         ownership in the queue.
3678
3679 2007-06-18  Wim Taymans  <wim@fluendo.com>
3680
3681         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3682         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
3683         Update queue state _after_ adding the item in the queue because else we
3684         could end up being full without the element added yet.
3685
3686 2007-06-18  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3689         (gst_bin_remove_func), (gst_bin_get_state_func),
3690         (gst_bin_element_set_state), (gst_bin_continue_func),
3691         (bin_push_state_continue), (bin_handle_async_start),
3692         (bin_handle_async_done), (gst_bin_handle_message_func):
3693         * gst/gstbin.h:
3694         Immediatly commit the toplevel bin state when receiving an async-done
3695         message. This enables us to avoid spawning a thread to commit the state
3696         in some common cases and it also avoids some races.
3697         Avoid spawning a state thread when adding/removing async elements to a
3698         toplevel bin. Instead we immediatly update the bin state.
3699         Get rid of iterating all the children when getting the state in the bin
3700         because it is now always up-to-date.
3701         Fix bug where locked elements would always return _SUCCESS even it they
3702         returned NO_PREROLL before being locked.
3703         Fix the order of the state_change, async-start/done messages that was
3704         sometimes incorrect.
3705         Mark the state_dirty field as deprecated, we don't need it anymore as we
3706         are always up-to-date.
3707
3708         * gst/gstelement.c: (gst_element_get_state_func),
3709         (gst_element_continue_state):
3710         Small debug inprovements.
3711         Return the previous element state return when nothing is pending instead
3712         of blindly returning SUCCESS.
3713
3714         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
3715         (gst_sinks_suite):
3716         Add a whole bunch of new testcases.
3717
3718 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3719
3720         * po/uk.po:
3721         * po/vi.po:
3722           Update translations.
3723
3724 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
3725
3726         * gst/gstpad.c:
3727         Fix typo in the docs.
3728
3729 2007-06-15  Wim Taymans  <wim@fluendo.com>
3730
3731         * docs/libs/gstreamer-libs-sections.txt:
3732         Add docs for new methods.
3733
3734 2007-06-15  Wim Taymans  <wim@fluendo.com>
3735
3736         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
3737         (gst_multi_queue_item_new):
3738         Don't use GSlice because we don't depend on >= 2.10 yet.
3739
3740 2007-06-15  Wim Taymans  <wim@fluendo.com>
3741
3742         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3743         (update_time_level), (apply_segment), (apply_buffer),
3744         (gst_single_queue_push_one), (gst_multi_queue_item_new),
3745         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
3746         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
3747         (single_queue_underrun_cb), (single_queue_check_full):
3748         Remove debug printf.
3749
3750 2007-06-15  Wim Taymans  <wim@fluendo.com>
3751
3752         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
3753         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
3754         (gst_data_queue_set_flushing), (gst_data_queue_push),
3755         (gst_data_queue_pop), (gst_data_queue_drop_head),
3756         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
3757         * libs/gst/base/gstdataqueue.h:
3758         Various cleanups.
3759         Added methods to get the current levels and to inform the queue that the
3760         'full' limits changed.
3761
3762         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3763         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3764         (gst_single_queue_flush), (update_time_level), (apply_segment),
3765         (apply_buffer), (gst_single_queue_push_one),
3766         (gst_multi_queue_item_steal_object),
3767         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3768         (gst_multi_queue_loop), (gst_multi_queue_chain),
3769         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3770         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
3771         (gst_multi_queue_src_query), (single_queue_overrun_cb),
3772         (single_queue_underrun_cb), (single_queue_check_full),
3773         (gst_single_queue_new):
3774         Keep track of time in the queue by measuring the difference between
3775         running_time on input and output. This gives more accurate results and
3776         can compensate for segments correctly.
3777         Make a queue by default only 5 buffers deep. We will now increase the
3778         buffer size depending on the filledness of the other queues.
3779         Factor out commong flush code.
3780         Make sure we don't add additional refcounts to buffers when we can avoid
3781         it.
3782         Propagate GstFlowReturn differently.
3783         Use GSlice for intermediate GstMultiQueueItems.
3784         Keep track of EOS.
3785         Resize queues on over and underruns based on filled level of other
3786         queues.
3787         When checking if the queue is filled, prefer to measure in time if we
3788         can and fall back to bytes when no time is known.
3789
3790         * plugins/elements/gstqueue.c:
3791         Fix return value.
3792
3793 2007-06-15  Wim Taymans  <wim@fluendo.com>
3794
3795         * libs/gst/base/gstbasetransform.c:
3796         (gst_base_transform_sink_event):
3797         Work around the brokenness of the event vmethod in basetransform. Prefer
3798         to return TRUE when the subclass returned FALSE (meaning don't forward
3799         the event). 
3800
3801         * libs/gst/base/gstbasetransform.h:
3802         Clarify the docs.
3803
3804 2007-06-15  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
3807         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3808         (gst_base_src_default_query), (gst_base_src_get_range),
3809         (gst_base_src_start):
3810         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
3811         Improve debugging.
3812
3813 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3814
3815         * docs/pwg/advanced-types.xml:
3816           Added more formats to caps table.
3817
3818 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3819
3820         * tools/gst-launch.c: (main):
3821           Remove crufy code. GOption does not need this workaround.
3822
3823 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3824
3825         * libs/gst/controller/gstcontroller.c:
3826         (gst_controlled_property_set_interpolation_mode):
3827           Fix wrong getter for enums in controller.
3828
3829 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3830
3831         * libs/gst/check/gstcheck.c: (gst_check_init):
3832           Intercept criticals and warnings in the Gst-Phonon log domain, so
3833           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
3834           well.
3835         
3836 2007-06-14  Edward Hervey  <edward@fluendo.com>
3837
3838         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
3839         Since this file doesn't include "gst.h" it will not go through the
3840         macros that disable GST_LOG if debugging was disabled.
3841
3842 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3843
3844         * libs/gst/check/Makefile.am:
3845         * libs/gst/check/gstcheck.h:
3846         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3847         * pkgconfig/gstreamer-check.pc.in:
3848           Ugly 'fix' for the controller unit test on the p5 bot: in
3849           fail_unless_equals_float() check whether the values are 'almost
3850           equal' by allowing a small absolute error, which should be good
3851           enough for our use cases (normal numbers and values close to 0).
3852           Proper fixage left to floating point arithmetic aficionados.
3853
3854 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3855
3856         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
3857         (gst_base_sink_render_object), (gst_base_sink_get_position):
3858           Add two breaks thats where missing.
3859
3860 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * docs/libs/gstreamer-libs-sections.txt:
3863         * libs/gst/check/gstcheck.h:
3864           API: add fail_unless_equals_float() and assert_equals_float().
3865           Add documentation for some of the macros.
3866
3867         * tests/check/libs/controller.c: (GST_START_TEST):
3868           Use newly-added asserts.
3869
3870 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3871
3872         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
3873           Show the caps change in the log to help spotting the case of not
3874           exactly matching caps.
3875
3876 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3877
3878         * docs/pwg/building-boiler.xml:
3879           Fix typos, spotted by Thijs Vermeir (#447190).
3880
3881 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3882
3883         * docs/plugins/tmpl/.cvsignore:
3884         Ignore file to keep the buildbots happy
3885
3886 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3887
3888         * docs/plugins/Makefile.am:
3889         * docs/plugins/gstreamer-plugins-docs.sgml:
3890         * docs/plugins/gstreamer-plugins-sections.txt:
3891         Pull fdsink into the docs too.
3892
3893 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
3894
3895         * libs/gst/controller/gstinterpolation.c:
3896         Actually use the new functions with min/max checks for the trigger and
3897         none interpolation modes for get() and get_value_array() instead of
3898         just the latter.
3899
3900 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
3901
3902         * libs/gst/controller/gstcontroller.c:
3903         (gst_controlled_property_free):
3904         Unset the minimum and maximum GValues when freeing the corresponding
3905         GstControllerProperty struct.
3906
3907 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
3908
3909         * libs/gst/controller/gstcontroller.c:
3910         (gst_controlled_property_new):
3911         * libs/gst/controller/gstcontrollerprivate.h:
3912         * libs/gst/controller/gstinterpolation.c:
3913         (gst_controlled_property_find_control_point_node),
3914         (interpolate_none_get), (interpolate_none_get_enum_value_array),
3915         (interpolate_none_get_string_value_array),
3916         (interpolate_trigger_get),
3917         (interpolate_trigger_get_enum_value_array),
3918         (interpolate_trigger_get_string_value_array):
3919         Protect against values larger or smaller than the minimum or maximum
3920         allowed value for the property when using values that can be compared.
3921
3922         Optimize trigger interpolator a bit by taking the last requested value
3923         into account instead of always looping through the complete list.
3924
3925         Fix coding style a bit, everywhere else we use "return foo" instead
3926         of "return (foo)".
3927         
3928         * tests/check/libs/controller.c: (GST_START_TEST),
3929         (gst_controller_suite):
3930         Add unit test for the protection against too large or too small
3931         values.
3932
3933 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
3934
3935         * docs/random/slomo/controller.txt:
3936         Add some thoughts about the future of the controller.
3937
3938 2007-06-08  Wim Taymans  <wim@fluendo.com>
3939
3940         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3941         Don't overflow in retimestamping code.
3942
3943 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
3944
3945         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
3946         Use gst_util_guint64_to_gdouble for conversions.
3947         * win32/common/libgstreamer.def:
3948         Add new exported functions.
3949
3950 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
3951
3952         * gst/gstutils.c:
3953           Small docs addition.
3954
3955 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3956
3957         * README:
3958           Remove that test line again.
3959
3960 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3961
3962         * README:
3963           Test commit mail sending.
3964
3965 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3966
3967         * configure.ac:
3968           Fix typo and test commit mail sending.
3969
3970 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3971
3972         * tests/examples/controller/audio-example.c:
3973           Improve comment and test commit mail sending.
3974
3975 2007-06-07  Wim Taymans  <wim@fluendo.com>
3976
3977         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
3978         (gst_bin_remove_func), (gst_bin_element_set_state),
3979         (bin_handle_async_start), (bin_handle_async_done),
3980         (gst_bin_handle_message_func):
3981         Add helper function to find messages.
3982         Generate the async-done messages together with the state change
3983         messages.
3984         Small cleanups in handling toplevel bins.
3985
3986 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3987
3988         * libs/gst/base/gstdataqueue.c:
3989         * libs/gst/base/gstdataqueue.h:
3990         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3991         (gst_multi_queue_item_new), (gst_multi_queue_chain),
3992         (gst_multi_queue_sink_event):
3993         * tests/check/elements/multiqueue.c: (multiqueue_suite):
3994           Fix multiqueue leaking buffers and events when downstream or the
3995           queue are flushing. Make refcounting assumptions explicit and
3996           document them (shouldn't break existing code that uses it other than
3997           maybe leak miniobjects, but that already happens anyway). Add unit
3998           test for the most common flushing case. Fixes #423700.
3999           
4000 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4001
4002         * libs/gst/controller/gstcontroller.c:
4003         Clarify docs: The get_all, get_value_array(s) functions
4004         don't modify the GObject properties.
4005
4006 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4007
4008         * libs/gst/controller/gstcontroller.c:
4009         (gst_controlled_property_set_interpolation_mode),
4010         (gst_controlled_property_prepend_default),
4011         (gst_controlled_property_new), (gst_controller_set_unlocked),
4012         (gst_controller_set), (gst_controller_set_from_list),
4013         (gst_controller_unset), (gst_controller_unset_all):
4014         * libs/gst/controller/gstcontrollerprivate.h:
4015         * libs/gst/controller/gstinterpolation.c:
4016         Factor out the 'set' logic into gst_controller_set_unlocked for the
4017         gst_controller_set and gst_controller_set_from_list functions.
4018
4019         To make life of the interpolators easier always add a control point
4020         at timestamp zero with the default value.
4021
4022         In the linear interpolator make things more obvious by better variable
4023         naming (slope).
4024
4025         Implement cubic interpolation mode (by using a natural cubic spline)
4026         and map the quadratic interpolation mode to this too (as quadratic
4027         doesn't make much sense, see discussion on the list).
4028
4029         * tests/check/libs/controller.c: (GST_START_TEST),
4030         (gst_controller_suite):
4031         Add unit test for the cubic interpolation mode and check everywhere
4032         if the interpolation mode could be set as expected.
4033
4034 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4035
4036         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4037           Don't use GLib-2.10 functions, we still depend on
4038           GLib-how-old-is-it-again-2.8.
4039
4040 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         * docs/gst/gstreamer-sections.txt:
4043         * gst/Makefile.am:
4044         * gst/gst.c:
4045         * gst/gst.h:
4046         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4047         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4048         (_gst_param_fraction_values_cmp),
4049         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4050         * gst/gstparamspecs.h:
4051         * gst/gstvalue.c:
4052         * tests/check/Makefile.am:
4053         * tests/check/gst/.cvsignore:
4054         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4055         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4056         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4057         (GST_START_TEST), (gst_param_spec_suite):
4058           API: add GstParamSpecFraction, so elements can have fraction
4059           properties without lots of painful string parsing (#444648).
4060
4061 2007-06-05  Wim Taymans  <wim@fluendo.com>
4062
4063         * gst/gstobject.c: (gst_object_class_init):
4064         Fix signal signature.
4065
4066         * gst/gstsegment.c:
4067         Add small clarification in the api docs.
4068
4069         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4070         States are protected with object lock.
4071
4072 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4073
4074         * AUTHORS:
4075         I should probably be listed as an author by now.
4076
4077         * docs/random/release:
4078         Update the release doc
4079
4080 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * gst/gstvalue.c:
4083           Make docs for gst_value_compare() mention return enums that
4084           actually exist.
4085
4086 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4087
4088         * configure.ac:
4089           Back to CVS
4090
4091 === release 0.10.13 ===
4092
4093 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4094
4095         * configure.ac:
4096           releasing 0.10.13, "With or without you"
4097
4098 2007-05-25  Wim Taymans  <wim@fluendo.com>
4099
4100         * gst/gstbin.c: (bin_handle_async_done):
4101         Make sure that the child bin stops after completing the async state
4102         change so that the parent can continue the state change to PLAYING.
4103         Fixes #441159.
4104
4105 2007-05-25  Wim Taymans  <wim@fluendo.com>
4106
4107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4108         (unref_data), (gst_collect_pads_remove_pad),
4109         (gst_collect_pads_check_pads):
4110         Use additional refcounting to avoid crashes when dynamically adding and
4111         removing pads. Fixes #420206.
4112
4113 2007-05-24  Wim Taymans  <wim@fluendo.com>
4114
4115         * tools/gst-launch.c: (event_loop):
4116         When buffering goes from a two digit to a single digit number, make sure
4117         to remove the old second digit by writing a blank over it.
4118
4119 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4120
4121         * libs/gst/base/gstdataqueue.c:
4122           Eliminate tabs and trailing comma in enum list; fix some typos.
4123
4124 2007-05-24  Wim Taymans  <wim@fluendo.com>
4125
4126         * tests/check/gst/gstbin.c: (GST_START_TEST):
4127         Allow refcount of 3 and 4 because some state thread might still be busy
4128         with it.
4129
4130 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4131
4132         * plugins/elements/Makefile.am:
4133         * plugins/elements/gstmultiqueue.h:
4134         * plugins/elements/gstqueue.h:
4135           These are not installed headers, no need for padding.
4136
4137 2007-05-24  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4140         (gst_bin_continue_func):
4141         Enable latency for next release.
4142         Restore STATE_LOCK around recalc_state that was left out during the
4143         rewrite and could result in racy behaviour when _get_state and
4144         recalc_state are run concurrently. See #440463.
4145
4146 2007-05-23  Wim Taymans  <wim@fluendo.com>
4147
4148         * tests/check/gst/gstsystemclock.c: (store_callback),
4149         (GST_START_TEST):
4150         Improve test_async_order to also work when both timers are already
4151         expired when we get scheduled to check it.
4152
4153 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4154
4155         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4156         (gst_bin_set_property), (gst_bin_get_property),
4157         (gst_bin_remove_func), (gst_bin_handle_message_func):
4158         * gst/gstbin.h:
4159           'private' is a c++ keyword, let's not use that in header files,
4160           otherwise c++ compilers will throw a tantrum.
4161
4162 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4163
4164         * plugins/elements/gstelements.c:
4165         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4166         (gst_file_sink_get_current_offset):
4167         * plugins/indexers/gstindexers.c: (plugin_init):
4168           Use #ifdef for HAVE_XYZ for consistency.
4169
4170         * tests/check/Makefile.am:
4171         * tests/check/elements/.cvsignore:
4172         * tests/check/elements/filesink.c: (setup_filesink),
4173         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4174           Add some unit tests for filesink.
4175
4176 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4177
4178         Patch by: Mark Nauwelaerts <manauw at skynet be>
4179
4180         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4181         (gst_file_sink_query), (gst_file_sink_do_seek),
4182         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4183         * plugins/elements/gstfilesink.h:
4184           Fix position reporting; rename data_written member to current_pos to
4185           reflect its real meaning (fixes #412648).
4186
4187 2007-05-22  Edward Hervey  <edward@fluendo.com>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4191         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4192         (gst_bin_remove_func), (gst_bin_handle_message_func):
4193         * gst/gstbin.h:
4194         Add a property for bins that handle the state change of their childs.
4195         Fixes #435880
4196
4197 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4198
4199         * libs/gst/controller/gstinterpolation.c:
4200         Use an array of the correct type when using _get_value_array with
4201         linear interpolation.
4202
4203 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4204
4205         * gst/gstelement.c (gst_element_requires_clock,
4206           gst_element_provides_clock, gst_element_request_pad,
4207           gst_element_class_set_details, gst_element_class_set_details_simple,
4208           gst_element_default_send_event, gst_element_abort_state,
4209           gst_element_continue_state, gst_element_set_state,
4210           gst_element_set_state_func, iterator_activate_fold_with_resync):
4211         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4212           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4213           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4214           gst_pad_get_range, gst_pad_pull_range):
4215         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4216           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4217           GstPadActivateModeFunction, GstPadChainFunction,
4218           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4219           GstPadFixateCapsFunction, GstPadTemplate):
4220         * gst/gstpipeline.c (gst_pipeline_change_state,
4221           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4222           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4223           gst_pipeline_get_delay):
4224           Whitespace and docs fixes.
4225
4226 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4227
4228         * libs/gst/controller/gstinterpolation.c:
4229         (interpolate_trigger_get_enum_value_array),
4230         (interpolate_trigger_get_string_value_array):
4231         Add support for retrieving value arrays when using the trigger
4232         interpolation mode. 
4233
4234 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4235
4236         * libs/gst/controller/gstcontroller.c:
4237         (gst_controller_get_value_array):
4238         * libs/gst/controller/gstcontroller.h:
4239         Clarify the docs of gst_controller_get_value_array(): The array where
4240         the values should be written to must be allocated as there seems to be
4241         no way to get the size of a random GType. This doesn't change any
4242         behaviour. Also fix some typos all over the place and remove an unused,
4243         commented function that is not necessary as g_object_set() could be
4244         used instead.
4245         * tests/check/libs/controller.c: (GST_START_TEST),
4246         (gst_controller_suite):
4247         Add unit test for gst_controller_get_value_array().
4248
4249 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4250
4251         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4252
4253         Disable part of the gst_buffer_try_new_and_alloc test, because
4254         it can happily succeed on 64-bit systems where there's more address
4255         space available.
4256
4257 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4258
4259         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4260         Add unit test for the improved caps checking from bug #421543.
4261
4262 2007-05-21  Wim Taymans  <wim@fluendo.com>
4263
4264         * docs/design/part-synchronisation.txt:
4265         Small addition.
4266
4267         * gst/gstbin.c: (gst_bin_query):
4268         * plugins/elements/gstqueue.c: (apply_segment):
4269         Improve debugging.
4270
4271         * gst/gstmessage.h:
4272         Improve docs.
4273
4274 2007-05-21  Wim Taymans  <wim@fluendo.com>
4275
4276         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4277         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4278         (gst_pad_configure_src):
4279         Added simple version of improved caps checking. It was previously
4280         assumed that a setcaps function would check the validity of the caps but
4281         people prefer us to check caps against the template automatically. 
4282         Fixes #421543.
4283
4284 2007-05-21  Wim Taymans  <wim@fluendo.com>
4285
4286         * libs/gst/base/gstbasetransform.h:
4287         Fix macro for locking/unlocking the transform lock.
4288
4289 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4290
4291         * docs/plugins/tmpl/.cvsignore:
4292           Ignore more.
4293
4294 2007-05-18  Edward Hervey  <edward@fluendo.com>
4295
4296         * plugins/elements/gstqueue.c: (gst_queue_loop):
4297         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4298         for the subtle art of warning a potentially blocking thread that it
4299         should check the source pad return value, and relay the information
4300         upstream.
4301
4302 2007-05-18  Edward Hervey  <edward@fluendo.com>
4303
4304         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4305         Release the queue lock !
4306
4307 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4308
4309         * docs/libs/gstreamer-libs-sections.txt:
4310         Add the two new controller functions to the appropiate places.
4311
4312 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4313
4314         reviewed by: Stefan Kost <ensonic@users.sf.net>
4315
4316         * libs/gst/controller/gstcontroller.c:
4317         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4318         (_gst_controller_get_property), (_gst_controller_set_property),
4319         (_gst_controller_init), (_gst_controller_class_init):
4320         * libs/gst/controller/gstcontroller.h:
4321         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4322         (gst_object_get_control_rate), (gst_object_set_control_rate):
4323         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4324         Add API that provides sync suggestion timestamps for elements that
4325         call gst_object_sync_values() from which those elements can subdivide
4326         their processing loop to get the best results for the controlled
4327         properties. For now it just suggests last_sync + control_rate as
4328         new timestamp but this will be improved in the future.
4329
4330         While doing that change the control-rate property to a GstClockTime
4331         from guint and change it's meaning from samples to nanoseconds as
4332         the GstController doesn't know anything about sampling rate. Strictly
4333         speaking this breaks ABI but as the control-rate property didn't do
4334         anything in the past and as such couldn't be used this should be no
4335         problem.        
4336
4337 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4338
4339         reviewed by: Stefan Kost <ensonic@users.sf.net>
4340
4341         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4342         (gst_controller_unset_all):
4343         * libs/gst/controller/gstcontrollerprivate.h:
4344         * libs/gst/controller/gstinterpolation.c:
4345         (gst_controlled_property_find_control_point_node):
4346         Save last synced value from the list to continue searching from there
4347         in future syncs. This speeds everything up a bit.
4348         
4349 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4350
4351         reviewed by: Stefan Kost <ensonic@users.sf.net>
4352
4353         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4354         (gst_control_point_find), (gst_controlled_property_new),
4355         (gst_control_point_free), (gst_controlled_property_free),
4356         (gst_controller_set), (gst_controller_set_from_list),
4357         (gst_controller_unset), (gst_controller_unset_all),
4358         (gst_controller_sync_values):
4359         * libs/gst/controller/gstcontroller.h:
4360         * libs/gst/controller/gstcontrollerprivate.h:
4361         * libs/gst/controller/gstinterpolation.c:
4362         (gst_controlled_property_find_control_point_node),
4363         (interpolate_none_get), (interpolate_trigger_get):
4364         Add a new private GstControlPoint struct which "inherits" from
4365         GstTimedValue to allow different interpolators to store internal
4366         values next to each control point. From the outside everything is
4367         still a GstControlPoint so we don't loose binary compatibility.
4368         Also fixup all the GValue handling to not leak GValues or list nodes.
4369         * tests/check/libs/controller.c: (GST_START_TEST):
4370         Free the list nodes and GValues in the controller_misc test.
4371
4372 2007-05-17  Edward Hervey  <edward@fluendo.com>
4373
4374         * gst/gstsegment.c:
4375         Small doc fix.
4376
4377 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4378
4379         * gst/gstplugin.c: (gst_plugin_load_file):
4380           If we fail to load a plugin because of unresolved symbols or missing
4381           libraries and spew a warning to stderr, we may just as well mention
4382           which plugin it was that failed to load.
4383
4384 2007-05-13  David Schleef  <ds@schleef.org>
4385
4386         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4387           handles the case when ENABLE_GTK_DOC is false, and installs
4388           the prebuilt documentation.  So gtk-doc subdirs are 
4389           unconditionally enabled.  Fixes: #349099.
4390
4391 2007-05-13  David Schleef  <ds@schleef.org>
4392
4393         * gst/gstutils.h: Reword some documentation.
4394
4395 2007-05-12  David Schleef  <ds@schleef.org>
4396
4397         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4398           do anything with the passed "module" parameter, so remove it.
4399           Allows removal of additional vestigal code.
4400
4401 2007-05-12  David Schleef  <ds@schleef.org>
4402
4403         * gst/gstplugin.c:
4404           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
4405           Switch to using g_stat() because it's more portable.
4406
4407 2007-05-12  David Schleef  <ds@schleef.org>
4408
4409         * gst/gst.c:
4410           Add GST_DISABLE_OPTION_PARSING, in order to disable option
4411           parsing for embedded systems.
4412         * gst/gstelementfactory.c:
4413           Allow gst_element_register() to be called with plugin==NULL.
4414           Did nobody notice that static elements were broken?
4415
4416 2007-05-12  Wim Taymans  <wim@fluendo.com>
4417
4418         * tools/gst-launch.c: (event_loop):
4419         Give more interesting info when buffering starts and stops.
4420         Fix case where buffering starts but we fail to update the buffering flag
4421         because the target state is not PLAYING.
4422
4423 2007-05-12  Wim Taymans  <wim@fluendo.com>
4424
4425         * plugins/elements/gstqueue.c: (gst_queue_init),
4426         (gst_queue_finalize), (update_time_level), (apply_segment),
4427         (apply_buffer), (gst_queue_locked_flush),
4428         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
4429         (gst_queue_handle_sink_event), (gst_queue_chain),
4430         (gst_queue_push_one), (gst_queue_loop):
4431         * plugins/elements/gstqueue.h:
4432         Refactor an cleanup queue a bit.
4433         Do better time level calculations that also work when the srcpad is not
4434         yet running.
4435         Remove some unneeded debug lines.
4436
4437         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
4438         Added testcase for time level measurement.
4439         Try to make some stuff more racefree.
4440
4441 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4442
4443         * gst/gsturi.c: (gst_element_make_from_uri):
4444           Don't leak plugin feature.
4445
4446         * tests/check/Makefile.am:
4447         * tests/check/gst/.cvsignore:
4448         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
4449           Add brain-dead unit test.
4450
4451 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4452
4453         Patch by: Jeroen Wouters <woutersj at gmail com>
4454
4455         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
4456           Treat protocol strings in a case-insensitive way (#437563).
4457
4458 2007-05-11  Michael Smith <msmith@fluendo.com>
4459
4460         * gst/gstplugin.c: (gst_plugin_load_file):
4461         * gst/gstregistry.c: (gst_registry_scan_path_level):
4462           Don't print a g_warning for any failure to load a shared object.
4463           Instead, push this down into gstplugin.c, and warn _only_ if we
4464           failed to open the module (i.e. failure to link).
4465           Avoids warnings on normal, working, non-plugin .so files.
4466
4467 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
4468
4469         * gst/gstplugin.c (gst_plugin_load_file):
4470         * gst/gstregistry.c (GST_CAT_DEFAULT,
4471           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
4472           Print a g_warning if there was an error when loading a plugins during
4473           registry scan. The shuld help beginners starting with gst-plugin
4474           template.
4475
4476 2007-05-10  Wim Taymans  <wim@fluendo.com>
4477
4478         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4479         (update_time_level), (gst_queue_locked_flush),
4480         (gst_queue_handle_sink_event), (gst_queue_chain),
4481         (gst_queue_push_one), (gst_queue_loop):
4482         * plugins/elements/gstqueue.h:
4483         Be smarter when calculating the current amount of data in the queue by
4484         measuring the difference between start and end timestamps (in running
4485         time) inside the queue. Fixes #432876.
4486         API: GstQueue::pushing to notify elements that we are pushing data again
4487         since the running signal is rather broken for this purpose.
4488
4489 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
4490
4491         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
4492           gst_queue_base_init, gst_queue_init):
4493           use GST_BOILERPLATE
4494
4495 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
4496
4497         * win32/common/libgstreamer.def:
4498         Add new exported functions.
4499         * win32/vs6/grammar.dsp:
4500         Use grammar pre-generated files.
4501
4502 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
4505
4506         * gst/Makefile.am:
4507         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
4508         * gst/gstparse.h:
4509         * gst/gstutils.c: (gst_parse_bin_from_description):
4510         * gst/gstutils.h:
4511           Maintain API and ABI when --disable-parse is used. Now that
4512           we have an appropriate error code, we can just return NULL and the
4513           appropriate error when gst_parse_launch() is used despite it having
4514           been disabled (#342564).
4515
4516         * tests/check/Makefile.am:
4517         * tests/check/pipelines/.cvsignore:
4518         * tests/check/pipelines/parse-disabled.c:
4519           Make sure these functions exist and return NULL plus a GError when
4520           --disable-parse is used.
4521
4522 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * tests/benchmarks/complexity.c: (main):
4525         * tests/benchmarks/mass-elements.c: (main):
4526           Set a good example and don't leak messages.
4527
4528 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
4529
4530         * docs/gst/Makefile.am:
4531         * docs/libs/Makefile.am:
4532           Correct fixxrefs options.
4533
4534         * docs/plugins/Makefile.am:
4535         * docs/plugins/gstreamer-plugins-docs.sgml:
4536         * docs/plugins/gstreamer-plugins-sections.txt:
4537         * plugins/elements/Makefile.am:
4538         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
4539         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
4540           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
4541           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
4542           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
4543           _GstCapsFilterClass, trans_class):
4544         * plugins/elements/gstelements.c (name, rank, type, _elements):
4545         * plugins/elements/gstidentity.c
4546           (gst_identity_check_imperfect_timestamp,
4547           gst_identity_check_imperfect_offset):
4548           Document capsfilter and add doc-blurb to identity.
4549
4550 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4551
4552         * libs/gst/controller/gstcontroller.c:
4553         (gst_controlled_property_set_interpolation_mode):
4554         * libs/gst/controller/gstinterpolation.c:
4555           Don't crash if someone tries to set an interpolation mode that
4556           is invalid or that isn't supported yet. Fixes #422295.
4557
4558         * tests/check/libs/controller.c: (GST_START_TEST),
4559         (gst_controller_suite):
4560           Add a test case for the above.
4561
4562 2007-05-03  Edward Hervey  <edward@fluendo.com>
4563
4564         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4565         Properly set the last_stop position on GstSegment. This will only happen
4566         if there is a buffer to push out.
4567
4568 2007-05-03  Wim Taymans  <wim@fluendo.com>
4569
4570         * libs/gst/base/gstbasetransform.c:
4571         (gst_base_transform_buffer_alloc):
4572         always_in_place does not mean that the sink and source caps are the
4573         same! Make sure we don't blindly proxy the buffer_alloc in this case.
4574
4575 2007-05-03  Wim Taymans  <wim@fluendo.com>
4576
4577         * docs/libs/gstreamer-libs-sections.txt:
4578         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4579         (gst_base_src_default_query), (gst_base_src_get_range):
4580         * libs/gst/base/gstbasesrc.h:
4581         API: gst_base_src_query_latency(). Added method so that subclasses can
4582         easily get the latency values of the base source class.
4583
4584 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
4585
4586         * tools/gst-inspect.c (print_implementation_info):
4587         Remove 0.8 cruft.
4588
4589 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
4590
4591         * tools/Makefile.am:
4592         * tools/gst-launch.1.in:
4593           Don't create a customised man page based on the host architecture,
4594           describe the default registry path generically. That way the man
4595           page is the same for all architectures and packagers have one
4596           multilib issue less to deal with. Fixes #434926.
4597
4598 2007-05-02  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/gstpad.c:
4601         Fix documentation as spotted by rg on IRC. 
4602
4603 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
4604
4605         * gst/gstutils.c:
4606           Improve docs for gst_element_{link,unlink}.
4607
4608 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
4609
4610         * docs/design/part-events.txt:
4611         * docs/design/part-overview.txt:
4612         * gst/gstevent.c:
4613         * gst/gsturi.c:
4614         * gst/gsturi.h:
4615         * libs/gst/base/gstbasesink.c:
4616           Typo fixes; minor docs addition.
4617
4618 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4619
4620         * docs/gst/gstreamer-sections.txt:
4621         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
4622         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
4623         * gst/gsturi.h:
4624         API: Add gst_uri_protocol_is_supported(), which checks if a sink
4625         or src that supports a given URI protocol exists.
4626
4627 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4630         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4631         Set the location to NULL if "file://" is set as URI. Otherwise
4632         some random previous URI would still be set if "file://" is
4633         set on an already used filesink/filesrc.
4634
4635 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4636
4637         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4638         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4639         Special case the "file://" URI as as this is used by some
4640         applications to test with gst_element_make_from_uri if there's
4641         an element that supports the URI protocol.
4642         Also move the g_path_is_absolute() check for the location part
4643         of the URI to also check this for "file://localhost/bla" URIs.
4644
4645 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         * docs/gst/gstreamer-sections.txt:
4648         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
4649         * gst/gstbuffer.h:
4650         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4651         (gst_buffer_suite):
4652           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
4653
4654 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
4655
4656         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4657         (gst_registry_binary_load_pad_template),
4658         (gst_registry_binary_load_plugin),
4659         (gst_registry_binary_read_cache):
4660         * gst/gstregistrybinary.h:
4661           Implement no-mmap alternative for registry reading. Do code cleanups.
4662           Add more comments about avoiding strdups for all text data. Comments
4663           welcome.
4664
4665 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4666
4667         * gst/gstregistrybinary.h (GstBinaryPluginElement,
4668           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
4669           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
4670           Comment structs and reformat to fix the build (that stuff should go
4671           into a priv. header).
4672
4673 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4674
4675         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
4676         (gst_registry_binary_load_feature):
4677         * gst/gstregistrybinary.h:
4678           Refactor so that we can implement multiple features. Add support for
4679           TypeFindFactory features.
4680
4681 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
4682
4683         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
4684
4685         * configure.ac:
4686           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
4687
4688 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
4689
4690         * gst/gstbin.c: (gst_bin_element_set_state),
4691         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
4692         (bin_handle_async_done), (gst_bin_handle_message_func):
4693           Fix build with --gst-disable-gst-debug
4694
4695 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
4698           Make sure streaming has finished before calling the ::stop() vfunc,
4699           since that vfunc might clear state which is being used in the
4700           streaming thread. This fixes a race that caused crashes in
4701           audioresample when shutting down a pipeline (#420106).
4702
4703 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4704
4705         * docs/gst/gstreamer-sections.txt:
4706           That was one byte missing.
4707
4708 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4709
4710         * configure.ac:
4711         * docs/gst/gstreamer-sections.txt:
4712         * gst/Makefile.am:
4713         * gst/gstconfig.h.in:
4714         * gst/gstobject.c: (gst_object_class_init),
4715         (gst_signal_object_class_init):
4716         * gst/gstobject.h:
4717           2nd attempt to have a xml-less build as a joined effort of #413123
4718           and #421480.
4719
4720 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4721
4722         * docs/design/draft-tagreading.txt:
4723           Added open issues/thoughts to draft.
4724
4725 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4726
4727         * gst/parse/grammar.tab.pre.c:
4728         * gst/parse/grammar.tab.pre.h:
4729         * gst/parse/lex._gst_parse_yy.pre.c:
4730         Update the prebuild parser sources.
4731
4732 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4733
4734         * gst/parse/Makefile.am:
4735         And now fix the building of the flex sources. Now everything should
4736         work as expected.
4737
4738 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4739
4740         * gst/parse/Makefile.am:
4741         Now hopefully fix the build failures by setting proper rule
4742         dependencies and moving instead of copying.
4743
4744 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4745
4746         * tests/benchmarks/complexity.gnuplot:
4747         * tests/benchmarks/complexity.scm:
4748         * tests/benchmarks/mass-elements.gnuplot:
4749         * tests/benchmarks/mass-elements.scm:
4750           Total licensification.
4751
4752 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4753
4754         * gst/parse/Makefile.am:
4755           Fix the build by correcting the rule that gave wrong files to flex.
4756
4757 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4758
4759         * tests/benchmarks/complexity.c:
4760         * tests/benchmarks/mass-elements.c:
4761           Change licence to LGPL as granted by Benjamin and Andy.
4762
4763 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4764
4765         * gst/parse/Makefile.am:
4766         Add correct grammar.tab.h dependency if compiling without new enough
4767         flex. Fixes #431150.
4768
4769 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4770
4771         * gst/parse/Makefile.am:
4772         Fix typo and use outdated sources if the flex/bison sources are newer
4773         than the pregenerated ones but flex is too old. Print a warning in
4774         that case. This should fix the build on the build bot.
4775
4776 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4777
4778         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
4779         * gst/parse/Makefile.am:
4780         * gst/parse/grammar.y:
4781         * gst/parse/parse.l:
4782         Make the parser reentrant and recursively callable. This requires flex
4783         >= 2.5.31, for older versions pregenerated sources are used as we
4784         can't bump the build dependency. Finally fixes #349180.
4785
4786         * gst/gstparse.c: (gst_parse_launch):
4787         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
4788         now anyway.
4789
4790         * docs/gst/Makefile.am:
4791         * docs/gst/Makefile.am:
4792         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
4793         (__gst_parse_strfree), (__gst_parse_link_new),
4794         (__gst_parse_link_free), (__gst_parse_chain_new),
4795         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
4796         (gst_parse_element_set), (gst_parse_free_link),
4797         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
4798         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
4799         (_gst_parse_launch):
4800         * gst/parse/grammar.tab.pre.h:
4801         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
4802         (yy_get_previous_state), (yy_try_NUL_trans), (input),
4803         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
4804         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
4805         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
4806         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
4807         (_gst_parse_yypop_buffer_state),
4808         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
4809         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
4810         (yy_fatal_error), (_gst_parse_yyget_extra),
4811         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
4812         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
4813         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
4814         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
4815         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
4816         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
4817         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
4818         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
4819         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
4820         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
4821         (_gst_parse_yyfree):
4822         If the installed flex version is too old use pre-generated parser
4823         sources. These pre-generated parser sources are always updated when
4824         the actual flex/bison sources change but require everybody who wants
4825         to change something in the parser to have flex >= 2.5.31 installed.
4826
4827 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
4828
4829         * common/m4/gst-gettext.m4:
4830         * gst/gst-i18n-lib.h:
4831           Make --disable-nls to work
4832
4833 2007-04-17  Wim Taymans  <wim@fluendo.com>
4834
4835         * gst/gstconfig.h.in:
4836         Revert previous change that broke the build.
4837
4838 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
4839
4840         * configure.ac:
4841         * gst/Makefile.am:
4842         * gst/gstconfig.h.in:
4843           Drop libxml2 dependency when building with 
4844           --enable-binary-registry --disable-loadsave
4845
4846 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
4847
4848         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4849         (gst_registry_binary_read_cache):
4850         * gst/gstregistrybinary.h:
4851           Remove unnecessary <sys/mman.h> include which broke the win32 build
4852           with MingW; move includes from header file to .c file, even if the
4853           header file isn't installed; use g_strerror() where UTF-8 strings
4854           are expected, such as in GST_DEBUG messages.
4855
4856 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4857
4858         * docs/libs/gstreamer-libs-sections.txt:
4859         Remove bogus addition for API I didn't end up keeping.
4860
4861         * libs/gst/base/gstbasesrc.h:
4862         Mention Since: 0.10.13 in the documentation.
4863
4864         Add the API keyword to the previous ChangeLog entry.
4865
4866 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4867
4868         * docs/libs/gstreamer-libs-sections.txt:
4869         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4870         (gst_base_src_default_prepare_seek_segment),
4871         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
4872         * libs/gst/base/gstbasesrc.h:
4873         Allow basesrc derived classes to execute seeks in other formats
4874         by providing a prepare_seek_segment vmethod. Sub-classes can choose
4875         to prepare the GstSegment in any format that their perform_seek method
4876         will be able to understand. The default implementation provides the
4877         old behaviour of attempting to convert the seek offsets to the 
4878         configured native format.
4879
4880         API: basesrc::prepare_seek_segment vmethod.
4881
4882 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4883
4884         * gst/gstelement.c: (gst_element_get_state_func):
4885         Don't output the same debug statement twice.
4886
4887         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
4888         (gst_adapter_peek), (gst_adapter_take_buffer):
4889         Optimise the case where we have buffers at the head of the queue that
4890         can be joined quickly (because they're contiguous sub-buffers) by
4891         merging them together rather than copying data out into new memory.
4892
4893         * gst/parse/grammar.y:
4894         * tests/check/pipelines/parse-launch.c:
4895         Fix a leak in an error path for parse_launch, and add a check 
4896         for it to the testsuite.
4897
4898 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4899
4900         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4901           Don't deadlock when releasing a pad - gst_pad_set_active may try
4902           and take the multiqueue lock too.
4903
4904 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4905
4906         * gst/gsterror.c: (_gst_core_errors_init):
4907         * gst/gsterror.h:
4908           API: add GST_CORE_ERROR_DISABLED (#392804).
4909
4910 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * docs/faq/gst-uninstalled:
4913           don't get empty paths on the PATH variables
4914         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
4915           Don't format for the uncommon terminal width of 84 characters.
4916
4917 2007-04-06  Wim Taymans  <wim@fluendo.com>
4918
4919         * gst/gstpipeline.c: (reset_stream_time),
4920         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
4921         Only try to select a different pipeline clock when we went back to
4922         PAUSED and not when we merely got flushed.
4923
4924 2007-04-05  Michael Smith  <msmith@fluendo.com>
4925
4926         * tools/gst-launch.1.in:
4927           fractions are better supported in gstreamer than ractions, so
4928           suggest using those.
4929
4930 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4931
4932         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
4933
4934         * po/LINGUAS:
4935         * po/da.po:
4936           Added Danish translation.
4937
4938 2007-04-05  Wim Taymans  <wim@fluendo.com>
4939
4940         * libs/gst/base/gstbasesink.c:
4941         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
4942         Fix leak caused when refusing newsegment after EOS.
4943
4944         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
4945         (gst_fake_sink_init), (gst_fake_sink_set_property),
4946         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
4947         (gst_fake_sink_render), (gst_fake_sink_change_state):
4948         * plugins/elements/gstfakesink.h:
4949         Add num-buffers property to make the element generate EOS after a
4950         configurable amount of buffers.
4951         API: fakesink::num-buffers property.
4952
4953         * tests/check/elements/fakesink.c: (GST_START_TEST),
4954         (fakesink_suite):
4955         Fix GstBus leak in test.
4956         Test for fakesink num-buffers.
4957
4958 2007-04-05  Wim Taymans  <wim@fluendo.com>
4959
4960         * libs/gst/base/gstbasesink.c:
4961         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4962         (gst_base_sink_change_state):
4963         Don't accept anything after an EOS, return UNEXPECTED instead.
4964
4965         * tests/check/elements/fakesink.c: (GST_START_TEST),
4966         (fakesink_suite):
4967         Unit test for new EOS behaviour.
4968
4969 2007-04-05  Wim Taymans  <wim@fluendo.com>
4970
4971         * gst/gstelement.c: (gst_element_get_request_pad):
4972         Make padtemplates also work when they don't contain %s or %d.
4973
4974 2007-04-05  Wim Taymans  <wim@fluendo.com>
4975
4976         * docs/gst/gstreamer-sections.txt:
4977         * gst/gstclock.c: (gst_clock_adjust_unlocked),
4978         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
4979         * gst/gstclock.h:
4980         Improve _adjust_unlocked() so that it overflows less.
4981         Add gst_clock_unadjust_unlocked to convert from external time to
4982         internal time based on calibration.
4983         Add some more debug.
4984         API: GstClock::gst_clock_unadjust_unlocked()
4985
4986 2007-04-03  Wim Taymans  <wim@fluendo.com>
4987
4988         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4989
4990         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4991         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
4992         when releasing sink pad. Fixes #425400.
4993
4994 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
4995
4996         * docs/random/ensonic/dynlink.txt:
4997           More work on proposal for new core api.
4998
4999         * docs/libs/gstreamer-libs-sections.txt:
5000         * libs/gst/base/gstbasetransform.h:
5001           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5002           
5003         * libs/gst/controller/gstcontroller.c:
5004         (on_object_controlled_property_changed),
5005         (gst_controller_sync_values),
5006         (gst_controller_set_interpolation_mode):
5007         * libs/gst/controller/gstcontroller.h:
5008           Less verbose logging add docs for unimplemented parts and correctly
5009           return when using unavailable parts.
5010
5011 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5012
5013         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5014         Move all the debug to the CLOCK category, and associate it with
5015         the clock object.
5016
5017 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5018
5019         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5020         Make take_buffer a bit quicker by removing redundant checks
5021         caused by calling gst_adapter_take.
5022
5023 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5024
5025         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5026           Don't leak GCond.
5027
5028         * tests/check/Makefile.am:
5029         * tests/check/elements/.cvsignore:
5030         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5031         (GST_START_TEST), (multiqueue_suite):
5032           Add some dead simple unit tests for the 'multiqueue' element
5033           (some bits don't work yet and are disabled for now).
5034
5035 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5036
5037         * gst/gstelement.c: (gst_element_get_request_pad),
5038         (gst_element_class_get_request_pad_template):
5039           Make gst_element_get_request_pad() create request pads only for
5040           request pad templates and not for, say, sometimes pad templates.
5041
5042 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5043
5044         * docs/design/draft-klass.txt:
5045           Add example that needs more thinking.
5046         
5047         * docs/design/draft-missing-plugins.txt:
5048           More thoughts about wrapper plugins.
5049         
5050         * docs/random/ensonic/embedded.txt:
5051         * docs/random/ensonic/profiling.txt:
5052           More design work.
5053
5054 2007-03-25  Wim Taymans  <wim@fluendo.com>
5055
5056         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5057         (gst_base_src_loop):
5058         Only push the segment events in the PLAYING state for live sources.
5059
5060 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5061
5062         * gst/gstpipeline.c: (gst_pipeline_change_state):
5063         Modify the clock distribution path in PAUSED->PLAYING so that we 
5064         never attempt to choose a new clock unless we're actually leaving
5065         the PAUSED state for the first time. This prevents choosing a
5066         different clock when the state_change gets called for a 2nd time due
5067         to some element doing an async state change.
5068
5069 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5070
5071         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5072         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5073         (gst_pad_chain_unchecked), (gst_pad_push):
5074         Revert last commit. This needs some more thoughts.
5075
5076 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5077
5078         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5079         (gst_pad_chain_unchecked), (gst_pad_push):
5080         Check in set_caps if the caps are compatible with the pad and remove
5081         two functions that are redundant now. Fixes #421543.
5082
5083 2007-03-22  Wim Taymans  <wim@fluendo.com>
5084
5085         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5086         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5087         Unref some more to make valgrind happy.
5088
5089 2007-03-22  Wim Taymans  <wim@fluendo.com>
5090
5091         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5092         (gst_system_clock_id_wait_jitter),
5093         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5094         Fix anoying regression that survived a few releases. When adding an
5095         async entry while blocking on a sync entry, the sync entry will unblock
5096         but still be busy, so it should continue to wait instead of returning
5097         _BUSY to the app.
5098         Add some comments here and there.
5099
5100         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5101         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5102         Add testcase for this.
5103
5104 2007-03-22  Wim Taymans  <wim@fluendo.com>
5105
5106         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5107         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5108         WRONG_STATE and can silently pause the task. All other cases should
5109         error out.
5110
5111 2007-03-22  Wim Taymans  <wim@fluendo.com>
5112
5113         Patch by: Ville Syrjala <syrjala at sci dot fi>
5114
5115         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5116         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5117         Improve debugging.
5118
5119 2007-03-21  Michael Smith  <msmith@fluendo.com>
5120
5121         * docs/pwg/advanced-types.xml:
5122           Fix some errors in the typefinding docs pointed out on irc.
5123
5124 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5125
5126         * libs/gst/base/gstbasesrc.c:
5127         Clarify FIXME comment in the face of having added unlock_stop()
5128
5129 2007-03-21  Wim Taymans  <wim@fluendo.com>
5130
5131         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5132         Prepare for release where we warn against possible app breakage in the
5133         case of live pipelines along with an env var to enable/disable live
5134         preroll mode (GST_COMPAT=[no-]live-preroll).
5135
5136 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5137
5138         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5139         So we should use correct constants for checking for None offset.
5140
5141 2007-03-20  Wim Taymans  <wim@fluendo.com>
5142
5143         * docs/design/part-block.txt:
5144         Mention the fact that the newly switched element should be set to at
5145         least PAUSED.
5146
5147 2007-03-20  Wim Taymans  <wim@fluendo.com>
5148
5149         * gst/gst.c:
5150         Fix compilation with registry disabled as spotted by Saur.
5151
5152 2007-03-20  Wim Taymans  <wim@fluendo.com>
5153
5154         Patch by: Olivier Crete <tester at tester dot ca>
5155
5156         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5157         Look at the pending state too when syncing the element state to the
5158         parent. Fixes #420133.
5159
5160 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5161
5162         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5163         (gst_base_sink_change_state):
5164         * libs/gst/base/gstbasesink.h:
5165         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5166         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5167         (gst_base_src_deactivate):
5168         * libs/gst/base/gstbasesrc.h:
5169         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5170         for sub-classes to correctly clear any state they set trying to
5171         unlock, such as clearing out unlock commands from a command fd.
5172         API: basesrc::unlock_stop
5173         API: basesink::unlock_stop
5174
5175         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5176         (gst_fd_sink_render), (gst_fd_sink_unlock),
5177         (gst_fd_sink_unlock_stop):
5178         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5179         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5180         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5181
5182         Implement unlock_stop in fdsrc and fdsink.
5183         Implement seeking in fdsrc when a seekable fd is passed, as in
5184         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5185
5186 2007-03-19  Wim Taymans  <wim@fluendo.com>
5187
5188         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5189
5190         * gst/gstelement.c: (gst_element_class_init):
5191         Fix pad-added and pad-removed signal signatures so that the pad type is
5192         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5193
5194 2007-03-19  Wim Taymans  <wim@fluendo.com>
5195
5196         * docs/gst/gstreamer-sections.txt:
5197         Add new element field and method.
5198
5199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5200         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5201         (gst_bin_recalc_state), (gst_bin_get_state_func),
5202         (gst_bin_element_set_state), (gst_bin_change_state_func),
5203         (gst_bin_continue_func), (bin_bus_handler),
5204         (bin_push_state_continue), (bin_handle_async_start),
5205         (bin_handle_async_done), (gst_bin_handle_message_func):
5206         Make async state changes a bit smarter by using new ASYNC_START and
5207         ASYNC_DONE messages. This reduces the number of times we run the state
5208         recalculation thread.
5209         Don't change state of element with a pending ASYNC_START message.
5210         Deprecate STATE_DIRTY messages.
5211         
5212         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5213         (gst_element_get_state_func), (gst_element_continue_state),
5214         (gst_element_lost_state), (gst_element_set_state_func),
5215         (gst_element_change_state):
5216         * gst/gstelement.h:
5217         Keep the state that was last set by the app in a new element field.
5218         Don't allow state changes when handling an element event.
5219         Post ASYNC_START and ASYNC_DONE messages.
5220         Change lost_state so that we go to PAUSED and wait for the parent to set
5221         us to PLAYING again (so latency calculation can be performed)
5222         Export gst_element_change_state() method so that subclasses can use it.
5223         API: gst_element_change_state()
5224         API: GST_STATE_TARGET
5225
5226         * gst/gstpipeline.c: (gst_pipeline_class_init),
5227         (reset_stream_time), (gst_pipeline_change_state),
5228         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5229         Using the new ASYNC_START message we can reset the base_time when
5230         needed. This can then be used to implement base_time redistribution in
5231         flushing seeks so that we can remove the explicit seek handling.
5232         Perform latency query and configuration when going to PLAYING.
5233
5234         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5235         (gst_base_sink_query), (gst_base_sink_change_state):
5236         Post new ASYNC_START/ASYNC_DONE messages.
5237
5238         * tests/check/generic/sinks.c: (GST_START_TEST):
5239         Fix test because the bin will not set the async element to PLAYING right
5240         away.
5241
5242         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5243         Make the message check a little stronger.
5244         Handle ASYNC messages.
5245
5246         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5247         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5248         Expect ASYNC_DONE messages.
5249
5250 2007-03-19  Wim Taymans  <wim@fluendo.com>
5251
5252         * docs/gst/gstreamer-sections.txt:
5253         * gst/gstmessage.c: (gst_message_new_async_start),
5254         (gst_message_new_async_done), (gst_message_parse_info),
5255         (gst_message_parse_async_start):
5256         * gst/gstmessage.h:
5257         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5258         support.
5259
5260 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5261
5262         * tools/gst-inspect.c:
5263         (print_plugin_automatic_install_info_codecs):
5264           Now that we don't check for the 'Codec' keyword any longer in the
5265           klass, we shouldn't spew a warning if the klass isn't a decoder or
5266           encoder (since it might be a Source/Network, for example).
5267
5268 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5269
5270         * tools/gst-inspect.c:
5271         (print_plugin_automatic_install_info_codecs):
5272           Don't require decoder/demuxer/depayloader elements or
5273           encoder/muxer/paylader elements to have 'Codec' as part of their
5274           factory class string when introspecting a plugin's capabilities.
5275           draft-klass.txt mentions that it might be removed in future, and
5276           flump3dec doesn't have it as part of its class string, so chances
5277           are others might also not have it.
5278
5279 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * po/af.po:
5282         * po/az.po:
5283         * po/bg.po:
5284         * po/ca.po:
5285         * po/cs.po:
5286         * po/de.po:
5287         * po/en_GB.po:
5288         * po/fr.po:
5289         * po/it.po:
5290         * po/nb.po:
5291         * po/nl.po:
5292         * po/ru.po:
5293         * po/sq.po:
5294         * po/sr.po:
5295         * po/sv.po:
5296         * po/tr.po:
5297         * po/uk.po:
5298         * po/vi.po:
5299         * po/zh_CN.po:
5300         * po/zh_TW.po:
5301           Update translations from translation project
5302
5303 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5304
5305         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5306         (gst_child_proxy_set_property):
5307           Invert precondition check to be alike the ones in the mimiced gobject
5308           api.
5309
5310 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5311
5312         * docs/design/draft-tagreading.txt:
5313         * docs/random/ensonic/audiobaseclasses.txt:
5314           Do some Architect work.
5315
5316         * gst/gstobject.c: (gst_object_set_name):
5317           Add a WARNING.
5318
5319         * gst/gstpad.c:
5320           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5321
5322 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5323
5324         * gst/gstsystemclock.c: (gst_system_clock_init),
5325         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5326         Defer starting the async system clock thread until the first async
5327         wait is scheduled. Fixes #414986.
5328
5329 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5330
5331         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5332         (gst_single_queue_free):
5333           Fix small leak (free GstSingleQueue structure too, not only contents).
5334
5335 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5336
5337         * gst/gstbin.c:(gst_bin_add):
5338         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5339         * win32/common/libgstbase.def:
5340         * win32/common/libgstreamer.def:
5341         Add new exported functions.
5342
5343 2007-03-09  Wim Taymans  <wim@fluendo.com>
5344
5345         * docs/plugins/gstreamer-plugins-sections.txt:
5346         Fix GstTee docs.
5347
5348 2007-03-09  Wim Taymans  <wim@fluendo.com>
5349
5350         * docs/gst/gstreamer-sections.txt:
5351         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5352         * gst/gstbuffer.h:
5353         Add metadata copy functions. Fixes #393099.
5354         API: gst_buffer_copy_metadata()
5355
5356         * gst/gstutils.c: (gst_buffer_stamp):
5357         * libs/gst/base/gstbasetransform.c:
5358         (gst_base_transform_prepare_output_buffer):
5359         Use new metadata copy functions.
5360
5361 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5364         (gst_identity_init), (gst_identity_check_perfect),
5365         (gst_identity_check_imperfect_timestamp),
5366         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5367         (gst_identity_set_property), (gst_identity_get_property):
5368         * plugins/elements/gstidentity.h:
5369         Separate out check-imperfect-timestamp and check-imperfect-offset.
5370         Put back check-perfect as it was to keep compatibility.
5371
5372 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5373
5374         * gst/gstelement.c: (gst_element_dispose):
5375         There's no need to warn if VOID_PENDING is not NONE here, as
5376         long as the state is NULL it's ok, and that's checked immediately
5377         above.
5378
5379 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5380
5381         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5382         Fix check for perfect stream to ignore buffers with -1 
5383         offsets/offset ends when checking data contiguity.
5384
5385 2007-03-08  Wim Taymans  <wim@fluendo.com>
5386
5387         * tools/gst-launch.c: (event_loop):
5388         Print INFO messages.
5389
5390 2007-03-08  Wim Taymans  <wim@fluendo.com>
5391
5392         * libs/gst/base/gstbasetransform.c:
5393         (gst_base_transform_sink_eventfunc),
5394         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5395         (gst_base_transform_activate):
5396         * libs/gst/base/gstbasetransform.h:
5397         Add support for dropping buffers with custom GstFlowReturn.
5398         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5399         buffers or dropped buffers.
5400
5401         * docs/libs/gstreamer-libs-sections.txt:
5402         docs for new custom return code.
5403
5404         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5405         Use drop support in base class to implement drop-probability.
5406
5407 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         * gst/gst.c: (load_plugin_func):
5410         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
5411         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5412         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
5413           Remove newlines at end of debug log strings.
5414
5415 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5416
5417         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5418         Only post bus message at max, once per buffer received.
5419
5420 2007-03-07  Wim Taymans  <wim@fluendo.com>
5421
5422         * docs/design/Makefile.am:
5423         * docs/design/part-synchronisation.txt:
5424         Add doc about synchronisation
5425
5426         * docs/design/draft-latency.txt:
5427         * docs/design/part-TODO.txt:
5428         * docs/design/part-clocks.txt:
5429         * docs/design/part-events.txt:
5430         * docs/design/part-gstbus.txt:
5431         * docs/design/part-gstpipeline.txt:
5432         * docs/design/part-live-source.txt:
5433         * docs/design/part-messages.txt:
5434         * docs/design/part-overview.txt:
5435         * docs/design/part-streams.txt:
5436         * docs/design/part-trickmodes.txt:
5437         Documentation updates.
5438
5439 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5440
5441         * gstreamer.doap:
5442         Update the doap file.
5443
5444 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5445
5446         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5447         Rename non-perfect to imperfect for Mike and for the sanctity of the
5448         language.
5449         Also make sure bus message gets emitted for data-incontiguities.
5450
5451 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5452
5453         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
5454         (gst_identity_start):
5455         * plugins/elements/gstidentity.h:
5456         Emit bus message if check-perfect is true and we encounter a
5457         non-perfect stream between 2 consecutive buffers.
5458         Fixes #415394.
5459
5460 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5461
5462         * configure.ac:
5463         Back to CVS
5464
5465 === release 0.10.12 ===
5466
5467 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
5468
5469         * configure.ac:
5470           releasing 0.10.12, "Inevitable Demise"
5471
5472 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
5473
5474         * configure.ac:
5475          Version 0.10.11.2 (0.10.12 pre-release)
5476          Bump libtool versioning.
5477
5478 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
5479
5480         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5481           Log flow-names and not numbers.
5482
5483 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5484
5485         * configure.ac:
5486           Convert to new AG_GST style.
5487
5488 2007-02-28  Wim Taymans  <wim@fluendo.com>
5489
5490         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
5491         Don't unref query twice.
5492
5493 2007-02-28  Wim Taymans  <wim@fluendo.com>
5494
5495         * gst/gstvalue.c: (gst_value_transform_object_string),
5496         (_gst_value_initialize):
5497         Implement GstObject -> string transform so we print object names
5498         when serializing GValues containing GstObjects.
5499
5500 2007-02-28  Wim Taymans  <wim@fluendo.com>
5501
5502         * docs/gst/gstreamer-sections.txt:
5503         Add new stuff to docs.
5504
5505 2007-02-28  Wim Taymans  <wim@fluendo.com>
5506
5507         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5508         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
5509         (gst_base_sink_change_state):
5510         Improve latency query code.
5511         Don't leak latency events.
5512
5513         * tests/check/gst/gstbin.c: (GST_START_TEST):
5514         Improve debugging.
5515
5516 2007-02-28  Wim Taymans  <wim@fluendo.com>
5517
5518         * gst/gstelement.c: (gst_element_message_full),
5519         (gst_element_get_state_func):
5520         * gst/gstelement.h:
5521         Improve docs a little. Added Since: for new macro.
5522
5523         * gst/gstobject.c: (gst_object_sink):
5524         * gst/gstpipeline.c: (gst_pipeline_change_state),
5525         (gst_pipeline_set_new_stream_time):
5526         * gst/gstpipeline.h:
5527         Improve debugging and docs.
5528
5529         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5530         Improve debugging.
5531
5532 2007-02-28  Wim Taymans  <wim@fluendo.com>
5533
5534         * gst/gstelement.c: (gst_element_message_full),
5535         (gst_element_set_locked_state), (gst_element_get_state_func),
5536         (gst_element_change_state):
5537         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
5538         Documentation updates.
5539         Small code cleanups.
5540
5541         * gst/gstmessage.c: (gst_message_new_info),
5542         (gst_message_parse_info):
5543         * gst/gstmessage.h:
5544         API: gst_message_new_info()
5545         API: gst_message_parse_info()
5546         Add INFO message create and parse code.
5547
5548 2007-02-28  Wim Taymans  <wim@fluendo.com>
5549
5550         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
5551         (bin_query_latency_done):
5552         Also report the live parameter of a latency query.
5553
5554 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
5557           Copy the current generic/states example from -base and adapt so
5558           we can use the exact same code everywhere.
5559           Check a STATES_IGNORE_ELEMENTS env var which can be used
5560           to ignore certain element factories for this test, which is
5561           what is being done in -base
5562         * tests/check/Makefile.am:
5563           Mention this environment variable.
5564
5565 2007-02-27  Wim Taymans  <wim@fluendo.com>
5566
5567         * docs/gst/gstreamer-sections.txt:
5568         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
5569         (gst_bus_timed_pop), (gst_bus_pop):
5570         * gst/gstbus.h:
5571         API: gst_bus_timed_pop()
5572         Implement gst_bus_timed_pop() to do a blocking timed wait for a
5573         message to arrive on the bus.
5574
5575         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
5576         (gst_bus_suite):
5577         Two unit tests for new _timed_pop() function.
5578
5579 2007-02-23  Wim Taymans  <wim@fluendo.com>
5580
5581         * gst/gstpipeline.c: (gst_pipeline_change_state),
5582         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
5583         Don't ref a NULL clock in _provide_clock_func().
5584         Don't allow an INVALID delay.
5585         Don't try to calculate base_time with an invalid start_time.
5586         Also distribute and notify a NULL clock when it was selected.
5587
5588         * tools/gst-launch.c: (event_loop):
5589         Don't crash when a NULL clock was selected in the pipeline.
5590
5591 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5592
5593         * docs/design/Makefile.am:
5594         * docs/design/draft-missing-plugins.txt:
5595         * docs/random/draft-missing-plugins.txt:
5596           Some small updates: update plugin system identifier prefix
5597           ('gstreamer.net' to 'gstreamer'), mention our new install
5598           API in libgstbaseutils rather than libgimme-codec, add
5599           reference to the online docs.
5600
5601 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * win32/common/config.h:
5604           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
5605           use moap cl ci to only check in what is mentioned in the ChangeLog.
5606
5607 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5608
5609         * docs/gst/gstreamer-sections.txt:
5610         * gst/gstelement.h:
5611           Fix up documentation to link to the correct GstGError section.
5612           Add GST_ELEMENT_INFO macro since someone else added a Info message.
5613
5614 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * tools/gst-launch.c: (event_loop):
5617           Make sure that we actually show the important message part of a
5618           warning message.
5619           No need to check if the gerror is not NULL to free; first of all
5620           g_free accepts NULL; and second the default error handler would
5621           segfault if gerror was NULL.
5622
5623 2007-02-21  Wim Taymans  <wim@fluendo.com>
5624
5625         * docs/gst/gstreamer-sections.txt:
5626         Removed docs as well.
5627
5628 2007-02-21  Wim Taymans  <wim@fluendo.com>
5629
5630         * gst/gstmessage.c: (gst_message_parse_duration):
5631         * gst/gstmessage.h:
5632         Remove new messages for release.
5633
5634 2007-02-20  Wim Taymans  <wim@fluendo.com>
5635
5636         * docs/design/part-gstghostpad.txt:
5637         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
5638         (gst_ghost_pad_new_full):
5639         Make the ghostpad a parent of the internal pad again for better backward
5640         compatibility. Don't write code that relies on this however.
5641
5642         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5643         (gst_pad_link_check_hierarchy):
5644         Require that parents should be GstElements in the hierarchy check.
5645
5646 2007-02-20  Wim Taymans  <wim@fluendo.com>
5647
5648         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
5649         (gst_bin_change_state_func), (bin_query_min_max_init),
5650         (bin_query_latency_fold), (bin_query_latency_done),
5651         (gst_bin_query):
5652         Improve debug info.
5653         Implement latency query.
5654
5655 2007-02-20  Wim Taymans  <wim@fluendo.com>
5656
5657         * docs/design/part-gstghostpad.txt:
5658         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
5659         (gst_ghost_pad_internal_do_activate_push),
5660         (gst_ghost_pad_internal_do_activate_pull),
5661         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5662         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
5663         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
5664         Do not set the internal pad as a parent anymore so we can avoid
5665         hierarchy linking errors when the ghostpad has no parent yet. This also
5666         fixes failed activation because of unlinked internal pads, which in
5667         turn fixes the impossible case where you have to activate a pad before
5668         you can add it to a running element.
5669         Also fix the docs.
5670
5671         * gst/gstpad.c: (pre_activate), (post_activate),
5672         (gst_pad_set_active), (gst_pad_activate_pull),
5673         (gst_pad_activate_push), (gst_pad_check_pull_range):
5674         Add some more debug info.
5675         Mark activation mode in pre_activate so that we don't try to activate in
5676         endless loops. Fixes #385084.
5677
5678 2007-02-19  Wim Taymans  <wim@fluendo.com>
5679
5680         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5681         (gst_base_transform_check_get_range):
5682         Implement a checkgetrange function instead of relying on the default
5683         core behaviour that assumes we can operate in pull mode if we have a
5684         getrange function. First step at fixing #385084.
5685
5686 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
5687
5688         * gst/gstchildproxy.h:
5689         * libs/gst/base/gstbasesink.h:
5690         * libs/gst/base/gstbasesrc.h:
5691         * libs/gst/base/gstbasetransform.h:
5692         More docs coverage and some ChangeLog surgery (add missing names)
5693
5694 2007-02-15  Wim Taymans  <wim@fluendo.com>
5695
5696         * docs/design/part-TODO.txt:
5697         * docs/design/part-activation.txt:
5698         * docs/design/part-block.txt:
5699         * docs/design/part-buffering.txt:
5700         * docs/design/part-clocks.txt:
5701         * docs/design/part-element-source.txt:
5702         * docs/design/part-events.txt:
5703         * docs/design/part-gstbin.txt:
5704         * docs/design/part-gstbus.txt:
5705         * docs/design/part-gstpipeline.txt:
5706         * docs/design/part-live-source.txt:
5707         * docs/design/part-messages.txt:
5708         * docs/design/part-overview.txt:
5709         * docs/design/part-qos.txt:
5710         * docs/design/part-query.txt:
5711         * docs/design/part-states.txt:
5712         * docs/design/part-trickmodes.txt:
5713         Some doc updates. Start renaming from stream_time to running_time where
5714         it was used wrongly.
5715
5716 2007-02-15  Wim Taymans  <wim@fluendo.com>
5717
5718         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
5719         Answer LATENCY query.
5720
5721 2007-02-15  Wim Taymans  <wim@fluendo.com>
5722
5723         * tests/check/gst/gstevent.c: (event_probe), (test_event),
5724         (GST_START_TEST):
5725         Improve debugging.
5726
5727 2007-02-15  Wim Taymans  <wim@fluendo.com>
5728
5729         * gst/gstpad.c: (gst_pad_get_internal_links_default),
5730         (gst_pad_dispatcher):
5731         Improve debugging of default pad dispatcher and query functions.
5732
5733 2007-02-15  Wim Taymans  <wim@fluendo.com>
5734
5735         * docs/gst/gstreamer-sections.txt:
5736         Remove old unused method.
5737
5738 2007-02-13  Wim Taymans  <wim@fluendo.com>
5739
5740         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5741         Fix check
5742
5743 2007-02-13  Wim Taymans  <wim@fluendo.com>
5744
5745         * docs/design/part-seeking.txt:
5746         Some small update.
5747
5748         * gst/gstsegment.c: (gst_segment_set_seek):
5749         Revert old bogus change that should make seeking work again.
5750
5751 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5752
5753         * docs/random/ensonic/dynlink.txt:
5754         * docs/random/ensonic/interfaces.txt:
5755         * docs/random/ensonic/receipies.txt:
5756           Possible dynamic reconnection api, plus some type fixes the other two
5757           docs.
5758
5759 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
5760
5761         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5762         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5763         Also check for an absolute path following file:// in the filesrc
5764         element. Remove redundant check and call g_path_is_absolute() on the
5765         unescaped location.
5766
5767 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5768
5769         * docs/design/draft-klass.txt:
5770           Add existing category analysis.
5771           
5772         * gst/gstcaps.c:
5773           Fix doc example, framerate is a fraction.
5774
5775 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * configure.ac:
5778         * docs/gst/Makefile.am:
5779         * docs/gst/gstreamer-sections.txt:
5780         * docs/libs/Makefile.am:
5781           Erm, forgot a bunch of --extra-dir.
5782
5783 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * configure.ac:
5786         * docs/gst/Makefile.am:
5787         * docs/libs/Makefile.am:
5788         * docs/plugins/Makefile.am:
5789           Add crossreferences to glib/gobject docs.
5790
5791 2007-02-12  Wim Taymans  <wim@fluendo.com>
5792
5793         * docs/design/draft-latency.txt:
5794         Small update.
5795
5796         * docs/libs/gstreamer-libs-sections.txt:
5797         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5798         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
5799         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
5800         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
5801         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
5802         (gst_base_sink_get_position), (gst_base_sink_query),
5803         (gst_base_sink_change_state):
5804         * libs/gst/base/gstbasesink.h:
5805         API: gst_base_sink_query_latency() to let subclasses query the upstream
5806         latency.
5807         API: gst_base_sink_get_latency() to let subclasses query the configured
5808         latency in the sink.
5809         Implement query and set latency.
5810         Update some docs.
5811         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
5812         don't continue preroll when we are flushing. Fixes #405284.
5813
5814         * tests/check/pipelines/stress.c: (change_state_timeout),
5815         (quit_timeout), (GST_START_TEST), (stress_suite):
5816         Test for #405284.
5817
5818 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         Patch by: René Stadler <mail at renestadler de>
5821
5822         * docs/gst/gstreamer-sections.txt:
5823         * gst/gsttaglist.c: (_gst_tag_initialize):
5824         * gst/gsttaglist.h:
5825           API: add GST_TAG_REFERENCE_LEVEL (#403597).
5826
5827 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
5828
5829         * docs/libs/Makefile.am:
5830           Fix path to core docs.
5831
5832         * gst/gstbin.c: (gst_bin_get_by_interface),
5833         (gst_bin_iterate_all_by_interface):
5834           Refix docs by also renaming 'interface' to 'iface' in implementation.
5835
5836         * docs/gst/gstreamer-sections.txt:
5837         * gst/gstcaps.c:
5838         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
5839         * gst/gstchildproxy.h:
5840         * gst/gstelementfactory.c:
5841         * gst/gstpadtemplate.h:
5842         * libs/gst/controller/gstcontroller.c:
5843         (gst_controlled_property_new):
5844           Document more.
5845
5846 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
5847
5848         * gst/gstbin.h:(gst_bin_get_by_interface),
5849         (gst_bin_iterate_all_by_interface):
5850         Replace interface parameter name by iface as interface is 
5851         a reserved keyword in Visual Studio for C++ projects so it removes
5852         a build error for application developpers using VS.
5853         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
5854         Fix a bug on Windows in uri format check. Now the prefix checked
5855         is file:// and next we check if the path after file:// is absolute.
5856         * win32/common/libgstbase.def:
5857         * win32/common/libgstdataprotocol.def:
5858         * win32/common/libgstgstreamer.def:
5859         Add new exported functions.
5860
5861 2007-02-09  Andy Wingo  <wingo@pobox.com>
5862
5863         * tests/check/pipelines/simple-launch-lines.c
5864         (simple_launch_lines_suite, test_tee): Disable tee test until I
5865         have time to fix it :-(
5866
5867         * tests/check/Makefile.am (noinst_HEADERS): 
5868         * tests/check/libs/libsabi.c: 
5869         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
5870         * tests/check/gst/gstabi.c: 
5871         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
5872
5873         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
5874         tests for push and pull tee behavior.
5875
5876         * plugins/elements/gsttee.h: 
5877         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
5878         mark as deprecated as well as unimplemented. It was a crack idea.
5879         Add support for tee operating in pull mode, off by default.
5880
5881         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
5882         normal-case logs down to LOG, raise errors to WARNING.
5883         (gst_registry_xml_read_cache): Don't log before calling a function
5884         that logs.
5885
5886         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
5887         exit (registry finalize).
5888         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
5889         DEBUG log when we emit signals that people don't even have the
5890         chance to connect to.
5891         (gst_registry_scan_path_level): Less logging in the normal case.
5892
5893 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5894
5895         Patch by: Michal Benes <michal dot benes at itonis dot tv>
5896
5897         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5898         Correctly generate EOS for non-seekable files. We don't have a total
5899         length for them and would get an unexpected end of file if we only
5900         special-cased for regular files. (Fixes: #404569)
5901
5902 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5903
5904         * tests/check/elements/filesrc.c: (GST_START_TEST),
5905         (filesrc_suite):
5906         Add unit test for the GstURIHandler interface in filesrc. This also
5907         tests the newly added file://localhost/foo/bar support.
5908
5909 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5910
5911         * gst/gstelementfactory.h:
5912           The klass string is not a hierarchy. Add reference to the design doc
5913           for more information and common types.
5914
5915 2007-02-02  Wim Taymans  <wim@fluendo.com>
5916
5917         * gst/gstquery.c: (gst_query_new_latency):
5918         Remove old structure field.
5919
5920 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * tools/gst-launch.1.in:
5923           Give example for network streaming (#351998)
5924
5925 2007-02-02  Wim Taymans  <wim@fluendo.com>
5926
5927         * docs/gst/gstreamer-sections.txt:
5928         Add docs for new methods.
5929
5930         * gst/gstevent.c: (gst_event_new_latency),
5931         (gst_event_parse_latency):
5932         * gst/gstevent.h:
5933         Add new LATENCY event to configure latency in a pipeline.
5934         API: gst_event_new_latency
5935         API: gst_event_parse_latency
5936
5937         * gst/gstmessage.c: (gst_message_new_buffering),
5938         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
5939         (gst_message_new_latency), (gst_message_parse_buffering),
5940         (gst_message_parse_lost_preroll):
5941         * gst/gstmessage.h:
5942         Added messages used in draft-latency.
5943         API: gst_message_new_lost_preroll
5944         API: gst_message_parse_lost_preroll
5945         API: gst_message_new_prerolled
5946         API: gst_message_new_latency
5947
5948         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
5949         (gst_query_parse_latency):
5950         * gst/gstquery.h:
5951         Implemented new latency query as in design doc.
5952         API: gst_query_new_latency
5953         API: gst_query_set_latency
5954         API: gst_query_parse_latency
5955
5956 2007-02-02  Wim Taymans  <wim@fluendo.com>
5957
5958         * docs/design/draft-latency.txt:
5959         Slight redesign to allow for dynamic latency adjustments.
5960
5961         * docs/design/part-negotiation.txt:
5962         Fix some typos.
5963
5964 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5965
5966         reviewed by: Wim Taymans <wim@fluendo.com>
5967
5968         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5969         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5970         Allow file://localhost/foo/bar URLs and correctly fail for every other
5971         hostname that one sets. This was gnomevfssrc is linked for those if
5972         installed as it can handle it (#403172)
5973
5974 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5975
5976         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5977
5978         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5979         (unref_data), (gst_collect_pads_add_pad_full):
5980         * libs/gst/base/gstcollectpads.h:
5981         Don't put the previously added destroy notify in the GstCollectData
5982         struct as all it's padding is already used and we don't want to break
5983         ABI. Instead put in the pad's GObject data for now. This should be
5984         cleaned up for 0.11 (#402393).
5985
5986 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5987
5988         reviewed by: Wim Taymans <wim@fluendo.com>
5989
5990         * docs/libs/gstreamer-libs-sections.txt:
5991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5992         (unref_data), (gst_collect_pads_add_pad),
5993         (gst_collect_pads_add_pad_full):
5994         * libs/gst/base/gstcollectpads.h:
5995         API: Add function to specify a destroy notification for custom
5996         GstCollectData when adding new pads in GstCollectPads (#402393).
5997
5998 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
5999
6000         * po/sv.po:
6001           Update Swedish translation (#378255).
6002
6003 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6004
6005         * docs/design/draft-klass.txt:
6006           Fix the previous change, this is a list of categories and not a hierarchy.
6007
6008 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6009
6010         * docs/design/draft-klass.txt:
6011           Add info about how to get a list of used classes.
6012
6013 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6014
6015         * plugins/elements/gsttypefindelement.c:
6016         (gst_type_find_element_chain_do_typefinding),
6017         (gst_type_find_element_change_state):
6018           Don't leak found caps in chain function (no idea why that never
6019           showed up as a leak anywhere).
6020
6021 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6022
6023         * gst/gstplugin.h:
6024           Fix and expand GstPluginDesc API docs.
6025
6026 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6027
6028         * gst/gstcaps.c:
6029         * gst/gstelementfactory.c:
6030         * gst/gstpadtemplate.h:
6031           api doc fixes
6032
6033         * libs/gst/controller/gstcontroller.c:
6034         (gst_controlled_property_new):
6035         * tests/examples/controller/audio-example.c:
6036           comment fixes
6037
6038 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6039
6040         * configure.ac:
6041           comment about refining the xml deps
6042
6043         * docs/manuals.mak:
6044           comments about moving away from jade for docs
6045         
6046         * gst/gst.c:
6047           recommit the ifdefs to use the binary registry
6048         
6049         * gst/gstbin.c: (gst_bin_change_state_func):
6050           this break is obsolete
6051
6052         * gst/gstelementfactory.h:
6053           better GST_ELEMENT_DETAILS docs, add comment about translation
6054
6055         * gst/gstinfo.h:
6056           remove eol slash
6057
6058         * gst/gstobject.c: (gst_signal_object_get_type):
6059           add G_UNLIKELY as usual
6060
6061         * gst/gstpad.c: (gst_pad_event_default):
6062           add fall trhu comment
6063
6064         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6065         (gst_registry_binary_initialize_magic),
6066         (gst_registry_binary_save_string),
6067         (gst_registry_binary_save_pad_template),
6068         (gst_registry_binary_save_feature),
6069         (gst_registry_binary_save_plugin),
6070         (gst_registry_binary_write_cache),
6071         (gst_registry_binary_check_magic),
6072         (gst_registry_binary_load_pad_template),
6073         (gst_registry_binary_load_feature),
6074         (gst_registry_binary_load_plugin),
6075         (gst_registry_binary_read_cache):
6076           comment typo and formatting
6077
6078         * gst/gstutils.c: (gst_element_state_get_name),
6079         (gst_element_state_change_return_get_name):
6080           remove obsolete breaks
6081
6082         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6083           add FIXME 0.11 and remove cpp comment
6084
6085 2007-01-29  Edward Hervey  <edward@fluendo.com>
6086
6087         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6088         Fix print statement in an even more portable way.
6089
6090 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6091
6092         * docs/gst/gstreamer-sections.txt:
6093         * gst/gstutils.h:
6094           API: add GST_ROUND_DOWN_* macros (#401781).
6095
6096 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6097
6098         * docs/gst/gstreamer.types.in:
6099         * gst/gstregistry.c: (gst_registry_class_init):
6100           Document registry signals and make gtk-doc pick them up (#401381).
6101
6102 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         * docs/pwg/building-testapp.xml:
6105           Add some audioconverts and audioresample to the pipeline, and some
6106           more comments and error handling.
6107
6108 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6109
6110         * docs/manual/manual.xml:
6111         * docs/pwg/pwg.xml:
6112           Fix typo (#400987).
6113
6114 2007-01-26  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstcaps.c: (gst_static_caps_get):
6117         Init caps flags too.
6118
6119 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6120
6121         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6122
6123         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6124         If not using mmap'ed files try to seek to the end instead of the
6125         start to determine whether we can seek at all. This fixes the case
6126         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6127         seeks for everything afterwards fail. Fixes #400656
6128
6129 2007-01-25  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6132         Add some refcount debugging.
6133         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6134         in multiple streaming threads.
6135
6136 2007-01-25  Wim Taymans  <wim@fluendo.com>
6137
6138         Patch by: David Schleef <ds at schleef dot org>
6139
6140         * docs/libs/gstreamer-libs-sections.txt:
6141         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6142         * libs/gst/base/gstadapter.h:
6143         API: gst_adapter_copy() that can reduce the amount of memcpy when
6144         getting data from the adapter. Fixes #388201.
6145
6146 2007-01-25  Edward Hervey  <edward@fluendo.com>
6147
6148         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6149         In print statements, "%x" is for guint. Fixes build on macosx.
6150
6151 2007-01-24  Edward Hervey  <edward@fluendo.com>
6152
6153         * plugins/elements/gstmultiqueue.c:
6154         (gst_multi_queue_loop):
6155         Small fix.
6156         (single_queue_overrun_cb), (single_queue_underrun_cb),
6157         (single_queue_check_full), (gst_single_queue_new):
6158         Implement single queue growth system.
6159         This uses the extra-size properties, and will grow single queues by
6160         that much if one goes full whereas there are others empty. This is
6161         called extra-mode in the code.
6162         When a single queue's levels go back below the initial max-size
6163         limits, it is no longer in extra-mode. This is to ensure we don't
6164         consume too much memory.
6165         Fixes #399875
6166
6167 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * gst/gst.c: (gst_init_get_option_group):
6170           Make warning about late g_thread_init() calls a bit more explicit,
6171           so that it's more obvious to application developers what they need
6172           to do if a user files a bug against their application.
6173
6174 2007-01-22  Edward Hervey  <edward@fluendo.com>
6175
6176         * plugins/elements/gstmultiqueue.c:
6177         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6178         Remove previous hack of unsetting the flushing flag for the source pad
6179         instead of activating it. Instead, fix the source pad activate function
6180         so that it no longer depends on having a parent set or not.
6181
6182 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6183
6184         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6185
6186         * docs/manual/basics-bus.xml:
6187           Fix example code, gst_element_unref() doesn't exist any longer.
6188
6189 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6190
6191         Patch by: Mark Nauwelaerts <manauw at skynet be>
6192
6193         * gst/gstpad.c:
6194           Fix two docs typoes (#399094).
6195
6196 2007-01-19  Edward Hervey  <edward@fluendo.com>
6197
6198         * docs/faq/gst-uninstalled:
6199         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6200         depending on libgstbaseutils can work in uninstalled environment.
6201
6202 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6203
6204         * gst/gsttaglist.h:
6205         * gst/gsttagsetter.c:
6206         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6207         statement for new tag.
6208
6209 2007-01-17  Edward Hervey  <edward@fluendo.com>
6210
6211         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6212         When dynamically creating single queues, activate sinkpad before adding
6213         it.
6214         We should be doing the same thing for the source pad, but we can't
6215         since it would call a method which needs the parent to be set in order
6216         to work propertly. Instead of activating the source pad, we just unset
6217         the flushing flag, which is the minimal requirement for adding a pad
6218         to an element in a state greater than READY.
6219
6220 2007-01-17  Edward Hervey  <edward@fluendo.com>
6221
6222         * docs/faq/gst-uninstalled:
6223         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6224         Mac OS X.
6225
6226 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6227
6228         * tests/check/gst/gstabi.c:
6229         * tests/check/gst/struct_hppa.h:
6230         * tests/check/libs/libsabi.c:
6231         * tests/check/libs/struct_hppa.h:
6232           Add ABI structs for HPPA (see #393796).
6233
6234 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6237           Actually write ABI structs to the file specified in the GST_ABI
6238           environment variable, as the message we print claims we would.
6239
6240 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6241
6242         * tests/check/gst/gsttask.c:
6243           Fix header comment.
6244
6245 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6246
6247         * gst/gsttaglist.c: (_gst_tag_initialize):
6248           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6249           previous two entries.
6250
6251 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6252
6253         * docs/gst/gstreamer-sections.txt:
6254         * gst/gsttaglist.c: (_gst_tag_initialize):
6255         * gst/gsttaglist.h:
6256           Add tag support for beat-per-minute.
6257
6258 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6259
6260         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6261         (gst_registry_binary_initialize_magic),
6262         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6263         (gst_registry_binary_save_pad_template),
6264         (gst_registry_binary_save_feature),
6265         (gst_registry_binary_save_plugin),
6266         (gst_registry_binary_write_cache),
6267         (gst_registry_binary_check_magic),
6268         (gst_registry_binary_load_pad_template),
6269         (gst_registry_binary_load_feature),
6270         (gst_registry_binary_load_plugin),
6271         (gst_registry_binary_read_cache):
6272         * gst/gstregistrybinary.h:
6273           Use glib types, cleanup comments, impement interfaces and uri-types.
6274
6275 2007-01-13  Andy Wingo  <wingo@pobox.com>
6276
6277         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6278         getrange() to return buffers with other caps, while we fix
6279         demuxers and typefind, or otherwise change part-negotiation.txt.
6280
6281 2007-01-12  Andy Wingo  <wingo@pobox.com>
6282
6283         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6284         Factor start/stop into this private function instead of partially
6285         in activate functions and partially in the change_state function.
6286         Fixes setup before the element has changed from READY->PAUSED, as
6287         is the case in pull-mode pipelines.
6288         (gst_base_transform_sink_activate_push)
6289         (gst_base_transform_src_activate_pull): Refactor to use
6290         gst_base_transform_activate().
6291         (gst_base_transform_change_state): Removed, not needed any more.
6292
6293         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6294         Truncate before fixating.
6295         
6296         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6297         Don't set_caps() if the result of fixating is ANY, as it's not
6298         supported, and not necessary in the case of a link with no
6299         template caps on either side. Fixes tests/check/libs/basesrc in
6300         some pull-mode tests.
6301
6302         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6303         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6304         (gst_base_transform_src_activate_pull): 
6305         Track the activation mode.
6306         (gst_base_transform_setcaps): In pull mode, when activating the
6307         src pad, after activating the sink pad, activate the sink pad's
6308         peer, as discussed in part-negotiation.txt.
6309
6310         * libs/gst/base/gstbasesrc.h: 
6311         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6312         vmethod, as in basesink.
6313
6314         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6315
6316         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6317         mode, first proxy the setcaps to the peer pad.
6318         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6319         new fixate vmethod.
6320         (gst_base_sink_default_activate_pull): Rename from
6321         gst_base_sink_activate_pull.
6322         (gst_base_sink_negotiate_pull): New function, performs negotiation
6323         in pull mode before calling ::activate_pull().
6324         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6325         vmethod instead of the default implementation. I have no idea how
6326         this worked before. Negotiate before calling activate_pull.
6327
6328         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6329         sink pads in pull mode. In addition to being correct, fixes
6330         filesrc ! decodebin ! identity ! fakesink.
6331         (gst_pad_get_range, gst_pad_pull_range): Don't call
6332         gst_pad_set_caps() if the caps changes; instead error out with
6333         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6334
6335 2007-01-12  Andy Wingo  <wingo@pobox.com>
6336
6337         * docs/design/part-negotiation.txt: Update with more policy.
6338
6339 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6340
6341         * libs/gst/check/gstbufferstraw.h:
6342         * libs/gst/check/gstcheck.h:
6343           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6344           belongs.
6345
6346 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6347
6348         * tests/check/Makefile.am:
6349         * tests/check/gst/.cvsignore:
6350         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6351         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6352         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6353         (GST_START_TEST), (gst_tag_setter_suite):
6354           Add minimal unit test for beforementioned GstTagSetter bug.
6355
6356 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6357
6358         Patch by: René Stadler <mail at renestadler dot de>
6359
6360         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6361           gst_tag_list_merge() returns a new list, so it's not the best idea
6362           to ingore its return value. Effectively meant that tags could only
6363           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6364           Also add function guard to require a non-NULL taglist as input (has
6365           always been so due to gst_tag_list_copy(), just making it explicit).
6366
6367 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6368
6369         * docs/random/draft-missing-plugins.txt:
6370           Some additions: mention new API that is supposed to be used at the
6371           various stages; short blob about new gst-inspect introspection
6372           option; mention potential future problem with plugins that have
6373           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6374
6375 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * tools/gst-inspect.c:
6378         (print_plugin_automatic_install_info_codecs),
6379         (print_plugin_automatic_install_info_protocols),
6380         (print_plugin_automatic_install_info), (main):
6381         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6382         introspect plugin files and get machine-parsable output that corresponds
6383         to the last bit of the missing-plugin installer string (small gotcha:
6384         doesn't take into account ranks).
6385
6386 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6387
6388         * configure.ac:
6389         * docs/gst/gstreamer-sections.txt:
6390         * gst/Makefile.am:
6391         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6392         (gst_registry_lookup_locked):
6393         * gst/gstregistry.h:
6394         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6395         (gst_registry_binary_initialize_magic),
6396         (gst_registry_binary_save_string),
6397         (gst_registry_binary_save_pad_template),
6398         (gst_registry_binary_save_feature),
6399         (gst_registry_binary_save_plugin),
6400         (gst_registry_binary_write_cache),
6401         (gst_registry_binary_check_magic),
6402         (gst_registry_binary_load_pad_template),
6403         (gst_registry_binary_load_feature),
6404         (gst_registry_binary_load_plugin),
6405         (gst_registry_binary_read_cache):
6406         * gst/gstregistrybinary.h:
6407         * gst/gstregistryxml.c: (load_feature),
6408         (gst_registry_xml_read_cache):
6409           commit binary registry (disabled by default, see #359653)
6410
6411 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6412
6413         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
6414           Fix 'make check' too.
6415
6416 2007-01-10  Andy Wingo  <wingo@pobox.com>
6417
6418         * docs/design/part-negotiation.txt: Fix a typo, add a couple
6419         notes.
6420         
6421         * docs/design/part-negotiation.txt: Update with, um, one way that
6422         pull-mode negotiation might work?
6423
6424         * gst/gstpad.h: 
6425         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
6426         that the pad must be a src pad; makes sense to call it the other
6427         way in pull mode, and the logic is symmetric anyway.
6428
6429 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
6430
6431         * plugins/elements/gstfilesink.c:
6432           Include <stdio.h> for fseeko().
6433
6434 2007-01-10  Wim Taymans  <wim@fluendo.com>
6435
6436         * gst/gstevent.c:
6437         * gst/gstevent.h:
6438         Reserve LATENCY event.
6439
6440 2007-01-09  Wim Taymans  <wim@fluendo.com>
6441
6442         * docs/design/draft-latency.txt:
6443         Updates.
6444
6445 2007-01-09  Wim Taymans  <wim@fluendo.com>
6446
6447         * docs/design/draft-latency.txt:
6448         Updates.
6449
6450         * gst/gstelement.h:
6451         * gst/gststructure.c:
6452         * gst/gsttrace.c:
6453         Small typo fixes.
6454
6455 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6456
6457         * tests/check/.cvsignore:
6458           Ignore test-registry.xml as well.
6459
6460 2007-01-09  Wim Taymans  <wim@fluendo.com>
6461
6462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6463         unref data at the end when we are done with the pad.
6464
6465 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6466
6467         * docs/gst/gstreamer-sections.txt:
6468         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
6469         (init_post), (gst_deinit), (gst_update_registry):
6470         * gst/gst.h:
6471           API: add gst_update_registry() (#391296).
6472
6473         * tests/check/Makefile.am:
6474         * tests/check/gst/gstregistry.c:
6475         * tests/check/gst/.cvsignore:
6476           Simple unit test for the above.
6477
6478 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6479
6480         * gst/gstregistry.c: (gst_registry_scan_path_level):
6481           Plugin extension on HP-UX is .sl, add that to the list of approved
6482           plugin extensions (see #393796).
6483
6484         * tests/check/gst/gstpad.c: (GST_START_TEST):
6485           ulong => gulong. Fixes compilation with HP-UX compiler.
6486
6487         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6488           Fix compilation if valgrind headers are not available.
6489
6490 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
6491
6492         * win32/common/libgstreamer.def: 
6493           Add new exported function.
6494         * win32/vs6/libgstbase.dsp: 
6495           Add gstdataqueue.c to the build.
6496         * win32/vs6/libgstcoreelements.dsp:
6497           Add gstmultiqueue.c to the build.
6498         
6499 2007-01-06  Andy Wingo  <wingo@pobox.com>
6500
6501         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
6502         activate_pull(), providing for a way to specialize the process of
6503         spawning a thread to pull on the sink pad. There is a default
6504         implementation.
6505
6506         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
6507         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
6508         (gst_base_sink_init): Renamed pad activation functions (inserting
6509         "_pad" in their names). Refactor to use the new activate_pull
6510         vmethod, as appropriate.
6511         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
6512         default activate_pull function to start a task pulling from the
6513         sink pad, as before.
6514
6515         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
6516         on the pads if necessary, as in push()/chain(). Update docs.
6517         Shouldn't affect existing pull() usage as it is currently only
6518         being used on buffers without caps.
6519
6520 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6521
6522         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6523         (init_pre):
6524           Call g_thread_init() first thing in gst_init() / gst_check_init().
6525           When initialisation is done via gst_init_get_option_group() and
6526           GOption parsing, issue a warning if the GLib thread system has not
6527           been initialised yet by the time gst_init_get_option_group() is
6528           called, as it's quite likely other GLib functions such as
6529           g_option_context_new() have been called already then, and
6530           g_thread_init() must be called before any other GLib function. The
6531           application in question must be fixed in that case, since memory
6532           corruption might happen otherwise.
6533           We issue the warning because even if the GLib folks decide to work
6534           around the problem on their end in future, this is still an issue
6535           with all GLib versions >= 2.10.0, so we should warn until we depend
6536           on a GLib version we know to be safe.
6537           Update documentation as well.
6538           Closes bug #391278.
6539
6540 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6541
6542         * tools/gst-inspect.c: (main):
6543         * tools/gst-launch.c: (main):
6544         * tools/gst-typefind.c: (main):
6545         * tools/gst-xmlinspect.c: (main):
6546           Call g_thread_init() really really early, before any other GLib
6547           function (see #342564 and recent discussion on gtk-devel-list).
6548
6549 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6550
6551         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
6552
6553         * gst/gst_private.h:
6554         * gst/gstconfig.h.in:
6555         * gst/gstinfo.h:
6556           On win32, all the __declspec stuff for symbol exporting is
6557           apparently only needed with MSVC, but doesn't work with MingW.
6558           Fixes compilation with MingW and #391909.
6559
6560 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
6563           Change some GST_ERROR_OBJECT that aren't really errors to
6564           GST_WARNING_OBJECT in order to reduce terminal spam.
6565
6566 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6567
6568         * tests/check/Makefile.am:
6569           disable test again, as there seem to be still race problems
6570
6571 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6572
6573         * tests/check/Makefile.am:
6574         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6575         (GST_START_TEST), (queue_suite):
6576           enable queue test again, add tests for the leaky behaviour
6577
6578 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * configure.ac:
6581         * tests/examples/Makefile.am:
6582           Compile adapter test/example only if the required headers are
6583           available (fixes #391915).
6584
6585 2007-01-01  David Schleef  <ds@schleef.org>
6586
6587         * gst/gstplugin.c:
6588           Restore the previous signal handler for SIGSEGV instead of
6589           setting to default, since we may have stolen it away from
6590           someone.  (i.e., Mono)
6591
6592 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6593
6594         * docs/random/draft-missing-plugins.txt:
6595           Some small additions and clarifications.
6596
6597 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6598
6599         * gst/gstregistryxml.c: (gst_registry_save_escaped):
6600           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
6601           since that can lead to random memory corruptions and crashes
6602           (may or may not be related to #383244, #386711, and #386711).
6603
6604 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6605
6606         * tests/check/.cvsignore:
6607         * tests/check/Makefile.am:
6608           sync .cvsignome and CLEANFILES
6609
6610 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6611
6612         * tests/check/Makefile.am:
6613           fix distcheck
6614
6615 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6616
6617         * docs/design/part-states.txt:
6618           two tiny additional comments
6619         
6620         * gst/gststructure.c:
6621           doc fixing
6622
6623         * tests/check/Makefile.am:
6624         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6625         (GST_START_TEST):
6626           disable test for now, unless it gets fixed
6627
6628 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6629
6630         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6631         (GST_START_TEST):
6632           fix race in underrun test
6633
6634 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6635
6636         * tests/check/elements/.cvsignore:
6637           ignore more
6638
6639         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6640         (GST_START_TEST):
6641           try to narrow test failure
6642
6643 2006-12-21  David Schleef  <ds@schleef.org>
6644
6645         * plugins/elements/gstfakesrc.c:
6646           Use g_random_int_range(), since it produces better random
6647           numbers in a range than almost-correct floating point code.
6648
6649 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6650
6651         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6652         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6653         (gst_check_teardown_sink_pad):
6654           do not automatically (de)activate pads
6655
6656         * tests/check/Makefile.am:
6657         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6658         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
6659           add new, yet simple tests for queue
6660
6661         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
6662         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
6663         * tests/check/elements/filesrc.c: (cleanup_filesrc),
6664         (GST_START_TEST):
6665         * tests/check/elements/identity.c: (cleanup_identity):
6666           consistent pad (de)activation
6667
6668 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
6669
6670         Patch by: Sebastian Dröge  <slomo ubuntu com>
6671
6672         * libs/gst/base/gstcollectpads.c:
6673           Fix two doc typos (#387866).
6674
6675 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6676
6677         * docs/manual/advanced-dparams.xml:
6678           Fix typo (g_object_control_properties() doesn't exist).
6679
6680 2006-12-19  Edward Hervey  <edward@fluendo.com>
6681
6682         * gst/gstsegment.c: (gst_segment_set_seek):
6683         Fine tune the cases where the segment start/stop values are really
6684         updated.
6685         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6686         Add tests for the return values of gst_segment_set_seek().
6687
6688 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6689
6690         * gst/gst.c:
6691           Docs typo fix.
6692
6693         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6694         (gst_queue_init):
6695           Fix incorrect documentation and flesh it out a bit more.
6696           Set default values for the max properties on the GParamSpec as well,
6697           so it shows up correctly in gst-inspect.
6698
6699 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
6700
6701         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6702           Correct docs of queue, add more detail and crosslink it more.
6703
6704 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6705
6706         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6707           Print additional debug info when the stream isn't perfectly
6708           timestamped; don't try to use invalid durations.
6709
6710 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6711
6712         * docs/design/Makefile.am:
6713           Dist new design docs.
6714
6715 2006-12-16  Wim Taymans  <wim@fluendo.com>
6716
6717         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6718
6719         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
6720         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6721         (gst_collect_pads_stop), (gst_collect_pads_event),
6722         (gst_collect_pads_chain):
6723         * libs/gst/base/gstcollectpads.h:
6724         Add refcounting to the collectpads data so we can track when it's safe
6725         to free the data. Fixes #383382.
6726
6727 2006-12-15  Wim Taymans  <wim@fluendo.com>
6728
6729         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6730         (gst_collect_pads_remove_pad):
6731         Automatically activate/deactivate pads when they are added to a
6732         started/stoped collectpads.
6733
6734 2006-12-15  Wim Taymans  <wim@fluendo.com>
6735
6736         * gst/gstelement.c: (gst_element_add_pad):
6737         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6738         * gst/gstpad.c: (gst_pad_init):
6739         Set pads to FLUSHING when they are created. Check, warn and fix when a
6740         demuxer adds an inactive pad to itself when running. Fixes #339326.
6741
6742 2006-12-15  Wim Taymans  <wim@fluendo.com>
6743
6744         * gst/gstelement.c: (gst_element_class_init),
6745         (gst_element_default_send_event), (gst_element_send_event),
6746         (gst_element_default_query), (gst_element_query):
6747         Expose default element send_event and query handling as vmethods that
6748         subclasses can chain up to.
6749
6750 2006-12-15  Wim Taymans  <wim@fluendo.com>
6751
6752         * gst/gstelement.c: (gst_element_set_state_func):
6753         Small documentation fixes.
6754
6755 2006-12-15  Wim Taymans  <wim@fluendo.com>
6756
6757         * docs/design/draft-latency.txt:
6758         Checked in draft for handling latency in pipelines.
6759
6760 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * Makefile.am:
6763         * gstreamer.doap:
6764         * gstreamer.spec.in:
6765           adding .doap file
6766
6767 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
6768
6769         * gst/gst.c: (init_pre), (init_post):
6770           init_pre() and init_post() might be called via our GOptionGroup or
6771           from gst_init(), and we should skip both of them if we've already
6772           been initialised, otherwise we will init some things twice or add
6773           two default log functions.
6774
6775 2006-12-13  Edward Hervey  <edward@fluendo.com>
6776
6777         * docs/manual/basics-bus.xml:
6778         No, gst_main_loop does not exist. Its g_main_loop.
6779         Discovered by somebody who abused the copy-paste technique of coding :)
6780
6781 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
6782
6783         * gst/gstghostpad.c:
6784           Log ghostpad debug stuff to the GST_PADS category as well rather
6785           than just to the default category.
6786
6787 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6788
6789         * configure.ac:
6790         * gst/gst.c: (init_pre):
6791           Add some basic system details such as OS and architecture
6792           to the debug output if possible, courtesy of uname().
6793
6794 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6795
6796         * docs/gst/running.xml:
6797           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
6798           environment variables.
6799
6800 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6801
6802         * tests/check/gst/gstbin.c: (GST_START_TEST):
6803         It is acceptable to have a refcount of 2 or 3 at this point in the
6804         test, because the pipeline might be just posting its state_change
6805         message. The next line then waits for that message to appear using
6806         bus_poll, so that should be fine too.
6807
6808 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6809
6810         * gst/gst.c: (ensure_current_registry_forking):
6811         Ignore EINTR when reading from the child registry pipe.
6812         Explicitly ignore the return value from close, since it makes no
6813         difference.
6814
6815         * gst/gstminiobject.c: (gst_mini_object_ref),
6816         (gst_mini_object_unref):
6817         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
6818
6819         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
6820         When removing cached plugins, remove their features too, so they're
6821         not visible after they've disappeared.
6822
6823         * gst/gstutils.c: (prepare_link_maybe_ghosting):
6824         In the unlikely case that we are linking pads with no parents, don't
6825         crash trying to get the non-existent parent bin.
6826
6827         * gst/parse/grammar.y:
6828         Output debug in the PIPELINE category
6829
6830 2005-03-08  Wim Taymans  <wim@fluendo.com>
6831
6832         Patch by: René Stadler <mail at renestadler dot de>
6833
6834         * gst/gstclock.c: (gst_clock_new_periodic_id):
6835         Reject invalid clock times for interval of periodic ids.
6836         Fixes ##383506.
6837
6838 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6839
6840         * gst/gstelementfactory.c: (gst_element_factory_create):
6841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6842         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6843         * tools/gst-inspect.c: (print_element_info):
6844         Fix refcounting of gst_plugin_feature_load to match the docs. 
6845         Fixes: #380129
6846
6847 2006-12-07  Wim Taymans  <wim@fluendo.com>
6848
6849         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6850         (gst_base_sink_get_position):
6851         Improve debugging of events.
6852
6853 2006-12-07  Wim Taymans  <wim@fluendo.com>
6854
6855         Patch by: René Stadler <mail at renestadler dot de>
6856
6857         * gst/gstclock.c: (gst_clock_id_wait):
6858         Make period ids add the interval to the origial requested time instead
6859         of the possibly updated time which can be wrong when there are multiple
6860         waiters for the same id. Fixes #382592.
6861
6862         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
6863         (gst_system_clock_id_wait_jitter_unlocked),
6864         (gst_system_clock_id_wait_jitter):
6865         Fix restart in the async notify thread when an async entry is added to
6866         the front of the list. Fixes #381492. 
6867
6868         * tests/check/gst/gstsystemclock.c: (store_callback),
6869         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
6870         Added test for multiple async waits.
6871         Added test for async wait order.
6872
6873 2006-12-07  Wim Taymans  <wim@fluendo.com>
6874
6875         * gst/gstbin.c: (gst_bin_query):
6876         Add some more docs about the POSITION query.
6877
6878 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6879
6880         * configure.ac:
6881         Bump version nano - back to CVS.
6882
6883 === release 0.10.11 ===
6884
6885 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
6886
6887         * configure.ac:
6888           releasing 0.10.11, "Love never runs on time"
6889
6890 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
6891
6892         * win32/common/libgstbase.def:
6893         * win32/common/libgstreamer.def:
6894         * win32/vs8/libgstbase.vcproj:
6895         * win32/vs8/libgstcoreelements.vcproj:
6896         * win32/vs8/libgstreamer.vcproj:
6897         Fix compilation on win32 under VS8
6898         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6899         Partially fixes #381175
6900
6901 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6902
6903         * gst/gstvalue.c: (gst_value_compare_fraction):
6904         If someone is foolish enough to compare 2 fractions with denominator =
6905         0, return UNORDERED rather than aborting.
6906
6907 2006-11-28  Edward Hervey  <edward@fluendo.com>
6908
6909         * libs/gst/base/Makefile.am:
6910         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
6911         (gst_data_queue_base_init), (gst_data_queue_class_init),
6912         (gst_data_queue_init), (gst_data_queue_new),
6913         (gst_data_queue_cleanup), (gst_data_queue_finalize),
6914         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
6915         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
6916         (gst_data_queue_is_empty), (gst_data_queue_is_full),
6917         (gst_data_queue_set_flushing), (gst_data_queue_push),
6918         (gst_data_queue_pop), (gst_data_queue_drop_head),
6919         (gst_data_queue_set_property), (gst_data_queue_get_property):
6920         * libs/gst/base/gstdataqueue.h:
6921         New GstDataQueue object for threadsafe queueing. Most useful for
6922         elements that need some queueing functionnality.
6923         * docs/libs/gstreamer-libs-docs.sgml:
6924         * docs/libs/gstreamer-libs-sections.txt:
6925         Insert documentation for GstDataQueue
6926         * plugins/elements/Makefile.am:
6927         * plugins/elements/gstelements.c:
6928         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
6929         (gst_multi_queue_class_init), (gst_multi_queue_init),
6930         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6931         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
6932         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
6933         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6934         (gst_multi_queue_loop), (gst_multi_queue_chain),
6935         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6936         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
6937         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
6938         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
6939         (wake_up_next_non_linked), (compute_next_non_linked),
6940         (single_queue_overrun_cb), (single_queue_underrun_cb),
6941         (single_queue_check_full), (gst_single_queue_new):
6942         * plugins/elements/gstmultiqueue.h:
6943         New multiqueue element, using GstDataQueue. Used for queuing multiple
6944         streams.
6945         Closes #344639 and #347785
6946
6947 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
6948
6949         * docs/pwg/advanced-types.xml:
6950           add more missing type details
6951
6952         * tools/gst-run.c: (main):
6953           remove unused variable
6954
6955 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
6956
6957         * docs/libs/Makefile.am:
6958         * docs/libs/gstreamer-libs.types:
6959           add types of base classes to enable gobject specific stuff in the docs
6960
6961         * docs/random/ensonic/embedded.txt:
6962           more ideas about isolating platform specific things
6963
6964 2006-11-20  Wim Taymans  <wim@fluendo.com>
6965
6966         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
6967
6968         * libs/gst/check/gstcheck.h:
6969         Fix compilation and running against 0.9.4. Fixes #377332.
6970
6971 2006-11-20  Wim Taymans  <wim@fluendo.com>
6972
6973         * gst/gstsegment.c: (gst_segment_set_seek),
6974         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6975         (gst_segment_to_running_time):
6976         Fix boundary checking in to_running_time() and to_stream_time().
6977         Fixes #377183.
6978
6979         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6980         stream and running time can now be calculated for the complete
6981         clipped segment.
6982
6983 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
6984
6985         * gst/gstpad.c: (gst_pad_push_event):
6986           Can't access event structure after giving away ownership of
6987           the event.
6988
6989 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * docs/random/ensonic/embedded.txt:
6992         * docs/random/ensonic/profiling.txt:
6993         * docs/random/ensonic/receipies.txt:
6994           more thinking
6995
6996 2006-11-13  Wim Taymans  <wim@fluendo.com>
6997
6998         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6999
7000         * gst/gstpad.c:
7001         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7002
7003 2006-11-13  Wim Taymans  <wim@fluendo.com>
7004
7005         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7006
7007         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7008         Store new length in segment duration so we don't keep on calling the
7009         potentially expensize get_size() call. Fixes #370865.
7010
7011 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7012
7013         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7014
7015         * win32/common/libgstreamer.def:
7016           Add two missing symbols (#366492).
7017
7018 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7019
7020         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7021         (gst_adapter_take_buffer):
7022         Fix format string to use all its arguments.
7023         Remove useless >= check on a guint
7024
7025 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7026
7027         * tests/examples/adapter/.cvsignore:
7028         Ignore build file as commanded by the build-bot
7029
7030 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7031
7032         * tests/examples/adapter/Makefile.am:
7033         * tests/examples/adapter/adapter_test.c: (run_test_take),
7034         (run_test_take_buffer), (run_tests), (main):
7035
7036         Add new files from the previous commit
7037
7038 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7039
7040         * Makefile.am:
7041         * configure.ac:
7042         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7043         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7044         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7045         * libs/gst/base/gstadapter.h:
7046         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7047         (GST_START_TEST), (gst_adapter_suite):
7048         * tests/examples/Makefile.am:
7049         Do some optimisation work in GstAdapter to avoid copies in more cases.
7050         It could still do slightly better by merging buffers when
7051         gst_buffer_is_span_fast is true, but is already faster. 
7052
7053         Also, avoid traversing a single-linked list to append each incoming 
7054         buffer inside the adapter.
7055
7056         Add simple test app that times the adapter behaviour in different
7057         situations, and extend the unit test to check that bytes enter and
7058         exit the adapter in their original order.
7059
7060 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7061
7062         * docs/random/draft-missing-plugins.txt:
7063           Update: use element message instead of adding a new message
7064           type to the core; don't provide GStreamer API to initiate the
7065           plugin download, just provide API to compose the strings needed
7066           and let an external libgimmestuff handle the rest.
7067
7068 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7069
7070         * tools/gst-inspect.c: (print_element_properties_info):
7071         Print a string instead of 'unknown type' for GValueArray properties
7072
7073 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7074
7075         * docs/random/draft-missing-plugins.txt:
7076         More small fixes.
7077
7078 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7079
7080         * tests/examples/typefind/typefind.c: (type_found), (main):
7081           Make typefind element example work again (#371894); add a
7082           license header.
7083
7084 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7085
7086         * docs/random/draft-missing-plugins.txt:
7087           Commit initial draft about how to deal with missing plugins,
7088           needs work (API too).
7089
7090 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7091
7092         * docs/pwg/advanced-types.xml:
7093           documents the new caps elements (see #363118)
7094
7095 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * gst/gstplugin.c: (gst_plugin_load_file):
7098         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7099         (gst_file_src_map_region), (gst_file_src_start):
7100         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7101         (gst_file_index_commit):
7102           Use g_strerror() instead of strerror() - we want UTF-8.
7103
7104 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7105
7106         Patch by: Peter Kjellerstedt <pkj at axis com>
7107
7108         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7109           Another printf fix (#371493).
7110
7111 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7112
7113         * tests/check/gst/gsttag.c:
7114           relicence (okay with author=company)
7115
7116 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7117
7118         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7119         (gst_pad_push_event):
7120           Enhance debug and improve docs
7121         
7122         * gst/gsturi.c:
7123           Fix docs
7124
7125 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7126
7127         * docs/random/ensonic/distributed.txt:
7128         * docs/random/ensonic/profiling.txt:
7129           more ideas
7130
7131 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7132
7133         * docs/gst/gstreamer-sections.txt:
7134           add new API and fix the build
7135           
7136         * gst/gstbin.c: (gst_bin_recalc_state):
7137         * gst/gstelement.c: (gst_element_message_full),
7138         (gst_element_get_state_func), (gst_element_set_state_func):
7139           use new API and improve logging
7140         
7141         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7142         * gst/gstutils.h:
7143           API: add function to get StateChangereturn names to improve logs 
7144
7145 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7146
7147         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7148           I'm considering shooting the next person to put strerror stuff
7149           in the translateable part of the message.
7150
7151 2006-11-03  Wim Taymans  <wim@fluendo.com>
7152
7153         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7154         Get the type and printf conversion specifiers right.
7155
7156 2006-11-03  Wim Taymans  <wim@fluendo.com>
7157
7158         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7159
7160         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7161         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7162         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7163         Some small cleanups. Improve debugging.
7164         * gst/gstpad.h:
7165         Signal all waiting threads with a broadcast instead of just one.
7166         Fixes #369942.
7167
7168 2006-11-03  Wim Taymans  <wim@fluendo.com>
7169
7170         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7171         (gst_fd_src_create):
7172         Add some debugging. 
7173         Only update fd when it's different from the old.
7174
7175 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7176
7177         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7178           Printf fixes for PPC/OSX, take two (#369366).
7179
7180 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7181
7182         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7183
7184         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7185         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7186         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7187           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7188           don't cast to long long for portability reasons, but use
7189           GLib's types instead.
7190
7191 2006-10-30  Michael Smith  <msmith@fluendo.com>
7192
7193         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7194           Get the arguments to lseek() the right way around.
7195           Fixes 367677.
7196
7197 2006-10-30  Wim Taymans  <wim@fluendo.com>
7198
7199         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7200
7201         * gst/gstinfo.h:
7202         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7203
7204 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7205
7206         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7207
7208         * docs/design/part-MT-refcounting.txt:
7209         * docs/random/wtay/capsnego2-docs:
7210         * gst/gstclock.c:
7211         * gst/gstxml.c:
7212           Typo fixes (#366212).
7213
7214 2006-10-28  Wim Taymans  <wim@fluendo.com>
7215
7216         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7217
7218         * gst/gst.c:
7219         * win32/common/libgstbase.def:
7220         * win32/common/libgstreamer.def:
7221         * win32/vs8/libgstbase.vcproj:
7222         * win32/vs8/libgstcontroller.vcproj:
7223         Add needed entries in .def files.
7224         Use HAVE_UNISTD_H.
7225         Rearrange def files in vs8 solutions. Fixes #366286.
7226
7227 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7228
7229         * win32/common/gstconfig.h:
7230           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7231           hand-made win32 gstconfig.h. Fixes #366321.
7232
7233 2006-10-27  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7236         (gst_ghost_pad_new_full):
7237         Make acceptcaps return TRUE when we don't have a target, just like
7238         setcaps does.
7239
7240 2006-10-27  Wim Taymans  <wim@fluendo.com>
7241
7242         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7243         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7244
7245 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * gst/gststructure.c: (gst_structure_id_set_value):
7248           If someone tries to set a non-UTF8 string field on a structure,
7249           don't just print a warning, but also ignore the request and do
7250           not change/add that field to the structure.
7251
7252         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7253           Test for the above.
7254
7255 2006-10-25  David Schleef  <ds@schleef.org>
7256
7257         * gst/gstinfo.c:
7258           g_hash_table_insert() needs a cast to a non-const pointer duh.
7259
7260 2006-10-25  David Schleef  <ds@schleef.org>
7261
7262         * gst/gstinfo.c:
7263         * gst/gstinfo.h:
7264           Change name parameter of _gst_debug_register_funcptr to const
7265           to reflect the constness of its use in the function as well
7266           as to quiet a gcc warning.
7267
7268 2006-10-25  Edward Hervey  <edward@fluendo.com>
7269
7270         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7271         Don't push the buffer if it's empty.
7272         Closes #363095
7273
7274 2006-10-24  Wim Taymans  <wim@fluendo.com>
7275
7276         * gst/gstevent.h:
7277         Add small comment.
7278
7279         * libs/gst/base/gstbasetransform.c:
7280         (gst_base_transform_sink_eventfunc):
7281         Debug segment values *after* updating them as this is more
7282         interesting.
7283
7284 2006-10-23  Wim Taymans  <wim@fluendo.com>
7285
7286         * docs/design/part-events.txt:
7287         Update some docs.
7288
7289         * docs/design/part-block.txt:
7290         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7291         (gst_pad_push_event):
7292         Revert BLOCKING patch, it tries to be smart without really having a
7293         clear idea what or how. So, now we discard all FLUSHING events again on
7294         a blocking pad. Should fix gnonlin again.
7295
7296 2006-10-23  Wim Taymans  <wim@fluendo.com>
7297
7298         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7299
7300         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7301         (gst_base_src_start), (gst_base_src_activate_push):
7302         Make sure size is always initialized. Fixes #364388.
7303
7304 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7305
7306         * docs/random/ensonic/distributed.txt:
7307           add some ideas about doing distributed processing
7308
7309         * docs/random/ensonic/profiling.txt:
7310           get_rusage look promising
7311
7312 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7313
7314         * docs/manual/basics-helloworld.xml:
7315           Add a cast in example to fix compile warning
7316
7317 2006-10-18  Wim Taymans  <wim@fluendo.com>
7318
7319         * gst/gstsegment.c: (gst_segment_set_last_stop),
7320         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7321         Relax arg checking again, -1 is allowed.
7322
7323 2006-10-18  Wim Taymans  <wim@fluendo.com>
7324
7325         * gst/gstsegment.c: (gst_segment_set_last_stop),
7326         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7327         _set_last_stop() must be with a value != -1
7328         A _TYPE_SET to -1 means seek to 0.
7329         Calc last_stop correctly for negative rates.
7330         Make sure we work with positive durations when updating a segment.
7331
7332 2006-10-18  Wim Taymans  <wim@fluendo.com>
7333
7334         * docs/design/part-live-source.txt:
7335         * gst/gstclock.h:
7336         Small docs fixes.
7337
7338 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7339
7340         * gst/gstbuffer.h:
7341           Add an explicit cast to GstBuffer** to keep old code that added an
7342           explicit cast to GstMiniObject** for gst_mini_object_replace()
7343           compiling without warning.
7344
7345 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7348           check for validity of dates
7349
7350 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7351
7352         * docs/gst/gstreamer-sections.txt:
7353           Forgot this one, makes gtk-doc shut up.
7354
7355 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7356
7357         Patch by: Peter Kjellerstedt <pkj at axis com>
7358
7359         * gst/gstobject.h:
7360           Don't define xmlNodePtr to gpointer if the core was built with
7361           --disable-loadsave and --disable-registry, this will break
7362           applications that want to use libxml2 but are buildling against a
7363           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7364           instead so we don't have to mess with the libxml2 namespace
7365           (#361675).
7366
7367 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7368
7369         * gst/gstbuffer.h:
7370           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7371           type-punned pointer warnings.
7372
7373 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7374
7375         * gst/gstelement.h:
7376           Add casts to the correct return type to state <=> state transition
7377           macros.
7378
7379 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7380
7381         * docs/design/part-live-source.txt:
7382           describe howto handle latency
7383         
7384         * docs/random/ensonic/profiling.txt:
7385           more ideas
7386
7387         * tools/gst-plot-timeline.py:
7388           fix log parsing for solaris, remove unused function
7389
7390 2006-10-16  Wim Taymans  <wim@fluendo.com>
7391
7392         * docs/design/part-trickmodes.txt:
7393         * gst/gstevent.c:
7394         Update some docs regarding reverse playback.
7395
7396 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7397
7398         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7399
7400         * win32/vs8/grammar.vcproj:
7401           Error out with a warning if glib-genmarshal.exe is not in path,
7402           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7403
7404 2006-10-13  Wim Taymans  <wim@fluendo.com>
7405
7406         * gst/gstsegment.c: (gst_segment_set_seek):
7407         When seeking to stop -1, set last_stop (current position) to the
7408         duration of the segment.
7409
7410 2006-10-13  Wim Taymans  <wim@fluendo.com>
7411
7412         * gst/gstelement.h:
7413         Clarify _NO_PREROLL a bit more.
7414
7415         * gst/gstevent.c:
7416         Fix docs.
7417
7418         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
7419         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
7420         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
7421         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
7422         due to wrong locking order. Fixes #361769.
7423         Remove some redundant/misplaced checks in pad_block.
7424
7425         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7426         For negative rates, count backwards from the duration.
7427
7428 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7429
7430         * gst/gsterror.c: (_gst_library_errors_init):
7431           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
7432           up with something better).
7433
7434 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * win32/vs6/libgstreamer.dsp:
7437         * win32/vs7/libgstreamer.vcproj:
7438         * win32/vs8/libgstreamer.vcproj:
7439           Don't reference glib-compat.c which is currently not used and not
7440           disted; add gstquark.c which was recently added. Fixes #361730.
7441
7442 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7443
7444         * win32/common/libgstbase.def:
7445         * win32/common/libgstcontroller.def:
7446         * win32/common/libgstreamer.def:
7447           Add gst_caps_merge() and a bunch of other recently-added functions.
7448           Fixes #361732.
7449
7450 2006-10-11  Wim Taymans  <wim@fluendo.com>
7451
7452         * docs/plugins/gstreamer-plugins.args:
7453         * docs/plugins/inspect/plugin-coreelements.xml:
7454         * docs/plugins/inspect/plugin-coreindexers.xml:
7455         Update element args.
7456
7457         * gst/gstsystemclock.c:
7458         Small comment update.
7459
7460         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7461         (gst_tee_request_new_pad), (gst_tee_release_pad),
7462         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
7463         (gst_tee_sink_activate_pull):
7464         * plugins/elements/gsttee.h:
7465         Some tee loving:
7466         Add default property defines.
7467         Implement release pad function.
7468         Give properties better blubs etc.
7469         Activate pads before adding them to a running tee.
7470         Do simple buffer_alloc on the first requested pad.
7471         Post error when activation fails.
7472
7473 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7474
7475         * gst/gst.c: (ensure_current_registry_forking):
7476           Check return value of write() to make compiler happy.
7477
7478 2006-10-11  Wim Taymans  <wim@fluendo.com>
7479
7480         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7481
7482         * plugins/elements/gstqueue.c: (gst_queue_chain):
7483         Recheck queue filledness after signalling the overrun when we're about
7484         to leak downstream because we released the lock when emitting the signal
7485         and the queue could be empty again. Fixes #352345.
7486
7487 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7488
7489         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7490           Fix refcounting here too, just like we did for _new_valist() a few
7491           days ago (#357180) (thanks to René Stadler). Also remove all those
7492           'Since: 0.9' from the gtk-doc blobs.
7493
7494         * tests/check/libs/controller.c: (controller_refcount_new_list),
7495         (gst_controller_suite):
7496           Unit test for the above.
7497
7498 2006-10-10  Wim Taymans  <wim@fluendo.com>
7499
7500         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
7501
7502         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7503         (gst_pad_save_thyself):
7504         Update some docs.
7505         Write pad direction in XML output. Fixes #345496.
7506
7507 2006-10-10  Wim Taymans  <wim@fluendo.com>
7508
7509         Patch by: René Stadler <mail at renestadler dot de>
7510
7511         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7512         (gst_controller_new_list), (_gst_controller_dispose),
7513         (_gst_controller_finalize), (_gst_controller_class_init):
7514         Take ref to controlled object so that it cannot disappear. 
7515         Fixes #357432.
7516
7517 2006-10-10  Wim Taymans  <wim@fluendo.com>
7518
7519         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7520         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7521         (gst_check_teardown_sink_pad):
7522         Activate/deactivate pads in setup/teardown respectively.
7523
7524 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7525
7526         Patch by: Josep Torra Valles <josep@fluendo.com>
7527
7528         * gst/Makefile.am:
7529         Cast values when making gstenumtypes.h.  This pacifies Forte
7530         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
7531         in the enumeration.
7532
7533 2006-10-09  Wim Taymans  <wim@fluendo.com>
7534
7535         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
7536         Rename some more @cur to @start to fix docs. 
7537
7538         * gst/gstsegment.c: (gst_segment_set_seek):
7539         Fix typo.
7540         time and start must always stay in sync as defined in design doc.
7541
7542         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7543         Rename param to fix docs.
7544
7545         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7546         Check that start and time are in sync.
7547
7548         * tests/check/pipelines/parse-launch.c:
7549         (gst_parse_test_element_change_state):
7550         Activate pad before adding to the element.
7551
7552 2006-10-09  Wim Taymans  <wim@fluendo.com>
7553
7554         * docs/design/part-qos.txt:
7555         Fix typo.
7556
7557         * gst/gstevent.c:
7558         * gst/gstevent.h:
7559         Update seek event docs regarding negative rates.
7560         Rename @cur to @start. 
7561
7562         * gst/gstsegment.c: (gst_segment_set_seek):
7563         * gst/gstsegment.h:
7564         Update set_seek docs regarding negative rates.
7565         Correctly update last_stop to @stop when dealing with negative
7566         rates.
7567         Rename @cur to @start. 
7568
7569         * tests/check/gst/gstpad.c: (GST_START_TEST):
7570         Activate pads before trying to use them.
7571
7572         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7573         (gst_segment_suite):
7574         Add simple check for segments and negative rates.
7575
7576 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7577
7578         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7579         * gst/gsttaglist.h:
7580         * docs/gst/gstreamer-sections.txt:
7581           API: add gst_tag_list_is_empty() (#360467).
7582
7583         * tests/check/gst/gsttag.c: (GST_START_TEST):
7584           And a test case.
7585
7586 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7587
7588         * gst/gstmessage.h:
7589         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
7590         a value that doesn't fit on enumeration.
7591
7592 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7593
7594         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7595         Remove local debugging system and use Gstreamer's instead.
7596
7597 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7598
7599         Patch by: Josep Torra Valles <josep@fluendo.com>
7600
7601         * common/m4/gst-error.m4:
7602         Disable warning of statement not reached on Forte.
7603         * gst/gstmessage.h:
7604         Fix warning on Forte (value doesn't fit on enumeration).
7605         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
7606         Fix warning on Forte (value doesn't fit on enumeration).
7607         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7608         DEBUG macro says it takes minimum of 2 args and so Forte
7609         complains about the use with just 1 arg.
7610         * plugins/elements/gstfdsink.c:
7611         * plugins/elements/gstfdsrc.c:
7612         * plugins/elements/gstfilesink.c:
7613         * plugins/elements/gstfilesrc.c:
7614         Use correct return type for the uri handler implementations.
7615
7616         All these fix warnings in Forte.  Fixes bug #360860.
7617
7618 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * gst/gstelement.h:
7621           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
7622           format string, so don't use G_GNUC_PRINTF for those versions.
7623
7624 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7625
7626         * gst/gsttaglist.c: (gst_is_tag_list):
7627         * gst/gsttaglist.h:
7628           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
7629
7630         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7631           Small test for the above.
7632
7633 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7634
7635         * gst/gsttaglist.h:
7636           Less tabs, more spaces.
7637
7638 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
7639
7640         * gst/gstinfo.h:
7641           Those two function declarations do actually belong there, revert
7642           commit from yesterday that turned them intro macros.
7643
7644 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7645
7646         Patch by: Josep Torra Valles <josep@fluendo.com>
7647
7648         * gst/gst.c: (gst_init_get_option_group):
7649         Fix empty declaration and type mismatch.
7650         * gst/gstbin.c: (gst_bin_change_state_func):
7651         Fix type mismatch.
7652         * gst/gstelement.c: (gst_element_continue_state),
7653         (gst_element_set_state_func), (gst_element_change_state),
7654         (gst_element_change_state_func):
7655         Fix type mismatches.
7656         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
7657         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
7658         Cast as appropriate.
7659         * gst/gstobject.c: (gst_class_signal_connect):
7660         Cast as appropriate.  The function pointer parameter really
7661         has the wrong type but would break API if we change it.
7662         * gst/gstquery.c:
7663         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
7664         order of including string.h.
7665         * gst/gstutils.c: (gst_element_state_get_name):
7666         Remove unreachable line.
7667         * gst/gstxml.c: (gst_xml_parse_doc):
7668         Fix type mismatch.
7669         All these caught by Forte.
7670
7671 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7672
7673         Patch by: Josep Torra Valles <josep@fluendo.com>
7674
7675         * common/m4/gst-error.m4:
7676         Fixed bug #360151.
7677         We need to disable warnings on Forte for empty declarations
7678         due to gst-indent adding ;s to lines that just use macros
7679         where the macro actually doesn't need a ; at end to end
7680         statement.
7681
7682 2006-10-06  Wim Taymans  <wim@fluendo.com>
7683
7684         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7685         (gst_file_sink_close_file), (gst_file_sink_event),
7686         (gst_file_sink_render):
7687         Add some FIXME for the NEWSEGMENT handling.
7688
7689 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7690
7691         * gst/parse/grammar.y:
7692         Remove static function gst_parse_element_lock as all it does
7693         is return.  Looks like cruft from 0.8.
7694
7695 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7696
7697         Patch by: Josep Torra Valles <josep@fluendo.com>
7698
7699         * common/m4/gst-error.m4:
7700         * configure.ac:
7701         * libs/gst/net/Makefile.am:
7702         Fix a compilation issue with Forte on Solaris.  inet_aton is in
7703         libresolv.
7704
7705 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * gst/gstpad.c: (pre_activate):
7708         * gst/gstregistry.c: (gst_registry_scan_path_level):
7709         * gst/gstregistryxml.c: (load_plugin):
7710         * libs/gst/controller/gstcontroller.c:
7711         (gst_controlled_property_set_interpolation_mode):
7712         * libs/gst/dataprotocol/dataprotocol.c:
7713         (gst_dp_packet_from_event_1_0):
7714         * libs/gst/net/gstnetclientclock.c:
7715         (gst_net_client_clock_observe_times):
7716         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7717           Printf fixes.
7718
7719 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7720
7721         * configure.ac:
7722         * docs/gst/gstreamer-sections.txt:
7723         * gst/gstconfig.h.in:
7724         * gst/gstelement.h:
7725         * gst/gstinfo.h:
7726           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
7727           whether we can use G_GNUC_PRINTF in other header files and at
7728           least check the printf format/arguments of debug messages and
7729           GST_ELEMENT_ERROR messages when the printf extension is not
7730           being used.
7731           Replace more tabs with spaces in gstinfo.h and remove two spurious
7732           function declarations in GST_DISABLE_DEBUG part with macros.
7733
7734 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
7737           More docs for the sync-message signal (mention that it is not
7738           emitted by default); log message structures of messages posted on
7739           the bus as well.
7740
7741 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
7742
7743         * gst/gst.c: (ensure_current_registry_forking):
7744         Use a pipe pair to receive status results from the forked child, and
7745         ignore the result from waitpid. Fixes #355499
7746
7747 2006-10-02  Wim Taymans  <wim@fluendo.com>
7748
7749         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7750         (gst_ghost_pad_suite):
7751         Fix leak in check.
7752
7753 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7754
7755         * gst/gstpad.c:
7756           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
7757
7758 2006-10-02  Edward Hervey  <edward@fluendo.com>
7759
7760         * docs/design/part-block.txt:
7761         Further explain the use of flushing on blocked pads.
7762         * docs/gst/gstreamer-sections.txt:
7763         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7764         (gst_pad_push_event):
7765         * gst/gstpad.h:
7766         Added new GstPadFlag : GST_PAD_BLOCKING.
7767         Adds the notion of pads really blocking, which enables to properly
7768         handle FLUSH_START/FLUSH_STOP events on blocked pads.
7769         Fixes #358999
7770         API: gst_pad_is_blocking()
7771         API: GST_PAD_IS_BLOCKING() macro
7772         API: GST_PAD_BLOCKING GstPadFlag
7773         
7774 2006-10-02  Wim Taymans  <wim@fluendo.com>
7775
7776         Patch by: mrcgran <mrc.gran at gmail dot com>
7777
7778         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
7779         Filter the proxied caps against the padtemplate if we have one.
7780
7781         * gst/gstquery.c: (gst_query_new_segment):
7782         Add include for gstinfo.h so that compilation with
7783         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
7784
7785 2006-10-02  Wim Taymans  <wim@fluendo.com>
7786
7787         Patch by: Alessandro Decina  <alessandro at nnva org>
7788
7789         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
7790         (gst_file_sink_set_location), (gst_file_sink_open_file),
7791         (gst_file_sink_close_file), (gst_file_sink_event),
7792         (gst_file_sink_render):
7793         Set file to NULL when closing filesink so that we can set a new filename
7794         in READY. Fixes #358613.
7795
7796 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7797
7798         Patch by: Alessandro Decina  <alessandro at nnva org>
7799
7800         * gst/gstevent.c: (_gst_event_copy):
7801           Fix gst_mini_object_make_writable() and gst_event_copy() for events
7802           with event structures by setting the parent refcount address of the
7803           copied structure to the address of the refcount member of the newly
7804           copied event rather than the address of the refcount member of the
7805           original event. Fixes #358737.
7806
7807         * tests/check/gst/gstevent.c: (GST_START_TEST):
7808           Unit test for the above.
7809
7810 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
7811
7812         * docs/design/Makefile.am:
7813           Dist some more files.
7814
7815 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7816
7817         * tests/check/libs/controller.c: (GST_START_TEST),
7818         (gst_controller_suite):
7819           Add test for the previous fix; add some more tests
7820           for correct refcounting behaviour; fix a few leaks
7821           in test cases; call gst_controller_init() at start
7822           of all tests.
7823
7824 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7825
7826         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7827         (gst_controller_set_from_list):
7828           Don't g_return_val_if_fail() on timed values with invalid timestamps
7829           inside a critical section without unlocking the mutex. Spotted by
7830           René Stadler. (#357617)
7831           Also, fix up refcounting properly: when returning an existing
7832           controller, we should increase the reference only once and not
7833           once per property and when trying to control a property again
7834           we should also increase the refcount.
7835
7836 2006-09-29  Wim Taymans  <wim@fluendo.com>
7837
7838         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7839         * libs/gst/net/gstnettimeprovider.c:
7840         (gst_net_time_provider_thread):
7841         Stop reading commands when EOF as well.
7842
7843         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7844         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7845         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7846         Unify description of the dump property.
7847
7848 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7849
7850         * tests/examples/manual/.cvsignore:
7851         OK, so it's actually cvsignore that needs changing. Stop laughing.
7852
7853 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7854
7855         * tests/examples/manual/Makefile.am:
7856         Gah, declare vars *before* using them
7857
7858 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7859
7860         * gst/gst.c: (init_pre), (scan_and_update_registry),
7861         (ensure_current_registry_nonforking),
7862         (ensure_current_registry_forking), (ensure_current_registry),
7863         (init_post), (gst_debug_help), (gst_deinit):
7864         * gst/gst_private.h:
7865         * gst/gstregistry.c: (gst_registry_finalize),
7866         (gst_registry_remove_features_for_plugin_unlocked),
7867         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7868         (gst_registry_scan_path),
7869         (_priv_gst_registry_remove_cache_plugins),
7870         (_priv_gst_registry_cleanup):
7871         * gst/gstregistry.h:
7872         Re-commit the registry changes, along with an extra fix:
7873           When a cached plugin is encountered at a different file path,
7874           update the stored path in the registry cache so that the parent
7875           process knows where it actually is now when it re-reads the registry
7876           cache. Fixes the thing that broke distcheck with the previous commit.
7877
7878         * tests/check/Makefile.am:
7879         Clean up files named 'core' too when running make clean.
7880
7881         * tests/examples/manual/Makefile.am:
7882         Set up a registry path for running these tests, and clean it properly
7883         for distcheck.
7884
7885 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7886
7887         * configure.ac:
7888         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
7889         want gmodule-no-export-2.0.pc instead so that we don't drag in
7890         --export-dynamic on every project that links to GStreamer.
7891
7892         Also, make our export regex only match the start of symbols, rather 
7893         than any symbol that contains '_gst' somewhere.
7894
7895         * libs/gst/check/Makefile.am:
7896         The libgstcheck we build does however need export-dynamic, as it
7897         produces some symbols that don't match our _gst... style regex.
7898         Fixes: #318031
7899
7900 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7901
7902         * gst/gst.c: (init_pre), (scan_and_update_registry),
7903         (ensure_current_registry_nonforking),
7904         (ensure_current_registry_forking), (ensure_current_registry),
7905         (init_post), (gst_debug_help), (gst_deinit):
7906         * gst/gst_private.h:
7907         * gst/gstregistry.c: (gst_registry_finalize),
7908         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7909         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
7910         (_gst_registry_cleanup):
7911         * gst/gstregistry.h:
7912           Revert previous change until I figure out why it breaks distcheck.
7913
7914 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7915
7916         * gst/gst.c: (init_pre), (scan_and_update_registry),
7917         (ensure_current_registry_nonforking),
7918         (ensure_current_registry_forking), (ensure_current_registry),
7919         (init_post), (gst_debug_help), (gst_deinit):
7920
7921           Make init_pre and init_post take the full complement of GOptionFunc
7922           args so they can return useful GErrors. Make the registry updating
7923           functions do so.
7924
7925           Call _priv_gst_registry_remove_cache_plugins after scanning files to
7926           ensure that the registry we're about to write out doesn't contain
7927           stale information about old-deleted plugin files.
7928
7929           Make _priv_gst_registry_remove_cache_plugins return a boolean so
7930           that deletion of plugin files is considered a registry change.
7931
7932         * gst/gst_private.h:
7933         * gst/gstregistry.c: (gst_registry_finalize),
7934         (gst_registry_remove_features_for_plugin_unlocked),
7935         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7936         (gst_registry_scan_path),
7937         (_priv_gst_registry_remove_cache_plugins),
7938         (_priv_gst_registry_cleanup):
7939         * gst/gstregistry.h:
7940         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
7941         by adding _priv prefix, so that they won't appear in the global
7942         symbol table. They still do atm though because of #318031. Move the
7943         prototypes to gst_private.h
7944
7945         When removing a plugin, remove all features for that plugin too. 
7946         Fixes #340878.
7947
7948 2006-09-27  Wim Taymans  <wim@fluendo.com>
7949
7950         * docs/random/moving-plugins:
7951         Make it clear that the "compiled-in descriptions" really mean
7952         the element details.
7953
7954         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7955         (gst_base_sink_wait_preroll):
7956         Update docs.
7957
7958         * docs/libs/gstreamer-libs-sections.txt:
7959         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7960         (gst_base_src_get_range), (gst_base_src_activate_push):
7961         * libs/gst/base/gstbasesrc.h:
7962         Added function to block while waiting for PLAYING, this function
7963         is used by live sources that block on the clock.
7964         API: gst_base_src_wait_playing()
7965
7966 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7967
7968         Patch by: Peter Kjellerstedt <pkj at axis com>
7969
7970         * Makefile.am:
7971           gst-element-check.m4 is generated and should therefore be
7972           copied from the build dir rather than the source dir (#357593).
7973           'make distcheck' hasn't noticed this because we were disting
7974           the file as well, so stop doing that.
7975
7976 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7977
7978         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7979           Add some tests for gst_caps_intersect().
7980
7981         * tools/gst-launch.c: (event_loop):
7982           Print all buffering percentages we get, even the 100% one.
7983
7984 2006-09-26  Wim Taymans  <wim@fluendo.com>
7985
7986         * tools/gst-inspect.c: (print_element_properties_info),
7987         (print_signal_info):
7988         Fix printing of flags to match the look of enums.
7989
7990 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7991
7992         * gst/gstelementfactory.c:
7993           Fix typo in docs blurb.
7994
7995 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7996
7997         * gst/gsturi.c: (search_by_entry):
7998           Don't assert/crash here if a uri handler doesn't return any
7999           supported protocols. The list of protocols could be generated
8000           dynamically at runtime or at plugin registration, and an error
8001           in the underlying library shouldn't be fatal (#353301).
8002
8003 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8004
8005         * gst/gstinfo.c:
8006           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8007           (spotted by Peter Kjellerstedt).
8008
8009 2006-09-23  Wim Taymans  <wim@fluendo.com>
8010
8011         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8012
8013         * libs/gst/base/gstbasesrc.c:
8014         (gst_base_src_default_check_get_range), (gst_base_src_start),
8015         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8016         (gst_base_src_change_state):
8017         Match _start/_stop calls in the activate functions. Remove redundant
8018         _stop call from the state change function. Fixes #356910.
8019         Turn failure DEBUG into ERROR. 
8020
8021 2006-09-22  Wim Taymans  <wim@fluendo.com>
8022
8023         * docs/design/part-buffering.txt:
8024         * gst/gstmessage.c: (gst_message_new_buffering),
8025         (gst_message_parse_buffering):
8026         Update docs about buffering.
8027
8028         * docs/design/part-trickmodes.txt:
8029         Fix typo.
8030
8031 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8032
8033         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8034         (gst_controller_new_list):
8035           Ref instances when returning them again (fixes #357180)
8036
8037 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8038
8039         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8040           Don't forget to release proxy lock when there's an error.
8041
8042 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8043
8044         * gst/gstcaps.h:
8045           Add extra initialisers for Caps things, to fix some plugin warnings
8046           when using -Wextra
8047
8048 2006-09-18  Wim Taymans  <wim@fluendo.com>
8049
8050         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8051           Also set template on the internal pad so that a getcaps from the 
8052           target pad returns the template caps.
8053
8054 2006-09-18  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/gstelement.c: (gst_element_post_message),
8057         (gst_element_dispose):
8058         Use _DEBUG_OBJECT some more.
8059
8060         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8061         Avoid typechecks.
8062
8063         * tools/gst-launch.c: (main):
8064         If the toplevel element is not a GstPipeline, it must be put in a
8065         pipeline so that a bus and clock is selected.
8066
8067 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8068
8069         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8070           JITTER, RATE, and LATENCY query should be handled by the
8071           default case and not by the CONVERT query code.
8072
8073 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8074
8075         * gst/gstformat.c: (gst_format_register):
8076           Fix locking order (must take lock before using n_values).
8077
8078         * gst/gstvalue.c: (gst_value_serialize_enum),
8079         (gst_value_deserialize_enum_iter_cmp),
8080         (gst_value_deserialize_enum):
8081           Fix serialisation/deserialisation of custom registered GstFormats.
8082
8083         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8084           Unit test for custom format serialisation/deserialisation.
8085
8086 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8087
8088         * docs/pwg/building-boiler.xml:
8089         * plugins/elements/gstcapsfilter.c:
8090         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8091         section.
8092
8093 2006-09-16  Edward Hervey  <edward@fluendo.com>
8094
8095         * libs/gst/base/gstbasetransform.c:
8096         (gst_base_transform_buffer_alloc):
8097         Check if requested caps are the same as the sinks caps IF
8098         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8099         is FALSE.
8100         This fixes the renegotiation issues stated in #352827.
8101
8102 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8103
8104         * configure.ac:
8105         * docs/manual/advanced-autoplugging.xml:
8106         * tests/examples/Makefile.am:
8107         * tests/examples/manual/.cvsignore:
8108         * tests/examples/manual/Makefile.am:
8109         * tests/examples/manual/extract.pl:
8110           Extract the manual examples again like we used to do.
8111           Fix one of them.
8112
8113 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * win32/common/config.h:
8116           update for version
8117
8118 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8119
8120         * gst/gsterror.c:
8121           Documents how to receive errors.
8122
8123 2006-09-15  Wim Taymans  <wim@fluendo.com>
8124
8125         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8126         (event_loop), (main):
8127         Added some comments here and there.
8128         Post an application message when an interrupt is caught instead of doing
8129         an uncontrolled state change.
8130         Clean up the event loop.
8131         Handle buffering messages, pause/resume the pipeline.
8132         Make shutdown because of an interrupt more reliable.
8133
8134 2006-09-15  Wim Taymans  <wim@fluendo.com>
8135
8136         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8137         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8138         (gst_base_sink_preroll_object):
8139         Make sure that our internal state is correct when we commit our state
8140         asynchronously. This solves a race where a state change to PLAYING
8141         could cause the sink to remain blocked in preroll in some situations.
8142
8143 2006-09-15  Wim Taymans  <wim@fluendo.com>
8144
8145         * tools/gst-inspect.c: (print_element_properties_info),
8146         (print_signal_info):
8147         List flags as hex so it's easier to deal with.
8148
8149 2006-09-15  Wim Taymans  <wim@fluendo.com>
8150
8151         * docs/libs/gstreamer-libs-sections.txt:
8152         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8153         (gst_base_sink_do_sync):
8154         * libs/gst/base/gstbasesink.h:
8155         Expose logic to wait for preroll so that subclasses such as audiosink
8156         can also use this method.
8157         API: gst_base_sink_wait_preroll()
8158
8159 2006-09-15  Wim Taymans  <wim@fluendo.com>
8160
8161         * gst/gstobject.c: (gst_object_set_parent):
8162         * gst/gstpipeline.c: (do_pipeline_seek):
8163         Small cleanups in docs and code.
8164
8165         * gst/gstsegment.c: (gst_segment_clip):
8166         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8167         if stop == start and start is in the segment, no clipping should be
8168         done. Also add a test for this.
8169
8170 2006-09-15  Wim Taymans  <wim@fluendo.com>
8171
8172         * docs/design/part-buffering.txt:
8173         * docs/gst/gstreamer-sections.txt:
8174         * gst/gstmessage.c: (gst_message_new_buffering),
8175         (gst_message_parse_buffering):
8176         * gst/gstmessage.h:
8177         Added methods to create and parse BUFFERING messages.
8178         Added preliminary docs about buffering.
8179         API: gst_message_new_buffering
8180         API: gst_message_parse_buffering
8181
8182 2006-09-06  Wim Taymans  <wim@fluendo.com>
8183
8184         * gst/gstbin.c:
8185         Update documentation.
8186
8187         * gst/gstelement.c: (gst_element_class_init),
8188         (gst_element_release_request_pad), (gst_element_set_clock),
8189         (gst_element_get_index), (gst_element_add_pad),
8190         (gst_element_remove_pad), (gst_element_get_random_pad),
8191         (gst_element_send_event), (gst_element_get_query_types),
8192         (gst_element_query), (gst_element_post_message),
8193         (gst_element_message_full), (gst_element_continue_state),
8194         (gst_element_lost_state), (gst_element_save_thyself),
8195         (gst_element_restore_thyself):
8196         Documentation updates.
8197         Rename last bit of the new-pad -> pad-added signal rename.
8198         Fix the case where an element query would only work if the source
8199         pad was linked.
8200         Avoid some useless type checking in message handling.
8201
8202         * gst/gstevent.c:
8203         * gst/gstevent.h:
8204         * gst/gstutils.c:
8205         Documentation updates.
8206
8207 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8210           add an INFO line for when we actually update the fd
8211
8212 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8213
8214         * configure.ac:
8215           back to TRUNK
8216
8217 === release 0.10.10 ===
8218
8219 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8220
8221         * configure.ac:
8222           releasing 0.10.10, "Pais"
8223
8224 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8225
8226         * docs/manual/advanced-position.xml:
8227           Fix typo in sample code.
8228
8229 2006-09-05  Wim Taymans  <wim@fluendo.com>
8230
8231         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8232         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8233         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8234         * libs/gst/net/gstnetclientclock.h:
8235         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8236         * libs/gst/net/gstnettimepacket.h:
8237         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8238         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8239         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8240         * libs/gst/net/gstnettimeprovider.h:
8241         Make stuff compile on windows. Fixes #345295.
8242
8243 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * gst/gst.c: (ensure_current_registry_forking):
8246           Print better details when child was terminated by signal.
8247
8248 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8249
8250         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8251           Print a warning rather than g_assert() if a plugin feature
8252           is a URI handler but returns no protocols (#353976).
8253
8254 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8255
8256         * docs/random/moving-plugins:
8257         Fix two typos.         
8258
8259 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8260
8261         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8262           Fix locking order, handle NULL function values properly.
8263
8264         * gst/gstinfo.h:
8265           Fix docs.
8266
8267         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8268           Initialise variable before using it and fix debug statement to
8269           print the address of the function rather than the address of the
8270           variable on the stack holding the address of the function.
8271
8272 2006-09-01  Wim Taymans  <wim@fluendo.com>
8273
8274         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8275         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8276         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8277         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8278         (gst_ghost_pad_parent_unset),
8279         (gst_ghost_pad_internal_do_activate_push),
8280         (gst_ghost_pad_internal_do_activate_pull),
8281         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8282         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8283         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8284         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8285         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8286         (gst_ghost_pad_new_no_target_from_template),
8287         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8288         More cleanups.
8289         Avoid needless typechecking in macros.
8290         Since the internal pad is always present and never changes, there is
8291         no need to locking or ref when retrieving it.
8292         Improve debugging a bit.
8293         Handle link errors when setting the target. Fixes #341029.
8294
8295 2006-09-01  Wim Taymans  <wim@fluendo.com>
8296
8297         * docs/libs/gstreamer-libs-sections.txt:
8298         * docs/plugins/gstreamer-plugins-sections.txt:
8299         Fix docs some more.
8300
8301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8302         (gst_collect_pads_event):
8303         * libs/gst/base/gstcollectpads.h:
8304         Documentation updates.
8305         Free queued buffer when removing a pad.
8306
8307 2006-08-31  Michael Smith  <msmith@fluendo.com>
8308
8309         * gst/gstutils.c: (gst_element_link_pads),
8310         (gst_element_link_pads_filtered):
8311           Ensure that we set a capsfilter to NULL if we failed to link it
8312           when doing filtered linking, to avoid criticals.
8313
8314           No need to check for unreffing srcpad, which is explicly NULLed
8315           above (a trivial code cleanup).
8316
8317 2006-08-31  Wim Taymans  <wim@fluendo.com>
8318
8319         * docs/design/part-gstghostpad.txt:
8320         Update ascii art in documentation.
8321
8322         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8323         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8324         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8325         (gst_ghost_pad_internal_do_activate_push),
8326         (gst_ghost_pad_internal_do_activate_pull),
8327         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8328         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8329         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8330         (gst_ghost_pad_set_target):
8331         Small cleanups and leak fixes.
8332         Remove some checks now that the internal pad is never NULL.
8333         Fix the case where linking pads without a target would create nasty
8334         criticals. Fixes #341029.
8335         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8336         value of _set_target().
8337
8338         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8339         (gst_ghost_pad_suite):
8340         Some more tests for creating and linking untargeted ghostpads.
8341
8342 2006-08-31  Edward Hervey  <edward@fluendo.com>
8343
8344         * docs/gst/gstreamer-sections.txt:
8345         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8346         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8347         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8348         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8349         (gst_ghost_pad_new_from_template),
8350         (gst_ghost_pad_new_no_target_from_template):
8351         * gst/gstghostpad.h:
8352         Refactored *_new() functions.
8353         Templates are now used as a g_object_new() parameter.
8354         Use template in _do_getcaps() if we don't have a target.
8355         Small documentation cleanups.
8356         Added two new constructors:
8357         gst_ghost_pad_new_from_template()
8358         gst_ghost_pad_new_no_target_from_template()
8359         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8360         (gst_ghost_pad_suite):
8361         Added tests for new ghostpad instanciation functions.
8362
8363         API additions: gst_ghost_pad_new_from_template,
8364         gst_ghost_pad_new_no_target_from_template
8365
8366 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8367
8368         * docs/random/ensonic/profiling.txt:
8369           Ideas about qos profiling.
8370
8371 2006-08-29  Wim Taymans  <wim@fluendo.com>
8372
8373         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8374         Code cleanups.
8375         Fix memleak.
8376
8377 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8378
8379         * gst/gstxml.c:
8380           Improve and detypofy docs.
8381
8382         * tests/check/Makefile.am:
8383         * tests/check/gst/.cvsignore:
8384         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8385           Add a basic test suite for GstXML.
8386
8387 2006-08-29  Wim Taymans  <wim@fluendo.com>
8388
8389         * gst/gstelement.c: (activate_pads), (clear_caps),
8390         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8391         Clear the pad caps when the element shut down all of the pads and
8392         is not streaming data that could modify the caps. 
8393         Fixes #352958.
8394
8395 2006-08-28  Michael Smith  <msmith@fluendo.com>
8396
8397         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8398           Revert previous change; I misunderstood single-segment mode.
8399
8400 2006-08-28  Michael Smith  <msmith@fluendo.com>
8401
8402         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8403           Unset DISCONT on buffers when using single-segment mode.
8404
8405 2006-08-28  Wim Taymans  <wim@fluendo.com>
8406
8407         * gst/gstcaps.c: (gst_caps_merge_structure):
8408         * gst/gstcaps.h:
8409         Fix docs and indentation again.
8410
8411         * tests/check/gst/gstquery.c: (GST_START_TEST):
8412         Fix leak in tests and add some more tests.
8413
8414 2006-08-28  Edward Hervey  <edward@fluendo.com>
8415
8416         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8417         Inform GstSegment of the last stop position in order for the current
8418         segment to have a proper duration if it doesn't have a specific stop
8419         position from which a duration could be calculated.
8420         This bug was noticeable when a non-flushing, non-update new segment was
8421         followed by another segment (all buffers from the new segment were being
8422         dropped).
8423
8424 2006-08-28  Wim Taymans  <wim@fluendo.com>
8425
8426         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8427         Small comment update.
8428
8429         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8430         (gst_identity_transform_ip):
8431         Drop-probability is broken, mention this in the code with a 
8432         FIXME and also in the property description.
8433         Make silent also be silent about the drop messages.
8434
8435 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
8436
8437         * docs/manual/appendix-win32.xml:
8438           Remove mention of popt, we don't depend on that any
8439           longer (#353136). Add some comments pointing out that
8440           this section is slightly outdated.
8441
8442 2006-08-28  Wim Taymans  <wim@fluendo.com>
8443
8444         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8445
8446         * gst/gstquery.c: (gst_query_new_segment):
8447         * tests/check/gst/gstquery.c: (GST_START_TEST):
8448         Initialize variables when creating a new segment query.
8449         Fixes #353121.
8450
8451 2006-08-28  Wim Taymans  <wim@fluendo.com>
8452
8453         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8454
8455         * gst/gstelement.c: (gst_element_get_bus):
8456         * tests/check/gst/gstelement.c: (GST_START_TEST):
8457         Check for NULL before _reffing the bus. Fixes #353122.
8458
8459 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         * docs/manual/basics-bus.xml:
8462           Docs update: fix wrong callback return value explanation; add
8463           some lines about the implicit relationship between main loop
8464           and main context; remove duplicate main loop variable declaration.
8465
8466 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
8467
8468         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8469           Don't leak caps in unit test; add a few more simple
8470           checks. 
8471
8472 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
8473
8474         * docs/gst/gstreamer-sections.txt:
8475         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
8476         (gst_caps_structure_is_subset), (gst_caps_merge),
8477         (gst_caps_merge_structure):
8478         * gst/gstcaps.h:
8479         * libs/gst/base/gstbasetransform.c:
8480         (gst_base_transform_transform_caps):
8481         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8482           implement caps merging (fixes #352580)
8483
8484 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
8485
8486         * tools/Makefile.am:
8487         * tools/gst-plot-timeline.py:
8488           add debug-log plotting developer tool (#340674)
8489
8490 2006-08-23  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
8493         (gst_pad_stop_task):
8494         Improve debugging for task functions.
8495
8496         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
8497         (gst_task_start), (gst_task_pause), (gst_task_join):
8498         Make sure that the task function started and finished after a 
8499         join(). 
8500         Don't try to push the task function on the threadpool multiple
8501         times.
8502         Improve the g_warning message with some useful suggestions
8503         about how to fix the problem. 
8504
8505 2006-08-23  Wim Taymans  <wim@fluendo.com>
8506
8507         * gst/gstutils.c: (gst_pad_proxy_getcaps):
8508         Handle RESYNC correctly in _proxy_getcaps.
8509
8510 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
8511
8512         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
8513         (gst_xml_parse_memory), (gst_xml_get_element):
8514           Chain up to parent class in dispose function and also
8515           unref the elements in the toplevel_elements GList.
8516           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
8517           Always return a reference in gst_xml_get_element() rather
8518           than only sometimes.
8519
8520         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8521           Don't leak GstXml object.
8522
8523 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
8524
8525         * docs/gst/gstreamer-sections.txt:
8526         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
8527         (gst_caps_merge):
8528         * gst/gstcaps.h:
8529         * libs/gst/base/gstbasetransform.c:
8530         (gst_base_transform_transform_caps):
8531           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
8532           in a better way
8533
8534 2006-08-21  Edward Hervey  <edward@fluendo.com>
8535
8536         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
8537         Implement GObject::dispose virtual method in GstXML so we can free the
8538         top_elements GList.
8539
8540 2006-08-21  Wim Taymans  <wim@fluendo.com>
8541
8542         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
8543         (gst_buffer_create_sub):
8544         Copy duration/offset_end/caps when creating a subbuffer of the
8545         complete parent.
8546         Make the subbuffer read-only when we make the metadata writable for
8547         now. Fixes #351768.
8548
8549         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8550         Added check for metadata copy when creating subbuffers.
8551
8552 2006-08-21  Edward Hervey  <edward@fluendo.com>
8553
8554         * libs/gst/base/gstbasetransform.c:
8555         (gst_base_transform_buffer_alloc):
8556         Only call downstream buffer_alloc if transform element is passthrough
8557         or always_in_place. Closes #350449.
8558
8559 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8560
8561         * ChangeLog:
8562           ChangeLog surgery to add comments to previous changes
8563
8564 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8565
8566         * gst/gst.c:
8567           Add comments
8568
8569         * gst/gstpad.c: (gst_pad_set_active):
8570           Be more verbose in the log
8571
8572         * libs/gst/base/gstbasetransform.c:
8573         (gst_base_transform_transform_caps):
8574           Simplify caps to get rid of duplicates, fixes #345444
8575
8576 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8577
8578         * gst/gstvalue.c:
8579         * gst/gstvalue.h:
8580           Use these optimizations only internally.
8581
8582 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8583
8584         * gst/gstvalue.c: (gst_value_compare_list),
8585         (gst_value_compare_fraction_range),
8586         (gst_value_intersect_fraction_fraction_range),
8587         (gst_value_intersect_fraction_range_fraction_range),
8588         (gst_value_subtract_fraction_fraction_range),
8589         (gst_value_subtract_fraction_range_fraction_range),
8590         (gst_value_get_compare_func), (gst_value_compare),
8591         (gst_value_compare_with_func):
8592         * gst/gstvalue.h:
8593           Saves the expensive lookup of the compare function in many cases
8594          (#345444)
8595
8596 2006-08-18  Edward Hervey  <edward@fluendo.com>
8597
8598         * tests/check/gst/gstinfo.c: (gst_info_suite):
8599         Disable test that require gstdebug if it wasn't built in core.
8600
8601 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8602
8603         * docs/random/ensonic/logging.txt:
8604           update ideas
8605           
8606         * gst/gstinfo.c: (gst_debug_log_default):
8607           reorder fields, save some columns, add optional color codes for log
8608           levels
8609
8610 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8611
8612         * docs/random/ensonic/logging.txt:
8613           add ideas about making the logs a bit more useful
8614
8615 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8616
8617         * docs/pwg/advanced-events.xml:
8618         * docs/pwg/titlepage.xml:
8619           Update for 0.10 API (#340627). Add myself
8620           to authors list.
8621
8622 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8623
8624         * docs/libs/gstreamer-libs-docs.sgml:
8625         * docs/libs/gstreamer-libs-sections.txt:
8626         * libs/gst/check/gstbufferstraw.c:
8627           Make gstcheck stuff show up in docs (still needs to
8628           be documented properly though).
8629
8630 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
8631
8632         * docs/gst/gstreamer-sections.txt:
8633         * gst/Makefile.am:
8634         * gst/gst.c: (init_post):
8635         * gst/gst_private.h:
8636         * gst/gstquark.c: (_priv_gst_quarks_initialize):
8637         * gst/gstquark.h:
8638         * gst/gstquery.c: (gst_query_new_position),
8639         (gst_query_set_position), (gst_query_parse_position),
8640         (gst_query_new_duration), (gst_query_set_duration),
8641         (gst_query_parse_duration), (gst_query_new_convert),
8642         (gst_query_set_convert), (gst_query_parse_convert),
8643         (gst_query_new_segment), (gst_query_set_segment),
8644         (gst_query_parse_segment), (gst_query_new_seeking),
8645         (gst_query_set_seeking), (gst_query_parse_seeking):
8646         Add internal helpers for pre-registering quarks from static strings
8647         and using the quark values directly instead of looking them up when
8648         creating and parsing queries. Can be used for event construction too.
8649         Closes #350432.
8650
8651 2006-08-16  Wim Taymans  <wim@fluendo.com>
8652
8653         * gst/gstbin.c:
8654         Fix bogus docs.
8655
8656 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8657
8658         * gst/gstutils.c: (gst_util_set_value_from_string):
8659           Fix memleak (#351502).
8660
8661         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8662           Add unit test for most of gst_util_set_value_from_string()
8663           (not that one would want to encourage use of this function).
8664
8665 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8666
8667         * libs/gst/check/gstcheck.h:
8668           Use const gchar * variables in fail_unless_equals_string
8669           macro to avoid compiler warnings (and don't use tabs for
8670           indenting).
8671
8672 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8673
8674         * tools/gst-launch.c: (print_tag):
8675           More space on the left for the tag names, to cater
8676           for the 'extended comment' tag (not touching the
8677           string for the first line since it's translated).
8678
8679 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * libs/gst/check/gstcheck.h:
8682           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
8683           print something when they fail.
8684
8685 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8686
8687         * docs/gst/gstreamer-sections.txt:
8688         * gst/gsttaglist.c: (_gst_tag_initialize):
8689         * gst/gsttaglist.h:
8690           API: add GST_TAG_EXTENDED_COMMENT (#350935).
8691           Also change merge function for GST_TAG_COMMENT to
8692           use_first.
8693
8694 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8695
8696         * gst/gstinfo.c: (gst_debug_print_object):
8697           Make GST_PTR_FORMAT print messages as well.
8698
8699         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
8700         (GST_START_TEST), (gst_info_suite):
8701           More tests.
8702
8703 2006-08-14  Edward Hervey  <edward@fluendo.com>
8704
8705         * gst/gstelementfactory.c: (gst_element_register):
8706         If the GstElementClass doesn't have a GstElementDetails with all fields
8707         filled up correctly (longname, description AND author), then error out
8708         nicely instead of crashing.
8709
8710 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8711
8712         * gst/gststructure.c:
8713           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
8714
8715         * gst/gstvalue.h:
8716           Expand on the difference between arrays and lists as we use them.
8717           
8718 2006-08-14  Wim Taymans  <wim@fluendo.com>
8719
8720         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8721         If the parent state change function failed, don't assume we can safely
8722         stop the source, this will be done when the pads are deactivated.
8723
8724 2006-08-14  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/gstbuffer.c:
8727         * gst/gsttask.c: (gst_task_join):
8728         Small doc updates.
8729
8730         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8731         (gst_pad_stop_task):
8732         When pad (de)activation failed for some reason, restore the old
8733         activation mode and set the pad to flushing instead of assuming the
8734         pad is deactivated.
8735         If the _task_join() failed, reinstall the task on the pad so that it can
8736         be stopped later and return an error.
8737
8738 2006-08-11  Andy Wingo  <wingo@pobox.com>
8739
8740         * configure.ac:
8741         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8742         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
8743         is only for users of API that don't want to see deprecated
8744         functions in the headers; people that want to compile out
8745         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
8746         CFLAGS. Fixes the build of multifdsink, or will soon..
8747
8748 2006-08-11  Wim Taymans  <wim@fluendo.com>
8749
8750         * docs/gst/gstreamer-sections.txt:
8751         Add GstClockClass vmethod docs.
8752
8753         * gst/gstcaps.h:
8754         Mark #endif with comment for associated #if
8755
8756         * gst/gstclock.c: (gst_clock_id_wait):
8757         * gst/gstclock.h:
8758         Add vmethod wait_jitter to avoid an unneeded _get_time() for
8759         most clock implementations.
8760         Document vmethods.
8761         Flesh out docs about resolution methods.
8762         API: GstClockClass::wait_jitter
8763
8764         * gst/gstsystemclock.c: (gst_system_clock_class_init),
8765         (gst_system_clock_async_thread),
8766         (gst_system_clock_id_wait_jitter_unlocked),
8767         (gst_system_clock_id_wait_jitter):
8768         Use base class wait_jitter variant for improved performance
8769         due to less clock polling.
8770
8771 2006-08-11  Edward Hervey  <edward@fluendo.com>
8772
8773         * gst/gst.c: (gst_init_check), (init_post):
8774         Set gst as being initialized before scanning/updating the registry,
8775         since there might be my python plugin loader that calls gst_init() and
8776         we don't want to loop back in.
8777         Closes #350879
8778
8779 2006-08-11  Wim Taymans  <wim@fluendo.com>
8780
8781         * docs/design/part-qos.txt:
8782         Bring docs in line with the code. Mostly the sign of the jitter was
8783         wrong in the docs. Fixes #349943.
8784
8785         * gst/gstclock.c:
8786         Fix the docs for the jitter.
8787
8788         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
8789         (gst_event_parse_tag), (gst_event_new_buffer_size),
8790         (gst_event_parse_buffer_size), (gst_event_parse_qos),
8791         (gst_event_new_seek), (gst_event_parse_seek),
8792         (gst_event_new_navigation):
8793         Make sure the GstStructure has no parent when creating custom
8794         events.
8795         Add some more argument checking so that we avoid 0.0 rates.
8796         Flesh out the docs for the QoS event some more.
8797
8798 2006-08-11  Wim Taymans  <wim@fluendo.com>
8799
8800         * docs/gst/gstreamer-sections.txt:
8801         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8802         (ensure_current_registry_forking), (ensure_current_registry),
8803         (parse_one_option), (parse_goption_arg), (gst_deinit),
8804         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
8805         * gst/gst.h:
8806         Doc updates.
8807         Added API and command line option to disable registry forking in
8808         addition to the environment variable.
8809         Constify some static arrays.
8810         Added some more debug.
8811         Don't deinit twice.
8812         API: gst_registry_fork_is_enabled()
8813         API: gst_registry_fork_set_enabled()
8814         API: --gst-disable-registry-fork command line option
8815         Fixes #348918.
8816
8817 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
8818
8819         * gst/gst.c: (gst_init):
8820           Fix typo in error message.
8821
8822 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8823
8824         * libs/gst/controller/gstcontroller.h:
8825           fix ABI size-correction
8826
8827         * tests/check/libs/gdp.c: (gst_dp_suite):
8828           make tests that use deprecated API conditional
8829
8830 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8831
8832         * docs/libs/gstreamer-libs-sections.txt:
8833         * libs/gst/controller/gstcontroller.c:
8834         (_gst_controller_get_property), (_gst_controller_set_property),
8835         (_gst_controller_init), (_gst_controller_class_init):
8836         * libs/gst/controller/gstcontroller.h:
8837         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
8838         (gst_object_set_control_rate):
8839           API: add gst_object_{s,g}et_control_rate(), add private data section,
8840           fix docs
8841
8842         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8843         * libs/gst/dataprotocol/dataprotocol.h:
8844           add deprecation guards to make gtk-doc happy and allow disabling cruft
8845
8846 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8847
8848         * tests/check/Makefile.am:
8849         * tests/check/gst/.cvsignore:
8850           Let's enable the new unit test as well.
8851
8852 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         * configure.ac:
8855         * docs/gst/gstreamer-sections.txt:
8856         * gst/gstconfig.h.in:
8857         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
8858         (_gst_info_printf_extension_ptr),
8859         (_gst_info_printf_extension_segment):
8860           API: add GST_SEGMENT_FORMAT, which is a printf extension we
8861           register that lets us easily dump GstSegments into debug
8862           logs (#350419).
8863
8864         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
8865         (info_segment_format_printf_extension), (gst_info_suite):
8866           Add simple unit test that logs a bunch of different segments (not
8867           valgrinded at the moment because of leaks in
8868           gst_debug_add_log_function).
8869
8870 2006-08-09  Edward Hervey  <edward@fluendo.com>
8871
8872         * libs/gst/base/gstbasetransform.c:
8873         (gst_base_transform_buffer_alloc):
8874         Even if we can't figure out the proper format to request downstream,
8875         call buffer_alloc() downstream with the input parameters without setting
8876         the caps on the srcpad. This will force negotiation in the chain
8877         function.
8878         Closes #350449
8879
8880 2006-08-08  Edward Hervey  <edward@fluendo.com>
8881
8882         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8883         Unlinking from a pad without a target is now a perfectly valid case
8884         which should NOT raise an assertion.
8885         This case would happen if a linked ghostpad its target set to NULL after
8886         it was previously linked.
8887
8888 2006-08-08  Edward Hervey  <edward@fluendo.com>
8889
8890         * tests/check/libs/gdp.c:
8891         Also comment out the test (see below).
8892
8893 2006-08-08  Edward Hervey  <edward@fluendo.com>
8894
8895         * tests/check/libs/gdp.c: (gst_dp_suite):
8896         Use the architecture information from config.h and not gcc macros
8897         in order to properly disable a test that fails on PPC64.
8898
8899 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
8900
8901         * gst/gstelement.c: (gst_element_remove_pad):
8902           Don't crash printing the warning if the pad has no parent.
8903
8904 2006-08-02  Wim Taymans  <wim@fluendo.com>
8905
8906         * libs/gst/dataprotocol/dataprotocol.c:
8907         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8908         (gst_dp_crc), (gst_dp_header_payload_length),
8909         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
8910         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
8911         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
8912         (gst_dp_event_from_packet), (gst_dp_validate_header),
8913         (gst_dp_validate_payload):
8914         Make debug category static
8915         Constify the crc table.
8916         Do some more arg checking in public functions.
8917         Fix some docs and do some small cleanups.
8918
8919         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
8920         Add some more checks to see if GDP deals with bogus input.
8921
8922 2006-07-31  Wim Taymans  <wim@fluendo.com>
8923
8924         * gst/gstvalue.c: (gst_value_compare_list):
8925         Fix GstValueList comparison code. Fixes #347293.
8926
8927         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8928         Check to test GstValueList comparison.
8929
8930 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8931
8932         * gst/gstelementfactory.c: (gst_element_factory_create):
8933         Remove unnecessary ref/unref pair
8934
8935         * gst/parse/grammar.y:
8936         Make sure to free the parse buffer on all code paths.
8937         Move a g_free up to the error handler where it's easier to see.
8938
8939         * tests/check/gst/gstevent.c: (test_event):
8940         Extending timeout for downstream travelling events to 10 seconds to
8941         hopefully avoid intermittent failure on the buildbots.
8942
8943         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
8944         Don't manually set the state of the src element - it will happen as a
8945         natural consequence of the pipeline changing state, and that way it
8946         will do it in the right order too.
8947
8948 2006-07-31  Wim Taymans  <wim@fluendo.com>
8949
8950         * libs/gst/base/gstbasetransform.c:
8951         (gst_base_transform_buffer_alloc):
8952         Use OBJECT_LOCK and refcounting to get the pad caps in the
8953         buffer_alloc function because the caps could change while we are
8954         busy with them. Fixes #349105
8955
8956 2006-07-31  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
8959         Protect _PAD_CAPS with OBJECT_LOCK.
8960
8961 2006-07-31  Wim Taymans  <wim@fluendo.com>
8962
8963         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8964         (gst_pad_get_property), (gst_pad_activate_pull),
8965         (gst_pad_activate_push), (gst_pad_set_blocked_async),
8966         (gst_pad_set_activate_function),
8967         (gst_pad_set_activatepull_function),
8968         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
8969         (gst_pad_set_getrange_function),
8970         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
8971         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8972         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
8973         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
8974         (gst_pad_set_acceptcaps_function),
8975         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8976         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
8977         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
8978         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
8979         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
8980         (gst_pad_configure_sink), (gst_pad_configure_src),
8981         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
8982         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
8983         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
8984         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
8985         (gst_pad_send_event):
8986         Use _DEBUG_OBJECT when it makes sense.
8987         Protect GST_PAD_CAPS with the OBJECT_LOCK.
8988         Small cleanups and code reflows.
8989         Avoid caps refcounting in _accept_caps.
8990         Refactor alloc_buffer so that the code performed on the peer is in a
8991         separate function. Also if the pad does not implement a buffer alloc
8992         function, we should still check if the pad is flushing before falling
8993         back to the default allocator.
8994
8995 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8996
8997         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8998         Make all uses of identity and fakesink have silent=true to avoid
8999         serialising every passing data structure, which is breaking tests
9000         on FC4 for some unknown reason.
9001
9002 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9003
9004         * gst/parse/Makefile.am:
9005         * gst/parse/grammar.y:
9006         * gst/parse/parse.l:
9007           Reverted previous patch as it required to bump the flex dependency to
9008           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9009
9010 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9011
9012         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9013
9014         * gst/parse/Makefile.am:
9015         * gst/parse/grammar.y:
9016         * gst/parse/parse.l:
9017           push & pop the state of the lexer for reentrant use case
9018           Fixes #349180
9019
9020 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9021
9022         * libs/gst/base/gstbasesrc.h:
9023           Note in the docs that the ::newsegment vfunc is not actually used by
9024           GstBaseSrc.
9025
9026 2006-07-28  Wim Taymans  <wim@fluendo.com>
9027
9028         * libs/gst/base/gstcollectpads.c:
9029         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9030         (gst_collect_pads_clear), (gst_collect_pads_flush),
9031         (gst_collect_pads_event), (gst_collect_pads_chain):
9032         When flushing a pad, also clear the queued buffer so that we don't
9033         accidentally use it when we shouldn't.
9034         Fix leaks by inreffing incomming buffer.
9035         Flush out queued buffers in case of errors.
9036         Fixes #347452.
9037
9038 2006-07-28  Wim Taymans  <wim@fluendo.com>
9039
9040         * docs/random/phonon-gst:
9041         Random notes about a Phonon backend.
9042
9043 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9044
9045         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9046         Extra debug output
9047         * tests/check/libs/gdp.c: (gst_dp_suite):
9048         Take a whack at fixing the ppc compile using a different define to
9049         disable the broken test.
9050
9051         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9052         Remove excess g_print()
9053
9054 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9055
9056         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9057         Oops, meant to uncomment this line too to dampen the noise a bit.
9058
9059 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9060
9061         * gst/parse/grammar.y:
9062         * gst/parse/parse.l:
9063         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9064         (GST_START_TEST), (parse_suite):
9065         Fix some of the leaks exposed by extending the parse-launch testsuite,
9066         and move the 3 I can't figure out into a separate test that won't run
9067         the pipelines unless the appropriate line is uncommented.
9068
9069 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9070
9071         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9072           Requesting 0 bytes before the end of the file should result in
9073           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9074           unit test.
9075
9076 2006-07-27  Wim Taymans  <wim@fluendo.com>
9077
9078         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9079         Fix useless assert, a uint is always positive.
9080
9081         * gst/gststructure.c: (gst_structure_nth_field_name),
9082         (gst_structure_foreach), (gst_structure_map_in_place):
9083         Check input arguments for public functions to avoid obvious crashes.
9084
9085         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9086         * plugins/elements/gstfakesink.h:
9087         Do less useless typechecking.
9088
9089 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9092           Do not use mmap() by default since there are a number of error
9093           conditions that we would like to handle in a non-fatal way that
9094           will result in a SIGBUS if we use mmap(). Examples: external
9095           devices (USB harddrive, portable music player) being unplugged
9096           while in use; file on mounted CD/DVD that can't be read because
9097           the medium is partly damaged. Fixes #348455 and #348475.
9098
9099 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9100
9101         * gst/gstquery.h:
9102         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9103         rates are a gdouble
9104
9105 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9106
9107         * gst/gstregistry.c:
9108           Move big documentation comment into class section header, so that it
9109           appears in the API docs.
9110
9111 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9112
9113         * docs/gst/gstreamer-sections.txt:
9114         Oops. Commit the docs additions too for new API.
9115         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9116
9117 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9118
9119         * gst/gststructure.c: (gst_structure_id_set),
9120         (gst_structure_id_set_valist):
9121         * gst/gststructure.h:
9122         Add API for setting values into structures without performing
9123         a quark lookup, if the appropriate quark is already known.
9124
9125         API: gst_structure_id_set
9126         API: gst_structure_id_set_valist
9127
9128         * gst/parse/grammar.y:
9129         * gst/parse/parse.l:
9130         Remove some dead code shown by the coverage information.
9131         Don't throw a critical g_warning when encountering a syntax error,
9132         just warn and let the normal error path handle it.
9133
9134         * plugins/elements/gstelements.c:
9135         Bump the rank of filesink up to PRIMARY so that it is preferred over
9136         gnomevfssink for file:// sink uri's
9137
9138         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9139         (GST_START_TEST), (run_delayed_test),
9140         (gst_parse_test_element_base_init),
9141         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9142         (gst_parse_test_element_change_state),
9143         (gst_register_parse_element), (parse_suite):
9144         Beef up the tests for parse syntax to check that more error cases
9145         fail as they are supposed to. Increases the test coverage a bit.
9146
9147 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9148
9149         * docs/manual/basics-elements.xml:
9150           Fix gst_element_link() example.
9151
9152         * gst/gstutils.c:
9153           Mention in API docs that one should usually gst_bin_add()
9154           elements to a bin or pipeline before doing the linking.
9155           
9156 2006-07-26  Wim Taymans  <wim@fluendo.com>
9157
9158         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9159         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9160         Avoid function call for known types by keeping the buffer and
9161         subbuffer GType global.
9162
9163         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9164         Random silly optimisations in read() path.
9165
9166 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9167
9168         * tools/gst-launch.c: (main):
9169           If the top-level of the parse is a normal bin, it doesn't do the
9170           right logic to run as a top-level element, so place it inside a
9171           pipeline.
9172
9173 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9174
9175         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9176           Remove superfluous g_object_notify() calls, GObject does
9177           that for us automatically.
9178
9179 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9180
9181         * gst/gstinfo.h:
9182           on Win32, use dllspec to export the debug category symbols
9183
9184 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9185
9186         * gst/gsttaglist.c: (_gst_tag_initialize):
9187           Allow more than one GST_TAG_IMAGE per taglist.
9188
9189 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * gst/gstminiobject.c:
9192           update docs
9193         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9194         (gst_fd_src_create):
9195           log recurring events at LOG level
9196           add more debug for when the fd gets set
9197
9198 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9199
9200         * gst/gstparse.c: (gst_parse_launch):
9201           Also remove reentrance checks if flex is MT safe (#348179)
9202          Fix my empty ChangeLog entry below
9203
9204 2006-07-21  Andy Wingo  <wingo@pobox.com>
9205
9206         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9207
9208         * libs/gst/check/Makefile.am
9209         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9210         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9211         * libs/gst/check/gstbufferstraw.h:
9212         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9213         functions, thus proving I am still a GStreamer haxor. OK I wrote
9214         them a long time ago, but anyways.
9215
9216 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9217
9218         * configure.ac:
9219         * gst/gstparse.c: (gst_parse_launch):
9220           Check for flex version and omit mutex if we have a MT save flex
9221           (fixes #348179)
9222
9223 2006-07-21  Wim Taymans  <wim@fluendo.com>
9224
9225         * gst/gstparse.c: (gst_parse_launch):
9226         Protect recursive calls to _parse with a recursive mutex
9227         and busy flag.
9228
9229 2006-07-21  Wim Taymans  <wim@fluendo.com>
9230
9231         * tests/check/gst/gstpad.c: (GST_START_TEST):
9232         Fix leak in test.
9233
9234 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9235
9236         * gst/gstparse.c: (gst_parse_launch):
9237           Do not hang on recursive usage of gst_parse_launch()
9238
9239 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9240
9241         * gst/gsttaglist.c:
9242           Add some more docs, comments and FIXME 0.11s here and there
9243           and also fix some typos.
9244
9245 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9246
9247         * gst/gstsegment.h:
9248           Convert tabs to spaces for better readability. 
9249
9250 2006-07-20  Edward Hervey  <edward@fluendo.com>
9251
9252         * tests/check/libs/gdp.c: (gst_dp_suite):
9253         the test_buffer test fails at line 140 on ppc64 at the following
9254         check:
9255         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9256                 GST_BUFFER_FLAG_IN_CAPS),
9257                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9258         See bug #348114 for more details.
9259
9260 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9261
9262         * docs/pwg/advanced-scheduling.xml:
9263         * gst/gstpad.c:
9264           Fix typos (#348000).
9265
9266 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9267
9268         * docs/pwg/intro-basics.xml:
9269           Fix wrong links (#347927).
9270
9271 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9272
9273         * gst/gstregistry.h:
9274         * gst/gstregistryxml.c: (load_feature),
9275         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9276         * win32/common/config.h:
9277           make --disable-index work (#342564)
9278
9279 2006-07-18  Wim Taymans  <wim@fluendo.com>
9280
9281         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9282
9283         * gst/Makefile.am:
9284         * gst/gsttrace.h:
9285         The attached patch adds two missing defines to gsttrace.h when tracing
9286         is disabled.  It also corrects one existing define.
9287         Fixes #347756.
9288
9289 2006-07-17  Wim Taymans  <wim@fluendo.com>
9290
9291         * docs/gst/gstreamer-sections.txt:
9292         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9293         * gst/gst.h:
9294         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9295         Add two functions to check and change the SIGSEGV behaviour
9296         when loading plugins.
9297         Don't mess with the SIGSEGV handler when we were told not to.
9298         Fixes #347794.
9299         API: gst_segtrap_is_enabled
9300         API: gst_segtrap_set_enabled
9301
9302 2006-07-14  Wim Taymans  <wim@fluendo.com>
9303
9304         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9305         * tests/check/elements/filesrc.c: (GST_START_TEST):
9306         Revert fix for regression in #347408 after release.
9307
9308 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9309
9310         Patch by: Antoine Tremblay <hexa00 at gmail com>
9311
9312         * gst/gstutils.c: (gst_element_unlink):
9313           Free iterator when done (#347311).
9314
9315         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9316           And add a test case for this.
9317
9318 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9319
9320         * configure.ac:
9321         Bump nano back to CVS
9322
9323 === release 0.10.9 ===
9324
9325 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9326
9327         * configure.ac:
9328           releasing 0.10.9, "On the road again"
9329
9330 2006-07-13  Wim Taymans  <wim@fluendo.com>
9331
9332         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9333         * tests/check/elements/filesrc.c: (GST_START_TEST):
9334         Revert pull-0 fix for release. Disable check. Fixes #347408.
9335
9336 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9337
9338         * libs/gst/dataprotocol/dataprotocol.c:
9339         (gst_dp_event_from_packet_1_0):
9340           Fixes #347337: failure to deserialize event packets with
9341           empty payload (only event type)
9342
9343 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * gst/Makefile.am:
9346           do not install a .c file in the header directory
9347
9348 2006-07-13  Edward Hervey  <edward@fluendo.com>
9349
9350         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9351         GhostPad no longer implicitely use the padtemplates of the targets.
9352         Fixes #347384
9353
9354 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9355
9356         * gst/gstvalue.c: (gst_value_compare_list),
9357         (gst_value_compare_array), (_gst_value_initialize):
9358         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9359         Make GstValueArray comparison be order dependent as designed.
9360         Add checks for value lists and value array comparisons.
9361         Fixes #347221
9362
9363 2006-07-11  Edward Hervey  <edward@fluendo.com>
9364
9365         * gst/gstbin.c: (activate_pads),
9366         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9367         (gst_bin_change_state_func):
9368         (de)activate src pads before calling state_change on the childs.
9369         This is to avoid the case where a src ghostpad is blocked (holding the
9370         stream lock), which would block the deactivation of the ghostpad's
9371         target pad.
9372         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9373         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9374         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9375         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9376         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9377         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9378         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9379         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9380         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9381         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9382         (gst_ghost_pad_class_init),
9383         (gst_ghost_pad_internal_do_activate_push),
9384         (gst_ghost_pad_internal_do_activate_pull),
9385         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9386         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9387         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9388         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9389         GhostPads now create their internal GstProxyPad at creation (and not
9390         when they're linked, as it was being done previously).
9391         The internal and target pads are linked straight away.
9392         The data will also travel through the other pad in order to make
9393         pad blocking and probes non-hackish (the probe/block now really happens
9394         on the GhostPad and not on the target).
9395         * gst/gstpad.c: (gst_pad_set_blocked_async),
9396         (gst_pad_link_prepare), (gst_pad_push_event):
9397         Remove previous ghostpad cruft.
9398         * gst/gstutils.c: (gst_pad_add_data_probe),
9399         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9400         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9401         (gst_pad_remove_buffer_probe):
9402         Remove previous ghost pad cruft.
9403         Added more detailed debug statements.
9404         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9405         Fix the testsuite for refcounting changes.
9406         The comments about who has references were correct, but the refcount
9407         being checked wasn't the same (!?!).
9408
9409         Fixes #341029
9410
9411 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9412
9413         * docs/gst/gstreamer-sections.txt:
9414         * gst/gstconfig.h.in:
9415         More docs for configuration options, add docs to gtk-doc.
9416
9417 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9418
9419         * gst/Makefile.am:
9420         * gst/gstconfig.h.in:
9421         * win32/common/config.h:
9422         Fix build when disabling tracing (fixes #344016). Also start to document
9423         the defines that disable the sub-systems.
9424
9425 2006-07-10  Edward Hervey  <edward@fluendo.com>
9426
9427         * gst/gst.c: (ensure_current_registry_forking):
9428         let's make valgrind happy...
9429
9430 2006-07-09  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/gstelement.c: (activate_pads),
9433         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9434         Better pad activation code: Reset the collect value too on resync.
9435         Add some comments.
9436
9437 2006-07-09  Wim Taymans  <wim@fluendo.com>
9438
9439         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
9440         (gst_pad_activate_push):
9441         Use some more macros where it makes sense.
9442         Allow pad mode switching instead of asserting. When a pad
9443         is activated in one mode and we activate it in another, 
9444         deactivate it first before activating it in a different mode.
9445         Fixes #329198.
9446
9447 2006-07-08  Andy Wingo  <wingo@pobox.com>
9448
9449         * tools/gst-launch.c (main): Handle err == NULL.
9450
9451         * gst/gst.c (init_post, ensure_current_registry)
9452         (ensure_current_registry_forking)
9453         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
9454         factoring out the registry scanning into separate functions. Don't
9455         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
9456         Better environment var name/interface suggestions accepted.
9457
9458 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9459
9460         * gst/gstobject.c: (gst_object_set_name_default),
9461         (gst_object_set_name):
9462           Random micro-optimisation: don't use a hash table
9463           with strings as keys and the usual strdup/strcmp
9464           involved, but rather just use the GQuark of the
9465           type name as key, since it needs to be looked up
9466           anyway to get the type name string.
9467
9468         * tests/check/gst/gstobject.c: (GST_START_TEST):
9469           Fix various leaks.
9470
9471 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9472
9473         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
9474         (gst_bin_iterate_all_by_interface):
9475           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
9476           GTypes are gulongs and thus the top 4 bytes might be cut
9477           off on some platforms when doing GPOINTER_TO_INT, leading
9478           to invalid GTypes and bad things happening (see RH bug #179654).
9479           Also add a check to make sure the type passed in is really
9480           an interface type.
9481
9482 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9483
9484         * .cvsignore:
9485           Ignore more.
9486
9487 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9488
9489         * Makefile.am:
9490         * configure.ac:
9491         * gst-element-check.m4:
9492         * gst-element-check.m4.in:
9493           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
9494           instead of the unversioned gst-inspect (#324176, #168659).
9495
9496 2006-07-06  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/gstmessage.h:
9499         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
9500         warnings.
9501
9502 2006-07-06  Wim Taymans  <wim@fluendo.com>
9503
9504         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9505         (gst_base_src_wait), (gst_base_src_update_length),
9506         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
9507         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
9508         (gst_base_src_loop), (gst_base_src_start),
9509         (gst_base_src_activate_pull):
9510         Update docs.
9511         blocksize == 0 now means the default blocksize when working in push
9512         based mode.
9513         Remove some pointless asserts in _wait function.
9514         Fix offset/length calculations and EOS handling. We can now pull 0
9515         bytes as well, which is allowed.
9516         use _check_get_range() to decide if we can operate in _pull based
9517         mode.
9518         Fix refcounting leak when check_get_range function was not 
9519         implemented.
9520         API GstBaseSrc::blocksize range can be 0 too now (default)
9521
9522         * tests/check/elements/filesrc.c: (GST_START_TEST),
9523         (filesrc_suite):
9524         Added check to test _get_range() behaviour.
9525
9526 2006-07-06  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9529         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
9530         (gst_pad_pull_range):
9531         * gst/gstpad.h:
9532         Lots of comments and docs added to the pad functions.
9533         Flesh out the expected behaviour of the get_range() functions.
9534
9535 2006-07-06  Wim Taymans  <wim@fluendo.com>
9536
9537         * gst/gstbus.h:
9538         * gst/gstclock.h:
9539         * gst/gstevent.h:
9540         * gst/gstiterator.h:
9541         * gst/gstpad.h:
9542         * gst/gstplugin.h:
9543         * gst/gsttask.h:
9544         Remove comma at end of enumerator list. 
9545
9546 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
9547
9548         * win32/common/libgstbase.def:
9549         * win32/common/libgstdataprotocol.def:
9550         * win32/common/libsgtreamer.def:
9551         Add new exported functions.
9552
9553 2006-07-05  Wim Taymans  <wim@fluendo.com>
9554
9555         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
9556         Add some more docs here and there.
9557
9558 2006-07-05  Wim Taymans  <wim@fluendo.com>
9559
9560         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
9561         (gst_base_sink_loop), (gst_base_sink_get_position):
9562         When operating in pull mode update the offset so that we
9563         read sequentially.
9564
9565 2006-07-05  Wim Taymans  <wim@fluendo.com>
9566
9567         * gst/gstregistryxml.c: (read_string):
9568         Avoid strdup. (will happen in libxml, but hey!)
9569
9570         * gst/gsturi.c:
9571         Add some more docs.
9572
9573 2006-07-05  Wim Taymans  <wim@fluendo.com>
9574
9575         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
9576         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9577         (gst_buffer_suite):
9578         No point in checking if the size of the subbuffer > 0, the
9579         code handles it correclty as demonstrated by unit test.
9580         Also add a unit test for the zero sized _new_and_alloc and
9581         _copy. Fixes #346663.
9582
9583 2006-07-05  Wim Taymans  <wim@fluendo.com>
9584
9585         * libs/gst/base/gstbasetransform.c:
9586         (gst_base_transform_prepare_output_buffer),
9587         (gst_base_transform_buffer_alloc),
9588         (gst_base_transform_handle_buffer):
9589         Make sure the buffer we pass to transform_ip has a refcount of
9590         1 and thus is writable. Fixes #343196
9591
9592 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
9593
9594         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9595         (gst_file_src_init), (gst_file_src_set_property),
9596         (gst_file_src_get_property), (gst_file_src_map_region):
9597         * plugins/elements/gstfilesrc.h:
9598         Add "sequential" property, off by default, to use madvise and hint
9599         to the kernel that sequential access is desired.
9600         Touch all retrieved pages by default to ensure they are pulled
9601         into memory. (Closes #345720)
9602
9603 2006-07-03  Wim Taymans  <wim@fluendo.com>
9604
9605         * docs/design/part-block.txt:
9606         * docs/design/part-dynamic.txt:
9607         Small docs updates.
9608
9609 2006-07-03  Wim Taymans  <wim@fluendo.com>
9610
9611         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
9612         (gst_caps_unref), (gst_static_caps_get),
9613         (gst_caps_append_structure):
9614         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
9615         Use GSlice when the glib we build against is >= 2.10
9616
9617 2006-07-03  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstelement.c: (gst_element_pads_activate):
9620         Small cleanup in pad activation code.
9621
9622 2006-07-03  Wim Taymans  <wim@fluendo.com>
9623
9624         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9625
9626         * gst/gst-i18n-app.h:
9627         * gst/gst-i18n-lib.h:
9628         * tools/gst-inspect.c: (print_signal_info):
9629         The attached patch will make the inclusion of gettext.h unconditional in
9630         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
9631         libintl.h in tools/gst-inspect.c.
9632         This allows use of --disable-nls again and fixes #344642.
9633
9634 2006-07-03  Edward Hervey  <edward@fluendo.com>
9635
9636         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
9637         Implement pad blocking on events according to part-block.txt.
9638         More comments on behaviour.
9639         * tests/check/gst/gstevent.c: (test_event):
9640         Send event to peer pad of blocked pad (else it will block).
9641
9642 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9643
9644         * libs/gst/check/gstcheck.c: (gst_check_message_error),
9645         (gst_check_run_suite):
9646           if we get the wrong message, give us the types as string
9647         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9648           Fix a translatable
9649         * tests/check/elements/filesrc.c: (GST_START_TEST):
9650           add a test for trying to open a non-existing file
9651
9652 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9653
9654         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9655           add a test for adding self
9656
9657 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * libs/gst/check/gstcheck.h:
9660           add some assert_ as alias for fail_unless_*
9661         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
9662           increase test coverage
9663
9664 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * Makefile.am:
9667           include lcov.mak for lcov coverage generation
9668         * tools/Makefile.am:
9669           add to CLEANFILES
9670
9671 2006-07-02  Edward Hervey  <edward@fluendo.com>
9672
9673         * tests/check/elements/.cvsignore:
9674         moaping
9675
9676 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9677
9678         * configure.ac:
9679           don't set CFLAGS and friends for gcov, done from GST_GCOV now
9680         * tests/check/Makefile.am:
9681           clean up gcov files
9682
9683 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
9686           remove gst_caps_simplify; it was not declared and not used
9687           and deprecated in 0.8
9688
9689 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * docs/faq/gst-uninstalled:
9692           don't put empty paths on PYTHONPATH
9693         * docs/gst/gstreamer-sections.txt:
9694           remove some symbols that are not there
9695
9696 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9697
9698         * gst/gstcaps.c: (gst_caps_compare_structures):
9699           whitespace fixes
9700         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9701         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9702           add more tests
9703
9704 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9705
9706         * libs/gst/dataprotocol/Makefile.am:
9707           build dataprotocol test by linking to the lib, instead of
9708           compiling the source, so we get coverage
9709         * tests/check/Makefile.am:
9710         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
9711         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
9712           add a test for filesrc
9713
9714 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * tests/check/gst/gststructure.c: (GST_START_TEST),
9717         (gst_structure_suite):
9718           Push coverage from 59.04% to 70.00%
9719
9720 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9721
9722         * tests/check/Makefile.am:
9723           gst-inspect every element; this makes sure that we also get
9724           coverage on element's get/set functions
9725
9726 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * configure.ac:
9729           set CFLAGS and friends to -O0 if gcov is being used
9730           add GCOV LIBS
9731         * gst/Makefile.am:
9732         * libs/gst/base/Makefile.am:
9733         * libs/gst/check/Makefile.am:
9734         * libs/gst/controller/Makefile.am:
9735         * libs/gst/dataprotocol/Makefile.am:
9736         * libs/gst/net/Makefile.am:
9737         * plugins/elements/Makefile.am:
9738         * plugins/indexers/Makefile.am:
9739           add makefile rules to generate gcov data and clean up
9740         * tests/check/Makefile.am:
9741           add a coverage target that generates an html overview
9742           of coverage data
9743
9744 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9745
9746         * tests/check/elements/fakesink.c:
9747         * tests/check/elements/fakesrc.c:
9748         * tests/check/elements/fdsrc.c:
9749         * tests/check/elements/identity.c:
9750         * tests/check/generic/sinks.c: (gst_sinks_suite):
9751         * tests/check/generic/states.c:
9752         * tests/check/gst/gst.c:
9753         * tests/check/gst/gstabi.c:
9754         * tests/check/gst/gstbin.c:
9755         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
9756         * tests/check/gst/gstbus.c: (gst_bus_suite):
9757         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9758         * tests/check/gst/gstelement.c:
9759         * tests/check/gst/gstevent.c: (gst_event_suite):
9760         * tests/check/gst/gstghostpad.c:
9761         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
9762         * tests/check/gst/gstmessage.c: (gst_message_suite):
9763         * tests/check/gst/gstminiobject.c:
9764         * tests/check/gst/gstobject.c:
9765         * tests/check/gst/gstpad.c:
9766         * tests/check/gst/gstpipeline.c:
9767         * tests/check/gst/gstplugin.c:
9768         * tests/check/gst/gstquery.c: (gst_query_suite):
9769         * tests/check/gst/gstsegment.c: (gst_segment_suite):
9770         * tests/check/gst/gststructure.c:
9771         * tests/check/gst/gstsystemclock.c:
9772         * tests/check/gst/gsttag.c:
9773         * tests/check/gst/gsttask.c: (gst_task_suite):
9774         * tests/check/gst/gstutils.c:
9775         * tests/check/gst/gstvalue.c:
9776         * tests/check/libs/adapter.c:
9777         * tests/check/libs/basesrc.c:
9778         * tests/check/libs/collectpads.c:
9779         * tests/check/libs/controller.c:
9780         * tests/check/libs/gdp.c: (gst_dp_suite):
9781         * tests/check/libs/gstnetclientclock.c:
9782         * tests/check/libs/gstnettimeprovider.c:
9783         * tests/check/libs/libsabi.c: (libsabi_suite):
9784         * tests/check/libs/typefindhelper.c:
9785         * tests/check/pipelines/cleanup.c:
9786         * tests/check/pipelines/parse-launch.c:
9787         * tests/check/pipelines/simple-launch-lines.c:
9788         * tests/check/pipelines/stress.c: (stress_suite):
9789           use the new macro
9790
9791 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
9794         * libs/gst/check/gstcheck.h:
9795           create a macro and function so that the simple unit test
9796           case can be just one macro to create main()
9797
9798 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
9799
9800         * gst/gstbin.c: (gst_bin_restore_thyself):
9801         * gst/gstxml.c: (gst_xml_make_element):
9802           Fix deserialisation from XML. Set parent manually
9803           instead of using gst_bin_add(), since gst_bin_add()
9804           will unlink all pads of the element being added.
9805           Fixes #341667.
9806
9807 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
9808
9809         Patch by: Peter Kjellerstedt <pkj at axis com>
9810
9811         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
9812           Fix missing g_strdup() and double free when using the
9813           --gst-plugin-load command line option (#346097).
9814
9815 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9816
9817         * gst/gstinfo.c:
9818           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
9819
9820         * libs/gst/net/gstnetclientclock.c:
9821         * libs/gst/net/gstnettimeprovider.c:
9822           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
9823
9824 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9825
9826         * docs/manual/advanced-dataaccess.xml:
9827           Fix buffer probe example compilation in
9828           ADM (#345708).
9829         
9830 2006-06-22  Edward Hervey  <edward@fluendo.com>
9831
9832         * gst/gstelement.c: (gst_element_pads_activate):
9833         We need to deactivate src pads first and then sink pads.
9834         The reason is the src pads might be blocking while holding the streaming
9835         lock, so we need to deactivate them first so that deactivating the sink
9836         pads doesn't block (since it will require the streaming lock).
9837
9838 2006-06-22  Wim Taymans  <wim@fluendo.com>
9839
9840         * libs/gst/base/gstbasetransform.c:
9841         (gst_base_transform_buffer_alloc):
9842         Forgot to remove two unneeded unrefs.
9843         Simplify a check _is_equal allready checks the obvious case.
9844
9845 2006-06-22  Wim Taymans  <wim@fluendo.com>
9846
9847         * docs/design/part-block.txt:
9848         Some docs about what pad_block should do.
9849
9850 2006-06-22  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/gstcaps.c: (gst_caps_replace):
9853         Fix crasher when passed NULL. Doc clarification.
9854         Optimize for the trivial case.
9855
9856         * gst/gstpipeline.c: (gst_pipeline_change_state):
9857         Small cleanups.
9858
9859         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9860         Small documentation cleanup.
9861
9862         * libs/gst/base/gstbasetransform.c:
9863         (gst_base_transform_buffer_alloc):
9864         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
9865         is what we need and it avoids a whole lot of redundant 
9866         refcount operations.
9867
9868 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
9869
9870         Patch by: Philip Jägenstedt  <philip at lysator liu se>
9871
9872         * docs/manual/advanced-dataaccess.xml:
9873           Fix 'Embedding static elements' section to use
9874           GST_PLUGIN_DEFINE_STATIC (#345607).
9875
9876 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9877
9878         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
9879           Attempt to 'fix' spuriously failing test case: it seems like the
9880           timeout of half a second is simply too small when the system is under
9881           load otherwise, and the timeout doesn't really seem to serve any
9882           particular purpose here. Give the pipeline a few seconds to preroll
9883           first, and then give it another half a second to go from PAUSED to
9884           PLAYING and marshal the message into the main thread.
9885
9886 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9887
9888         * tools/gst-feedback-m.m:
9889           Don't only use unversioned tools, try versioned tools as well
9890           (#345086).
9891
9892 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9893
9894         * gst/gstbus.c: (gst_bus_class_init):
9895           Fix some typos, make docs more explicit.
9896
9897 2006-06-20  Wim Taymans  <wim@fluendo.com>
9898
9899         * tests/check/gst/gstghostpad.c: (block_callback),
9900         (GST_START_TEST), (gst_ghost_pad_suite):
9901         Added some more ghostpad tests, mainly blocking
9902         and probes.
9903
9904 2006-06-16  Wim Taymans  <wim@fluendo.com>
9905
9906         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9907         (gst_file_sink_close_file), (gst_file_sink_do_seek),
9908         (gst_file_sink_event), (gst_file_sink_render):
9909         * plugins/elements/gstfilesink.h:
9910         Check if we can seek in the file instead of assuming
9911         we always can. Post an error when we are asked to seek in a
9912         non-seekable file (like a fifo). Fixes #343312.
9913         Some cleanups.
9914
9915 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9916
9917         * tools/gst-launch.1.in:
9918           Un-garble (fourcc) bit in filtered caps section.
9919
9920 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9921
9922         * docs/manual/advanced-autoplugging.xml:
9923         * docs/manual/basics-helloworld.xml:
9924         * docs/manual/highlevel-components.xml:
9925           Don't leak bus reference in sample code.
9926
9927 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
9928
9929         * autogen.sh:
9930           Add default for new --enable-plugin-docs switch.
9931
9932         * configure.ac:
9933           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
9934           Fixes #344039.
9935
9936         * docs/Makefile.am:
9937           Use new ENABLE_PLUGIN_DOCS conditional.
9938
9939 2006-06-14  Wim Taymans  <wim@fluendo.com>
9940
9941         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
9942         Make it clear with a FIXME and a real define what the #if 0
9943         previously disabled.
9944
9945 2006-06-14  Wim Taymans  <wim@fluendo.com>
9946
9947         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9948         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
9949         * libs/gst/base/gstbasetransform.c:
9950         (gst_base_transform_sink_eventfunc):
9951         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9952         Don't randomly and silently reset a segment when the format 
9953         changes as this is a bug somewhere upstream. Fixes #330379.
9954
9955 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
9956
9957         Patch by: Wouter Paesen  <wouter at kangaroot net>
9958
9959         * libs/gst/controller/gstcontroller.c:
9960         (gst_controlled_property_new):
9961           Fix controlling of float properties (#344849).
9962
9963         * tests/check/libs/controller.c:
9964         (gst_test_mono_source_get_property),
9965         (gst_test_mono_source_set_property),
9966         (gst_test_mono_source_class_init), (GST_START_TEST):
9967           While we're at it, add some float stuff to unit test.
9968
9969 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * docs/README:
9972         * docs/images/gdp-header.svg:
9973           add a gdp image
9974         * docs/libs/Makefile.am:
9975         * docs/libs/gdp-header.png:
9976         * libs/gst/dataprotocol/dataprotocol.c:
9977           add it to the API docs
9978         * docs/manual/intro-motivation.xml:
9979           fix typo
9980
9981 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9982
9983         * gst/gst.c: (scan_and_update_registry), (init_post):
9984           If the fork()'ed child process can't write the updated registry cache
9985           file to disk for some reason, make it exit with a failure exit code,
9986           so that the parent can then re-scan the plugins itself and update the
9987           registry structures in memory and work with that (rather than failing
9988           when creating elements because seemingly no plugins are available).
9989           Refactor registry scanning code into separate function for this and
9990           also separate fork() and non-fork() code paths. Fixes #344748.
9991
9992 2006-06-13  Wim Taymans  <wim@fluendo.com>
9993
9994         * docs/manual/advanced-dataaccess.xml:
9995         Fix wrong PluginDesc. Fixes #344755.
9996
9997 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9998
9999         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10000           Fix silly bug that prevented us from creating
10001           ~/.gstreamer-0.10 and writing the registry in one
10002           go (the first call to g_mkstemp() would overwrite the
10003           placeholder in the template string, so the second call
10004           to g_mkstemp() after creating the missing directory
10005           would then error out with 'invalid argument').
10006
10007 2006-06-13  Edward Hervey  <edward@fluendo.com>
10008
10009         * gst/gst.c: (init_post):
10010         Free string.
10011
10012 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10013
10014         * gst/glib-compat-private.h:
10015         * gst/glib-compat.c:
10016         * gst/glib-compat.h:
10017         * gst/gstvalue.c: (gst_value_serialize_flags):
10018           remove GLib 2.6 compatibility code
10019
10020 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10021
10022         * gst/parse/Makefile.am:
10023           Fix build with 'make -j N' even more (#340016).
10024
10025 2006-06-12  Wim Taymans  <wim@fluendo.com>
10026
10027         * docs/gst/gstreamer-sections.txt:
10028         Fix docs.
10029
10030 2006-06-12  Wim Taymans  <wim@fluendo.com>
10031
10032         * gst/gstsegment.c: (gst_segment_set_duration),
10033         (gst_segment_set_last_stop), (gst_segment_set_seek),
10034         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10035         (gst_segment_to_running_time), (gst_segment_clip):
10036         Use G_UNLIKELY to help the compiler a bit.
10037
10038 2006-06-12  Wim Taymans  <wim@fluendo.com>
10039
10040         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10041
10042         * gst/gstevent.c: (gst_event_get_type):
10043         * gst/gstmessage.c:
10044         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10045         (gst_pad_push):
10046         constify quark registration strings. Fixes #344115
10047         Avoid unneeded type checking is _pad_push() by internally
10048         calling gst_pad_chain_unchecked().
10049
10050 2006-06-12  Wim Taymans  <wim@fluendo.com>
10051
10052         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10053         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10054         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10055         (gst_buffer_is_span_fast), (gst_buffer_span):
10056         Init _type for consistency.
10057         Use _FLAGS macro to avoid type check.
10058         Avoid unneeded type checks in subbufer code.
10059
10060 2006-06-12  Wim Taymans  <wim@fluendo.com>
10061
10062         * gst/gst.c: (gst_debug_help):
10063         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10064         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10065         (gst_plugin_feature_list_free):
10066         * gst/gstregistry.c: (gst_registry_add_plugin),
10067         (gst_registry_add_feature), (gst_registry_plugin_filter),
10068         (gst_registry_feature_filter), (gst_registry_find_plugin),
10069         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10070         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10071         * gst/gstregistryxml.c: (load_feature),
10072         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10073         * gst/gstminiobject.c: (gst_mini_object_unref),
10074         (gst_mini_object_replace), (gst_value_mini_object_free),
10075         (gst_value_mini_object_copy):
10076         Use _CAST macros to avoid unneeded type checking.
10077         Added some more G_UNLIKELY.
10078
10079 2006-06-12  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/gstbuffer.h:
10082         Avoid unneeded type checking.
10083         API: GST_BUFFER_IS_DISCONT
10084
10085         * gst/gstminiobject.h:
10086         Avoid type check in flag accessor.
10087
10088         * gst/gstelementfactory.h:
10089         * gst/gstplugin.h:
10090         * gst/gstpluginfeature.h:
10091         Add _CAST macros.
10092         API: GST_ELEMENT_FACTORY_CAST
10093         API: GST_PLUGIN_CAST
10094         API: GST_PLUGIN_FEATURE_CAST
10095
10096 2006-06-12  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10099         (gst_object_unref):
10100         Add G_UNLIKELY in type registration.
10101         Avoid type check in _ref/_unref since that is also
10102         done in glib.
10103
10104 2006-06-12  Wim Taymans  <wim@fluendo.com>
10105
10106         * gst/gsterror.c: (gst_g_error_get_type):
10107         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10108         (gst_static_pad_template_get_type):
10109         * gst/gsttaglist.c: (gst_tag_list_get_type):
10110         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10111         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10112         * gst/gsturi.c: (gst_uri_handler_get_type):
10113         * gst/gstvalue.c: (gst_date_get_type):
10114         * gst/gstxml.c: (gst_xml_get_type):
10115         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10116         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10117         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10118         Add G_UNLIKELY in type registration.
10119
10120 2006-06-12  Wim Taymans  <wim@fluendo.com>
10121
10122         * tools/gst-inspect.c: (print_signal_info):
10123         Properly print enum values.
10124
10125 2006-06-12  Wim Taymans  <wim@fluendo.com>
10126
10127         * gst/gstinfo.c: (gst_debug_set_active),
10128         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10129         * gst/gstinfo.h:
10130         Add some G_[UN]LIKELY.
10131         Maintain __gst_debug_min to avoid formatting the arguments of
10132         debug messages that will be dropped anyway to avoid a lot of 
10133         overhead from the debugging system.
10134
10135 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10136
10137         * po/POTFILES.in:
10138         * po/POTFILES.skip:
10139           add missing files containing translatable strings, tell intltool about
10140           one exception
10141
10142 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10143
10144         * tests/check/libs/.cvsignore:
10145         add test-binary to ignore list
10146
10147 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10148
10149         * docs/libs/gstreamer-libs-docs.sgml:
10150         reorder (put dp into a chapter) and indent
10151
10152 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10153
10154         * configure.ac:
10155           back to HEAD
10156
10157 === release 0.10.8 ===
10158
10159 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10160
10161         * configure.ac:
10162           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10163
10164 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * gst/gst.c: (init_post):
10167           move pid declaration to declaration block
10168
10169 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10170
10171         * gst/gst.c: (init_post):
10172           use _exit() instead of exit() in our forked child; this ensures
10173           that none of the registered exit handlers from whatever is using
10174           GStreamer get executed.  This fixes gnome-mixer-applet failing
10175           to load, because ORBit would shut down.
10176           Spotted by: Edward Hervey  <edward@fluendo.com>
10177           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10178           Fixes #344474
10179
10180 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * configure.ac:
10183           back to TRUNK
10184
10185 === release 0.10.7 ===
10186
10187 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10188
10189         * configure.ac:
10190           releasing 0.10.7, "Soepeke, ik zie ou"
10191
10192 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * configure.ac:
10195         * po/af.po:
10196         * po/az.po:
10197         * po/bg.po:
10198         * po/ca.po:
10199         * po/cs.po:
10200         * po/de.po:
10201         * po/en_GB.po:
10202         * po/fr.po:
10203         * po/it.po:
10204         * po/nb.po:
10205         * po/nl.po:
10206         * po/ru.po:
10207         * po/sq.po:
10208         * po/sr.po:
10209         * po/sv.po:
10210         * po/tr.po:
10211         * po/uk.po:
10212         * po/vi.po:
10213         * po/zh_CN.po:
10214         * po/zh_TW.po:
10215         * win32/common/config.h:
10216           0.10.6.2 prerelease
10217
10218 2006-06-07  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstindex.c: (gst_index_gtype_resolver):
10221         * tools/gst-xmlinspect.c: (print_plugin_info):
10222         Fix leak spotted by coverity checker. Fixes #343827
10223         Fix another other leak found by paolo borelli.
10224
10225 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10226
10227         * libs/gst/dataprotocol/dataprotocol.c:
10228         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10229         (gst_dp_version_get_type), (gst_dp_init),
10230         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10231         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10232         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10233         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10234         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10235         (gst_dp_packetizer_free):
10236         * libs/gst/dataprotocol/dataprotocol.h:
10237           API: add a GstDPPacketizer object, and create/free functions
10238           API: add GstDPVersion enum
10239           Add 1.0 event function that uses the string serialization
10240           Serialize more useful buffer flags
10241           Fixes #343988
10242
10243 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10244
10245         * tests/check/Makefile.am:
10246         * tests/check/gst/gstabi.c:
10247         * tests/check/gst/struct_ppc64.h:
10248         * tests/check/libs/libsabi.c:
10249         * tests/check/libs/struct_ppc64.h:
10250           add ppc64 structure sizes
10251
10252 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10253
10254         * tests/check/Makefile.am:
10255         * tests/check/gst/gstabi.c:
10256         * tests/check/gst/struct_x86_64.h:
10257         * tests/check/libs/libsabi.c:
10258         * tests/check/libs/struct_x86_64.h:
10259           generate and add structure size lists for x86_64
10260
10261 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10262
10263         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10264         * libs/gst/check/gstcheck.h:
10265           factor out the method from tests that checks size of structures,
10266           and add code to generate the header containing these sizes
10267         * tests/check/gst/gstabi.c: (GST_START_TEST):
10268         * tests/check/gst/struct_i386.h:
10269         * tests/check/libs/libsabi.c: (GST_START_TEST):
10270         * tests/check/libs/struct_i386.h:
10271           use it
10272
10273 2006-06-06  Michael Smith  <msmith@fluendo.com>
10274
10275         * gst/gstsegment.h:
10276           Don't use c++-style comments, fixes #343929
10277
10278 2006-06-05  Edward Hervey  <edward@fluendo.com>
10279
10280         * gst/gst.c:
10281         plugin_paths is not used if we build without registry support.
10282
10283         * gst/gstsegment.c: (gst_segment_copy): 
10284         _copy() was always returning NULL...
10285
10286 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * libs/gst/dataprotocol/dataprotocol.c:
10289         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10290         (gst_dp_packet_from_event):
10291           factor out CRC code
10292
10293 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10294
10295         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10296           make sure we unset caps
10297
10298 2006-06-02  Michael Smith  <msmith@fluendo.com>
10299
10300         * libs/gst/check/gstcheck.c: (gst_check_init),
10301         (gst_check_chain_func):
10302         * libs/gst/check/gstcheck.h:
10303           Add a cond/mutex to the check support lib, signal this whenever we
10304           add to the buffers list. This will allow tests to not busy-wait on
10305           the buffer-list.
10306
10307 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * libs/gst/dataprotocol/dataprotocol.c:
10310         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10311         (gst_dp_packet_from_event):
10312           factor out some common header init code
10313
10314 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * docs/libs/gstreamer-libs-sections.txt:
10317         * docs/libs/tmpl/gstdataprotocol.sgml:
10318         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10319         * libs/gst/dataprotocol/dataprotocol.h:
10320           API: make gst_dp_crc() public
10321
10322 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10323
10324         * plugins/indexers/gstindexers.c: (plugin_init):
10325         conditionally register fileindexer (fixes #343598)
10326
10327 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10328
10329         * gst/gsttagsetter.h:
10330         Can't cast ifaces to a class
10331
10332         * libs/gst/net/gstnetclientclock.h:
10333         * libs/gst/net/gstnettimeprovider.h:
10334         * plugins/elements/gstfakesink.h:
10335         * plugins/elements/gstfakesrc.h:
10336         * plugins/elements/gstfdsink.h:
10337         * plugins/elements/gstfdsrc.h:
10338         * plugins/elements/gstfilesink.h:
10339         * plugins/elements/gstfilesrc.h:
10340         * plugins/elements/gstidentity.h:
10341         * plugins/elements/gstqueue.h:
10342         * plugins/elements/gsttee.h:
10343         * plugins/indexers/gstfileindex.c:
10344         * plugins/indexers/gstmemindex.c:
10345         * tests/old/examples/plugins/example.h:
10346         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10347
10348 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * libs/gst/dataprotocol/dataprotocol.c:
10351         (gst_dp_header_from_buffer):
10352           make sure we zero the whole ABI-compatible area
10353
10354 2006-06-01  Wim Taymans  <wim@fluendo.com>
10355
10356         Patch by: Alessandro Decina <alessandro at nnva dot org>
10357
10358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10359         Make sure the EOS flag is cleared from pads after a flush
10360         or stop. Fixes #343538.
10361
10362         * tests/check/libs/collectpads.c: (GST_START_TEST),
10363         (gst_collect_pads_suite):
10364         Added test for collectpads reusage after EOS.
10365
10366 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10367
10368         * gst/gst.c:
10369          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10370         * win32/common/libgstbase.def:
10371          export gst_collect_pads_set_flushing
10372         * win32/common/libgstreamer.def:
10373          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10374          gst_value_fraction_multiply
10375         * win32/vs6/gst_inspect.dsp:
10376          add a link to intl.lib
10377
10378 2006-05-30  Wim Taymans  <wim@fluendo.com>
10379
10380         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10381         (gst_collect_pads_chain):
10382         Handle the case where a pad is removed from the collection
10383         that could cause the other pads to become collectable.
10384
10385 2006-05-30  Wim Taymans  <wim@fluendo.com>
10386
10387         * gst/gstelement.c:
10388         Clarify the use of _release_request_pad() and
10389         _get_request_pad() a bit better.
10390
10391         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10392         (gst_adapter_take_buffer):
10393         Fix some doc and comment typos.
10394
10395 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10396
10397         * docs/gst/gstreamer-sections.txt:
10398         * docs/libs/gstreamer-libs-sections.txt:
10399           add declared symbols
10400
10401 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10402
10403         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10404         Add debug that can be enabled using a #define at the top of the file,
10405         for dumping stats about how late/early we were when waking up from
10406         waiting on the clock.
10407
10408 2006-05-30  Wim Taymans  <wim@fluendo.com>
10409
10410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
10411         When rebuilding the pad list, don't leak the previous list.
10412
10413 2006-05-30  Wim Taymans  <wim@fluendo.com>
10414
10415         Patch by: Lutz Mueller <lutz at topfrose dot de>
10416
10417         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10418         (gst_base_src_get_query_types), (gst_base_src_update_length):
10419         Publish supported query types.
10420         Update last_stop field in get_range mode so the position
10421         query works. Fixes #342321.
10422
10423 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
10424
10425         * docs/gst/gstreamer-sections.txt:
10426         * gst/gsttaglist.c: (_gst_tag_initialize):
10427         * gst/gsttaglist.h:
10428           API: add GST_TAG_PREVIEW_IMAGE (#343341).
10429
10430 2006-05-30  Wim Taymans  <wim@fluendo.com>
10431
10432         Patch by: Alessandro Decina <alessandro at nnva dot org>
10433
10434         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10435         Unlock mutex when removing an unknown pad.
10436         Fixes #343334.
10437
10438         * tests/check/Makefile.am:
10439         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
10440         (push_event), (setup), (teardown), (GST_START_TEST),
10441         (gst_collect_pads_suite), (main):
10442         Added collecpads check, disabled for now as check crashes for
10443         some reason.
10444
10445 2006-05-29  Wim Taymans  <wim@fluendo.com>
10446
10447         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
10448         Don't leak pads lists.
10449
10450 2006-05-29  Wim Taymans  <wim@fluendo.com>
10451
10452         * docs/libs/gstreamer-libs-sections.txt:
10453         * libs/gst/base/gstcollectpads.c:
10454         (gst_collect_pads_set_flushing_unlocked),
10455         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10456         (gst_collect_pads_stop):
10457         * libs/gst/base/gstcollectpads.h:
10458         API: gst_collect_pads_set_flushing()
10459         Added api to set the pads to flushing, useful for seeking
10460         code in elements using collectpads.
10461         Clear segment when receiving a flush.
10462
10463 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         * gst/gst.c: (add_path_func), (init_post):
10466           Don't scan registry paths passed via --gst-plugin-path immediately
10467           (will crash, because absolutely nothing is set up and no types are
10468           registered etc.); do this later in init_post(). Fixes #343057.
10469
10470 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * gst/gst.c: (init_post):
10473           if we have fork, fork while reading/rebuilding the registry
10474           so the parent doesn't take the hit of having all plugins loaded
10475           in memory.  Fixes #342777.
10476         * configure.ac:
10477           Check if we have fork()
10478         * win32/common/config.h.in:
10479           no fork() on win32
10480
10481 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10482
10483         * plugins/elements/gstelements.c:
10484         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10485         (gst_file_src_init), (gst_file_src_set_property),
10486         (gst_file_src_get_property), (gst_file_src_start):
10487         * plugins/elements/gstfilesrc.h:
10488           API: GstFileSrc::use-mmap
10489
10490         Add a use-mmap property to enable easier testing of all code paths.
10491         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
10492         in the absence of gnomevfssrc. (Closes #340501)
10493
10494 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10495
10496         * tools/gst-inspect.c:
10497         Add missing include, removes warning of ngettext not being defined on
10498         some arches.
10499
10500 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10501
10502         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10503         Handle NULL input and output pointers silently as a failed conversion,
10504         rather than g_warnings.
10505
10506 2006-05-25  Wim Taymans  <wim@fluendo.com>
10507
10508         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
10509         Initialize variable before using. Fixes #342820.
10510
10511 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
10512
10513         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
10514           Fix off-by-one bug that would only allow peeks of N-1 bytes
10515           from the start even if the buffer to typefind on contains
10516           in fact N bytes of data (makes vorbis typefinding from a
10517           vorbis identification header buffer work).
10518
10519         * tests/check/Makefile.am:
10520         * tests/check/libs/.cvsignore:
10521         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
10522         (gst_typefindhelper_suite), (main), (foobar_typefind),
10523         (plugin_init):
10524           Add very basic unit test for gst_type_find_helper_for_buffer()
10525           that checks for the problem fixed above.
10526
10527 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10528
10529         * tools/gst-inspect.c: (print_interfaces),
10530         (print_element_properties_info), (print_element_list), (main):
10531           add more translatable strings
10532
10533 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
10534
10535         Patch by: Julien Moutte  <julien at moutte net>
10536
10537         * docs/gst/gstreamer-sections.txt:
10538           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
10539           
10540         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
10541         (gst_fake_sink_preroll):
10542         * plugins/elements/gstfakesink.h:
10543           API: Add new GstFakeSink::preroll-handoff signal (#337100).
10544
10545 2006-05-23  Wim Taymans  <wim@fluendo.com>
10546
10547         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
10548         * gst/gstpad.h:
10549         Added _CUSTOM error and success GstFlowReturn that can be
10550         used be elements internally. 
10551         Added macro to check for SUCCESS flowreturns.
10552         API: GST_FLOW_CUSTOM_SUCCESS
10553         API: GST_FLOW_CUSTOM_ERROR
10554         API: GST_FLOW_IS_SUCCESS
10555
10556         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
10557         Added check for GstFlowReturn sanity.
10558
10559 2006-05-23  Wim Taymans  <wim@fluendo.com>
10560
10561         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10562
10563         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10564         (gst_collect_pads_event):
10565         clear/reset segment info in FLUSH_STOP.
10566         Fixes #336929.
10567
10568 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
10569
10570         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
10571         (gst_collect_pads_check_collected):
10572         Flush queued buffer on _stop(), fixes playing again (#342454)
10573
10574 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10575
10576         * tests/check/gst/gststructure.c: (GST_START_TEST),
10577         (gst_structure_suite):
10578           add a test for a complete structure
10579
10580 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10581
10582         * docs/faq/developing.xml:
10583         * docs/faq/faq.xml:
10584         * docs/faq/troubleshooting.xml:
10585         * docs/faq/using.xml:
10586           Some minor FAQ updates that won't change the fact that
10587           our FAQ is badly structured, full of information hardly
10588           anyone new to GStreamer needs to know and lacking lots
10589           of information people constantly ask for.
10590           
10591 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
10592
10593         * gst/gstpad.c: (gst_pad_set_caps):
10594           Short-circuit gst_pad_set_caps if setting the existing
10595           caps pointer again, and avoid printing debug and 
10596           reffing/unreffing the caps.
10597
10598         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10599           There's actually no need to set the caps before pushing -
10600           the acceptcaps method will handle it anyway.
10601
10602 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10603
10604         * docs/gst/gstreamer-sections.txt:
10605         * win32/common/libgstreamer.def:
10606         * gst/gstutils.c: (gst_element_seek_simple):
10607         * gst/gstutils.h:
10608           API: add gst_element_seek_simple() (#342238).
10609
10610 2006-05-18  Edward Hervey  <edward@fluendo.com>
10611
10612         * gst/gsttypefind.c: (gst_type_find_get_type):
10613         * gst/gsttypefind.h:
10614         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
10615         registered for GstTypeFind pointers. This allows wrapping the structure
10616         in bindings (i.e. gst-python).
10617
10618 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10619
10620         * gst/gsttagsetter.c:
10621           Docs additions and fixes (see #339918).
10622
10623 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10624
10625         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10626         The caps intersection algorithm can produce multiple copies of the
10627         caps. Until that is fixed, we need to simplify the result to be
10628         sure whether the allowed caps are fixed or not.
10629
10630         * plugins/elements/gstqueue.c: (gst_queue_init),
10631         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
10632         (gst_queue_push_one):
10633         Proxied buffer alloc should not set the caps on the source pad.
10634         When pushing buffers, we always accept the caps change that triggers.
10635         This prevents negotiation errors caused by caps changing mid-stream 
10636         and then being refused on our source pad (because upstream is now
10637         refusing those caps).
10638
10639 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10640
10641         * tests/examples/helloworld/helloworld.c: (main):
10642           Must plug audioconvert and audioresample between decoder
10643           and audio sink.
10644
10645 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
10646
10647         * gst/gstregistryxml.c: (read_string), (load_pad_template),
10648         (load_feature), (load_plugin):
10649         Allow empty strings for some of the plugin fields so we don't 
10650         drop valid plugin entries that were written out correctly
10651         (Fixes #341479)
10652
10653 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
10654         
10655         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10656           Use g_remove and g_rename instead of remove and rename that don't 
10657           handle utf8 characters. rename was failing for users who had specific
10658           characters in their name then the registry was built at each 
10659           gstreamer init.
10660         * win32/vs6/gst_inspect.dsp:
10661         * win32/vs6/gst_launch.dsp:
10662         * win32/vs6/libgstbase.dsp:
10663         * win32/vs6/libgstcoreelements.dsp:
10664         * win32/vs6/libgstreamer.dsp:
10665           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
10666           build of libgstreamer and clean unused libraries in projects link 
10667           settings.
10668
10669 2006-05-17  Edward Hervey  <edward@fluendo.com>
10670
10671         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10672         The queue is not responsible for pushing an EOS when receiving a fatal
10673         flow error. It's up to the real element driving the pipeline to do that.
10674
10675 2006-05-16  Edward Hervey  <edward@fluendo.com>
10676
10677         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10678         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
10679         buffer returned a fatal error. It should just send an EOS and stop
10680         its task.
10681         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
10682         when pushing buffers on the queue and will be able to handle the event.
10683
10684 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
10685
10686         * docs/manual/basics-bins.xml:
10687         * docs/manual/basics-init.xml:
10688           Fix typos and minor errors in sample code (#341856).
10689
10690 2006-05-16  Wim Taymans  <wim@fluendo.com>
10691
10692         * docs/design/part-qos.txt:
10693         Fix indexes in formulas to make more sense.
10694
10695 2006-05-15  Wim Taymans  <wim@fluendo.com>
10696
10697         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10698         Don't report POSITION based on clock time if sync is
10699         disabled in a sink.
10700
10701 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
10702
10703         * gst/gstobject.h:
10704           Add cast to make compiler happy - refcount variable was a gint
10705           in GstObject but is a guint in GObject and g_atomic_int_get()
10706           wants a gint *.
10707
10708 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10709
10710         * gst/parse/Makefile.am:
10711           chain commands using &&, which also makes parallel make work
10712
10713 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
10714
10715         * docs/gst/gstreamer-sections.txt:
10716         * gst/gstevent.c:
10717         * gst/gstevent.h:
10718         * gst/gstmessage.h:
10719           Minor docs fixes.
10720
10721 === release 0.10.6 ===
10722
10723 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
10724
10725         * configure.ac:
10726           releasing 0.10.6, "Take the cannoli"
10727
10728 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10729
10730         * tools/gst-launch.c: (print_tag):
10731           Fix use of uninitialized variable in the hypothetical
10732           case that some broken plugin creates a GST_TAG_IMAGE
10733           tag containing a NULL buffer (#341667).
10734
10735 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10736
10737         * tools/gst-launch.c: (print_tag):
10738           Print something more intelligible for image tags when
10739           using the -t switch (#341556).
10740
10741 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * Makefile.am:
10744           updates for win32
10745         * configure.ac:
10746           define GST_MAJORMINOR so we have it available in win32/common/config.h
10747           Possibly remove it from our Makefile.am files later
10748         * win32/common/config.h:
10749         * win32/common/config.h.in:
10750           added GST_MAJORMINOR
10751         * win32/common/gstenumtypes.c: (register_gst_resource_error):
10752         * win32/common/gstversion.h:
10753           updated
10754
10755 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
10756
10757         * win32/MANIFEST:
10758           Update win32 files listing.
10759         * win32/common/gstversion.h:
10760           Add GST_MAJORMINOR definition.
10761         * win32/common/libgstreamer.def:
10762           Add new exported functions.
10763           
10764 2006-05-12  Michael Smith  <msmith@fluendo.com>
10765
10766         * gst/gstplugin.c: (gst_plugin_load_file):
10767           If an so file has no plugin entry point, unload the module.
10768
10769 2006-05-11  Wim Taymans  <wim@fluendo.com>
10770
10771         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
10772         (gst_queue_set_property):
10773         Don't forget to signal the _chain or _loop function 
10774         when the queue size or thresholds change since that might
10775         cause them to make progres again.
10776
10777 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
10778
10779         * gst/gstclock.c: (gst_clock_class_init):
10780         * gst/gstindex.c: (gst_index_class_init):
10781         * gst/gstobject.c: (gst_object_class_init):
10782         * gst/gstpad.c: (gst_pad_class_init):
10783         * gst/gstpipeline.c: (gst_pipeline_class_init):
10784         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10785         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
10786         * libs/gst/base/gstbasetransform.c:
10787         (gst_base_transform_class_init):
10788         * libs/gst/net/gstnetclientclock.c:
10789         (gst_net_client_clock_class_init):
10790         * libs/gst/net/gstnettimeprovider.c:
10791         (gst_net_time_provider_class_init):
10792         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
10793         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10794         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10795         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
10796         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10797         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10798         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10799         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10800         * plugins/elements/gsttee.c: (gst_tee_class_init):
10801         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10802         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10803           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
10804
10805 2006-05-11  Wim Taymans  <wim@fluendo.com>
10806
10807         * gst/gstbuffer.c: (_gst_buffer_initialize):
10808         Register subbufer along with the buffer type so that
10809         it does not accidentally gets registered from N
10810         different streaming threads in a non threadsafe way.
10811
10812 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10813
10814         * gst/gstbuffer.h:
10815         * gst/gstevent.h:
10816         * gst/gstmessage.h:
10817           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
10818           gst_event_ref() and gst_message_ref() functions again
10819           (ugly hack, please do fix if there's a better way besides
10820           overrides.txt, which doesn't seem to work).
10821
10822 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * libs/gst/check/gstcheck.h:
10825           add an assert for setting state to avoid lots of repetitive code
10826           in the future
10827
10828 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10829
10830         * gst/gstvalue.c: (gst_value_serialize_flags):
10831           fix a leak if no flags are set
10832         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10833           fix leak in tests
10834
10835 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10836
10837         * docs/manual/basics-pads.xml:
10838           Expand a bit on caps and filtered links and update
10839           examples that were still using the no longer existing
10840           gst_pad_link_filtered() (#338206).
10841
10842 2006-05-10  Wim Taymans  <wim@fluendo.com>
10843
10844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10845         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10846         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10847         (gst_collect_pads_stop):
10848         * libs/gst/base/gstcollectpads.h:
10849         No need to call _stop in _finalize.
10850         Iterate the main pad list in _finalize.
10851         Added some more debug.
10852         Free lists and data in the right order.
10853         Also free data whem doing _remove_pad when stopped for
10854         backward compatibility protect ::started with PAD_LOCK as
10855         well.
10856
10857 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
10860         (gst_structure_parse_value):
10861           add some comments
10862           rename a method so that it actually says what it does better
10863
10864 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * gst/gstevent.c: (_gst_event_initialize):
10867         * gst/gstformat.c: (_gst_format_initialize):
10868           make sure some essential types used by events are registered
10869           as part of gst_init()
10870         * gst/gstvalue.c: (gst_value_serialize_flags):
10871           if no flags are set, serialize them to a value that represents NONE
10872           so that deserializing them works
10873         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10874           add tests for serialization and deserialization of flags
10875
10876 2006-05-10  Wim Taymans  <wim@fluendo.com>
10877
10878         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
10879         (gst_collect_pads_collect_range), (gst_collect_pads_available),
10880         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
10881         (gst_collect_pads_event), (gst_collect_pads_chain):
10882         Update docs.
10883         Better debug info.
10884         Catch and return errors from the collect function
10885         Refuse data on eos pads.
10886
10887 2006-05-10  Edward Hervey  <edward@fluendo.com>
10888
10889         * gst/gstinterface.h:
10890         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
10891         GInterface type checking.
10892         They were previously using non-defined macros.
10893
10894 2006-05-09  Wim Taymans  <wim@fluendo.com>
10895
10896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
10897         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
10898         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
10899         (gst_collect_pads_start), (gst_collect_pads_stop),
10900         (gst_collect_pads_peek), (gst_collect_pads_pop),
10901         (gst_collect_pads_available), (gst_collect_pads_read),
10902         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
10903         (gst_collect_pads_is_collected), (gst_collect_pads_event),
10904         (gst_collect_pads_chain):
10905         * libs/gst/base/gstcollectpads.h:
10906         Clean up the mess that is collectpads, add comments and
10907         FIXMEs where needed.
10908         Maintain a separate pad list so we can add pads while
10909         collecting the other ones. For this we need a new separate 
10910         lock (see comics).
10911         Fix memory leak in finalize.
10912         Refactor some weird code to set/unset pad flushing flags, mark
10913         with comments.
10914         Don't crash in _available, _read, _flush when we're EOS.
10915
10916         * tests/check/libs/.cvsignore:
10917         Ignore adapter check binary.
10918
10919 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10920
10921         * gst/gstindex.c: (gst_index_resolver_get_type):
10922         * plugins/elements/gstfakesink.c:
10923         (gst_fake_sink_state_error_get_type):
10924         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10925         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
10926         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10927           Const-ify GEnumValue arrays.
10928
10929 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10932           Add test case for flags + gst_buffer_make_metadata_writable().
10933
10934 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10935
10936         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
10937           gst_buffer_make_metadata_writable() should maintain the
10938           buffer flags (those that make sense at least) (see #340859).
10939
10940 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10941
10942         * tools/gst-inspect.c:
10943         * tools/gst-launch.c:
10944         * tools/gst-typefind.c:
10945         * tools/gst-xmlinspect.c:
10946         * tools/tools.h:
10947           Fix up includes: need to include stdlib.h in tools.h for exit().
10948
10949 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10950
10951         * gst/gsttaglist.c: (_gst_tag_initialize):
10952         * gst/gsttaglist.h:
10953           API: add GST_TAG_IMAGE tag (#340721).
10954
10955 2006-05-08  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/gstquery.c:
10958         Added some docs for the segment query.
10959
10960 2006-05-08  Wim Taymans  <wim@fluendo.com>
10961
10962         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10963         (gst_base_src_loop), (gst_base_src_change_state):
10964         Always push non-flushing serialized events in the streaming 
10965         thread.
10966
10967 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10968
10969         * gst/gsterror.c: (_gst_stream_errors_init):
10970           Add a missing error string.
10971
10972 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
10973
10974         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
10975         Add applied_rate to the debug
10976
10977         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10978         Copy applied_rate into the outgoing NEWSEGMENT event
10979
10980 2006-05-08  Wim Taymans  <wim@fluendo.com>
10981
10982         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
10983
10984         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
10985         (gst_base_sink_change_state):
10986         call ::unlock before taking the PREROLL_LOCK so we can safely
10987         handle elements that lock in ::render.
10988         Fixes #340174.
10989
10990 2006-05-08  Edward Hervey  <edward@fluendo.com>
10991
10992         * autogen.sh: (CONFIGURE_DEF_OPT): 
10993         Darwin's libtoolize is in fact called glibtoolize.
10994         Adding glibtoolize to the list of accepted names for libtoolize.
10995
10996 2006-05-08  Wim Taymans  <wim@fluendo.com>
10997
10998         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10999         Unify error handling, don't post an error message
11000         when a push() returns EOS but perform our normal EOS
11001         handling code. Fixes #340772.
11002
11003 2006-05-08  Wim Taymans  <wim@fluendo.com>
11004
11005         * docs/design/part-overview.txt:
11006         Make upsteam/downstream concepts more clear.
11007         Give an example of serialized/non-serialized events.
11008
11009         * docs/design/part-events.txt:
11010         * docs/design/part-streams.txt:
11011         Mention applied_rate.
11012
11013         * docs/design/part-trickmodes.txt:
11014         Mention applied rate, flesh out some more use cases.
11015
11016         * gst/gstevent.c: (gst_event_new_new_segment),
11017         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11018         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11019         (gst_event_parse_tag), (gst_event_new_buffer_size),
11020         (gst_event_parse_buffer_size), (gst_event_new_qos),
11021         (gst_event_parse_qos), (gst_event_parse_seek),
11022         (gst_event_new_navigation):
11023         * gst/gstevent.h:
11024         Add applied_rate field to NEWSEGMENT event.
11025         API: gst_event_new_new_segment_full()
11026         API: gst_event_parse_new_segment_full()
11027
11028         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11029         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11030         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11031         * gst/gstsegment.h:
11032         Add applied_rate to GstSegment structure.
11033         Make calculation of stream_time and running_time more correct
11034         wrt rate/applied_rate.
11035         Add some more docs.
11036         API: GstSegment::applied_rate field
11037         API: gst_segment_set_newsegment_full();
11038
11039         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11040         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11041         * libs/gst/base/gstbasetransform.c:
11042         (gst_base_transform_sink_eventfunc),
11043         (gst_base_transform_handle_buffer):
11044         Parse and use applied_rate in the GstSegment field.
11045
11046         * tests/check/gst/gstevent.c: (GST_START_TEST):
11047         Add check for applied_rate field.
11048
11049         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11050         (gstsegments_suite):
11051         Add more checks for various GstSegment operations.
11052
11053 2006-05-08  Wim Taymans  <wim@fluendo.com>
11054
11055         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11056         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11057         (gst_base_sink_get_position), (gst_base_sink_change_state):
11058         Store the sync time of the buffer end position separatly in a
11059         new variable eos_rtime so we can properly sync the EOS event.
11060         Fixes #340697.
11061         Fix the docs for gst_base_sink_set_qos_enabled().
11062         Don't set segment start to invalid value when we receive a 
11063         non TIME newsegment.
11064         get closer to handling position reporting for negative rates 
11065         correctly.
11066
11067 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11068
11069         * gst/gstcaps.c:
11070         Docs about how to print caps for debug purposes.
11071
11072         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11073         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11074
11075 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11076
11077         * gst/gstelement.c:
11078           use full enum names and preprend a '%' in docs strings to make recent 
11079           gtk-doc turn that into a link
11080
11081 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11082
11083         * docs/manual/basics-bins.xml:
11084         * docs/manual/basics-bus.xml:
11085         * docs/manual/basics-pads.xml:
11086           Some typo fixes, some additions, some clarifications. 
11087
11088 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11089
11090         * tools/gst-inspect.c: (main):
11091         * tools/gst-launch.c: (main):
11092         * tools/gst-run.c: (main):
11093         * tools/gst-typefind.c: (main):
11094         * tools/gst-xmlinspect.c: (main):
11095           Use the string passed to g_option_context_new() for
11096           what it's intended for - the program name is already
11097           printed elsewhere.
11098
11099 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11100
11101         * tools/Makefile.am:
11102         * tools/gst-inspect.c: (main):
11103         * tools/gst-launch.c: (main):
11104         * tools/gst-xmlinspect.c: (main):
11105         * tools/tools.h:
11106           Add back --version command line option (#340460).
11107
11108         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11109           Add --version option and use GOption for argument parsing; refactor a
11110           bit; accept directories as arguments and recurse into them; lastly,
11111           print a decent error message when things go wrong.
11112
11113 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11114
11115         * docs/manual/basics-bins.xml:
11116         Don't mention GstThread (#340611)
11117         * docs/manual/basics-elements.xml:
11118         Update link to GObject tutorial (#340607)
11119         
11120 2006-05-05  Wim Taymans  <wim@fluendo.com>
11121
11122         * gst/gstbuffer.h:
11123         * gst/gstminiobject.c:
11124         Add note about refcounting and miniobject/buffer writeability
11125         to docs. Fixes #340604
11126
11127         * gst/gstelementfactory.h:
11128         Added some explanation about @klass.
11129
11130 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11131
11132         * docs/manual/intro-motivation.xml:
11133         * docs/manual/manual.xml:
11134         Avoid CORBA & Bonobo references (#340598)
11135
11136 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11137
11138         * docs/manual/basics-bus.xml:
11139         * docs/manual/basics-pads.xml:
11140         Fix up some inaccuracies and omissions (#340609)
11141         
11142 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11143
11144         * gst/gstghostpad.c:
11145           Small typo in docs (#340625)
11146
11147 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11148
11149         * gst/parse/Makefile.am:
11150           Make 'make -j' proof (see #340698).
11151
11152 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11153
11154         * configure.ac:
11155           Require GLib-2.8 here as well.
11156
11157 2006-05-05  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/glib-compat.c:
11160         * gst/gst.c: (init_pre):
11161         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11162         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11163         (gst_object_dispatch_properties_changed):
11164         * gst/gstobject.h:
11165         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11166         * gst/gststructure.c: (gst_structure_set_valist):
11167         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11168         Remove pre glib2.8 compatibility, fixes #340508
11169
11170 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11171
11172         * gst/gsttaglist.h:
11173           Mention type of tags in doc blurbs.
11174
11175 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11176
11177         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11178         (gst_pad_configure_src), (gst_pad_push):
11179         Restore acceptcaps checking behaviour now that good plugins have
11180         been released.
11181
11182 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11183
11184         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11185
11186         * gst/gst.c:
11187         * gst/gstbus.c:
11188         * gst/gstclock.c:
11189         * gst/gstevent.c:
11190         * gst/gstformat.c:
11191         * gst/gstmessage.c:
11192         * gst/gstparse.c:
11193         * gst/gstquery.c:
11194         * gst/gstutils.c:
11195         * gst/parse/Makefile.am:
11196         * libs/gst/base/gstadapter.c:
11197         * libs/gst/base/gstbasesrc.c:
11198         * libs/gst/base/gstpushsrc.c:
11199         * libs/gst/base/gsttypefindhelper.c:
11200         * plugins/elements/gstfakesrc.c:
11201         * plugins/elements/gstidentity.c:
11202           Make sure gstprivate.h and/or config.h are
11203           always included first, otherwise some of our
11204           defines (like _FILE_OFFSET_BITS) might be
11205           redefined in the system headers. Fixes build
11206           on opensolaris (#340016).
11207
11208 2006-05-04  Wim Taymans  <wim@fluendo.com>
11209
11210         * docs/libs/gstreamer-libs-sections.txt:
11211         API: addition: gst_adapter_take_buffer()
11212         
11213         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11214         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11215         (gst_adapter_available_fast):
11216         * libs/gst/base/gstadapter.h:
11217         Prepare for optimizing the hell out of this hugely inefficient
11218         piece of code. 
11219         Added gst_adapter_take_buffer() so we can at least start thinking
11220         about subbuffering and merging.
11221         Added some comments.
11222
11223         * tests/check/Makefile.am:
11224         * tests/check/libs/adapter.c: (GST_START_TEST),
11225         (gst_adapter_suite), (main):
11226         Added GstAdapter check.
11227
11228 2006-05-04  Wim Taymans  <wim@fluendo.com>
11229
11230         * docs/design/part-overview.txt:
11231         Fix some typos, add blurb about buffer flags.
11232
11233 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11234
11235         * docs/libs/gstreamer-libs-sections.txt:
11236           make sure GstBaseTransformClass shows up in the docs
11237         * libs/gst/base/gstbasetransform.c:
11238         * libs/gst/base/gstbasetransform.h:
11239           move docs so gtk-doc picks it up now
11240
11241 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11242
11243         * docs/libs/gstreamer-libs-sections.txt:
11244           add missing symbols to docs
11245
11246 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11247
11248         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11249           back out the newsegment handling change, see #340060 for ongoing
11250           discussion
11251
11252 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11253
11254         * tools/gst-run.c: (get_candidates), (main):
11255           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11256           work); fix typo in error message. Fixes #340079.
11257
11258 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11259
11260         * common/Makefile.am:
11261         * docs/Makefile.am:
11262         * docs/faq/Makefile.am:
11263         * docs/gst/Makefile.am:
11264         * docs/libs/Makefile.am:
11265         * docs/manual/Makefile.am:
11266         * docs/plugins/Makefile.am:
11267         * docs/pwg/Makefile.am:
11268         * docs/slides/Makefile.am:
11269         * docs/upload.mak:
11270         * common/upload.mak:
11271           move upload.mak to common
11272
11273 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11274
11275         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11276           add more asserts on refcounts
11277           do more cleanup at end of tests
11278           fix test leaks showing in FC5
11279
11280 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11281
11282         * plugins/elements/gsttypefindelement.c:
11283         (gst_type_find_element_handle_event):
11284         reverted wrong change and reflowed code to avoid others falling into
11285         this trap
11286
11287 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11288
11289         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11290           fix changelog entry about last collectpads change,
11291           add notes about proper fix
11292
11293 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11294
11295         * gst/gst.c:
11296         * gst/gstregistry.c: (gst_registry_scan_path_level),
11297         (gst_registry_scan_path):
11298         * gst/gstregistry.h:
11299           only write out registry if it has changed, fixes #338339
11300
11301 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11302
11303         * gst/gstbin.c:
11304         * gst/gstpipeline.c:
11305         * plugins/elements/gstcapsfilter.c:
11306         * plugins/elements/gstfakesink.c:
11307         * plugins/elements/gstfakesrc.c:
11308         * plugins/elements/gstfdsink.c:
11309         * plugins/elements/gstfdsrc.c:
11310         * plugins/elements/gstfilesink.c:
11311         * plugins/elements/gstfilesrc.c:
11312         * plugins/elements/gstidentity.c:
11313         * plugins/elements/gstqueue.c:
11314         * plugins/elements/gsttee.c:
11315         * plugins/elements/gsttypefindelement.c:
11316         (gst_type_find_element_handle_event):
11317           make GstElementDetails const
11318
11319 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11320
11321         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11322         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11323         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11324           more detailed debug and formatting cleanup,
11325           forward newsegments to src-pad (so that e.g. adder not eats them)
11326
11327 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11328
11329         * gst/gstutils.c: (gst_element_link_pads):
11330           cleanup double code
11331
11332 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11333
11334         * libs/gst/controller/gstcontroller.c:
11335         (gst_controller_sync_values):
11336           some little tuning
11337         * tests/check/libs/controller.c: (GST_START_TEST),
11338         (gst_controller_suite):
11339           a new test for live value handling
11340
11341 2006-04-28  Wim Taymans  <wim@fluendo.com>
11342
11343         * gst/gstutils.c: (push_and_ref):
11344         Added some more docs.
11345         Fix refcount issue whith gst_element_found_tags() helper 
11346         function. Fixes #338335
11347
11348         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11349         Added testsuite for gst_element_found_tags().
11350
11351 2006-04-28  Michael Smith  <msmith@fluendo.com>
11352
11353         * gst/gstvalue.c: (gst_value_serialize_flags):
11354           Avoid NULL dereference when trying to serialize flags containing
11355           invalid values.
11356
11357 2006-04-28  Michael Smith  <msmith@fluendo.com>
11358
11359         * plugins/elements/gsttypefindelement.c:
11360         (gst_type_find_element_handle_event):
11361           If we get EOS before any data is accumulated, don't use
11362           uninitialised local variables.
11363
11364 2006-04-28  Michael Smith  <msmith@fluendo.com>
11365
11366         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11367         (gst_dp_event_from_packet):
11368           Fixes in reading/writing events over GDP (not currently used?) - 
11369           dereferencing NULL events for unknown/invalid event types, memory
11370           leak, and change g_warning to GST_WARNING.
11371
11372 2006-04-28  Wim Taymans  <wim@fluendo.com>
11373
11374         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11375         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11376         (gst_base_sink_get_position), (gst_base_sink_change_state):
11377         When frame dropping is enabled, we should not ignore frames
11378         without a duration.
11379         Update some documentation.
11380
11381 2006-04-28  Wim Taymans  <wim@fluendo.com>
11382
11383         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11384         (gst_base_src_send_event), (gst_base_src_change_state):
11385         Documentation updates.
11386
11387 2006-04-28  Wim Taymans  <wim@fluendo.com>
11388
11389         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11390         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11391         handle EAGAIN, EINTR and short writes correctly. Also clean
11392         up some error cases, avoid a deadlock on bad file descriptors and
11393         use GST_DEBUG_OBJECT.
11394         Fixes #339843
11395
11396 2006-04-28  Wim Taymans  <wim@fluendo.com>
11397
11398         * gst/gstvalue.c: (gst_value_serialize_buffer),
11399         (gst_value_deserialize_buffer):
11400         Don't try to serialize a GValue with a NULL buffer. 
11401         Fixes #339821.
11402
11403         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11404         Added check for serialisation of NULL buffers.
11405
11406 2006-04-28  Wim Taymans  <wim@fluendo.com>
11407
11408         * gst/gstminiobject.c: (gst_value_take_mini_object):
11409         Taking a NULL miniobject is valid, fix the case where
11410         we try to unref the NULL miniobject.
11411
11412 2006-04-28  Wim Taymans  <wim@fluendo.com>
11413
11414         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11415
11416         * gst/gstbin.c: (gst_bin_handle_message_func):
11417         Update docs.
11418         Don't leak bin refcount when a state recalc is
11419         in progress and we delay another one #339808.
11420
11421 2006-04-28  Wim Taymans  <wim@fluendo.com>
11422
11423         * docs/design/part-TODO.txt:
11424         Mention QoS as an ongoing work item.
11425
11426         * docs/design/part-buffering.txt:
11427         New doc about buffering that needs to be fleshed out
11428         at some point.
11429
11430         * docs/design/part-qos.txt:
11431         More QoS policy for decoders/demuxers/transforms
11432
11433         * docs/design/part-trickmodes.txt:
11434         Small update.
11435
11436 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11437
11438         * configure.ac:
11439           back to HEAD
11440
11441 === release 0.10.5 ===
11442
11443 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
11444
11445         * configure.ac:
11446           releasing 0.10.5, "Fogo"
11447
11448 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11449
11450         patch by: Wim Taymans
11451
11452         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11453         (gst_pad_configure_src), (gst_pad_push):
11454         * gst/gstpipeline.c: (gst_pipeline_init):
11455           Fix internal data flow errors.  Fixes #338711.
11456
11457 2006-04-12  Wim Taymans  <wim@fluendo.com>
11458
11459         * tests/check/gst/gstelement.c: (GST_START_TEST):
11460         Don't leak the factory.
11461
11462 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11463
11464         * configure.ac:
11465         * win32/common/config.h:
11466           prerelease
11467
11468 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
11469
11470         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11471         (gst_controller_unset_all):
11472           Free allocated GstTimedValues when freeing list nodes.
11473           Should fix leaks 'make check-valgrind' complains about.
11474
11475         * win32/common/libgstcontroller.def:
11476           Add gst_controller_unset_all.
11477
11478 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
11479
11480         * docs/libs/gstreamer-libs-sections.txt:
11481         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11482         (gst_controller_unset_all):
11483         * libs/gst/controller/gstcontroller.h:
11484         API: Added new method gst_controller_unset_all()
11485         fixed gst_controller_unset()
11486         * tests/check/libs/controller.c: (GST_START_TEST),
11487         (gst_controller_suite):
11488         Added two testcases for new and fixed method
11489
11490 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
11491
11492         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11493           MSG_DONTWAIT is not defined on Cygwin, so work
11494           around that (fixes #317048).
11495           
11496 2006-04-11  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/gstelementfactory.c: (gst_element_register),
11499         (gst_element_factory_create), (gst_element_factory_make):
11500         Some cleanups.
11501         Fixed a FIXME.
11502         Updated docs (Fixes #131079)
11503
11504         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11505         Small cleanups.
11506
11507         * tests/check/gst/gstelement.c: (GST_START_TEST),
11508         (gst_element_suite):
11509         Added testcase for elementfactory class field.
11510
11511 2006-04-10  Wim Taymans  <wim@fluendo.com>
11512
11513         * gst/gstsegment.c:
11514         Added some more docs.
11515
11516         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
11517         (gst_base_sink_reset_qos):
11518         Calculate more accurate rate values.
11519
11520 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
11521
11522         * gst/gst_private.h:
11523           add a new #ifdef to use __declspec(dllimport) only for
11524           other modules and not for gstreamer core
11525         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
11526           use gst_guint64_to_gdouble for conversion
11527         * win32/common/libgstreamer.def:
11528           add new exported functions
11529         * win32/vs6/gst_inspect.dsp:
11530         * win32/vs6/gst_launch.dsp:
11531         * win32/vs6/libgstbase.dsp:
11532         * win32/vs6/libgstcontroller.dsp:
11533         * win32/vs6/libgstcoreelements.dsp:
11534         * win32/vs6/libgstdataprotocol.dsp:
11535         * win32/vs6/libgstnet.dsp:
11536           update project files
11537
11538 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11539
11540         * gst/gstbuffer.c: (gst_subbuffer_class_init):
11541         * gst/gstclock.c: (gst_clock_class_init):
11542         * gst/gstelement.c: (gst_element_class_init):
11543         * gst/gstindex.c: (gst_index_class_init):
11544         * gst/gstindexfactory.c: (gst_index_factory_class_init):
11545         * gst/gstobject.c: (gst_object_class_init),
11546         (gst_signal_object_class_init):
11547         * gst/gstpad.c: (gst_pad_class_init):
11548         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
11549         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
11550         * gst/gstregistry.c: (gst_registry_class_init):
11551         * gst/gstsystemclock.c: (gst_system_clock_class_init):
11552         * gst/gsttask.c: (gst_task_class_init):
11553         * gst/gstxml.c: (gst_xml_class_init):
11554         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11555         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11556         (gst_base_src_loop):
11557         * libs/gst/controller/gstcontroller.c:/
11558         (_gst_controller_class_init):
11559         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11560         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
11561         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
11562         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11563         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11564         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
11565
11566 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
11567
11568         * gst/gstpad.c: (gst_pad_link):
11569           Must set peer pads before calling the link function, otherwise
11570           a task started from a link function might get a flow-not-linked
11571           result when trying to push because the other thread where the
11572           linking happens hasn't had a chance to set the peers yet. This
11573           might happen for example when a queue gets linked to a downstream
11574           element, as queue starts a streaming task when its source pad
11575           gets linked. Happens in real life when playing back flac/musepack
11576           files in playbin (#332390).
11577           
11578 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11579
11580         * gst/gstindex.h:
11581         * gst/gstxml.h:
11582         * libs/gst/base/gstadapter.h:
11583         * libs/gst/base/gstbasesink.h:
11584         * libs/gst/base/gstbasesrc.h:
11585         * libs/gst/base/gstbasetransform.h:
11586         * libs/gst/base/gstcollectpads.h:
11587         * libs/gst/base/gstpushsrc.h:
11588         Fix broken GObject macros
11589
11590 2006-04-07  Wim Taymans  <wim@fluendo.com>
11591
11592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11593         Initialize start and stop times, thanks valgrind.
11594
11595 2006-04-07  Wim Taymans  <wim@fluendo.com>
11596
11597         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11598         Be a bit nicer to badly behaving upstream elements that expect
11599         us to deal with non TIME segments and timestamps (such as fakesrc
11600         in the testsuite).
11601
11602 2006-04-07  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/gstbus.c:
11605         Small documentation clarification about the signal watch.
11606
11607         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11608         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11609         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11610         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11611         (gst_base_sink_get_position_last),
11612         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
11613         Convert and store timestamps in stream time and running time, the
11614         raw timestamps are not useful, also document this better.
11615         Use different window sizes for good and bad QoS observations so
11616         we react to badness a little quicker.
11617         Keep track of the amount of rendered and dropped buffers.
11618         Send QoS timestamps in running time.
11619
11620         * libs/gst/base/gstbasetransform.c:
11621         (gst_base_transform_sink_eventfunc),
11622         (gst_base_transform_handle_buffer):
11623         Compare QoS timestamps against running time.
11624
11625 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11626
11627         * gst/gstpad.c:
11628           Typo fixes in docs.
11629
11630 2006-04-06  Michael Smith  <msmith@fluendo.com>
11631
11632         * gst/gstpad.c: (gst_pad_set_property):
11633           Use g_value_get_object() instead of g_value_dup_gst_object(),
11634           to avoid double-reffing the pad template (which we then sink,
11635           so this worked previously if (and only if) the pad template
11636           was floating.
11637
11638         * gst/gstpadtemplate.c: (gst_pad_template_init),
11639         (gst_pad_template_pad_created):
11640           Never return floating references to pad templates, create
11641           them as initially-sunken.
11642
11643           Document an extra function (and make this stop sinking our
11644           pad template, since that is now guaranteed to do nothing,
11645           since we created it sunken).
11646
11647         * gst/gstghostpad.c:
11648           Fix docs typo.
11649
11650 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11651
11652         * gst/gstinfo.c: (__gst_in_valgrind):
11653           Add some newlines.
11654
11655         * plugins/elements/gsttypefindelement.c:
11656         (gst_type_find_element_chain):
11657           Don't leak buffer caps.
11658
11659 2006-04-06  Michael Smith  <msmith@fluendo.com>
11660
11661         * gst/parse/grammar.y:
11662           Fix a leak in parse-launch for any source-or-sink named element 
11663           references used.
11664
11665         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11666           Unref the pipeline if it exists after we've failed parsing.
11667
11668 2006-04-05  Michael Smith  <msmith@fluendo.com>
11669
11670         * gst/gstpipeline.c: (gst_pipeline_init):
11671           When we create a pipeline bus, initially create it in flushing mode.
11672           Fixes leaks in at least one test, and makes a new pipeline work the
11673           same as one that has gone to READY and then back to NULL.
11674
11675         * gst/gstelement.c:
11676           Typo fix in docs.
11677
11678 2006-04-05  Michael Smith  <msmith@fluendo.com>
11679
11680         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11681           Unref a pad we reffed.
11682         * tests/check/gst/gstutils.c: (GST_START_TEST):
11683           Unref bins
11684
11685 2006-04-05  Michael Smith  <msmith@fluendo.com>
11686
11687         * gst/gstquery.c: (gst_query_set_formats),
11688         (gst_query_set_formatsv):
11689           Fix leaking GValues in queries, as shown by valgrind/testsuite.
11690
11691 2006-04-05  Michael Smith  <msmith@fluendo.com>
11692
11693         * tests/check/generic/sinks.c: (GST_START_TEST):
11694           Fix a variety of memleaks in sinks check, which are only sometimes 
11695           shown by running the tests under valgrind (weird?).
11696
11697 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
11698
11699         * docs/version.entities.in:
11700           Fix the substituted entity name after thomas' changes on the
11701           weekend.
11702
11703 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11704
11705         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
11706         VALGRIND_PRINTF
11707         
11708 2006-04-05  Andy Wingo  <wingo@pobox.com>
11709
11710         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
11711
11712         * libs/gst/base/gstbasetransform.c
11713         (gst_base_transform_sink_eventfunc): When resetting our segment on
11714         FLUSH_STOP, also update the flag saying we haven't seen a
11715         newsegment.
11716
11717 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11718
11719         Patch by: Paolo Borelli  <pborelli at katamail dot com>
11720
11721         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11722         (gst_plugin_check_license):
11723           minor clean-ups: G_DEFINE_TYPE already takes care of the
11724           parent_class stuff, no need to do it twice. Mark array of
11725           license strings as constant. (#337103)
11726           
11727 2006-04-04  Michael Smith  <msmith@fluendo.com>
11728
11729         * tools/gst-inspect.c: (print_element_list):
11730           Free the right plugin list; fixes a memory leak.
11731
11732 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11733
11734         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
11735
11736         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11737           Don't error out on empty buffers (#336945).
11738           
11739 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
11740
11741         * docs/libs/gstreamer-libs-sections.txt:
11742         * gst/gsttaglist.c:
11743         * libs/gst/base/gstbasesink.c:
11744         * libs/gst/base/gstbasesink.h:
11745         * libs/gst/base/gstbasesrc.c:
11746         * libs/gst/base/gstbasesrc.h:
11747           Documentation updates. Make BaseSink and BaseSrc docs contain the
11748           class structure so that people can actually see the prototypes for
11749           virtual functions they're supposed to be overriding.
11750
11751 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11752
11753         * plugins/elements/gsttypefindelement.c:
11754         (gst_type_find_element_chain):
11755           More debug info; when skipping typefinding, send cached
11756           events in all cases.
11757
11758 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11759
11760         * configure.ac:
11761           use new AS_VERSION and AS_NANO macros
11762         * gst/gst-i18n-lib.h:
11763         * gst/gst.c:
11764         * gst/gsterror.c:
11765         * gst/gstversion.h.in:
11766         * win32/common/config.h:
11767         * win32/common/config.h.in:
11768           update accordingly
11769
11770 2006-03-31  Michael Smith  <msmith@fluendo.com>
11771
11772         * plugins/elements/gsttypefindelement.c:
11773         (gst_type_find_element_chain):
11774           Do not typefind content if the buffers already have caps.
11775           Neccesary for icydemux (#333657), and the right thing to do anyway.
11776
11777 2006-03-30  Wim Taymans  <wim@fluendo.com>
11778
11779         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11780         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
11781         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
11782         (gst_base_sink_record_qos_observation),
11783         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11784         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11785         (gst_base_sink_change_state):
11786         More QoS measurements as described in the design doc.
11787         Get rid of ringbuffer with observations, running average is
11788         more simple and equally good.
11789         Calculates valid proportion now.
11790         Added beginning of flood measurement.
11791
11792 2006-03-29  Wim Taymans  <wim@fluendo.com>
11793
11794         * docs/design/part-qos.txt:
11795         * gst/gstclock.c:
11796         Small documentation updates and additions.
11797
11798 2006-03-29  Wim Taymans  <wim@fluendo.com>
11799
11800         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11801         (gst_base_src_send_event), (gst_base_src_loop),
11802         (gst_base_src_change_state):
11803         Perform the EOS logic when we reach the segment stop position.
11804         Fix compilation on gcc4.1
11805
11806 2006-03-29  Wim Taymans  <wim@fluendo.com>
11807
11808         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
11809
11810         * plugins/elements/gstqueue.c: (gst_queue_init),
11811         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11812         (gst_queue_set_property):
11813         * plugins/elements/gstqueue.h:
11814         In queue, when EOS is received, if minimum threshold > max_size -
11815         current_level, there is chance that queue blocks forever in conditional
11816         item del wait. This is because the queue is not emptied completely due
11817         to minimum threshold.  Here is another approach. Instead of setting
11818         cur_levels to max in EOS, just zero all minimum threshold levels. This
11819         should make sure that queue gives out all data. When going to READY
11820         (stop) state, just reset the original minimum threshold levels.
11821         Fixes #336336.
11822
11823 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
11824
11825         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
11826         (gst_type_find_element_handle_event),
11827         (gst_type_find_element_send_cached_events),
11828         (gst_type_find_element_change_state):
11829         * plugins/elements/gsttypefindelement.h:
11830           When typefinding is done in push mode, we should cache
11831           events we receive during typefinding instead of just
11832           dropping them (e.g. newsegment, custom events from
11833           dvdreadsrc etc.) and then send them out once we've
11834           determined the type of the stream (and decodebin
11835           has had a chance to plug in a decoder/demuxer).
11836           
11837 2006-03-27  Wim Taymans  <wim@fluendo.com>
11838
11839         * docs/design/part-qos.txt:
11840         First QoS ideas.
11841
11842 2006-03-27  Wim Taymans  <wim@fluendo.com>
11843
11844         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
11845
11846         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11847         (gst_base_src_send_event), (gst_base_src_change_state):
11848         Handle element seek correctly when we are streaming.
11849         Fixes #326998.
11850
11851 2006-03-24  Michael Smith  <msmith@fluendo.com>
11852
11853         * docs/faq/gst-uninstalled:
11854           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
11855           allow you to correctly run intalled applications built against old 
11856           core, using plugins that require updated core (e.g. running
11857           installed totem against a full uninstalled gstreamer stack)
11858
11859 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11860
11861         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11862         more debug details
11863
11864 2006-03-24  Wim Taymans  <wim@fluendo.com>
11865
11866         * docs/gst/gstreamer-sections.txt:
11867         Rearrange the order of the methods so that related methods
11868         are grouped together in sections.
11869
11870 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11871
11872         * gst/gstelement.c:
11873           Little clarification in the docs
11874
11875 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11876
11877         * docs/README:
11878         formatting fix
11879         * plugins/elements/gstidentity.c:
11880         * plugins/elements/gstqueue.c:
11881         * plugins/elements/gsttee.c:
11882         * plugins/elements/gsttypefindelement.c:
11883         GST_ELEMENT_DETAILS formatting
11884
11885 2006-03-24  Wim Taymans  <wim@fluendo.com>
11886
11887         * libs/gst/base/gstbasesink.h:
11888         Only add fields, not insert or we break ABI.
11889
11890 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11891
11892         * win32/common/libgstbase.def:
11893         * win32/common/libgstreamer.def:
11894           Update, add recently added functions.
11895
11896 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11897
11898         * docs/gst/gstreamer-sections.txt:
11899         * gst/gstutils.c: (gst_pad_query_peer_position),
11900         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
11901         * gst/gstutils.h:
11902           API: add some new utility functions:
11903            - gst_pad_query_peer_position()
11904            - gst_pad_query_peer_duration()
11905            - gst_pad_query_peer_convert()
11906           
11907 2006-03-23  Wim Taymans  <wim@fluendo.com>
11908
11909         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11910         (gst_base_sink_init), (gst_base_sink_finalize),
11911         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
11912         (gst_base_sink_set_property), (gst_base_sink_get_property),
11913         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
11914         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11915         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
11916         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11917         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11918         (gst_base_sink_preroll_object), (gst_base_sink_event),
11919         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
11920         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
11921         (gst_base_sink_query), (gst_base_sink_change_state):
11922         Decouple max-lateness and the fact that QoS messages are generated
11923         with a new property (qos).
11924         added API: GstBaseSink::async_play()
11925         Add vmethod so subclasses can be notified of ASYNC playing
11926         state changes.
11927         Collect timestamp start and stop to report better current
11928         position in EOS/PLAYING/PAUSED/READY/NULL.
11929         Refactor QoS/frame dropping and other measurements.
11930         API: GstBaseSrc::qos
11931         Fixes #326311
11932
11933         * libs/gst/base/gstbasesink.h:
11934         Added Private struct.
11935         API: gst_base_sink_set_qos_enabled()
11936         API: gst_base_sink_is_qos_enabled()
11937
11938 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11939
11940         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11941           If compiling against GLib-2.8 or newer, try to read the
11942           registry file using GMappedFile first before falling back
11943           to fopen() + fread() (#332151).
11944
11945 2006-03-22  Wim Taymans  <wim@fluendo.com>
11946
11947         * gst/gstinfo.c: (gst_debug_set_active),
11948         (gst_debug_category_set_threshold):
11949         Disable debugging unless explicitly activated.
11950         Fixes #335480.
11951
11952 2006-03-22  Wim Taymans  <wim@fluendo.com>
11953
11954         * gst/gstelement.c: (gst_element_set_locked_state),
11955         (gst_element_dispose):
11956         Cleanup the error case.
11957
11958         * gst/gstobject.c: (gst_object_dispose):
11959         print a critical when some object was disposed with
11960         a parent, also revive the object since it might
11961         crash the parent.
11962
11963 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
11964
11965         * tools/gst-launch.1.in:
11966           Fix another typo.
11967
11968 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11969
11970         * configure.ac:
11971         * tests/check/Makefile.am:
11972           disable some tests when we don't have a registry
11973         * tests/check/gst/gstutils.c: (gst_utils_suite):
11974           don't build the part that needs parsing
11975
11976 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * gst/Makefile.am
11979         * tests/examples/Makefile.am:
11980           fix --disable-parse build
11981
11982 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11983
11984         * tools/gst-feedback.1.in:
11985           Fix typo: s/feeback/feedback/ (#133494).
11986
11987 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11988
11989         * tools/Makefile.am:
11990         * tools/gst-launch.1.in:
11991           Add FILES section and correct entry about GST_REGISTRY_PATH
11992           environment variable (#133495; #133494).
11993
11994 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * tools/Makefile.am:
11997         * tools/gst-md5sum.1.in:
11998         * tools/gst-md5sum.c:
11999           Remove gst-md5sum and man page (the md5sink element
12000           required was removed ages ago)
12001
12002 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12003
12004         * gst/gststructure.c: (gst_structure_id_set_value):
12005           Make sure that string fields in structures/taglists
12006           contain valid UTF-8 - we don't want to pass rubbish to
12007           applications because of a buggy plugin (cp. #334167).
12008
12009 2006-03-21  Edward Hervey  <edward@fluendo.com>
12010
12011         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12012         (gst_bin_handle_message_func):
12013         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12014         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12015         (gst_element_set_bus_func):
12016         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12017         * gst/gstminiobject.c: (gst_value_set_mini_object),
12018         (gst_value_take_mini_object):
12019         * gst/gstpad.c: (gst_pad_set_pad_template):
12020         * gst/gstpipeline.c: (gst_pipeline_dispose),
12021         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12022         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12023         (gst_collect_pads_chain):
12024         * libs/gst/net/gstnettimeprovider.c:
12025         (gst_net_time_provider_set_property):
12026         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12027         It's in fact all issues with gst_*object_replace().
12028
12029 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12032         
12033         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12034         * pkgconfig/gstreamer-check.pc.in:
12035           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12036
12037 2006-03-21  Edward Hervey  <edward@fluendo.com>
12038
12039         * gst/gstbuffer.h:
12040         * gst/gstevent.h:
12041         * gst/gstmessage.h:
12042         gst_[buffer|event|message]_ref() macros are replaced by a static
12043         inline functions because gcc-4.1 will about if the return value
12044         isn't used.
12045         * tests/check/gst/gstevent.c: (event_probe):
12046         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12047
12048 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12049
12050         * gst/gstutils.h:
12051         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12052         the type' case. (Closes: #335195 for now). In the future, when we
12053         depend on GLib 2.10, we could also intern the type name using
12054         g_intern_static_string()
12055
12056 2006-03-20  Wim Taymans  <wim@fluendo.com>
12057
12058         * gst/gstbin.c: (gst_bin_handle_message_func),
12059         (bin_query_max_init), (bin_query_position_fold),
12060         (bin_query_position_done), (gst_bin_query):
12061         Position query should also take max of all streams.
12062
12063 2006-03-20  Wim Taymans  <wim@fluendo.com>
12064
12065         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12066         (gst_fake_src_finalize):
12067         Fix leaks in fakesrc.
12068
12069         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12070         Fix leaks in the testcase.
12071
12072 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12073
12074         * gst/gst_private.h:
12075           add win32 specific import decoration(__declspec(dllimport)) 
12076           for all extern GstDebugCategory * variables
12077         * win32/common/libgstbase.def:
12078         * win32/common/libgstcontroller.def:
12079         * win32/common/libgstreamer.def:
12080           Add some exports, remove empty lines
12081         * win32/common/libgstdataprotocol.def:
12082         * win32/common/libgstdataprotocol.dsp:
12083         * win32/common/libgstnet.def:
12084         * win32/common/libgstnet.dsp:
12085           new project files and exportation files added
12086         
12087 2006-03-19  Wim Taymans  <wim@fluendo.com>
12088
12089         * tests/check/libs/basesrc.c: (eos_event_counter):
12090         Use proper return value for probe.
12091
12092 2006-03-17  Wim Taymans  <wim@fluendo.com>
12093
12094         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12095         (gst_pad_push):
12096         Don't leak buffers, caps and pads on negotiation errors.
12097
12098 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12099
12100         * docs/faq/cvs.xml:
12101         * docs/faq/dependencies.xml:
12102         * docs/faq/developing.xml:
12103         * docs/faq/faq.xml:
12104         * docs/faq/general.xml:
12105         * docs/faq/getting.xml:
12106         * docs/faq/legal.xml:
12107         * docs/faq/troubleshooting.xml:
12108         * docs/faq/using.xml:
12109         Faq review and update.
12110
12111 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12112
12113         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12114         (gst_pad_push):
12115         Don't pound the cpu to pieces by checking get_caps when accept_caps
12116         is called with the same caps as the pad already has.
12117         Use GST_DEBUG_OBJECT when outputting caps change information.
12118
12119 2006-03-15  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/gstclock.c: (gst_clock_class_init):
12122         Fix docs.
12123
12124 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12125
12126         * gst/gstbuffer.h:
12127         Documentation fix.
12128
12129         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12130         (gst_pad_accept_caps), (gst_pad_configure_sink),
12131         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12132         Make the default acceptcaps behaviour be to check the requested 
12133         caps against the gst_pad_get_caps output. 
12134
12135         Ensure that gst_pad_accept_caps is used to check caps when a pad
12136         doesn't have a setcaps function, so that pads automatically refuse 
12137         caps that they don't allow in their pad template. (Fixes #332986)
12138
12139         When a buffer with attached caps is pushed, ensure that the source 
12140         pad receives those caps even if the element didn't call
12141         gst_pad_set_caps first.
12142
12143 2006-03-15  Wim Taymans  <wim@fluendo.com>
12144
12145         * libs/gst/base/gstadapter.c:
12146         Add some docs.
12147
12148 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12149
12150         * win32/common/libgstbase.def:
12151         * win32/common/libgstcontroller.def:
12152         * win32/common/libgstreamer.def:
12153           Add a whole bunch of missing functions (#334434).
12154
12155 2006-03-14  Wim Taymans  <wim@fluendo.com>
12156
12157         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12158         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12159         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12160         Better debug info when we receive a segment event.
12161         Reorganize a bit so we can pass the get_times() results around.
12162         Use the segment format when calculating the running time.
12163         Don't do QoS is sync is disabled or we have no clock or the
12164         element does not want us to sync to the clock.
12165         Don't drop buffers if QoS is disabled for now.
12166
12167 2006-03-14  Wim Taymans  <wim@fluendo.com>
12168
12169         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12170         Marked the stats property as unimplemented so people don't get
12171         wild ideas.
12172         Add debug message when regression goes wrong.
12173         Added some more docs.
12174
12175 2006-03-14  Wim Taymans  <wim@fluendo.com>
12176
12177         * gst/gstsegment.c: (gst_segment_to_stream_time):
12178         Return correct return type in case of errors.
12179
12180 2006-03-14  Wim Taymans  <wim@fluendo.com>
12181
12182         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12183           Don't segfault on invalid formats.
12184
12185 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12186
12187         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12188           Can't use gst_segment_to_running_time() when the segment
12189           is not in GST_TIME_FORMAT (like with filesink, for example).
12190           Stops flac encoding pipelines from spewing critical warnings
12191           at EOS (#331248).
12192           
12193 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12194
12195         * gst/gstpipeline.c: (gst_pipeline_class_init):
12196           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12197
12198         * plugins/elements/gsttypefindelement.c:
12199         (gst_type_find_element_handle_event):
12200           Don't try to typefind empty streams.
12201
12202 2006-03-14  Wim Taymans  <wim@fluendo.com>
12203
12204         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12205         (gst_base_sink_do_qos):
12206         Separate QoS calculation.
12207         Only drop buffers when lateness is bigger than the 
12208         duration of the buffer.
12209
12210 2006-03-13  Wim Taymans  <wim@fluendo.com>
12211
12212         * gst/gstpipeline.c: (gst_pipeline_set_property),
12213         (gst_pipeline_get_property), (do_pipeline_seek),
12214         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12215         (gst_pipeline_get_delay):
12216         Don't deadlock when reading properties.
12217
12218 2006-03-13  Wim Taymans  <wim@fluendo.com>
12219
12220         * libs/gst/base/gstbasetransform.c:
12221         (gst_base_transform_class_init), (gst_base_transform_init),
12222         (gst_base_transform_sink_event),
12223         (gst_base_transform_sink_eventfunc),
12224         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12225         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12226         (gst_base_transform_set_property),
12227         (gst_base_transform_get_property),
12228         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12229         (gst_base_transform_set_qos_enabled),
12230         (gst_base_transform_is_qos_enabled):
12231         * libs/gst/base/gstbasetransform.h:
12232         Make basetransform virtual method for src events too.
12233         Handle QOS in basetransform.
12234         API: gst_base_transform_update_qos()
12235         API: gst_base_transform_set_qos_enabled()
12236         API: gst_base_transform_is_qos_enabled()
12237
12238 2006-03-13  Wim Taymans  <wim@fluendo.com>
12239
12240         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12241         (gst_base_sink_do_sync):
12242         Small cleanups.
12243         Use QOS debug category.
12244
12245 2006-03-13  Wim Taymans  <wim@fluendo.com>
12246
12247         * plugins/elements/gstqueue.c:
12248         Very small doc update.
12249
12250 2006-03-13  Wim Taymans  <wim@fluendo.com>
12251
12252         * gst/gst_private.h:
12253         * gst/gstinfo.c: (_gst_debug_init):
12254         Added QOS debug category
12255
12256 2006-03-13  Wim Taymans  <wim@fluendo.com>
12257
12258         * docs/gst/gstreamer-sections.txt:
12259         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12260         * gst/gstbin.h:
12261         * gst/gstbus.c: (gst_bus_class_init):
12262         * gst/gstbus.h:
12263         * gst/gstclock.c:
12264         * gst/gstelement.c: (gst_element_set_locked_state):
12265         * gst/gstsegment.c:
12266         Documentation updates.
12267
12268         * gst/gstpipeline.c: (gst_pipeline_get_type),
12269         (gst_pipeline_class_init), (gst_pipeline_init),
12270         (gst_pipeline_dispose), (gst_pipeline_set_property),
12271         (gst_pipeline_get_property), (do_pipeline_seek),
12272         (gst_pipeline_send_event), (gst_pipeline_change_state),
12273         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12274         (gst_pipeline_get_delay):
12275         * gst/gstpipeline.h:
12276         Added methods for setting the delay.
12277         API: gst_pipeline_set_delay()
12278         API: gst_pipeline_get_delay()
12279         Add pipeline debug category
12280         Various cleanups.
12281         Updated docs.
12282         Don't reset stream time when seek failed.
12283
12284 2006-03-13  Wim Taymans  <wim@fluendo.com>
12285
12286         * docs/design/draft-klass.txt:
12287         * docs/design/part-clocks.txt:
12288         * docs/design/part-events.txt:
12289         * docs/design/part-gstbin.txt:
12290         * docs/design/part-gstpipeline.txt:
12291         * docs/design/part-messages.txt:
12292         * docs/design/part-negotiation.txt:
12293         * docs/design/part-overview.txt:
12294         * docs/design/part-preroll.txt:
12295         * docs/design/part-seeking.txt:
12296         * docs/design/part-states.txt:
12297         * docs/design/part-streams.txt:
12298         Documentation updates.
12299
12300 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12301
12302         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12303         us to leak strings...
12304
12305 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12306
12307         * libs/gst/net/gstnettimeprovider.c:
12308           fix docs
12309         * win32/common/config.h:
12310           update
12311
12312 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12315
12316         * configure.ac:
12317           Don't check for libgnomeui (leftover from old examples
12318           that aren't built or disted any longer) (#334303).
12319           
12320 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12321
12322         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12323         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12324           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12325           there's no space left on the device.
12326
12327 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12328
12329         * gst/gstclock.h:
12330           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12331           to cast the input to GstClockTime before comparing with
12332           another GstClockTime value.
12333
12334 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * configure.ac:
12337           back to trunk
12338
12339 === release 0.10.4 ===
12340
12341 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12342
12343         * configure.ac:
12344           releasing 0.10.4, "Light"
12345
12346 2006-03-10  Michael Smith  <msmith@fluendo.com>
12347
12348         * libs/gst/dataprotocol/dataprotocol.c:
12349           Fix docs for dataprocotol to not get the return types completely
12350           wrong for a few functions.
12351
12352 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12353
12354         * docs/gst/gstreamer-sections.txt:
12355         * gst/gstpipeline.c: (gst_pipeline_class_init),
12356         (gst_pipeline_init), (gst_pipeline_set_property),
12357         (gst_pipeline_get_property), (gst_pipeline_change_state),
12358         (gst_pipeline_set_auto_flush_bus),
12359         (gst_pipeline_get_auto_flush_bus):
12360         * gst/gstpipeline.h:
12361           Add new API: gst_pipeline_set_auto_flush_bus() and
12362           gst_pipeline_get_auto_flush_bus() to disable automatic
12363           flushing of the pipeline's GstBus when going from READY
12364           to NULL state (#332045).
12365
12366 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12367
12368         * docs/gst/gstreamer-sections.txt:
12369         * gst/gsturi.c: (gst_uri_has_protocol):
12370         * gst/gsturi.h:
12371            Add new API: gst_uri_has_protocol() (#333779).
12372
12373 2006-03-09  Wim Taymans  <wim@fluendo.com>
12374
12375         * gst/gstclock.c: (gst_clock_entry_new),
12376         (gst_clock_id_compare_func), (gst_clock_id_wait),
12377         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12378         (gst_clock_init), (gst_clock_get_internal_time),
12379         (gst_clock_set_master), (do_linear_regression),
12380         (gst_clock_add_observation), (gst_clock_set_property):
12381         * gst/gstclock.h:
12382         Review docs.
12383         Small cleanups.
12384         Fix a possible segfault when the window-size is made smaller.
12385         Calculate jitter before performing the clock wait. Ideally
12386         the clock implementation should calculate jitter but we need
12387         API breakage for that.
12388
12389         * gst/gstsystemclock.c: (gst_system_clock_init):
12390         Docs review.
12391         
12392         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12393         Remove leftover else
12394
12395         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12396         (gst_systemclock_suite):
12397         Added check to test GST_CLOCK_DIFF.
12398
12399 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12400
12401         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12402         (gst_type_find_helper_get_range):
12403           If we are provided with the size, we should implement
12404           GstTypeFind::get_length, so that typefind functions who
12405           want to can actually peek at the middle of a file.
12406
12407 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
12408
12409         * docs/manual/advanced-dataaccess.xml:
12410           Add some very very basic error checking.
12411
12412         * docs/pwg/appendix-checklist.xml:
12413           Some updates to the list of things to check when writing an element.
12414
12415 2006-03-08  Wim Taymans  <wim@fluendo.com>
12416
12417         * docs/design/part-element-transform.txt:
12418         Added some docs about the design of tranform elements.
12419
12420         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12421         (gst_base_src_loop), (gst_base_src_change_state):
12422         Mark buffers with the DISCONT flag.
12423
12424 2006-03-08  Michael Smith  <msmith@fluendo.com>
12425
12426         * gst/gstregistry.h:
12427         * gst/gstregistryxml.c: (gst_registry_save),
12428         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
12429         (gst_registry_xml_save_pad_template),
12430         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
12431         (gst_registry_xml_write_cache):
12432           Rewrite registry-saving to avoid race conditions and check for
12433           failed writes.
12434
12435 2006-03-08  Wim Taymans  <wim@fluendo.com>
12436
12437         * libs/gst/base/gstbasetransform.c:
12438         (gst_base_transform_transform_caps),
12439         (gst_base_transform_transform_size),
12440         (gst_base_transform_prepare_output_buffer),
12441         (gst_base_transform_get_unit_size),
12442         (gst_base_transform_buffer_alloc),
12443         (gst_base_transform_handle_buffer),
12444         (gst_base_transform_change_state):
12445         Cleanups, separate normal flow from errors, add sensible
12446         DEBUG lines.
12447         Don't try to renegotiate when allocating an output buffer.
12448         Also copy DISCONT buffer flag when copying a buffer.
12449         Reset the transform after we finish streaming, not during.
12450
12451 2006-03-08  Wim Taymans  <wim@fluendo.com>
12452
12453         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12454         Use last buffer timestamp in qos message.
12455
12456 2006-03-07  Wim Taymans  <wim@fluendo.com>
12457
12458         Patch by: Christophe Fergeau
12459
12460         * docs/pwg/advanced-tagging.xml:
12461         * docs/pwg/building-pads.xml:
12462           fixes #333416
12463
12464 2006-03-07  Wim Taymans  <wim@fluendo.com>
12465
12466         * docs/libs/gstreamer-libs-sections.txt:
12467         Added basesink new methods.
12468
12469         * gst/gstevent.c:
12470         * gst/gstevent.h:
12471         Docs updates. Flesh out the QoS docs.
12472
12473         * libs/gst/base/gstadapter.c:
12474         Small doc clarification about ownership and flushing.
12475
12476         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
12477         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
12478         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
12479         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12480         * libs/gst/base/gstbasesink.h:
12481         API additions: 
12482         Added new methods to allow subclass to control max-lateness 
12483         and sync.
12484         Generate very basic QoS events based on last sync observation.
12485         Updated docs, fix typo, added some QoS blurb.
12486
12487         * libs/gst/base/gstbasesrc.c:
12488         Remove obsolete _get_state() calls from docs.
12489
12490 2006-03-07  Wim Taymans  <wim@fluendo.com>
12491
12492         * docs/libs/gstreamer-libs-sections.txt:
12493         * libs/gst/base/gstbasetransform.h:
12494         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
12495         Fix docs for GstBaseSrc.
12496
12497 2006-03-07  Wim Taymans  <wim@fluendo.com>
12498
12499         * docs/gst/gstreamer-sections.txt:
12500         * gst/gstbuffer.h:
12501         * gst/gstvalue.c:
12502         * libs/gst/base/gstbasetransform.h:
12503         Small documentation fixes.
12504
12505 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12506
12507         * gst/gstvalue.c:
12508           Document thread-unsafety of gst_value_register_foo_func()
12509           when used at the same time as gst_value_foo() (#322628).
12510
12511 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12512
12513         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
12514         (gst_push_src_check_get_range):
12515           Push sources don't support pull mode by default.
12516
12517 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12518
12519         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12520         (gst_base_src_init), (gst_base_src_pad_check_get_range),
12521         (gst_base_src_default_check_get_range):
12522         * libs/gst/base/gstbasesrc.h:
12523           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
12524           provide default implementation, and rename
12525           gst_base_src_check_get_range() to
12526           gst_base_src_pad_check_get_range() for clarity.
12527
12528 2006-03-06  Wim Taymans  <wim@fluendo.com>
12529
12530         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12531         Make property overridable.
12532
12533 2006-03-06  Wim Taymans  <wim@fluendo.com>
12534
12535         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12536         (gst_base_sink_init), (gst_base_sink_set_property),
12537         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12538         * libs/gst/base/gstbasesink.h:
12539         API addition: Make max-lateness a property.
12540
12541 2006-03-06  Wim Taymans  <wim@fluendo.com>
12542
12543         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
12544         (gst_base_sink_do_sync), (gst_base_sink_render_object):
12545         Don't ever draw a frame that is >10ms late.
12546
12547 2006-03-06  Michael Smith  <msmith@fluendo.com>
12548
12549         * gst/gstmessage.c: (_gst_message_copy):
12550           When copying a message, set the parent_refcount of the enclosed
12551           structure to point at the copy, not the original message.
12552
12553 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12554
12555         Patch by: Christophe Fergeau
12556
12557         * gst/gstutils.h:
12558           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
12559           usable in c++ code (#333417)
12560
12561 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * gst/gstclock.h:
12564           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
12565
12566 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
12567
12568         * libs/gst/base/gstbasetransform.c:
12569         (gst_base_transform_transform_caps):
12570           Make sure caps are writable before passing them to
12571           gst_caps_append().
12572
12573 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12574
12575         * gst/gsterror.h:
12576           Fix some minor docs errors.
12577
12578 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12579
12580           Patch by: Ross Burton <ross at burtonini dot com>
12581
12582         * gst/gsterror.c: (_gst_resource_errors_init):
12583         * gst/gsterror.h:
12584           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
12585
12586 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12587
12588         * gst/gst.c:
12589         Add a check and output a g_warning when GStreamer is built
12590         against GLib 2.6 but running against 2.8 or higher, and vice 
12591         versa. (Closes: #323542)
12592
12593 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12594
12595         * gst/parse/parse.l:
12596           Commit patch for parse_launch syntax from #331255. Removes 
12597           support for quoted strings and mimetypes when writing filtered 
12598           caps. See the bug report for more details - I'm pretty sure this
12599           obscure feature is not in use by _anyone_ anywhere.
12600
12601           With this simple change, the size of the gstreamer.so here 
12602           drops from 2193KB to 1565KB.
12603
12604 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12605
12606         * plugins/elements/gsttypefindelement.h:
12607         * plugins/elements/gsttypefindelement.c:
12608         (gst_type_find_element_src_event), (start_typefinding),
12609         (stop_typefinding), (gst_type_find_element_handle_event),
12610         (gst_type_find_element_chain),
12611         (gst_type_find_element_chain_do_typefinding):
12612           Use gst_type_find_helper_for_buffer() for chain-based
12613           typefinding.
12614
12615 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12616
12617         * plugins/elements/gsttypefindelement.c:
12618         (gst_type_find_element_class_init),
12619         (gst_type_find_element_set_property),
12620         (gst_type_find_element_get_property):
12621           Deprecate "maximum" property (not only was it only taken into
12622           account for typefinding in push-mode anyway, it also was never
12623           actually possible to set it in the first place because the
12624           property was registered with the numeric property ID for the
12625           "minimum" property). Register "maximum" property correctly,
12626           for the sake of future copy'n'pasters. Remove some cruft
12627           from property get/set functions.
12628
12629 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12630
12631         * plugins/elements/gsttypefindelement.c:
12632         (gst_type_find_element_activate):
12633           Use gst_type_find_helper_get_range() here, so we
12634           can honour the "minimum" property and also emit
12635           the signal with the correct probability of the found caps.
12636
12637 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
12638
12639         * docs/libs/gstreamer-libs-sections.txt:
12640         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
12641         (helper_find_suggest), (gst_type_find_helper_get_range),
12642         (gst_type_find_helper):
12643         * libs/gst/base/gsttypefindhelper.h:
12644           New API: gst_type_find_helper_get_range() (#333042).
12645
12646 2006-03-02  Michael Smith  <msmith@fluendo.com>
12647
12648         * gst/gstregistryxml.c: (load_feature):
12649           Asserting on a failure to read part of the registry is Not Cool.
12650           Just log a warning and return NULL (which is already handled)
12651
12652 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
12653
12654         * win32/common/libgstbase.def:
12655           added export of gst_type_find_helper_for_buffer
12656         * win32/common/libgstbase.def:
12657           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
12658           gst_ghost_pad_get_target
12659
12660 2006-02-28  Wim Taymans  <wim@fluendo.com>
12661
12662         * docs/design/draft-klass.txt:
12663         We use Filter now.
12664         Added Connector to mark elements that are only used to
12665         allow pipeline connections.
12666         Moved Debug to extra feature since most of them are 
12667         functionally something else.
12668
12669 2006-02-28  Wim Taymans  <wim@fluendo.com>
12670
12671         * docs/design/draft-klass.txt:
12672         Some updates and clarifications.
12673
12674 2006-02-28  Wim Taymans  <wim@fluendo.com>
12675
12676         * docs/design/draft-klass.txt:
12677         Proposal for klass field values.
12678
12679         * docs/design/part-streams.txt:
12680         Start of a doc describing stream anatomy.
12681
12682 2006-02-28  Wim Taymans  <wim@fluendo.com>
12683
12684         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
12685         Help the compiler a bit with type registration.
12686         Use existing forward cod path instead of duplicating it when 
12687         handling a message.
12688         
12689         * gst/gstbus.c: (gst_bus_get_type):
12690         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
12691         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
12692         * gst/gstclock.c: (gst_clock_get_type):
12693         * gst/gstelement.c: (gst_element_get_type),
12694         * gst/gstelementfactory.c: (gst_element_factory_get_type):
12695         * gst/gstindexfactory.c: (gst_index_factory_get_type):
12696         * gst/gstminiobject.c: (gst_mini_object_get_type):
12697         * gst/gstpad.c: (gst_pad_get_type):
12698         * gst/gstsegment.c: (gst_segment_get_type):
12699         * gst/gststructure.c: (gst_structure_get_type):
12700         * gst/gstsystemclock.c: (gst_system_clock_get_type):
12701         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
12702         * gst/gstvalue.c:
12703         Help compiler with type registration.
12704
12705         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
12706         Small doc update.
12707
12708 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12709
12710         * plugins/elements/gsttypefindelement.c:
12711         (gst_type_find_element_handle_event):
12712           When we get an EOS event and have not found a type yet
12713           (most likely because we had not yet accumulated
12714           TYPE_FIND_MIN_SIZE of data yet), try to determine the
12715           type given the data we have so far. Fixes typefinding
12716           for very short streams again, most notably quicktime
12717           redirections as used on Apple's trailer site (#331701).
12718
12719 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
12722         (gst_type_find_helper):
12723           Try typefinding factories with the highest rank first.
12724
12725 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12726
12727         * docs/libs/gstreamer-libs-docs.sgml:
12728         * docs/libs/gstreamer-libs-sections.txt:
12729         * libs/gst/base/gsttypefindhelper.c:
12730           Add section for typefind helper and add documentation
12731           for the old and the new function.
12732
12733 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12734
12735         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
12736         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
12737         (gst_type_find_helper_for_buffer):
12738         * libs/gst/base/gsttypefindhelper.h:
12739           New API: gst_type_find_helper_for_buffer() (#332723).
12740           
12741 2006-02-27  Michael Smith  <msmith@fluendo.com>
12742
12743         Patch by: Loïc Minier
12744
12745         * configure.ac:
12746         * docs/Makefile.am:
12747         * docs/slides/Makefile.am:
12748           prevent CVS directories getting disted.
12749
12750 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12751
12752         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
12753           Use the REFCOUNTING category for caps refcounting.
12754           
12755 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
12756
12757         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12758           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
12759
12760 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
12761
12762         * plugins/elements/gsttypefindelement.c:
12763         (gst_type_find_element_activate):
12764           Use gst_pad_check_pull_range() before _activate_pull()
12765           to avoid unnecessary open/close (see #331690).
12766
12767 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12768
12769         * gst/gstutils.c:
12770           Docs enhancement: make it crystal clear what the
12771           gst_pad_add_*_probe() callbacks should look like.
12772
12773 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12774
12775         * libs/gst/base/gstbasesrc.c:
12776           Document how applications can stop recording from
12777           live sources (see #330996).
12778
12779 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12780
12781         * tests/check/Makefile.am:
12782         * tests/check/libs/basesrc.c: (eos_event_counter),
12783         (basesrc_eos_events_pull), (basesrc_eos_events_push),
12784         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
12785         (gst_basesrc_suite), (main):
12786           ... and add some tests for the base source EOS stuff.
12787
12788 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12789
12790         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
12791           Test case originally showed the problem fixed below,
12792           but was then amended. Add checks back at the place
12793           where they used to be.
12794
12795 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12796
12797         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12798         (gst_base_src_init), (gst_base_src_loop),
12799         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12800         (gst_base_src_change_state):
12801         * libs/gst/base/gstbasesrc.h:
12802           Don't unconditionally send EOS when going from PAUSED to
12803           READY state, esp. make sure we don't send two EOS events
12804           in some cases (e.g. one when reaching EOS and one when
12805           going from PAUSED to READY). Also, we don't want to send
12806           EOS events when operating in pull mode. However, we do
12807           want to send an EOS event when shutting down a live
12808           source explicitly, for example (fixes #330996).
12809           
12810 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12811
12812         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12813           Update src->read_position after a seek when not using mmap.
12814           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
12815
12816 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
12817
12818         * gst/Makefile.am:
12819         * gst/gstparse.h:
12820         * gst/gstutils.c:
12821         * gst/gstutils.h:
12822         Make things work with --disable-parse as they do with 
12823         --disable-load-save - the symbols involved disappear, but the
12824         header is still installed and GST_DISABLE_PARSE is included via
12825         gstconfig.h
12826
12827 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12828
12829         * libs/gst/base/gstbasetransform.c:
12830         (gst_base_transform_change_state): Fix a stupid bug. I was 
12831         sure I compiled that.
12832
12833 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12834
12835         * gst/gstpad.c: (gst_pad_set_blocked_async):
12836         * gst/gstutils.c: (gst_pad_add_data_probe),
12837         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12838         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12839         (gst_pad_remove_buffer_probe): Make those function act on the
12840         ghostpad target when it's a ghostpad. (Closes #331727)
12841
12842 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12843
12844         * libs/gst/base/gstbasetransform.c:
12845         (gst_base_transform_change_state): Make basetransform reusable.
12846         (Closes #331898)
12847
12848 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
12849
12850         * docs/random/release:
12851         Move the current documentation of how to do a release to the top
12852         of the file.
12853
12854         * gst/gstbin.c: (gst_bin_class_init),
12855         (gst_bin_handle_message_func):
12856         Allow multiple state-recalculation threads. (Closes #328873)
12857
12858 2006-02-19  Julien MOUTTE  <julien@moutte.net>
12859
12860         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
12861         * gst/gstpad.c: (gst_pad_set_event_function),
12862         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12863         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
12864         2 strings. You can't use the STR_NULL macro on that.
12865
12866 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
12867
12868         * gst/gstpad.c: (gst_pad_set_event_function),
12869         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12870         (gst_pad_set_getcaps_function)
12871         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
12872           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
12873           So now, we can use --gst-debug-level=5 on Windows
12874         * win32/common/libgstcontroller.def:
12875           Added export of gst_controller_init
12876         * win32/vs6/libgstcontroller.dsp:
12877           Fixed Release post build configuration
12878
12879 2006-02-17  Wim Taymans  <wim@fluendo.com>
12880
12881         * tests/check/gst/gstquery.c: (GST_START_TEST):
12882         Added another check.
12883
12884 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
12885
12886         * plugins/elements/gsttypefindelement.c: (find_peek):
12887           We can do peeks at non-zero offsets, as long as they
12888           fall within the buffer we have.
12889
12890 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
12891
12892         * tests/check/Makefile.am:
12893         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
12894         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
12895         (parse_suite), (main):
12896           Add testsuite for parse launch syntax
12897
12898 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
12899
12900         * plugins/elements/gsttypefindelement.c:
12901         (gst_type_find_element_chain):
12902           When typefinding is unsuccessful in the chain function, don't
12903           error out immediately. Only error out with NO_CAPS_FOUND if
12904           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
12905           otherwise simply wait for more data so we can try typefinding
12906           again with more data later. Also, don't attempt to typefind
12907           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
12908           this should improve typefinding from network sources where the
12909           size of the first buffer can be somewhat random.
12910
12911 2006-02-14  Wim Taymans  <wim@fluendo.com>
12912
12913         * docs/gst/gstreamer-sections.txt:
12914         * gst/gstpadtemplate.c:
12915         * gst/gstpadtemplate.h:
12916         Fix padtemplate docs, fixes #328805.
12917
12918 2006-02-14  Wim Taymans  <wim@fluendo.com>
12919
12920         * tools/gst-launch.c: (main):
12921         NO_PREROLL is not an ERROR so don't send confusing messages
12922         to the user.
12923
12924 2006-02-14  Wim Taymans  <wim@fluendo.com>
12925
12926         Patch by: Torsten Schoenfeld
12927
12928         * gst/gstregistry.c: (gst_registry_get_default),
12929         (_gst_registry_cleanup):
12930         Protect default registry with lock and ref/sink it.
12931         Fixes #324818
12932
12933 2006-02-14  Wim Taymans  <wim@fluendo.com>
12934
12935         * gst/gstbuffer.c:
12936         * gst/gstquery.c: (gst_query_list_add_format),
12937         (gst_query_set_formatsv), (gst_query_parse_formats_length),
12938         (gst_query_parse_formats_nth):
12939         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12940         Docs fixes.
12941
12942 2006-02-14  Wim Taymans  <wim@fluendo.com>
12943
12944         * docs/gst/gstreamer-sections.txt:
12945         Reworked query docs.
12946
12947         * gst/gstquery.c: (gst_query_new_formats),
12948         (gst_query_list_add_format), (gst_query_set_formats),
12949         (gst_query_set_formatsv), (gst_query_parse_formats_length),
12950         (gst_query_parse_formats_nth):
12951         * gst/gstquery.h:
12952         Flesh out formats query, added some new methods.
12953         Fix part of #324398.
12954
12955         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
12956         Added query creation tests.
12957
12958 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
12959
12960         * gst/gstpad.c: (fixate_value):
12961         Add a default fixation for fraction lists.
12962
12963 2006-02-13  Wim Taymans  <wim@fluendo.com>
12964
12965         * gst/gsttask.c: (gst_task_init), (gst_task_func),
12966         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
12967         (gst_task_join):
12968         * gst/gsttask.h:
12969         Detect and warn for obvious deadlocks. fixes #320340
12970         Fix error case where lock was not released.
12971
12972         * tests/check/Makefile.am:
12973         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
12974         (task_func), (gst_element_suite), (main):
12975         Add task check.
12976
12977 2006-02-13  Wim Taymans  <wim@fluendo.com>
12978
12979         * docs/gst/gstreamer-sections.txt:
12980         * gst/gstbus.c:
12981         Add new functions to docs.
12982
12983 2006-02-13  Wim Taymans  <wim@fluendo.com>
12984
12985         * docs/design/part-TODO.txt:
12986         Updated TODO list, basesrc supports seeking to non-bytes
12987         formats.
12988
12989         * docs/design/part-element-sink.txt:
12990         Update docs.
12991
12992         * gst/gstbin.c: (bin_replace_message),
12993         (gst_bin_handle_message_func):
12994         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
12995         * gst/gstevent.c: (gst_event_finalize):
12996         * gst/gstpad.c: (gst_pad_event_default_dispatch),
12997         (gst_pad_send_event):
12998         Use shiny new _TYPE_NAME macros.
12999
13000         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13001         Move debug statement up.
13002
13003         * gst/gstelement.c: (gst_element_set_locked_state):
13004         Add some debugging.
13005
13006 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13007
13008         * docs/gst/gstreamer-sections.txt:
13009         * gst/gstmessage.h:
13010         * gst/gstquery.h:
13011           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13012           macros (#330906). Also, document the already existing
13013           GST_QUERY_TYPE macro.
13014
13015 2006-02-13  Wim Taymans  <wim@fluendo.com>
13016
13017         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13018         (event_probe), (GST_START_TEST):
13019         Only events up to the pipeline EOS are counted, there are
13020         some more when going to NULL currently which we don't care
13021         about for now.
13022
13023 2006-02-13  Wim Taymans  <wim@fluendo.com>
13024
13025         * gst/gstpad.c: (gst_pad_send_event):
13026         Correctly check flushing and emit probes. fixes #330125
13027
13028 2006-02-10  Andy Wingo  <wingo@pobox.com>
13029
13030         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13031         structure.
13032         (gst_bus_init): Cache the location of the private data in the
13033         instance structure.
13034         (gst_bus_enable_sync_message_emission) 
13035         (gst_bus_disable_sync_message_emission): Implement new public
13036         functions.
13037         (gst_bus_post): Emit the sync-message signal if the user asked for
13038         it. Fixes #330684.
13039
13040         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13041         location of the bus-private structure.
13042         (gst_bus_enable_sync_message_emission)
13043         (gst_bus_disable_sync_message_emission): API addition
13044
13045 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13046
13047         Patch by: Vincent Torri
13048
13049         * docs/pwg/building-boiler.xml:
13050         PWG patch from #326800
13051
13052 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13053
13054         * configure.ac:
13055         * docs/Makefile.am:
13056         * docs/design/Makefile.am:
13057           Dist design docs.
13058
13059 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13060
13061         * configure.ac:
13062           back to CVS
13063
13064 === release 0.10.3 ===
13065
13066 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13067
13068         * configure.ac:
13069           releasing 0.10.3, "Like a virgin"
13070
13071 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13072
13073         * configure.ac:
13074           2nd prerelease of 0.10.3
13075           Bump libtool versioning.
13076
13077 2006-02-07  Andy Wingo  <wingo@pobox.com>
13078
13079         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13080         update last_stop if we're in TIME format and the timestamp is
13081         valid.
13082
13083         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13084         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13085         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13086         If we get a new newsegment with a different format, adapt
13087         accordingly.
13088
13089         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13090         of 0. Not a problem, really.
13091
13092         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13093         warn if sync=true.
13094
13095 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13096
13097         * configure.ac:
13098           Prelease of 0.10.3
13099
13100 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13101
13102         * win32/vs7:
13103           project files updated to the default vs7 configuration
13104         * win32/common/libgstbase.def:
13105         * win32/common/libgstreamer.def:
13106           added new symbols,
13107           removed empty lines,
13108           sorted all exported symbols alphabetically
13109         * win32/common/dirent.c:
13110         * win32/common/dirent.h:
13111         * win32/common/gchar.h:
13112           use windows line end.
13113           
13114 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13115
13116         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13117           Send EOS event when stopping.
13118
13119 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13120
13121         * docs/README:
13122           Tell folks what to do if the plugin-foobar.xml file
13123           hasn't been generated for a newly-added plugin.
13124
13125 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13126
13127         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13128         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13129         (gst_collect_pads_start), (gst_collect_pads_stop),
13130         (gst_collect_pads_event): Collectpads now holds a reference
13131         to the GstPad that was added. Indeed we don't want to look
13132         at pads that might just go away with no warning...
13133
13134 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13135
13136         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13137         (gst_collect_pads_start), (gst_collect_pads_stop),
13138         (gst_collect_pads_event), (gst_collect_pads_chain):
13139         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13140         Mark Nauwelaerts's patch on bug #328491.
13141
13142 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13143
13144         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13145         (gst_utils_suite):
13146           Add some simple tests for gst_parse_bin_from_description() and
13147           gst_bin_find_unconnected_pad() (#329069).
13148
13149 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13150
13151         * tools/gst-launch.c: (event_loop), (main):
13152           Catch errors during preroll (#320084).
13153
13154 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13155
13156         * plugins/elements/gsttypefindelement.c:
13157         (gst_type_find_element_activate):
13158           Post TYPE_NOT_FOUND error message when typefinding
13159           is unsuccessful in the activate function as well.
13160
13161 2006-02-02  Wim Taymans  <wim@fluendo.com>
13162
13163         * docs/design/part-element-sink.txt:
13164         Updated doc.
13165
13166 2006-02-02  Wim Taymans  <wim@fluendo.com>
13167
13168         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13169         (gst_base_sink_render_object),
13170         (gst_base_sink_queue_object_unlocked):
13171         Only keep track of prerollable items when we are 
13172         prerolling.
13173         Before rendering after preroll, always check if we
13174         have queued items.
13175         Added some more debugging.
13176
13177 2006-02-02  Wim Taymans  <wim@fluendo.com>
13178
13179         * gst/gstelement.c: (gst_element_continue_state),
13180         (gst_element_set_state_func), (gst_element_change_state):
13181         Fixed #326576, been running this for quite some time with
13182         no regressions at all.
13183
13184 2006-02-02  Wim Taymans  <wim@fluendo.com>
13185
13186         * common/gst.supp:
13187         Added more suppressions
13188
13189 2006-02-02  Wim Taymans  <wim@fluendo.com>
13190
13191         * docs/design/part-element-sink.txt:
13192         Updated document.
13193
13194         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13195         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13196         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13197         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13198         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13199         (gst_base_sink_preroll_object),
13200         (gst_base_sink_queue_object_unlocked),
13201         (gst_base_sink_queue_object), (gst_base_sink_event),
13202         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13203         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13204         (gst_base_sink_get_position), (gst_base_sink_change_state):
13205         * libs/gst/base/gstbasesink.h:
13206         Totally refactored matching the design doc.
13207         Use two segments, one to clip incomming buffers and another to
13208         perform sync.
13209         Handle queueing correctly, bypass the queue when playing.
13210         Make EOS cancelable.
13211         Handle errors correctly when operating in pull based mode.
13212
13213         * tests/check/elements/fakesink.c: (GST_START_TEST),
13214         (fakesink_suite):
13215         Added new check for sinks.
13216
13217 2006-02-02  Wim Taymans  <wim@fluendo.com>
13218
13219         * gst/gstsegment.c: (gst_segment_clip):
13220         No reason to refuse to clip when start == -1
13221
13222 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13223
13224         * docs/README:
13225         * docs/manual/intro-basics.xml:
13226         * docs/manual/intro-preface.xml:
13227         * docs/manual/manual.xml:
13228         * docs/pwg/advanced-dparams.xml:
13229         * docs/pwg/intro-basics.xml:
13230         * docs/pwg/intro-preface.xml:
13231         * docs/pwg/pwg.xml:
13232           describe dparams (controller) for plugins
13233           unify docs a little more
13234
13235 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13236
13237         * docs/gst/gstreamer-sections.txt:
13238         * gst/gstutils.c: (element_find_unconnected_pad),
13239         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13240         * gst/gstutils.h:
13241           Add new API: gst_parse_bin_from_description() and
13242           gst_bin_find_unconnected_pad() (#329069).
13243
13244 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13245
13246         * docs/manual/README:
13247           uncover a nasty detail of the docs build
13248
13249 2006-01-31  Wim Taymans  <wim@fluendo.com>
13250
13251         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13252         Don't cache duration messages if we're not going to use or
13253         free them.
13254
13255 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13256
13257         * docs/manual/advanced-dparams.xml:
13258         * docs/pwg/advanced-dparams.xml:
13259           more dparam docs
13260         * gst/gstindex.c:
13261           fix docs
13262         * libs/gst/controller/lib.c: (gst_controller_init):
13263           init just once
13264
13265 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13266
13267         * gst/gstelement.c: (gst_element_message_full):
13268           also show file/line/func if no additional debug was given
13269
13270 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13271         
13272         * win32/vs7/grammar.vcproj:
13273           activate copy of autogenerated files for Release mode
13274
13275 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13276         
13277         * win32/common/libgstreamer.def:
13278           export gst_value_compare
13279
13280 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13281
13282         * plugins/elements/Makefile.am:
13283         * plugins/elements/gstelements.c:
13284         * plugins/elements/gstfdsink.c: (_do_init),
13285         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13286         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13287         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13288         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13289         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13290         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13291         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13292         * plugins/elements/gstfdsink.h:
13293         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13294
13295 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13296
13297         * docs/manual/advanced-dparams.xml:
13298           describe controller
13299         * docs/manual/advanced-position.xml:
13300         * docs/manual/basics-init.xml:
13301         * docs/manual/manual.xml:
13302         * docs/manual/titlepage.xml:
13303         * docs/pwg/pwg.xml:
13304         * docs/pwg/titlepage.xml:
13305           cleanup xml (more to come)
13306         * libs/gst/controller/gstcontroller.c:
13307           fix typo
13308
13309 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13310         
13311         * win32/vs6/grammar.dsp:
13312           add autogen of gstmarshal.c,h for Release mode
13313                 
13314 2006-01-30  Wim Taymans  <wim@fluendo.com>
13315
13316         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13317         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13318         (gst_base_sink_handle_object), (gst_base_sink_event),
13319         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13320         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13321         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13322         (gst_base_sink_deactivate), (gst_base_sink_activate),
13323         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13324         (gst_base_sink_query), (gst_base_sink_change_state):
13325         Basesink cleanups, remove some old code.
13326         Handle the case where a subclass can preroll in the render
13327         method (mostly audiosinks).
13328         Handle more events.
13329         Remove some locks around variables that are now protected
13330         with the PREROLL_LOCK (clock_id, flushing, ..).
13331         Optimize position query some more, do correct locking.
13332         Remove old code to push queue in state change, this is not
13333         needed anymore since preroll blocks on all prerollable items 
13334         now.
13335         Almost implemented as described in design doc.
13336
13337 2006-01-30  Wim Taymans  <wim@fluendo.com>
13338
13339         * tests/check/gst/gstbin.c: (GST_START_TEST):
13340         Wait for refcount to settle down before checking.
13341
13342 2006-01-30  Wim Taymans  <wim@fluendo.com>
13343
13344         * docs/design/part-element-sink.txt:
13345         Pseudo code overview of desired sink behaviour regarding
13346         preroll.
13347
13348 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13349         * win32/vs6/grammar.dsp:
13350           fix some bugs in Release mode for autogenerated files
13351                 
13352 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13353         * win32/common/libgstbase.def:
13354         * win32/common/libgstreamer.def:
13355           export some new symbols: gst_base_src_set_format,
13356           gst_iterator_next, gst_structure_set_valist
13357
13358 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13359
13360         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13361         Set pad functions unconditionally. Fixes #329105.
13362
13363 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13364         * win32/vs8:
13365           add vs8 project files created by Sergey Scobich
13366
13367 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13368
13369         * gst/gstutils.c: (gst_element_unlink_pads):
13370         Don't leak pad references.
13371
13372         * tests/check/elements/fakesink.c: (GST_START_TEST):
13373         * tests/check/generic/sinks.c: (GST_START_TEST):
13374         * tests/check/generic/states.c: (GST_START_TEST):
13375         * tests/check/gst/gstbin.c: (GST_START_TEST):
13376         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13377         * tests/check/gst/gstelement.c: (GST_START_TEST):
13378         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13379         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13380         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13381         Fix a bunch of leaks. Make generic/sinks.c
13382         use a bit less cpu by slowing the buffer rate
13383         between fakesrc and fakesink.
13384         
13385 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13386         * gst/gstcaps.c:
13387         * gst/gstelement.c: (gst_element_send_event):
13388         * gst/gstevent.c:
13389         * gst/gstinfo.c:
13390         * gst/gstiterator.c:
13391         * gst/gstiterator.h:
13392         * gst/gstpad.c: (gst_pad_send_event):
13393         * gst/gststructure.c:
13394         * gst/gsturi.c:
13395         * gst/gstutils.c:
13396         * gst/gstvalue.c:
13397         * libs/gst/base/gstadapter.c:
13398           doc fixes, to link to function, just write gst_cool_function(), don't
13399           prefix with '#'
13400
13401 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13402
13403         * plugins/elements/gsttee.c: (gst_tee_do_push),
13404         (gst_tee_handle_buffer):
13405         Always prefer an actual return value from a src
13406         pad in place of NOT_LINKED. This means we return
13407         WRONG_STATE when all src pads are WRONG_STATE
13408         instead of NOT_LINKED.
13409
13410         Lock when replacing the last message to prevent
13411         racing with the get_property method.
13412
13413         Add debug output
13414
13415 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13416
13417         * tests/check/Makefile.am:
13418         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
13419         (main):
13420         Add a very simple check that should have caught the memleak I fixed
13421         last night (if not for the slice allocator hiding it)
13422
13423 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13424
13425         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13426         (gst_bin_remove_func), (gst_bin_handle_message_func),
13427         (bin_query_duration_fold), (bin_query_generic_fold):
13428         Clean up references to the clock provider when disposed or when
13429         handling a clock-lost message from it.
13430
13431         Unref sinks when performing a query via gst_iterator_fold, as the
13432         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
13433
13434         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
13435         (gst_clock_set_master):
13436         Drop our reference to the master clock, if any, when we are disposed.
13437
13438         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
13439         Chain up in dispose. 
13440
13441 2006-01-26  Wim Taymans  <wim@fluendo.com>
13442
13443         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13444         Add some debugging.
13445
13446 2006-01-26  Julien MOUTTE  <julien@moutte.net>
13447
13448         * plugins/elements/gsttee.c: (gst_tee_do_push),
13449         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
13450         handles pad being NOT_LINKED or in WRONG_STATE.
13451
13452 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13453
13454         * win32/MANIFEST:
13455           more updating
13456
13457 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13458
13459         * win32/MANIFEST:
13460           remove obsolete entry
13461
13462 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13463
13464         * docs/gst/gstreamer-sections.txt:
13465         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
13466         (gst_bin_iterate_sources), (gst_bin_send_event):
13467         * gst/gstbin.h:
13468         * gst/gstelement.c: (gst_element_send_event):
13469         * gst/gstevent.c:
13470         * gst/gstpad.c: (gst_pad_send_event):
13471           added code for downstream events, reviewed docs in gstevent.c
13472
13473 2006-01-25  Julien MOUTTE  <julien@moutte.net>
13474
13475         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13476         We only query position using the clock in the playing state.
13477         Query peer in the other cases.
13478         * win32/common/config.h: Updates.
13479
13480 2006-01-24  Wim Taymans  <wim@fluendo.com>
13481
13482         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13483         A clock entry that is scheduled for the exact time of the
13484         clock is still in time.
13485
13486         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13487         (gst_base_sink_do_sync):
13488         Add some more debug info.
13489
13490 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13491
13492         * win32/vs7:
13493           Add new vs7 project files and solution.
13494
13495 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13496
13497         * win32/vs7:
13498           all files removed as they were out-dated.
13499
13500 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13501
13502         * docs/random/release:
13503           update notes
13504         * gst/gstbin.c: (gst_bin_init):
13505         * gst/gstbus.c: (gst_bus_new):
13506         * gst/gstbus.h:
13507         * gst/gstpipeline.c: (gst_pipeline_init):
13508           use gst_bus_new(), improve logging, fix docs
13509         * win32/common/config.h:
13510           update for cvs build
13511
13512 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13513
13514         * autogen.sh:
13515           up required version of automake to 1.7
13516
13517 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
13518
13519         * win32/common/libgstreamer.def:
13520           export gst_buffer_is_metadata_writable
13521
13522 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
13523
13524         * docs/gst/gstreamer-sections.txt:
13525         * gst/gstevent.h:
13526           Add gst_event_replace() (#327001)
13527
13528 2006-01-20  Wim Taymans  <wim@fluendo.com>
13529
13530         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13531         Make it actually compile too..
13532
13533 2006-01-20  Wim Taymans  <wim@fluendo.com>
13534
13535         * gst/gstcaps.c:
13536         Clarify behaviour of _is_equal() when passing NULL parameters.
13537
13538         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13539         (gst_pad_set_caps):
13540         Cleanups. Don't unref NULL caps.
13541         When setting the same caps, protect caps of the pad with
13542         proper lock.
13543         Use full functionality of _is_equal() when comparing caps.
13544
13545 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13546
13547         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13548         Don't loop infinitely if there are no buffers to present. Partially
13549         fixes #327197, but collectpads is just broken for reusing elements
13550         to do multiple encodes atm.
13551
13552 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13553
13554         * tools/gst-inspect.c: (print_element_features):
13555         * tools/gst-xmlinspect.c: (main):
13556         URL_HANDLER is not a plugin feature we can search for in
13557         the registry.
13558
13559 2006-01-19  Edward Hervey  <edward@fluendo.com>
13560
13561         * gst/gstelement.c: (gst_element_pads_activate): 
13562         When activating, do src pads first, then sink pads.
13563         When de-activating, do sink pads first, then src pads.
13564
13565 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13566
13567         * docs/gst/gstreamer-sections.txt:
13568         Add gst_index_add_associationv to the docs
13569
13570 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13571
13572         * gst/gstevent.c:
13573           Fix docs typo
13574
13575         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
13576         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
13577           Do some refactoring. Doesn't actually change functionality,
13578           but makes landing the DRAIN event easier later.
13579
13580 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
13581
13582         * docs/pwg/advanced-scheduling.xml:
13583           Update from 0.9.x to 0.10 API and make example a bit
13584           clearer.
13585
13586 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13587
13588         * docs/gst/gstreamer-sections.txt:
13589         Add gst_buffer_(is|make)_metadata_writable methods.
13590
13591 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13592
13593         * docs/design/part-sparsestreams.txt:
13594         Update sparse streams doc, hopefully for greater clarity
13595
13596 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
13597
13598         * docs/design/part-events.txt:
13599         Remove mention of FILLER events.
13600         Add DRAIN event.
13601
13602         * docs/design/part-sparsestreams.txt:
13603         Write some things about using NEWSEGMENT to keep sparse streams
13604         flowing.
13605
13606 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         * gst/gstbin.c: (gst_bin_dispose):
13609           Guard gst_object_unref call against a NULL object (dispose
13610           can theoretically be called multiple times).
13611           
13612 2006-01-18  Wim Taymans  <wim@fluendo.com>
13613
13614         * gst/gstbin.c: (gst_bin_element_set_state):
13615         * gst/gstclock.c: (gst_clock_id_wait):
13616         Added some more debug info.
13617
13618         * libs/gst/base/gstadapter.c:
13619         Added more docs.
13620
13621         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13622         (gst_base_sink_do_sync), (gst_base_sink_chain):
13623         Added some comments.
13624
13625 2006-01-18  Wim Taymans  <wim@fluendo.com>
13626
13627         * tests/check/Makefile.am:
13628         * tests/check/elements/fakesink.c: (chain_async_buffer),
13629         (chain_async), (chain_async_return), (GST_START_TEST),
13630         (fakesink_suite), (main):
13631         Added fakesink test that checks prerolling and clipping
13632         behaviour.
13633
13634         * tests/check/gst/gstutils.c: (GST_START_TEST):
13635         Make check run faster so that buildbots don't timeout.
13636
13637 2006-01-18  Wim Taymans  <wim@fluendo.com>
13638
13639         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13640         (gst_base_sink_do_sync):
13641         Some cleanups.
13642         When the sink finishes blocking on the preroll buffer, it can
13643         immediatly render it instead of rendering when the next buffer
13644         arrives.
13645
13646 2006-01-18  Wim Taymans  <wim@fluendo.com>
13647
13648         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
13649         (gst_base_sink_get_property), (gst_base_sink_do_sync),
13650         (gst_base_sink_chain):
13651         Small cleanups.
13652         GST_ELEMENT_CLOCK and sync are protected with LOCK.
13653         Don't store _last_stop if the buffer is dropped.
13654
13655 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13656
13657         * plugins/elements/gsttypefindelement.c:
13658         (gst_type_find_element_class_init):
13659           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
13660           object method handler that sets the caps on the pad and we want
13661           that to happen before we emit the signal (fixes e.g. feeding a
13662           plain text file to decodebin).
13663
13664 2006-01-18  Christian Schaller  <Christian@fluendo.com>
13665
13666         * gst/gstplugin.c: Add MPL and Proprietary as license options
13667
13668 2006-01-18  Andy Wingo  <wingo@pobox.com>
13669
13670         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
13671         symbol was exported before, it appears this was just an oversight.
13672         Fixes #168703.
13673         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
13674
13675         * gst/gstindex.c (gst_index_add_associationv): Changed int in
13676         prototype to gint. OK since this prototype was not in the header.
13677
13678 2006-01-17  Andy Wingo  <wingo@pobox.com>
13679
13680         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
13681         registry while we remove plugins.
13682
13683         * tools/gst-inspect.c (print_element_info): Don't unref the
13684         factory arg, that should be the responsibility of whatever code
13685         received the ref. Fixes a double-free when called from
13686         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
13687         (main): Unref the factory if we have one.
13688         (print_element_list): No change -- relies on the
13689         plugin_feature_list_free to free the list of features.
13690
13691 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
13692
13693         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13694         (gst_buffer_make_metadata_writable):
13695         * gst/gstbuffer.h:
13696         * libs/gst/base/gstbasetransform.c:
13697         (gst_base_transform_prepare_output_buf):
13698         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13699         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13700           Replace gst_buffer_(make|is)_metadata_writable patch now
13701           that the release is out.
13702
13703 2006-01-17  Andy Wingo  <wingo@pobox.com>
13704
13705         * gst/gstregistry.c: Reflow design comment. Update so as to speak
13706         in the present tense without reference to versions.
13707
13708         * gst/gstregistry.c (gst_registry_add_plugin)
13709         (gst_registry_remove_plugin, gst_registry_remove_feature)
13710         (gst_registry_find_feature, gst_registry_get_feature_list)
13711         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
13712         (gst_registry_lookup, gst_registry_scan_path)
13713         (_gst_registry_remove_cache_plugins)
13714         (gst_registry_get_feature_list_by_plugin): Add argument
13715         validation.
13716
13717 === release 0.10.2 ===
13718
13719 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
13720
13721         * configure.ac:
13722           releasing 0.10.2, "If man is five"
13723
13724 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13725
13726         * gst/gstbuffer.c:
13727         * gst/gstbuffer.h:
13728         * libs/gst/base/gstbasetransform.c:
13729         (gst_base_transform_prepare_output_buf):
13730         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13731         * tests/check/gst/gstbuffer.c: (gst_test_suite):
13732           Back out patch until after the release.
13733
13734 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13735
13736         * gst/gstminiobject.c:
13737           Spelling fix in docs.
13738         * ChangeLog - remove conflict indicator
13739
13740 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13741
13742         Reviewed By: Andy Wingo
13743
13744         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13745         (gst_buffer_make_metadata_writable):
13746         * gst/gstbuffer.h:
13747           Add gst_buffer_(is|make)_metadata_writable as analogues of
13748           gst_buffer_(is|make)_writable.
13749
13750         * libs/gst/base/gstbasetransform.c:
13751         (gst_base_transform_prepare_output_buf):
13752         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13753           Use name gst_buffer_(is|make)_metadata_writable functions.
13754
13755         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13756           Test gst_buffer_(is|make)_metadata_writable
13757         
13758           (Closes: #324162)
13759
13760 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13761
13762         * docs/manual/Makefile.am:
13763           don't do parallel make
13764         * configure.ac:
13765           AC_SUBST HOST_CPU
13766         * win32/common/config.h.in:
13767           add generations for HOST_CPU and GST_MAJORMINOR
13768         * win32/common/config.h:
13769           commit generated result
13770
13771 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
13772
13773         * docs/manual/appendix-integration.xml:
13774           Update GNOME integration section to use gst_init_get_option_group()
13775           instead of the old popt stuff (#322911). Also, GNOME applications
13776           should  now use gconf*sink and gconf*src instead of the old gconf
13777           helper lib we had.
13778
13779 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
13780
13781
13782         * docs/gst/gstreamer-docs.sgml:
13783         * docs/gst/gstreamer-sections.txt:
13784         * docs/libs/gstreamer-libs-sections.txt:
13785           add new API entries to the docs
13786         * libs/gst/controller/Makefile.am:
13787         * libs/gst/controller/gstcontroller.c:
13788         * libs/gst/controller/gstcontroller.h:
13789         * libs/gst/controller/gstcontrollerprivate.h:
13790         * libs/gst/controller/gsthelper.c:
13791         * libs/gst/controller/gstinterpolation.c:
13792           move private structs to private header
13793         * po/README:
13794           gstreamer-0.7 -> gstreamer-0.10
13795         * tests/check/libs/struct_i386.h:
13796           remove private structs
13797
13798 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13799
13800         * plugins/indexers/Makefile.am:
13801           Fixes as part of #317048
13802
13803 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13804
13805         * plugins/indexers/Makefile.am:
13806           fix #316086 - compilation when mmap is missing
13807
13808 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
13809
13810         * libs/gst/base/gstbasesink.c:
13811           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
13812           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
13813         * win32/common/config.h:
13814           added some defines GST_MAJORMINOR and HOST_CPU
13815         * win32/common/libgstbase.def:
13816         * win32/common/libgstreamer.def:
13817           added some exported functions.
13818
13819 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13820
13821         * libs/gst/controller/gstcontroller.c:
13822         (gst_controlled_property_set_interpolation_mode),
13823         (gst_controlled_property_new):
13824         * libs/gst/controller/gstcontroller.h:
13825         * libs/gst/controller/gstinterpolation.c:
13826         (interpolate_none_get_string_value_array):
13827           make G_TYPE_STRING controlable
13828
13829 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13830
13831         * tools/README:
13832         * tools/gst-feedback.1.in:
13833         * tools/gst-inspect.1.in:
13834         * tools/gst-launch.1.in:
13835         * tools/gst-md5sum.1.in:
13836         * tools/gst-typefind.1.in:
13837         * tools/gst-xmlinspect.1.in:
13838         * tools/gst-xmllaunch.1.in:
13839           cleanup man-pages, remove reference to gst-register, document env-vars
13840
13841 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
13842
13843         * gst/gstbuffer.c: (gst_buffer_span):
13844           gst_buffer_span should copy the timestamp of the first buffer
13845           if they were both originally overlapping subbuffers of the 
13846           same parent, using the same logic as the 'slow copy' case.
13847
13848 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
13849
13850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
13851           Need to awaken ALL the pads when we pop a buffer, otherwise
13852           collectpads only works when there is 2 input streams.
13853
13854 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
13855
13856         * docs/random/ensonic/media-device-daemon.txt:
13857           more ideas (dbus)
13858         * gst/gstbuffer.c:
13859           fix doc example, add clarification
13860         * tools/gst-launch.1.in:
13861           add initial info about GST_PLUGIN_PATH, needs more work
13862
13863 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
13864
13865         * docs/manual/basics-bins.xml:
13866         * docs/manual/basics-elements.xml:
13867         * docs/manual/intro-basics.xml:
13868           Some more minor docs additions and updates.
13869
13870 2006-01-11  Wim Taymans  <wim@fluendo.com>
13871
13872         * docs/manual/basics-bins.xml:
13873         * docs/manual/basics-elements.xml:
13874         Some small fixes as pointed out by Ser-ver on IRC.
13875
13876 2006-01-10  Edward Hervey  <edward@fluendo.com>
13877
13878         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13879         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
13880         the single-segment mode.
13881
13882 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
13883
13884         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13885
13886         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
13887         (gst_base_src_perform_seek), (gst_base_src_send_event),
13888         (gst_base_src_set_property), (gst_base_src_get_property),
13889         (gst_base_src_loop), (gst_base_src_start),
13890         (gst_base_src_activate_push):
13891         * libs/gst/base/gstbasesrc.h:
13892           Name (private) union; makes Sun's Forte compiler happy (#324900).
13893
13894 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
13895
13896         * README:
13897           gst-register is gone.
13898
13899 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13900
13901         * gst/gstvalue.c: (_gst_value_initialize):
13902           make the G_TYPE_DATE instantiation work if debug is disabled
13903
13904 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
13905
13906         * gst/gstmessage.c: (gst_message_parse_tag),
13907         (gst_message_parse_error), (gst_message_parse_warning):
13908           Don't crash when return location for error/warning debug
13909           string is NULL; add fact that return locations can be
13910           NULL to docs where appropriate.
13911
13912 2006-01-05  Wim Taymans  <wim@fluendo.com>
13913
13914         * gst/gstplugin.c: (gst_plugin_load_file):
13915         Replace strdup by g_strdup.
13916
13917 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13918
13919         * docs/pwg/advanced-types.xml:
13920           fix doc borkage
13921
13922 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13923
13924         submitted by: Abel Cheung
13925
13926         * po/LINGUAS:
13927         * po/zh_TW.po:
13928           Added Chinese (traditional) translation
13929
13930 2006-01-04  Wim Taymans  <wim@fluendo.com>
13931
13932         * docs/manual/basics-pads.xml:
13933         * docs/plugins/Makefile.am:
13934         * docs/plugins/gstreamer-plugins-docs.sgml:
13935         * docs/plugins/gstreamer-plugins-sections.txt:
13936         * docs/pwg/advanced-clock.xml:
13937         * docs/pwg/advanced-scheduling.xml:
13938         * docs/pwg/advanced-types.xml:
13939         * plugins/elements/gstfdsink.c:
13940         * plugins/elements/gstfdsrc.c:
13941         * plugins/elements/gstfdsrc.h:
13942         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13943         * plugins/elements/gstidentity.h:
13944         * plugins/elements/gstqueue.h:
13945         * plugins/elements/gsttee.c:
13946         * plugins/elements/gsttee.h:
13947         * plugins/elements/gsttypefindelement.c:
13948         (gst_type_find_element_class_init):
13949         * plugins/elements/gsttypefindelement.h:
13950         Small updates to various docs.
13951         Added core plugins to docs.
13952
13953 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13954
13955         * common/gst.supp:
13956           add a suppression for liboil's uninitialized variable
13957
13958 2006-01-02  James Livingston  <jrl at ids dot org dot au>
13959
13960         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13961
13962         * gst/gstutils.h:
13963           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
13964           macro, so that gcc doesn't complain if the -Wmissing-prototypes
13965           compiler switch is being used (#325429).
13966
13967 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
13968
13969         * gst/gstbin.c: (gst_bin_query):
13970           Disable duration query caching in bins until it gets
13971           fixed (see #324807).
13972
13973 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13974
13975         * tools/gst-inspect.c: (print_element_properties_info):
13976           Handle properties of POINTER and BOXED type.
13977
13978 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13979
13980         * gst/gst.c: (init_post):
13981           Init tags stuff and some other things before loading
13982           any static plugins (there may be other static plugins
13983           than just the GStreamer ones, and they may want to
13984           register their own tags or formats or whatever, and
13985           preferably without segfaulting).
13986
13987         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
13988           Print at least a warning in the debug logs if we drop a
13989           query just because we don't know how to adjust the value
13990           in the particular format.
13991
13992 2005-12-24  David Schleef  <ds@schleef.org>
13993
13994         * tools/gstreamer-completion:
13995           Replacement for gst-complete written in sh and sed.  Only
13996           completes names of features, but that's 90% of what I want
13997           it for.  Properties are not available in registry.xml.  (Maybe
13998           they should be...)
13999
14000 === release 0.10.1 ===
14001
14002 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14003
14004         * configure.ac:
14005           releasing 0.10.1, "Nollaig chridheil"
14006
14007 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14008
14009         * docs/faq/cvs.xml:
14010           Add missing quote, should be make ERROR_CFLAGS="".
14011
14012 2005-12-20  Wim Taymans  <wim@fluendo.com>
14013
14014         * docs/design/part-trickmodes.txt:
14015         More documentation on trickmodes.
14016
14017 2005-12-20  Edward Hervey  <edward@fluendo.com>
14018
14019         * gst/gstcaps.c: (gst_static_caps_get_type):
14020         * gst/gstcaps.h:
14021           API addition: GST_TYPE_STATIC_CAPS
14022         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14023         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14024         * gst/gstpadtemplate.h:
14025           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14026         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14027         bindings.
14028
14029 2005-12-18  Wim Taymans  <wim@fluendo.com>
14030
14031         * libs/gst/base/gstadapter.c:
14032         * libs/gst/base/gstadapter.h:
14033         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14034         (gst_base_sink_get_position):
14035         * libs/gst/base/gstbasesink.h:
14036         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14037         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14038         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14039         (gst_base_src_send_event), (gst_base_src_update_length),
14040         (gst_base_src_get_range), (gst_base_src_loop),
14041         (gst_base_src_start):
14042         * libs/gst/base/gstbasesrc.h:
14043         * libs/gst/base/gstbasetransform.h:
14044         * libs/gst/base/gstcollectpads.h:
14045         * libs/gst/base/gstpushsrc.c:
14046         * libs/gst/base/gstpushsrc.h:
14047         * libs/gst/dataprotocol/dataprotocol.c:
14048         * libs/gst/dataprotocol/dataprotocol.h:
14049         * libs/gst/net/gstnetclientclock.h:
14050         * libs/gst/net/gstnettimeprovider.h:
14051         Documentation updates.
14052
14053 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14054
14055         * docs/manual/basics-helloworld.xml:
14056           Remove superfluous closing bracket in helloworld example.
14057
14058 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14059
14060         * tools/gst-launch.1.in:
14061           Update gst-launch man page; add a section with useful
14062           environment variables. Fixes #323882.
14063
14064 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14065
14066         * gst/gst.c:
14067         * gst/gst_private.h:
14068           change some char* into char[]
14069
14070 2005-12-16  Wim Taymans  <wim@fluendo.com>
14071
14072         * gst/gstregistryxml.c: (load_feature):
14073         Cleanups.
14074         Don't use g_object_unref on GstObjects so that we avoid
14075         leaks on unsafe glibs.
14076
14077 2005-12-16  Wim Taymans  <wim@fluendo.com>
14078
14079         * gst/gstbin.c: (gst_bin_recalc_state):
14080         Small doc updates.
14081
14082 2005-12-16  Wim Taymans  <wim@fluendo.com>
14083
14084         * common/check.mak:
14085         Added make forever target for check.
14086
14087 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14088
14089         * gst/gst.c: (init_post):
14090           make the registry cache file HOST_CPU-dependent
14091
14092 2005-12-16  Andy Wingo  <wingo@pobox.com>
14093
14094         * plugins/elements/gstbufferstore.c
14095         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14096         return value.
14097
14098         * tests/check/gst/gstobject.c
14099         (test_fake_object_name_threaded_unique): Pay attention to
14100         g_list_sort return value.
14101
14102 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14103
14104         * tools/gst-feedback-m.m:
14105           Update for 0.9/0.10 (fixes #323870).
14106
14107 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14108
14109         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14110           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14111           
14112         * tests/check/gst/gstminiobject.c: (my_foo_init),
14113         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14114         (test_value_collection), (gst_mini_object_suite):
14115           Add test to ensure refcounts end up as expected when passing
14116           GstMiniObjects through g_object_get() and g_object_set().
14117
14118 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14119
14120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14121         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14122         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14123         of collectpads. This version removes a lot of races without
14124         touching API/ABI. Yay !
14125
14126 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14127
14128         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14129           Don't allow activation of a srcpad in pull_range if it has no
14130           getrange function.
14131           Change some debug statements to be a little clearer
14132
14133         * plugins/elements/gsttypefindelement.c:
14134         (gst_type_find_handle_src_query):
14135           Check that we have a peer before executing queries thereupon.
14136
14137         * tests/examples/metadata/read-metadata.c: (message_loop):
14138           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14139           immediately return us any available message with 0 timeout.
14140
14141 2005-12-12  Michael Smith  <msmith@fluendo.com>
14142
14143         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14144           Don't unref factories after calling them.
14145         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14146         * plugins/elements/gsttypefindelement.c:
14147         (gst_type_find_element_chain):
14148           Free lists of factories after using them. Fixing typefinding memory
14149           leaks.
14150
14151 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14152
14153         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14154         (gst_plugin_feature_load):
14155           more meaningful debug output
14156         * configure.ac:
14157         * tests/Makefile.am:
14158         * tests/old/examples/Makefile.am:
14159           make make distcheck happy again
14160
14161 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14162
14163         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14164           Catch the special case where we are operating chain-based,
14165           but the downstream peer pad has no chain function. Emit a
14166           custom error message in this case instead of letting the
14167           core generate one implying that this is some sort of core
14168           bug. It's not, it just means that whatever got plugged
14169           into the pipeline downstream when we announced the type
14170           can only operate pull-based, while our source can only
14171           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14172           Error string has not been marked for translation yet, as
14173           it probably needs some more work first.
14174
14175         (gst_type_find_element_get_best_possibility):
14176           Add helper function to find the best of all available
14177           found possibilities that qualify given the min. threshold.
14178
14179         (gst_type_find_element_handle_event):
14180           Fix the case where we get an EOS while still in TYPEFIND
14181           mode (we want to chose the best of all possible types,
14182           not just the first type that happens to be in our unsorted
14183           list of possible types).
14184
14185         (gst_type_find_element_chain):
14186           Make sure we return GST_FLOW_ERROR when we errored out
14187           in stop_typefinding(); also, don't just find the best of
14188           all found type entries and then use the last examined
14189           type entry, but actually use the best entry.
14190
14191 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14192
14193         * tests/examples/typefind/typefind.c: (type_found):
14194         * tests/examples/xml/runxml.c: (xml_loaded):
14195           More gcc4 fixes and a mem leak fix.
14196
14197 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14198
14199         * tests/examples/xml/createxml.c: (object_saved):
14200           gcc 4 fixes
14201
14202 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14203
14204         * tests/Makefile.am:
14205           enable the examples even more
14206
14207 2005-12-12  Andy Wingo  <wingo@pobox.com>
14208
14209         * libs/gst/net/gstnettimeprovider.c
14210         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14211         (gst_net_time_provider_set_property)
14212         (gst_net_time_provider_get_property):
14213         API addition: Export "active" as a GObject property.
14214         (gst_net_time_provider_thread): Only respond to time queries if
14215         the time provider is active.
14216
14217         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14218         NetTimeProvider, preserving binary compat.
14219
14220 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14221
14222         * tests/examples/controller/audio-example.c: (main):
14223         * tests/examples/launch/Makefile.am:
14224           convert comments again
14225
14226 2005-12-12  Wim Taymans  <wim@fluendo.com>
14227
14228         * libs/gst/base/gstpushsrc.c:
14229         Fix typo.
14230
14231 2005-12-12  Wim Taymans  <wim@fluendo.com>
14232
14233         * docs/libs/gstreamer-libs-sections.txt:
14234         Added new symbol to docs.
14235
14236         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14237         (gst_base_src_init), (gst_base_src_set_format),
14238         (gst_base_src_default_query), (gst_base_src_query),
14239         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14240         (gst_base_src_perform_seek), (gst_base_src_send_event),
14241         (gst_base_src_default_event), (gst_base_src_event_handler),
14242         (gst_base_src_set_property), (gst_base_src_get_property),
14243         (gst_base_src_wait), (gst_base_src_do_sync),
14244         (gst_base_src_update_length), (gst_base_src_get_range),
14245         (gst_base_src_check_get_range), (gst_base_src_loop),
14246         (gst_base_src_default_negotiate), (gst_base_src_start),
14247         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14248         (gst_base_src_change_state):
14249         * libs/gst/base/gstbasesrc.h:
14250         Implement seeking to other formats than _BYTES.
14251         Implement more seeking methods correctly.
14252         Doc updates.
14253         Added query vmethod.
14254         Added do_seek vmethod to make life easier for subclasses
14255         when seeking.
14256         API addition: gst_base_src_set_format()
14257
14258 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14259
14260         * tests/examples/Makefile.am:
14261           added that too
14262
14263 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14264
14265         * configure.ac:
14266         * docs/random/ensonic/media-device-daemon.txt:
14267         * tests/examples/controller/.cvsignore:
14268         * tests/examples/controller/Makefile.am:
14269         * tests/examples/controller/audio-example.c: (main):
14270         * tests/examples/helloworld/.cvsignore:
14271         * tests/examples/helloworld/Makefile.am:
14272         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14273         * tests/examples/launch/.cvsignore:
14274         * tests/examples/launch/Makefile.am:
14275         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14276         * tests/examples/metadata/.cvsignore:
14277         * tests/examples/metadata/Makefile.am:
14278         * tests/examples/metadata/read-metadata.c: (message_loop),
14279         (make_pipeline), (print_tag), (main):
14280         * tests/examples/queue/.cvsignore:
14281         * tests/examples/queue/Makefile.am:
14282         * tests/examples/queue/queue.c: (event_loop), (main):
14283         * tests/examples/typefind/.cvsignore:
14284         * tests/examples/typefind/Makefile.am:
14285         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14286         (main):
14287         * tests/examples/xml/.cvsignore:
14288         * tests/examples/xml/Makefile.am:
14289         * tests/examples/xml/createxml.c: (object_saved), (main):
14290         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14291         * tests/old/examples/Makefile.am:
14292         * tests/old/examples/TODO:
14293         * tests/old/examples/controller/.cvsignore:
14294         * tests/old/examples/controller/Makefile.am:
14295         * tests/old/examples/controller/audio-example.c:
14296         * tests/old/examples/helloworld/.cvsignore:
14297         * tests/old/examples/helloworld/Makefile.am:
14298         * tests/old/examples/helloworld/helloworld.c:
14299         * tests/old/examples/launch/.cvsignore:
14300         * tests/old/examples/launch/Makefile.am:
14301         * tests/old/examples/launch/mp3parselaunch.c:
14302         * tests/old/examples/launch/mp3play:
14303         * tests/old/examples/manual/Makefile.am:
14304         * tests/old/examples/metadata/Makefile.am:
14305         * tests/old/examples/metadata/read-metadata.c:
14306         * tests/old/examples/queue/.cvsignore:
14307         * tests/old/examples/queue/Makefile.am:
14308         * tests/old/examples/queue/queue.c:
14309         * tests/old/examples/typefind/.cvsignore:
14310         * tests/old/examples/typefind/Makefile.am:
14311         * tests/old/examples/typefind/typefind.c:
14312         * tests/old/examples/xml/.cvsignore:
14313         * tests/old/examples/xml/Makefile.am:
14314         * tests/old/examples/xml/createxml.c:
14315         * tests/old/examples/xml/runxml.c:
14316           applied some simple fixing to some examples
14317           re-enabled the working examples
14318
14319 2005-12-12  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/gstsegment.c: (gst_segment_init),
14322         (gst_segment_set_last_stop), (gst_segment_set_seek),
14323         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14324         (gst_segment_to_running_time):
14325         Added more documentation.
14326         Make sure the last_pos value is updated properly.
14327         Make sure to_stream_time and to_running_time don't
14328         operate on wrong values.
14329
14330         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14331         Update check.
14332
14333 2005-12-12  Michael Smith  <msmith@fluendo.com>
14334
14335         * plugins/elements/gsttypefindelement.c: (free_entry),
14336         (gst_type_find_element_chain):
14337           Now that we're not leaking factories, make sure we keep references
14338           to them while we need them.
14339
14340 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14341
14342         * tests/check/gst/struct_i386.h:
14343           ifdef out the XML structs
14344
14345 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14346
14347         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14348           floor is not needed, F is always positive; this obviates the
14349           need for adding -lm when building without libxml
14350
14351 2005-12-12  Wim Taymans  <wim@fluendo.com>
14352
14353         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14354         Take current playback rate into account when reporting
14355         the position.
14356
14357 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14358
14359         * docs/manual/mime-world.fig:
14360           Let's try this again, this time with a file that is
14361           actually in XFig format.
14362
14363 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14364
14365         * docs/manual/mime-world.fig:
14366           Add audioconvert element to diagram so that it
14367           matches the text and the code (fixes #319526).
14368
14369 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14370
14371         * docs/pwg/building-chainfn.xml:
14372         * docs/pwg/building-pads.xml:
14373         * docs/pwg/building-state.xml:
14374         * docs/pwg/other-source.xml:
14375           Update state change stuff for 0.10 (fixes #322969).
14376
14377 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14378
14379         * docs/manual/advanced-dataaccess.xml:
14380         * docs/manual/appendix-checklist.xml:
14381         * docs/manual/appendix-programs.xml:
14382         * docs/manual/basics-pads.xml:
14383         * docs/manual/highlevel-components.xml:
14384         * docs/manual/manual.xml:
14385           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14386           add converters in front of pipelines; remove curly
14387           brackets for threads stuff, they no longer exist; use
14388           GST_TYPE_FRACTION for framerates; update some pieces of
14389           code to 0.10, but there's plenty more to do.
14390
14391         * docs/manual/appendix-porting.xml:
14392           Expand on asynchroneous state changes; s/0.9/0.10/;
14393           mention disappearance of gst_init_get_popt_table()
14394           (fixes #322916).
14395
14396 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14397
14398         * docs/faq/using.xml:
14399           Spider no longer exists, and neither does gst-launch-ext.
14400           Update examples to use decodebin and playbin and put
14401           converters in front of sinks (fixes #323726).
14402
14403 2005-12-09  Michael Smith  <msmith@fluendo.com>
14404
14405         * plugins/elements/gsttypefindelement.c: (find_peek),
14406         (gst_type_find_element_chain):
14407           Fix leaking element factories in typefinding.
14408           Fix problem where we forgot about a probable type on non-seekable
14409           files, and thus later mis-typefound it.
14410
14411 2005-12-09  Michael Smith  <msmith@fluendo.com>
14412
14413         * common/m4/gst-makecontext.m4:
14414         * common/m4/gst-mcsc.m4:
14415         * configure.ac:
14416         * win32/common/config.h:
14417         * win32/common/config.h.in:
14418           Remove makecontext stuff; not used in 0.10 and causes problems on
14419           HPUX according to bug #322441
14420
14421 2005-12-07  Wim Taymans  <wim@fluendo.com>
14422
14423         * tests/check/Makefile.am:
14424         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
14425         (main):
14426         * tests/check/libs/struct_i386.h:
14427         Added ABI check for libs
14428
14429 2005-12-07  Wim Taymans  <wim@fluendo.com>
14430
14431         * tests/check/Makefile.am:
14432         And add the struct_i386.h to dist.
14433
14434 2005-12-07  Wim Taymans  <wim@fluendo.com>
14435
14436         * tests/check/Makefile.am:
14437         * tests/check/gst/.cvsignore:
14438         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
14439         (main):
14440         * tests/check/gst/struct_i386.h:
14441         Added check for ABI compatibility.
14442
14443 2005-12-07  Wim Taymans  <wim@fluendo.com>
14444
14445         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14446         (gst_fake_src_get_times), (gst_fake_src_create):
14447         Fix broken sync option, fixes #323259
14448
14449 2005-12-07  Wim Taymans  <wim@fluendo.com>
14450
14451         * gst/gstbuffer.c:
14452         Small docs update.
14453
14454         * gst/gstcaps.c: (gst_caps_is_equal):
14455         Don't assert on NULL <--> X. Fixes #323260
14456
14457         * gst/gstminiobject.c: (gst_mini_object_replace):
14458         If we're doing atomic operations, we might just as well use
14459         the proper way to get an atomic pointer.
14460
14461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14462         Clean up debugging.
14463
14464 2005-12-07  Michael Smith  <msmith@fluendo.com>
14465
14466         * gst/parse/grammar.y:
14467           Remove handling of { } for threads.
14468
14469 2005-12-06  David Schleef  <ds@schleef.org>
14470
14471         * libs/gst/base/gstbasetransform.c: speling fix.
14472
14473 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14474
14475         * docs/libs/tmpl/gstdataprotocol.sgml:
14476         * docs/random/omega/testing/gstobject.c:
14477         * gst/gst.c:
14478         * gst/gstclock.c:
14479         * gst/gstelement.c:
14480         * gst/gstelementfactory.c:
14481         * gst/gsterror.c:
14482         * gst/gstevent.c:
14483         * gst/gstghostpad.c:
14484         * gst/gstinfo.c:
14485         * gst/gstpadtemplate.c:
14486         * gst/gstregistryxml.c:
14487         * gst/gsttaglist.c:
14488         * gst/gsttagsetter.c:
14489         * gst/gsttypefind.c:
14490         * gst/gstvalue.c:
14491         * libs/gst/base/gstbasesrc.c:
14492         * libs/gst/net/gstnetclientclock.c:
14493         * libs/gst/net/gstnettimeprovider.c:
14494         * plugins/elements/gstfakesrc.c:
14495         * plugins/elements/gstfdsrc.c:
14496         * plugins/elements/gstfilesrc.c:
14497         * plugins/elements/gstidentity.c:
14498         * plugins/elements/gstqueue.c:
14499         * plugins/elements/gsttypefindelement.c:
14500         * plugins/indexers/gstfileindex.c:
14501         * plugins/indexers/gstmemindex.c:
14502         * tests/check/gst/gsttag.c:
14503         * tests/old/examples/cutter/cutter.c:
14504         * tests/old/examples/mixer/mixer.c:
14505         * tests/old/examples/xml/runxml.c: (main):
14506         * tests/old/testsuite/caps/normalisation.c:
14507         * tests/old/testsuite/debug/global.c:
14508         * tests/old/testsuite/parse/parse1.c:
14509         * tools/gst-xmlinspect.c:
14510         * win32/common/dirent.c:
14511           expand tabs
14512
14513 === release 0.10.0 ===
14514
14515 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14516
14517         * configure.ac:
14518           releasing 0.10.0, "Maroilles"
14519
14520 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14521
14522         submitted by: Funda Wang <fundawang@linux.net.cn>
14523
14524         * po/LINGUAS:
14525         * po/zh_CN.po:
14526           added Chinese (Traditional) translation
14527
14528 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14529
14530         * docs/gst/gstreamer-sections.txt:
14531         * docs/libs/tmpl/gstdataprotocol.sgml:
14532         * docs/random/thomasvs/TODO:
14533         * gst/gstutils.c:
14534         * gst/gstutils.h:
14535           fix docs
14536
14537 2005-12-05  Andy Wingo  <wingo@pobox.com>
14538
14539         patch by: Wim Taymans <wim@fluendo.com>
14540
14541         * libs/gst/base/gstbasetransform.c
14542         (gst_base_transform_prepare_output_buf)
14543         (gst_base_transform_buffer_alloc):
14544         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
14545         alloc_buffer_and_set_caps.
14546
14547         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
14548         set_caps on the source pad.
14549         (gst_pad_alloc_buffer_and_set_caps): New function, does what
14550         alloc_buffer used to do. Fixes #322874.
14551
14552         * docs/gst/gstreamer-sections.txt: 
14553         * docs/design/part-negotiation.txt: 
14554         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
14555         changes.
14556
14557 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14558
14559         patch by: Sebastien Moutte
14560
14561         * win32/MANIFEST:
14562         * win32/common/config.h.in:
14563         * win32/vs6/libgstcontroller.dsp:
14564           win32 build fixes
14565
14566 2005-12-05  Wim Taymans  <wim@fluendo.com>
14567
14568         * gst/gstcaps.c: (gst_caps_is_equal):
14569         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14570         (gst_fake_src_create):
14571         Back out previous code changes, leave doc updates, file bugs 
14572         instead. 
14573
14574 2005-12-05  Wim Taymans  <wim@fluendo.com>
14575
14576         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14577         (gst_fake_src_get_times), (gst_fake_src_create):
14578         * plugins/elements/gstfakesrc.h:
14579         Fix broken sync code.
14580
14581 2005-12-05  Wim Taymans  <wim@fluendo.com>
14582
14583         * gst/gstcaps.c: (gst_caps_is_equal):
14584         Comparing NULL against !NULL yields different caps, not a
14585         failure.
14586
14587 2005-12-05  Wim Taymans  <wim@fluendo.com>
14588
14589         * gst/gstpipeline.c:
14590         Fix small typo in docs.
14591
14592 2005-12-05  Andy Wingo  <wingo@pobox.com>
14593
14594         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * gst/gst.c (init_post): remove hard-coded 0.9 location for
14597         registries/plugins with a MAJORMINOR one.
14598         (plugin_desc): Rename library from gstcoreleements to
14599         staticelements. Fixes #323222.
14600
14601 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
14602
14603         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
14604           Change debug category to 'collectpads' from 'collect_pads'
14605           (fixes #323250).
14606
14607 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         patch by: Sebastien Moutte
14610
14611         * libs/gst/controller/gstinterpolation.c:
14612           use convert function for uint64/double
14613         * win32/vs6/libgstcontroller.dsp:
14614           link to GLib
14615
14616 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14617
14618         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
14619         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
14620         * gst/gstutils.h:
14621         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14622           add tests that seem to show that the guint64/gdouble conversions
14623           are correct.
14624
14625 2005-12-02  Wim Taymans  <wim@fluendo.com>
14626
14627         * gst/gstregistry.c: (gst_registry_add_path):
14628         * gst/gstregistry.h:
14629         * gst/gstregistryxml.c:
14630         Fix docs again.
14631
14632 2005-12-02  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14635         (gst_util_uint64_scale_int):
14636         Small cleanup.
14637
14638         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14639         Add debug log line.
14640
14641         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
14642         Add FIXME.
14643
14644 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14645
14646         * win32/MANIFEST:
14647         * win32/common/config.h:
14648         * win32/vs6/gstreamer.dsw:
14649         * win32/vs6/libgstcoreelements.dsp:
14650         * win32/vs6/libgstelements.dsp:
14651           renamed core elements plugin
14652
14653 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
14656         (get_candidates):
14657           do piece-wise major/minor comparison so 0.9 < 0.10
14658           also allow .exe extensions for tools
14659
14660 2005-12-02  Michael Smith  <msmith@fluendo.com>
14661
14662         * gst/gst.c:
14663           Escape a % to make gtkdoc happier; bug 322958.
14664
14665 === release 0.9.7 ===
14666
14667 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14668
14669         * configure.ac:
14670           releasing 0.9.7, "My Dog Has No Nose"
14671
14672 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14673
14674         * common/gst-xmlinspect.py:
14675         * configure.ac:
14676         * docs/libs/tmpl/gstdataprotocol.sgml:
14677         * docs/random/release:
14678         * po/af.po:
14679         * po/az.po:
14680         * po/bg.po:
14681         * po/ca.po:
14682         * po/cs.po:
14683         * po/de.po:
14684         * po/en_GB.po:
14685         * po/fr.po:
14686         * po/it.po:
14687         * po/nb.po:
14688         * po/nl.po:
14689         * po/ru.po:
14690         * po/sq.po:
14691         * po/sr.po:
14692         * po/sv.po:
14693         * po/tr.po:
14694         * po/uk.po:
14695         * po/vi.po:
14696         * win32/common/config.h:
14697         * win32/common/config.h.in:
14698         * win32/vs6/gst_inspect.dsp:
14699         * win32/vs6/gst_launch.dsp:
14700         * win32/vs6/libgstbase.dsp:
14701         * win32/vs6/libgstelements.dsp:
14702         * win32/vs6/libgstreamer.dsp:
14703         * win32/vs7/GStreamer.vcproj:
14704         * win32/vs7/gst-inspect.vcproj:
14705         * win32/vs7/gst-launch.vcproj:
14706         * win32/vs7/libgstbase.vcproj:
14707           bump GST_MAJORMINOR to 0.10
14708           reset libtool version
14709
14710 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14711
14712         * po/LINGUAS:
14713         * po/bg.po:
14714           Added Bulgarian translation by (Alexander Shopov)
14715
14716 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14717
14718         * tests/check/gst/gstplugin.c:
14719           fix test
14720
14721 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14722
14723         * common/gst-xmlinspect.py:
14724         * common/gtk-doc-plugins.mak:
14725         * configure.ac:
14726         * docs/Makefile.am:
14727         * docs/gst/Makefile.am:
14728         * docs/gst/gstreamer-docs.sgml:
14729         * docs/gst/gstreamer-sections.txt:
14730         * docs/gst/gstreamer.types:
14731         * docs/gst/gstreamer.types.in:
14732         * docs/plugins/Makefile.am:
14733         * docs/plugins/gstreamer-plugins-docs.sgml:
14734         * docs/plugins/gstreamer-plugins-sections.txt:
14735         * docs/plugins/gstreamer-plugins.types:
14736         * docs/plugins/inspect.stamp:
14737         * docs/plugins/inspect/plugin-coreelements.xml:
14738         * docs/plugins/inspect/plugin-coreindexers.xml:
14739         * docs/plugins/scanobj-build.stamp:
14740         * gstreamer.spec.in:
14741         * plugins/elements/Makefile.am:
14742         * plugins/elements/gstelements.c:
14743         * plugins/elements/gstfakesink.c:
14744         * plugins/elements/gstfakesrc.c:
14745         * plugins/elements/gstfilesink.c:
14746         * plugins/elements/gstfilesrc.c:
14747         * plugins/elements/gstqueue.c:
14748         * plugins/indexers/Makefile.am:
14749         * plugins/indexers/gstindexers.c:
14750           document core plugins in a separate document just like all the
14751           others
14752           rename these plugins to something starting with core
14753
14754 2005-12-01  Andy Wingo  <wingo@pobox.com>
14755
14756         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
14757         padding here before, but it missed the commit.
14758
14759 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14760
14761         * libs/gst/controller/gstinterpolation.c:
14762           whitespace prices have crashed, we should feel free to use some now
14763           use gst_guint64_to_gdouble
14764
14765 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14766
14767         * libs/gst/controller/gstcontroller.c:
14768         * libs/gst/controller/gsthelper.c:
14769         * libs/gst/controller/gstinterpolation.c:
14770         * libs/gst/controller/lib.c:
14771           wrap config.h include
14772
14773 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * docs/gst/gstreamer-sections.txt:
14776           update docs
14777
14778 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14779
14780         * plugins/elements/gstelements.c:
14781         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
14782         (gst_fd_sink__class_init), (gst_fd_sink__init),
14783         (gst_fd_sink__chain), (gst_fd_sink__set_property),
14784         (gst_fd_sink__get_property):
14785         * plugins/elements/gstfdsink.h:
14786         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
14787         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
14788         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
14789         (gst_fd_src_unlock), (gst_fd_src_set_property),
14790         (gst_fd_src_get_property), (gst_fd_src_create),
14791         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
14792         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
14793         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
14794         (gst_fd_src_uri_handler_init):
14795         * plugins/elements/gstfdsrc.h:
14796         * plugins/elements/gstqueue.c: (gst_queue_get_type):
14797           more anal cleanup
14798
14799 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14800
14801         * docs/gst/Makefile.am:
14802         * docs/gst/gstreamer.types.in:
14803         * gst/Makefile.am:
14804           fix the docs build
14805
14806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14807
14808         * configure.ac:
14809         * gst/Makefile.am:
14810         * gst/gst.c:
14811         * gst/gstplugin.h:
14812         * gst/gstregistry.h:
14813         * tests/benchmarks/complexity.c:
14814         * tests/benchmarks/mass-elements.c:
14815         * tests/check/Makefile.am:
14816         * tools/Makefile.am:
14817         * tools/gst-inspect.c:
14818         * tools/gst-xmlinspect.c:
14819           various fixes to make
14820           --disable-nls --disable-registry --disable-loadsave
14821           --disable-parse --disable-gst-debug
14822           work and get the core .so down to 360444 bytes after stripping
14823
14824 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14825
14826         * Makefile.am:
14827         * configure.ac:
14828           descend into tests
14829         * docs/random/thomasvs/TODO:
14830         * tests/Makefile.am:
14831         * tests/README:
14832           add a README
14833
14834 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14835
14836         * win32/GStreamer.vcproj:
14837         * win32/MANIFEST:
14838         * win32/Makefile:
14839         * win32/Makefile.inspect:
14840         * win32/Makefile.launch:
14841         * win32/Makefile.register:
14842         * win32/README.txt:
14843         * win32/gst-inspect.vcproj:
14844         * win32/gst-launch.vcproj:
14845         * win32/gst-register.vcproj:
14846         * win32/gstelements.vcproj:
14847         * win32/gstgetbits.def:
14848         * win32/gstgetbits.vcproj:
14849         * win32/gstreamer-dbg.def:
14850         * win32/gstreamer.def:
14851         * win32/libgstbase.def:
14852         * win32/libgstbase.vcproj:
14853         * win32/link_oldruntime.c:
14854         * win32/mman.c:
14855         * win32/mman.h:
14856         * win32/mman.inl:
14857         * win32/msvc71.sln:
14858           move even more stuff, win32/ is nice and clean now
14859
14860 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14861
14862         * libs/gst/control/.cvsignore:
14863         * win32/MANIFEST:
14864         * win32/config.h:
14865         * win32/dirent.c:
14866         * win32/dirent.h:
14867         * win32/gstbytestream.def:
14868         * win32/gstbytestream.vcproj:
14869         * win32/gstconfig.h:
14870         * win32/gstenumtypes.c:
14871         * win32/gstenumtypes.h:
14872         * win32/gstoptimalscheduler.vcproj:
14873         * win32/gstversion.h:
14874         * win32/gtchar.h:
14875         * win32/testsuite/bins.vcproj:
14876         * win32/testsuite/bytestream.vcproj:
14877         * win32/testsuite/caps.vcproj:
14878         * win32/testsuite/cleanup.vcproj:
14879         * win32/testsuite/clock.vcproj:
14880         * win32/testsuite/debug.vcproj:
14881         * win32/testsuite/dlopen.vcproj:
14882         * win32/testsuite/dynparams.vcproj:
14883         * win32/testsuite/elements.vcproj:
14884         * win32/testsuite/ghostpads.vcproj:
14885         * win32/testsuite/indexers.vcproj:
14886         * win32/testsuite/negotiation.vcproj:
14887         * win32/testsuite/parse.vcproj:
14888         * win32/testsuite/plugin.vcproj:
14889         * win32/testsuite/refcounting.vcproj:
14890         * win32/testsuite/schedulers.vcproj:
14891         * win32/testsuite/states.vcproj:
14892         * win32/testsuite/tags.vcproj:
14893         * win32/testsuite/threads.vcproj:
14894           remove old win32 stuff that isn't maintained and should be
14895           reorganized
14896
14897 2005-11-30  Andy Wingo  <wingo@pobox.com>
14898
14899         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
14900         loading the gst.interfaces python module bork.
14901
14902         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
14903         available since GLib 2.2. Fixes #318031.
14904
14905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14906
14907         * Makefile.am:
14908         * check/.cvsignore:
14909         * check/Makefile.am:
14910         * check/elements/.cvsignore:
14911         * check/elements/fakesrc.c:
14912         * check/elements/fdsrc.c:
14913         * check/elements/identity.c:
14914         * check/generic/.cvsignore:
14915         * check/generic/states.c:
14916         * check/gst-libs/.cvsignore:
14917         * check/gst-libs/controller.c:
14918         * check/gst-libs/gdp.c:
14919         * check/gst/.cvsignore:
14920         * check/gst/capslist.h:
14921         * check/gst/gst.c:
14922         * check/gst/gstbin.c:
14923         * check/gst/gstbuffer.c:
14924         * check/gst/gstbus.c:
14925         * check/gst/gstcaps.c:
14926         * check/gst/gstelement.c:
14927         * check/gst/gstevent.c:
14928         * check/gst/gstghostpad.c:
14929         * check/gst/gstiterator.c:
14930         * check/gst/gstmessage.c:
14931         * check/gst/gstminiobject.c:
14932         * check/gst/gstobject.c:
14933         * check/gst/gstpad.c:
14934         * check/gst/gstpipeline.c:
14935         * check/gst/gstplugin.c:
14936         * check/gst/gstsegment.c:
14937         * check/gst/gststructure.c:
14938         * check/gst/gstsystemclock.c:
14939         * check/gst/gsttag.c:
14940         * check/gst/gstutils.c:
14941         * check/gst/gstvalue.c:
14942         * check/net/.cvsignore:
14943         * check/net/gstnetclientclock.c:
14944         * check/net/gstnettimeprovider.c:
14945         * check/pipelines/.cvsignore:
14946         * check/pipelines/cleanup.c:
14947         * check/pipelines/simple_launch_lines.c:
14948         * check/pipelines/stress.c:
14949         * check/states/.cvsignore:
14950         * check/states/sinks.c:
14951         * configure.ac:
14952         * examples/Makefile.am:
14953         * examples/appreader/.cvsignore:
14954         * examples/appreader/Makefile.am:
14955         * examples/appreader/appreader.c:
14956         * examples/controller/.cvsignore:
14957         * examples/controller/Makefile.am:
14958         * examples/controller/audio-example.c:
14959         * examples/cutter/.cvsignore:
14960         * examples/cutter/Makefile.am:
14961         * examples/cutter/cutter.c:
14962         * examples/cutter/cutter.h:
14963         * examples/events/Makefile.am:
14964         * examples/events/seek.c:
14965         * examples/helloworld/.cvsignore:
14966         * examples/helloworld/Makefile.am:
14967         * examples/helloworld/helloworld.c:
14968         * examples/helloworld2/.cvsignore:
14969         * examples/helloworld2/Makefile.am:
14970         * examples/helloworld2/helloworld2.c:
14971         * examples/launch/.cvsignore:
14972         * examples/launch/Makefile.am:
14973         * examples/launch/mp3parselaunch.c:
14974         * examples/launch/mp3play:
14975         * examples/manual/.cvsignore:
14976         * examples/manual/Makefile.am:
14977         * examples/manual/extract.pl:
14978         * examples/metadata/Makefile.am:
14979         * examples/metadata/read-metadata.c:
14980         * examples/mixer/.cvsignore:
14981         * examples/mixer/Makefile.am:
14982         * examples/mixer/mixer.c:
14983         * examples/mixer/mixer.h:
14984         * examples/pingpong/.cvsignore:
14985         * examples/pingpong/Makefile.am:
14986         * examples/pingpong/pingpong.c:
14987         * examples/plugins/.cvsignore:
14988         * examples/plugins/Makefile.am:
14989         * examples/plugins/example.c:
14990         * examples/plugins/example.h:
14991         * examples/pwg/.cvsignore:
14992         * examples/pwg/Makefile.am:
14993         * examples/pwg/extract.pl:
14994         * examples/queue/.cvsignore:
14995         * examples/queue/Makefile.am:
14996         * examples/queue/queue.c:
14997         * examples/queue2/.cvsignore:
14998         * examples/queue2/Makefile.am:
14999         * examples/queue2/queue2.c:
15000         * examples/queue3/.cvsignore:
15001         * examples/queue3/Makefile.am:
15002         * examples/queue3/queue3.c:
15003         * examples/queue4/.cvsignore:
15004         * examples/queue4/Makefile.am:
15005         * examples/queue4/queue4.c:
15006         * examples/retag/.cvsignore:
15007         * examples/retag/Makefile.am:
15008         * examples/retag/retag.c:
15009         * examples/retag/transcode.c:
15010         * examples/thread/.cvsignore:
15011         * examples/thread/Makefile.am:
15012         * examples/thread/thread.c:
15013         * examples/typefind/.cvsignore:
15014         * examples/typefind/Makefile.am:
15015         * examples/typefind/typefind.c:
15016         * examples/xml/.cvsignore:
15017         * examples/xml/Makefile.am:
15018         * examples/xml/createxml.c:
15019         * examples/xml/runxml.c:
15020         * tests/Makefile.am:
15021         * tests/check/Makefile.am:
15022         * testsuite/.cvsignore:
15023         * testsuite/Makefile.am:
15024         * testsuite/Rules:
15025         * testsuite/caps/.cvsignore:
15026         * testsuite/caps/Makefile.am:
15027         * testsuite/caps/app_fixate.c:
15028         * testsuite/caps/audioscale.c:
15029         * testsuite/caps/caps.c:
15030         * testsuite/caps/caps.h:
15031         * testsuite/caps/caps_strings:
15032         * testsuite/caps/compatibility.c:
15033         * testsuite/caps/deserialize.c:
15034         * testsuite/caps/enumcaps.c:
15035         * testsuite/caps/eratosthenes.c:
15036         * testsuite/caps/filtercaps.c:
15037         * testsuite/caps/fixed.c:
15038         * testsuite/caps/fraction-convert.c:
15039         * testsuite/caps/fraction-multiply-and-zero.c:
15040         * testsuite/caps/intersect2.c:
15041         * testsuite/caps/intersection.c:
15042         * testsuite/caps/normalisation.c:
15043         * testsuite/caps/random.c:
15044         * testsuite/caps/renegotiate.c:
15045         * testsuite/caps/sets.c:
15046         * testsuite/caps/simplify.c:
15047         * testsuite/caps/string-conversions.c:
15048         * testsuite/caps/structure.c:
15049         * testsuite/caps/subtract.c:
15050         * testsuite/caps/union.c:
15051         * testsuite/debug/.cvsignore:
15052         * testsuite/debug/Makefile.am:
15053         * testsuite/debug/category.c:
15054         * testsuite/debug/commandline.c:
15055         * testsuite/debug/global.c:
15056         * testsuite/debug/output.c:
15057         * testsuite/debug/printf_extension.c:
15058         * testsuite/dlopen/.cvsignore:
15059         * testsuite/dlopen/Makefile.am:
15060         * testsuite/dlopen/dlopen_gst.c:
15061         * testsuite/dlopen/loadgst.c:
15062         * testsuite/elements/.cvsignore:
15063         * testsuite/elements/Makefile.am:
15064         * testsuite/elements/gst-inspect-check.in:
15065         * testsuite/elements/struct_i386.h:
15066         * testsuite/elements/struct_size.c:
15067         * testsuite/indexers/.cvsignore:
15068         * testsuite/indexers/Makefile.am:
15069         * testsuite/indexers/cache1.c:
15070         * testsuite/indexers/indexdump.c:
15071         * testsuite/parse/.cvsignore:
15072         * testsuite/parse/Makefile.am:
15073         * testsuite/parse/parse1.c:
15074         * testsuite/parse/parse2.c:
15075         * testsuite/plugin/.cvsignore:
15076         * testsuite/plugin/Makefile.am:
15077         * testsuite/plugin/README:
15078         * testsuite/plugin/dynamic.c:
15079         * testsuite/plugin/linked.c:
15080         * testsuite/plugin/loading.c:
15081         * testsuite/plugin/registry.c:
15082         * testsuite/plugin/static.c:
15083         * testsuite/plugin/static2.c:
15084         * testsuite/plugin/testplugin.c:
15085         * testsuite/plugin/testplugin2.c:
15086         * testsuite/plugin/testplugin2_s.c:
15087         * testsuite/plugin/testplugin_s.c:
15088         * testsuite/refcounting/.cvsignore:
15089         * testsuite/refcounting/Makefile.am:
15090         * testsuite/refcounting/bin.c:
15091         * testsuite/refcounting/element.c:
15092         * testsuite/refcounting/element_pad.c:
15093         * testsuite/refcounting/mainloop.c:
15094         * testsuite/refcounting/mem.c:
15095         * testsuite/refcounting/mem.h:
15096         * testsuite/refcounting/object.c:
15097         * testsuite/refcounting/pad.c:
15098         * testsuite/refcounting/sched.c:
15099         * testsuite/refcounting/thread.c:
15100         * testsuite/states/.cvsignore:
15101         * testsuite/states/Makefile.am:
15102         * testsuite/states/bin.c:
15103         * testsuite/states/locked.c:
15104         * testsuite/states/parent.c:
15105         * testsuite/threads/.cvsignore:
15106         * testsuite/threads/159566.c:
15107         * testsuite/threads/159852.c:
15108         * testsuite/threads/Makefile.am:
15109         * testsuite/threads/queue.c:
15110         * testsuite/threads/signals.c:
15111         * testsuite/threads/staticrec.c:
15112         * testsuite/threads/thread.c:
15113         * testsuite/threads/threadb.c:
15114         * testsuite/threads/threadc.c:
15115         * testsuite/threads/threadd.c:
15116         * testsuite/threads/threade.c:
15117         * testsuite/threads/threadf.c:
15118         * testsuite/threads/threadg.c:
15119         * testsuite/threads/threadh.c:
15120         * testsuite/threads/threadi.c:
15121           move all of these under tests
15122
15123 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15124
15125         * configure.ac:
15126         * tests/Makefile.am:
15127           fix distcheck
15128
15129 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15130
15131         * docs/gst/gstreamer-sections.txt:
15132         * tests/sched/.cvsignore:
15133         * tests/sched/Makefile.am:
15134         * tests/sched/cases/(fs-fs).xml:
15135         * tests/sched/cases/(fs-i-fs).xml:
15136         * tests/sched/cases/(fs-i-i-fs).xml:
15137         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15138         * tests/sched/dynamic-pipeline.c:
15139         * tests/sched/interrupt1.c:
15140         * tests/sched/interrupt2.c:
15141         * tests/sched/interrupt3.c:
15142         * tests/sched/runtestcases:
15143         * tests/sched/runxml.c:
15144         * tests/sched/sched-stress.c:
15145         * tests/sched/sort.c:
15146         * tests/sched/testcases:
15147         * tests/sched/testcases1.tc:
15148         * tests/seeking/.cvsignore:
15149         * tests/seeking/Makefile.am:
15150         * tests/seeking/seeking1.c:
15151         * tests/threadstate/.cvsignore:
15152         * tests/threadstate/Makefile.am:
15153         * tests/threadstate/test1.c:
15154         * tests/threadstate/test2.c:
15155         * tests/threadstate/threadstate1.c:
15156         * tests/threadstate/threadstate2.c:
15157         * tests/threadstate/threadstate3.c:
15158         * tests/threadstate/threadstate4.c:
15159         * tests/threadstate/threadstate5.c:
15160           remove obsolete tests
15161         * configure.ac:
15162         * tests/bench-complexity.scm:
15163         * tests/bench-mass_elements.scm:
15164         * tests/complexity.c:
15165         * tests/complexity.gnuplot:
15166         * tests/instantiate/.cvsignore:
15167         * tests/instantiate/Makefile.am:
15168         * tests/instantiate/caps.c:
15169         * tests/mass_elements.c:
15170         * tests/network-clock-utils.scm:
15171         * tests/network-clock.scm:
15172         * tests/plot-data:
15173         First pass at cleaning up tests/ dir before moving the rest
15174         Combined with CVS surgery
15175
15176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15177
15178         * po/POTFILES.in:
15179           queue has moved, update
15180
15181 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15182
15183         * docs/gst/gstreamer-sections.txt:
15184           remove double entries from the docs
15185         * gst/gst_private.h:
15186         * gst/gstinfo.c: (_gst_debug_init):
15187           remove the THREAD debug category
15188         * gst/Makefile.am:
15189         * gst/gstqueue.c:
15190         * gst/gstqueue.h:
15191         * docs/gst/gstreamer.types:
15192         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15193         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15194           completely move queue and fix up debugging categories
15195
15196 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15197
15198         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15199           make initialization portable, using LL is not
15200
15201 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15202
15203         * win32/common/gstconfig.h:
15204           add large padding
15205
15206 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15207
15208         * win32/common/libgstreamer.def:
15209           rename symbols; sort base section
15210
15211 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15212
15213         * gst/gstclock.c: (do_linear_regression):
15214           remove crack non-portable handrolled DEBUG macro
15215
15216 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15217
15218         * docs/random/release:
15219           update notes
15220         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15221         (gst_object_flags_get_type), (register_gst_bin_flags),
15222         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15223         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15224         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15225         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15226         (gst_caps_flags_get_type), (register_gst_clock_return),
15227         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15228         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15229         (gst_clock_flags_get_type), (register_gst_state),
15230         (gst_state_get_type), (register_gst_state_change_return),
15231         (gst_state_change_return_get_type), (register_gst_state_change),
15232         (gst_state_change_get_type), (register_gst_element_flags),
15233         (gst_element_flags_get_type), (register_gst_core_error),
15234         (gst_core_error_get_type), (register_gst_library_error),
15235         (gst_library_error_get_type), (register_gst_resource_error),
15236         (gst_resource_error_get_type), (register_gst_stream_error),
15237         (gst_stream_error_get_type), (register_gst_event_type_flags),
15238         (gst_event_type_flags_get_type), (register_gst_event_type),
15239         (gst_event_type_get_type), (register_gst_seek_type),
15240         (gst_seek_type_get_type), (register_gst_seek_flags),
15241         (gst_seek_flags_get_type), (register_gst_format),
15242         (gst_format_get_type), (register_gst_index_certainty),
15243         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15244         (gst_index_entry_type_get_type),
15245         (register_gst_index_lookup_method),
15246         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15247         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15248         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15249         (gst_index_flags_get_type), (register_gst_debug_level),
15250         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15251         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15252         (gst_iterator_result_get_type), (register_gst_iterator_item),
15253         (gst_iterator_item_get_type), (register_gst_message_type),
15254         (gst_message_type_get_type), (register_gst_mini_object_flags),
15255         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15256         (gst_pad_link_return_get_type), (register_gst_flow_return),
15257         (gst_flow_return_get_type), (register_gst_activate_mode),
15258         (gst_activate_mode_get_type), (register_gst_pad_direction),
15259         (gst_pad_direction_get_type), (register_gst_pad_flags),
15260         (gst_pad_flags_get_type), (register_gst_pad_presence),
15261         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15262         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15263         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15264         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15265         (gst_plugin_flags_get_type), (register_gst_rank),
15266         (gst_rank_get_type), (register_gst_query_type),
15267         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15268         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15269         (gst_tag_flag_get_type), (register_gst_task_state),
15270         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15271         (gst_alloc_trace_flags_get_type),
15272         (register_gst_type_find_probability),
15273         (gst_type_find_probability_get_type), (register_gst_uri_type),
15274         (gst_uri_type_get_type), (register_gst_parse_error),
15275         (gst_parse_error_get_type):
15276         * win32/common/gstenumtypes.h:
15277         * win32/common/gstversion.h:
15278           update visual studio generated files
15279
15280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15281
15282         * win32/vs6/libgstbase.dsp:
15283         * win32/vs6/libgstelements.dsp:
15284           update project files for new locations
15285
15286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15287
15288         * Makefile.am:
15289           remove some files
15290         * README:
15291           reinstate and update
15292         * DEVEL:
15293         * REQUIREMENTS:
15294           removed
15295         * LICENSE:
15296         * docs/random/LICENSE:
15297           moved to random
15298
15299 2005-11-30  Edward Hervey  <edward@fluendo.com>
15300
15301         * gst/gsttypefind.c: (gst_type_find_register):
15302         * gst/gsttypefind.h:
15303         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15304         (gst_type_find_factory_dispose):
15305         * gst/gsttypefindfactory.h:
15306         Fix memory leak in GstTypeFindFactory.
15307
15308 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15309
15310         * gst/gst.c:
15311         * plugins/elements/Makefile.am:
15312         * plugins/elements/gstelements.c:
15313         * plugins/elements/gstqueue.c:
15314           move queue from core to the elements plugin
15315
15316 2005-11-29  Andy Wingo  <wingo@pobox.com>
15317
15318         * libs/gst/base/gstbasetransform.h: 
15319         * libs/gst/base/gstbasesrc.h: 
15320         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15321
15322         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15323         of pointers by which to pad very extensible base classes (like the
15324         ones in libs/gst/base).
15325
15326 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15327
15328         * docs/gst/gstreamer-docs.sgml:
15329         * docs/gst/gstreamer-sections.txt:
15330         * docs/libs/gstreamer-libs-docs.sgml:
15331         * docs/libs/gstreamer-libs-sections.txt:
15332           moving documentation from core to lib
15333
15334 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15335
15336         * check/Makefile.am:
15337         * configure.ac:
15338         * docs/gst/Makefile.am:
15339         * gst/Makefile.am:
15340         * gst/base/.cvsignore:
15341         * gst/base/Makefile.am:
15342         * gst/base/README:
15343         * gst/base/gstadapter.c:
15344         * gst/base/gstadapter.h:
15345         * gst/base/gstbasesink.c:
15346         * gst/base/gstbasesink.h:
15347         * gst/base/gstbasesrc.c:
15348         * gst/base/gstbasesrc.h:
15349         * gst/base/gstbasetransform.c:
15350         * gst/base/gstbasetransform.h:
15351         * gst/base/gstcollectpads.c:
15352         * gst/base/gstcollectpads.h:
15353         * gst/base/gstpushsrc.c:
15354         * gst/base/gstpushsrc.h:
15355         * gst/base/gsttypefindhelper.c:
15356         * gst/base/gsttypefindhelper.h:
15357         * gst/check/Makefile.am:
15358         * gst/check/gstcheck.c:
15359         * gst/check/gstcheck.h:
15360         * gst/net/Makefile.am:
15361         * gst/net/gstnet.h:
15362         * gst/net/gstnetclientclock.c:
15363         * gst/net/gstnetclientclock.h:
15364         * gst/net/gstnettimepacket.c:
15365         * gst/net/gstnettimepacket.h:
15366         * gst/net/gstnettimeprovider.c:
15367         * gst/net/gstnettimeprovider.h:
15368         * libs/gst/Makefile.am:
15369         * libs/gst/base/Makefile.am:
15370         * libs/gst/base/gstbasetransform.c:
15371         * libs/gst/check/Makefile.am:
15372         * plugins/elements/Makefile.am:
15373         * po/POTFILES.in:
15374           CVS surgery + support to move base, check, and net out of gst
15375           and into libs/gst
15376
15377 2005-11-29  Andy Wingo  <wingo@pobox.com>
15378
15379         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15380
15381         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15382         padding.
15383
15384         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15385
15386         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15387
15388         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15389
15390         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15391         padding; reduces object size by about 30%. We don't expect
15392         anything else to go into gstobject.
15393
15394         * gst/gstminiobject.h (struct _GstMiniObject)
15395         (struct _GstMiniObjectClass): Only one pointer of padding; the
15396         payload is only a pointer and two ints anyway. For the class there
15397         are only two methods as well.
15398         
15399         * gst/gstelement.h (struct _GstElementClass): Removed
15400         the state_changed signal callback, it is not used.
15401
15402 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15403
15404         * docs/gst/gstreamer.types:
15405           fix includes, though they are a little dinky
15406
15407 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15408
15409         * check/Makefile.am:
15410           look in the right place for elements, a lot more chance of
15411           success
15412         * gst/Makefile.am:
15413           remove indexers and elements subdirs
15414         * plugins/Makefile.am:
15415           make indexers conditional
15416
15417 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15418
15419         * Makefile.am:
15420         * configure.ac:
15421         * plugins/elements/Makefile.am:
15422         * plugins/elements/gstcapsfilter.c:
15423         * plugins/elements/gstfilesink.c:
15424         * plugins/elements/gstfilesrc.c:
15425         * plugins/elements/gstidentity.c:
15426         * plugins/indexers/Makefile.am:
15427           do CVS surgery and related build fixery to move elements
15428           and indexers in a new gstreamer/plugins directory, out of the
15429           gst/ directory
15430
15431 2005-11-29  Andy Wingo  <wingo@pobox.com>
15432
15433         * check/Makefile.am:
15434         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15435         * pkgconfig/gstreamer-net.pc.in:
15436         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
15437         #322257.
15438
15439 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15440
15441         * tools/Makefile.am:
15442         * tools/gst-complete.1.in:
15443         * tools/gst-complete.c:
15444         * tools/gst-compprep.1.in:
15445         * tools/gst-compprep.c:
15446           removing -compprep and -complete
15447
15448 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15449
15450         * gst/gstevent.c: (gst_event_new_new_segment),
15451         (gst_event_parse_new_segment):
15452         * gst/gstevent.h:
15453           fix #320529 - clean up new_segment API and structure.
15454           Let's hope everyone was using the methods, and not the structure.
15455
15456 2005-11-29  Edward Hervey  <edward@fluendo.com>
15457
15458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15459         (gst_base_sink_event), (gst_base_sink_do_sync),
15460         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15461         Properly handle non GST_FORMAT_TIME segment
15462         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15463         Properly handle non GST_FORMAT_TIME segment
15464         * gst/gstsegment.c:
15465         This function is valid if the accumulator is 0 and the format
15466         is different from the requested format.
15467         
15468 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15469
15470         * docs/gst/gstreamer-sections.txt:
15471         Add gst_query_new_seeking and gst_query_parse_seeking to the
15472         docs.
15473
15474 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15475
15476         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15477           Treat a pad alloc with new caps the same as if we were not
15478           negotiated, in order to allow a changing upstream output
15479           to produce a new format of data.
15480
15481 2005-11-29  Edward Hervey  <edward@fluendo.com>
15482
15483         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15484         (gst_base_transform_event), (gst_base_transform_eventfunc):
15485         The event virtual method is now properly implemented, with a default
15486         handler
15487         Sub classes should call the parent_class event method. They should
15488         return FALSE if they had a problem handling the given event, or don't
15489         want GstBaseTransform to send that even downstream
15490         * gst/elements/gstidentity.c: (gst_identity_class_init),
15491         (gst_identity_init), (gst_identity_event),
15492         (gst_identity_transform_ip), (gst_identity_set_property),
15493         (gst_identity_get_property):
15494         * gst/elements/gstidentity.h:
15495         Added the single-segment boolean property.
15496         If set to TRUE, it will output a single segment of data, starting from
15497         0, will eat up all incoming newsegment, and modify the timestamp of the
15498         buffers accordingly
15499
15500 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
15501
15502         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
15503           Don't ref NULL target pad (#322751). Improve docs.
15504
15505 2005-11-29  Michael Smith  <msmith@fluendo.com>
15506
15507         * gst/gstregistryxml.c: (load_plugin):
15508           Don't crash if we failed to load a feature from a plugin. 
15509
15510 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15511
15512         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15513         (GST_START_TEST):
15514           use more check API and less GLib API
15515
15516 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15517
15518         * Makefile.am:
15519           don't run checks if we don't have check
15520         * common/check.mak:
15521           remove the registry when running make torture
15522         * docs/gst/gstreamer-sections.txt:
15523           remove second multiply
15524         * gst/gstqueue.c: (gst_queue_loop):
15525           fix a compile warning when disabling debug
15526
15527 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15528
15529         * gst/gstinfo.h:
15530         Hey! Let's print the pad name if the pointer != NULL instead
15531         of when it == NULL :-)
15532
15533 2005-11-28  Wim Taymans  <wim@fluendo.com>
15534
15535         * check/gst/gstutils.c: (GST_START_TEST):
15536         Updated check, add some scaling accuracy checking code.
15537
15538         * gst/gstutils.c: (gst_util_div128_64),
15539         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
15540         (gst_util_uint64_scale_int):
15541         Fix 6 times faster division code. Optimize for common 
15542         1/1 and less common X/1 cases.
15543
15544 2005-11-28  Wim Taymans  <wim@fluendo.com>
15545
15546         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15547         More checks.
15548
15549         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
15550         (do_linear_regression), (gst_clock_add_observation):
15551         Cleanups.
15552         Release lock when the clock cannot be slaved.
15553         Catch the case where the regression returned an invalid denominator.
15554
15555         * gst/gstutils.c: (gst_util_div128_64_iterate),
15556         (gst_util_div128_64), (gst_util_uint64_scale_int64),
15557         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15558         Add protentially more performant non-iterative 128/64 divide function
15559         that unfortunatly does not work yet.
15560         Shortcut the trivial 0/X = 0 case.
15561         Remove the warnings on overflow.
15562
15563 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15564
15565         * gst/gstplugin.c: (gst_plugin_register_func):
15566           everything causing a plugin not to load should be at least a WARNING
15567
15568 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
15569
15570         * docs/random/ensonic/dparams.txt:
15571           some TODOs for the next dev cycle
15572         * libs/gst/controller/gstcontroller.c:
15573         (gst_controlled_property_set_interpolation_mode),
15574         (gst_controlled_property_new):
15575         * libs/gst/controller/gstcontroller.h:
15576           use base type to assign acccessor functions
15577
15578 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15579
15580         * check/Makefile.am:
15581         Oops, that should have been top_srcdir
15582
15583 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15584
15585         * check/Makefile.am:
15586         * check/elements/fdsrc.c: (GST_START_TEST):
15587         Use a cmdline define to specify the location of a file to use for
15588         testing, to avoid breaking distcheck.
15589
15590 2005-11-28  Andy Wingo  <wingo@pobox.com>
15591
15592         * gst/gstpad.c (fixate_value): Use array functions for arrays.
15593
15594 2005-11-28  Edward Hervey  <edward@fluendo.com>
15595
15596         * tools/gst-launch.c: (main):
15597         Clarify the output strings, makes it easier to translate.
15598         Fixes #322626
15599
15600 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15601
15602         * gst/Makefile.am:
15603           don't try and build net if we don't even have <sys/socket.h>
15604
15605 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
15606
15607         * check/Makefile.am:
15608         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
15609         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
15610           Add tests for fdsrc seekability
15611
15612         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15613         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
15614         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
15615         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
15616         * gst/elements/gstfdsrc.h:
15617           fdsrc should not be a 'live' source.
15618           Implement seeking on seekable fd's.
15619
15620         * gst/gstquery.c: (gst_query_new_seeking),
15621         (gst_query_parse_seeking):
15622         * gst/gstquery.h:
15623           Implement SEEKING query functions: 
15624             *_new_seeking and *_parse_seeking
15625
15626 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
15627
15628         * gst/gstelement.c: (gst_element_dispose):
15629           don't loop forever
15630
15631         * gst/gstiterator.c:
15632         * gst/gststructure.c:
15633           doc fixes
15634
15635         * libs/gst/controller/gstcontroller.c:
15636         (gst_controlled_property_set_interpolation_mode):
15637         * libs/gst/controller/gstcontroller.h:
15638         * libs/gst/controller/gstinterpolation.c:
15639         (interpolate_none_get_enum_value_array):
15640           support controlling enums
15641
15642 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15643
15644         * gst/gstvalue.c:
15645           Improve documentation for gst_value_union().
15646
15647         * gst/gstvalue.h:
15648           Change return value for union, intersect and subtract functions
15649           from gint to gboolean.
15650
15651 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15652
15653         * gst/gstvalue.c: (gst_value_serialize_any_list),
15654         (gst_value_transform_any_list_string),
15655         (gst_value_deserialize_list), (gst_value_deserialize_array),
15656         (gst_value_set_int_range), (gst_value_deserialize_int_range),
15657         (gst_value_set_double_range), (gst_value_deserialize_double_range),
15658         (gst_value_set_fraction_range_full),
15659         (gst_value_deserialize_fraction_range),
15660         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
15661         (gst_value_deserialize_boolean),
15662         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
15663         (gst_value_serialize_float), (gst_value_deserialize_float),
15664         (gst_string_wrap), (gst_value_deserialize_string),
15665         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
15666         (gst_value_union_int_range_int_range),
15667         (gst_value_intersect_int_range_int_range),
15668         (gst_value_intersect_double_range_double_range),
15669         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
15670         (gst_value_subtract_int_range_int_range),
15671         (gst_value_subtract_double_double_range),
15672         (gst_value_subtract_double_range_double_range),
15673         (gst_value_deserialize_fraction):
15674         * gst/gstvalue.h:
15675           Use gint, gdouble and gchar in our API instead of int, double and
15676           char (and make usage in gstvalue.c more consistent).
15677
15678 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15679
15680         * check/Makefile.am:
15681         * libs/gst/controller/Makefile.am:
15682         * libs/gst/dataprotocol/Makefile.am:
15683           fix up Makefile.am and remove GST_ENABLE_NEW
15684
15685 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15686
15687         * configure.ac:
15688         * gst/Makefile.am:
15689         * gst/base/Makefile.am:
15690         * gst/check/Makefile.am:
15691         * gst/elements/Makefile.am:
15692         * gst/net/Makefile.am:
15693           update LDFLAGS use some more
15694
15695 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15696
15697         * common/m4/gst-doc.m4:
15698           Fixes #312589
15699
15700 2005-11-26  Edward Hervey  <edward@fluendo.com>
15701
15702         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15703         This shouldn't issue a g_warning since it returns NULL if it
15704         couldn't find the plugin, and all functions using this behave
15705         properly on a NULL return. Switching to a GST_WARNING.
15706
15707 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
15708
15709         * gst/gstbin.c: (gst_bin_handle_message_func):
15710         Don't leak clock messages.
15711
15712 2005-11-25  Wim Taymans  <wim@fluendo.com>
15713
15714         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15715         (gst_util_uint64_scale_int):
15716         Optimisations, remove unneeded vars.
15717
15718 2005-11-25  Wim Taymans  <wim@fluendo.com>
15719
15720         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15721         Added more checks for the high precision uint64 cases.
15722
15723         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15724         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15725         Implement high precision (guint64 * guint64) / guint64.
15726
15727 2005-11-24  Wim Taymans  <wim@fluendo.com>
15728
15729         * gst/base/gstbasesrc.c: (gst_base_src_query):
15730         Fix wrong percentage query.
15731
15732         * gst/gstutils.c: (gst_util_uint64_scale),
15733         (gst_util_uint64_scale_int):
15734         Add some more common cases that can be handled 
15735         efficiently to _scale.
15736
15737 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15738
15739         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
15740         (gst_mini_object_suite):
15741           don't use check calls from threads; check probably isn't
15742           threadsafe and using a lock to make it threadsafe would
15743           defeat the purpose of this check
15744         * gst/check/gstcheck.c:
15745         * gst/check/gstcheck.h:
15746           use GST_DEBUG some more
15747
15748 2005-11-24  Wim Taymans  <wim@fluendo.com>
15749
15750         * gst/gstutils.c: (gst_util_uint64_scale),
15751         (gst_util_uint64_scale_int):
15752         Chain trivial case to _scale_int.
15753
15754 2005-11-24  Wim Taymans  <wim@fluendo.com>
15755
15756         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15757         Added test for scaling.
15758
15759         * gst/gstclock.h:
15760         Small doc fix.
15761
15762         * gst/gstutils.c: (gst_util_uint64_scale_int):
15763         Implemented high precision scaling code.
15764
15765 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
15766
15767         * gst/gstinfo.h:
15768           do not crash on pad==NULL
15769
15770 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15771
15772         Patch by: Stefan Kost
15773
15774         * common/gtk-doc.mak:
15775         * docs/gst/Makefile.am:
15776         * docs/libs/Makefile.am:
15777           Fix distcheck issues for the libraries docs build
15778           Closes #319599.
15779
15780 2005-11-24  Michael Smith <msmith@fluendo.com>
15781
15782         * docs/manual/basics-helloworld.xml:
15783           Fix bug #315027: memory leak in example code in docs.
15784
15785 2005-11-24  Michael Smith <msmith@fluendo.com>
15786
15787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15788           Unlock the PREROLL_LOCK in a failure case.
15789
15790 2005-11-24  Wim Taymans  <wim@fluendo.com>
15791
15792         * docs/gst/gstreamer-sections.txt:
15793         * gst/base/gstadapter.h:
15794         * gst/base/gstbasesink.h:
15795         * gst/base/gstbasesrc.h:
15796         * gst/base/gstbasetransform.h:
15797         * gst/base/gstpushsrc.h:
15798         * gst/elements/gstfakesink.h:
15799         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
15800         * gst/elements/gstfakesrc.h:
15801         * gst/elements/gstfilesink.h:
15802         * gst/elements/gstfilesrc.h:
15803         * gst/gst.c:
15804         * gst/gstbin.c:
15805         * gst/gstbuffer.c: (_gst_buffer_copy):
15806         * gst/gstbus.h:
15807         * gst/gstcaps.c:
15808         * gst/gstchildproxy.c:
15809         * gst/gstclock.c:
15810         * gst/gstelement.c:
15811         * gst/gstelementfactory.c:
15812         * gst/gstelementfactory.h:
15813         * gst/gstevent.c:
15814         * gst/gstghostpad.h:
15815         * gst/gstindex.h:
15816         * gst/gstinterface.h:
15817         * gst/gstminiobject.c:
15818         * gst/gstminiobject.h:
15819         * gst/gstpad.c:
15820         * gst/gstpad.h:
15821         * gst/gstpadtemplate.h:
15822         * gst/gstpipeline.h:
15823         * gst/gstpluginfeature.h:
15824         * gst/gstquery.h:
15825         * gst/gstqueue.h:
15826         * gst/gsttaglist.c:
15827         * gst/gsttaglist.h:
15828         * gst/gsttagsetter.c:
15829         * gst/gsttagsetter.h:
15830         * gst/gsttrace.c:
15831         * gst/gsttrace.h:
15832         * gst/gsttypefind.h:
15833         * gst/gsturi.h:
15834         * gst/gstvalue.c:
15835         * gst/net/gstnetclientclock.c:
15836         * gst/net/gstnetclientclock.h:
15837         * gst/net/gstnettimepacket.c:
15838         * gst/net/gstnettimeprovider.c:
15839         * gst/net/gstnettimeprovider.h:
15840         Doc fixes.
15841
15842 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15843
15844         * configure.ac: back to HEAD
15845
15846 === release 0.9.6 ===
15847
15848 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
15849
15850         * configure.ac:
15851           releasing 0.9.6, "Always On Time"
15852
15853 2005-11-23  Wim Taymans  <wim@fluendo.com>
15854
15855         * docs/gst/gstreamer-sections.txt:
15856         * gst/glib-compat.c:
15857         * gst/gsttagsetter.c:
15858         * gst/gstvalue.c:
15859         * gst/net/gstnetclientclock.c:
15860         * gst/net/gstnettimepacket.h:
15861         Doc updates.
15862
15863 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15864
15865         * docs/faq/using.xml:
15866         * docs/libs/tmpl/gstcontrol.sgml:
15867         * docs/manual/advanced-dparams.xml:
15868         * docs/manual/appendix-checklist.xml:
15869         * docs/manual/basics-elements.xml:
15870         * docs/pwg/other-source.xml:
15871         * docs/random/moving-plugins:
15872         * gst/gstpad.c:
15873         * tools/gst-launch.1.in:
15874           remove mentions of sinesrc
15875
15876 2005-11-23  Michael Smith <msmith@fluendo.com>
15877
15878         * docs/gst/gstreamer-sections.txt:
15879           Update for new API and API changes.
15880         * gst/gstobject.h:
15881           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
15882         * gst/gstvalue.c:
15883           Documentation typo fix.
15884         * gst/net/gstnettimepacket.c:
15885           Documentation fixes for arguments.
15886
15887 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
15888
15889         * gst/gststructure.c: (gst_structure_get_fraction),
15890         (gst_structure_parse_value),
15891         (gst_structure_fixate_field_nearest_fraction):
15892         * gst/gststructure.h:
15893         * gst/gstutils.c: (gst_util_uint64_scale_int):
15894         * gst/gstutils.h:
15895         * scripts/update-funcnames:
15896         API Changes. 
15897         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
15898         Make gst_structure_fixate_field_nearest_fraction take a numerator
15899         and denominator argument instead of a GValue
15900         add gst_structure_get_fraction helper function.
15901
15902 2005-11-23  Wim Taymans  <wim@fluendo.com>
15903
15904         * docs/design/part-TODO.txt:
15905         Update TODO.
15906
15907         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
15908         * gst/net/gstnetclientclock.h:
15909         Use parent fields for timeout and window_size.
15910
15911 2005-11-23  Andy Wingo  <wingo@pobox.com>
15912
15913         * check/net/gstnetclientclock.c (test_functioning): Adjust to
15914         rate_num/rate_denom change.
15915
15916         * gst/net/gstnetclientclock.c
15917         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
15918         OBJECT_LOCK. Don't call add_observation with the lock.
15919
15920         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
15921         fraction.
15922         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
15923         rate fraction.
15924         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
15925         deal with rate as a fraction whose numerator and denominator are
15926         GstClockTime values.
15927         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
15928         master; the other fields are protected by the SLAVE_LOCK.
15929         (do_linear_regression): Note that this must be called with the
15930         SLAVE_LOCK.
15931         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
15932         OBJECT_LOCK. Call set_calibration instead of touching the
15933         variables directly.
15934         (gst_clock_set_property, gst_clock_get_property): Protect
15935         master/slave parameters with the SLAVE_LOCK.
15936
15937         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
15938         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
15939         note that all of the instance variables that add_observation and
15940         the set_master functions use are protected by that lock and not
15941         the OBJECT_LOCK.
15942         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
15943
15944         * gst/gstclock.c (gst_clock_add_observation): No longer requires
15945         the caller to take the object lock.
15946
15947 2005-11-23  Wim Taymans  <wim@fluendo.com>
15948
15949         * gst/gsterror.c: (_gst_core_errors_init):
15950         * gst/gsterror.h:
15951         Add error for clock stuff.
15952
15953         * gst/gstpipeline.c: (gst_pipeline_change_state),
15954         (gst_pipeline_set_clock):
15955         Post clock error when clock cannot be used in a pipeline.
15956
15957 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
15958
15959         * docs/gst/gstreamer-sections.txt:
15960           make two symbols from gstinfo private for the docs
15961         * gst/base/gstcollectpads.h:
15962         * gst/gstutils.c:
15963           fix doc typos, update docs
15964
15965 2005-11-22  Wim Taymans  <wim@fluendo.com>
15966
15967         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15968         (gst_base_sink_wait), (gst_base_sink_do_sync),
15969         (gst_base_sink_handle_event):
15970         * gst/base/gstbasesink.h:
15971         No need to store the clock, the parent element class already
15972         has it.
15973
15974         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
15975         Updates for clock_set returning a gboolean
15976
15977         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
15978         (gst_clock_id_wait_async), (gst_clock_class_init),
15979         (gst_clock_init), (gst_clock_finalize),
15980         (gst_clock_get_internal_time), (gst_clock_get_time),
15981         (gst_clock_slave_callback), (gst_clock_set_master),
15982         (gst_clock_get_master), (do_linear_regression),
15983         (gst_clock_add_observation), (gst_clock_set_property),
15984         (gst_clock_get_property):
15985         * gst/gstclock.h:
15986         Implement master/slave. When setting a clock as a slave, a
15987         periodic timeout is scheduled to sample master and slave times.
15988         Then the slave clock is recalibrated to match offset and rate
15989         of the master clock.
15990         Update logging a bit.
15991         Add flag so that a clock can state that is cannot be slaved to
15992         another clock.
15993
15994         * gst/gstelement.c: (gst_element_set_clock):
15995         * gst/gstelement.h:
15996         The set clock returns a gboolean for when an element cannot
15997         deal with the selected clock in the pipeline. 
15998
15999         * gst/gstpipeline.c: (gst_pipeline_change_state),
16000         (gst_pipeline_set_clock):
16001         * gst/gstpipeline.h:
16002         Handle the case where the selected clock cannot be set on
16003         the pipeline.
16004
16005         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16006         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16007         (gst_net_client_clock_set_property),
16008         (gst_net_client_clock_get_property),
16009         (gst_net_client_clock_observe_times):
16010         * gst/net/gstnetclientclock.h:
16011         Use regression code in GstClock parent, remove duplicated
16012         functionality.
16013
16014 2005-11-22  Michael Smith <msmith@fluendo.com>
16015
16016         * gst/gstutils.c: (gst_util_clock_time_scale):
16017         * gst/gstutils.h:
16018         * docs/gst/gstreamer-sections.txt:
16019           Rename method to have extra underscore.
16020
16021 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16022
16023         * gst/elements/Makefile.am:
16024         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16025         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16026         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16027         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16028         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16029         * gst/elements/gstfakesrc.h:
16030         * gst/gstqueue.c: (queue_leaky_get_type):
16031           correctly fix GEnumValues so that nick is the short lowercase
16032           dashed tag
16033         * tools/gst-inspect.c: (print_element_properties_info):
16034           also show the nick, since it's useful to use from parse_launch
16035           syntax
16036           Fixes #322139
16037
16038 2005-11-22  Michael Smith <msmith@fluendo.com>
16039
16040         * gst/gstutils.c: (gst_util_clocktime_scale):
16041         * gst/gstutils.h:
16042         * docs/gst/gstreamer-sections.txt:
16043           Add util method for scaling a clocktime by a fraction. Useful 
16044           implementation is left as an exercise for the reader.
16045
16046 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16047
16048         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16049         If needed, allocate storage in the destination value during
16050         collection.
16051
16052 2005-11-22  Edward Hervey  <edward@fluendo.com>
16053
16054         * docs/gst/gstreamer-sections.txt:
16055         * gst/Makefile.am:
16056         * gst/gst.h:
16057         * gst/gsturitype.c:
16058         * gst/gsturitype.h:
16059         * gst/gstutils.c: (gst_util_set_object_arg):
16060         * tools/gst-compprep.c: (main):
16061         * tools/gst-inspect.c: (print_element_properties_info):
16062         Removed GstURI, closes bug #321061
16063
16064 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16065
16066         * check/gst/gststructure.c: (GST_START_TEST):
16067         * gst/gststructure.c: (gst_structure_parse_value):
16068           Oops, broke automatic string type parsing.
16069           Add a test to catch it in future.
16070
16071 2005-11-22  Andy Wingo  <wingo@pobox.com>
16072
16073         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16074         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16075         Actually rename the function implementations. Grr.
16076
16077 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16078
16079         * check/gst/capslist.h:
16080           Comment test cases
16081         * check/gst/gststructure.c: (GST_START_TEST),
16082         (gst_structure_suite):
16083           Test automatic value type detection in gst_structure_from_string.
16084         * gst/gststructure.c: (gst_structure_parse_value):
16085           Add fraction as a type we try and guess automatically in
16086           caps/structure strings.
16087
16088 2005-11-22  Andy Wingo  <wingo@pobox.com>
16089
16090         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16091
16092         * gst/gsttagsetter.h:
16093         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16094         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16095         (gst_tag_setter_add_tag_valist)
16096         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16097         _add_values, _add_valist, and _add_valist_values. Since this is an
16098         interface the function suffixes should be more explicit so
16099         language binding don't end up with element.add_valist ->
16100         gst_tag_setter_add_valist, for example. Fixes #322069.
16101
16102 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16103
16104         * check/gst/gstcaps.c: (GST_START_TEST):
16105           Extend caps string tests to check that a caps to string
16106           conversion is reversible and produces the same caps.
16107
16108         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16109           Output "fraction" as the generic type fraction range, so caps
16110           serialisation and deserialisation works.
16111         * check/gst/capslist.h:
16112         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16113           Support 'MIN' and 'MAX' for deserialising fractions.
16114
16115 2005-11-22  Andy Wingo  <wingo@pobox.com>
16116
16117         * gst/gstevent.h (gst_event_new_new_segment)
16118         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16119         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16120         Renamed from *_newsegment, *_buffersize, *_notarget.
16121
16122         * scripts/update-funcnames: New script, performs the changes
16123         listed above.
16124
16125 2005-11-22  Wim Taymans  <wim@fluendo.com>
16126
16127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16128         Make sure the GstFlowReturn is returned.
16129
16130         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16131         (gst_bus_add_signal_watch):
16132         * gst/gstbus.h:
16133         add gst_bus_add_signal_watch_full.
16134
16135         * gst/gstplugin.c: (gst_plugin_load_file):
16136         Small style cleanup.
16137
16138 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16139
16140         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16141           Block the fakesrc srcpad when we send an event, to avoid
16142           contention on the stream_lock causing random test failures.
16143
16144 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16145
16146         * check/gst/gstvalue.c: (GST_START_TEST):
16147         * gst/gstvalue.c: (gst_value_fraction_subtract):
16148           Fix subtraction.
16149
16150 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16151
16152         * gst/gst.h:
16153           include "gstchildproxy.h"
16154         * gst/gstchildproxy.h:
16155         * libs/gst/controller/gstcontroller.h:
16156           use G_GNUC_NULL_TERMINATED
16157
16158 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16159
16160         * check/gst/capslist.h:
16161         * check/gst/gstcaps.c: (GST_START_TEST):
16162         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16163         * gst/gststructure.c: (gst_structure_parse_range),
16164         (gst_structure_fixate_field_nearest_fraction):
16165         * gst/gststructure.h:
16166         * gst/gstvalue.c: (gst_value_init_fraction_range),
16167         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16168         (gst_value_collect_fraction_range),
16169         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16170         (gst_value_set_fraction_range_full),
16171         (gst_value_get_fraction_range_min),
16172         (gst_value_get_fraction_range_max),
16173         (gst_value_serialize_fraction_range),
16174         (gst_value_transform_fraction_range_string),
16175         (gst_value_compare_fraction_range),
16176         (gst_value_deserialize_fraction_range),
16177         (gst_value_intersect_fraction_fraction_range),
16178         (gst_value_intersect_fraction_range_fraction_range),
16179         (gst_value_subtract_fraction_fraction_range),
16180         (gst_value_subtract_fraction_range_fraction),
16181         (gst_value_subtract_fraction_range_fraction_range),
16182         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16183         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16184         (gst_value_transform_string_fraction), (_gst_value_initialize):
16185         * gst/gstvalue.h:
16186           Implement fraction ranges and extend GstFraction to support
16187           arithmetic subtraction, as well as deserialization from integer
16188           strings such as "100"
16189           Add a testsuite as for int and double range set operations
16190
16191 2005-11-21  Andy Wingo  <wingo@pobox.com>
16192
16193         * gst/gsttaglist.h: 
16194         * gst/gstcaps.h: 
16195         * gst/gststructure.h: Add glib-compat.h.
16196
16197 2005-11-21  Wim Taymans  <wim@fluendo.com>
16198
16199         * gst/gstbin.c: (gst_bin_change_state_func):
16200         Fix for #321595
16201
16202 2005-11-21  Wim Taymans  <wim@fluendo.com>
16203
16204         * gst/gstsegment.h:
16205         And add a nice define too.
16206
16207 2005-11-21  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16210         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16211         (gst_segment_set_duration), (gst_segment_set_last_stop),
16212         (gst_segment_set_seek), (gst_segment_set_newsegment),
16213         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16214         (gst_segment_clip):
16215         * gst/gstsegment.h:
16216         Make binding friendly.
16217
16218 2005-11-21  Andy Wingo  <wingo@pobox.com>
16219
16220         * gst/gsttagsetter.h: 
16221         * gst/gsttaglist.h: 
16222         * gst/gststructure.h: 
16223         * gst/gstcaps.h: 
16224         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16225         #319940.
16226
16227         * gst/gsterror.c (_gst_core_errors_init):
16228         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16229         category.
16230
16231         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16232         (noinst_HEADERS): noinst the -private.
16233
16234 2005-11-21  Michael Smith <msmith@fluendo.com>
16235
16236         * gst/gstplugin.h:
16237         * gst/gstregistry.h:
16238           Remove unimplemented declarations for which we can see no sensible
16239           use.
16240
16241 2005-11-21  Andy Wingo  <wingo@pobox.com>
16242
16243         * gst/gst.h: Include glib-compat.h.
16244
16245         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16246
16247         * gst/glib-compat.c: Include the public and the private header.
16248
16249         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16250
16251         * gst/gstvalue.c: 
16252         * gst/gstpad.c: 
16253         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16254
16255         * check/gst/gstevent.c (create_custom_events): Check that
16256         FLUSH_STOP is serialized.
16257
16258         * check/elements/identity.c (event_func): 
16259         * check/elements/fakesrc.c (event_func): No stream lock, the core
16260         takes it.
16261
16262         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16263         stream lock taking, yay.
16264
16265         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16266         ensure that core takes the stream lock.
16267
16268         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16269         lock name change.
16270
16271         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16272         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16273         it already. For the flush start we do take it though so we get the
16274         right preroll state change messages.
16275
16276         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16277         the stream lock here, the core does it for us.
16278
16279         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16280         GST_STREAM_GET_LOCK.
16281         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16282         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16283         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16284         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16285         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16286         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16287
16288         * gst/gstpad.c: Update for stream lock name change.
16289
16290         * gst/base/gstbasesink.c: Update for preroll lock name change.
16291
16292 2005-11-21  Wim Taymans  <wim@fluendo.com>
16293
16294         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16295         (gst_clock_get_master):
16296         * gst/gstclock.h:
16297         * gst/gstsystemclock.c: (gst_system_clock_init):
16298         Convert Clock flags to object flags.
16299         Added methods to manage master/slave clocks.
16300
16301 2005-11-21  Wim Taymans  <wim@fluendo.com>
16302
16303         * check/gst/gstsegment.c: (GST_START_TEST):
16304         * docs/design/part-TODO.txt:
16305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16306         (gst_base_sink_event), (gst_base_sink_do_sync),
16307         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16308         (gst_base_sink_query), (gst_base_sink_change_state):
16309         * gst/base/gstbasesink.h:
16310         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16311         (gst_base_src_default_newsegment),
16312         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16313         (gst_base_src_get_range), (gst_base_src_loop),
16314         (gst_base_src_change_state):
16315         * gst/base/gstbasesrc.h:
16316         * gst/base/gstbasetransform.c:
16317         (gst_base_transform_prepare_output_buf),
16318         (gst_base_transform_event), (gst_base_transform_change_state):
16319         * gst/base/gstbasetransform.h:
16320         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16321         (gst_collect_pads_event):
16322         * gst/base/gstcollectpads.h:
16323         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16324         (gst_fake_src_create):
16325         * gst/elements/gstfakesrc.h:
16326         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16327         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16328         (gst_segment_set_last_stop), (gst_segment_set_seek),
16329         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16330         (gst_segment_to_running_time), (gst_segment_clip):
16331         * gst/gstsegment.h:
16332         More segment updates, replace code in plugins with segment
16333         helper functions.
16334
16335 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16336
16337         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16338         Don't ignore sscanf results
16339
16340 2005-11-21  Andy Wingo  <wingo@pobox.com>
16341
16342         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16343
16344         * *.h:
16345         * *.c: Ran scripts/update-macros. Oh yes.
16346
16347         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16348         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16349         GST_GET_LOCK, etc.
16350
16351         * scripts/update-macros: New script. Run it on your files to
16352         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16353         well.
16354
16355 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16356
16357         * docs/gst/Makefile.am:
16358         * docs/gst/gstreamer-docs.sgml:
16359         * docs/gst/gstreamer-sections.txt:
16360         * docs/gst/gstreamer.types:
16361         * gst/gstinfo.h:
16362           more docs fixes, add new api to the docs
16363
16364 2005-11-21  Andy Wingo  <wingo@pobox.com>
16365
16366         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16367         state_broadcast call.
16368
16369         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16370
16371 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16372
16373         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16374         function calls for arrays.
16375
16376 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16377
16378         * docs/random/ensonic/media-device-daemon.txt:
16379           wild idea, can this be done?
16380         * docs/gst/gstreamer-sections.txt:
16381         * gst/gsterror.h:
16382         * gst/gstfilter.c:
16383         * gst/gstfilter.h:
16384         * gst/gstplugin.h:
16385         * gst/gstpluginfeature.c:
16386         * gst/gsttrace.c:
16387         * gst/gstvalue.c:
16388         * gst/gstvalue.h:
16389           doc fixes and additions
16390
16391 2005-11-21  Andy Wingo  <wingo@pobox.com>
16392
16393         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16394         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16395         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16396         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16397         private to the basesrc implementation.
16398
16399         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16400         behalf of event function if necessary. It should no longer be
16401         necessary to take the stream lock in pad's event functions. Fixes
16402         #320299.
16403
16404 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16405         * docs/gst/gstreamer-sections.txt:
16406         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
16407         (gst_structure_fixate_field_nearest_double),
16408         (gst_structure_fixate_field_boolean):
16409         * gst/gststructure.h:
16410         * win32/common/libgstreamer.def:
16411         * win32/gstreamer.def:
16412
16413         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
16414         (#322027)
16415
16416 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16417
16418         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16419         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
16420         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
16421         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
16422         (gst_fdsrc_uri_handler_init):
16423         * gst/elements/gstfdsrc.h:
16424           Port fd:// URI handler from 0.8 to fdsrc
16425
16426 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16427
16428         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
16429         (gst_value_serialize_fourcc):
16430         * gst/gstvalue.h:
16431           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
16432           consistent with our other format defines (#320324).
16433
16434 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16435
16436         * gst/gstvalue.c: (gst_value_is_fixed):
16437           Revert previous commit. Value lists are by definition
16438           not fixed, as they are a list of possible values.
16439
16440 2005-11-21  Andy Wingo  <wingo@pobox.com>
16441
16442         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
16443         during the stable series if we need it. Fixes #319178.
16444
16445         * gst/gstevent.c (gst_event_new_filler): Removed.
16446
16447         * check/gst/gstevent.c: Update comment about filler events.
16448
16449 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16450
16451         * gst/gstvalue.c: (gst_value_is_fixed):
16452           Should handle both value arrays and value lists.
16453
16454 2005-11-21  Andy Wingo  <wingo@pobox.com>
16455
16456         patch by: Alessandro Dessina <alessandro nnva org>
16457
16458         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
16459         functions to access arrays. Fixes #321962.
16460
16461 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16462
16463         * docs/gst/gstreamer.types:
16464           gst_collectpads_get_type => gst_collect_pads_get_type.
16465           
16466         * gst/base/gstbasetransform.c:
16467           Remove unused SIGNAL_HANDOFF enum.
16468
16469 2005-11-21  Andy Wingo  <wingo@pobox.com>
16470
16471         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
16472         the event type (upstream, downstream, serialized). Renamed
16473         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
16474         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
16475         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
16476
16477         * gst/gstevent.c: Update for new CUSTOM event names.
16478
16479         * check/gst/gstevent.c: Update check for new CUSTOM event names.
16480
16481         * gst/gstevent.h:
16482         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
16483         bug #319392.
16484
16485 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16486
16487         * docs/gst/gstreamer-sections.txt:
16488         * win32/common/libgstbase.def:
16489         * win32/libgstbase.def:
16490         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16491         (gst_collect_pads_class_init), (gst_collect_pads_init),
16492         (gst_collect_pads_finalize), (gst_collect_pads_new),
16493         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
16494         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
16495         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
16496         (gst_collect_pads_start), (gst_collect_pads_stop),
16497         (gst_collect_pads_peek), (gst_collect_pads_pop),
16498         (gst_collect_pads_available), (gst_collect_pads_read),
16499         (gst_collect_pads_flush), (gst_collect_pads_event),
16500         (gst_collect_pads_chain):
16501         * gst/base/gstcollectpads.h:
16502           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
16503           unimplemented functions as unimplemented. Add padding to
16504           GstCollectData. (#320766, #320423)
16505
16506 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16507
16508         * gst/gstmessage.c:
16509           Improve docs for DURATION message (usage of duration parameter)
16510           (#320113)
16511
16512 2005-11-20  Wim Taymans  <wim@fluendo.com>
16513
16514         * check/Makefile.am:
16515         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
16516         (main):
16517         * gst/Makefile.am:
16518         * gst/gst.h:
16519         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16520         (gst_segment_set_seek), (gst_segment_set_newsegment),
16521         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16522         (gst_segment_clip):
16523         * gst/gstsegment.h:
16524         Added segment helper structure and methods. Not fully implemented
16525         yet.
16526         Added segment check.
16527
16528 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
16529
16530         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16531           Add a deserialisation test for fractions
16532         * examples/metadata/read-metadata.c: (message_loop),
16533         (make_pipeline), (main):
16534           Fix up metadata reading sample.
16535         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16536           Debug format fix
16537         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16538           Don't try and fixate empty caps
16539         * gst/gst_private.h:
16540           Wrap in G_BEGIN_DECLS/G_END_DECLS
16541         * gst/gstvalue.c: (gst_value_collect_fraction),
16542         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
16543         (gst_value_transform_string_fraction),
16544         (gst_value_compare_fraction):
16545           Add some extra guards to ensure that we don't end up 
16546           with an invalid denominator of 0 in a gstfraction and
16547           that fractions always get reduced.
16548
16549 2005-11-20  Wim Taymans  <wim@fluendo.com>
16550
16551         * docs/gst/gstreamer-sections.txt:
16552         * gst/gstbuffer.h:
16553         * gst/gstelement.c:
16554         * gst/gstformat.c:
16555         * gst/gstformat.h:
16556         * gst/gstindex.h:
16557         * gst/gstquery.c:
16558         * gst/gstquery.h:
16559         * gst/gstvalue.c:
16560         Doc fixes.
16561
16562 2005-11-20  Wim Taymans  <wim@fluendo.com>
16563
16564         * docs/design/part-TODO.txt:
16565         * gst/gstcaps.h:
16566         Make a proper enum of the flag.
16567
16568 2005-11-19  Wim Taymans  <wim@fluendo.com>
16569
16570         * docs/design/part-TODO.txt:
16571         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
16572         (gst_format_to_quark), (gst_format_register):
16573         * gst/gstformat.h:
16574         * gst/gstquery.c: (_gst_query_initialize),
16575         (gst_query_type_get_name), (gst_query_type_to_quark),
16576         (gst_query_type_register):
16577         * gst/gstquery.h:
16578         Add type to quark and type to string conversions.
16579
16580 2005-11-19  Andy Wingo  <wingo@pobox.com>
16581
16582         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
16583         #320097.
16584
16585 2005-11-19  Wim Taymans  <wim@fluendo.com>
16586
16587         * docs/design/part-TODO.txt:
16588         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16589         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
16590         (gst_bin_handle_message_func):
16591         * gst/gstbin.h:
16592         Make message handling overridable.
16593
16594 2005-11-19  Andy Wingo  <wingo@pobox.com>
16595
16596         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
16597
16598         * gst/gstclock.h:
16599         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
16600         be a GstClockTime.
16601         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
16602         is a GstClockTime. Fixes #321710.
16603
16604         * gst/gstclock.h (GstClock): Remove offset property. Add
16605         internal_calibration and external_calibration. Fix padding. Pad
16606         also by GstClockTime so we don't run into problems.
16607
16608         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
16609         (gst_clock_get_rate_offset): Remove.
16610         (gst_clock_set_time_adjust): Remove. Fixes #321712.
16611
16612         * gst/gstutils.h:
16613         * gst/gstutils.c (g_static_rec_cond_wait)
16614         (g_static_rec_cond_timed_wait): Removed, no longer needed.
16615
16616         * gst/gstbin.c: Remove terrible continue_state prototype.
16617
16618         * gst/gstelement.h (gst_element_continue_state): Make public.
16619
16620         * gst/gstelement.h:
16621         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
16622         by continue_state. Fixes #319389.
16623
16624         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
16625         Really fixes #168438. However I don't see anywhere where the
16626         filter function is called... stupid GStreamer...
16627         
16628         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
16629         don't have a dispose function, so it won't get called when the
16630         object is unreffed, but oh well!
16631
16632         * gst/gstindex.c (gst_index_set_filter_full): New API function,
16633         allows a destroy function to be set so user_data can be freed.
16634         Fixes #168438.
16635         (gst_index_set_filter): Call gst_index_set_filter_full.
16636
16637         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
16638
16639         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
16640         string should produce an error, given the lack of a way to
16641         represent NULL strings. Fixes #165650.
16642         
16643         * gst/gstvalue.h: 
16644         * gst/gstvalue.c (gst_value_array_append_value) 
16645         (gst_value_array_prepend_value, gst_value_array_get_size) 
16646         (gst_value_array_get_value): New API, copied from
16647         gst_value_list_*, only operates on arrays.
16648         (gst_value_list_append_value, gst_value_list_prepend_value) 
16649         (gst_value_list_concat, gst_value_list_get_size) 
16650         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
16651
16652         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
16653         init_list, because it works on both.
16654         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
16655         (gst_value_copy_list_or_array): Renamed from copy_list.
16656         (gst_value_free_list_or_array): Renamed from free_list.
16657         (gst_value_collect_list_or_array): Renamed from collect_list.
16658         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
16659         (gst_value_list_or_array_peek_pointer): Renamed from
16660         list_peek_pointer.
16661         (_gst_value_array_value_table, _gst_value_list_value_table):
16662         Update value table functions.
16663         (gst_value_compare_list_or_array): Renamed from compare_list.
16664
16665         * gsttaglist.h: Whoops, foreach function returns void. Also fix
16666         some constness.
16667
16668         * gst/gsttaglist.c:
16669         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
16670         GstTagList*. Fixes #143472.
16671
16672         * gst/gststructure.h: Clarify what the foreach/map functions can
16673         or can't do to their arguments.
16674
16675 2005-11-18  Wim Taymans  <wim@fluendo.com>
16676
16677         * gst/gstclock.c: (gst_clock_set_calibration),
16678         (gst_clock_get_calibration):
16679         Doc and API fixes.
16680         Calibration can be set with internal time equal to current
16681         internal time too.
16682
16683 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16684
16685         * gst/gsterror.c:
16686         * gst/gsterror.h:
16687           document
16688
16689 2005-11-18  Andy Wingo  <wingo@pobox.com>
16690
16691         * configure.ac: 
16692         * pkgconfig/gstreamer-net.pc.in:
16693         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16694         * pkgconfig/Makefile.am: Add net pkgconfig files.
16695
16696 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
16697
16698         * gst/gstcaps.c:
16699         * gst/gstghostpad.c:
16700         * gst/gsttrace.c:
16701         * gst/gstvalue.c:
16702         * gst/gstvalue.h:
16703           docs fixes
16704
16705 2005-11-18  Andy Wingo  <wingo@pobox.com>
16706
16707         * gst/net/gstnetclientclock.c: Turn off debugging.
16708
16709         * check/net/gstnetclientclock.c (test_functioning): Assert that the
16710         times connverge somewhat. Can't make a real test.
16711
16712         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
16713         integer arithmetic. Return the minimum of the domain, which can be
16714         set as "internal" for gst_clock_set_calibration.
16715         (gst_net_client_clock_observe_times): Call _set_calibration.
16716         (gst_net_client_clock_new): Call _set_calibration instead of
16717         rate_offset.
16718
16719         * check/net/gstnetclientclock.c (test_functioning): Use the right
16720         adjustment api.
16721
16722         * gst/gstclock.h:
16723         * gst/gstclock.c (gst_clock_get_calibration) 
16724         (gst_clock_set_calibration): New functions, obsolete the ones I
16725         added yesterday. Doh. Precision issues mean we have to extrapolate
16726         from a point in the more recent past than 1970.
16727         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
16728         obsolete.
16729         (gst_clock_adjust_unlocked): Use the right calibration data.
16730
16731 2005-11-18  Edward Hervey  <edward@fluendo.com>
16732
16733         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
16734         Also reset the ->current_* values in READY->PAUSED
16735
16736 2005-11-18  Andy Wingo  <wingo@pobox.com>
16737
16738         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
16739         Whoops, check the right fd. Also add some debugging.
16740         (gst_net_client_clock_observe_times): Adjust for int64 offset.
16741         (do_linear_regression): Add a crapload of debugging. Subtract off
16742         the minimum values from the input series to discard unneeded bits.
16743         Use only int arithmetic. There is still double arithmetic when
16744         calculating the intercept that needs fixing. Return boolean to
16745         indicate success; FALSE would mean the domain or range is too
16746         great. Still needs fixes.
16747
16748 2005-11-18  Wim Taymans  <wim@fluendo.com>
16749
16750         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16751         For the current position in stream time, we need to subtract
16752         accumulated time.
16753         
16754         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16755         Release lock before calling the callback function of async
16756         entries.
16757
16758 2005-11-18  Andy Wingo  <wingo@pobox.com>
16759
16760         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
16761         Port goes all the way to MAXUINT16.
16762
16763         * gst/net/gstnettimeprovider.c: Make the port range the same as
16764         for the kernel: 0 assigns, otherwise ports are less than
16765         MAXUINT16.
16766
16767         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
16768         port change.
16769
16770         * check/net/gstnetclientclock.c (test_functioning): Add the start
16771         of another test. 
16772
16773 2005-11-18  Wim Taymans  <wim@fluendo.com>
16774
16775         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16776         (gst_bin_remove_func), (bin_bus_handler):
16777         * gst/gstbin.h:
16778         Removing a clock provider from a bin, triggers a clock lost message
16779         so that a new clock will be selected.
16780         Adding a clock to a bin triggers a clock provider message.
16781         Make sure we reselect a clock when we received a clock lost message.
16782         Keep a reference to the element that provided the clock.
16783
16784 2005-11-18  Andy Wingo  <wingo@pobox.com>
16785
16786         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
16787         the clock initially so it produces values around the base time.
16788         (gst_net_client_clock_class_init): Typo fix.
16789         (gst_net_client_clock_thread): Add note on when the socket gets
16790         closed.
16791
16792 2005-11-17  Wim Taymans  <wim@fluendo.com>
16793
16794         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
16795         Free remote and local time arrays.
16796
16797 2005-11-17  Wim Taymans  <wim@fluendo.com>
16798
16799         * gst/net/gstnetclientclock.c: (do_linear_regression),
16800         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
16801         Fix compilation, uninitialized vars and a forgotten continue.
16802
16803 2005-11-17  Andy Wingo  <wingo@pobox.com>
16804
16805         * check/Makefile.am (check_PROGRAMS): 
16806         * check/net/gstnetclientclock.c: Add a most minimal test for the
16807         net client clock. More to come later.
16808
16809         * gst/net/gstnet.h: 
16810         * gst/net/Makefile.am: Add netclientclock.
16811
16812         * gst/net/gstnetclientclock.h:
16813         * gst/net/gstnetclientclock.c: New files, implement an untested
16814         GstClock that takes its time from a network time provider.
16815         Implements the algorithm in network-clock.scm.
16816
16817         * tests/network-clock.scm (*window-size*): Rename from
16818         *queue-length*.
16819         * tests/network-clock.scm (network-time): 
16820         * tests/network-clock-utils.scm (q-push): Update callers.
16821
16822 2005-11-17  Wim Taymans  <wim@fluendo.com>
16823
16824         * gst/gstbin.c: (gst_bin_provide_clock_func),
16825         (gst_bin_sort_iterator_new):
16826         And unref the child too..
16827
16828 2005-11-17  Wim Taymans  <wim@fluendo.com>
16829
16830         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16831         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
16832         Refactor the sort iterator so it can be used while holding the
16833         LOCK too.
16834         Make clock selection select a clock closest to the source.
16835
16836 2005-11-17  Michael Smith <msmith@fluendo.com>
16837
16838         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
16839         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
16840         * gst/gstclock.h:
16841           Anonymous structs are a gcc (and some other compilers) extension, so
16842           don't use them. Since this is only for ABI-compatibility, and our
16843           API/ABI freeze is over in a few days, this whole thing will only
16844           last a few days, so don't bother trying to think up a meaningful
16845           name for the struct.
16846
16847 2005-11-17  Andy Wingo  <wingo@pobox.com>
16848
16849         * gst/gstclock.h (GstClock): Add rate and offset properties,
16850         preserving ABI stability. Add rate/offset accessors. Will file bug
16851         for the freeze break.
16852
16853         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
16854         and offset, trying to keep precision and avoiding
16855         underflow/overflow.
16856         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
16857         functions. Make gst_clock_set_time_adjust obsolete.
16858         (gst_clock_set_time_adjust): Note that this function is obsolete.
16859         Will file bug soon.
16860
16861         * gst/base/gstbasetransform.h: Make the ABI-stability hack
16862         greppable by using GST_PADDING-1+1.
16863
16864 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
16865
16866         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16867
16868         * gst/gstmessage.c: (gst_message_parse_clock_lost):
16869           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
16870
16871         * gst/gstpadtemplate.h:
16872         * gst/gstpluginfeature.h:
16873           Don't use c++ style comments in headers (#321638).
16874
16875 2005-11-16  Andy Wingo  <wingo@pobox.com>
16876
16877         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
16878         buffer.
16879
16880         * check/net/gstnettimeprovider.c: Check to see that the time
16881         provider actually provides times. Works, yo!
16882
16883 2005-11-16  Wim Taymans  <wim@fluendo.com>
16884
16885         * check/Makefile.am:
16886         Enable more tests.
16887
16888         * check/elements/fakesrc.c: (GST_START_TEST):
16889         Set element to NULL before disposing it.
16890
16891 2005-11-16  Andy Wingo  <wingo@pobox.com>
16892
16893         * gst/net/Makefile.am:
16894         * gst/net/gstnet.h:
16895         * gst/net/gstnettimeprovider.c: 
16896         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
16897         provider, include it from gstnet.h, and add it to the build.
16898
16899         * gst/net/gstnettimepacket.h: 
16900         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
16901         sending and receiving.
16902
16903 2005-11-16  Wim Taymans  <wim@fluendo.com>
16904
16905         * check/Makefile.am:
16906         Enable valgrind check.
16907
16908         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
16909         (gst_fake_src_alloc_buffer):
16910         Fix memleak.
16911
16912 2005-11-16  Wim Taymans  <wim@fluendo.com>
16913
16914         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
16915         Call parent finalize too.
16916
16917 2005-11-16  Wim Taymans  <wim@fluendo.com>
16918
16919         * check/Makefile.am:
16920         Enable valgrind check that should work fine now.
16921
16922         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16923         * gst/gstqueue.c: (gst_queue_init):
16924         Fix memleaks in pad allocation.
16925
16926 2005-11-16  Andy Wingo  <wingo@pobox.com>
16927
16928         * gst/net/Makefile.am:
16929         * gst/net/gstnet.h: New part of core to hold network elements and
16930         objects. Put in core because it exposes API that applications want
16931         to use. The library is named libgstnet-tempname right now because
16932         of the existing libgstnet in gst-plugins-base. Solution is
16933         probably to rename the one in plugins-base; will file a bug for
16934         the freeze break.
16935
16936         * gst/net/gstnettimeprovider.c: 
16937         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
16938         get_time call over the network.
16939
16940         * configure.ac: 
16941         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
16942
16943         * check/Makefile.am:
16944         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
16945         get additions shortly.
16946
16947 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16948
16949         * gst/gstpad.c: (gst_pad_new_from_static_template):
16950         * gst/gstpad.h:
16951           add gst_pad_new_from_static_template functions
16952         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
16953         (gst_check_setup_sink_pad):
16954         * gst/elements/gsttee.c: (gst_tee_init):
16955           and use them
16956
16957 2005-11-16  Wim Taymans  <wim@fluendo.com>
16958
16959         * gst/gstpad.c: (gst_pad_pause_task):
16960         Removed warning, it's not really an error either.
16961
16962 2005-11-16  Wim Taymans  <wim@fluendo.com>
16963
16964         * gst/base/gstbasetransform.c:
16965         (gst_base_transform_prepare_output_buf),
16966         (gst_base_transform_event):
16967         Check if the caps are NULL, this can happen if the element
16968         is shutting down and the pad caps are set to NULL.
16969
16970 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16971
16972         * gst/elements/gsttee.c: (gst_tee_init):
16973           fix pad template leak in tee
16974
16975 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16976
16977         * gst/glib-compat.c: (g_value_dup_gst_object):
16978         * gst/glib-compat.h:
16979         * gst/gstpad.c: (gst_pad_set_property):
16980           use gst_object_ref when setting the pad template; this will
16981           trigger the pad template leaks on GLib 2.6 and the slaves
16982
16983 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16984
16985         * gst/glib-compat.c: (gst_flags_get_first_value):
16986         * gst/glib-compat.h:
16987         * gst/gstregistryxml.c:
16988           remove functions copied from GLib 2.6
16989
16990 2005-11-16  Michael Smith <msmith@fluendo.com>
16991
16992         * gst/Makefile.am:
16993           Don't link against VALGRIND_LIBS. That was always the wrong thing to
16994           do, but only breaks with newer valgrind versions. We're not a
16995           valgrind tool, we have no link-time dependencies on libcoregrind.
16996
16997 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16998
16999         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17000           some debug changes
17001         * gst/gstmessage.h:
17002           typo fixes
17003
17004 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17005
17006         * gst/base/gstbasesrc.c: (gst_base_src_init):
17007         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17008         * gst/gstqueue.c: (gst_queue_init):
17009         * gst/gstregistryxml.c: (load_feature):
17010           Revert all these unrefs, they don't even pass make check !
17011
17012 2005-11-15  Johan Dahlin  <johan@gnome.org>
17013
17014         * gst/base/gstbasesrc.c: (gst_base_src_init):
17015         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17016         * gst/gstqueue.c: (gst_queue_init): 
17017         Free pad templates, fixes a couple of leaks.
17018
17019 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17020
17021         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17022
17023         * gst/gstpad.c: (gst_pad_get_property):
17024           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17025           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17026           (#321452)
17027
17028 2005-11-15  Wim Taymans  <wim@fluendo.com>
17029
17030         * gst/gstevent.c:
17031         Small doc update.
17032
17033 2005-11-15  Andy Wingo  <wingo@pobox.com>
17034
17035         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17036
17037         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17038         using GST_CLOCK_TIME_NONE to disable base time management.
17039         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17040         time if it was NONE before.
17041         (gst_pipeline_change_state): Only munge the base time if
17042         stream_time != GST_CLOCK_TIME_NONE.
17043
17044         * check/gst/gstpipeline.c (test_base_time): Punt around the
17045         problem of the probe not being called, because that's not the
17046         issue I'm looking at. Add a check that setting stream_time to NONE
17047         disables base time management.
17048         
17049 2005-11-15  Wim Taymans  <wim@fluendo.com>
17050
17051         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17052         segment_stop == -1 at startup.
17053
17054         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17055         (gst_base_transform_change_state):
17056         Init segment values at start.
17057
17058 2005-11-15  Wim Taymans  <wim@fluendo.com>
17059
17060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17061         0 segment values are 0 in any format.
17062
17063         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17064         * gst/base/gstbasetransform.h:
17065         Parse newsegment correctly in basetransform
17066
17067         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17068         Sync to clock using updated segment values.
17069
17070 2005-11-15  Andy Wingo  <wingo@pobox.com>
17071
17072         * check/gst/gstpipeline.c (test_base_time): Add check that the
17073         base time and stream time are reset correctly.
17074
17075 2005-11-15  Wim Taymans  <wim@fluendo.com>
17076
17077         * docs/design/part-TODO.txt:
17078         Some more TODO items.
17079
17080 2005-11-15  Andy Wingo  <wingo@pobox.com>
17081
17082         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17083         error if the user selected "no clock" as the clocking method.
17084
17085         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17086         timestamps with live capture.
17087
17088         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17089         is 0 but we are a live source, timestamp the buffers using the
17090         element's clock.
17091
17092 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17093
17094         * docs/gst/gstreamer-sections.txt:
17095         * gst/gsterror.c:
17096         * gst/gstghostpad.c:
17097         * gst/gstobject.h:
17098         * gst/gstxml.c:
17099           more section docs
17100
17101 2005-11-14  Wim Taymans  <wim@fluendo.com>
17102
17103         * common/gst.supp:
17104           add suppressions from Wim's Debian machine
17105
17106 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17107
17108         * common/gst.supp:
17109           add suppressions from Andy's AMD64 Ubuntu machine
17110
17111 2005-11-14  Andy Wingo  <wingo@pobox.com>
17112
17113         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17114         STATE_LOCK not necessary. Fixes #311489.
17115
17116         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17117         #305291.
17118
17119         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17120         this function is not implemented.
17121
17122 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17123
17124         * gst/base/gstbasetransform.c:
17125         (gst_base_transform_prepare_output_buf):
17126         Ref the source pad caps while we need them.
17127         Fixes (#321386)
17128
17129 2005-11-11  Wim Taymans  <wim@fluendo.com>
17130
17131         * docs/gst/gstreamer-sections.txt:
17132         Added some docs for GstCollectData.
17133
17134         * gst/base/gstadapter.c:
17135         Some small code example fix.
17136
17137         * gst/base/gstcollectpads.c:
17138         * gst/base/gstcollectpads.h:
17139         Document some more.
17140
17141 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17142
17143         * configure.ac: back to HEAD
17144
17145 === release 0.9.5 ===
17146
17147 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17148
17149         * configure.ac:
17150           releasing 0.9.5, "Bike Lunch Day"
17151
17152 2005-11-11  Wim Taymans  <wim@fluendo.com>
17153
17154         * gst/gstbuffer.c: (_gst_buffer_copy):
17155         Copy more flags.
17156
17157         * gst/gstcaps.c: (gst_caps_is_equal):
17158         Fix some docs.
17159         Make _is_equal fast in the trivial cases.
17160
17161         * gst/gstminiobject.c:
17162         * gst/gstminiobject.h:
17163         More docs. Spifify .h file.
17164
17165         * gst/gstutils.c:
17166         Small doc update.
17167
17168 2005-11-11  Wim Taymans  <wim@fluendo.com>
17169
17170         * gst/base/gstbasetransform.c:
17171         (gst_base_transform_prepare_output_buf),
17172         (gst_base_transform_handle_buffer):
17173         Small cleanups.
17174         If we're processing a buffer and need to allocate an output
17175         buffer, we cannot accept a format change. If we did get a 
17176         format change, we have to alloc a buffer ourselves of the 
17177         right size.
17178
17179 2005-11-11  Wim Taymans  <wim@fluendo.com>
17180
17181         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17182         While checking the flag for reentrancy in the gstcaps function
17183         is nice to detect recursive invocations, it also makes it 
17184         impossible to call getcaps from multiple threads, which must be
17185         possible. So, checking for recursive calls has to go.
17186
17187 2005-11-11  Michael Smith <msmith@fluendo.com>
17188
17189         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17190           Don't sync on buffers that fall partially outside our current
17191           segment. Prevents an assertion failure/abort playing some files.
17192
17193 2005-11-10  Andy Wingo  <wingo@pobox.com>
17194
17195         * check/gst/gstbin.c (test_message_state_changed_children): Style
17196         fix..
17197
17198         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17199         gst_bus_poll with the signal watch. Ensures that poll and a signal
17200         watch see the same messages.
17201
17202         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17203         a poll and a watch at the same time get the same messages.
17204
17205 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17206
17207         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17208         * gst/gstcaps.c: (gst_caps_intersect):
17209           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17210           and it's not needed.
17211
17212 2005-11-10  Wim Taymans  <wim@fluendo.com>
17213
17214         * docs/design/part-TODO.txt:
17215         Updated todo.
17216
17217 2005-11-10  Wim Taymans  <wim@fluendo.com>
17218
17219         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17220         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17221         (gst_base_src_do_sync), (gst_base_src_get_range):
17222         Implement clock sync in base class.
17223
17224 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17225
17226         patch by: Tim-Philipp Müller <tim at centricular dot net>
17227
17228         * gst/gststructure.c: (gst_structure_parse_field),
17229         (gst_structure_from_string):
17230           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17231           so that gst_parse_launch() can deal with spaces in filtered link
17232           caps (fixes #164479)
17233         * check/gst/capslist.h:
17234         * check/gst/gststructure.c: (GST_START_TEST):
17235           add unit tests for this change
17236
17237 2005-11-10  Wim Taymans  <wim@fluendo.com>
17238
17239         * docs/gst/gstreamer-sections.txt:
17240         * gst/gstelement.c:
17241         * gst/gstelement.h:
17242         Fix docs, move some STATE macros to private.
17243
17244 2005-11-10  Wim Taymans  <wim@fluendo.com>
17245
17246         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17247         Added check for bug #317341
17248
17249         * gst/gstbuffer.c:
17250         * gst/gstbuffer.h:
17251         Some more spiffifying.
17252
17253         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17254         Call peer linkfunction if we are a source pad. Totally fixes
17255         #317341
17256
17257         * gst/gstpad.c:
17258         Update docs, source pads should call the peer linkfunction
17259         so they can atomically perform the pad link.
17260
17261 2005-11-09  Wim Taymans  <wim@fluendo.com>
17262
17263         * gst/gstbuffer.c:
17264         * gst/gstbuffer.h:
17265         Uber-spiffy-spiffify some more.
17266
17267 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17268
17269         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17270         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17271         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17272         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17273         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17274         * gst/gstpad.c: (gst_pad_init):
17275           Use GST_DEBUG_FUNCPTR() more extensively.
17276
17277 2005-11-09  Wim Taymans  <wim@fluendo.com>
17278
17279         * gst/gstobject.c: (gst_object_class_init):
17280         * gst/gstobject.h:
17281         Documentation fixes.
17282
17283 2005-11-09  Edward Hervey  <edward@fluendo.com>
17284
17285         * gst/gsttypefindfactory.c:
17286         Fix docs.
17287         
17288 2005-11-09  Edward Hervey  <edward@fluendo.com>
17289
17290         * gst/base/gsttypefindhelper.c:
17291         * gst/gsttypefind.c:
17292         * gst/gsttypefind.h:
17293         Fix docs.
17294
17295 2005-11-09  Wim Taymans  <wim@fluendo.com>
17296
17297         * gst/gstiterator.c:
17298         Fix revision data.
17299
17300         * gst/gsttask.c:
17301         * gst/gsttask.h:
17302         Fix docs.
17303
17304 2005-11-09  Wim Taymans  <wim@fluendo.com>
17305
17306         * gst/gstevent.h:
17307         * gst/gsturi.h:
17308         Fix docs.
17309
17310 2005-11-09  Wim Taymans  <wim@fluendo.com>
17311
17312         * docs/gst/gstreamer-sections.txt:
17313         Moved the message async delivery private lock and cond
17314         to the private section.
17315
17316         * gst/gstmessage.c:
17317         * gst/gstmessage.h:
17318         Fixed docs.
17319
17320 2005-11-09  Edward Hervey  <edward@fluendo.com>
17321
17322         * docs/gst/gstreamer-sections.txt:
17323         * gst/gsturi.c:
17324         * gst/gsturi.h:
17325         Document GstURIHandler
17326
17327 2005-11-09  Wim Taymans  <wim@fluendo.com>
17328
17329         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17330         (gst_iterator_find_custom):
17331         * gst/gstiterator.h:
17332         Fix iterator docs.
17333
17334 2005-11-09  Wim Taymans  <wim@fluendo.com>
17335
17336         * gst/gstbin.h:
17337         Document another field.
17338
17339         * gst/gststructure.c:
17340         * gst/gststructure.h:
17341         Document.
17342
17343 2005-11-09  Wim Taymans  <wim@fluendo.com>
17344
17345         * gst/gstbin.h:
17346         Documented structs.
17347
17348 2005-11-09  Wim Taymans  <wim@fluendo.com>
17349
17350         * docs/gst/gstreamer-sections.txt:
17351         Added some new macros.
17352
17353         * gst/gstclock.c:
17354         * gst/gstclock.h:
17355         * gst/gstobject.h:
17356         Docs updates.
17357
17358 2005-11-09  Wim Taymans  <wim@fluendo.com>
17359
17360         * docs/design/part-TODO.txt:
17361         Some more items for the TODO
17362
17363         * gst/gstcaps.c:
17364         * gst/gstcaps.h:
17365         Document GstCaps.
17366
17367 2005-11-09  Andy Wingo  <wingo@pobox.com>
17368
17369         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17370         to work on something else now tho...
17371
17372         * gst/base/gstadapter.c: More adapter docs.
17373
17374         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17375         (gst_file_sink_stop): New functions, replace the state change
17376         handler.
17377         (gst_file_sink_class_init): Hook up the start and stop functions.
17378         (gst_file_sink_base_init): Don't set the state change handler any
17379         more. It was a bit ugly too, being set from here...
17380         (gst_file_sink_get_property, gst_file_sink_set_property):
17381         Cleanups...
17382         (gst_file_sink_set_location): More robust check that doesn't call
17383         GST_STATE. Ugggggg.
17384
17385 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17386
17387         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17388           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17389
17390 2005-11-08  Wim Taymans  <wim@fluendo.com>
17391
17392         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17393         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17394         (gst_base_sink_chain), (gst_base_sink_change_state):
17395         * gst/base/gstbasesink.h:
17396         * gst/base/gstbasesrc.h:
17397         * gst/gstelement.h:
17398         * gst/gstevent.h:
17399         Avoid excessive typechecking in macros.
17400
17401         * gst/gstminiobject.c: (gst_mini_object_get_type),
17402         (gst_mini_object_init), (gst_mini_object_new),
17403         (gst_mini_object_free):
17404         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17405         (gst_object_finalize):
17406         Remove cruft code, optimize alloc_trace.
17407
17408 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17409
17410         * docs/faq/gst-uninstalled:
17411           fix up PS1 for systems that try to reset it
17412
17413 2005-11-07  Wim Taymans  <wim@fluendo.com>
17414
17415         * gst/base/gstbasesrc.c: (gst_base_src_init),
17416         (gst_base_src_get_range):
17417         Set the segment_end to -1 initially. Fixed typefind.
17418
17419 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
17420
17421         * gst/base/gstadapter.c:
17422           Debug category should be 'adapter', not 'GstAdapter'.
17423           
17424         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
17425         (gst_collectpads_class_init), (gst_collectpads_init),
17426         (gst_collectpads_peek), (gst_collectpads_pop),
17427         (gst_collectpads_event), (gst_collectpads_chain):
17428           Add debug category and some debugging output. Use boilerplate
17429           macros. Remove some extraneous words from docs.
17430
17431 2005-11-05  Andy Wingo  <wingo@pobox.com>
17432
17433         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
17434         macro.
17435
17436 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17437
17438         * docs/gst/gstreamer-sections.txt:
17439         * gst/gstcaps.h:
17440         * gst/gstinfo.c:
17441         * gst/gstminiobject.h:
17442         * gst/gstobject.h:
17443         * gst/gstutils.h:
17444           more docs added
17445
17446 2005-11-04  Wim Taymans  <wim@fluendo.com>
17447
17448         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17449         Small update to stop at the configured segment_end
17450         position.
17451
17452 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17453
17454         * gst/gstregistry.c:
17455         * gst/gstregistry.h:
17456           added missing docs
17457
17458 2005-11-04  Edward Hervey  <edward@fluendo.com>
17459
17460         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17461         Check if we are doing a segment seek and have arrived at the
17462         end of that segment.
17463
17464 2005-11-04  Wim Taymans  <wim@fluendo.com>
17465
17466         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
17467         Don't leak a mutex unlock in case of an error.
17468
17469         * gst/gstbus.h:
17470         Doc fixes.
17471
17472 2005-11-04  Wim Taymans  <wim@fluendo.com>
17473
17474         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
17475         (gst_bus_post):
17476         Get the context to wake up only once.
17477
17478 2005-11-03  Wim Taymans  <wim@fluendo.com>
17479
17480         * check/states/sinks.c: (GST_START_TEST):
17481         Uncomment fixed check.
17482
17483         * docs/design/part-TODO.txt:
17484         Updated TODO.
17485
17486         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17487         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17488         (gst_base_sink_get_position):
17489         If we are going to PLAYING, post the right pending state
17490         when we post the intermediate paused message.
17491
17492         * gst/gstelement.c: (gst_element_continue_state),
17493         (gst_element_set_state_func), (gst_element_change_state):
17494         Don't post state changes that were between the same state
17495         and were not ASYNC.
17496
17497 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17498
17499         * docs/gst/gstreamer-sections.txt:
17500         * gst/gstcaps.h:
17501         * gst/gstinfo.c:
17502         * gst/gstminiobject.h:
17503         * gst/gstobject.h:
17504         * gst/gstutils.h:
17505           more docs and doc style fixes
17506
17507 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17508
17509         * docs/gst/gstreamer-sections.txt:
17510         * gst/gstelement.c:
17511         * gst/gstminiobject.c:
17512         doc fixes
17513
17514 2005-11-03  Andy Wingo  <wingo@pobox.com>
17515
17516         * check/states/sinks.c (test_livesrc_sink): Add checks that the
17517         state-changed messages actually have the right order and the right
17518         values.
17519
17520 2005-11-03  Wim Taymans  <wim@fluendo.com>
17521
17522         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17523         Added some more checks. Specifically the case where NO_PREROLL
17524         elements are in the pipeline.
17525
17526         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17527         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17528         (gst_base_sink_get_position):
17529         Post READY->PAUSED state change messages too.
17530         Fix bug where VOID was posted as pending state...
17531
17532         * gst/gstbin.c: (gst_bin_recalc_state):
17533         use _element_continue_state() to continue the state change.
17534
17535         * gst/gstelement.c: (gst_element_continue_state),
17536         (gst_element_commit_state), (gst_element_set_state_func),
17537         (gst_element_change_state), (gst_element_change_state_func):
17538         Lots of state change cleanups, assign the STATE_RETURN in
17539         a new continue_state() function that also propagates the
17540         last return value from a state change to the app.
17541         Update some debug statements with proper category.
17542
17543 2005-11-03  Wim Taymans  <wim@fluendo.com>
17544
17545         * docs/design/part-events.txt:
17546         * docs/design/part-gstpipeline.txt:
17547         * docs/design/part-messages.txt:
17548         * docs/design/part-overview.txt:
17549         * docs/design/part-seeking.txt:
17550         * docs/design/part-states.txt:
17551         * docs/design/part-trickmodes.txt:
17552         * docs/manual/advanced-position.xml:
17553         Small docs updates.
17554
17555         * gst/gstobject.h:
17556         People think !! is ugly, this looks better.
17557
17558         * gst/gstpad.c: (gst_pad_set_blocked_async):
17559         Remove !! since it's fixed elsewhere now.
17560
17561 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17562
17563         * gst/gstminiobject.h:
17564         * gst/gstobject.h:
17565           Add !! to _FLAG_IS_SET macros to make the result boolean.
17566
17567 2005-11-03  Edward Hervey  <edward@fluendo.com>
17568
17569         * gst/gstpad.c: (gst_pad_set_blocked_async):
17570         comparing a flag and a gboolean rarely returns coherent results...
17571         Added two characters (!!) to make that work correctly.
17572         
17573 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17574
17575         * gst/gstbus.c: (gst_bus_class_init):
17576           Fix some typos.
17577           
17578         * gst/gstqueue.c: (gst_queue_loop):
17579           Don't assume a miniobject that isn't a buffer is an
17580           event (it could be that there is a refcounting
17581           problem somewhere and the pointer is stale and
17582           refers to an already destroyed miniobject).
17583
17584 2005-11-03  Julien MOUTTE  <julien@moutte.net>
17585
17586         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
17587
17588 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17589
17590         * docs/manual/advanced-position.xml:
17591           Update seek example and explanations to current 0.9 API.
17592
17593         * gst/elements/gsttypefindelement.c:
17594         (gst_type_find_element_activate):
17595           Remove FIXME comment now that the found caps
17596           are unreffed.
17597
17598 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * gst/gstregistryxml.c: (load_feature):
17601           Add another GST_STR_NULL instance
17602
17603 2005-11-02  Edward Hervey  <edward@fluendo.com>
17604
17605         * gst/gstpad.c: (handle_pad_block):
17606         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
17607         
17608 2005-11-02  Wim Taymans  <wim@fluendo.com>
17609
17610         * gst/gstbin.c:
17611         Fix typo in docs.
17612
17613         * gst/gstelement.c: (gst_element_commit_state):
17614         Remove unused value.
17615
17616         * gst/gstiterator.c:
17617         Mention that the returned element is reffed in the docs.
17618
17619 2005-11-02  Wim Taymans  <wim@fluendo.com>
17620
17621         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
17622         (gst_pad_push), (gst_pad_push_event):
17623         Unlock blocked pads when they are flushed.
17624
17625 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17626
17627         * docs/README:
17628         * docs/gst/gstreamer-sections.txt:
17629         * gst/gstbin.c:
17630           doc updates
17631         * gst/gstregistry.c: (gst_registry_scan_path_level):
17632           fix for a nasty little missed situation where an installed plug-in
17633           which was in the cache did not get overridden by an uninstalled one
17634           which was earlier in the plugin path because the newly created plugin
17635           for the uninstalled one (not in the registry) didn't get its
17636           ->registered set to TRUE
17637
17638 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17639
17640         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
17641         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
17642         (gst_collectpads_is_active), (gst_collectpads_collect),
17643         (gst_collectpads_collect_range), (gst_collectpads_start),
17644         (gst_collectpads_stop), (gst_collectpads_peek),
17645         (gst_collectpads_pop), (gst_collectpads_available),
17646         (gst_collectpads_read), (gst_collectpads_flush):
17647           Guard public API with assertions.
17648         
17649         * gst/gstpad.c:
17650           Fix docs for gst_pad_set_link_function().
17651
17652 2005-11-02  Johan Dahlin  <johan@gnome.org>
17653
17654         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
17655         Unref found_caps after we used it.
17656
17657 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17658
17659         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
17660           Don't try to ref NULL.
17661
17662 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17663
17664         * win32/common/config.h.in:
17665           provide a GST_FUNCTION that just gives a string for now
17666
17667 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17668
17669         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17670         (gst_object_flags_get_type), (register_gst_bin_flags),
17671         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17672         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17673         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17674         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
17675         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17676         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17677         (gst_clock_flags_get_type), (register_gst_state),
17678         (gst_state_get_type), (register_gst_state_change_return),
17679         (gst_state_change_return_get_type), (register_gst_state_change),
17680         (gst_state_change_get_type), (register_gst_element_flags),
17681         (gst_element_flags_get_type), (register_gst_core_error),
17682         (gst_core_error_get_type), (register_gst_library_error),
17683         (gst_library_error_get_type), (register_gst_resource_error),
17684         (gst_resource_error_get_type), (register_gst_stream_error),
17685         (gst_stream_error_get_type), (register_gst_event_type),
17686         (gst_event_type_get_type), (register_gst_seek_type),
17687         (gst_seek_type_get_type), (register_gst_seek_flags),
17688         (gst_seek_flags_get_type), (register_gst_format),
17689         (gst_format_get_type), (register_gst_index_certainty),
17690         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17691         (gst_index_entry_type_get_type),
17692         (register_gst_index_lookup_method),
17693         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17694         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17695         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17696         (gst_index_flags_get_type), (register_gst_debug_level),
17697         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17698         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17699         (gst_iterator_result_get_type), (register_gst_iterator_item),
17700         (gst_iterator_item_get_type), (register_gst_message_type),
17701         (gst_message_type_get_type), (register_gst_mini_object_flags),
17702         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17703         (gst_pad_link_return_get_type), (register_gst_flow_return),
17704         (gst_flow_return_get_type), (register_gst_activate_mode),
17705         (gst_activate_mode_get_type), (register_gst_pad_direction),
17706         (gst_pad_direction_get_type), (register_gst_pad_flags),
17707         (gst_pad_flags_get_type), (register_gst_pad_presence),
17708         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17709         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17710         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17711         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17712         (gst_plugin_flags_get_type), (register_gst_rank),
17713         (gst_rank_get_type), (register_gst_query_type),
17714         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17715         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17716         (gst_tag_flag_get_type), (register_gst_task_state),
17717         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17718         (gst_alloc_trace_flags_get_type),
17719         (register_gst_type_find_probability),
17720         (gst_type_find_probability_get_type), (register_gst_uri_type),
17721         (gst_uri_type_get_type), (register_gst_parse_error),
17722         (gst_parse_error_get_type):
17723         * win32/common/gstversion.h:
17724           update win32 copies
17725
17726 2005-11-01  Luca Ognibene  <luogni@tin.it>
17727
17728         * gst/gst.c:
17729           fix docs. popt is dead, long live GOption.
17730
17731 2005-10-31  Wim Taymans  <wim@fluendo.com>
17732
17733         * gst/gstbuffer.h:
17734         Small doc fix.
17735
17736 2005-10-31  Andy Wingo  <wingo@pobox.com>
17737
17738         * Boo!
17739
17740         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
17741
17742         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
17743         need to serialize property notifications on GLib 2.8. GLib 2.6 has
17744         the possibility of deadlocks here if code calling notify() or
17745         set() has a lock that can be taken in another notify handler (ABBA
17746         with class lock and e.g. python GIL state lock).
17747
17748 2005-10-28  Julien MOUTTE  <julien@moutte.net>
17749
17750         * gst/gstbus.c: Doc updates.
17751
17752 2005-10-28  Wim Taymans  <wim@fluendo.com>
17753
17754         * docs/design/part-TODO.txt:
17755         * gst/gstiterator.c:
17756         * gst/gstsystemclock.c:
17757         * gst/gstsystemclock.h:
17758         Doc updates.
17759
17760 2005-10-28  Edward Hervey  <edward@fluendo.com>
17761
17762         * docs/gst/gstreamer-docs.sgml:
17763         * docs/gst/gstreamer-sections.txt:
17764         the GstURIType documentation page is private, it only defines GstURIType
17765         which should be defined in the GstURIHandler page
17766         
17767 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17768
17769         * gst/gstbin.c: (gst_bin_class_init):
17770         * gst/gstbin.h:
17771         * gst/gstutils.c:
17772         Documentation updates.
17773
17774 2005-10-28  Wim Taymans  <wim@fluendo.com>
17775
17776         * docs/gst/gstreamer-sections.txt:
17777         * gst/gstclock.c:
17778         * gst/gstclock.h:
17779         Documented the clocks.
17780
17781 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
17782
17783         * docs/gst/gstreamer-sections.txt:
17784           move some macros to private sections
17785         * gst/gstminiobject.c:
17786         * gst/gstminiobject.h:
17787           add descriptions provided by ds and some more
17788         * gst/gstpad.h:
17789           mark macro as to be removed
17790
17791 2005-10-28  Wim Taymans  <wim@fluendo.com>
17792
17793         * docs/design/part-TODO.txt:
17794         Add an item to TODO.
17795
17796         * gst/gstiterator.c: (gst_iterator_fold),
17797         (gst_iterator_find_custom):
17798         * gst/gstiterator.h:
17799         Add iterator docs.
17800
17801 2005-10-28  Wim Taymans  <wim@fluendo.com>
17802
17803         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17804         (gst_base_transform_init):
17805         Don't leak class.
17806
17807         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
17808         An EOS event marks the queue as completely filled.
17809
17810 2005-10-27  Wim Taymans  <wim@fluendo.com>
17811
17812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17813         (gst_base_sink_do_sync), (gst_base_sink_get_position):
17814         Some more debugging.
17815
17816         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
17817         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
17818         (gst_base_transform_event), (gst_base_transform_getrange),
17819         (gst_base_transform_chain):
17820         * gst/base/gstbasetransform.h:
17821         Fix debugging,
17822         Protect transform and concurrent buffer alloc with a new lock.
17823         Try not to break ABI/API.
17824
17825 2005-10-27  Wim Taymans  <wim@fluendo.com>
17826
17827         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17828         (gst_base_src_init), (gst_base_src_query),
17829         (gst_base_src_default_newsegment),
17830         (gst_base_src_configure_segment), (gst_base_src_do_seek),
17831         (gst_base_src_send_event), (gst_base_src_event_handler),
17832         (gst_base_src_pad_get_range), (gst_base_src_loop),
17833         (gst_base_src_unlock), (gst_base_src_default_negotiate),
17834         (gst_base_src_start), (gst_base_src_deactivate),
17835         (gst_base_src_activate_push), (gst_base_src_change_state):
17836         Move some stuff around and cleanup things.
17837
17838 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
17839
17840         * gst/base/gstbasesrc.c: (gst_base_src_query):
17841           Add missing break statements.
17842
17843 2005-10-27  Wim Taymans  <wim@fluendo.com>
17844
17845         * check/gst/gstbin.c: (GST_START_TEST):
17846         An extra refcount is taken in basesrc.
17847
17848         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17849         (gst_base_src_get_range), (gst_base_src_pad_get_range),
17850         (gst_base_src_loop):
17851         Small cleanups, check for flushing after being unlocked from the 
17852         LIVE_LOCK. take refcounts correctly (not yet everywhere).
17853         Don't send out EOS when going to READY.
17854
17855 2005-10-27  Wim Taymans  <wim@fluendo.com>
17856
17857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17858         (gst_base_sink_get_position):
17859         Some more debug.
17860
17861         * gst/gstbin.c: (message_check), (bin_replace_message),
17862         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17863         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17864         (bin_query_duration_init), (bin_query_duration_fold),
17865         (bin_query_duration_done), (bin_query_generic_fold),
17866         (gst_bin_query):
17867         * tools/gst-launch.c: (main):
17868         Remove old option.
17869
17870 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
17871
17872         * examples/controller/audio-example.c: (main):
17873         * examples/queue/queue.c: (event_loop):
17874         * gst/base/gstbasetransform.h:
17875         * gst/gstelement.c: (gst_element_send_event):
17876         * gst/gstevent.h:
17877         * gst/gstpad.c: (gst_pad_send_event):
17878           fixing examples
17879           fixing docs typos
17880           changing log priority in error situations
17881
17882 2005-10-25  Wim Taymans  <wim@fluendo.com>
17883
17884         * gst/gstbin.c: (message_check), (bin_replace_message),
17885         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17886         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17887         (bin_query_duration_init), (bin_query_duration_fold),
17888         (bin_query_duration_done), (bin_query_generic_fold),
17889         (gst_bin_query):
17890         Some doc and debug updates.
17891         Cache previously requested query DURATION for speed. invalidate
17892         cached duration if element posts a DURATION message.
17893
17894 2005-10-25  Wim Taymans  <wim@fluendo.com>
17895
17896         * docs/design/part-TODO.txt:
17897         Update TODO.
17898
17899         * gst/gstbin.c: (message_check), (bin_replace_message),
17900         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17901         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17902         (bin_query_duration_init), (bin_query_duration_fold),
17903         (bin_query_duration_done), (bin_query_generic_fold),
17904         (gst_bin_query):
17905         Handle SEGMENT_START/DONE messages correctly.
17906         More evolved query algorithm that handles duration queries
17907         correctly.
17908
17909         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
17910         (gst_element_get_state_func), (gst_element_abort_state),
17911         (gst_element_commit_state), (gst_element_lost_state):
17912         Some more debugging.
17913
17914         * gst/gstmessage.h:
17915         Added doc.
17916
17917 2005-10-25  Wim Taymans  <wim@fluendo.com>
17918
17919         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17920         Don't use invalid stream_time.
17921
17922         * gst/gstevent.c: (gst_event_new_newsegment):
17923         stream_time in newsegment cannot be undefined.
17924
17925 2005-10-24  Wim Taymans  <wim@fluendo.com>
17926
17927         * gst/gstbus.c:
17928         Doc fix.
17929
17930         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17931         (gst_queue_loop):
17932         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
17933
17934 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
17935
17936         * docs/libs/tmpl/gstdparam.sgml:
17937         * docs/libs/tmpl/gstdplinint.sgml:
17938         * docs/libs/tmpl/gstdpman.sgml:
17939         * docs/libs/tmpl/gstdpsmooth.sgml:
17940         * docs/libs/tmpl/gstunitconvert.sgml:
17941           these are obsolete
17942
17943 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17944
17945         * configure.ac:
17946           back to HEAD
17947
17948 === release 0.9.4 ===
17949
17950 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17951
17952         * configure.ac:
17953           releasing 0.9.4, "Tyrannosaurus Rex"
17954
17955 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
17956
17957         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17958         (gst_file_sink_get_current_offset):
17959           Use fseeko() and ftello() if available. When falling back on
17960           lseek() to get the current offset, fflush() first to make sure
17961           everything is up-to-date and we get the right offset.
17962
17963 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17964
17965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17966         * gst/base/gstbasesrc.c: (gst_base_src_loop):
17967         * gst/gsterror.c: (_gst_stream_errors_init):
17968         * gst/gsterror.h:
17969         * gst/gstqueue.c: (gst_queue_loop):
17970         * po/POTFILES.in:
17971           remove prematurely added error category and clean up the instances
17972
17973 2005-10-21  Wim Taymans  <wim@fluendo.com>
17974
17975         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17976         (gst_base_sink_get_position), (gst_base_sink_query),
17977         (gst_base_sink_change_state):
17978         Simply set the right flag when going to playing, that's all
17979         we need to do instead of calling a function inside the object
17980         lock (that could take the lock as well and deadlock)
17981
17982 2005-10-21  Wim Taymans  <wim@fluendo.com>
17983
17984         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
17985         (gst_base_src_loop):
17986         Don't warn, the peer element knows what to do best when
17987         the seek failed, it might try something else.
17988
17989 2005-10-21  Wim Taymans  <wim@fluendo.com>
17990
17991         * gst/base/gstbasesrc.c: (gst_base_src_init),
17992         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
17993         Fix seeking.
17994
17995 2005-10-21  Wim Taymans  <wim@fluendo.com>
17996
17997         * docs/design/part-segments.txt:
17998         More docs.
17999
18000         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18001         Correctly set caps, even on the subbufer.
18002
18003 2005-10-21  Wim Taymans  <wim@fluendo.com>
18004
18005         * docs/gst/gstreamer-docs.sgml:
18006         * docs/gst/gstreamer-sections.txt:
18007         * gst/gstelement.h:
18008         * gst/gstevent.c:
18009         * gst/gstevent.h:
18010         * gst/gstmessage.h:
18011         * gst/gstpad.h:
18012         * gst/gstparse.h:
18013         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18014         * gst/gsttask.h:
18015         * gst/gstutils.c:
18016         * gst/gstutils.h:
18017         And 2% more doc coverage.
18018
18019 2005-10-21  Andy Wingo  <wingo@pobox.com>
18020
18021         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18022         position reporting.
18023
18024 2005-10-20  Wim Taymans  <wim@fluendo.com>
18025
18026         * gst/gsterror.c: (gst_error_get_message):
18027         * gst/gstparse.h:
18028         * gst/gstquery.h:
18029         * gst/gststructure.c:
18030         * gst/gsttrace.c:
18031         * gst/gstutils.c:
18032         More docs.
18033
18034 2005-10-20  Wim Taymans  <wim@fluendo.com>
18035
18036         * gst/gstbuffer.h:
18037         * gst/gstpad.c:
18038         * gst/gstparse.c:
18039         Another 1% more coverage.
18040
18041 2005-10-20  Wim Taymans  <wim@fluendo.com>
18042
18043         * docs/gst/gstreamer-sections.txt:
18044         * gst/gstelement.c: (gst_element_get_state_func),
18045         (gst_element_abort_state), (gst_element_commit_state),
18046         (gst_element_lost_state):
18047         * gst/gstevent.h:
18048         * gst/gstquery.c: (gst_query_set_position),
18049         (gst_query_parse_position), (gst_query_set_duration),
18050         (gst_query_parse_duration), (gst_query_new_convert):
18051         * gst/gstutils.c:
18052         Yay! 1% more docs coverage.
18053
18054 2005-10-20  Wim Taymans  <wim@fluendo.com>
18055
18056         * gst/gstpad.h:
18057         * gst/gstquery.c: (gst_query_set_position),
18058         (gst_query_parse_position), (gst_query_set_duration),
18059         (gst_query_parse_duration), (gst_query_new_convert):
18060         * gst/gstquery.h:
18061         * gst/gstutils.c: (gst_element_query_convert):
18062         * gst/gstutils.h:
18063         Docs and consistency fixes.
18064
18065 2005-10-20  Wim Taymans  <wim@fluendo.com>
18066
18067         * gst/gsttask.c:
18068         * gst/gsttask.h:
18069         More docs.
18070
18071 2005-10-20  Wim Taymans  <wim@fluendo.com>
18072
18073         * gst/gstbin.c: (message_check), (bin_replace_message),
18074         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18075         (update_degree), (gst_bin_sort_iterator_next),
18076         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18077         Reworked the message handling a bit, cache the messages instead of
18078         only the senders. alows us to do more in the future.
18079
18080 2005-10-20  Wim Taymans  <wim@fluendo.com>
18081
18082         * docs/design/part-TODO.txt:
18083         Update TODO
18084
18085         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18086         (gst_base_sink_query):
18087         Don't use clock time to report position when in EOS.
18088
18089 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18090
18091         * tools/gst-inspect.c: (print_interfaces),
18092         (print_element_properties_info), (print_element_info):
18093           Fix interface output with gst-inspect -a; don't print
18094           newlines after double/float properties.
18095
18096 2005-10-20  Wim Taymans  <wim@fluendo.com>
18097
18098         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18099         (gst_base_sink_query):
18100         Speed up current position calculation.
18101
18102         * gst/base/gstbasesrc.c: (gst_base_src_query),
18103         (gst_base_src_default_newsegment):
18104         Correctly set stream position in newsegment.
18105
18106         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18107         (update_degree), (gst_bin_sort_iterator_next),
18108         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18109         * gst/gstmessage.c: (gst_message_new_custom):
18110         Clean up debugging info
18111
18112         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18113         (gst_queue_loop), (gst_queue_handle_src_query):
18114         Pause task faster.
18115
18116 2005-10-19  Wim Taymans  <wim@fluendo.com>
18117
18118         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18119         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18120         Fix query handling again.
18121
18122 2005-10-19  Wim Taymans  <wim@fluendo.com>
18123
18124         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18125         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18126         * gst/base/gstbasesrc.c: (gst_base_src_query):
18127         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18128         * gst/elements/gsttypefindelement.c:
18129         (gst_type_find_handle_src_query), (find_element_get_length),
18130         (gst_type_find_element_activate):
18131         API change fix.
18132
18133         * gst/gstquery.c: (gst_query_new_position),
18134         (gst_query_set_position), (gst_query_parse_position),
18135         (gst_query_new_duration), (gst_query_set_duration),
18136         (gst_query_parse_duration), (gst_query_set_segment),
18137         (gst_query_parse_segment):
18138         * gst/gstquery.h:
18139         Bundling query position/duration is not a good idea since duration
18140         does not change much and we don't want to recalculate it for every
18141         position query, so they are separated again..
18142         Base value in segment query is not needed.
18143
18144         * gst/gstqueue.c: (gst_queue_handle_src_query):
18145         * gst/gstutils.c: (gst_element_query_position),
18146         (gst_element_query_duration), (gst_pad_query_position),
18147         (gst_pad_query_duration):
18148         * gst/gstutils.h:
18149         Updates for query API change.
18150         Added some docs here and there.
18151
18152 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18153
18154         * check/gst/gstbin.c: (GST_START_TEST):
18155         * check/gst/gstghostpad.c: (GST_START_TEST):
18156         * check/pipelines/cleanup.c: (GST_START_TEST):
18157           wait on thread to die so we can check refcount correctly
18158
18159 2005-10-18  Wim Taymans  <wim@fluendo.com>
18160
18161         * check/pipelines/stress.c: (GST_START_TEST):
18162         Make check a little more time consuming.
18163
18164 2005-10-18  Wim Taymans  <wim@fluendo.com>
18165
18166         * check/Makefile.am:
18167         * check/pipelines/stress.c: (GST_START_TEST),
18168         (simple_launch_lines_suite), (main):
18169         Small state change torture test.
18170
18171         * docs/design/part-states.txt:
18172         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18173         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18174         (gst_base_sink_change_state):
18175         Never take state lock from streaming thread, clean up ugly
18176         hacks. Unfortunatly core does not yet support nice ways to
18177         async commit state.
18178         
18179         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18180         (bin_bus_handler):
18181         Start state recalc if a STATE_DIRTY message is posted, but only
18182         on the toplevel bin.
18183
18184         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18185         (gst_element_get_state_func), (gst_element_abort_state),
18186         (gst_element_commit_state), (gst_element_lost_state),
18187         (gst_element_set_state_func), (gst_element_change_state):
18188         * gst/gstelement.h:
18189         State variables are now protected with the LOCK, the state
18190         lock is only used to serialize _set_state().
18191
18192 2005-10-18  Wim Taymans  <wim@fluendo.com>
18193
18194         * check/gst/gstbin.c: (GST_START_TEST):
18195         * check/gst/gstmessage.c: (GST_START_TEST):
18196         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18198         (bin_bus_handler):
18199         * gst/gstelement.c: (gst_element_abort_state),
18200         (gst_element_commit_state), (gst_element_lost_state):
18201         * gst/gstmessage.c: (gst_message_new_state_changed),
18202         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18203         (gst_message_new_segment_done), (gst_message_new_duration),
18204         (gst_message_parse_state_changed),
18205         (gst_message_parse_segment_start),
18206         (gst_message_parse_segment_done), (gst_message_parse_duration):
18207         * gst/gstmessage.h:
18208         * tools/gst-launch.c: (event_loop):
18209         Seriously, this is better than a previous commit as we only need
18210         to notify the fact that an element changed state in a streaming
18211         thread, marking the state of the parents dirty, hence the 
18212         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18213         message.
18214
18215 2005-10-18  Wim Taymans  <wim@fluendo.com>
18216
18217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18218         (gst_bin_recalc_func):
18219         * gst/gstelement.c: (gst_element_set_clock),
18220         (gst_element_abort_state), (gst_element_lost_state):
18221         Cleanups, prepare for state change fixes.
18222
18223 2005-10-18  Wim Taymans  <wim@fluendo.com>
18224
18225         * gst/gstbin.h:
18226         * gst/gstelement.c: (gst_element_class_init),
18227         (gst_element_set_state), (gst_element_set_state_func):
18228         * gst/gstelement.h:
18229         Pending ABI changes.
18230         GThreadPool in GstBinClass to monitor async state changes.
18231         state_cookie in GstElement to detect concurrent gst/set state.
18232         set_state is now virtual too in case a very complicated element
18233         has to be constructed.
18234
18235 2005-10-18  Wim Taymans  <wim@fluendo.com>
18236
18237         * check/gst/gstbin.c: (GST_START_TEST):
18238         * check/gst/gstmessage.c: (GST_START_TEST):
18239         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18240         * gst/gstbin.c: (bin_bus_handler):
18241         * gst/gstelement.c: (gst_element_commit_state),
18242         (gst_element_lost_state):
18243         * gst/gstmessage.c: (gst_message_new_state_changed),
18244         (gst_message_new_segment_start), (gst_message_new_segment_done),
18245         (gst_message_new_duration), (gst_message_parse_state_changed),
18246         (gst_message_parse_segment_start),
18247         (gst_message_parse_segment_done), (gst_message_parse_duration):
18248         * gst/gstmessage.h:
18249         * tools/gst-launch.c: (event_loop):
18250         Make messages future proof.
18251         state-change gets a flag if it was a message comming from the
18252         streaming thread.
18253         segment-start/stop can also be specified in other formats.
18254         A message to notify an app that a pipeline changed playback 
18255         duration.
18256         Also fix a GstMessage leak in -launch
18257
18258 2005-10-18  Andy Wingo  <wingo@pobox.com>
18259
18260         * gst/gstelement.c (gst_element_dispose): More helpful message.
18261
18262 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18263
18264         reviewed by: <delete if not using a buddy>
18265
18266         * common/gtk-doc.mak:
18267
18268 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18269
18270         * gst/gstregistry.c: (gst_registry_scan_path_level):
18271           unref a plug-in we get that was already initialized
18272
18273 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18274
18275         * docs/gst/gstreamer-sections.txt:
18276         * docs/libs/gstreamer-libs-sections.txt:
18277         * gst/gstelement.h:
18278           add new api entries
18279           hide internal macro
18280
18281 2005-10-17  Andy Wingo  <wingo@pobox.com>
18282
18283         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18284         cleanup.
18285
18286         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18287
18288         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18289
18290         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18291         (gst_element_get_state_func): Better debug message.
18292         (gst_element_commit_state): s/INFO/DEBUG/.
18293         (gst_element_lost_state, gst_element_change_state): 
18294
18295         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18296         (gst_message_new_custom): s/INFO/LOG/.
18297
18298 2005-10-17  Michael Smith <msmith@fluendo.com>
18299
18300         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18301           Check if end time is valid using end time, not start time.
18302
18303 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18304
18305         * check/gst-libs/controller.c: (GST_START_TEST),
18306         (gst_controller_suite):
18307         * libs/gst/controller/gstcontroller.c:
18308         (gst_controlled_property_set_interpolation_mode):
18309         * libs/gst/controller/gstcontroller.h:
18310         * libs/gst/controller/gstinterpolation.c:
18311         * testsuite/controller/.cvsignore:
18312         * testsuite/controller/Makefile.am:
18313         * testsuite/controller/interpolator.c:
18314           merge controller testsuites
18315           fix broken tests
18316           remove mem-chunk from docs
18317
18318 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18319
18320         * gst/gstmemchunk.c:
18321         * gst/gstmemchunk.h:
18322         * gst/gsttrashstack.c:
18323         * gst/gsttrashstack.h:
18324           out.  get out.  you're fired.  to the Attic !
18325
18326 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18327
18328         * gst/gstcaps.c: (gst_caps_intersect):
18329           fix signedness issues in a (hopefully) correct way
18330         * gst/gstelement.c: (gst_element_pads_activate):
18331           some debugging
18332         * gst/gstobject.c: (gst_object_set_parent):
18333           some debugging
18334
18335 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18336
18337         * gst/gstvalue.h: Fix prototypes.
18338
18339 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18340
18341         * docs/gst/gstreamer-sections.txt:
18342         * gst/gst.c: (gst_version_string):
18343         * gst/gst.h:
18344         * gst/gstversion.h.in:
18345         * win32/common/libgstreamer.def:
18346           add gst_version_string ()
18347
18348 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18349
18350         * configure.ac:
18351           clean up further
18352         * gst/gst.c: (init_post):
18353         * win32/common/config.h.in:
18354           it's PLUGINDIR now
18355         * gst/gstcaps.c: (gst_caps_intersect):
18356           use gint64, the range could be bigger than a guint
18357
18358 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18359
18360         * gst/gstclock.h:
18361           document potential problem in 2038
18362
18363 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18364
18365         * gst/gstcaps.c: (gst_caps_intersect):
18366           Fix guint j diving under 0
18367
18368 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18369
18370         * configure.ac:
18371         * win32/common/config.h:
18372         * win32/common/config.h.in:
18373           check for process.h, declares getpid() on Windows
18374         * gst/gstinfo.c:
18375           include process.h if we have it
18376         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18377         * gst/gstmemchunk.h:
18378           fix signedness issues
18379         * win32/common/libgstreamer.def:
18380           fix get_type's
18381
18382 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18383
18384         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18385         fix. Because of unsigned ints, caps intersection was going nuts and
18386         trying to access structures with G_MAXUINT index. That fixes
18387         videotestsrc ! ffmpegcolorspace ! fakesink
18388         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18389         consistency.
18390
18391 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18392
18393         * configure.ac:
18394           use the gettext macro
18395         * gst/elements/gstelements.c:
18396         * gst/gst.c:
18397         * gst/indexers/gstindexers.c:
18398           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18399         * win32/common/config.h:
18400           updated config.h
18401         * win32/common/config.h.in:
18402           add the template to generate config.h
18403         * win32/common/gstenumtypes.c:
18404         * win32/common/gstversion.h:
18405           updated copies
18406
18407 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18408
18409         * gst/gst.c: (gst_version):
18410         * gst/gstversion.h.in:
18411           add the nano
18412
18413 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18414
18415         * gst/gstevent.h:
18416           Oops, add missing closing bracket.
18417
18418 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18419
18420         * configure.ac:
18421           use common m4's for argument checking
18422
18423 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18424
18425         * docs/gst/gstreamer-sections.txt:
18426         * gst/gstevent.h:
18427           Add GST_EVENT_TYPE_NAME() macro.
18428
18429 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * gst/gstinfo.c:
18432         * gst/gstpluginfeature.c:
18433         * gst/gsttask.c:
18434           privatize more symbols
18435
18436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18437
18438         * configure.ac:
18439           add srcdir, builddir includes to GST_ALL_CFLAGS, since
18440           everything that uses GStreamer API should have the includes
18441
18442 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18443
18444         * docs/gst/gstreamer-sections.txt:
18445         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
18446         * gst/gstvalue.h:
18447           give each value a _get_type, removes the DATA exports
18448
18449 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18450
18451         * gst/gst.c:
18452         * gst/gst.h:
18453           remove _gst_registry_auto_load, not used anymore
18454         * gst/gstbin.c: (gst_bin_get_type):
18455         * gst/gstbin.h:
18456         * gst/gstelement.c: (gst_element_get_type):
18457         * gst/gstelement.h:
18458         * gst/gstobject.c: (gst_object_get_type):
18459         * gst/gstobject.h:
18460         * gst/gstpad.c: (gst_pad_get_type):
18461         * gst/gstpad.h:
18462           make _get_type functions similar, fixes data export from library
18463
18464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18465
18466         * configure.ac:
18467           correctly make conditionals
18468         * gst/elements/Makefile.am:
18469         * gst/elements/gstelements.c:
18470           fix typo causing fdsrc not to build
18471
18472 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18473
18474         * testsuite/Makefile.am:
18475         * testsuite/bytestream/.cvsignore:
18476         * testsuite/bytestream/Makefile.am:
18477         * testsuite/bytestream/filepadsink.c:
18478         * testsuite/bytestream/gstbstest.c:
18479         * testsuite/bytestream/test1.c:
18480         * testsuite/bytestream/testfile1:
18481         * testsuite/caps/normalisation.c:
18482         * testsuite/caps/random.c: (main):
18483         * testsuite/cleanup/.cvsignore:
18484         * testsuite/cleanup/Makefile.am:
18485         * testsuite/cleanup/cleanup1.c:
18486         * testsuite/cleanup/cleanup2.c:
18487         * testsuite/cleanup/cleanup3.c:
18488         * testsuite/cleanup/cleanup4.c:
18489         * testsuite/cleanup/cleanup5.c:
18490         * testsuite/controller/interpolator.c:
18491         * testsuite/debug/printf_extension.c: (main):
18492         * testsuite/elements/tee.c:
18493         * testsuite/negotiation/.cvsignore:
18494         * testsuite/negotiation/Makefile.am:
18495         * testsuite/negotiation/pad_link.c:
18496         * testsuite/pad/Makefile.am:
18497         * testsuite/pad/chainnopull.c:
18498         * testsuite/pad/getnopush.c:
18499         * testsuite/pad/link.c:
18500         * testsuite/refcounting/sched.c: (create_pipeline):
18501         * testsuite/registry/Makefile.am:
18502         * testsuite/registry/gst-print-formats.c:
18503         * testsuite/schedulers/.cvsignore:
18504         * testsuite/schedulers/142183-2.c:
18505         * testsuite/schedulers/142183.c:
18506         * testsuite/schedulers/143777-2.c:
18507         * testsuite/schedulers/143777.c:
18508         * testsuite/schedulers/147713.c:
18509         * testsuite/schedulers/147819.c:
18510         * testsuite/schedulers/147894-2.c:
18511         * testsuite/schedulers/147894.c:
18512         * testsuite/schedulers/Makefile.am:
18513         * testsuite/schedulers/group_link.c:
18514         * testsuite/schedulers/queue_link.c:
18515         * testsuite/schedulers/relink.c:
18516         * testsuite/schedulers/unlink.c:
18517         * testsuite/schedulers/unref.c:
18518         * testsuite/schedulers/useless_iteration.c:
18519         * testsuite/states/bin.c:
18520           clean out/remove some stuff from the testsuite directories
18521
18522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18523
18524         * configure.ac:
18525           check for some headers
18526         * gst/elements/Makefile.am:
18527         * gst/elements/gstelements.c:
18528           don't compile fdsrc without sys/socket.h
18529         * gst/indexers/Makefile.am:
18530         * gst/indexers/gstindexers.c: (plugin_init):
18531           don't compile fileindex without mmap
18532
18533 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18534
18535         * configure.ac:
18536           reorganize
18537           clean up
18538           document more
18539           remove cruft
18540         * check/Makefile.am:
18541         * docs/gst/Makefile.am:
18542         * examples/helloworld/Makefile.am:
18543         * gst/Makefile.am:
18544         * gst/base/Makefile.am:
18545         * gst/check/Makefile.am:
18546         * gst/elements/Makefile.am:
18547         * gst/indexers/Makefile.am:
18548         * gst/parse/Makefile.am:
18549         * libs/gst/controller/Makefile.am:
18550         * libs/gst/dataprotocol/Makefile.am:
18551         * examples/helloworld/helloworld.c: (event_loop):
18552           compile fixes, though it's not being compiled currently
18553
18554 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18555
18556         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
18557           Add some simple tests for the new taglist date API.
18558
18559 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18560
18561         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
18562         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
18563           Beautify 'last-message' output: print 'none' for buffer timestamps
18564           and durations if none is set; improve alignment with next messages.
18565
18566 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18567
18568         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
18569         * gst/gstpluginfeature.h:
18570         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
18571         * gst/gstregistry.h:
18572         * docs/gst/gstreamer-sections.txt:
18573           Add new API to check plugin feature version requirements.
18574
18575         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
18576           Some basic tests for the above.         
18577
18578 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18579
18580         * gst/gststructure.c: (gst_structure_to_string):
18581           guard against NULL printf - happens when for example
18582           a message structure with GstClock gets serialized
18583
18584 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18585
18586         * gst/base/gstcollectpads.c: (gst_collectpads_event):
18587           Fix presumable copy'n'pasto.
18588
18589 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18590
18591         * gst/elements/gstfakesrc.h:
18592         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
18593         * gst/elements/gsttypefindelement.c:
18594           fix some signedness
18595         * gst/elements/gstfilesink.c: (gst_file_sink_render):
18596           I wonder if this could actually write +2GB files before
18597
18598 2005-10-13  Andy Wingo  <wingo@pobox.com>
18599
18600         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
18601         Fix Timmeke Waymans bug.
18602         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
18603         string of the proper length to gst_caps_from_string. There's a
18604         potential for, before this fix, that this could cause someone
18605         connecting over the network to cause a segfault if the payload is
18606         not NUL-terminated.
18607
18608 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18609
18610         * docs/design/draft-push-pull.txt:
18611         * docs/design/part-overview.txt:
18612         * docs/random/TODO-pre-0.9:
18613         * docs/random/old/ChangeLog.gstreamer:
18614         * gst/base/gstpushsrc.c:
18615         * gst/gstclock.c:
18616           fixed typos
18617
18618 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18619
18620         * gst/glib-compat.c: (gst_flags_get_first_value):
18621         * gst/glib-compat.h:
18622         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
18623         (gst_value_compare_double), (gst_value_serialize_flags):
18624           GLib 2.6 g_flags_get_first_value has a bug that triggers an
18625           infinite loop
18626
18627 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18628
18629         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18630         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18631           fix up debugging
18632         * tools/gst-launch.c: (event_loop):
18633           print out clock nicely
18634
18635 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18636
18637         * docs/gst/gstreamer-sections.txt:
18638         * gst/gsttaglist.h:
18639         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
18640         (gst_tag_list_get_date_index):
18641           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
18642           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
18643
18644 2005-10-13  Julien MOUTTE  <julien@moutte.net>
18645
18646         * gst/base/gstcollectpads.c: (gst_collectpads_event),
18647         (gst_collectpads_chain):
18648         * gst/base/gstcollectpads.h: Handle newsegment and store informations
18649         in CollectData.
18650
18651 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18652
18653         * docs/gst/gstreamer-sections.txt:
18654         * gst/gst.c:
18655         * gst/gsterror.h:
18656         * tools/gst-inspect.c: (main):
18657         * tools/gst-launch.c: (main):
18658         * tools/gst-run.c: (main):
18659         * tools/gst-xmlinspect.c: (main):
18660           fix GOption context leaks
18661           doc fixes
18662
18663 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18664
18665         * gst/gstbus.c:
18666           use HAVE_UNISTD_H
18667         * win32/common/config.h:
18668           update config
18669         * win32/vs6/grammar.dsp:
18670         * win32/vs6/libgstelements.dsp:
18671         * win32/vs6/libgstreamer.dsp:
18672           update vs6 files
18673
18674 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18675
18676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18677         * gst/base/gstbasesrc.c: (gst_base_src_query):
18678           fix more guint64<->gdouble conversions
18679
18680 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18681
18682         * Makefile.am:
18683           add win32-update target
18684         * win32/common/gstconfig.h:
18685         * win32/common/gstenumtypes.c:
18686         * win32/common/gstenumtypes.h:
18687         * win32/common/gstversion.h:
18688           add files that visual studio can't generate
18689
18690 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18691
18692         * Makefile.am:
18693           add a win32-update target
18694         * configure.ac:
18695
18696 2005-10-12  Wim Taymans  <wim@fluendo.com>
18697
18698         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18699         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
18700         * gst/gstelement.c: (gst_element_commit_state),
18701         (gst_element_set_state):
18702         Protect flags with proper lock.
18703         unref provided cached clock in dispose.
18704
18705 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18706
18707         * gst/gst.c:
18708         * gst/gstminiobject.h:
18709         * gst/gstpad.h:
18710         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
18711           removed unused flags from miniobject
18712           doc fixes
18713
18714 2005-10-12  Wim Taymans  <wim@fluendo.com>
18715
18716         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18717         (gst_file_sink_event), (gst_file_sink_render):
18718         Flush before seeking.
18719
18720 2005-10-12  Andy Wingo  <wingo@pobox.com>
18721
18722         * gst/gst.c (gst_init_check): Ignore unknown options, as has
18723         always been the case.
18724
18725 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18726
18727         * check/gst/gstbin.c: (GST_START_TEST):
18728         * docs/gst/gstreamer-sections.txt:
18729         * gst/base/gstbasesink.c: (gst_base_sink_init):
18730         * gst/base/gstbasesrc.c: (gst_base_src_init),
18731         (gst_base_src_get_range), (gst_base_src_check_get_range),
18732         (gst_base_src_start), (gst_base_src_stop):
18733         * gst/base/gstbasesrc.h:
18734         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
18735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18736         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
18737         (bin_bus_handler):
18738         * gst/gstbin.h:
18739         * gst/gstbuffer.h:
18740         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
18741         * gst/gstbus.h:
18742         * gst/gstelement.c: (gst_element_is_locked_state),
18743         (gst_element_set_locked_state), (gst_element_commit_state),
18744         (gst_element_set_state):
18745         * gst/gstelement.h:
18746         * gst/gstindex.c: (gst_index_init):
18747         * gst/gstindex.h:
18748         * gst/gstminiobject.h:
18749         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
18750         (gst_object_set_parent):
18751         * gst/gstobject.h:
18752         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
18753         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
18754         * gst/gstpad.h:
18755         * gst/gstpadtemplate.h:
18756         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
18757         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
18758         * gst/gstpipeline.h:
18759         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18760         (gst_file_index_commit):
18761         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
18762         * testsuite/pad/link.c: (gst_test_src_init),
18763         (gst_test_filter_init), (gst_test_sink_init):
18764         * testsuite/states/locked.c: (main):
18765           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
18766           moved bitshift from macro to enum definition
18767
18768 2005-10-12  Wim Taymans  <wim@fluendo.com>
18769
18770         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
18771         * gst/elements/gstfilesink.c: (gst_file_sink_event),
18772         (gst_file_sink_render):
18773         Some more debugging info.
18774
18775 2005-10-12  Wim Taymans  <wim@fluendo.com>
18776
18777         * docs/design/part-states.txt:
18778         * tools/gst-launch.c: (main):
18779         Some doc updates.
18780         Revert non-intentional change.
18781
18782 2005-10-12  Wim Taymans  <wim@fluendo.com>
18783
18784         * check/gst/gstbin.c: (GST_START_TEST):
18785         * check/gst/gstelement.c: (GST_START_TEST):
18786         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
18787         * check/gst/gstghostpad.c: (GST_START_TEST):
18788         * check/gst/gstpipeline.c: (GST_START_TEST):
18789         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18790         * check/states/sinks.c: (GST_START_TEST):
18791         * gst/elements/gsttypefindelement.c: (stop_typefinding):
18792         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18793         (gst_bin_remove_func), (gst_bin_get_state_func),
18794         (gst_bin_recalc_state), (gst_bin_change_state_func),
18795         (bin_bus_handler):
18796         * gst/gstelement.c: (gst_element_get_state_func),
18797         (gst_element_get_state), (gst_element_abort_state),
18798         (gst_element_commit_state), (gst_element_set_state),
18799         (gst_element_change_state), (gst_element_change_state_func):
18800         * gst/gstelement.h:
18801         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
18802         (gst_pipeline_provide_clock_func):
18803         * gst/gstutils.c: (gst_element_link_pads_filtered):
18804         * tools/gst-launch.c: (main):
18805         * tools/gst-typefind.c: (main):
18806         Use GstClockTime in _get_state() instead of GTimeVal.
18807         Remove old code in gstutils.c
18808
18809 2005-10-12  Andy Wingo  <wingo@pobox.com>
18810
18811         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
18812         removed.
18813
18814         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
18815         there is no task. Shouldn't affect any code, as nothing in our
18816         plugins checks this return value.
18817         (gst_pad_stop_task): Also take the stream lock if the pad has no
18818         task. Docs updated.
18819
18820 2005-10-12  Wim Taymans  <wim@fluendo.com>
18821
18822         * gst/gstpad.c: (pre_activate), (post_activate),
18823         (gst_pad_activate_pull), (gst_pad_activate_push):
18824         Cleanup activation code. Reset old state if
18825         activation failed.
18826
18827 2005-10-12  Wim Taymans  <wim@fluendo.com>
18828
18829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18830         (gst_base_sink_change_state):
18831         No need to prerol after receiving EOS.
18832
18833         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18834         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
18835         * gst/elements/gstidentity.c: (gst_identity_event):
18836         Print events more verbosely.
18837
18838 2005-10-12  Wim Taymans  <wim@fluendo.com>
18839
18840         * check/Makefile.am:
18841         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18842         * check/states/sinks2.c:
18843         Moved sinks2 testcode in sinks check.
18844
18845         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18846         (gst_bin_remove_func), (gst_bin_recalc_state),
18847         (gst_bin_change_state_func), (bin_bus_handler):
18848         Fix potential race condition when _get_state() iterated over an
18849         ASYNC element right before it posted a state completion.
18850
18851         * gst/gstclock.h:
18852         Do proper cast here.
18853
18854         * gst/gstevent.c: (gst_event_new_newsegment),
18855         (gst_event_parse_newsegment):
18856         A playback rate of 0.0 is not allowed.
18857
18858 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18859
18860         * win32/common/config.h:
18861         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
18862         (_trewinddir), (_ttelldir), (_tseekdir):
18863         * win32/common/dirent.h:
18864         * win32/common/gtchar.h:
18865         * win32/common/libgstbase.def:
18866         * win32/common/libgstreamer.def:
18867         * win32/vs6/grammar.dsp:
18868         * win32/vs6/gst_inspect.dsp:
18869         * win32/vs6/gst_launch.dsp:
18870         * win32/vs6/gstreamer.dsw:
18871         * win32/vs6/libgstbase.dsp:
18872         * win32/vs6/libgstelements.dsp:
18873         * win32/vs6/libgstreamer.dsp:
18874           Visual Studio 6 project files, and a new common directory.
18875           Phear.
18876
18877 2005-10-11  Wim Taymans  <wim@fluendo.com>
18878
18879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18880         (gst_base_sink_do_sync), (gst_base_sink_query),
18881         (gst_base_sink_change_state):
18882         * gst/base/gstbasesink.h:
18883         Correctly parse newsegment info.
18884
18885 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18886
18887         * gst/gst.c: (init_post):
18888           split plugin paths correctly
18889
18890 2005-10-11  Wim Taymans  <wim@fluendo.com>
18891
18892         * check/gst/gstevent.c: (GST_START_TEST):
18893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18894         (gst_base_sink_change_state):
18895         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
18896         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18897         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18898         * gst/gstevent.c: (gst_event_new_newsegment),
18899         (gst_event_parse_newsegment):
18900         * gst/gstevent.h:
18901         Added extra flag to newsegment for future API freeze.
18902         Updated check and base elements.
18903
18904 2005-10-11  Julien MOUTTE  <julien@moutte.net>
18905
18906         * gst/base/gstcollectpads.c: (gst_collectpads_init),
18907         (gst_collectpads_add_pad), (gst_collectpads_pop),
18908         (gst_collectpads_event), (gst_collectpads_chain):
18909         * gst/base/gstcollectpads.h: Handle EOS correctly.
18910
18911 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18912
18913         * tools/gst-launch.c: (main):
18914           more null protecting
18915
18916 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18917
18918         * gst/gst-i18n-lib.h:
18919           check for ENABLE_NLS, not GETTEXT_PACKAGE
18920         * gst/gstregistry.c: (gst_registry_add_plugin),
18921         (gst_registry_scan_path_level),
18922         (_gst_registry_remove_cache_plugins):
18923           protect possibly NULL strings
18924         * gst/parse/types.h:
18925           config.h already included before
18926         * tools/gst-inspect.c: (main):
18927           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
18928           check for ENABLE_NLS, not GETTEXT_PACKAGE
18929         * tools/gst-launch.c: (main):
18930           check for ENABLE_NLS, not GETTEXT_PACKAGE
18931
18932 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18933
18934         * configure.ac:
18935           if we don't have glib, fail before testing 2.8
18936         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
18937           fix a leak, should fix plugins-base testsuite
18938
18939 2005-10-11  Andy Wingo  <wingo@pobox.com>
18940
18941         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
18942         take the mode we're going to as an arg. Go head and set the mode
18943         and flushing flags now, so that if the activate function starts a
18944         thread all the flags will be in the right state.
18945         (post_activate): Renamed also. Just handle making sure streaming
18946         finishes for the deactivation case, and setting the deactivated
18947         mode.
18948         (gst_pad_set_active): Complain loudly if deactivation fails.
18949         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
18950         (gst_pad_activate_push): Adapt to pre/post_activate changes,
18951         remove the terrible hack.
18952
18953 2005-10-11  Wim Taymans  <wim@fluendo.com>
18954
18955         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18956         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
18957         (gst_bin_recalc_state), (gst_bin_change_state_func),
18958         (gst_bin_dispose), (bin_bus_handler):
18959         * gst/gstbin.h:
18960         Prepare to make current EOS message queue more generic.
18961         Fix some typos.
18962
18963         * gst/gstevent.c: (gst_event_new_newsegment),
18964         (gst_event_parse_newsegment):
18965         * gst/gstevent.h:
18966         Rename base to stream_time.
18967
18968         * gst/gstmessage.h:
18969         Fix typo in docs.
18970
18971 2005-10-11  Wim Taymans  <wim@fluendo.com>
18972
18973         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18974         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
18975         (gst_bin_change_state_func), (bin_bus_handler):
18976         * gst/gstbin.h:
18977         Work on proper clock selection.
18978
18979 2005-10-11  Edward Hervey  <edward@fluendo.com>
18980
18981         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
18982         * libs/gst/controller/gstcontroller.h:
18983         Added GList* version of _remove_properties() in order to be able to wrap
18984         it in bindings.
18985
18986 2005-10-11  Wim Taymans  <wim@fluendo.com>
18987
18988         * docs/design/part-states.txt:
18989         Some more docs.
18990
18991         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
18992         (gst_bin_change_state_func), (bin_bus_handler):
18993         Doc updates. Don't distribute the same clock over and over again.
18994
18995         * gst/gstclock.c:
18996         * gst/gstclock.h:
18997         Doc updates.
18998
18999         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19000         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19001         (gst_pad_send_event):
19002         * gst/gstpad.h:
19003         Make probe emission threadsafe again.
19004         Register quarks and move _get_name() from utils.
19005         Doc updates.
19006
19007         * gst/gstpipeline.c: (gst_pipeline_class_init),
19008         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19009         Only redistribute the clock of it changed.
19010
19011         * gst/gstsystemclock.h:
19012         Doc updates. 
19013
19014         * gst/gstutils.c:
19015         * gst/gstutils.h:
19016         Moved the _flow_get_name() to GstPad.
19017
19018 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19019
19020         * check/gst-libs/gdp.c: (GST_START_TEST):
19021         * check/gst/gstcaps.c: (GST_START_TEST):
19022         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19023         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19024         (gst_dp_packet_from_caps):
19025           fix more valgrind warnings before turning up the heat
19026
19027 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19028
19029         * gst/parse/grammar.y:
19030           some cleanup before the hacking
19031
19032 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19033
19034         * gst/base/gstbasesrc.c: (gst_base_src_query):
19035           use conversions
19036         * gst/gstutils.c: (gst_guint64_to_gdouble),
19037         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19038         * gst/gstutils.h:
19039           externalize, basesrc uses it
19040           obviously the implementation needs testing
19041
19042 2005-10-10  Wim Taymans  <wim@fluendo.com>
19043
19044         * tests/sched/Makefile.am:
19045         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19046         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19047
19048 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19049
19050         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19051           apparently converting from guint64 to double is not implemented
19052           on MSVC
19053
19054 2005-10-10  Wim Taymans  <wim@fluendo.com>
19055
19056         * check/Makefile.am:
19057         * check/generic/states.c: (GST_START_TEST):
19058         * check/gst/gstbin.c: (GST_START_TEST):
19059         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19060         * check/states/sinks.c: (GST_START_TEST):
19061         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19062         (main):
19063         Check fixes, use API as stated in design docs, remove hacks.
19064
19065         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19066         (gst_base_sink_change_state):
19067         Catch stopping our task while we're shutting down.
19068
19069         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19070         (gst_bin_remove_func), (gst_bin_get_state_func),
19071         (gst_bin_recalc_state), (gst_bin_change_state_func),
19072         (bin_bus_handler):
19073         * gst/gstbin.h:
19074         * gst/gstelement.c: (gst_element_init),
19075         (gst_element_get_state_func), (gst_element_abort_state),
19076         (gst_element_commit_state), (gst_element_lost_state),
19077         (gst_element_set_state), (gst_element_change_state),
19078         (gst_element_change_state_func):
19079         * gst/gstelement.h:
19080         New state change algorithm (see #318116)
19081
19082         * gst/gstpipeline.c: (gst_pipeline_class_init),
19083         (gst_pipeline_init), (gst_pipeline_set_property),
19084         (gst_pipeline_get_property), (do_pipeline_seek),
19085         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19086         * gst/gstpipeline.h:
19087         Remove crude state change hacks.
19088
19089         * gst/gstutils.h:
19090         Remove crude hacks.
19091
19092         * tools/gst-launch.c: (main):
19093         Fixes for state change. Needs some more work to fully use the
19094         new stuff.
19095
19096 2005-10-10  Andy Wingo  <wingo@pobox.com>
19097
19098         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19099
19100         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19101         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19102         issue.
19103
19104 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19105
19106         * gst/gstiterator.c: (gst_iterator_new):
19107           Fix my previous commit: GTypes passed to gst_iterator_new()
19108           can be fundamental types.
19109
19110 2005-10-10  Wim Taymans  <wim@fluendo.com>
19111
19112         * gst/gstelement.c: (gst_element_iterate_pad_list),
19113         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19114         (gst_element_iterate_sink_pads):
19115         Use src/sink pads lists for the respective iterators instead
19116         of filtering.
19117
19118 2005-10-10  Andy Wingo  <wingo@pobox.com>
19119
19120         Merged in popt removal + GOption addition patch from Ronald, bug
19121         #169772.
19122
19123         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19124         GstElement macros around, remove popt-related symbols, add goption
19125         stuff.
19126
19127         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19128         
19129         * docs/gst/Makefile.am:
19130         * docs/libs/Makefile.am: No POPT_CFLAGS.
19131         
19132         * examples/manual/Makefile.am:
19133         * docs/manual/basics-init.xml: Doc updates with an example.
19134         
19135         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19136         (gst_init), (parse_one_option), (parse_goption_arg):
19137         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19138         bit of hand merging and debugging to get the GOption stuff working
19139         tho.
19140         
19141         * tests/Makefile.am:
19142         * tools/Makefile.am:
19143         * tools/gst-inspect.c: (main):
19144         * tools/gst-launch.c: (main):
19145         * tools/gst-run.c: (main):
19146         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19147
19148 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19149
19150         * gst/gstiterator.c: (gst_iterator_new):
19151           Add assertions to make sure passed GType is likely to really
19152           be a GType (as the compiler won't catch it if the size and
19153           GType arguments get mixed up, see #318447).
19154
19155 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19156
19157         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19158
19159         * gst/gstbin.c: (gst_bin_iterate_sorted):
19160           Pass GType and size arguments to gst_iterator_new() in the right
19161           order (maybe we should make _new() take the GType as first argument
19162           just like _new_list()?) (#318447).
19163           
19164
19165 2005-10-10  Wim Taymans  <wim@fluendo.com>
19166
19167         * gst/gstelement.c: (gst_element_finalize):
19168         And free the GStaticRecMutex too
19169
19170 2005-10-10  Andy Wingo  <wingo@pobox.com>
19171
19172         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19173         Allocate and free the mutex properly.
19174
19175         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19176         New macros.
19177         (GstElement): The state_lock is now recursive. Rebuild your
19178         plugins, suckers. Old macros adapted.
19179
19180         * docs/gst/gstreamer-sections.txt: Doc updates.
19181
19182         * gst/gstutils.h:
19183         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19184         (g_static_rec_cond_wait): Ported from state changes patch, while
19185         we wait on bug #317802 to be solved in a well-distributed GLib.
19186
19187         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19188         gst_element_change_state, variable name changes.
19189         (gst_element_change_state): Split out of gst_element_set_state in
19190         preparation for the state change merge. Doesn't pay attention to
19191         the 'transition' argument.
19192         (gst_element_set_state): Updates, hopefully purely cosmetic.
19193         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19194         state change patch.
19195         (gst_element_get_state_func): Renamed from get_state, cosmetic
19196         changes.
19197
19198 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19199
19200         * gst/elements/gstelements.c:
19201         * win32/GStreamer.vcproj:
19202         * win32/config.h:
19203         * win32/dirent.c: (_tseekdir):
19204         * win32/gst-inspect.vcproj:
19205         * win32/gst-launch.vcproj:
19206         * win32/gstconfig.h:
19207         * win32/gstelements.vcproj:
19208         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19209         * win32/gstreamer.def:
19210         * win32/msvc71.sln:
19211           updates for the win32 build (patch from Sebastien Moutte)
19212
19213 2005-10-10  Andy Wingo  <wingo@pobox.com>
19214
19215         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19216         gst_bin_get_state, cleaned up (but no logic changes).
19217         (bin_element_is_sink): Comment updates.
19218         (sink_iterator_filter): Remove needless cast.
19219         (gst_bin_iterate_sinks): Doc update.
19220         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19221         cleaned up (but no logic changes).
19222
19223         * check/states/sinks.c (test_src_sink): Cleanups from the state
19224         change patch.
19225         (test_livesrc_sink): Sync on the state.
19226
19227         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19228         the state change patch.
19229
19230         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19231         change patch.
19232
19233         * check/gst/gstbin.c: Merge in some style fixes and additional
19234         checks from Wim's state change patch.
19235
19236 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19237
19238         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19239         (gst_type_find_helper):
19240           Check whether we have the requested data already in our list of
19241           cached buffers before pulling a new buffer; also make the buffer
19242           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19243
19244 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19245
19246         * gst/gstcaps.c:
19247         * gst/gstevent.c:
19248           doc updates
19249         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19250           don't use long long, it's not portable.  Replacing with
19251           gint64 seems to work; let's hope no skeletons fall out of the closet.
19252
19253 2005-10-10  Andy Wingo  <wingo@pobox.com>
19254
19255         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19256
19257 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19258
19259         * docs/gst/gstreamer-sections.txt:
19260         * gst/gstevent.c:
19261         * gst/gstevent.h:
19262         * gst/gstinfo.c:
19263         * gst/gstinfo.h:
19264         * gst/gstmessage.c: (gst_message_parse_state_changed):
19265         * gst/gstpad.c:
19266         * gst/gstpad.h:
19267           more docs, fix compilation
19268
19269 2005-10-09  Philippe Khalaf <burger@speedy.org>
19270         * gst/gstmessage.c:
19271           Fixed a few forgotten variables on previous commit
19272
19273 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19274
19275         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19276           Fix evil typefind crasher: getrange() might return a short
19277           buffer at the end of a file, but gst_type_find_peek() must
19278           either return the full data as requested or NULL, but
19279           never a short buffer.
19280
19281 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19282
19283         * gst/gstmessage.c: (gst_message_new_state_changed),
19284         (gst_message_parse_state_changed):
19285         * gst/gstmessage.h:
19286           don't use "new", it's a C++ keyword
19287
19288 2005-10-08  Wim Taymans  <wim@fluendo.com>
19289
19290         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19291         * gst/gstelement.c: (gst_element_post_message):
19292         * gst/gstpipeline.c: (gst_pipeline_change_state):
19293         Small docs and debug updates.
19294
19295 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19296
19297         * docs/gst/gstreamer-sections.txt:
19298         * gst/gstelementfactory.c:
19299         * gst/gstevent.c:
19300         * gst/gsttaglist.c:
19301           more docs
19302
19303 2005-10-08  Wim Taymans  <wim@fluendo.com>
19304
19305         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19306         (gst_bin_dispose), (bin_bus_handler):
19307         Fix typos, add comments.
19308         Clear EOS list when going to PAUSED from any direction and do it
19309         in a threadsafe way.
19310         Get base time in a threadsafe way too.
19311         Fix confusing debug in the change_state function.
19312         Various other small cleanups.
19313         
19314         * gst/gstelement.c: (gst_element_post_message):
19315         Fix very verbose bus posting code.
19316
19317         * gst/gstpipeline.c: (gst_pipeline_class_init),
19318         (gst_pipeline_set_property), (gst_pipeline_get_property),
19319         (gst_pipeline_change_state):
19320         Small ARG_ -> PROP_ cleanup
19321
19322 2005-10-08  Wim Taymans  <wim@fluendo.com>
19323
19324         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19325         Do a less CPU demanding EOS check because we can.
19326
19327 2005-10-08  Wim Taymans  <wim@fluendo.com>
19328
19329         * libs/gst/dataprotocol/dataprotocol.c:
19330         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19331         (gst_dp_packet_from_event):
19332         * libs/gst/dataprotocol/dataprotocol.h:
19333         * libs/gst/dataprotocol/dp-private.h:
19334         It's about time we bump the version number.
19335         Since event types don't fit in the guint8 anymore describing
19336         the payload type, make payload type 16 bits wide.
19337
19338 2005-10-08  Wim Taymans  <wim@fluendo.com>
19339
19340         * docs/design/part-TODO.txt:
19341         * docs/design/part-clocks.txt:
19342         * docs/design/part-events.txt:
19343         * docs/design/part-gstbin.txt:
19344         * docs/design/part-gstelement.txt:
19345         * docs/design/part-gstpipeline.txt:
19346         * docs/design/part-live-source.txt:
19347         * docs/design/part-messages.txt:
19348         * docs/design/part-overview.txt:
19349         * docs/design/part-states.txt:
19350         Many doc updates.
19351
19352 2005-10-08  Wim Taymans  <wim@fluendo.com>
19353
19354         * gst/gstevent.c:
19355         * gst/gstevent.h:
19356         Fix event quark registration.
19357         Add some space between events so we can insert them in the
19358         right groups.
19359
19360 2005-10-08  Wim Taymans  <wim@fluendo.com>
19361
19362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19363         (gst_base_sink_handle_buffer):
19364         Better log message.
19365
19366         * gst/gstbus.h:
19367         * gst/gstelement.h:
19368         More docs.
19369
19370         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19371         (gst_queue_set_property), (gst_queue_get_property):
19372         * gst/gstqueue.h:
19373         Remove old unused properties.
19374
19375 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19376         * docs/gst/gstreamer-sections.txt:
19377         * gst/gstmessage.c:
19378         * gst/gstmessage.h:
19379         * gst/gstminiobject.c:
19380         * gst/gstminiobject.h:
19381         * gst/gstobject.h:
19382         * gst/gstpad.h:
19383         * gst/gstutils.h:
19384           lots of new docs and doc fixes
19385
19386 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19387
19388         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19389         * gst/gstplugin.h:
19390         * gst/gstregistry.c: (gst_registry_lookup_locked),
19391         (gst_registry_scan_path_level):
19392         * gst/gstregistryxml.c: (load_plugin):
19393           Only ever load one plugin for a given plugin basename.
19394           This ensures correct overriding of GST_PLUGIN_PATH over
19395           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19396           system installed plugins.
19397
19398 2005-10-08  Wim Taymans  <wim@fluendo.com>
19399
19400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19401         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19402         Prepare for doing QOS.
19403
19404 2005-10-08  Wim Taymans  <wim@fluendo.com>
19405
19406         * check/gst/gstbin.c: (GST_START_TEST):
19407         * check/pipelines/cleanup.c: (GST_START_TEST):
19408         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19409         Allow new clock message too.
19410
19411 2005-10-08  Wim Taymans  <wim@fluendo.com>
19412
19413         * gst/gstmessage.c: (gst_message_new_error),
19414         (gst_message_new_warning), (gst_message_new_tag),
19415         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19416         (gst_message_new_clock_lost), (gst_message_new_new_clock),
19417         (gst_message_new_segment_start), (gst_message_new_segment_done),
19418         (gst_message_parse_state_changed),
19419         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
19420         (gst_message_parse_new_clock):
19421         * gst/gstmessage.h:
19422         Also carry the clock in question.
19423
19424 2005-10-08  Wim Taymans  <wim@fluendo.com>
19425
19426         * gst/gstmessage.c: (gst_message_new_custom),
19427         (gst_message_new_eos), (gst_message_new_error),
19428         (gst_message_new_warning), (gst_message_new_tag),
19429         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19430         (gst_message_new_new_clock), (gst_message_new_segment_start),
19431         (gst_message_new_segment_done), (gst_message_parse_state_changed),
19432         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
19433         * gst/gstmessage.h:
19434         Clean up.
19435         Added clock related messages.
19436
19437         * gst/gstpipeline.c: (gst_pipeline_change_state):
19438         Post message when the clock changed.
19439
19440         * tools/gst-launch.c: (event_loop):
19441         Print new clock.
19442
19443 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
19444
19445         * tools/gst-inspect.c: (print_element_properties_info):
19446           Can't pass NULL strings to g_print() on windows.
19447
19448 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19449
19450         * docs/Makefile.am:
19451         * docs/gst/Makefile.am:
19452         * docs/gst/gstreamer-docs.sgml:
19453         * docs/gst/running.xml:
19454         * docs/version.entities.in:
19455           add a chapter on running GStreamer.
19456           document GST_DEBUG and GST_PLUGIN* env vars
19457
19458 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19459
19460         * Makefile.am:
19461           remove include dir
19462         * configure.ac:
19463           remove PLUGINS_BUILDDIR stuff
19464         * gst/gst.c: (init_post):
19465           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
19466         * idiottest.mak:
19467           remove, it was condescending and not needed
19468
19469 2005-10-08  Wim Taymans  <wim@fluendo.com>
19470
19471         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
19472         (gst_base_sink_handle_object), (gst_base_sink_event),
19473         (gst_base_sink_wait), (gst_base_sink_handle_event),
19474         (gst_base_sink_change_state):
19475         * gst/base/gstbasesink.h:
19476         Repost EOS message while going to PLAYING if still EOS.
19477         Make sure that when receiving a FLUSH_START we don't attempt
19478         to sync on the clock anymore.
19479
19480 2005-10-08  Wim Taymans  <wim@fluendo.com>
19481
19482         * tools/gst-launch.c: (event_loop):
19483         Better message printout.
19484
19485 2005-10-08  Wim Taymans  <wim@fluendo.com>
19486
19487         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
19488         (gst_bin_child_proxy_get_children_count):
19489         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19490         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
19491         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
19492         (gst_child_proxy_set_valist):
19493         * gst/parse/grammar.y:
19494         Make ChildProxy threadsafe and fix mem leaks.
19495
19496 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19497
19498         * gst/gst.c: (init_post):
19499           debug the GST_PLUGIN_ env vars
19500
19501 2005-10-08  Wim Taymans  <wim@fluendo.com>
19502
19503         * check/gst/gstbin.c: (GST_START_TEST):
19504         * check/gst/gstmessage.c: (GST_START_TEST):
19505         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19506         * gst/gstelement.c: (gst_element_commit_state),
19507         (gst_element_lost_state):
19508         * gst/gstmessage.c: (gst_message_new_state_changed),
19509         (gst_message_parse_state_changed):
19510         * gst/gstmessage.h:
19511         * tools/gst-launch.c: (event_loop):
19512         Added extra field to STATE_CHANGE message with the pending
19513         state, which will be different from the new state soon.
19514
19515 2005-10-08  Wim Taymans  <wim@fluendo.com>
19516
19517         * gst/gstbus.c: (gst_bus_pop):
19518         * gst/gstclock.c:
19519         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19520         Small cleanups and doc updates.
19521
19522 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19523
19524         * gst/gst.c: (init_pre):
19525         * gst/gstbin.c: (gst_bin_add_func):
19526           log distributing clocks and base time
19527         * gst/gstregistry.c: (gst_registry_add_plugin),
19528         (gst_registry_scan_path_level), (gst_registry_scan_path):
19529           clean up the debugging output a little
19530         * gst/gstutils.c: (gst_element_state_get_name):
19531           warn about a memleak (I've actually seen this be used, though
19532           it was probably a bug)
19533
19534 2005-10-07  Wim Taymans  <wim@fluendo.com>
19535
19536         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19537         (gst_base_src_init), (gst_base_src_default_newsegment),
19538         (gst_base_src_newsegment), (gst_base_src_do_seek),
19539         (gst_base_src_loop), (gst_base_src_start):
19540         * gst/base/gstbasesrc.h:
19541         Make the newsegment event customizable by subclasses.
19542
19543 2005-10-07  Wim Taymans  <wim@fluendo.com>
19544
19545         * gst/gstevent.c: (gst_event_new_buffersize),
19546         (gst_event_parse_buffersize):
19547         * gst/gstevent.h:
19548         New event for future idea.
19549
19550 2005-10-07  Andy Wingo  <wingo@pobox.com>
19551
19552         * gst/gstelement.c (gst_element_post_message): Doc update.
19553
19554         * docs/gst/gstreamer-sections.txt: Update.
19555
19556         * gst/gstmessage.c (gst_message_new_application): Made into a
19557         function like honest API calls.
19558         (gst_message_new_element): New message type.
19559
19560         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
19561
19562         * check/elements/fakesrc.c (test_no_preroll): New check, checks
19563         that setting a live fakesrc to PAUSED returns NO_PREROLL both
19564         times.
19565
19566         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
19567         NO_PREROLL from gst_element_change_state to fall through.
19568
19569 2005-10-07  Wim Taymans  <wim@fluendo.com>
19570
19571         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
19572         (gst_ghost_pad_do_activate_push):
19573         Activating a ghostpad with no internal pad in push mode
19574         is ok.
19575
19576 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19577
19578         * gst/gstobject.h:
19579           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
19580           Fixes compilation on Windows.
19581
19582 2005-10-07  Michael Smith <msmith@fluendo.com>
19583
19584         * tools/gst-inspect.c:
19585           Print out feature and plugin count at the end when printing out
19586           all features.
19587
19588 2005-10-04  Michael Smith <msmith@fluendo.com>
19589
19590         * gst/gsterror.c: (_gst_stream_errors_init):
19591           Add another error string used in a few existing plugins.
19592
19593         * gst/gstplugin.c:
19594         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19595         * tools/gst-inspect.c: (print_element_info):
19596           When a feature disappears from a plugin (and the feature exists in
19597           the cached registry file), things went horribly wrong. This isn't a
19598           complete fix, we should actually be removing the 'missing' features
19599           from the features list when we load the actual plugin. That's not
19600           yet implemented. 
19601
19602 2005-10-04  Johan Dahlin  <johan@gnome.org>
19603
19604         * check/gst/gstiterator.c: (GST_START_TEST):
19605         * gst/gstbin.c: (gst_bin_iterate_elements),
19606         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
19607         * gst/gstelement.c: (gst_element_iterate_pads):
19608         * gst/gstformat.c: (gst_format_iterate_definitions):
19609         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19610         (gst_iterator_new_list), (gst_iterator_filter):
19611         * gst/gstiterator.h:
19612         * gst/gstquery.c: (gst_query_type_iterate_definitions):
19613         Add a GType to GstIterator, update callsites and tests.
19614
19615 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19616
19617         * gst/gstpad.c: (gst_pad_event_default_dispatch):
19618           give events a chance to be handled by event probes when the pad
19619           is not linked
19620
19621 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19622
19623         * gst/gstevent.c: (gst_event_type_get_name),
19624         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
19625         * gst/gstevent.h:
19626           add string representations for event types
19627
19628 2005-10-06  Wim Taymans  <wim@fluendo.com>
19629
19630         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
19631         Don't use NULL pointers.
19632
19633 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19634
19635         * gst/gst_private.h:
19636         * gst/gstbus.c:
19637         * gst/gstelement.c:
19638         * gst/gstinfo.c:
19639         * gst/gstpluginfeature.c:
19640           widen the debug category in output to fit the biggest one we have
19641           add a bus category and use it
19642           play with the colors
19643           fix up some categories
19644
19645 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19646
19647         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
19648           add push activation of sink ghost pads.
19649           Andye, please verify
19650
19651 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19652
19653         * gst/gstutils.c: (gst_element_link_pads):
19654           fix a bug in the case where neither element has a pad
19655         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19656           add a test for that case
19657
19658 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19659
19660         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
19661           emit have-data before checking for peers.  This allows
19662           for probe handlers to connect elements.  This helps autopluggers.
19663         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
19664         (gst_pad_suite):
19665           add six checks, linked/unlinked with no/true/false probe
19666
19667 2005-10-04  Wim Taymans  <wim@fluendo.com>
19668
19669         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
19670         (gst_fake_sink_event), (gst_fake_sink_preroll),
19671         (gst_fake_sink_render), (gst_fake_sink_change_state):
19672         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
19673         (gst_fake_src_get_property), (gst_fake_src_create),
19674         (gst_fake_src_stop):
19675         * gst/elements/gstidentity.c: (gst_identity_stop):
19676         Protect last_message with lock.
19677
19678 2005-10-04  Edward Hervey  <edward@fluendo.com>
19679
19680         * gst/gstformat.h: 
19681         Added precision in the comments for GST_FORMAT_DEFAULT
19682
19683 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
19684
19685         * tools/gst-launch.c: (main):
19686           Don't try to run erroneous pipelines.
19687
19688 2005-10-04  Julien MOUTTE  <julien@moutte.net>
19689
19690         * gst/gstbus.c: We don't need this header.
19691
19692 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19693
19694         * configure.ac:
19695           back to development
19696
19697 === release 0.9.3 ===
19698
19699 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19700
19701         * README:
19702         * configure.ac:
19703           Releasing 0.9.3, "Unregistered"
19704
19705 2005-10-03  Andy Wingo  <wingo@pobox.com>
19706
19707         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
19708         whereby calling a pad's activatepush() function can start a thread
19709         that starts to push or pull before the pad gets the FLUSHING flag
19710         unset. Hack around it by holding the stream lock until the flag is
19711         set. Need to replace this with a proper solution. Together with
19712         the ghost pad fixes, this fixes mp3 playing/tagreading.
19713
19714         * docs/design/part-gstghostpad.txt: Add a note about activation of
19715         proxy pads outside of ghost pads.
19716
19717         * gst/gstghostpad.c: Implement the ghost pad activation design.
19718
19719 2005-10-02  Andy Wingo  <wingo@pobox.com>
19720
19721         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
19722         It is volatile, after all.
19723
19724         * docs/design/part-gstghostpad.txt: Flesh out activation with
19725         ghost pads.
19726
19727         * gst/base/gstbasesrc.c (gst_base_src_init): Use
19728         GST_DEBUG_FUNCPTR.
19729
19730 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
19731
19732         * configure.ac:
19733           Fix (unused) AM_CONDITIONAL tests.
19734
19735 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
19736
19737         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19738
19739         * gst/gstutils.c: (gst_pad_query_convert):
19740           Add assertion that makes sure src_val is >=0, just like
19741           gst_query_new_convert() has. (#315895)
19742
19743 2005-09-30  Edward Hervey  <edward@fluendo.com>
19744
19745         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
19746         Let's not iterate pads we're not interested in, it avoids getting 
19747         sky-high refcounts on sinkpad.
19748
19749 2005-09-30  Wim Taymans  <wim@fluendo.com>
19750
19751         * gst/gstelement.c: (gst_element_set_state),
19752         (gst_element_change_state):
19753         Small tweak, element in ASYNC remains ASYNC.
19754
19755 2005-09-30  Wim Taymans  <wim@fluendo.com>
19756
19757         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19758         Only error is an error.
19759
19760         * gst/gstbin.c: (gst_bin_change_state):
19761         Better debugging.
19762
19763         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
19764         Also call pad_block in pad alloc.
19765
19766         * gst/gstutils.c: (gst_flow_get_name):
19767         Better debugging.
19768
19769 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19770
19771         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19772         (gst_base_src_get_range):
19773           Fix documentation typos. Add some more debug info.
19774
19775 2005-09-29  David Schleef  <ds@schleef.org>
19776
19777         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
19778           more end-user friendly.
19779         * tools/gst-inspect.c: (main): Check if command-line argument is
19780           a file and attempt to load that file as a plugin.
19781
19782 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19783
19784         * check/gst/gstbin.c:
19785         * check/states/sinks.c:
19786           fix tests for the new warning
19787         * check/gst/gstpipeline.c:
19788           add a test for pipeline and bus interaction
19789         * gst/gstelement.c:
19790           elements should be NULL if they get disposed; add a warning if not
19791
19792 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19793
19794         * gst/gstobject.c:
19795           for 2.6 refcounting, make debug log more correct by printing
19796           the actual refcounts at the time of swap (Wim)
19797
19798 2005-09-29  Andy Wingo  <wingo@pobox.com>
19799
19800         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
19801         removes signal watches previously added via
19802         gst_bus_add_signal_watch.
19803         (gst_bus_add_signal_watch): Don't return the source id, just store
19804         it on the bus if there wasn't an id already.
19805
19806         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
19807         add_signal_watch and remove_signal_watch.
19808
19809 2005-09-29  Edward Hervey  <edward@fluendo.com>
19810
19811         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
19812         Better if we actually iterate the list :)
19813
19814 2005-09-29  Wim Taymans  <wim@fluendo.com>
19815
19816         * check/gst/gstbin.c: (GST_START_TEST):
19817         Change for new bus API.
19818
19819         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19820         (send_messages), (GST_START_TEST), (gstbus_suite):
19821         Change for new bus signal API.
19822
19823         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
19824         (gst_bus_source_prepare), (gst_bus_source_check),
19825         (gst_bus_create_watch), (gst_bus_add_watch_full),
19826         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
19827         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
19828         * gst/gstbus.h:
19829         Remove support for multiple GSources operating on different
19830         message types as it is too complex and unneeded when using
19831         signals.
19832         Added support for receiving signals from the bus.
19833
19834 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19835
19836         * docs/libs/tmpl/gstdataprotocol.sgml:
19837         * docs/manual/advanced-dataaccess.xml:
19838         * gst/elements/gstcapsfilter.c:
19839         * gst/gstutils.c:
19840           rename filter-caps to caps property
19841
19842 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19843
19844         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19845           More robust fraction string parsing.
19846
19847         * docs/pwg/appendix-porting.xml:
19848           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
19849
19850 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19851
19852         * gst/gstcaps.c: (gst_caps_do_simplify):
19853           Thou shalt not free a structure and then continue using it
19854           in the next loop iteration.
19855
19856         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
19857         (gst_caps_suite):
19858           Add test case for caps simplification.
19859
19860 2005-09-29  Wim Taymans  <wim@fluendo.com>
19861
19862         * check/gst/gstbin.c: (GST_START_TEST):
19863         Oops.
19864
19865 2005-09-29  Wim Taymans  <wim@fluendo.com>
19866
19867         * check/gst/gstbin.c: (GST_START_TEST):
19868         Add bus to bin.
19869
19870         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
19871         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19872         (find_element), (gst_bin_sort_iterator_next),
19873         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19874         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19875         (gst_bin_change_state), (gst_bin_dispose):
19876         A bin does not have a bus, it gets the bus from the parent.
19877
19878         * gst/gstelement.c: (gst_element_requires_clock),
19879         (gst_element_provides_clock), (gst_element_is_indexable),
19880         (gst_element_is_locked_state), (gst_element_change_state),
19881         (gst_element_set_bus_func):
19882         Small cleanups.
19883
19884         * gst/gstpipeline.c: (gst_pipeline_class_init),
19885         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
19886         The pipeline provides a bus.
19887
19888 2005-09-28  Johan Dahlin  <johan@gnome.org>
19889
19890         * gst/gstmessage.c (gst_message_parse_state_changed): Use
19891         gst_structure_get_enum instead of gst_structure_get_int
19892
19893         * gst/gststructure.c (gst_structure_get_enum): Impl.
19894
19895         * gst/gststructure.h (gst_structure_get_enum): Add
19896
19897         * docs/gst/gstreamer-sections.txt: Ditto
19898
19899         * gst/gstmessage.c (gst_message_new_state_changed): Use
19900         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
19901         which does introspection.
19902         Reviewed by Christian Schaller
19903
19904 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
19905
19906         * gst/gstinfo.c: (gst_debug_log_default):
19907           don't do dummy g_strdup()s
19908         * libs/gst/controller/gstcontroller.c:
19909         (on_object_controlled_property_changed),
19910         (gst_controlled_property_new), (gst_controller_new_valist),
19911         (gst_controller_new_list),
19912         (gst_controller_remove_properties_valist), (gst_controller_set),
19913         (gst_controller_get), (gst_controller_sync_values),
19914         (gst_controller_get_value_array), (_gst_controller_class_init),
19915         (gst_controller_get_type):
19916         * libs/gst/controller/gstcontroller.h:
19917         * libs/gst/controller/gstinterpolation.c:
19918         (gst_controlled_property_find_timed_value_node):
19919           convert // to /**/ comments
19920
19921 2005-09-28  Wim Taymans  <wim@fluendo.com>
19922
19923         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
19924         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
19925         (gst_bus_sync_signal_handler):
19926         * gst/gstbus.h:
19927         Added async-message and sync-message signals to the bus.
19928         Added helper BusFunc to emit signals for all posted messages.
19929
19930         * gst/gstmessage.c: (gst_message_type_get_name),
19931         (gst_message_type_to_quark), (gst_message_get_type):
19932         * gst/gstmessage.h:
19933         Register quarks for message names.
19934
19935 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
19936
19937         * docs/libs/gstreamer-libs-sections.txt:
19938         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
19939         (gst_controller_new_list):
19940         * libs/gst/controller/gstcontroller.h:
19941           added another constructor for language bindings
19942
19943 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19944
19945         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19946           add another check
19947         * gst/gstbus.c:
19948           add some doc
19949         * gst/gstinfo.c: (_gst_debug_init):
19950           slightly more readable color for refcount debugging
19951
19952 2005-09-28  Wim Taymans  <wim@fluendo.com>
19953
19954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19955         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19956         (find_element), (gst_bin_sort_iterator_next),
19957         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19958         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19959         (gst_bin_change_state), (gst_bin_dispose):
19960         Small doc fixes. get_clock -> provide_clock.
19961
19962         * gst/gstelement.c: (gst_element_class_init),
19963         (gst_element_provides_clock), (gst_element_provide_clock),
19964         (gst_element_get_clock), (gst_element_commit_state),
19965         (gst_element_lost_state):
19966         * gst/gstelement.h:
19967         Make get/set_clock() symetric. Add provide_clock vmethod since
19968         that is actually what this function does.
19969
19970         * gst/gstpipeline.c: (gst_pipeline_class_init),
19971         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
19972         (gst_pipeline_get_clock):
19973         get_clock -> provide_clock.
19974
19975 2005-09-28  Andy Wingo  <wingo@pobox.com>
19976
19977         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
19978         lieu of real docs...
19979
19980         * gst/elements/gstfdsrc.c: Cleaned up a bit.
19981
19982 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
19983
19984         * gst/elements/gstcapsfilter.c:
19985         * gst/elements/gstfakesink.c:
19986         * gst/elements/gstfakesrc.c:
19987         * gst/elements/gstfdsink.c:
19988         * gst/elements/gstfdsrc.c:
19989         * gst/elements/gstfilesink.c:
19990         * gst/elements/gstfilesrc.c:
19991         * gst/elements/gstidentity.c:
19992         * gst/elements/gsttee.c:
19993         * gst/elements/gsttypefindelement.c:
19994           Make element details static.
19995
19996 2005-09-28  Wim Taymans  <wim@fluendo.com>
19997
19998         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19999         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20000         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20001         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20002         (gst_bin_change_state), (gst_bin_dispose):
20003         Some documentation updates.
20004         Clean up dispose handlers.
20005
20006         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20007         * gst/gstpad.c: (gst_pad_dispose):
20008         Clean up dispose handler.
20009
20010         * gst/gstpipeline.c: (gst_pipeline_change_state):
20011         Removed spurious UNLOCK.
20012
20013 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20014
20015         * docs/gst/gstreamer-sections.txt:
20016         * gst/base/gstbasesrc.h:
20017         * gst/gstelement.h:
20018         * gst/gstevent.h:
20019         * gst/gstobject.h:
20020         * gst/gstpad.h:
20021         * gst/gstpipeline.c:
20022         * gst/gstpipeline.h:
20023         * gst/gstutils.h:
20024         * gst/gstxml.h:
20025           added two new functions to the docs
20026                 documents all undocumented GstXXXFlags
20027                 completed some incomplete docs 
20028
20029 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20030
20031         * gst/gstbin.c: (gst_bin_dispose):
20032         * gst/gstelement.c: (gst_element_dispose):
20033           remove now useless and leaky resurrection code in dispose
20034         * gst/base/gstbasesrc.c: (gst_base_src_init):
20035         * gst/gstelementfactory.c: (gst_element_factory_create):
20036         * gst/gstobject.c: (gst_object_set_parent):
20037           add some debugging
20038
20039 2005-09-27  Wim Taymans  <wim@fluendo.com>
20040
20041         * docs/design/part-TODO.txt:
20042         Update TODO.
20043
20044         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20045         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20046         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20047         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20048         (gst_bin_change_state):
20049         * gst/gstelement.h:
20050         Remove element variable, we keep element info in the iterator now.
20051
20052 2005-09-27  Andy Wingo  <wingo@pobox.com>
20053
20054         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20055         values.
20056
20057 2005-09-27  Wim Taymans  <wim@fluendo.com>
20058
20059         * check/gst/gstbin.c: (GST_START_TEST):
20060         Enable check that works now.
20061
20062         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20063         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20064         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20065         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20066         (gst_bin_change_state):
20067         * gst/gstbin.h:
20068         Redid the state change algorithm using a topological sort algo.
20069         Handles all cases correctly.
20070         Exposed iterator for state change order.
20071
20072         * gst/gstelement.h:
20073         Temp storage for state changes. Need to get rid of this soon.
20074
20075 2005-09-27  Wim Taymans  <wim@fluendo.com>
20076
20077         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20078         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20079         (link_fold_func), (gst_pad_proxy_setcaps):
20080         Leak fixes, the fold functions need to unref the passed object and
20081         _get_parent_*() returns ref to parent.
20082
20083 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20084
20085         * check/gst/gstbuffer.c: (test_make_writable):
20086           Plug leak in test case and fix 'make check-valgrind'
20087
20088 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20089
20090         * gst/gstbuffer.c: (gst_subbuffer_init):
20091           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20092           works correctly in all circumstances (we could have just copied
20093           the parent buffer's readonly flag, but conceptually it seems
20094           cleaner to mark all subbuffers as read-only). (based on patch
20095           by Alessandro Decina, #314710).
20096         
20097         * check/gst/gstbuffer.c: (create_read_only_buffer),
20098         (test_make_writable), (test_subbuffer_make_writable),
20099         (gst_test_suite):
20100           Add some tests for gst_buffer_make_writable().
20101
20102 2005-09-27  Wim Taymans  <wim@fluendo.com>
20103
20104         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20105         use gst_object_has_ancestor().
20106
20107         * gst/gstobject.c: (gst_object_has_ancestor):
20108         * gst/gstobject.h:
20109         gst_object_has_ancestor() copied from gstbin.c as it is a
20110         useful function.
20111
20112         * tests/instantiate/create.c: (create_all_elements):
20113         * tests/lat.c: (handoff_src), (handoff_sink):
20114         * tests/sched/runxml.c: (main):
20115         * tests/seeking/seeking1.c: (main):
20116         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20117         (main):
20118         Fix compilation of some tests.
20119
20120 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20121
20122         * gst/gsterror.h:
20123           Remove comment. GST_TYPE_G_ERROR is here to stay,
20124           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20125           (#316961, #300610).
20126
20127 2005-09-26  Wim Taymans  <wim@fluendo.com>
20128
20129         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20130         Added check that shows error in state change order.
20131
20132 2005-09-26  Wim Taymans  <wim@fluendo.com>
20133
20134         * gst/gstbin.c: (gst_bin_change_state):
20135         Make state change function use 3 queues again, we were
20136         adding elements in the wrong order.
20137
20138         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20139         Some debug info,
20140
20141         * gst/gstpad.c: (gst_pad_dispose):
20142         Added some debug info first.
20143
20144 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20145
20146         * docs/design/draft-push-pull.txt:
20147         * docs/design/part-events.txt:
20148         * docs/design/part-overview.txt:
20149         * docs/design/part-scheduling.txt:
20150           Replace all _pull_region() with _pull_range()
20151           
20152 2005-09-26  Andy Wingo  <wingo@pobox.com>
20153
20154         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20155
20156         * check/gst-libs/controller.c: Update for controller api change.
20157
20158         * configure.ac: 
20159         * tests/Makefile.am:
20160         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20161         over by GLib bug 118439.
20162         
20163         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20164         routines to a function.
20165
20166         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20167
20168         * libs/gst/controller/gsthelper.c:
20169         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20170         (gst_object_sync_values): Renamed from sink_values. Ugh.
20171
20172         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20173
20174         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20175         Renamed from controller_key, as it is exported.
20176
20177         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20178
20179 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20180
20181         * gst/Makefile.am:
20182         * gst/gst.h:
20183         * gst/gstpad.h:
20184         * gst/gstpadtemplate.h:
20185         * gst/gstquery.c:
20186         * gst/gstquery.h:
20187         * gst/gstqueryutils.c:
20188         * gst/gstqueryutils.h:
20189           remove queryutils headers after moving the two used functions
20190           to gstquery.  also fixes build problem for gstsiddec
20191
20192 2005-09-26  Michael Smith <msmith@fluendo.com>
20193
20194         * tools/gst-launch.1.in:
20195         Correct documentation in manpage of debug syntax
20196
20197 2005-09-26  Wim Taymans  <wim@fluendo.com>
20198
20199         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20200         (gst_base_src_is_seekable), (gst_base_src_change_state):
20201         Some more debugging info.
20202
20203 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20204
20205         * docs/gst/gstreamer-sections.txt:
20206         * gst/base/gstbasetransform.h:
20207         * gst/gstindex.h:
20208           added more docs
20209
20210 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20211
20212         * docs/gst/.cvsignore:
20213         * docs/gst/tmpl/.cvsignore:
20214         * docs/gst/tmpl/gstpipeline.sgml:
20215         * docs/gst/tmpl/gstplugin.sgml:
20216         * gst/gstpipeline.c:
20217         * gst/gstplugin.c:
20218         * gst/gstplugin.h:
20219           inlined the last two docs files
20220           removed the tmpl directory from cvs (no more conflicts here!)
20221
20222 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20223
20224         * docs/gst/gstreamer-sections.txt:
20225         * docs/gst/tmpl/.cvsignore:
20226         * docs/gst/tmpl/gstpad.sgml:
20227         * docs/gst/tmpl/gstpadtemplate.sgml:
20228         * gst/Makefile.am:
20229         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20230         (gst_pad_finalize), (gst_pad_set_pad_template):
20231         * gst/gstpad.h:
20232         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20233         (gst_pad_template_class_init), (gst_pad_template_init),
20234         (gst_pad_template_dispose), (name_is_valid),
20235         (gst_static_pad_template_get), (gst_pad_template_new),
20236         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20237         (gst_pad_template_pad_created):
20238         * gst/gstpadtemplate.h:
20239           inlined two more docs
20240           factored gstpadtemplate out of gstpad
20241
20242 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20243
20244         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20245         (test_children_state_change_order_semi_sink):
20246           Fix test case: we can't rely on a fixed state change order when
20247           going from READY => PAUSED because the sink might commit its 
20248           new state first when the first buffer created by the source 
20249           reaches the sink before the source has finished its change state.
20250           (Test case still fails at times, see #316856, comment 5 onwards)
20251
20252 2005-09-24  Wim Taymans  <wim@fluendo.com>
20253
20254         * docs/design/part-events.txt:
20255         * docs/design/part-gstbus.txt:
20256         * docs/design/part-gstpipeline.txt:
20257         * docs/design/part-messages.txt:
20258         * docs/design/part-overview.txt:
20259         * docs/design/part-segments.txt:
20260         * gst/gstbin.c:
20261         * gst/gstbuffer.c:
20262         * gst/gstclock.c:
20263         * gst/gstelement.c:
20264         * gst/gstevent.c:
20265         * gst/gstfilter.c:
20266         * gst/gstiterator.c:
20267         Various documentation updates.
20268
20269 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20270
20271         * gst/gstclock.h:
20272           Well, that's embarassing.  Luckily we weren't using
20273           GST_CLOCK_DIFF anywhere.
20274
20275 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20276
20277         * common/gtk-doc.mak:
20278           don't fail on building XML, FC4 slave shows a bunch of doc
20279           missing bits that I don't get
20280         * gst/gstpad.c:
20281         * gst/gstpipeline.c:
20282         * gst/gststructure.c:
20283           some doc updates
20284
20285 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20286
20287         * docs/design/part-gstbin.txt:
20288         * docs/design/part-gstbus.txt:
20289         * gst/gstbus.c:
20290           Add blurb about how the bus goes into flushing mode and
20291           drops all messages when its bin goes from READY into NULL 
20292           state.
20293
20294 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20295
20296         * docs/gst/gstreamer-sections.txt:
20297         * gst/gststructure.c: (gst_structure_get_clock_time):
20298         * gst/gststructure.h:
20299           add a method to get a GstClockTime out of a structure
20300
20301 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20302
20303         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20304         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20305           Added test to check state change order in bins (can still be made
20306           to fail here under heavy disk load; bails out with 'Push on pad
20307           fakesink:sink0, but it was not activated in push mode').
20308
20309         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20310           Fix state change order when there is only a semi sink (#316856)
20311
20312         * gst/gstbus.c: (gst_bus_class_init):
20313           Use _class_peek_parent(), not _class_ref(); fix docs to say
20314           'default main context' instead of 'mainloop' where that is
20315           what's meant.
20316
20317         * gst/gstelement.c: (gst_element_commit_state),
20318         (gst_element_set_state):
20319           Fix typos in debug messages
20320
20321 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20322
20323         * docs/README:
20324         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20325         * gst/gstpluginfeature.c:
20326         * gst/gstutils.c:
20327           various doc updates
20328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20329           change an assert into an error until it gets fixed properly
20330
20331 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20332
20333         * docs/gst/gstreamer-sections.txt:
20334         * docs/gst/tmpl/.cvsignore:
20335         * docs/gst/tmpl/gstelement.sgml:
20336         * docs/gst/tmpl/gstinfo.sgml:
20337         * docs/gst/tmpl/gstobject.sgml:
20338         * gst/gstelement.c:
20339         * gst/gstelement.h:
20340         * gst/gstinfo.c:
20341         * gst/gstinfo.h:
20342         * gst/gstobject.c: (gst_object_class_init):
20343         * gst/gstobject.h:
20344           inlined 3 more biiiig doc files and added some missing docs on the fly
20345
20346 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20347
20348         * check/gst/.cvsignore:
20349         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20350         * gst/gstregistryxml.c: (load_plugin),
20351         (gst_registry_xml_save_plugin):
20352           put back source in registry.  add checks for find_plugin.
20353         * testsuite/states/bin.c: (assert_state), (empty_bin),
20354         (test_adding_one_element), (main):
20355         * testsuite/states/locked.c: (main):
20356           some compile/run fixes
20357
20358 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20359
20360         * check/gst/gstvalue.c: (GST_START_TEST):
20361           fix leaks in the test itself
20362
20363 2005-09-22  Wim Taymans  <wim@fluendo.com>
20364
20365         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20366         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20367         (gst_base_sink_query):
20368         Prepare for more accurate position reporting and query
20369         handling.
20370
20371         * gst/gstelement.c: (gst_element_send_event),
20372         (gst_element_set_state):
20373         Add some comment.
20374
20375 2005-09-22  Wim Taymans  <wim@fluendo.com>
20376
20377         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20378         (gst_query_parse_segment):
20379         * gst/gstquery.h:
20380         More documentation.
20381         Add segment query for future use.
20382
20383 2005-09-22  Wim Taymans  <wim@fluendo.com>
20384
20385         * gst/gstbin.c: (gst_bin_add_func):
20386         Some more debug info.
20387
20388         * gst/gstelement.c: (gst_element_send_event):
20389         Simplify send_event
20390
20391         * gst/gstelement.h:
20392         Don't know how flags got broken.
20393
20394         * gst/gstquery.h:
20395         Added new query.
20396
20397 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20398
20399         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20400           Add simplistic test suite for GST_TYPE_DATE serialisation and
20401           deserialisation.
20402
20403 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20404
20405         * docs/gst/gstreamer-sections.txt:
20406         * gst/gststructure.c: (gst_structure_set_valist),
20407         (gst_structure_get_date):
20408         * gst/gststructure.h:
20409         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
20410         (gst_date_copy), (gst_value_compare_date),
20411         (gst_value_serialize_date), (gst_value_deserialize_date),
20412         (gst_value_transform_date_string),
20413         (gst_value_transform_string_date), (_gst_value_initialize):
20414         * gst/gstvalue.h:
20415           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
20416           bunch of utility functions along with a hack that checks that
20417           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
20418           is required. Part of the grand scheme in #170777.
20419
20420 2005-09-22  Andy Wingo  <wingo@pobox.com>
20421
20422         * gst/gstconfig.h.in: Psych out gtk-doc.
20423
20424         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
20425
20426         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
20427
20428         * tools/gst-inspect.c (print_element_list): Plug some
20429         inconsequential leaks.
20430
20431         * gst/gstregistry.c (gst_registry_get_default): Doc.
20432
20433         * check/gst/gstplugin.c: 
20434         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
20435         * gst/gstelementfactory.c (gst_element_factory_create): 
20436         * gst/gstindexfactory.c (gst_index_factory_create): Update for
20437         refcount changes.
20438
20439         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
20440         (gst_plugin_feature_load): Doc, don't eat refs.
20441
20442         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
20443         (gst_plugin_list_free): Doc.
20444         (gst_plugin_load_file): Doc updates.
20445
20446         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
20447         accessors returning refcounted objects, return a ref.
20448
20449         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
20450         accessor for caps. IDEMPOTENCE. Oh yes.
20451
20452 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
20453
20454         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20455
20456         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20457         (_gst_debug_register_funcptr):
20458           Add mutex to serialise access to the hash table with
20459           the function pointer => function name string mapping;
20460           make that hash table static scope (#316809).
20461
20462         * gst/registries/.cvsignore:
20463           Remove left-over file.
20464
20465 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20466
20467         * docs/pwg/appendix-porting.xml:
20468           And something about newsegment events and caps-on-buffers to
20469           the porting guide (feel free to improve).
20470
20471 2005-09-21  Andy Wingo  <wingo@pobox.com>
20472
20473         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
20474         data and event probes on the same pad.
20475         (test_buffer_probe_once): Test that removing probes from within
20476         the probe functions works.
20477
20478 2005-09-21  Andy Wingo  <wingo@pobox.com>
20479
20480         * check/gst/gstutils.c: New file.
20481         (test_buffer_probe_n_times): A simple buffer probe test. More to
20482         come, foolios.
20483
20484         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
20485         have-data::buffer, not have-data.
20486         (gst_pad_add_event_probe): Likewise for have-data::event.
20487         (gst_pad_add_data_probe): More docs. The part about 'resolving the
20488         peer' isn't quite right yet though.
20489         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
20490         (gst_pad_remove_data_probe): Change to take the guint handler_id
20491         as their arg, not the function+data, which is more glib-like.
20492
20493         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
20494         the signal emission to indicate if the data is a buffer or an
20495         event.
20496         (gst_pad_get_type): Initialize buffer and event quarks.
20497         (gst_pad_class_init): have-data is now a detailed signal, yes it
20498         is.
20499
20500 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20501
20502         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20503         * gst/gstutils.c: (gst_util_set_value_from_string),
20504         (gst_util_set_object_arg):
20505           Don't put functional code in g_return_if_fail() or
20506           g_return_val_if_fail() statements, otherwise things will 
20507           break when G_DISABLE_CHECKS is defined during compilation.
20508
20509 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20510
20511         * docs/gst/tmpl/.cvsignore:
20512         * docs/gst/tmpl/gstvalue.sgml:
20513         * gst/gstvalue.c:
20514         * gst/gstvalue.h:
20515           inlied another one and added  some obvious docs
20516
20517 2005-09-21  Wim Taymans  <wim@fluendo.com>
20518
20519         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20520         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
20521         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
20522         (gst_fdsrc_get_property), (gst_fdsrc_create):
20523         * gst/elements/gstfdsrc.h:
20524         Properly implement fdsrc. Removed signal and timeout,
20525         better implemented somewhere else.
20526
20527 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20528
20529         * docs/gst/tmpl/.cvsignore:
20530         * docs/gst/tmpl/gstimplementsinterface.sgml:
20531         * gst/gstinterface.c:
20532           inlined more docs
20533
20534 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20535
20536         * docs/gst/gstreamer-sections.txt:
20537         * docs/gst/tmpl/.cvsignore:
20538         * docs/gst/tmpl/gstenumtypes.sgml:
20539           remove obsolete doc file
20540
20541 2005-09-21  David Schleef  <ds@schleef.org>
20542
20543         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
20544         little beer, fix a little leak.
20545
20546 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20547
20548         * docs/gst/gstreamer-docs.sgml:
20549         * docs/gst/gstreamer-sections.txt:
20550         * docs/gst/tmpl/.cvsignore:
20551         * gst/Makefile.am:
20552         * gst/gst.h:
20553         * gst/gstbin.c:
20554         * gst/gstelement.h:
20555         * gst/gstindex.c: (gst_index_class_init):
20556         * gst/gstindex.h:
20557         * gst/gstindexfactory.c: (gst_index_factory_get_type),
20558         (gst_index_factory_class_init), (gst_index_factory_init),
20559         (gst_index_factory_finalize), (gst_index_factory_new),
20560         (gst_index_factory_destroy), (gst_index_factory_find),
20561         (gst_index_factory_create), (gst_index_factory_make):
20562         * gst/gstindexfactory.h:
20563         * gst/gstpluginfeature.c:
20564         * gst/gstpluginfeature.h:
20565         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20566           more docs inlined, splitted gstindex.{c,h}
20567
20568 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20569
20570         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20571           fix a leak
20572
20573 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20574
20575         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20576           Set sync to FALSE by default.
20577
20578 2005-09-20  Wim Taymans  <wim@fluendo.com>
20579
20580         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20581         (gst_base_sink_init):
20582         Make sync property settable from subclass.
20583
20584         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20585         (gst_fake_sink_change_state):
20586         Set sync to FALSE by default.
20587
20588 2005-09-20  Wim Taymans  <wim@fluendo.com>
20589
20590         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
20591         * tools/gst-launch.c: (main):
20592         The timeout handler should have lower priority than the source
20593         so we don't timeout before popping a message with 0 timeout.
20594         Dump error messages after failed state change.
20595
20596 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20597
20598         * tools/gst-inspect.c: (print_element_properties_info):
20599           Fix two typos.
20600
20601 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20602
20603         * check/gst/gstevent.c:
20604         * gst/elements/gstfakesink.c:
20605         * gst/elements/gstfakesink.h:
20606           remove the sync property from fakesink.
20607           has the side effect of setting sync TRUE
20608           for fakesink, which is a change.  Anyone who knows how
20609           to fix this nicely in a GObject-y way, feel free.
20610
20611 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20612
20613         * docs/gst/gstreamer-docs.sgml:
20614           remove probe refsection
20615
20616 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20617
20618         * check/Makefile.am:
20619           disable valgrinding the controller test again
20620         * docs/gst/gstreamer-sections.txt:
20621           update for api-changes
20622
20623 2005-09-20  Wim Taymans  <wim@fluendo.com>
20624
20625         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20626         (gst_base_sink_set_property), (gst_base_sink_get_property),
20627         (gst_base_sink_do_sync):
20628         * gst/base/gstbasesink.h:
20629         Added sync property to basesink to disable clock sync.
20630
20631 2005-09-20  Andy Wingo  <wingo@pobox.com>
20632
20633         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
20634         eating the caller's refcount.
20635
20636         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
20637         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
20638         refcount.
20639
20640         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
20641         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
20642         of GLib 2.8 public, so we can know which refcount to check in
20643         tests.
20644
20645         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
20646         (gst_object_init): Only set the gst refcount if we're going ahead
20647         with the refcount hack.
20648
20649 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20650
20651         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20652         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20653           more leaks plumbed, added more debug-logging
20654         * gst/gstmacros.h:
20655           whitespace fix
20656
20657 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20658
20659         * gst/gstmessage.c:
20660           remove include of gstmemchunk.h
20661
20662 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20663
20664         * gst/gstclock.c: (_gst_clock_id_free):
20665           Commit from the Political Party For More Atomic CVS Commits,
20666           so that people don't waste too much of their day fishing
20667           out obvious leaks out of massive commits.
20668           Oh, and fix a pretty damn obvious leak in the memchunk
20669           removal code.
20670
20671 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20672
20673         * check/Makefile.am:
20674         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20675           plug mem-leak, re-add to valgrindable tests
20676
20677 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20678
20679         * gst/gstplugin.h:
20680           unbreak the build for those who have chronic arthritis
20681           and typing "make check" is just too taxing on the hands
20682
20683 2005-09-20  Andy Wingo  <wingo@pobox.com>
20684
20685         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
20686         really want it out, you should fix plugins at the same time.
20687
20688 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
20689
20690         * configure.ac:
20691         * docs/gst/gstreamer-sections.txt:
20692         * gst/gstobject.c:
20693           added missing symbols to api docs
20694           disable ref-count hack if we have glib >= 2.8
20695
20696 2005-09-19  David Schleef  <ds@schleef.org>
20697
20698         * docs/gst/Makefile.am: Ignore a few more internal headers
20699         * docs/gst/gstreamer-docs.sgml: Remove old sections
20700         * docs/gst/gstreamer-sections.txt: Remove old sections
20701         * docs/gst/tmpl/gstobject.sgml: update
20702         * docs/gst/tmpl/gstplugin.sgml: update
20703         * docs/gst/tmpl/gstpluginfeature.sgml: update
20704         * docs/random/ds/0.9-suggested-changes: update.
20705         * gst/Makefile.am: remove memchunk and trashstack, since they're
20706           not used.
20707         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
20708         * gst/gst.h: don't include some headers
20709         * gst/gstchildproxy.c: add gstmarshal.h
20710         * gst/gstclock.c: Don't use memchunks
20711         * gst/gstminiobject.c: Add some docs
20712         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
20713         * gst/gstobject.h: same
20714         * gst/gstplugin.c: include gstmacros.h
20715         * gst/gstplugin.h: don't include gstmacros.h, since it's private
20716         * gst/gstquery.c: don't use memchunks
20717         * gst/gstregistry.c: rename gst_registry_deinit()
20718         * gst/gstregistry.h: same
20719
20720 2005-09-19  David Schleef  <ds@schleef.org>
20721
20722         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
20723         * docs/libs/gstreamer-libs-sections.txt:
20724         * docs/libs/tmpl/gstgetbits.sgml:
20725         * docs/libs/tmpl/gstputbits.sgml:
20726
20727 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
20728
20729         * win32/gstenumtypes.c:
20730         * win32/gstenumtypes.h:
20731           Update.
20732
20733 2005-09-19  Wim Taymans  <wim@fluendo.com>
20734
20735         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
20736         Automatically PAUSE and RESUME a pipeline when a flushing seek
20737         is performed.
20738
20739 2005-09-19  Andy Wingo  <wingo@pobox.com>
20740
20741         * gst/gstregistry.h: Spacing fixen.
20742
20743 2005-09-19  Wim Taymans  <wim@fluendo.com>
20744
20745         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
20746         Handle state change failure more correctly.
20747
20748 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20749
20750         * check/Makefile.am:
20751         * check/pipelines/cleanup.c: (run_pipeline):
20752         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20753         (GST_START_TEST):
20754           enable cleanup again after fixing the leak
20755         * docs/README:
20756           some more info on docs
20757
20758 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20759
20760         * check/Makefile.am:
20761           re-enable tests now that leaks are plugged
20762         * check/gst/gst.c:
20763         * check/gst/gstbin.c:
20764         * check/gst/gstpipeline.c:
20765           add some more tests while fixing leaks
20766         * common/check.mak:
20767           make sure binaries are uptodate when valgrinding/gdbing
20768         * gst/gst.c:
20769         * gst/gstelementfactory.c:
20770           remove a ref too many, and add a FIXME for when we get
20771           round to disposing of classes
20772         * gst/gstplugin.c:
20773           fix the refcounting when loading a plugin from a file and
20774           the code pretends that the pointer is the same even though
20775           of course it can change
20776         * gst/gstpluginfeature.c:
20777           unref plugins marked cached (a bit confusing as a name)
20778           as the docs state should be done
20779           various doc additions to explain refcounting
20780         * gst/gstregistry.c:
20781         * gst/gstregistryxml.c:
20782           debugging
20783
20784 2005-09-19  Wim Taymans  <wim@fluendo.com>
20785
20786         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20787         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20788         (send_messages), (GST_START_TEST), (gstbus_suite):
20789         * check/gst/gstpipeline.c: (GST_START_TEST):
20790         * check/pipelines/cleanup.c: (run_pipeline):
20791         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20792         (GST_START_TEST):
20793         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
20794         (gst_bus_source_check), (gst_bus_source_dispatch),
20795         (gst_bus_create_watch), (gst_bus_add_watch_full),
20796         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
20797         * gst/gstbus.h:
20798         * tools/gst-launch.c: (event_loop):
20799         * tools/gst-md5sum.c: (event_loop):
20800         GstBusHandler -> GstBusFunc, return value has the same meaning as
20801         any other GSource (FALSE == remove source).
20802         _add_watch() and _add_watch_full() now take a MessageType mask to
20803         only handle specific types of messages.
20804         _poll() returns the GstMessage instead of the message type to avoid
20805         race conditions.
20806         _have_pending() takes a MessageType mask now too.
20807         Added testsuite for multiple bus watches.
20808         Fix testsuites and applications for new bus API.
20809
20810 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20811
20812         * check/Makefile.am:
20813           mark a bunch of the tests as to fix until we fix them
20814
20815 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20816
20817         * common/check.mak:
20818           use GST_PLUGIN settings for valgrind tests as well, so we're
20819           valgrinding the correct thing
20820         * gst/gst.c: (init_post):
20821           plug another leak
20822
20823 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20824
20825         * gst/gst.c: (init_post), (gst_deinit):
20826         * gst/gstelementfactory.c: (gst_element_factory_class_init),
20827         (gst_element_factory_finalize), (gst_element_factory_cleanup):
20828         * gst/gstindex.c: (gst_index_factory_class_init),
20829         (gst_index_factory_finalize):
20830         * gst/gstobject.c: (gst_object_dispose):
20831         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
20832         (gst_plugin_load_file), (gst_plugin_desc_free):
20833         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
20834         (gst_plugin_feature_finalize):
20835         * gst/gstregistry.c: (gst_registry_class_init),
20836         (gst_registry_init), (gst_registry_finalize),
20837         (gst_registry_get_default), (gst_registry_deinit):
20838         * gst/gstregistry.h:
20839         * gst/gstregistryxml.c: (load_feature), (load_plugin):
20840           various cleanups and memleak plugging.  make valgrind is happy now.
20841
20842 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20843
20844         * common/check.mak:
20845           add a check-valgrind target
20846
20847 2005-09-18  David Schleef  <ds@schleef.org>
20848
20849         * tools/gst-inspect.c: Revert the GOption code.
20850
20851 2005-09-17  David Schleef  <ds@schleef.org>
20852
20853         * check/Makefile.am: Fix environment variables.
20854         * check/gst/gstplugin.c: Fix for API changes.
20855         * tools/gst-inspect.c: Fix for API changes.
20856         * tools/gst-xmlinspect.c: Fix for API changes.
20857         * gst/gstelementfactory.c:
20858         * gst/gstplugin.c:
20859         * gst/gstplugin.h:
20860         * gst/gstpluginfeature.c:
20861         * gst/gstpluginfeature.h:
20862         * gst/gstregistry.c:
20863         * gst/gstregistry.h:
20864         * gst/gstregistryxml.c:
20865         * gst/gsttypefind.c:
20866         * gst/gsttypefindfactory.c:
20867         * gst/indexers/gstfileindex.c:
20868         * gst/indexers/gstmemindex.c:
20869         * gst/schedulers/Makefile.am:
20870           Change registry to keep track of both plugins and features,
20871           removing the feature tracking from plugins themselves.
20872
20873 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20874
20875         * check/Makefile.am:
20876         * tools/gst-register.1.in:
20877           remove gst-register
20878
20879 2005-09-15  David Schleef  <ds@schleef.org>
20880
20881         * check/gst/gstplugin.c:
20882         * gst/gstelementfactory.c:
20883         * gst/gstplugin.c:
20884         * gst/gstpluginfeature.c:
20885         * gst/gstregistry.c:
20886           Getting tired of debugging.  Disabled all the unreffing of
20887           plugins and features, which fixes the segfaults, but of
20888           course leaks like crazy.  At least playbin works.
20889
20890 2005-09-15  David Schleef  <ds@schleef.org>
20891
20892         * check/gst/gstplugin.c: (register_check_elements),
20893         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
20894         More testing
20895         * gst/elements/gsttypefindelement.c: Fix refcounting.
20896         * gst/gsttypefind.c:
20897         * gst/gsttypefindfactory.c:
20898         * gst/gsttypefindfactory.h:
20899
20900 2005-09-15  David Schleef  <ds@schleef.org>
20901
20902         * gst/gstindex.c: get refcounting correct.
20903         * gst/gstregistry.c: Handle the case where a feature/plugin is
20904           not found.
20905
20906 2005-09-15  David Schleef  <ds@schleef.org>
20907
20908         * check/Makefile.am:
20909         * check/gst/gstplugin.c: Add test
20910         * gst/gstplugin.c: Fix problems noticed by testsuite
20911         * gst/gstplugin.h:
20912         * gst/gstregistry.c: 
20913         * gst/gstregistry.h:
20914
20915 2005-09-15  David Schleef  <ds@schleef.org>
20916
20917         * gst/gstplugin.c: Implement semi-decent recounting and locking
20918           in plugins and plugin features.
20919         * gst/gstplugin.h:
20920         * gst/gstpluginfeature.c:
20921         * gst/gstpluginfeature.h:
20922         * gst/gstregistry.c:
20923
20924 2005-09-15  Michael Smith <msmith@fluendo.com>
20925
20926         * gst/gstregistry.c: (gst_registry_get_feature_list):
20927           Implement this. Makes oggdemux work; decodebin still broken.
20928
20929 2005-09-14  David Schleef  <ds@schleef.org>
20930
20931         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
20932           #316076)
20933         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
20934         * gst/check/Makefile.am:
20935         * libs/gst/controller/Makefile.am:
20936         * libs/gst/dataprotocol/Makefile.am:
20937
20938 2005-09-14  David Schleef  <ds@schleef.org>
20939
20940         * configure.ac: Remove getbits library.  Nothing uses it, and
20941           it should be in something like liboil if someone did want
20942           to use it.
20943         * libs/gst/Makefile.am:
20944         * libs/gst/getbits/Makefile.am:
20945         * libs/gst/getbits/gbtest.c:
20946         * libs/gst/getbits/getbits.c:
20947         * libs/gst/getbits/getbits.h:
20948         * libs/gst/getbits/gstgetbits_generic.c:
20949         * libs/gst/getbits/gstgetbits_i386.s:
20950         * libs/gst/getbits/gstgetbits_inl.h:
20951
20952 2005-09-14  David Schleef  <ds@schleef.org>
20953
20954         * gst/Makefile.am: Dist glib-compat.h
20955
20956 2005-09-14  David Schleef  <ds@schleef.org>
20957
20958         * configure.ac: Remove gst/registries, since it's no longer used.
20959         * gst/registries/Makefile.am:
20960         * gst/registries/gstlibxmlregistry.c:
20961         * gst/registries/gstlibxmlregistry.h:
20962         * gst/registries/gstxmlregistry.c:
20963         * gst/registries/gstxmlregistry.h:
20964         * gst/registries/registrytest.c:
20965
20966 2005-09-14  David Schleef  <ds@schleef.org>
20967
20968         * gst/glib-compat.h:
20969         * gst/gstregistryxml.c:
20970           Convergence is near.  Seriously.
20971
20972 2005-09-14  David Schleef  <ds@schleef.org>
20973
20974         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20975         * gst/glib-compat.h:
20976           Attempt #4 to appease the buildbots.
20977
20978 2005-09-14  David Schleef  <ds@schleef.org>
20979
20980         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20981           Attempt #3.
20982
20983 2005-09-14  David Schleef  <ds@schleef.org>
20984
20985         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20986         Attempt #2.
20987
20988 2005-09-14  David Schleef  <ds@schleef.org>
20989
20990         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
20991           the new functions.
20992
20993 2005-09-14  David Schleef  <ds@schleef.org>
20994
20995         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20996         * gst/glib-compat.h: Add some functions that are in newer versions
20997           of glib than we care to require.
20998         * gst/gstregistryxml.c: Use them.
20999
21000 2005-09-14  David Schleef  <ds@schleef.org>
21001
21002         * po/POTFILES.in: remove gst-register.c
21003
21004 2005-09-14  David Schleef  <ds@schleef.org>
21005
21006         * docs/gst/gstreamer-docs.sgml:
21007         * docs/gst/gstreamer-sections.txt:
21008         * docs/gst/gstreamer.types:
21009         * docs/gst/tmpl/gstelement.sgml:
21010         * docs/gst/tmpl/gstplugin.sgml:
21011         * docs/gst/tmpl/gstpluginfeature.sgml:
21012           Documentation updates for registry changes.
21013
21014 2005-09-14  David Schleef  <ds@schleef.org>
21015
21016         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21017           because we don't require glib-2.8.
21018
21019 2005-09-14  David Schleef  <ds@schleef.org>
21020
21021         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21022           registries directory.
21023
21024 2005-09-14  David Schleef  <ds@schleef.org>
21025
21026         * check/Makefile.am:
21027         * check/generic/states.c:
21028         * gst/Makefile.am:
21029         * gst/gst.c:
21030         * gst/gst.h:
21031         * gst/gst_private.h:
21032         * gst/gstelementfactory.c:
21033         * gst/gstindex.c:
21034         * gst/gstinfo.c:
21035         * gst/gstplugin.c:
21036         * gst/gstplugin.h:
21037         * gst/gstpluginfeature.c:
21038         * gst/gstpluginfeature.h:
21039         * gst/gstregistry.c:
21040         * gst/gstregistry.h:
21041         * gst/gstregistrypool.c: remove
21042         * gst/gstregistrypool.h: remove
21043         * gst/gsttypefind.c:
21044         * gst/gsttypefindfactory.c:
21045         * gst/gsturi.c:
21046         * tools/Makefile.am:
21047         * tools/gst-compprep.c:
21048         * tools/gst-inspect.c:
21049         * tools/gst-register.c: remove
21050         * tools/gst-xmlinspect.c:
21051           Registry rewrite.  Changes registry from being a file created
21052           by a tool into a simple cache file created automatically by 
21053           libgstreamer.  Removed gst-register (because it's no longer
21054           needed).  Remove registry pools, because we only have one
21055           registry implementation (XML).  Fix up other subsystems as
21056           necessary.
21057
21058 2005-09-13  Michael Smith <msmith@fluendo.com>
21059
21060         * gst/gstconfig.h.in:
21061           Don't Use windows linking attributes for MinGW. Fixes #316157
21062
21063 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21064
21065         * gst/gstutils.c: (set_state_async_thread_func),
21066         (gst_element_set_state_async):
21067           Apparently people think it's better if this function doesn't
21068           try to set the state to whatever state was asked for on the first
21069           call to this function for any object.  Seriously.
21070
21071 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21072
21073         * check/gst/gstpipeline.c: (GST_START_TEST):
21074         * docs/gst/gstreamer-sections.txt:
21075         * gst/gstutils.c: (set_state_async_thread_func),
21076         (gst_element_set_state_async):
21077         * gst/gstutils.h:
21078           add a "gst_element_set_state_async" method that
21079           sets the state and starts a thread to make sure the state
21080           change completes as best as it can
21081
21082 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21083
21084         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21085           codify design+behaviour in testsuite after discussion
21086
21087 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21088
21089         * docs/gst/tmpl/gstelement.sgml:
21090         * docs/manual/appendix-quotes.xml:
21091           add a quote
21092         * gst/gstelement.c: (gst_element_set_state):
21093           add some debug
21094
21095 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21096
21097         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21098         (gst_base_transform_prepare_output_buf),
21099         (gst_base_transform_handle_buffer):
21100         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21101         (gst_capsfilter_prepare_buf):
21102           Remove the requirement for sub-classes to call the parent
21103           implementation of prepare_output_buffer with a wrapper function.
21104           
21105         * gst/gsttaglist.h:
21106         * gst/gsttagsetter.h:
21107           Fix #define wrapper
21108
21109 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21110
21111         * docs/gst/gstreamer-sections.txt:
21112           more doc cleanups
21113
21114 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21115
21116         * docs/gst/gstreamer-sections.txt:
21117         * docs/gst/tmpl/gstelement.sgml:
21118         * docs/gst/tmpl/gstplugin.sgml:
21119         * gst/gstminiobject.c:
21120         * gst/gstvalue.h:
21121           docs now stop throwing warnings
21122
21123 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21124
21125         * docs/gst/gstreamer-sections.txt:
21126         * docs/gst/gstreamer.types:
21127         * docs/gst/tmpl/gstpad.sgml:
21128         * docs/gst/tmpl/gsttypes.sgml:
21129         * gst/base/gstadapter.h:
21130         * gst/base/gstbasesink.h:
21131         * gst/base/gstbasesrc.h:
21132         * gst/gstbin.h:
21133         * gst/gstbuffer.h:
21134         * gst/gstbus.h:
21135         * gst/gstcaps.h:
21136         * gst/gstclock.h:
21137         * gst/gstelement.h:
21138         * gst/gstevent.h:
21139         * gst/gstmessage.h:
21140         * gst/gstpad.h:
21141         * gst/gststructure.c:
21142         * gst/registries/gstlibxmlregistry.h:
21143           various documentation fixes
21144
21145 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21146
21147         * docs/gst/gstreamer-sections.txt:
21148         * docs/gst/tmpl/gstvalue.sgml:
21149           rearrange gstvalue section
21150         * gst/gstutils.c: (gst_element_state_get_name):
21151           NONE -> VOID
21152         * gst/gstvalue.c: (_gst_value_initialize):
21153         * gst/gstvalue.h:
21154           doc updates
21155
21156 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21157
21158         * check/gst-libs/controller.c:
21159           Header include fix.
21160         * gst/base/gstbasetransform.c:
21161         (gst_base_transform_default_prepare_buf),
21162         (gst_base_transform_handle_buffer):
21163         * gst/base/gstbasetransform.h:
21164           Some more basetransform changes and fixes to enable sub-classes
21165           that modify buffer metadata only.
21166         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21167         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21168         (gst_capsfilter_prepare_buf):
21169           If the output pad has fixed allowed caps and input buffers 
21170           don't have any, set the fixed caps on outgoing buffers.
21171
21172 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21173         * check/elements/identity.c: (GST_START_TEST):
21174           Make the error a little clearer when the test fails because
21175           identity made a copy of the buffer.
21176         * docs/gst/gstreamer-sections.txt:
21177           New symbols in gstbasetransform.h
21178         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21179         (gst_base_transform_init), (gst_base_transform_transform_size),
21180         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21181         (gst_base_transform_default_prepare_buf),
21182         (gst_base_transform_get_unit_size),
21183         (gst_base_transform_buffer_alloc),
21184         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21185         (gst_base_transform_change_state),
21186         (gst_base_transform_set_passthrough),
21187         (gst_base_transform_set_in_place),
21188         (gst_base_transform_is_in_place):
21189         * gst/base/gstbasetransform.h:
21190           Change BaseTransform to separate in_place operate from same_caps
21191           output. in_place implies that the element can perform the transform
21192           on incoming buffers in-place, even if the caps on the output are
21193           different.
21194           Sub-class elements can now implement special buffer allocation
21195           methods for outgoing buffers if they wish to.
21196           Big documentation addition.
21197         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21198         * gst/elements/gstelements.c:
21199           Changes for basetransform modifications.
21200         * gst/elements/Makefile.am:
21201         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21202           Compile fix. Extra debug output.
21203
21204 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21205
21206         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21207         (gst_pad_suite):
21208           add tests for valid pad naming
21209         * gst/check/gstcheck.c: (gst_check_log_message_func),
21210         (gst_check_log_critical_func):
21211           add ASSERT_WARNING
21212           remove printing of code, it is fragile when the code contains
21213           % and the line number is enough info
21214         * gst/check/gstcheck.h:
21215         * gst/gstpad.c: (gst_pad_template_new):
21216           fix memleaks
21217
21218 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21219
21220         * configure.ac:
21221           say what CHECK flags we use
21222         * docs/libs/gstreamer-libs.types:
21223         * libs/gst/controller/Makefile.am:
21224         * libs/gst/controller/gst-controller.c:
21225         * libs/gst/controller/gst-controller.h:
21226         * libs/gst/controller/gst-helper.c:
21227         * libs/gst/controller/gst-interpolation.c:
21228         * libs/gst/controller/gstcontroller.c:
21229         * libs/gst/controller/gsthelper.c:
21230         * libs/gst/controller/gstinterpolation.c:
21231         * tools/gst-inspect.c: (print_plugin_info):
21232           we don't use dashes in header names
21233
21234 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21235
21236         * check/Makefile.am:
21237         * check/gst/.cvsignore:
21238         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21239         (gst_pipeline_suite), (main):
21240           adding a test for pipelines and state changes
21241         * gst/gstutils.c: (get_state_func):
21242           add some debugging
21243         * gstreamer.spec.in:
21244           fix up spec file
21245
21246 2005-09-08  Michael Smith <msmith@fluendo.com>
21247
21248         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21249         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21250         (gst_file_src_is_seekable), (gst_file_src_get_size),
21251         (gst_file_src_start):
21252         * gst/elements/gstfilesrc.h:
21253           Various fixes for unseekable, unmmapable, and non-normal files, so
21254           that fallback to read() rather than mmap() works.
21255         * gst/gstevent.c: (gst_event_new_newsegment):
21256           Allow newsegment events with segment_start == segment_end, as will
21257           correctly happen if you use filesrc on a zero-size file, for
21258           example.
21259
21260 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21261
21262         * gst/gstplugin.c: (gst_plugin_load_file):
21263           Call g_module_close when we don't load the module
21264
21265         * gst/registries/gstlibxmlregistry.c:
21266         (gst_xml_registry_get_property):
21267           Port leak fix from 0.8
21268
21269 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21270
21271         * docs/gst/gstreamer-docs.sgml:
21272         * docs/gst/tmpl/.cvsignore:
21273         * docs/gst/tmpl/gsttrace.sgml:
21274         * docs/gst/tmpl/gsttrashstack.sgml:
21275         * gst/Makefile.am:
21276         * gst/gst.h:
21277         * gst/gstelement.h:
21278         * gst/gstevent.h:
21279         * gst/gstmessage.c:
21280         * gst/gstmessage.h:
21281         * gst/gsttag.c:
21282         * gst/gsttag.h:
21283         * gst/gsttaginterface.c:
21284         * gst/gsttaginterface.h:
21285         * gst/gsttaglist.c:
21286         * gst/gsttaglist.h:
21287         * gst/gsttagsetter.c:
21288         * gst/gsttagsetter.h:
21289         * gst/gsttrace.c:
21290         * gst/gsttrace.h:
21291         * gst/gsttrashstack.c:
21292           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21293           inlined docs for gsttrace, gsttrashstack
21294
21295 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21296
21297         * gst/Makefile.am:
21298         * gst/elements/gstbufferstore.h:
21299         * gst/elements/gsttypefindelement.c:
21300         * gst/elements/gsttypefindelement.h:
21301         * gst/gst.h:
21302         * gst/gsttypefind.c:
21303         * gst/gsttypefind.h:
21304         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21305         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21306         (gst_type_find_factory_dispose),
21307         (gst_type_find_factory_unload_thyself),
21308         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21309         (gst_type_find_factory_get_caps),
21310         (gst_type_find_factory_get_extensions),
21311         (gst_type_find_factory_call_function):
21312         * gst/gsttypefindfactory.h:
21313         * gst/registries/gstlibxmlregistry.c:
21314         * gst/registries/gstxmlregistry.c:
21315           splitted gsttypefind into gsttypefind, gsttypefindfactory
21316
21317 2005-09-07  Andy Wingo  <wingo@pobox.com>
21318
21319         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21320         condition whereby the pad's task function is entered before the
21321         pad_mode variable was set.
21322
21323 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21324
21325         * gst/gstpad.c: (gst_pad_alloc_buffer):
21326           Catch misbehaving pad_alloc functions that don't
21327           set up caps and do it for them.
21328
21329 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21330
21331         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21332           test for pipe!=NULL
21333         * docs/gst/tmpl/.cvsignore:
21334         * docs/gst/tmpl/gstmemchunk.sgml:
21335         * docs/gst/tmpl/gstparse.sgml:
21336         * docs/gst/tmpl/gsttaglist.sgml:
21337         * docs/gst/tmpl/gsttagsetter.sgml:
21338         * docs/gst/tmpl/gsttypefind.sgml:
21339         * docs/gst/tmpl/gsttypefindfactory.sgml:
21340         * gst/gstmemchunk.c:
21341         * gst/gstparse.c:
21342         * gst/gsttag.c:
21343         * gst/gsttaginterface.c:
21344         * gst/gsttypefind.c:
21345         * gst/gsttypefind.h:
21346           inlined more docs
21347
21348 === release 0.9.2 ===
21349
21350 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21351
21352         * NEWS:
21353         * RELEASE:
21354         * configure.ac:
21355           releasing 0.9.2, "South"
21356
21357 2005-09-05  Andy Wingo  <wingo@pobox.com>
21358
21359         * gst/registries/gstxmlregistry.h:
21360         * gst/registries/gstxmlregistry.c: Um... resurrect...
21361         
21362         * gst/registries/gstxmlregistry.h:
21363         * gst/registries/gstxmlregistry.c: and update to newer API.
21364         Incidentally they should be a bit faster now that they don't have
21365         to parse the caps.
21366         
21367 2005-09-05  Andy Wingo  <wingo@pobox.com>
21368
21369         * gst/registries/gstxmlregistry.h:
21370         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21371         replaced by the libxml registry a while back
21372
21373 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21374
21375         * docs/gst/tmpl/gstplugin.sgml:
21376         * gst/elements/gstelements.c:
21377         * gst/gst.c:
21378         * gst/gstplugin.c: (gst_plugin_register_func),
21379         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21380         (gst_plugin_get_source):
21381         * gst/gstplugin.h:
21382         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21383         (gst_xml_registry_save_plugin):
21384         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21385         (gst_xml_registry_save_plugin):
21386         * tools/gst-inspect.c: (print_plugin_info):
21387           add a "source" plugin description field, to represent the source
21388           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21389           will set it to PACKAGE, which is automake's idea of the name of
21390           the source project.
21391
21392 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21393
21394         * Makefile.am:
21395         * autogen.sh:
21396         * configure.ac:
21397         * docs/Makefile.am:
21398         * docs/faq/Makefile.am:
21399         * docs/gst/tmpl/gstelement.sgml:
21400         * docs/gst/tmpl/gsttypes.sgml:
21401         * docs/htmlinstall.mak:
21402         * docs/manual/Makefile.am:
21403         * docs/pwg/Makefile.am:
21404           reorganize doc build a little
21405           split out docbook and gtk-doc stuff
21406           have two separate --enable's and enable them through autogen
21407           but disable by default in configure (to be similar to other
21408           projects)
21409         * gstreamer.spec.in:
21410           clean up docs install
21411         * po/af.po:
21412         * po/az.po:
21413         * po/ca.po:
21414         * po/cs.po:
21415         * po/de.po:
21416         * po/en_GB.po:
21417         * po/fr.po:
21418         * po/it.po:
21419         * po/nb.po:
21420         * po/nl.po:
21421         * po/ru.po:
21422         * po/sq.po:
21423         * po/sr.po:
21424         * po/sv.po:
21425         * po/tr.po:
21426         * po/uk.po:
21427         * po/vi.po:
21428           translation updates
21429
21430 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
21431
21432         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
21433           Add comment.
21434           
21435         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21436         (gst_fake_sink_change_state):
21437           Make state change function thread-safe.
21438           
21439         * gst/gstpad.c: (gst_pad_alloc_buffer):
21440           Set offset on generic buffer allocated by fallback.
21441
21442 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
21443
21444         * docs/gst/gstreamer-sections.txt:
21445         * docs/gst/tmpl/gstelement.sgml:
21446         * gst/gstpad.c:
21447         * libs/gst/controller/gst-controller.c:
21448         (gst_controlled_property_set_interpolation_mode),
21449         (gst_controlled_property_new),
21450         (gst_controller_find_controlled_property):
21451          run the wingo-magic script against the docs
21452
21453 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21454
21455         * docs/gst/gstreamer-docs.sgml:
21456         * docs/gst/gstreamer-sections.txt:
21457         * docs/gst/tmpl/.cvsignore:
21458         * docs/gst/tmpl/gstelementdetails.sgml:
21459         * docs/gst/tmpl/gstelementfactory.sgml:
21460         * gst/gst.c:
21461         * gst/gstbus.c:
21462         * gst/gstelementfactory.c:
21463         * gst/gstelementfactory.h:
21464           merged elementdetails docs into elementfactory docs
21465           inlined both
21466
21467 2005-09-02  Andy Wingo  <wingo@pobox.com>
21468
21469         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
21470         consider this enum an enum and not a flags.
21471
21472 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21473
21474         * docs/gst/gstreamer-docs.sgml:
21475         * docs/gst/tmpl/.cvsignore:
21476         * docs/gst/tmpl/gstghostpad.sgml:
21477         * docs/gst/tmpl/gstiterator.sgml:
21478         * docs/gst/tmpl/gstmacros.sgml:
21479         * docs/gst/tmpl/gstrealpad.sgml:
21480         * docs/gst/tmpl/gstregistry.sgml:
21481         * docs/gst/tmpl/gstregistrypool.sgml:
21482         * docs/gst/tmpl/gststructure.sgml:
21483         * docs/gst/tmpl/gstsystemclock.sgml:
21484         * docs/gst/tmpl/gsttrace.sgml:
21485         * gst/gstghostpad.c:
21486         * gst/gstmacros.h:
21487         * gst/gstmemchunk.c:
21488         * gst/gstmemchunk.h:
21489         * gst/gstqueue.c:
21490         * gst/gstregistry.c:
21491         * gst/gstregistrypool.c:
21492         * gst/gststructure.c:
21493         * gst/gstsystemclock.c:
21494           more docs inlined
21495
21496 2005-09-02  Andy Wingo  <wingo@pobox.com>
21497
21498         * gst/gstelement.h (GstState): Renamed from GstElementState,
21499         changed to be a normal enum instead of flags.
21500         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
21501         munged to be GST_STATE_CHANGE_*.
21502         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
21503         work with the new state representation.
21504         (GstStateChange): New enumeration of possible state transitions.
21505         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
21506         (GstElementClass::change_state): Pass the GstStateChange along as
21507         an argument. Helps language bindings, so they don't have to use
21508         tricky lock-needing macros like GST_STATE_CHANGE ().
21509
21510         * scripts/update-states (file): New script. Run it on a file to
21511         update it for state naming and API changes. Updates files in
21512         place.
21513
21514         * All files updated for the new API.
21515
21516 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21517
21518         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
21519         * gst/gstutils.c: (gst_util_set_value_from_string),
21520         (gst_util_set_object_arg):
21521           fix a bunch of unchecked return values
21522         * tools/gst-complete.c: (main):
21523         * gstreamer.spec.in:
21524           clean up a little
21525
21526 2005-09-01  Wim Taymans  <wim@fluendo.com>
21527
21528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21529         (gst_base_sink_event), (gst_base_sink_do_sync),
21530         (gst_base_sink_handle_event):
21531         * gst/base/gstbasesink.h:
21532         Handle newsegments more correctly.
21533
21534         * gst/gstbus.c:
21535         Fix docs.
21536
21537         * gst/gstevent.c: (gst_event_new_newsegment):
21538         A newsegment cannot have a start_time of -1
21539
21540 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
21541
21542         * win32/gstenumtypes.c:
21543         * win32/gstenumtypes.h:
21544           Update
21545
21546 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21547
21548         * libs/gst/controller/gst-controller.c:
21549         (gst_controlled_property_set_interpolation_mode),
21550         (gst_controlled_property_new):
21551          fixed boolean again
21552
21553 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
21554
21555         * docs/faq/gst-uninstalled:
21556           add -good
21557         * gst/gstevent.c:
21558         * gst/gstevent.h:
21559           remove wrong docs
21560         * gst/gstutils.c: (gst_element_link_filtered):
21561         * gst/gstutils.h:
21562           add gst_element_link_filtered
21563
21564 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21565
21566         * docs/gst/gstreamer-docs.sgml:
21567         * docs/gst/gstreamer-sections.txt:
21568         * docs/gst/tmpl/.cvsignore:
21569         * docs/gst/tmpl/gsterror.sgml:
21570         * docs/gst/tmpl/gstfilter.sgml:
21571         * docs/gst/tmpl/gsturihandler.sgml:
21572         * docs/gst/tmpl/gsturitype.sgml:
21573         * docs/gst/tmpl/gstutils.sgml:
21574         * docs/gst/tmpl/gstxml.sgml:
21575         * gst/gsterror.c:
21576         * gst/gsterror.h:
21577         * gst/gstfilter.c:
21578         * gst/gsturi.c:
21579         * gst/gsturitype.c:
21580         * gst/gstutils.c:
21581         * gst/gstxml.c:
21582           inlined more docs, fixed double id-ref
21583
21584 2005-08-31  Wim Taymans  <wim@fluendo.com>
21585
21586         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21587         (gst_base_transform_handle_buffer):
21588         Passthrough elements don't need the caps as they don't care.
21589
21590 2005-08-31  Wim Taymans  <wim@fluendo.com>
21591
21592         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21593         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
21594         Don't leak refcounts on buffers.
21595
21596 2005-08-31  Wim Taymans  <wim@fluendo.com>
21597
21598         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
21599         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21600         (gst_base_transform_chain), (gst_base_transform_change_state):
21601         * gst/base/gstbasetransform.h:
21602         Handle the case where we are not negotiated more gracefully.
21603
21604 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
21605
21606         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
21607         (gst_file_src_map_region):
21608           Set READONLY flag on mmap'ed buffers, otherwise
21609           gst_buffer_make_writable() won't work properly (#314708).
21610
21611 2005-08-31  Wim Taymans  <wim@fluendo.com>
21612
21613         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
21614         passthrough elements can even do inplace on non writable
21615         buffers (as they don't touch them).
21616
21617 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21618
21619         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21620         (gst_test_mono_source_set_property),
21621         (gst_test_mono_source_class_init), (GST_START_TEST),
21622         (gst_controller_suite):
21623           more tests (hehe I have the most)
21624         * gst/gstbus.c:
21625           describe popping messages whenusing mulltiple sources
21626         * libs/gst/controller/gst-controller.c:
21627         (gst_controlled_property_set_interpolation_mode),
21628         (gst_controlled_property_new):
21629         * libs/gst/controller/gst-controller.h:
21630         * libs/gst/controller/gst-interpolation.c:
21631           implement boolean properties
21632
21633 2005-08-31  Wim Taymans  <wim@fluendo.com>
21634
21635         * gst/gstminiobject.c: (gst_mini_object_ref):
21636         Cannot assert that the refcount has to be positive
21637         since a disposed object can be resurrected.
21638
21639 2005-08-31  Wim Taymans  <wim@fluendo.com>
21640
21641         * gst/gstpad.c: (gst_pad_init):
21642         Revert change, need to first fix badly behaving 
21643         apps.
21644
21645 2005-08-30  Wim Taymans  <wim@fluendo.com>
21646
21647         * check/elements/fakesrc.c: (setup_fakesrc):
21648         * check/elements/identity.c: (setup_identity):
21649         Activate pads before using them.
21650
21651 2005-08-30  Wim Taymans  <wim@fluendo.com>
21652
21653         * gst/base/gstadapter.c: (gst_adapter_flush):
21654         Flushing out 0 bytes is ok for this function.
21655
21656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21657         no newsegment gives a warning and sets the start/stop to 
21658         invalid.
21659
21660         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
21661         (gst_base_transform_set_passthrough):
21662         Some debug info.
21663
21664         * gst/gstminiobject.c: (gst_mini_object_ref):
21665         Check refcount here too.
21666
21667         * gst/gstpad.c: (gst_pad_init):
21668         Pads are initially flushing and refusing data.
21669
21670         * gst/gstutils.c: (gst_element_link_pads_filtered):
21671         When adding a capsfilter element make sure it has the
21672         same state as the parent bin.
21673
21674 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21675
21676         * docs/gst/tmpl/.cvsignore:
21677         * docs/gst/tmpl/gstformat.sgml:
21678         * docs/gst/tmpl/gstversion.sgml:
21679         * gst/gstbus.h:
21680         * gst/gstformat.c:
21681         * gst/gstformat.h:
21682         * gst/gstversion.h.in:
21683           more docs and two more inlined
21684
21685 2005-08-30  Wim Taymans  <wim@fluendo.com>
21686
21687         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
21688         Don't sync to clock.
21689
21690 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21691
21692         * docs/gst/gstreamer-sections.txt:
21693           ultral33t func10ns deserve to appear in the docs actually
21694         * docs/gst/tmpl/.cvsignore:
21695         * docs/gst/tmpl/gstcompat.sgml:
21696         * docs/gst/tmpl/gstconfig.sgml:
21697         * gst/check/gstcheck.c:
21698         * gst/gstcompat.h:
21699         * gst/gstconfig.h.in:
21700           inlined more docs
21701
21702 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21703
21704         * docs/gst/tmpl/.cvsignore:
21705         * docs/gst/tmpl/gstquery.sgml:
21706         * docs/gst/tmpl/gstutils.sgml:
21707         * gst/gstquery.c:
21708         * gst/gstquery.h:
21709           inlined and extended docs
21710
21711 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21712
21713         * check/gst-libs/controller.c: (GST_START_TEST),
21714         (gst_controller_suite):
21715           more tests
21716         * docs/gst/tmpl/gstutils.sgml:
21717         * docs/libs/gstreamer-libs-sections.txt:
21718         * docs/libs/tmpl/gstdataprotocol.sgml:
21719           include path fixes
21720         * examples/controller/audio-example.c: (main):
21721           controller example works now
21722         * gst/gstclock.h:
21723           doc fixes
21724         * tools/gst-inspect.c: (print_element_properties_info):
21725           show param spec flags
21726
21727 2005-08-29  Andy Wingo  <wingo@pobox.com>
21728
21729         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
21730
21731 2005-08-28  Andy Wingo  <wingo@pobox.com>
21732
21733         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
21734         as having two arguments instead of just one. Allows superclasses
21735         to access information on subclasses -- see the terrible for() loop
21736         in gtype.c:g_type_create_instance for the reason why. All callers
21737         changed.
21738
21739 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21740
21741         * docs/design/part-messages.txt:
21742           update info
21743         * docs/gst/tmpl/.cvsignore:
21744         * docs/gst/tmpl/gstcaps.sgml:
21745         * docs/gst/tmpl/gstclock.sgml:
21746         * gst/gstbus.c:
21747         * gst/gstcaps.c:
21748         * gst/gstcaps.h:
21749         * gst/gstclock.c:
21750         * gst/gstclock.h:
21751         * gst/gstmessage.c:
21752           added descriptions for bus and message
21753           inline caps and clock docs
21754
21755 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21756
21757         * gst/gstmessage.c:
21758         * gst/gstmessage.h:
21759           doc fixes
21760
21761 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21762
21763         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21764           fix div-by-zero
21765
21766 2005-08-26  Andy Wingo  <wingo@pobox.com>
21767
21768         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
21769         element_set_state's return val.
21770         (test_2_elements): Add test that's been disabled for months.
21771
21772         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
21773         can-activate-pull properties.
21774
21775         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
21776         can-activate-pull properties. Implement is_seekable so fakesrc can
21777         operate in pull mode.
21778
21779         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
21780         properties.
21781         (gst_base_sink_activate, gst_base_sink_activate_pull)
21782         (gst_base_sink_activate_push): Make activation mode choosing work.
21783         Cleanups.
21784         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
21785         is right. Make pull mode work. Post an eos before pausing in pull
21786         mode.
21787         (gst_base_sink_change_state): Pay attention to the core's
21788         change_state() return val.
21789         
21790         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
21791         has-getrange properties. Cleanups.
21792         
21793         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
21794         has_getrange and replace with can_activate_pull and
21795         can_activate_push.
21796
21797         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
21798         locking comments. Remove has_loop, has_chain and replace with
21799         can_activate_pull and can_activate_push.
21800
21801 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
21802
21803         * configure.ac:
21804         * examples/Makefile.am:
21805         * examples/metadata/Makefile.am:
21806         * examples/metadata/read-metadata.c: (message_loop),
21807         (have_pad_handler), (make_pipeline), (print_tag), (main):
21808           Add metadata reading example that loops over a list of filenames,
21809           dumping any tags found.
21810
21811         * gst/gstbus.c: (gst_bus_dispose):
21812         * gst/gstelement.c: (gst_element_dispose):
21813           Release a few potentially-held references in dispose.
21814
21815 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21816
21817         * docs/gst/tmpl/gstminiobject.sgml:
21818           do *not* add tmpl/*.sgml files to CVS!
21819
21820 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21821
21822         * libs/gst/bytestream/.cvsignore:
21823         * libs/gst/bytestream/Makefile.am:
21824         * libs/gst/bytestream/adapter.c:
21825         * libs/gst/bytestream/adapter.h:
21826         * libs/gst/bytestream/bytestream.c:
21827         * libs/gst/bytestream/bytestream.h:
21828         * libs/gst/bytestream/filepad.c:
21829         * libs/gst/bytestream/filepad.h:
21830           removing obsolete files
21831
21832 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21833
21834         * docs/gst/gstreamer-docs.sgml:
21835         * docs/libs/gstreamer-libs-docs.sgml:
21836           disabed additional index entries again, as this makes docs-gen just
21837           slow and they aren't useful yet
21838         * docs/libs/gstreamer-libs-sections.txt:
21839           little -section.txt cleanup for libs
21840
21841 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
21842
21843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21844         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
21845           fix up some debugging
21846         (gst_base_transform_get_unit_size),
21847         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21848         (gst_base_transform_handle_buffer):
21849         * gst/base/gstbasetransform.h:
21850           handle and store timed NEWSEGMENT events so that subclasses that
21851           calculate time by counting samples have a segment_start time they
21852           need to add to their timestamps - see audioresample
21853
21854 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21855
21856         * gst/gstbin.h:
21857           removed ';' from the end of macro defs
21858         * docs/gst/gstreamer-docs.sgml:
21859         * docs/gst/gstreamer-sections.txt:
21860         * docs/gst/tmpl/.cvsignore:
21861         * gst/gstbus.h:
21862         * gst/gstelement.c: (gst_element_class_init),
21863         (gst_element_set_state), (activate_pads),
21864         (gst_element_save_thyself):
21865         * gst/gstevent.c: (gst_event_new_newsegment):
21866         * gst/gstevent.h:
21867         * gst/gstiterator.c:
21868         * gst/gstiterator.h:
21869         * gst/gstpad.c:
21870         * gst/gstprobe.h:
21871         * gst/gstutils.c: (gst_pad_query_convert):
21872         * gst/gstutils.h:
21873           fixed parameter name mismatches between source, header and docs
21874           added some more docs, resolved the last batch of unused elements in
21875           docs (now someone needs to doc them)
21876
21877 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21878
21879         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
21880         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
21881           don't walk through the plugins backwards.  Where is all this
21882           reversed logic coming from ?
21883
21884 2005-08-25  Wim Taymans  <wim@fluendo.com>
21885
21886         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21887         (gst_base_transform_transform_size),
21888         (gst_base_transform_configure_caps),
21889         (gst_base_transform_get_unit_size),
21890         (gst_base_transform_buffer_alloc),
21891         (gst_base_transform_change_state):
21892         * gst/base/gstbasetransform.h:
21893         Cache caps unit_size.
21894         Make sure we cannot negotiate up and downstream at the
21895         same time.
21896
21897 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21898
21899         * gst/gst.c: (init_pre), (init_post):
21900           register the installed plugin path after the env var
21901         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
21902         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
21903           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
21904           directories, so the tests can prefer uninstalled over installed
21905
21906 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21907
21908         * gst/base/gstbasetransform.h:
21909           comment
21910         * gst/gstpad.c:
21911           add to docs
21912
21913 2005-08-25  Wim Taymans  <wim@fluendo.com>
21914
21915         * gst/gstbin.c: (bin_bus_handler):
21916         Be a bit more conservative about the posted message.
21917         
21918         * gst/gstbus.c: (gst_bus_post):
21919         Some cleanups, warn wrong return values.
21920
21921 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
21922
21923         * check/gst/gstbin.c: (GST_START_TEST):
21924         * gst/gstbin.c: (bin_bus_handler):
21925         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
21926         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
21927         (gst_message_new_warning), (gst_message_new_tag),
21928         (gst_message_new_state_changed), (gst_message_new_segment_start),
21929         (gst_message_new_segment_done), (gst_message_new_custom):
21930         * gst/gstmessage.h:
21931         * tools/gst-launch.c: (event_loop):
21932         * tools/gst-md5sum.c: (event_loop):
21933           Revert unpopular change for GST_MESSAGE_SRC to GObject.
21934
21935 2005-08-25  Wim Taymans  <wim@fluendo.com>
21936
21937         * check/generic/states.c: (GST_START_TEST):
21938         Cleanup can be done at the end.
21939
21940         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
21941         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
21942         (gst_task_get_state), (gst_task_start), (gst_task_pause):
21943         Oh boy.. Thanks for finding this, Thomas. 
21944
21945 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
21946
21947         * docs/gst/gstreamer.types:
21948           added missing types
21949
21950 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
21951
21952         * docs/gst/gstreamer-docs.sgml:
21953         * docs/gst/gstreamer-sections.txt:
21954         * docs/gst/tmpl/.cvsignore:
21955         * gst/gstbin.c:
21956         * gst/gstiterator.c:
21957         * gst/gstutils.c:
21958         * gst/registries/gstxmlregistry.h:
21959           added missing classes and symbols (123 more to go)
21960           removed removed symbols from section file
21961           fixed many doc-comments
21962
21963 2005-08-24  Wim Taymans  <wim@fluendo.com>
21964
21965         * check/generic/states.c: (GST_START_TEST):
21966         Make sure all tasks are stopped.
21967
21968         * check/gst/gstbin.c: (GST_START_TEST):
21969         Unref after usage for proper valgrinding.
21970
21971         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
21972         Really wait for the task to stop before destroying the
21973         mutex.
21974
21975         * gst/gstqueue.c: (gst_queue_sink_activate_push),
21976         (gst_queue_src_activate_push):
21977         Small cleanups. Don't stop the task when we did not start
21978         it.
21979
21980         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
21981         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
21982         (gst_task_get_state), (gst_task_start), (gst_task_pause),
21983         (gst_task_join):
21984         * gst/gsttask.h:
21985         Protect the stream lock with the object lock.
21986         Disallow setting the stream lock when running.
21987         Add cleanup_all to wait for the threadpool to finish.
21988         Remove code to autoallocate a mutex if none was provided.
21989         Add _join() to wait for a task to stop.
21990         Protect the thread pool with a global lock.
21991
21992 2005-08-24  Wim Taymans  <wim@fluendo.com>
21993
21994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21995         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21996         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
21997         * gst/base/gstbasesink.h:
21998         Handle newsegment events correctly.
21999         Drop buffers out of the segment range.
22000
22001 2005-08-22  Andy Wingo  <wingo@pobox.com>
22002
22003         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22004         macro, implements an interface and gstimplementsinterface for a
22005         new type.
22006
22007 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22008
22009         * check/Makefile.am:
22010         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22011           add a test that does a bunch of state changes on elements
22012           needs some fixing for valgrind
22013         * check/states/sinks.c: (gst_object_suite):
22014           whitespace
22015         * gst/gstcaps.h:
22016           add prototype for gst_caps_is_equal_fixed
22017         * gst/gstplugin.c:
22018         * gst/gstregistrypool.c:
22019           doc fixes
22020
22021 2005-08-24  Andy Wingo  <wingo@pobox.com>
22022
22023         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22024         convert a negative value. Doesn't make much sense. Mostly this is
22025         here to force callers to ensure -1 maps to -1.
22026
22027 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22028
22029         * docs/pwg/advanced-types.xml:
22030           Well done to Michael for catching my deliberate introduction
22031           of this spelling mistake. 
22032         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22033         * gst/gstelement.h:
22034           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22035           unlink pads before removing the element from the bin.
22036
22037 2005-08-24  Andy Wingo  <wingo@pobox.com>
22038
22039         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22040         the same thing as GST_DEBUG=*:4.
22041         (parse_debug_level, parse_debug_category): New helper parsers.
22042
22043 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22044
22045         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22046         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22047         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22048         (gst_base_transform_buffer_alloc),
22049         (gst_base_transform_handle_buffer):
22050           use gboolean return values and pointers to size so we can use the
22051           full GST_BUFFER_SIZE range (guint) for buffer sizes
22052           use GstPadDirection for transform_caps
22053         * gst/base/gstbasetransform.h:
22054           rename get_size to get_unit_size since that's what it is
22055         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22056           use GstPadDirection for transform_caps
22057         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22058         * gst/gstutils.h:
22059           cleanup and debugging
22060
22061 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22062
22063         * gst/gstelement.c: (gst_element_class_init),
22064         (gst_element_set_state), (activate_pads),
22065         (gst_element_save_thyself):
22066         * tools/gst-compprep.c: (main):
22067         * tools/gst-inspect.c: (print_element_properties_info):
22068         * tools/gst-xmlinspect.c: (print_element_properties):
22069           Fixed long standing mem-leak
22070
22071 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22072
22073         * check/gst/gstbin.c: (GST_START_TEST):
22074         * gst/gstbin.c: (bin_bus_handler):
22075         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22076         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22077         (gst_message_new_warning), (gst_message_new_tag),
22078         (gst_message_new_state_changed), (gst_message_new_segment_start),
22079         (gst_message_new_segment_done), (gst_message_new_custom):
22080         * gst/gstmessage.h:
22081         * tools/gst-launch.c: (event_loop):
22082         * tools/gst-md5sum.c: (event_loop):
22083           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22084           that applications can sensibly post custom messages with references
22085           to their own objects.
22086
22087 2005-08-24  Andy Wingo  <wingo@pobox.com>
22088
22089         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22090         already.
22091
22092 2005-08-24  Wim Taymans  <wim@fluendo.com>
22093
22094         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22095         (gst_base_transform_transform_caps),
22096         (gst_base_transform_transform_size),
22097         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22098         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22099         (gst_base_transform_handle_buffer):
22100         * gst/base/gstbasetransform.h:
22101         Many fixes and new features added by Thomas. Can now also do
22102         transforms with variable sizes and a custom fixate_caps function.
22103
22104 2005-08-24  Wim Taymans  <wim@fluendo.com>
22105
22106         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22107         Some debugging.
22108
22109         * gst/gstclock.h:
22110         Cast to ClockTime before formatting to time.
22111
22112         * gst/gstutils.h:
22113         Cleanups.
22114
22115 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22116
22117         * check/gst-libs/controller.c: (GST_START_TEST),
22118         (gst_controller_suite):
22119         * docs/gst/tmpl/gstcaps.sgml:
22120         * docs/gst/tmpl/gstghostpad.sgml:
22121         * docs/gst/tmpl/gstquery.sgml:
22122         * docs/gst/tmpl/gstutils.sgml:
22123         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22124         (gst_object_sink_values), (gst_object_get_value_arrays),
22125         (gst_object_get_value_array):
22126           gracefully handle helper method calls to objects that are not beeing
22127           controlled, added test case for that          
22128
22129 2005-08-23  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22132         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22133         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22134         (gst_event_parse_qos), (gst_event_new_seek),
22135         (gst_event_parse_seek):
22136         * gst/gstevent.h:
22137         Some more debugging output and doc cleanups.
22138
22139         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22140         Fix possible deadlock.
22141
22142 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22143
22144         * docs/gst/gstreamer-docs.sgml:
22145         * docs/gst/gstreamer-sections.txt:
22146         * docs/gst/gstreamer.types:
22147         * docs/gst/tmpl/.cvsignore:
22148         * gst/gstbin.h:
22149         * gst/gstbus.c:
22150         * gst/gstelement.c:
22151         * gst/gstevent.h:
22152           added 100 symbols from gstreamer-unused.txt to the right sections
22153           fixed more broken comments
22154           added GstBus to docs
22155
22156 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22157
22158         * docs/gst/gstreamer-sections.txt:
22159         * docs/gst/tmpl/.cvsignore:
22160         * docs/gst/tmpl/gstbin.sgml:
22161         * docs/gst/tmpl/gstbuffer.sgml:
22162         * gst/base/gstbasesrc.c:
22163         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22164         * gst/gstbuffer.c:
22165         * gst/gstbuffer.h:
22166         * tools/gst-launch.1.in:
22167           inlined more doc comments, added missing comments and fixed comments
22168           fixed typos
22169
22170 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22171
22172         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22173           some debugging
22174         * gst/gstcaps.h:
22175           whitespace fixes
22176         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22177           more debugging
22178         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22179         * gst/gststructure.h:
22180           add a fixate function for booleans; add a FIXME that these func
22181           names should probably be gst_structure_fixate_*
22182
22183 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22184
22185         * docs/gst/gstreamer-docs.sgml:
22186         * docs/gst/gstreamer-sections.txt:
22187         * gst/Makefile.am:
22188         * gst/gstbin.c: (gst_bin_get_type),
22189         (gst_bin_child_proxy_get_child_by_index),
22190         (gst_bin_child_proxy_get_children_count),
22191         (gst_bin_child_proxy_init):
22192         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22193         (gst_child_proxy_get_child_by_index),
22194         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22195         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22196         (gst_child_proxy_get), (gst_child_proxy_set_property),
22197         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22198         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22199         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22200         * gst/gstchildproxy.h:
22201         * gst/parse/grammar.y:
22202         * tools/gst-inspect.c: (print_interfaces),
22203         (print_element_properties_info), (print_element_info):
22204           ported gstchildproxy over from 0.8
22205           ported gst-inspect fixes and enhancements over from 0.8
22206
22207 2005-08-22  Wim Taymans  <wim@fluendo.com>
22208
22209         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22210         (gst_base_transform_handle_buffer):
22211         Also call the transform function if we have ANY caps.
22212
22213         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22214         Fix debug info.
22215
22216 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22217
22218         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22219           Don't pretend to handle seek events if the source is not seekable
22220
22221 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22222
22223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22224           Remove extra parameter to debug output
22225
22226         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22227         (gst_base_src_do_seek), (gst_base_src_activate_push):
22228           Fix seek event handling.
22229
22230         * gst/gstpipeline.c: (gst_pipeline_change_state):
22231         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22232         (gst_queue_src_activate_push):
22233           Don't start the src pad task on FLUSH_STOP if the pad
22234           isn't linked.
22235           Debug changes.
22236
22237 2005-08-22  Wim Taymans  <wim@fluendo.com>
22238
22239         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22240         Added check for gst_static_caps_get() refcounting.
22241
22242 2005-08-22  Wim Taymans  <wim@fluendo.com>
22243
22244         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22245         Make _static_caps_get() refcounting sane.
22246         
22247         * gst/gstelement.c: (gst_element_set_state):
22248         Add g_return_val_if_fail() to protect against segfaults.
22249
22250 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22251
22252         * docs/gst/tmpl/gstevent.sgml:
22253         * gst/gstevent.c:
22254         * gst/gstevent.h:
22255           inlined remaining docs, added missing doc comments
22256
22257 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22258
22259         * check/gst/gstbin.c: (GST_START_TEST):
22260           since we don't know when preroll is done, use refcount range
22261           check for the sink
22262         * gst/check/gstcheck.h:
22263           add macro for checking refcount range
22264
22265 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22266
22267         * check/Makefile.am:
22268           clean up environment for when registry gets built versus
22269           when actual tests are run; valgrind seems to not report
22270           leaks if GST_PLUGIN_PATH is set to some specific values
22271         * check/gst/gstbin.c: (GST_START_TEST):
22272           add more refcounting checks; maybe this exposes a
22273           preroll lock bug ?
22274         * common/check.mak:
22275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22276         * gst/check/gstcheck.h:
22277         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22278         (gst_bin_change_state):
22279         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22280           add/fix debugging/whitespace
22281
22282 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22283
22284         * check/gst/gstevent.c: (event_probe), (test_event),
22285         (GST_START_TEST):
22286          Er, don't call gst_bin_watch_for_state_change you idiot.
22287
22288 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22289
22290         * check/Makefile.am:
22291           Use CHECK_CFLAGS and CHECK_LIBS
22292         * check/gst/gstevent.c: (event_probe), (test_event),
22293         (GST_START_TEST):
22294           Don't leak events.
22295         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22296         (gst_base_src_start), (gst_base_src_stop),
22297         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22298         (gst_base_src_change_state):
22299           Sprinkle gst_base_src_stop liberally around error paths to fix
22300           problems reusing a source after failed state changes.
22301         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22302         (helper_find_suggest), (gst_type_find_helper):
22303           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22304         * gst/gstevent.h:
22305         * docs/gst/tmpl/gstevent.sgml:
22306           Migrate part of the docs from the SGML file. Wait for ensonic to
22307           tell me how I did it wrong ;)
22308         * tools/gst-typefind.c: (main):
22309           Extra robustness to state changes between files.
22310
22311 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22312
22313         * check/Makefile.am:
22314           don't valgrind the controller test - it's leaking - Stefan, HELP
22315         * gst/check/gstcheck.c: (gst_check_message_error),
22316         (gst_check_chain_func), (gst_check_setup_element),
22317         (gst_check_teardown_element), (gst_check_setup_src_pad),
22318         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22319         (gst_check_teardown_sink_pad):
22320         * gst/check/gstcheck.h:
22321           add a bunch of methods to set up elements, and src and sink pads
22322         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22323         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22324         (GST_START_TEST):
22325           use them
22326         * gst/gstmessage.c:
22327         * gst/gsttag.h:
22328           whitespace/doc fixes
22329
22330 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22331
22332         * gst/gstelement.h:
22333           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22334           be handled by the application and not always printed as well
22335
22336 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22337
22338         * check/Makefile.am:
22339           set GST_TOOLS_DIR
22340         * gst/check/gstcheck.c: (gst_check_message_error):
22341         * gst/check/gstcheck.h:
22342           add a fail_unless_equals_int
22343           add fail_unless for error messages
22344
22345 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22346
22347         * check/Makefile.am:
22348         * check/gst.supp:
22349         * common/Makefile.am:
22350         * common/check.mak:
22351         * common/gst.supp:
22352           factor out some of the common stuff so we can use it
22353
22354 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22355
22356         * check/Makefile.am:
22357         * check/gst/gstiterator.c: (GST_START_TEST):
22358         * check/gst/gstsystemclock.c: (GST_START_TEST),
22359         (gst_systemclock_suite):
22360         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22361         * gst/gstclock.c:
22362           valgrind more tests
22363
22364 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22365
22366         * check/elements/.cvsignore:
22367         * check/elements/gstfakesrc.c:
22368           rename to name of element
22369         * check/elements/identity.c: (chain_func), (event_func),
22370         (setup_identity), (cleanup_identity), (GST_START_TEST),
22371         (identity_suite), (main):
22372           add a test for identity
22373         * check/Makefile.am:
22374         * pkgconfig/Makefile.am:
22375         * pkgconfig/gstreamer-check.pc.in:
22376         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22377         * gst/check:
22378         * gst/Makefile.am:
22379         * configure.ac:
22380           move the check stuff to a library that gets installed
22381         * check/gst-libs/controller.c: (GST_START_TEST):
22382         * check/gst-libs/gdp.c:
22383         * check/gst/gst.c: (GST_START_TEST):
22384         * check/gst/gstbin.c:
22385         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22386         * check/gst/gstbus.c:
22387         * check/gst/gstcaps.c: (GST_START_TEST):
22388         * check/gst/gstelement.c:
22389         * check/gst/gstghostpad.c:
22390         * check/gst/gstiterator.c:
22391         * check/gst/gstmessage.c:
22392         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22393         * check/gst/gstobject.c:
22394         * check/gst/gstpad.c: (GST_START_TEST):
22395         * check/gst/gststructure.c: (GST_START_TEST):
22396         * check/gst/gstsystemclock.c: (GST_START_TEST),
22397         (gst_systemclock_suite):
22398         * check/gst/gsttag.c: (gst_tag_suite):
22399         * check/gst/gstvalue.c:
22400         * check/pipelines/cleanup.c:
22401         * check/pipelines/simple_launch_lines.c:
22402         * check/states/sinks.c:
22403           change include statement
22404
22405         * docs/gst/gstreamer-sections.txt:
22406         * docs/gst/tmpl/gstpad.sgml:
22407           document more pad stuff
22408         * gst/gstminiobject.c: (gst_mini_object_ref),
22409         (gst_mini_object_unref):
22410           debug refcounting
22411
22412 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
22413
22414         * docs/gst/tmpl/gst.sgml:
22415         * gst/gst.c:
22416           eliminate another tmpl file, fix spelling in the long-description
22417
22418 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22419
22420         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22421         (test_event), (timediff), (gstevents_suite):
22422           Should fix build on 64-bit arch's
22423
22424 2005-08-18  Andy Wingo  <wingo@pobox.com>
22425
22426         Make sure that when a pipeline goes to PLAYING, that data has
22427         actually hit the sink.
22428
22429         * check/states/sinks.c (test_sink): A sink that doesn't get any
22430         data shouldn't return SUCCESS for going to either PLAYING or
22431         PAUSED. Test also the return values on the way back down.
22432
22433         * gst/gstelement.c (gst_element_set_state): When changing the
22434         state of an element currently changing state asynchronously, go to
22435         lost-state after commiting the pending state. Makes future calls
22436         to get_state continue to return ASYNC.
22437
22438         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
22439         ASYNC when going to PLAYING if we still don't have preroll, as can
22440         happen with live sources.
22441
22442 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22443
22444         * docs/pwg/advanced-types.xml:
22445           Hack long paragraph into 2 chunks as a workaround for buggy
22446           jadetex version in sid and breezy that loops infinitely and
22447           eats all RAM.
22448
22449 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22450
22451         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22452         (test_event), (timediff), (gstevents_suite):
22453           Provide more error margin in clock measurements to allow for 
22454           g_get_current_time inaccuracies.
22455
22456 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22457
22458         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22459         (test_event), (timediff), (gstevents_suite):
22460            Fix error message output so I might be able to tell why the
22461            test works here but fails on the build farm.
22462
22463 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22464
22465         * check/Makefile.am:
22466         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22467         (test_event), (timediff), (gstevents_suite), (main):
22468           I wrote a test!
22469
22470         * docs/design/part-seeking.txt:
22471           Spelling correction
22472
22473         * docs/gst/tmpl/gstevent.sgml:
22474         * docs/gst/tmpl/gstfakesrc.sgml:
22475           Docs updates.
22476
22477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22478           Treat a buffer-without-newsegment the same as a receiving 
22479           a newsegment not in time format, and disable syncing to the clock
22480           with a warning.
22481
22482         * gst/gstbus.c: (gst_bus_set_sync_handler):
22483           Assert if anyone tries to replace the existing sync_handler for bus, 
22484           as only the owner should be setting it.
22485
22486         * gst/gstevent.h:
22487           Have a fixed set of custom event enums with events identified by
22488           their structure name (as in 0.8), rather than a free-for-all
22489           allowing collisions between enum values from different plugins.
22490
22491         * gst/gstpad.c: (gst_pad_class_init):
22492           Docs change.
22493           
22494         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22495           Handle out-of-band downstream events from the sending thread.
22496
22497 2005-08-17  Andy Wingo  <wingo@pobox.com>
22498
22499         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
22500         play-timeout==0 to mean no timeout at all. In that case, don't
22501         bother with a get_state or a warning, just return directly, even
22502         if it's ASYNC.
22503
22504         * gst/base/gstbasetransform.c: Debug changes.
22505
22506         * gst/gstutils.h:
22507         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
22508         ensure bins post state change messages. A bit of a hack but I can't
22509         think of a way to avoid it.
22510
22511         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
22512
22513 2005-08-16  Andy Wingo  <wingo@pobox.com>
22514
22515         * gst/base/gstadapter.h:
22516         * gst/base/gstadapter.c (gst_adapter_take): New function, like
22517         peek() but you own the data. Not terribly efficient atm.
22518
22519 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22520
22521         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
22522         (gst_element_found_tags):
22523         * gst/gstutils.h:
22524           Add two utility functions for tag handling.
22525
22526 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22527
22528         * docs/manual/advanced-dataaccess.xml:
22529         * docs/manual/basics-helloworld.xml:
22530           Fix docs to use _bin_add() before _link(), which fixes the examples
22531           with recent core versions (reported by Madhan Raj M
22532           <raj_madan@rediffmail.com>, #313199).
22533
22534 2005-08-16  Wim Taymans  <wim@fluendo.com>
22535
22536         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22537         Added subtract checks.
22538
22539         * docs/design/part-events.txt:
22540         Some more docs about newsegment
22541
22542         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22543         Fix FIXME
22544
22545         * gst/gstcaps.c: (gst_caps_to_string):
22546         Add comments, cleanups.
22547         
22548         * gst/gstelement.c: (gst_element_save_thyself):
22549         cleanups
22550         
22551         * gst/gstvalue.c: (gst_value_collect_int_range),
22552         (gst_string_unwrap), (gst_value_union_int_int_range),
22553         (gst_value_union_int_range_int_range),
22554         (gst_value_intersect_int_int_range),
22555         (gst_value_intersect_int_range_int_range),
22556         (gst_value_intersect_double_double_range),
22557         (gst_value_intersect_double_range_double_range),
22558         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
22559         (gst_value_subtract_int_range_int),
22560         (gst_value_subtract_double_range_double),
22561         (gst_value_subtract_double_range_double_range),
22562         (gst_value_subtract_from_list), (gst_value_subtract_list),
22563         (gst_value_can_compare), (gst_value_compare_fraction):
22564         Cleanups, add comments, remove unneeded asserts.
22565
22566 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22567
22568         * tools/gst-launch.c: (event_loop):
22569           don't convert NULL structures to strings
22570
22571 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
22572
22573         * docs/gst/gstreamer-sections.txt:
22574           made some defines private
22575         * docs/gst/tmpl/gstconfig.sgml:
22576         * docs/gst/tmpl/gstqueue.sgml:
22577         * docs/gst/tmpl/gsttaglist.sgml:
22578         * docs/gst/tmpl/gsttypes.sgml:
22579         * docs/gst/tmpl/gstutils.sgml:
22580         * docs/pwg/appendix-porting.xml:
22581         * gst/base/gstbasesink.h:
22582         * gst/base/gstbasesrc.c:
22583         * gst/base/gstbasesrc.h:
22584         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
22585         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
22586         * gst/gstelement.c: (gst_element_class_init):
22587         * gst/gstpad.c: (gst_pad_class_init):
22588         * gst/gstqueue.c: (gst_queue_class_init):
22589         * gst/gstxml.c: (gst_xml_class_init):
22590           documented all undocumented signal inline
22591         * libs/gst/controller/gst-controller.h:
22592           added padding
22593
22594 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22595
22596         * docs/pwg/appendix-porting.xml:
22597           Document _set_link_function -> _set_setcaps_function.
22598
22599 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22600
22601         * check/Makefile.am:
22602           add a .check target for running the check
22603         * check/gst-libs/controller.c: (GST_START_TEST):
22604           cosmetic fixups
22605         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22606           complete checks for gstbuffer; would be nice if I could get the
22607           gcov stuff to work so I can see if I actually completed gstbuffer.c
22608         * check/gstcheck.h:
22609           add ASSERT_BUFFER_REFCOUNT
22610
22611 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
22612
22613         * docs/gst/gstreamer-sections.txt:
22614         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
22615         * gst/gsttag.h:
22616           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
22617           spew out a warning if a tag that is already registered
22618           is re-registered, unless it is re-registered with a 
22619           different type (#308438).
22620
22621 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
22622
22623         * docs/pwg/appendix-porting.xml:
22624         * docs/pwg/building-state.xml:
22625           Add some paragraphs about state changes in 0.9 to the PWG
22626           and the porting guide, in particular about the new meaning
22627           of GST_STATE_PAUSED and how to write state change functions
22628           with concurrent access by multiple threads in mind.
22629
22630 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
22631
22632         * docs/gst/gstreamer-docs.sgml:
22633         * docs/libs/gstreamer-libs-docs.sgml:
22634           added deprecation and since indexes
22635         * libs/gst/controller/gst-controller.c:
22636         * libs/gst/controller/gst-helper.c:
22637           added since tags
22638
22639
22640 2005-08-11  Wim Taymans  <wim@fluendo.com>
22641
22642         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
22643         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
22644         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
22645         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
22646         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
22647         (gst_ghost_pad_set_target):
22648         Actually implement (re)setting the target on a ghostpad
22649         as described in the docs.
22650
22651 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22652
22653         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
22654           Check whether GST_DEBUG_NO_COLOR environment variable is
22655           set and disable coloured debug output if that is the case.
22656
22657 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22658
22659         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22660         (gst_type_find_helper):
22661           The memory returned by gst_type_find_peek() needs to
22662           stay valid until the end of a typefind function, and
22663           typefind functions may keep results from different 
22664           offsets around, so we can't just unref the buffer from
22665           the previous _peek(), but have to save all buffers 
22666           returned by _peek() until typefinding is done and only
22667           free them then.
22668
22669 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
22670
22671         * docs/gst/gstreamer-sections.txt:
22672         * gst/gstutils.h:
22673           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
22674
22675 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22676
22677         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
22678           Fix a pretty good memleak.
22679
22680 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22681
22682         * gst/gstiterator.h:
22683           Fix wrong include and 'make distcheck'.
22684
22685 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22686
22687         * gst/gstbin.c: (bin_bus_handler):
22688           Use gst_element_post_message() instead.
22689
22690 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22691
22692         * gst/base/gstadapter.h:
22693         * gst/base/gstbasesink.h:
22694         * gst/base/gstbasesrc.h:
22695         * gst/base/gstbasetransform.h:
22696         * gst/base/gstcollectpads.h:
22697         * gst/base/gstpushsrc.h:
22698         * gst/gstiterator.h:
22699           Add padding to our base elements' class and instance structs and
22700           to GstIterator (you will need to rebuild all plugins and apps!)
22701
22702 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22703
22704         * gst/gstbin.c: (bin_bus_handler):
22705           Make default message forwarding from child->bus to bin->bus
22706           threadsafe and make it not emit warnings if the parent has no bus.
22707
22708 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22709
22710         * gst/gstelement.c: (activate_pads):
22711           On paused->ready, set pad->caps to NULL, as is the documented
22712           behaviour in this state change. Fixes playback of series of
22713           media files when visualization is enabled in Totem.
22714
22715 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22716
22717         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22718           Allow NULL as filter-caps (which means "any").
22719
22720 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22721
22722         * docs/libs/gstreamer-libs-sections.txt:
22723         * libs/gst/controller/gst-controller.c:
22724         * libs/gst/controller/gst-controller.h:
22725         * libs/gst/controller/gst-helper.c:
22726           adding more entries to the docs and fix small doc-bugs
22727
22728 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22729
22730         * docs/gst/gstreamer-docs.sgml:
22731         * docs/gst/gstreamer-sections.txt:
22732         * docs/gst/gstreamer.types:
22733         * docs/gst/tmpl/gstbasesink.sgml:
22734         * docs/gst/tmpl/gstbasesrc.sgml:
22735         * docs/gst/tmpl/gstbasetransform.sgml:
22736         * docs/gst/tmpl/gstfakesrc.sgml:
22737         * gst/base/gstcollectpads.c:
22738         * gst/base/gstcollectpads.h:
22739         * libs/gst/controller/gst-controller.c:
22740         * libs/gst/controller/gst-controller.h:
22741         * libs/gst/controller/gst-helper.c:
22742         * libs/gst/controller/gst-interpolation.c:
22743         * libs/gst/controller/lib.c:
22744           added long/short desc for controller docs
22745           added collectpads base class docs
22746           added correct includes to base-class docs
22747
22748 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22749
22750         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22751         (gst_test_mono_source_set_property),
22752         (gst_test_mono_source_class_init), (GST_START_TEST),
22753         (gst_controller_suite):
22754         * docs/gst/gstreamer-docs.sgml:
22755         * docs/gst/gstreamer-sections.txt:
22756         * docs/gst/gstreamer.types:
22757         * docs/libs/gstreamer-libs-docs.sgml:
22758         * docs/libs/gstreamer-libs-sections.txt:
22759         * gst/base/gstadapter.c:
22760         * libs/gst/controller/gst-controller.c:
22761         (gst_controlled_property_new), (gst_controlled_property_free),
22762         (gst_controller_new_valist),
22763         (gst_controller_remove_properties_valist),
22764         (gst_controller_sink_values), (_gst_controller_finalize):
22765         * libs/gst/controller/gst-controller.h:
22766         * libs/gst/controller/gst-helper.c:
22767         (gst_object_control_properties), (gst_object_uncontrol_properties),
22768         (gst_object_get_controller), (gst_object_set_controller),
22769         (gst_object_sink_values), (gst_object_get_value_arrays),
22770         (gst_object_get_value_array):
22771           more tests (and fixes) for the controller
22772           more docs for the controller
22773           integrated companies docs for the adapter 
22774
22775 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22776
22777         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
22778         (GST_START_TEST), (fakesrc_suite):
22779           add tests for sizetype
22780
22781 2005-08-04  Andy Wingo  <wingo@pobox.com>
22782
22783         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
22784         fixes buffer_alloc proxying among other things.
22785
22786         * gst/base/gstbasetransform.c:
22787         * gst/base/gstbasetransform.h:
22788         Revert patch to gstbasetransform from 7-28 removing
22789         delay_configure.
22790
22791         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
22792         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
22793         Semantics changed, should return not the size of the output buffer
22794         but the byte size of a buffer with a given caps.
22795
22796         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
22797         debug object.
22798         (gst_base_transform_configure_caps): Don't set out_size here: (in,
22799         out) are not the pad caps until setcaps finishes.
22800         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
22801         not-in-place case as well. Deal with changing from in-place to
22802         not-in-place within calling pad_alloc_buffer. Still a bit
22803         concerned about the overhead here...
22804
22805 2005-08-03  Andy Wingo  <wingo@pobox.com>
22806
22807         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
22808         fixating is an error.
22809
22810 2005-08-04  Edward Hervey  <edward@fluendo.com>
22811
22812         * gst/base/gstadapter.h: 
22813         Added gst_adapter_get_type() to the header
22814
22815 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22816
22817         * check/Makefile.am:
22818         * check/gst-libs/controller.c:
22819         * libs/gst/controller/gst-controller.c:
22820         (gst_controller_new_valist):
22821           added check test suite for the controller
22822         * gst/base/gstpushsrc.c:
22823           fixed a doc typo
22824
22825 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22826
22827         * docs/gst/Makefile.am:
22828         * docs/gst/gstreamer-docs.sgml:
22829         * docs/gst/gstreamer-sections.txt:
22830         * docs/gst/gstreamer.types:
22831         * docs/gst/tmpl/gstfakesrc.sgml:
22832         * gst/base/README:
22833         * gst/base/gstbasesink.c:
22834         * gst/base/gstbasesink.h:
22835         * gst/base/gstbasesrc.c:
22836         * gst/base/gstbasesrc.h:
22837         * gst/base/gstbasetransform.c:
22838         * gst/base/gstpushsrc.c:
22839         * gst/base/gstpushsrc.h:
22840           add short/long description docs to base classes
22841           add pushsrc to the docs
22842           remove consolidated doc fragments
22843
22844 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22845
22846         * configure.ac:
22847         * docs/libs/Makefile.am:
22848         * docs/libs/gstreamer-libs-docs.sgml:
22849         * docs/libs/gstreamer-libs-sections.txt:
22850         * docs/libs/gstreamer-libs.types:
22851         * examples/Makefile.am:
22852         * examples/controller/.cvsignore:
22853         * examples/controller/Makefile.am:
22854         * examples/controller/audio-example.c: (main):
22855         * libs/gst/Makefile.am:
22856         * libs/gst/controller/.cvsignore:
22857         * libs/gst/controller/Makefile.am:
22858         * libs/gst/controller/gst-controller.c:
22859         (on_object_controlled_property_changed), (gst_timed_value_compare),
22860         (gst_timed_value_find),
22861         (gst_controlled_property_set_interpolation_mode),
22862         (gst_controlled_property_new), (gst_controlled_property_free),
22863         (gst_controller_find_controlled_property),
22864         (gst_controller_new_valist), (gst_controller_new),
22865         (gst_controller_remove_properties_valist),
22866         (gst_controller_remove_properties), (gst_controller_set),
22867         (gst_controller_set_from_list), (gst_controller_unset),
22868         (gst_controller_get), (gst_controller_get_all),
22869         (gst_controller_sink_values), (gst_controller_get_value_arrays),
22870         (gst_controller_get_value_array),
22871         (gst_controller_set_interpolation_mode),
22872         (_gst_controller_finalize), (_gst_controller_init),
22873         (_gst_controller_class_init), (gst_controller_get_type):
22874         * libs/gst/controller/gst-controller.h:
22875         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
22876         (g_object_uncontrol_properties), (g_object_get_controller),
22877         (g_object_set_controller), (g_object_sink_values),
22878         (g_object_get_value_arrays), (g_object_get_value_array):
22879         * libs/gst/controller/gst-interpolation.c:
22880         (gst_controlled_property_find_timed_value_node),
22881         (interpolate_none_get), (interpolate_trigger_get),
22882         (interpolate_trigger_get_value_array):
22883         * libs/gst/controller/lib.c: (gst_controller_init):
22884         * pkgconfig/Makefile.am:
22885         * pkgconfig/gstreamer-control-uninstalled.pc.in:
22886         * pkgconfig/gstreamer-control.pc.in:
22887         * testsuite/Makefile.am:
22888         * testsuite/controller/.cvsignore:
22889         * testsuite/controller/Makefile.am:
22890         * testsuite/controller/interpolator.c: (main):
22891           added controller code
22892           removed dparam pc files
22893
22894 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22895         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
22896         (gst_collectpads_stop):
22897           Broadcast the condition when shutting down, to make sure we wake all
22898           threads up. Shut down pads on finalize, for safety.
22899
22900 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22901         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22902         (gst_base_transform_handle_buffer),
22903         (gst_base_transform_change_state):
22904           Handle PAUSED->READY->PAUSED transition after negotiation
22905           occurred already.
22906         * gst/gstmessage.c: (gst_message_init):
22907           Extra piece of debug for new messages.
22908
22909 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
22910
22911         * configure.ac:
22912         * docs/gst/tmpl/gstbasesrc.sgml:
22913         * docs/gst/tmpl/gstelement.sgml:
22914         * docs/gst/tmpl/gstevent.sgml:
22915         * docs/gst/tmpl/gstfakesrc.sgml:
22916         * docs/gst/tmpl/gstformat.sgml:
22917         * docs/gst/tmpl/gstghostpad.sgml:
22918         * docs/gst/tmpl/gstpad.sgml:
22919         * docs/gst/tmpl/gstquery.sgml:
22920         * docs/gst/tmpl/gststructure.sgml:
22921         * docs/gst/tmpl/gsttaglist.sgml:
22922         * docs/gst/tmpl/gstvalue.sgml:
22923         * docs/libs/gstreamer-libs-docs.sgml:
22924         * docs/libs/gstreamer-libs-sections.txt:
22925         * docs/libs/gstreamer-libs.types:
22926         * libs/gst/Makefile.am:
22927         * libs/gst/control/.cvsignore:
22928         * libs/gst/control/Makefile.am:
22929         * libs/gst/control/control.c:
22930         * libs/gst/control/control.h:
22931         * libs/gst/control/dparam.c:
22932         * libs/gst/control/dparam.h:
22933         * libs/gst/control/dparam_smooth.c:
22934         * libs/gst/control/dparam_smooth.h:
22935         * libs/gst/control/dparamcommon.h:
22936         * libs/gst/control/dparammanager.c:
22937         * libs/gst/control/dparammanager.h:
22938         * libs/gst/control/dplinearinterp.c:
22939         * libs/gst/control/dplinearinterp.h:
22940         * libs/gst/control/unitconvert.c:
22941         * libs/gst/control/unitconvert.h:
22942         * testsuite/Makefile.am:
22943         * testsuite/dynparams/.cvsignore:
22944         * testsuite/dynparams/Makefile.am:
22945         * testsuite/dynparams/dparamstest.c:
22946         * tools/Makefile.am:
22947         * tools/gst-inspect.c: (print_element_info), (main):
22948         * tools/gst-xmlinspect.c: (print_element_info), (main):
22949           deactivate and remove dparams (libgstcontrol)
22950
22951 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22952
22953         * gst/elements/gsttypefindelement.c:
22954         (gst_type_find_element_have_type), (gst_type_find_element_init),
22955         (stop_typefinding), (gst_type_find_element_handle_event),
22956         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22957         * gst/elements/gsttypefindelement.h:
22958           Set caps on all outgoing buffers, not just the first one.
22959
22960 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22961
22962         * gst/elements/gsttypefindelement.c:
22963         (gst_type_find_element_have_type),
22964         (gst_type_find_element_check_set_buffer_caps),
22965         (gst_type_find_element_init), (stop_typefinding),
22966         (gst_type_find_element_handle_event),
22967         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22968         * gst/elements/gsttypefindelement.h:
22969           Set caps on first outgoing buffer when we've found the type.
22970
22971 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22972
22973         * docs/gst/gstreamer-docs.sgml:
22974         * docs/gst/gstreamer-sections.txt:
22975         * docs/gst/tmpl/gstscheduler.sgml:
22976         * docs/gst/tmpl/gstschedulerfactory.sgml:
22977           Remove some old cruft from docs.
22978
22979 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
22980
22981         * gst/gstpad.h:
22982           Fix inline docs for GstPadLinkReturn.
22983           
22984         * gst/gststructure.c: (gst_structure_has_name):
22985         * gst/gststructure.h:
22986         * docs/gst/gstreamer-sections.txt:
22987           New API: gst_structure_has_name().
22988
22989 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
22990
22991         * configure.ac:
22992           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
22993           and _LARGEFILE_SOURCE in config.h as required. Do not 
22994           export those flags in our .pc files any longer (#142209).
22995
22996           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
22997
22998         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
22999         (gst_file_sink_do_seek), (gst_file_sink_event),
23000         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23001           Redo seek/tell calls with large file support in mind; add some
23002           debugging messages; add log message that tells us when large
23003           file support is unavailable or not enabled for some reason.
23004
23005         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23006           Add log message that tells us when large file support 
23007           is unavailable or not enabled for some reason.
23008
23009 2005-07-29  Wim Taymans  <wim@fluendo.com>
23010
23011         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23012         Added test for removing an element with ghostpad from a bin.
23013         Fixed test as current implementation does the right thing.
23014
23015         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23016         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23017         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23018         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23019         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23020         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23021         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23022         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23023         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23024         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23025         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23026         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23027         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23028         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23029         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23030         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23031         * gst/gstghostpad.h:
23032         Clean up ghostpads, remove properties for internal stuff.
23033         Make threadsafe.
23034         Fix refcounting.
23035         Prepare for switching targets, not all use cases work yet.
23036
23037 2005-07-29  Wim Taymans  <wim@fluendo.com>
23038
23039         * docs/design/part-gstghostpad.txt:
23040         Small update.
23041
23042         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23043         (gst_bin_remove_func):
23044         Unlinking pads while holding the bin LOCK is not a good
23045         idea.
23046
23047         * gst/gstpad.c: (gst_pad_class_init),
23048         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23049         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23050         No prob setting template after creating the pad.
23051
23052 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23053
23054         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23055         (gst_bus_peek), (gst_bus_source_dispatch),
23056         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23057         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23058           gst_bus_poll may be called from other threads. Handle
23059           this nicely by not making poll_data disappear off the
23060           stack once gst_bus_poll returns.
23061           gst_bus_peek now increments the refcount on the returned
23062           message.
23063
23064 2005-07-29  Wim Taymans  <wim@fluendo.com>
23065
23066         * docs/design/part-gstghostpad.txt:
23067         Overview of current GhostPad datastructures and use
23068         cases for changing the target.
23069
23070 2005-07-28  Wim Taymans  <wim@fluendo.com>
23071
23072         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23073         Added checks for hierarchy consistency whan adding linked
23074         elements to bins.
23075
23076         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23077         Added check to test element scheduling without bin/pipeline.
23078
23079         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23080         First add elements to bin, then link.
23081         
23082         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23083         (gst_bin_remove_func):
23084         Unlink pads from elements added/removed from bin to maintain
23085         hierarchy consistency.
23086
23087 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23088
23089         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23090         (gst_base_transform_handle_buffer):
23091         * gst/base/gstbasetransform.h:
23092           Remove broken delay_configure (fixes renegotiation of software
23093           scaling pipelines); remove some leftover printf()s.
23094
23095 2005-07-28  Wim Taymans  <wim@fluendo.com>
23096
23097         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23098         Added some more tests for wrong hierarchy
23099
23100         * docs/design/part-overview.txt:
23101         Some updates.
23102
23103         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23104         Cleanups.
23105
23106         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23107         (gst_element_dispose):
23108         Some more cleanups.
23109
23110         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23111         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23112         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23113         (gst_pad_set_caps), (gst_pad_send_event):
23114         Check for correct hierarchy when linking pads. Moving to
23115         strict requirement for ghostpads when linking elements in
23116         different bins.
23117
23118         * gst/gstpad.h:
23119         Clean ups. Added WRONG_HIERARCHY return value.
23120
23121 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23122
23123         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23124           Better debug if no transform is possible.
23125
23126 2005-07-27  Wim Taymans  <wim@fluendo.com>
23127
23128         * docs/random/wtay/network-transp:
23129         Some old doc I had.
23130
23131 2005-07-27  Wim Taymans  <wim@fluendo.com>
23132
23133         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23134         (gst_dp_event_from_packet):
23135         Fix serialization of seek events.
23136
23137 2005-07-27  Wim Taymans  <wim@fluendo.com>
23138
23139         * check/gst-libs/gdp.c: (GST_START_TEST):
23140         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23141         Fix compilation and fix event serialization.
23142
23143 2005-07-27  Wim Taymans  <wim@fluendo.com>
23144
23145         * CHANGES-0.9:
23146         * docs/design/part-TODO.txt:
23147         * docs/design/part-events.txt:
23148         Some docs updates
23149
23150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23151         (gst_base_sink_event), (gst_base_sink_do_sync),
23152         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23153         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23154         (gst_base_src_do_seek), (gst_base_src_event_handler),
23155         (gst_base_src_loop):
23156         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23157         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23158         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23159         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23160         (gst_base_transform_set_passthrough),
23161         (gst_base_transform_is_passthrough):
23162         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23163         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23164         Event updates.
23165
23166         * gst/gstbuffer.h:
23167         Use faster casts.
23168
23169         * gst/gstelement.c: (gst_element_seek):
23170         * gst/gstelement.h:
23171         Update gst_element_seek.
23172
23173         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23174         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23175         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23176         (gst_event_new_eos), (gst_event_new_newsegment),
23177         (gst_event_parse_newsegment), (gst_event_new_tag),
23178         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23179         (gst_event_parse_qos), (gst_event_new_seek),
23180         (gst_event_parse_seek), (gst_event_new_navigation):
23181         * gst/gstevent.h:
23182         Make GstEvent use GstStructure. Add parsing code, make sure the
23183         API is sufficiently generic.
23184         Mark possible directions of events and serialization.
23185
23186         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23187         (_gst_message_copy), (gst_message_new_segment_start),
23188         (gst_message_new_segment_done), (gst_message_new_custom),
23189         (gst_message_parse_segment_start),
23190         (gst_message_parse_segment_done):
23191         Small cleanups.
23192
23193         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23194         (gst_pad_set_caps), (gst_pad_send_event):
23195         Update for new events. 
23196         Catch events sent in wrong directions.
23197
23198         * gst/gstqueue.c: (gst_queue_link_src),
23199         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23200         (gst_queue_handle_src_query):
23201         Event updates.
23202
23203         * gst/gsttag.c:
23204         * gst/gsttag.h:
23205         Remove event code from this file.
23206
23207         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23208         (gst_dp_event_from_packet):
23209         Event updates.
23210
23211 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23212
23213         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23214         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23215         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23216           Make debugging actually useful.
23217
23218 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23219
23220         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23221         (gst_pad_fixate_caps):
23222           Implement default fixation once again, so that gst_pad_fixate()
23223           actually does anything at all. This probably needs to be some
23224           sort of a last resort, and use profile-based fixation first, but
23225           since that doesn't exist yet, this is the best we have. Fixes
23226           visualization in Totem.
23227
23228 2005-07-22  Wim Taymans  <wim@fluendo.com>
23229
23230         * docs/design/part-events.txt:
23231         Small update.
23232
23233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23234         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23235         (gst_base_sink_activate_pull):
23236         Some more comments.
23237
23238         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23239         (gst_fake_src_create):
23240         Fix handoff marshall.
23241
23242         * gst/elements/gstidentity.c: (gst_identity_class_init),
23243         (gst_identity_transform_ip):
23244         We're a real inplace element.
23245
23246         * gst/gstbus.c: (gst_bus_post):
23247         Added some comments.
23248
23249         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23250         * tests/muxing/case1.c: (main):
23251         * tests/sched/dynamic-pipeline.c: (main):
23252         * tests/sched/interrupt1.c: (main):
23253         * tests/sched/interrupt2.c: (main):
23254         * tests/sched/interrupt3.c: (main):
23255         * tests/sched/runxml.c: (main):
23256         * tests/sched/sched-stress.c: (main):
23257         * tests/seeking/seeking1.c: (event_received), (main):
23258         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23259         (main):
23260         * tests/threadstate/threadstate3.c: (main):
23261         * tests/threadstate/threadstate4.c: (main):
23262         * tests/threadstate/threadstate5.c: (main):
23263         Fix the tests.
23264
23265 2005-07-21  Wim Taymans  <wim@fluendo.com>
23266
23267         * docs/design/part-seeking.txt:
23268         Some small additions.
23269
23270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23271         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23272         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23273         * gst/base/gstbasesink.h:
23274         discont values are gint64, handle the math correctly.
23275
23276         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23277         Make the basesrc report error if the source pad is not linked.
23278
23279         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23280         (gst_queue_loop), (gst_queue_handle_src_query),
23281         (gst_queue_src_activate_push):
23282         Make queue collect data even if the srcpad is not linked.
23283         Start pushing out data as soon as it is linked.
23284
23285         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23286         * gst/gstutils.h:
23287         Added gst_flow_get_name() to ease error reporting.
23288
23289 2005-07-20  Wim Taymans  <wim@fluendo.com>
23290
23291         * gst/gstmessage.c: (gst_message_new_segment_start),
23292         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23293         (gst_message_parse_segment_done):
23294         * gst/gstmessage.h:
23295         Added a bunch of messages for advanced seeking.
23296
23297         * gst/parse/grammar.y:
23298         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23299         (gst_dpman_state_changed):
23300         Fix some new-pad -> pad-added signals
23301
23302 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23303
23304         * docs/manual/appendix-porting.xml:
23305         * docs/pwg/appendix-porting.xml:
23306           Document new-pad/state-change signal renames and the FixedList
23307           type rename.
23308
23309 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23310
23311         * docs/manual/advanced-autoplugging.xml:
23312         * docs/manual/basics-helloworld.xml:
23313         * docs/manual/basics-pads.xml:
23314         * docs/random/ds/0.9-suggested-changes:
23315         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23316         * gst/gstelement.h:
23317         * gst/gstevent.h:
23318         * gst/gstformat.h:
23319         * gst/gstquery.h:
23320         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23321         (gst_structure_parse_array), (gst_structure_parse_value):
23322         * gst/gstvalue.c: (gst_type_is_fixed),
23323         (gst_value_list_prepend_value), (gst_value_list_append_value),
23324         (gst_value_list_get_size), (gst_value_list_get_value),
23325         (gst_value_transform_array_string), (gst_value_serialize_array),
23326         (gst_value_deserialize_array), (gst_value_intersect_array),
23327         (gst_value_is_fixed), (_gst_value_initialize):
23328         * gst/gstvalue.h:
23329           GstElement::new-pad -> pad-added, GstElement::state-change ->
23330           state-changed, GstValueFixedList -> GstValueArray, add format and
23331           flags as their own arguments in gst_element_seek() (should improve
23332           "bindeability"), remove function generators since they don't work
23333           under a whole bunch of compilers (they were deprecated already
23334           anyway).
23335
23336 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23337
23338         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23339         (_gst_debug_register_funcptr):
23340         * gst/gstinfo.h:
23341           Fix illegal cast on some platforms (#309253).
23342
23343 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23344
23345         * gst/gstmessage.c: (gst_message_new_custom):
23346         * gst/gstmessage.h:
23347           Add _new_custom, make _new_application a macro to _new_custom.
23348
23349 2005-07-20  Wim Taymans  <wim@fluendo.com>
23350
23351         * gst/base/gstbasesrc.c: (gst_base_src_init),
23352         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23353         * gst/base/gstbasesrc.h:
23354         Add a gboolean to decide when to push out a discont.
23355
23356         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23357         (gst_queue_loop), (gst_queue_handle_src_query),
23358         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23359         (gst_queue_set_property), (gst_queue_get_property):
23360         Some cleanups.
23361
23362         * tests/threadstate/threadstate1.c: (main):
23363         Make a thread test compile and run... very silly..
23364
23365
23366 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23367
23368         * docs/manual/appendix-porting.xml:
23369           Mention removal of libgstgconf-0.9.la and existence of gconf
23370           elements.
23371
23372 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23373
23374         * docs/pwg/advanced-clock.xml:
23375         * docs/pwg/appendix-porting.xml:
23376         * docs/pwg/intro-preface.xml:
23377         * docs/pwg/other-base.xml:
23378         * docs/pwg/other-manager.xml:
23379         * docs/pwg/other-nton.xml:
23380         * docs/pwg/other-ntoone.xml:
23381         * docs/pwg/other-oneton.xml:
23382         * docs/pwg/pwg.xml:
23383           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23384           demuxer), remove n-to-n (was never written), fix some code examples
23385           and links and update the porting section to include all this.
23386
23387 2005-07-19  Wim Taymans  <wim@fluendo.com>
23388
23389         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23390         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23391         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23392         (gst_queue_src_activate_push), (gst_queue_change_state),
23393         (gst_queue_get_property):
23394         * gst/gstqueue.h:
23395         Propagate GstFlowReturn more intelligently upstream and output
23396         an ERROR/EOS when streaming stopped due to fatal error.
23397
23398 2005-07-19  Wim Taymans  <wim@fluendo.com>
23399
23400         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23401         Don't block forever for the state change to complete, the
23402         pipeline already did with a sensible timeout.
23403
23404 2005-07-19  Wim Taymans  <wim@fluendo.com>
23405
23406         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23407         Make sure we never call the create function is we
23408         got deactivated.
23409
23410 2005-07-19  Andy Wingo  <wingo@pobox.com>
23411
23412         * gst/parse/parse.l: Attempt to solve bug #172815.
23413
23414 2005-07-19  Wim Taymans  <wim@fluendo.com>
23415
23416         * docs/design/part-clocks.txt:
23417         * docs/design/part-events.txt:
23418         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
23419         Small docs updates.
23420         Only update the seeking values when we are not
23421         busy streaming.
23422
23423 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23424
23425         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23426           Oops, ignore the result of gst_pad_push_event here.
23427
23428 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23429
23430         * gst/base/gstbasesrc.c: (gst_base_src_loop),
23431         (gst_base_src_activate_push):
23432           Send discont event from the loop function, as pads
23433           aren't activated yet in the activate_push handler.
23434
23435         * gst/gstbin.c: (bin_bus_handler):
23436           Don't leak element name.
23437
23438 2005-07-18  Andy Wingo  <wingo@pobox.com>
23439
23440         * configure.ac: Use AS_LIBTOOL_TAGS.
23441
23442 2005-07-18  Wim Taymans  <wim@fluendo.com>
23443
23444         * docs/gst/gstreamer.types:
23445         Remove deleted types.
23446
23447 2005-07-18  Wim Taymans  <wim@fluendo.com>
23448
23449         * check/elements/gstfakesrc.c: (GST_START_TEST):
23450         * configure.ac:
23451         * gst/Makefile.am:
23452         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
23453         (init_popt_callback):
23454         * gst/gst.h:
23455         * gst/gst_private.h:
23456         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
23457         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
23458         * gst/gstbin.h:
23459         * gst/gstbus.h:
23460         * gst/gstconfig.h.in:
23461         * gst/gstelement.c: (gst_element_class_init),
23462         (gst_element_set_base_time), (gst_element_get_base_time),
23463         (iterator_fold_with_resync), (gst_element_change_state),
23464         (gst_element_dispose), (gst_element_get_bus):
23465         * gst/gstelement.h:
23466         * gst/gstelementfactory.h:
23467         * gst/gsterror.c: (_gst_core_errors_init):
23468         * gst/gsterror.h:
23469         * gst/gstevent.h:
23470         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23471         * gst/gstindex.c:
23472         * gst/gstinfo.c: (_gst_debug_init):
23473         * gst/gstmessage.c: (_gst_message_copy):
23474         * gst/gstmessage.h:
23475         * gst/gstminiobject.h:
23476         * gst/gstobject.c:
23477         * gst/gstobject.h:
23478         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23479         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
23480         * gst/gstpad.h:
23481         * gst/gstparse.h:
23482         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23483         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23484         (gst_pipeline_get_last_stream_time):
23485         * gst/gstpipeline.h:
23486         * gst/gstpluginfeature.h:
23487         * gst/gstquery.h:
23488         * gst/gstscheduler.c:
23489         * gst/gstscheduler.h:
23490         * gst/gststructure.h:
23491         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23492         (gst_task_finalize), (gst_task_func), (gst_task_create),
23493         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
23494         (gst_task_stop), (gst_task_pause):
23495         * gst/gsttask.h:
23496         * gst/gsttypefind.h:
23497         * gst/gsttypes.h:
23498         * gst/registries/gstlibxmlregistry.c: (load_feature),
23499         (gst_xml_registry_load), (gst_xml_registry_save_feature):
23500         * gst/registries/gstxmlregistry.c:
23501         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
23502         * gst/schedulers/threadscheduler.c:
23503         * libs/gst/control/dparammanager.h:
23504         * tools/gst-inspect.c: (print_element_list),
23505         (print_plugin_features), (print_element_features):
23506         * tools/gst-xmlinspect.c: (print_element_list),
23507         (print_plugin_info), (main):
23508         Removed plugable schedulers.
23509         Removed Scheduler/Manager from elements.
23510         Removed gsttypes.h, rearranged includes.
23511         Removed dependency pad<->element, element<>pipeline, and
23512         various others,  fix includes.
23513         implement gst_pad_get_parent() with gst_object_get_parent()
23514         Make GstTask sefcontained.
23515         Fix _get_state() on GstBin, it did not return ASYNC with a 0
23516         timeout.
23517         Fix endless loop in iterator_fold_with_resync.
23518
23519
23520 2005-07-18  Wim Taymans  <wim@fluendo.com>
23521
23522         * gst/Makefile.am:
23523         * gst/gstarch.h:
23524         Remove old file.
23525
23526 2005-07-18  Wim Taymans  <wim@fluendo.com>
23527
23528         * gst/Makefile.am:
23529         No more cothreads.h
23530
23531 2005-07-18  Wim Taymans  <wim@fluendo.com>
23532
23533         * gst/cothreads.c:
23534         * gst/cothreads.h:
23535         Let's remove these.
23536
23537 2005-07-18  Wim Taymans  <wim@fluendo.com>
23538
23539         * docs/design/part-dynamic.txt:
23540         * docs/design/part-events.txt:
23541         * docs/design/part-seeking.txt:
23542         Some more docs in the works.
23543
23544         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23545         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
23546         (gst_base_transform_setcaps), (gst_base_transform_get_size),
23547         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23548         (gst_base_transform_handle_buffer),
23549         (gst_base_transform_sink_activate_push),
23550         (gst_base_transform_src_activate_pull),
23551         (gst_base_transform_set_passthrough),
23552         (gst_base_transform_is_passthrough):
23553         Refcounting fixes.
23554
23555         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
23556         Cleanups.
23557
23558         * gst/gstevent.c: (gst_event_finalize):
23559         Set SRC to NULL.
23560
23561         * gst/gstutils.c: (gst_element_unlink),
23562         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
23563         (gst_pad_proxy_setcaps):
23564         * gst/gstutils.h:
23565         Add _get_parent_element() to get a pads parent as an element.
23566
23567 2005-07-18  Wim Taymans  <wim@fluendo.com>
23568
23569         * check/gst/gstbin.c: (GST_START_TEST):
23570         Remove bogus test.
23571
23572 2005-07-18  Wim Taymans  <wim@fluendo.com>
23573
23574         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23575         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23576         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23577         (gst_base_sink_event), (gst_base_sink_do_sync),
23578         (gst_base_sink_chain), (gst_base_sink_loop),
23579         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
23580         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
23581         Refcounting fixes.
23582         Fix logic for returning ASYNC when not prerolled.
23583
23584 2005-07-18  Wim Taymans  <wim@fluendo.com>
23585
23586         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23587         Fix nasty refcount bug.
23588
23589 2005-07-16 Philippe Khalaf <burger@speedy.org>
23590
23591         * gst/elements/gstfdsrc.c:
23592         * gst/elements/gstfdsrc.h:
23593         * gst/elements/gstelements.c:
23594         * gst/elements/Makefile.am:
23595         Ported fdsrc to 0.9.
23596
23597 2005-07-16  Wim Taymans  <wim@fluendo.com>
23598
23599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23600         (gst_base_sink_do_sync):
23601         Fix compile error.
23602
23603 2005-07-16  Wim Taymans  <wim@fluendo.com>
23604
23605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23606         (gst_base_sink_event), (gst_base_sink_get_times),
23607         (gst_base_sink_do_sync), (gst_base_sink_change_state):
23608         * gst/base/gstbasesink.h:
23609         Store and use discont values when syncing buffers as described
23610         in design docs.
23611         
23612         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23613         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
23614         (gst_base_src_activate_push):
23615         Push discont event when starting.
23616
23617         * gst/elements/gstidentity.c: (gst_identity_transform):
23618         Small cleanups.
23619
23620         * gst/gstbin.c: (gst_bin_change_state):
23621         Small cleanups in base_time  distribution.
23622
23623         * gst/gstelement.c: (gst_element_set_base_time),
23624         (gst_element_get_base_time), (gst_element_change_state):
23625         * gst/gstelement.h:
23626         Added methods for the base_time of the element.
23627         Some MT fixes.
23628
23629         * gst/gstpipeline.c: (gst_pipeline_send_event),
23630         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23631         (gst_pipeline_get_last_stream_time):
23632         * gst/gstpipeline.h:
23633         MT fixes.
23634         Handle seeking as described in design doc, remove stream_time
23635         hack.
23636         Cleanups clock and stream_time selection code. Added accessors
23637         for the stream_time.
23638         
23639
23640 2005-07-16  Andy Wingo  <wingo@pobox.com>
23641
23642         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
23643         (#305291).
23644
23645 2005-07-16  Wim Taymans  <wim@fluendo.com>
23646
23647         * check/gst/gstbin.c: (GST_START_TEST):
23648         Make elements silent as the deep_notify refs the
23649         parent, which might make the test fail.
23650
23651         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23652         Don't hold the lock for too long.
23653
23654 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
23655
23656         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
23657           Don't unref the caps we passed to gst_caps_make_writable() after
23658           passing them. gst_caps_make_writable() will do that for us.
23659
23660 2005-07-15  Andy Wingo  <wingo@pobox.com>
23661
23662         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
23663         (#157311).
23664
23665         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
23666         own marshalling function for the handoff signal. Properly type the
23667         buffer as a buffer. Fixes some warnings. Should do a more general
23668         solution.
23669         (gst_identity_class_init): Plug into the right marshaller.
23670
23671 2005-07-15  Wim Taymans  <wim@fluendo.com>
23672
23673         * docs/design/part-TODO.txt:
23674         * docs/design/part-clocks.txt:
23675         * docs/design/part-element-sink.txt:
23676         * docs/design/part-events.txt:
23677         * docs/design/part-gstpipeline.txt:
23678         Updated docs, mostly DISCONT related.
23679
23680 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
23681
23682         * docs/pwg/building-pads.xml:
23683           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
23684
23685 2005-07-15  Andy Wingo  <wingo@pobox.com>
23686
23687         * tools/gst-typefind.c: Update, add copyright block.
23688
23689         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
23690         Normalize and truncate caps before fixation.
23691
23692         * gst/gstcaps.h:
23693         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
23694         discards all but the first structure from its argument.
23695
23696 2005-07-15  Wim Taymans  <wim@fluendo.com>
23697
23698         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23699         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
23700         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23701         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23702         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
23703         (gst_base_transform_chain), (gst_base_transform_change_state),
23704         (gst_base_transform_set_passthrough),
23705         (gst_base_transform_is_passthrough):
23706         * gst/base/gstbasetransform.h:
23707         Make passthrough work using the bufferpools.
23708         Changed API a bit, subclasses have to write into a buffer
23709         provided by the base class.
23710         More debug info in nego functions.
23711         
23712         * gst/elements/gstidentity.c: (gst_identity_init),
23713         (gst_identity_transform):
23714         Port to new base class.
23715
23716 2005-07-15  Wim Taymans  <wim@fluendo.com>
23717
23718         * gst/gstmessage.c: (gst_message_new_state_changed):
23719         * tools/gst-launch.c: (event_loop), (main):
23720         Totally dump messages in -launch with the -m option.
23721         Fix message name for State messages,
23722
23723 2005-07-14  Wim Taymans  <wim@fluendo.com>
23724
23725         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23726         Post error messages on errors.
23727
23728 2005-07-14  Wim Taymans  <wim@fluendo.com>
23729
23730         * gst/gstcaps.c: (gst_caps_do_simplify):
23731         Remove debug info.
23732
23733         * gst/gsterror.h:
23734         Define error for stream stopped.
23735
23736         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23737         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
23738         Do proper return values.
23739
23740         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23741         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
23742         (gst_pad_get_range):
23743         Better return values.
23744
23745         * gst/gstpad.h:
23746         Reorganise return values, add macro to check for fatal errors.
23747
23748         * gst/gstqueue.c: (gst_queue_chain):
23749         Return proper GstFlowReturn values,
23750
23751 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
23752
23753         * docs/gst/gstreamer-sections.txt:
23754         * docs/gst/gstreamer.types:
23755         * docs/gst/tmpl/gst.sgml:
23756         * docs/gst/tmpl/gstbasesink.sgml:
23757         * docs/gst/tmpl/gstbasesrc.sgml:
23758         * docs/gst/tmpl/gstbasetransform.sgml:
23759         * docs/gst/tmpl/gstbin.sgml:
23760         * docs/gst/tmpl/gstbuffer.sgml:
23761         * docs/gst/tmpl/gstcaps.sgml:
23762         * docs/gst/tmpl/gstclock.sgml:
23763         * docs/gst/tmpl/gstcompat.sgml:
23764         * docs/gst/tmpl/gstconfig.sgml:
23765         * docs/gst/tmpl/gstelement.sgml:
23766         * docs/gst/tmpl/gstelementdetails.sgml:
23767         * docs/gst/tmpl/gstelementfactory.sgml:
23768         * docs/gst/tmpl/gstenumtypes.sgml:
23769         * docs/gst/tmpl/gsterror.sgml:
23770         * docs/gst/tmpl/gstevent.sgml:
23771         * docs/gst/tmpl/gstfakesink.sgml:
23772         * docs/gst/tmpl/gstfakesrc.sgml:
23773         * docs/gst/tmpl/gstfilesink.sgml:
23774         * docs/gst/tmpl/gstfilesrc.sgml:
23775         * docs/gst/tmpl/gstfilter.sgml:
23776         * docs/gst/tmpl/gstformat.sgml:
23777         * docs/gst/tmpl/gstghostpad.sgml:
23778         * docs/gst/tmpl/gstimplementsinterface.sgml:
23779         * docs/gst/tmpl/gstindex.sgml:
23780         * docs/gst/tmpl/gstindexfactory.sgml:
23781         * docs/gst/tmpl/gstinfo.sgml:
23782         * docs/gst/tmpl/gstiterator.sgml:
23783         * docs/gst/tmpl/gstmacros.sgml:
23784         * docs/gst/tmpl/gstmemchunk.sgml:
23785         * docs/gst/tmpl/gstminiobject.sgml:
23786         * docs/gst/tmpl/gstobject.sgml:
23787         * docs/gst/tmpl/gstpad.sgml:
23788         * docs/gst/tmpl/gstpadtemplate.sgml:
23789         * docs/gst/tmpl/gstparse.sgml:
23790         * docs/gst/tmpl/gstpipeline.sgml:
23791         * docs/gst/tmpl/gstplugin.sgml:
23792         * docs/gst/tmpl/gstpluginfeature.sgml:
23793         * docs/gst/tmpl/gstquery.sgml:
23794         * docs/gst/tmpl/gstqueue.sgml:
23795         * docs/gst/tmpl/gstregistry.sgml:
23796         * docs/gst/tmpl/gstregistrypool.sgml:
23797         * docs/gst/tmpl/gstscheduler.sgml:
23798         * docs/gst/tmpl/gstschedulerfactory.sgml:
23799         * docs/gst/tmpl/gststructure.sgml:
23800         * docs/gst/tmpl/gstsystemclock.sgml:
23801         * docs/gst/tmpl/gsttaglist.sgml:
23802         * docs/gst/tmpl/gsttagsetter.sgml:
23803         * docs/gst/tmpl/gsttrace.sgml:
23804         * docs/gst/tmpl/gsttrashstack.sgml:
23805         * docs/gst/tmpl/gsttypefind.sgml:
23806         * docs/gst/tmpl/gsttypefindfactory.sgml:
23807         * docs/gst/tmpl/gsttypes.sgml:
23808         * docs/gst/tmpl/gsturihandler.sgml:
23809         * docs/gst/tmpl/gsturitype.sgml:
23810         * docs/gst/tmpl/gstutils.sgml:
23811         * docs/gst/tmpl/gstvalue.sgml:
23812         * docs/gst/tmpl/gstversion.sgml:
23813         * docs/gst/tmpl/gstxml.sgml:
23814         * docs/libs/tmpl/gstcontrol.sgml:
23815         * docs/libs/tmpl/gstdataprotocol.sgml:
23816         * docs/libs/tmpl/gstdparam.sgml:
23817         * docs/libs/tmpl/gstdplinint.sgml:
23818         * docs/libs/tmpl/gstdpman.sgml:
23819         * docs/libs/tmpl/gstdpsmooth.sgml:
23820         * docs/libs/tmpl/gstgetbits.sgml:
23821         * docs/libs/tmpl/gstunitconvert.sgml:
23822         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
23823         (gst_push_src_base_init), (gst_push_src_class_init),
23824         (gst_push_src_init), (gst_push_src_create):
23825         * gst/base/gstpushsrc.h:
23826         * gst/elements/gstelements.c:
23827         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
23828         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
23829         (gst_fake_sink_init), (gst_fake_sink_set_property),
23830         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
23831         (gst_fake_sink_event), (gst_fake_sink_preroll),
23832         (gst_fake_sink_render), (gst_fake_sink_change_state):
23833         * gst/elements/gstfakesink.h:
23834         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
23835         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
23836         (gst_fake_src_base_init), (gst_fake_src_class_init),
23837         (gst_fake_src_init), (gst_fake_src_event_handler),
23838         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
23839         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
23840         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
23841         (gst_fake_src_create_buffer), (gst_fake_src_create),
23842         (gst_fake_src_start), (gst_fake_src_stop):
23843         * gst/elements/gstfakesrc.h:
23844         * gst/elements/gstfilesink.c: (_do_init),
23845         (gst_file_sink_base_init), (gst_file_sink_class_init),
23846         (gst_file_sink_init), (gst_file_sink_dispose),
23847         (gst_file_sink_set_location), (gst_file_sink_set_property),
23848         (gst_file_sink_get_property), (gst_file_sink_open_file),
23849         (gst_file_sink_close_file), (gst_file_sink_query),
23850         (gst_file_sink_event), (gst_file_sink_render),
23851         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
23852         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
23853         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
23854         * gst/elements/gstfilesink.h:
23855         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
23856         (gst_file_src_class_init), (gst_file_src_init),
23857         (gst_file_src_finalize), (gst_file_src_set_location),
23858         (gst_file_src_set_property), (gst_file_src_get_property),
23859         (gst_file_src_map_region), (gst_file_src_map_small_region),
23860         (gst_file_src_create_mmap), (gst_file_src_create_read),
23861         (gst_file_src_create), (gst_file_src_is_seekable),
23862         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
23863         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
23864         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
23865         (gst_file_src_uri_handler_init):
23866         * gst/elements/gstfilesrc.h:
23867           more autistic cleanliness in functions/names/defines
23868
23869 2005-07-13  Andy Wingo  <wingo@pobox.com>
23870
23871         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
23872         source couldn't negotiate.
23873
23874         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
23875         connections again.
23876
23877         * gst/gstutils.h:
23878         * gst/gstutils.c (gst_element_link_pads_filtered): New old
23879         function. I am channeling Hades. Put your boots on suckers!!!
23880
23881 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23882
23883         * testsuite/caps/Makefile.am:
23884         * testsuite/caps/value_compare.c:
23885         * testsuite/caps/value_intersect.c:
23886         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23887           move two testsuite apps over to the check dir
23888
23889 2005-07-12  Wim Taymans  <wim@fluendo.com>
23890
23891         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23892         Added more debug info in the negotiate process.
23893
23894         * gst/gstmessage.h:
23895         Prepare for segment playback.
23896
23897         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
23898         Better debugging.
23899
23900         * gst/gstutils.c:
23901         Some more docs.
23902
23903         * tools/gst-launch.c: (main):
23904         NULL pipeline on errors.
23905
23906 2005-07-12  Andy Wingo  <wingo@pobox.com>
23907
23908         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
23909         not it comes from a malloc region. Make sure our copy gets freed.
23910
23911 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23912
23913         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23914         * check/gst/gstmessage.c: (GST_START_TEST):
23915         * check/gst/gststructure.c: (GST_START_TEST),
23916         (gst_structure_suite), (main):
23917           more testing
23918         * gst/gstelement.c: (gst_element_message_full):
23919           clean up GError and debug string now that they get copied
23920         * gst/gstmessage.c: (gst_message_new_error),
23921         (gst_message_new_warning), (gst_message_parse_error),
23922         (gst_message_parse_warning):
23923           use GST_TYPE_G_ERROR for structure_new, and take copies of
23924           arguments, so that we don't mess up refcounting
23925
23926 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23927
23928         * check/Makefile.am:
23929           add per-test valgrind targets
23930         * check/gst-libs/gdp.c: (GST_START_TEST),
23931         (gst_data_protocol_suite), (main):
23932           clean up
23933
23934 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23935
23936         * check/Makefile.am:
23937           instate more valgrindable tests
23938         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23939         (GST_START_TEST), (fakesrc_suite):
23940         * check/gst/gstpad.c: (GST_START_TEST):
23941         * check/gst/gststructure.c: (GST_START_TEST):
23942           fix test leaks
23943         * docs/gst/tmpl/gstminiobject.sgml:
23944         * gst/gstpad.c: (gst_pad_finalize):
23945           fix the static mutex leak
23946
23947 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23948
23949         * check/Makefile.am:
23950           add two more tests for valgrinding
23951         * check/gst/gstvalue.c: (GST_START_TEST):
23952           test refcount of deserialized buffer, found a leak
23953         * docs/gst/gstreamer-docs.sgml:
23954         * docs/gst/gstreamer-sections.txt:
23955         * docs/gst/gstreamer.types:
23956         * docs/gst/tmpl/gstminiobject.sgml:
23957           add miniobject to docs
23958         * gst/gstminiobject.c:
23959           add some docs
23960         * gst/gstvalue.c: (gst_value_deserialize_buffer),
23961         (gst_string_unwrap):
23962           fix a hard-to-find invalid write for one of the tests
23963           fix a leak for deserialized buffers
23964
23965 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23966
23967         * docs/pwg/advanced-events.xml:
23968         * docs/pwg/advanced-request.xml:
23969         * docs/pwg/advanced-scheduling.xml:
23970         * docs/pwg/appendix-porting.xml:
23971         * docs/pwg/building-boiler.xml:
23972         * docs/pwg/intro-preface.xml:
23973         * docs/pwg/other-ntoone.xml:
23974           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
23975           of example code and explanation for pad activation, loop() and
23976           getrange() functions and a bit more. Remove old comments pointing
23977           to loop-functions.
23978         * examples/pwg/Makefile.am:
23979           Add loop/getrange examples.
23980
23981 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23982
23983         * configure.ac:
23984           check for valgrind binary + some fixes
23985         * check/gst.supp:
23986           valgrind suppressions for the tests
23987         * check/Makefile.am:
23988           add a valgrind: target that valgrinds the unit tests
23989         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
23990         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23991         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23992         * check/gst/gstghostpad.c:
23993           added some cleanup
23994         * check/gst/gstdata.c:
23995           removed
23996         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
23997         (thread_unref), (gst_mini_object_suite), (main):
23998           added
23999         * gst/gst.c: (gst_deinit):
24000         * gst/gst.h:
24001           add a method to clean up.
24002         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24003         (gst_system_clock_obtain):
24004           allow for disposing the system clock.
24005         * tools/gst-launch.c: (main):
24006           deinit
24007
24008 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24009
24010         * docs/gst/tmpl/gstbasesrc.sgml:
24011         * docs/gst/tmpl/gstfakesrc.sgml:
24012         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24013         (gst_base_src_init), (gst_base_src_set_property),
24014         (gst_base_src_get_property), (gst_base_src_get_range),
24015         (gst_base_src_start):
24016         * gst/base/gstbasesrc.h:
24017           add num-buffers property
24018         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24019         (gst_fakesrc_init), (gst_fakesrc_set_property),
24020         (gst_fakesrc_get_property), (gst_fakesrc_create),
24021         (gst_fakesrc_start):
24022           remove num-buffers property
24023
24024 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24025
24026         * docs/gst/gstreamer-sections.txt:
24027         * docs/gst/tmpl/gstbasesink.sgml:
24028         * docs/gst/tmpl/gstbasesrc.sgml:
24029         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24030         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24031         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24032         (gst_base_sink_set_property), (gst_base_sink_get_property),
24033         (gst_base_sink_handle_object), (gst_base_sink_event),
24034         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24035         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24036         (gst_base_sink_loop), (gst_base_sink_deactivate),
24037         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24038         (gst_base_sink_change_state):
24039         * gst/base/gstbasesink.h:
24040         * gst/base/gstbasesrc.h:
24041         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24042         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24043         (gst_filesink_init):
24044           more macro splitting
24045
24046 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24047
24048         * gst/gstelement.c: (gst_element_get_bus):
24049           add debug
24050         * tools/gst-launch.c: (check_intr), (event_loop):
24051           fix bus leaks
24052
24053 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24054
24055         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24056           fix a caps leak
24057
24058 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24059
24060         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24061         (gst_base_src_finalize):
24062           add finalize method and clean up properly
24063         * gst/gstpipeline.c: (gst_pipeline_dispose):
24064           add debug
24065
24066 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24067
24068         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24069         (gst_bin_suite):
24070           add more things to check
24071         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24072         * gst/gstelement.c:
24073           more debug
24074
24075 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24076
24077         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24078         (GST_START_TEST), (fakesrc_suite):
24079         * check/gst-libs/gdp.c: (GST_START_TEST):
24080         * check/gst/gst.c: (GST_START_TEST):
24081         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24082         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24083         * check/gst/gstbus.c: (GST_START_TEST):
24084         * check/gst/gstcaps.c: (GST_START_TEST):
24085         * check/gst/gstdata.c: (GST_START_TEST):
24086         * check/gst/gstelement.c: (GST_START_TEST):
24087         * check/gst/gstghostpad.c: (GST_START_TEST):
24088         * check/gst/gstiterator.c: (GST_START_TEST):
24089         * check/gst/gstmessage.c: (GST_START_TEST):
24090         * check/gst/gstobject.c: (GST_START_TEST):
24091         * check/gst/gstpad.c: (GST_START_TEST):
24092         * check/gst/gststructure.c: (GST_START_TEST):
24093         * check/gst/gstsystemclock.c: (GST_START_TEST),
24094         (gst_systemclock_suite):
24095         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24096         * check/gst/gstvalue.c: (GST_START_TEST):
24097         * check/pipelines/cleanup.c: (GST_START_TEST):
24098         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24099         * check/states/sinks.c: (GST_START_TEST):
24100         * check/gstcheck.c: (gst_check_init):
24101         * check/gstcheck.h:
24102           add debugging category
24103           use GST_START_TEST now, so we add a debug line
24104
24105 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24106
24107         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24108           add test for state change message on a bin
24109         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24110           add another test
24111         * gst/gstbin.c: (gst_bin_init):
24112         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24113         * gst/gstelement.c: (gst_element_post_message),
24114         (gst_element_set_state):
24115         * gst/gstelementfactory.c: (gst_element_factory_create):
24116         * gst/gstmessage.c: (gst_message_new):
24117         * gst/gstscheduler.c:
24118           various debugging additions and cleanups
24119
24120 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24121
24122         * check/Makefile.am:
24123         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24124         (main):
24125           adding tests for elements
24126         * gst/gstelement.c: (gst_element_dispose):
24127
24128 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24129
24130         * gst/registries/gstlibxmlregistry.c: (load_feature):
24131           plug more leaks.  A simple gst_init() now is leakfree, yay.
24132
24133 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24134
24135         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24136         (gst_xml_registry_load):
24137           plug another memleak
24138
24139 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24140
24141         * configure.ac:
24142           use GST_SET_ERROR_CFLAGS
24143         * docs/faq/cvs.xml:
24144           change to ERROR_CFLAGS
24145
24146 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24147
24148         * configure.ac:
24149           make GST_ERROR_CFLAGS overridable and re-enable Werror
24150         * docs/faq/cvs.xml:
24151           add a note about error CFLAGS
24152         * docs/gst/tmpl/gstfakesrc.sgml:
24153         * gst/elements/gstfakesrc.c:
24154           comment out some unused code
24155         * gst/gst.c: (split_and_iterate):
24156         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24157         (load_feature):
24158           plug some memleaks
24159
24160 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24161
24162         * common/Makefile.am:
24163         * common/gtk-doc.mak:
24164         * docs/gst/Makefile.am:
24165           factor out gtk-doc.mak
24166
24167 2005-07-07  Wim Taymans  <wim@fluendo.com>
24168
24169         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24170         (gst_thread_scheduler_dispose):
24171         Unlock the STREAM_LOCK completely.
24172
24173 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24174
24175         * check/Makefile.am:
24176         * check/elements/.cvsignore:
24177         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24178         (START_TEST), (fakesrc_suite), (main):
24179         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24180         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24181         (gst_fakesrc_create), (gst_fakesrc_start):
24182         * gst/elements/gstfakesrc.h:
24183           adding a first element test
24184
24185 2005-07-07  Andy Wingo  <wingo@pobox.com>
24186
24187         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24188         debug message.
24189
24190 2005-07-07  Wim Taymans  <wim@fluendo.com>
24191
24192         * gst/gstquery.c:
24193         * gst/gstquery.h:
24194         Remove old types
24195
24196 2005-07-07  Wim Taymans  <wim@fluendo.com>
24197
24198         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24199         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24200         Allow subclasses to implement their own negotiation.
24201
24202 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24203
24204         * docs/design/part-gstbin.txt:
24205         * docs/design/part-gstpipeline.txt:
24206           Update design notes to reflect the movement of
24207           responsibility for bus handling from GstPipeline to
24208           GstBin
24209
24210 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24211
24212         * configure.ac:
24213           Remove unnecessary queue2/3/4 examples.
24214
24215 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24216
24217         * examples/Makefile.am:
24218         * examples/helloworld/helloworld.c: (event_loop), (main):
24219         * examples/queue/queue.c: (event_loop), (main):
24220         * examples/queue2/queue2.c: (main):
24221           Update a couple of the examples to work again.
24222
24223         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24224         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24225          Spelling corrections and extra debug.
24226         
24227         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24228         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24229         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24230         * gst/gstbin.h:
24231         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24232         (gst_pipeline_change_state):
24233         * gst/gstpipeline.h:
24234           Move the bus handler for children to the GstBin, and create a
24235           separate bus for receiving messages from children to the one the
24236           bus sends 'upwards' on.
24237
24238 2005-07-06  Wim Taymans  <wim@fluendo.com>
24239
24240         * gst/base/README:
24241         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24242         (gst_base_sink_handle_object), (gst_base_sink_loop),
24243         (gst_base_sink_change_state):
24244         * gst/base/gstbasesink.h:
24245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24246         (gst_base_src_init), (gst_base_src_setcaps),
24247         (gst_base_src_getcaps), (gst_base_src_loop),
24248         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24249         (gst_base_src_start), (gst_base_src_change_state):
24250         * gst/base/gstbasesrc.h:
24251         Make basesrc negotiate.
24252         Handle the case where preroll fails in basesink.
24253         Update README.
24254
24255 2005-07-06  Wim Taymans  <wim@fluendo.com>
24256
24257         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24258         Implement the fixate function.
24259         Clean up acceptcaps.
24260
24261 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24262
24263         * docs/pwg/building-filterfactory.xml:
24264         * docs/pwg/pwg.xml:
24265           Remove never-written filter-factory chapter; I'll add the various
24266           base classes to part 4 ("other element types") later on.
24267
24268 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24269
24270         * docs/pwg/advanced-negotiation.xml:
24271         * docs/pwg/building-boiler.xml:
24272         * docs/pwg/building-pads.xml:
24273         * docs/pwg/pwg.xml:
24274         * examples/pwg/Makefile.am:
24275           Add a chapter on caps negotiation, simplify the original code
24276           samples a bit w.r.t. caps negotiation, add link to the advanced
24277           section. Add a bunch of examples showing different use cases of
24278           different types of caps negotiation. Upstream renegotiation isn't
24279           fully documented yet since nobody knows how that works.
24280
24281 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24282
24283         * check/gst/gstpad.c:
24284         * check/gstcheck.c:
24285         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24286           if pad has no parent, return NULL as list of internal links
24287
24288 2005-07-05  Andy Wingo  <wingo@pobox.com>
24289
24290         * gst/elements/gstfilesrc.c:
24291         * gst/elements/gstfakesrc.c: 
24292         * gst/base/gstpushsrc.c:
24293         * gst/base/gstbasesrc.h: 
24294         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24295         
24296 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24297
24298         * Makefile.am:
24299           better report generation target (lcov needs a patch)
24300
24301 2005-07-05  Andy Wingo  <wingo@pobox.com>
24302
24303         * gst/elements, testsuite: Null if we got it...
24304
24305 2005-07-05  Wim Taymans  <wim@fluendo.com>
24306
24307         * configure.ac:
24308         * libs/gst/dataprotocol/Makefile.am:
24309         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24310         * libs/gst/dataprotocol/dataprotocol.h:
24311         * pkgconfig/Makefile.am:
24312         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24313         * pkgconfig/gstreamer-dataprotocol.pc.in:
24314         Ported dataprotol to 0.9. 
24315         Added pkgconfig files.
24316
24317 2005-07-05  Andy Wingo  <wingo@pobox.com>
24318
24319         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24320         Default to returning TRUE for the case when tranform_caps returns
24321         a fixed caps, like for identity or volume.
24322
24323         * check/gst/gstbus.c (pound_bus_with_messages): 
24324         * check/gst/gstmessage.c (START_TEST): 
24325         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24326         message API change.
24327
24328         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24329         logic weaks here: always run transform_caps, trying passthrough
24330         operation only if the original caps intersects with the transform.
24331
24332         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24333         source and sink caps.
24334
24335         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24336         Intersect the peer caps with the pad template before going into
24337         transform_caps.
24338         (gst_base_transform_transform_caps): More debugging.
24339
24340         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24341         src argument.
24342
24343 2005-07-04  Edward Hervey  <edward@fluendo.com>
24344
24345         * gst/gstutils.c:
24346         * gst/gstutils.h:
24347         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24348         in bindings.
24349
24350 2005-07-04  Andy Wingo  <wingo@pobox.com>
24351
24352         * check/gst/gstpad.c: Only set explicit caps on pads.
24353
24354 2005-07-01  Andy Wingo  <wingo@pobox.com>
24355
24356         * tests/network-clock.scm: Commentary update.
24357
24358         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24359         Didn't really make sense, not implementable with basetransform,
24360         etc.
24361         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24362         attempt at implementing the sync property, needs an unlock method.
24363
24364         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24365         New func, by default returns the same caps (the identity
24366         transformation).
24367         (gst_base_transform_getcaps): Uses transform_caps to return
24368         something sensible.
24369         (gst_base_transform_setcaps): Complicated logic to get caps on
24370         both pads, even if they are different, and to call set_caps once
24371         for every time both pads get their caps set.
24372         (gst_base_transform_handle_buffer): Give the ref to the transform
24373         function. Allows in-place modification of the buffer.
24374
24375         * gst/base/gstbasetransform.h (transform_caps): New class method.
24376         Given caps on one side, what can I do on the other.
24377         (set_caps): Take two caps, one for each side of the element.
24378
24379         * gst/gstpad.h:
24380         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24381         caps in place. This is safe because we can check the mutability of
24382         the caps, and a good idea because fixate functions are just called
24383         as a matter of last resort. (Not actually implemented.)
24384         (gst_pad_set_caps): If the caps we're setting is actually the same
24385         as the existing pad caps, just update the pointer without calling
24386         setcaps. Assert that caps is either NULL or fixed, as per the
24387         docs.
24388
24389         * gst/gstghostpad.c: Update for fixate changes.
24390
24391 2005-07-02  Andy Wingo  <wingo@pobox.com>
24392
24393         * gst/gstcaps.c:
24394         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24395         two refcounts makes it immutable, which is enough. Doc more.
24396
24397 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24398
24399         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24400           Put the mini_object into GValue as a mini_object,
24401           not a gpointer, since that's how we declared
24402           the signal.
24403
24404 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24405
24406         * examples/pwg/Makefile.am:
24407           Fix buildbot again.
24408
24409 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24410
24411         * docs/pwg/building-testapp.xml:
24412           Add extra check.
24413         * examples/pwg/Makefile.am:
24414           Fix buildbot.
24415
24416 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24417
24418         * configure.ac:
24419         * examples/Makefile.am:
24420         * examples/pwg/Makefile.am:
24421         * examples/pwg/extract.pl:
24422           Enable building the PWG examples.
24423         * docs/pwg/advanced-interfaces.xml:
24424           Add URI interface stub.
24425         * docs/pwg/advanced-types.xml:
24426         * docs/pwg/other-autoplugger.xml:
24427         * docs/pwg/appendix-porting.xml:
24428         * docs/pwg/pwg.xml:
24429           Add porting guide (mostly stubs), remove autoplugging (see ADM).
24430         * docs/pwg/building-boiler.xml:
24431         * docs/pwg/building-chainfn.xml:
24432         * docs/pwg/building-pads.xml:
24433         * docs/pwg/building-props.xml:
24434         * docs/pwg/building-state.xml:
24435         * docs/pwg/building-testapp.xml:
24436           Update the building-*.xml parts for 0.9 changes. All examples
24437           code blocks compile in examples/pwg/*.
24438
24439 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24440
24441         * docs/manual/advanced-autoplugging.xml:
24442         * docs/manual/appendix-checklist.xml:
24443         * docs/manual/appendix-integration.xml:
24444         * docs/manual/highlevel-components.xml:
24445           Fix playbin/decodebin examples, update docs a bit, mention bus
24446           instead of signals in various places, mention kmplayer and
24447           kaffeine since they have a working GStreamer backend in the KDE
24448           section.
24449
24450 2005-06-30  Wim Taymans  <wim@fluendo.com>
24451
24452         * CHANGES-0.9:
24453         * docs/design/draft-ghostpads.txt:
24454         * docs/design/draft-push-pull.txt:
24455         * docs/design/draft-query.txt:
24456         * docs/design/part-TODO.txt:
24457         * docs/design/part-query.txt:
24458         Added CHANGES-0.9 doc, updated status of other docs.
24459         
24460         * gst/gstquery.h:
24461         Remove "hmm" macro
24462
24463 2005-06-30  Wim Taymans  <wim@fluendo.com>
24464
24465         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24466         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24467         (gst_base_sink_change_state):
24468         * gst/base/gstbasesink.h:
24469         Some tweaks, only EOS and a buffer complete a preroll.
24470
24471 2005-06-30  Andy Wingo  <wingo@pobox.com>
24472
24473         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
24474         activate_push down to the internal pad as well.
24475
24476 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
24477
24478         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24479
24480         * gst/gsttaginterface.c:
24481           Some documentation fixes (#307394 and #307397).
24482
24483 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
24484
24485         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24486
24487         * gst/gstvalue.c: (gst_value_intersect_list):
24488           Fix memleak (#309125).
24489
24490 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24491
24492         * docs/manual/advanced-dataaccess.xml:
24493           Fix fakesrc example to compile; doesn't work, bug somewhere...?
24494         * docs/manual/basics-pads.xml:
24495           Add reference for filtered caps to above chapter.
24496
24497 2005-06-30  Wim Taymans  <wim@fluendo.com>
24498
24499         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
24500         (gst_bin_change_state):
24501         Probes are gone.
24502         Lame attempt at making the state change function a bit
24503         more readable.
24504
24505 2005-06-30  Wim Taymans  <wim@fluendo.com>
24506
24507         * docs/design/part-clocks.txt:
24508         * docs/design/part-element-sink.txt:
24509         * docs/design/part-events.txt:
24510         * docs/design/part-preroll.txt:
24511         * docs/design/part-states.txt:
24512         Some more tweeks and additions to the docs.
24513
24514 2005-06-30  Wim Taymans  <wim@fluendo.com>
24515
24516         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24517         (default_have_data), (gst_pad_class_init), (gst_pad_init),
24518         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24519         (gst_pad_check_pull_range), (gst_pad_get_range),
24520         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
24521         * gst/gstpad.h:
24522         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
24523         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24524         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24525         (gst_pad_remove_buffer_probe):
24526         Removed atomic operations, use existing LOCK.
24527         Move exception handling out of main code path.
24528
24529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24530
24531         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24532         (silly_return_true_function), (gst_pad_class_init),
24533         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24534         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
24535         (gst_pad_send_event):
24536           Fix accumulator, add default value by using _emitv() instead
24537           of _emit() for signal emission.
24538
24539 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24540
24541         * docs/manual/advanced-dataaccess.xml:
24542         * examples/manual/Makefile.am:
24543           Add probe example.
24544         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
24545           Make work (??).
24546
24547 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
24548
24549         * gst/elements/gstfilesink.c: (gst_filesink_render):
24550           Simplify code so that we don't have to handle short
24551           writes and return GST_FLOW_ERROR if an error occured.
24552
24553 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24554
24555         * docs/gst/gstreamer-docs.sgml:
24556           Remove probes more.
24557
24558 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24559
24560         * docs/gst/gstreamer-sections.txt:
24561         * docs/gst/tmpl/gstpad.sgml:
24562         * docs/gst/tmpl/gstprobe.sgml:
24563         * gst/Makefile.am:
24564         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24565         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
24566         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24567         (gst_pad_push_event), (gst_pad_send_event):
24568         * gst/gstpad.h:
24569         * gst/gstutils.c: (gst_pad_add_data_probe),
24570         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24571         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24572         (gst_pad_remove_buffer_probe):
24573         * gst/gstutils.h:
24574           Remove old probes, add new g-signal-based probes and some utility
24575           functions.
24576
24577 2005-06-29  Edward Hervey  <edward@fluendo.com>
24578
24579         * gst/gstelementfactory.c:
24580         * gst/gstutils.h:
24581         * gst/gstutils.c:
24582         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
24583         the definition to the header file.
24584
24585 2005-06-29  Andy Wingo  <wingo@pobox.com>
24586
24587         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
24588         plugins from the source directory.
24589
24590 2005-06-29  Wim Taymans  <wim@fluendo.com>
24591
24592         * docs/gst/tmpl/gstbuffer.sgml:
24593         * docs/gst/tmpl/gstclock.sgml:
24594         Some fixings for blantently wrong text.
24595
24596 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24597
24598         * check/Makefile.am:
24599         * gst/gst.c: (add_path_func), (init_pre):
24600         * gst/gstregistry.c: (gst_registry_add_path):
24601           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
24602           only scan the GST_PLUGIN_PATH locations, and not add
24603           system locations
24604
24605 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24606
24607         * docs/gst/gstreamer-sections.txt:
24608         * docs/gst/tmpl/gstbasesrc.sgml:
24609         * gst/gstelement.c:
24610         * gst/gstelement.h:
24611         * gst/gstevent.c:
24612         * gst/gstutils.c:
24613           doc fixes
24614
24615 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24616
24617         * docs/manual/advanced-autoplugging.xml:
24618           Fix autoplugging example.
24619
24620 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24621
24622         * docs/manual/advanced-autoplugging.xml:
24623         * docs/manual/mime-world.fig:
24624           Try to get autoplugging working, fix type detection. Fix text
24625           in hello-world image.
24626
24627 2005-06-29  Wim Taymans  <wim@fluendo.com>
24628
24629         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24630         (gst_base_sink_change_state):
24631         Small debug line.
24632
24633         * gst/gstclock.h:
24634         map SIGNAL and BROADCAST to the right function.
24635
24636         * gst/gstobject.h:
24637         Remove redundant braces.
24638
24639         * gst/gstpad.c: (gst_pad_set_caps):
24640         Don't call setcaps function when reseting caps to NULL.
24641
24642         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24643         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
24644         (gst_system_clock_id_unschedule):
24645         Use BROADCAST as this is what we do.
24646
24647 2005-06-29  Wim Taymans  <wim@fluendo.com>
24648
24649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24650         We are actually prerolling before commiting the state
24651         change. 
24652
24653 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24654
24655         * docs/manual/advanced-clocks.xml:
24656         * docs/manual/advanced-interfaces.xml:
24657         * docs/manual/advanced-metadata.xml:
24658         * docs/manual/advanced-position.xml:
24659         * docs/manual/advanced-schedulers.xml:
24660         * docs/manual/advanced-threads.xml:
24661         * docs/manual/appendix-porting.xml:
24662         * docs/manual/basics-bins.xml:
24663         * docs/manual/basics-bus.xml:
24664         * docs/manual/basics-elements.xml:
24665         * docs/manual/basics-helloworld.xml:
24666         * docs/manual/basics-pads.xml:
24667         * docs/manual/highlevel-components.xml:
24668         * docs/manual/manual.xml:
24669         * docs/manual/thread.fig:
24670           Update (until threads/scheduling) Application Development Manual;
24671           remove GstThread, add GstBus, add simple porting checklist, add
24672           documentation for tag writing, clocks, make all examples until this
24673           part compile and run.
24674         * examples/manual/Makefile.am:
24675           Update from changes to Application Development Manual; add bus
24676           example, remove thread example.
24677
24678 2005-06-28  Wim Taymans  <wim@fluendo.com>
24679
24680         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
24681         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
24682         (gst_bus_source_dispatch):
24683         Add debugging messages.
24684         Make internal methods static.
24685         Handle the case where the bus is flushed in the handler.
24686         
24687         * gst/gstelement.c: (gst_element_get_bus):
24688         Fix refcount in _get_bus();
24689
24690         * gst/gstpipeline.c: (gst_pipeline_change_state),
24691         (gst_pipeline_get_clock_func):
24692         Clock refcounting fixes.
24693         Handle the case where preroll timed out more gracefully.
24694         
24695         * gst/gstsystemclock.c: (gst_system_clock_dispose):
24696         Clean up the internal thread in dispose. This is needed
24697         for subclasses that actually get disposed.
24698         
24699         * gst/schedulers/threadscheduler.c:
24700         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24701         (gst_thread_scheduler_dispose):
24702         Free thread pool in dispose.
24703
24704 2005-06-28  Andy Wingo  <wingo@pobox.com>
24705
24706         * tests/network-clock-utils.scm (debug, print-event): New utils.
24707
24708         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
24709         (*packet-loss*): Unified loss probability.
24710         (network-time): Report out-of-band events.
24711
24712         * tests/plot-data: Add support for out-of-band events. Hack it
24713         into this script instead of passing it down the pipe; should fix
24714         this later.
24715
24716 2005-06-28  Wim Taymans  <wim@fluendo.com>
24717
24718         * docs/gst/gstreamer.types:
24719         * docs/gst/tmpl/gstbasesrc.sgml:
24720         * docs/gst/tmpl/gstpad.sgml:
24721         Docs fixes.
24722
24723 2005-06-28  Wim Taymans  <wim@fluendo.com>
24724
24725         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24726         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
24727         (gst_proxy_pad_do_fixatecaps):
24728         Correctly proxy the check_pull_range function.
24729
24730 2005-06-28  Andy Wingo  <wingo@pobox.com>
24731
24732         * tests/network-clock.scm: Removed need for slib.
24733         
24734 2005-06-28  Wim Taymans  <wim@fluendo.com>
24735
24736         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
24737         (gst_basesink_preroll_queue_flush):
24738         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
24739         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
24740         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24741         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24742         (gst_proxy_pad_set_property):
24743         * gst/gstpad.c:
24744         * gst/gstpad.h:
24745         * gst/gstqueue.c: (gst_queue_init):
24746         The deprecated pad loop function is removed now.
24747
24748 2005-06-28  Andy Wingo  <wingo@pobox.com>
24749
24750         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
24751         New parameters, simulate network packet loss.
24752
24753         * tests/network-clock-utils.scm: Initialize the RNG.
24754
24755 2005-06-28  Wim Taymans  <wim@fluendo.com>
24756
24757         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
24758         (gst_basesink_event), (gst_basesink_deactivate):
24759         Flushing the preroll queue always needs to unlock the waiters.
24760
24761 2005-06-28  Edward Hervey  <edward@fluendo.com>
24762
24763         * gst/gstpipeline.c: (gst_pipeline_send_event): 
24764         Wheen a seek was successful on a pipeline, set the stream_time to the
24765         seek offset in order to have a synchronized stream_time.
24766
24767 2005-06-28  Wim Taymans  <wim@fluendo.com>
24768
24769         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24770         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
24771         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
24772         (gst_proxy_pad_do_fixatecaps):
24773         Call wrapper function instead of just calling the function
24774         pointers. This takes care of any locking and whatmore.
24775
24776 2005-06-28  Wim Taymans  <wim@fluendo.com>
24777
24778         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
24779         (gst_pad_pull_range):
24780         * gst/gstpad.h:
24781         CONNECTED -> LINKED.
24782
24783 2005-06-28  Andy Wingo  <wingo@pobox.com>
24784
24785         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
24786         source-munging commit!!!
24787
24788         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
24789         (gst_object_sink): Take gpointer arguments, not GstObject --
24790         avoids casts. Like GLib.
24791
24792         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
24793         activate.
24794
24795 2005-06-27  Andy Wingo  <wingo@pobox.com>
24796
24797         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
24798         remaining buffer.
24799
24800         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
24801         returns a sorted copy of the trace list.
24802         (gst_alloc_trace_print_live): New API, only prints traces with
24803         live objects. Sort the list.
24804         (gst_alloc_trace_print_all): Sort the list.
24805         (gst_alloc_trace_print): Align columns.
24806
24807         * gst/elements/gstttypefindelement.c:
24808         * gst/elements/gsttee.c:
24809         * gst/base/gstbasesrc.c:
24810         * gst/base/gstbasesink.c:
24811         * gst/base/gstbasetransform.c:
24812         * gst/gstqueue.c: Adapt for pad activation changes.
24813
24814         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
24815         sched.
24816         (gst_pipeline_dispose): Drop ref on sched.
24817
24818         * gst/gstpad.c (gst_pad_init): Set the default activate func.
24819         (gst_pad_activate_default): Push mode by default.
24820         (pre_activate_switch, post_activate_switch): New stubs, things to
24821         do before and after switching activation modes on pads.
24822         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
24823         the pad's activate function to choose which mode to activate.
24824         Shortcut on deactivation and call the right function directly.
24825         (gst_pad_activate_pull): New API, (de)activates a pad in pull
24826         mode.
24827         (gst_pad_activate_push): New API, same for push mode.
24828         (gst_pad_set_activate_function) 
24829         (gst_pad_set_activatepull_function) 
24830         (gst_pad_set_activatepush_function): Setters for new API.
24831
24832         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
24833         Trace all miniobjects.
24834         (gst_mini_object_make_writable): Unref the arg if we copy, like
24835         gst_caps_make_writable.
24836
24837         * gst/gstmessage.c (_gst_message_initialize): No trace init.
24838
24839         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
24840         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
24841         Adapt for new pad API.
24842
24843         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
24844
24845         * gst/gstelement.h:
24846         * gst/gstelement.c (gst_element_iterate_src_pads) 
24847         (gst_element_iterate_sink_pads): New API functions.
24848         
24849         * gst/gstelement.c (iterator_fold_with_resync): New utility,
24850         should fold into gstiterator.c in some form.
24851         (gst_element_pads_activate): Simplified via use of fold and
24852         delegation of decisions to gstpad->activate.
24853
24854         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
24855         help in debugging.
24856
24857         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
24858         class once in init, like gstmessage. Didn't run into this issue
24859         but it seems correct. Don't initialize a trace, gstminiobject does
24860         that.
24861
24862         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
24863         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
24864         to the bus.
24865         (assert_live_count): New util function, uses alloc traces to check
24866         cleanup.
24867
24868         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
24869         To be modified when unlink drops the internal pad.
24870
24871 2005-06-27  Wim Taymans  <wim@fluendo.com>
24872
24873         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
24874         (gst_bin_change_state):
24875         Cleanup the get_state() function a little, make sure it
24876         iterates the same set of elements.
24877         Added stub iterate_state_order().
24878
24879 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24880
24881         * docs/gst/gstreamer-docs.sgml:
24882         * docs/gst/gstreamer-sections.txt:
24883         * docs/gst/gstreamer.types:
24884         * docs/gst/tmpl/gstbasesink.sgml:
24885         * docs/gst/tmpl/gstbasesrc.sgml:
24886         * docs/gst/tmpl/gstbasetransform.sgml:
24887         * docs/gst/tmpl/gstelement.sgml:
24888         * docs/gst/tmpl/gstiterator.sgml:
24889         * gst/base/gstbasesrc.c:
24890         * gst/base/gstbasesrc.h:
24891         * gst/base/gstbasetransform.h:
24892         * gst/gstelement.c:
24893         * gst/gstiterator.h:
24894           adding basetransform and iterator docs
24895
24896 2005-06-27  Andy Wingo  <wingo@pobox.com>
24897
24898         * docs/design/part-activation.txt: Notes on how activation should
24899         work -- not quite implemented yet.
24900
24901 2005-06-25  Wim Taymans  <wim@fluendo.com>
24902
24903         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
24904         At least get the chain function correct, needs more
24905         fixing.
24906
24907 2005-06-25  Wim Taymans  <wim@fluendo.com>
24908
24909         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24910         (gst_basesink_handle_object), (gst_basesink_event),
24911         (gst_basesink_do_sync), (gst_basesink_handle_event),
24912         (gst_basesink_change_state):
24913         * gst/gsttask.h:
24914         Right, two problems here: ghostpads don't take locks and
24915         glib _rec_mutex_lock_full() with depth==0 still locks.
24916         Catch illegal locking and g_warn them.
24917
24918 2005-06-25  Wim Taymans  <wim@fluendo.com>
24919
24920         * check/states/sinks.c: (START_TEST), (gst_object_suite):
24921         Have to check for completion now...
24922
24923 2005-06-25  Wim Taymans  <wim@fluendo.com>
24924
24925         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24926         (gst_basesink_handle_object), (gst_basesink_event),
24927         (gst_basesink_do_sync), (gst_basesink_handle_event),
24928         (gst_basesink_change_state):
24929         * gst/gstpad.h:
24930         Unlock STREAM_LOCK whatever the recursion was.
24931
24932 2005-06-25  Wim Taymans  <wim@fluendo.com>
24933
24934         * gst/base/gstbasesink.c: (gst_basesink_set_property),
24935         (gst_basesink_preroll_queue_empty),
24936         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
24937         (gst_basesink_event), (gst_basesink_do_sync),
24938         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
24939         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
24940         (gst_basesink_change_state):
24941         Reworked the base sink, handle event and buffer serialisation
24942         correctly and removed possible deadlock.
24943         Handle EOS correctly.
24944
24945 2005-06-25  Wim Taymans  <wim@fluendo.com>
24946
24947         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
24948         (gst_pipeline_change_state):
24949         * tools/gst-launch.c: (check_intr), (event_loop), (main):
24950         Allow elements to post EOS in the state change function.
24951         Fix up -launch, make it exit the poll loop when the
24952         pipeline actually changed state.
24953         Fix up warning parsing in -launch.
24954
24955 2005-06-25  Wim Taymans  <wim@fluendo.com>
24956
24957         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
24958         (gst_tee_sink_activate):
24959         Core takes STREAM_LOCK for us now.
24960
24961 2005-06-25  Wim Taymans  <wim@fluendo.com>
24962
24963         * gst/gstelement.c: (gst_element_get_state_func),
24964         (gst_element_set_state):
24965         * gst/gstelement.h:
24966         * gst/gstmessage.c: (gst_message_parse_error),
24967         (gst_message_parse_warning):
24968         Keep track of current target state while performing a state
24969         change so that subclasses can do something interesting.
24970         Fix parsing of warning/error messages when GError is NULL.
24971
24972 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24973
24974         * docs/gst/Makefile.am:
24975         * docs/gst/gstreamer-docs.sgml:
24976         * docs/gst/gstreamer-sections.txt:
24977         * docs/gst/gstreamer.types:
24978         * docs/gst/tmpl/gstbasesink.sgml:
24979         * docs/gst/tmpl/gstbasesrc.sgml:
24980         * docs/gst/tmpl/gstbin.sgml:
24981         * docs/gst/tmpl/gstcompat.sgml:
24982         * docs/gst/tmpl/gstfakesink.sgml:
24983         * docs/gst/tmpl/gstfakesrc.sgml:
24984         * docs/gst/tmpl/gstfilesink.sgml:
24985         * docs/gst/tmpl/gstfilesrc.sgml:
24986         * docs/gst/tmpl/gstindex.sgml:
24987         * docs/manual/appendix-quotes.xml:
24988         * gst/base/gstbasesrc.h:
24989         * gst/elements/gstfakesrc.h:
24990         * gst/gstmessage.h:
24991           start pulling in base classes and elements in our docs
24992
24993 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
24994
24995         * docs/gst/Makefile.am:
24996         * docs/libs/Makefile.am:
24997           fixed make distcheck with gtk-doc 1.3
24998
24999 2005-06-23  Wim Taymans  <wim@fluendo.com>
25000
25001         * gst/gstelement.c: (gst_element_get_state_func),
25002         (gst_element_set_state), (gst_element_change_state):
25003         When the state did not change, also report NO_PREROLL
25004         when it matters.
25005
25006 2005-06-23  Wim Taymans  <wim@fluendo.com>
25007
25008         * gst/gstpad.c: (gst_pad_event_default):
25009         * gst/gstqueue.c: (gst_queue_loop):
25010         No unsafe task pausing please.
25011
25012 2005-06-23  Wim Taymans  <wim@fluendo.com>
25013
25014         * gst/schedulers/threadscheduler.c:
25015         (gst_thread_scheduler_task_start),
25016         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25017         Ref the task before pushing it on the threadpool. This
25018         makes sure that we have a ref when the threadfunction is
25019         actually called.
25020
25021 2005-06-23  Andy Wingo  <wingo@pobox.com>
25022
25023         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25024         offset is greater than the file's size.
25025
25026         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25027         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25028         * gst/gstobject.c (gst_object_class_init): Make the class lock
25029         recursive. Wim won't let me drop deep_notify. Decodebin works
25030         again, whoopdy doo.
25031
25032         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25033         internal pad, and hacks accordingly. Doesn't do it on the target
25034         pad because we change its caps. Probably catches all cases of
25035         interest tho.
25036         (gst_ghost_pad_set_property): Connect to notify::caps as
25037         appropritate.
25038
25039         * tests/network-clock.scm (plot-simulation): Pipe data to the
25040         elite python skript.
25041
25042         * tests/network-clock-utils.scm (define-parameter): New macro,
25043         defines a parameter that can be set via the command line.
25044         (set-parameter!, parse-parameter-arguments): Command line args
25045         parser.
25046
25047         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25048         stdin.
25049
25050 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25051
25052         * gst/elements/gsttypefindelement.c:
25053         (gst_type_find_element_handle_event):
25054           Don't restart typefinding on a discont.
25055         * gst/gstelement.c: (gst_element_set_state):
25056           Debug spelling fix.
25057         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25058           Allow changing mode of an active pad.
25059           Debug output fixes.
25060         * gst/registries/gstlibxmlregistry.c: (load_feature):
25061           Don't cast a static pad template to a normal pad template.
25062
25063 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25064
25065         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25066         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25067           remove gst_strtoll completely, since it didn't actually do
25068           anything more than what g_ascii_strtoull already does.
25069           check for range errors when deserializing
25070           do a cast for the unsigned cases; but further fixing needs
25071           a decision on what the interpretation of "(int)" and
25072           deserialization should be for values that fall outside the
25073           type's boundaries (ie, refuse, or interpret as casting)
25074
25075 2005-06-23  Wim Taymans  <wim@fluendo.com>
25076
25077         * check/Makefile.am:
25078         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25079         * docs/design/part-live-source.txt:
25080         * docs/design/part-states.txt:
25081         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25082         (gst_basesrc_set_live), (gst_basesrc_is_live),
25083         (gst_basesrc_get_range), (gst_basesrc_activate),
25084         (gst_basesrc_change_state):
25085         * gst/base/gstbasesrc.h:
25086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25087         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25088         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25089         * gst/gstelement.c: (gst_element_get_state_func),
25090         (gst_element_set_state):
25091         * gst/gstelement.h:
25092         * gst/gsttypes.h:
25093         * tools/gst-launch.c: (event_loop), (main):
25094         Added support for live sources and other elements that
25095         cannot do preroll.
25096         Updated design docs, added live-source design doc.
25097         Implemented live source functionality in basesrc
25098         Fix error condition in _bin_get_state()
25099         Implement live source handling in -launch.
25100         Added check for live sources.
25101         Fixed case in GstBin where elements were changed state
25102         multiple times.
25103
25104
25105 2005-06-23  Andy Wingo  <wingo@pobox.com>
25106
25107         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25108         borken refcounting.
25109
25110         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25111         gst_caps_replace takes care of this for us.
25112
25113         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25114         gst_pad_set_caps on the target, not just its setcaps() function.
25115
25116         * tests/network-clock.scm: 
25117         * tests/network-clock-utils.scm: A network clock simulator.
25118         Something of an algorithmic testbed before doing something in C.
25119
25120 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25121
25122         * check/Makefile.am:
25123         * check/gst/capslist.h:
25124           copy over from 0.8, and add two with bitmasks specified with
25125           (int) 0xFF...
25126         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25127           add test to parse everything from capslist.h
25128         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25129         (main):
25130           add test for structure deserialization
25131         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25132           add tests for deserialization of strings to int types
25133         * gst/gststructure.c: (gst_structure_nth_field_name):
25134         * gst/gststructure.h:
25135           add a way to get the name of a field referenced by index
25136         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25137           instead of checking if the resulting long long lies between
25138           min and max, we check if the long long would fit into
25139           a number of bytes for the final type.
25140           This fixes cases where a string represents 2^32 - 1, which
25141           when cast to int would be the (valid) -1, but is bigger than
25142           G_MAXINT
25143
25144 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25145
25146         * gst/parse/grammar.y:
25147           add a log line for type deserialization
25148
25149 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25150
25151         * check/gst/gstvalue.c: (START_TEST):
25152         * gst/gstvalue.c: (gst_value_deserialize):
25153           return long long, not int, so gint64 deserialization actually
25154           works.  Is there any flag that makes the compiler check this ?
25155           Fixes #308559
25156
25157 2005-06-22  Wim Taymans  <wim@fluendo.com>
25158
25159         * gst/gstbuffer.h:
25160         Added convenience macros for setting buffers in GValue.
25161
25162 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25163
25164         * check/gst/.cvsignore:
25165         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25166           add a test deserializing int64, and comment part out because
25167           it fails, yay !
25168
25169 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25170
25171         * check/Makefile.am:
25172         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25173         * testsuite/Makefile.am:
25174         * testsuite/caps/Makefile.am:
25175         * testsuite/caps/value_serialize.c:
25176         * testsuite/test_gst_init.c:
25177           move a value_serialize test over
25178
25179 2005-06-20  Wim Taymans  <wim@fluendo.com>
25180
25181         * gst/gstpad.c:
25182         Small doc updates.
25183         
25184         * gst/gstvalue.c: (gst_value_compare_buffer),
25185         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25186         (gst_value_compare_flags), (gst_value_serialize_flags),
25187         (gst_value_deserialize_flags), (_gst_value_initialize):
25188         Fix serialisation of buffers, they are not boxed types anymore
25189
25190 2005-06-20  Wim Taymans  <wim@fluendo.com>
25191
25192         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25193         Testcase to show error in buffer-on-caps serialisation.
25194
25195 2005-06-20  Andy Wingo  <wingo@pobox.com>
25196
25197         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25198         will be adding to later.
25199
25200         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25201         if its socks fill with rocks.
25202         (gst_system_clock_obtain): Set the name on object construction.
25203         Avoid double-checked locking.
25204
25205 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25206
25207         * gst/gsturi.c: (gst_element_make_from_uri):
25208           Fix potential endless loop.
25209
25210 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25211
25212         * check/Makefile.am:
25213           add gsttag
25214         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25215         (main):
25216           move over from testsuite dir and clean up
25217         * configure.ac:
25218         * gst/gsttag.c:
25219         * testsuite/Makefile.am:
25220         * testsuite/tags/.cvsignore:
25221         * testsuite/tags/Makefile.am:
25222         * testsuite/tags/merge.c:
25223           remove testsuite/tags
25224
25225 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25226
25227         * docs/gst/gstreamer-sections.txt:
25228         * docs/gst/tmpl/gstenumtypes.sgml:
25229         * win32/gstenumtypes.c:
25230           clean up documentation build a little
25231
25232 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25233
25234         * check/gstcheck.h:
25235           add macros for checking refcounts on objects and caps
25236         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25237           add some more unit tests
25238         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25239         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25240           fix leaked refcounts (I hope :)) so unittest works
25241         * gst/gstpad.h:
25242           whitespace removal
25243
25244 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25245
25246         * configure.ac: back to HEAD
25247
25248 === release 0.9.1 ===
25249
25250 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25251
25252         * NEWS:
25253         * RELEASE:
25254           updated
25255
25256 2005-06-17  Andy Wingo  <wingo@pobox.com>
25257
25258         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25259         assert; it's always possible that the pad gets deactivated in
25260         between the checks in gstpad.c and the implementation. Rely on
25261         finish_preroll() to return a FLUSHING or similar instead of on the
25262         assert.
25263         
25264         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25265         clock and post an EOS message if we come out of finish_preroll in
25266         the playing state.
25267
25268 2005-06-16  David Schleef  <ds@schleef.org>
25269
25270         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25271         (gst_capsfilter_set_property): Allow NULL as possible value
25272         for filter_caps property, indicating GST_CAPS_ANY.
25273
25274 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25275
25276         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25277           fix debug output
25278         * gst/schedulers/Makefile.am:
25279           use libgst prefix
25280         * gstreamer.spec.in:
25281           fix spec for it
25282
25283 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25284
25285         * gstreamer.spec.in:
25286           clean up
25287
25288 2005-06-08  Andy Wingo  <wingo@pobox.com>
25289
25290         * gst/gstutils.c: RPAD fixes all around.
25291         (gst_element_link_pads): Refcounting fixes.
25292
25293         * tools/gst-inspect.c:
25294         * tools/gst-xmlinspect.c:
25295         * parse/grammar.y:
25296         * gst/base/gsttypefindhelper.c:
25297         * gst/base/gstbasesink.c:
25298         * gst/gstqueue.c: RPAD fixes.
25299
25300         * gst/gstghostpad.h:
25301         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25302         pads. The tricky thing is they provide both source and sink
25303         interfaces, since they proxy the internal pad for the external
25304         pad, and vice versa. Implement with lower-level ProxyPad objects,
25305         with the interior proxy pad as a child of the exterior ghost pad.
25306         Should write a doc on this.
25307         
25308         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25309         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25310         gst_object API.
25311         
25312         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25313         pads are real pads. No ghost pads in this file. Not documenting
25314         the myriad s/RPAD/PAD/ and REALIZE fixes.
25315         (gst_pad_class_init): Add properties for "direction" and
25316         "template". Both are construct-only, so they can't change during
25317         the life of the pad. Fixes properly deriving from GstPad.
25318         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25319         derived objects, just set properties when creating the objects via
25320         g_object_new.
25321         (gst_pad_get_parent): Implement as a function, return NULL if the
25322         parent is not an element.
25323         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25324         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25325         
25326         * gst/gstobject.c (gst_object_class_init): Make name a construct
25327         property. Don't set it in the object init.
25328
25329         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25330         with UNKNOWN direction.
25331         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25332         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25333         (gst_element_remove_pad): Remove ghost-pad special cases.
25334         (gst_element_pads_activate): Remove rpad cruft.
25335
25336         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25337         catch the pad's-parent-not-an-element case.
25338
25339         * gst/gst.h: Include gstghostpad.h.
25340
25341         * gst/gst.c (init_post): No more real, ghost pads.
25342
25343         * gst/Makefile.am: Add gstghostpad.[ch].
25344
25345         * check/Makefile.am:
25346         * check/gst/gstbin.c:
25347         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25348         into a bin creates ghost pads, and that the refcounts are right.
25349         Partly moved from gstbin.c.
25350
25351 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25352
25353         * check/gst-libs/.cvsignore:
25354         * check/gst/.cvsignore:
25355         * check/pipelines/.cvsignore:
25356           ignore more
25357         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25358         (START_TEST), (cleanup_suite), (main):
25359           add some tests related to cleanup after running pipelines
25360
25361 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25362
25363         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25364           add a testsuite for GstBuffer
25365
25366 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25367
25368         * gst/gstminiobject.h:
25369           add defines for accessing the refcount
25370
25371 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25372
25373         * Makefile.am: added support for html unit test coverage reports
25374
25375 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25376
25377         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25378           Free existing caps if the capsfilter changes. Add a FIXME about
25379           setting those caps on the pads.
25380
25381         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25382           Before adding a ghost pad to a parent bin, check that there isn't
25383           already one for the element on the bin. Prevents infinite recursion
25384           when using decodebin in parse pipelines. Andy says he'll rewrite the
25385           way this works anyway, so ignore the hack.
25386
25387 2005-06-02  Andy Wingo  <wingo@pobox.com>
25388
25389         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25390         file size, pass it on to the type find helper.
25391
25392         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25393         segment_start and segment_end properly according to the seek
25394         method. Segment_end is still a bit flaky because offset can be
25395         negative for CUR and END cases, but it takes -1 as an "unset"
25396         value.
25397
25398 2005-06-02  Wim Taymans  <wim@fluendo.com>
25399
25400         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25401         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25402         (gst_basesink_activate):
25403         * gst/base/gstbasesink.h:
25404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25405         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25406         (gst_pad_query), (gst_pad_start_task):
25407         * gst/gstpad.h:
25408         * gst/gstqueue.c: (gst_queue_bufferalloc),
25409         (gst_queue_handle_sink_event), (gst_queue_chain):
25410         Bufferalloc: return GstFlowReturn to more accuratly report
25411         why allocation failed.
25412
25413 2005-06-02  Wim Taymans  <wim@fluendo.com>
25414
25415         * gst/gstpipeline.c: (gst_pipeline_send_event):
25416         Take snapshot of state without blocking.
25417
25418 2005-06-02  Wim Taymans  <wim@fluendo.com>
25419
25420         * docs/design/part-TODO.txt:
25421         * docs/design/part-caps.txt:
25422         * docs/design/part-clocks.txt:
25423         * docs/design/part-negotiation.txt:
25424         * docs/design/part-preroll.txt:
25425         Small doc updates 
25426
25427 2005-05-30  Wim Taymans  <wim@fluendo.com>
25428
25429         * gst/elements/gstidentity.c: (gst_identity_event),
25430         (gst_identity_transform), (gst_identity_get_property):
25431         Protect last_message property as it is accessed from
25432         multiple threads.
25433
25434 2005-05-30  Wim Taymans  <wim@fluendo.com>
25435
25436         * gst/gstelement.c: (gst_element_init),
25437         (gst_element_pads_activate), (gst_element_change_state):
25438         Slicker pad activation code.
25439
25440 2005-05-30  Wim Taymans  <wim@fluendo.com>
25441
25442         * gst/Makefile.am:
25443         * gst/gstelement.h:
25444         * gst/gstelementfactory.h:
25445         * gst/gsttypes.h:
25446         Move elementfactory methods to separate .h file.
25447
25448 2005-05-30  Wim Taymans  <wim@fluendo.com>
25449
25450         * docs/design/part-overview.txt:
25451         * gst/gstsystemclock.h:
25452         Small typo fixes, doc updates.
25453
25454 2005-05-30  Wim Taymans  <wim@fluendo.com>
25455
25456         * gst/gst.c: (gst_init_get_popt_table), (init_post),
25457         (init_popt_callback):
25458         Remove cpu-opt flag.
25459
25460 2005-05-30  Wim Taymans  <wim@fluendo.com>
25461
25462         * gst/gstbuffer.c: (gst_subbuffer_finalize),
25463         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
25464         * gst/gstbuffer.h:
25465         Avoid typechecking in places where not needed.
25466         Added accessor for malloc_data.
25467
25468 2005-05-30  Wim Taymans  <wim@fluendo.com>
25469
25470         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
25471         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
25472         (gst_pad_configure_sink), (gst_pad_configure_src),
25473         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
25474         (gst_pad_start_task):
25475         Propagate errors from _set_caps() in configure_src/sink
25476         functions instead of returning TRUE.
25477         FLUSH events can travel up and downstream
25478
25479
25480 2005-05-30  Wim Taymans  <wim@fluendo.com>
25481
25482         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25483         (gst_basesink_activate):
25484         Handle EOS in preroll.
25485
25486 2005-05-30  Wim Taymans  <wim@fluendo.com>
25487
25488         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25489         (gst_queue_loop), (gst_queue_handle_src_event):
25490         Remove old pieces of code
25491         Flushing the queue in an upstream event is a very bad idea.
25492
25493 2005-05-26  Andy Wingo  <wingo@pobox.com>
25494
25495         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
25496         gst_value_set_mini_object so as to add a ref on the object (which
25497         will be removed when the value is unset).
25498
25499         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
25500         arg type in ::handoff.
25501
25502         * gst/gstelement.c (gst_element_change_state): Also deactivate
25503         pads in READY->NULL, just in case the element didn't make it to
25504         PAUSED. Wingo tested, Wim approved.
25505
25506 2005-05-26  Wim Taymans  <wim@fluendo.com>
25507
25508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25509         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25510         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
25511         A flushing pad cannot be used to alloc_buffer from.
25512
25513 2005-05-26  Wim Taymans  <wim@fluendo.com>
25514
25515         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
25516         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
25517         (gst_bus_source_dispatch), (gst_bus_source_finalize),
25518         (gst_bus_create_watch), (gst_bus_add_watch_full):
25519         * gst/gstbus.h:
25520         Implement a real GSource and use g_main_context_wakeup() to
25521         signal new messages instead of the socketpair.
25522
25523 2005-05-25  Wim Taymans  <wim@fluendo.com>
25524
25525         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
25526         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
25527         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25528         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25529         (gst_pad_send_event), (gst_pad_start_task):
25530         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
25531         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25532         (gst_queue_sink_activate), (gst_queue_src_activate),
25533         (gst_queue_change_state):
25534         * gst/gstqueue.h:
25535         Fix state changes for non sinks. We now change sinks, then elements
25536         with unconnected srcpads, then the rest.
25537         More efficient queue unlocking in flush and state changes.
25538         Set the pad activate mode even if it does not have an activate
25539         function.
25540
25541 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25542
25543         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
25544           Don't go in pull mode for non-seekable sources.
25545         * gst/elements/gsttypefindelement.h:
25546         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25547         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
25548         (free_entry), (stop_typefinding),
25549         (gst_type_find_element_handle_event), (find_peek),
25550         (gst_type_find_element_chain), (do_pull_typefind),
25551         (gst_type_find_element_change_state):
25552           Allow typefinding (w/o seeking) in push-mode, simplified version
25553           of what was in 0.8.
25554         * gst/gstutils.c: (gst_buffer_join):
25555         * gst/gstutils.h:
25556           gst_buffer_join() from 0.8.
25557
25558 2005-05-25  Wim Taymans  <wim@fluendo.com>
25559
25560         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25561         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25562         (gst_pad_send_event), (gst_pad_start_task):
25563         Disable attempt at mode switching until it is figured out.
25564
25565 2005-05-25  Wim Taymans  <wim@fluendo.com>
25566
25567         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
25568         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25569         (gst_basesink_finish_preroll), (gst_basesink_chain),
25570         (gst_basesink_loop), (gst_basesink_activate),
25571         (gst_basesink_change_state):
25572         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
25573         (gst_basesrc_get_range), (gst_basesrc_loop),
25574         (gst_basesrc_activate):
25575         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25576         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25577         (gst_real_pad_init), (gst_real_pad_set_property),
25578         (gst_real_pad_get_property), (gst_pad_set_active),
25579         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
25580         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
25581         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
25582         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
25583         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25584         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
25585         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
25586         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25587         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
25588         (gst_pad_stop_task):
25589         * gst/gstpad.h:
25590         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25591         (gst_queue_loop), (gst_queue_src_activate):
25592         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
25593         (gst_task_get_state):
25594         * gst/gsttask.h:
25595         * gst/schedulers/threadscheduler.c:
25596         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
25597         Implement gst_pad_pause/start/stop_task(), take STREAM lock
25598         in task function.
25599         Remove ACTIVE pad flag, use FLUSHING everywhere
25600         Added _pad_chain(), _pad_get_range() to call chain/getrange 
25601         functions.
25602         Add locks around IS_FLUSHING when reading.
25603         Take STREAM lock in chain(), get_range() functions so plugins
25604         don't need to take it anymore.
25605         
25606
25607
25608 2005-05-25  Wim Taymans  <wim@fluendo.com>
25609
25610         * tools/gst-launch.c: (event_loop):
25611         Unref message after using its contents instead of
25612         before.
25613
25614 2005-05-24  Wim Taymans  <wim@fluendo.com>
25615
25616         * docs/design/draft-ghostpads.txt:
25617         * docs/design/draft-push-pull.txt:
25618         * docs/design/draft-query.txt:
25619         * docs/design/part-overview.txt:
25620         Docs updates, added general overview doc.
25621
25622 2005-05-21  David Schleef  <ds@schleef.org>
25623
25624         * docs/gst/tmpl/old/GstBin.sgml:
25625         * docs/gst/tmpl/old/GstBuffer.sgml:
25626         * docs/gst/tmpl/old/GstCaps.sgml:
25627         * docs/gst/tmpl/old/GstClock.sgml:
25628         * docs/gst/tmpl/old/GstCompat.sgml:
25629         * docs/gst/tmpl/old/GstData.sgml:
25630         * docs/gst/tmpl/old/GstElement.sgml:
25631         * docs/gst/tmpl/old/GstEvent.sgml:
25632         * docs/gst/tmpl/old/GstIndex.sgml:
25633         * docs/gst/tmpl/old/GstStructure.sgml:
25634         * docs/gst/tmpl/old/GstTag.sgml:
25635         * docs/gst/tmpl/old/cothreads.sgml:
25636         * docs/gst/tmpl/old/cothreads_compat.sgml:
25637         * docs/gst/tmpl/old/gettext.sgml:
25638         * docs/gst/tmpl/old/gobject2gtk.sgml:
25639         * docs/gst/tmpl/old/grammar.tab.sgml:
25640         * docs/gst/tmpl/old/gst-i18n-app.sgml:
25641         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
25642         * docs/gst/tmpl/old/gst_private.sgml:
25643         * docs/gst/tmpl/old/gstaggregator.sgml:
25644         * docs/gst/tmpl/old/gstarch.sgml:
25645         * docs/gst/tmpl/old/gstatomic_impl.sgml:
25646         * docs/gst/tmpl/old/gstbufferstore.sgml:
25647         * docs/gst/tmpl/old/gstdata_private.sgml:
25648         * docs/gst/tmpl/old/gstdisksink.sgml:
25649         * docs/gst/tmpl/old/gstdisksrc.sgml:
25650         * docs/gst/tmpl/old/gstelementfactory.sgml:
25651         * docs/gst/tmpl/old/gstextratypes.sgml:
25652         * docs/gst/tmpl/old/gstfakesink.sgml:
25653         * docs/gst/tmpl/old/gstfakesrc.sgml:
25654         * docs/gst/tmpl/old/gstfdsink.sgml:
25655         * docs/gst/tmpl/old/gstfdsrc.sgml:
25656         * docs/gst/tmpl/old/gstfilesink.sgml:
25657         * docs/gst/tmpl/old/gstfilesrc.sgml:
25658         * docs/gst/tmpl/old/gsthttpsrc.sgml:
25659         * docs/gst/tmpl/old/gstidentity.sgml:
25660         * docs/gst/tmpl/old/gstindexfactory.sgml:
25661         * docs/gst/tmpl/old/gstmarshal.sgml:
25662         * docs/gst/tmpl/old/gstmd5sink.sgml:
25663         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
25664         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
25665         * docs/gst/tmpl/old/gstpadtemplate.sgml:
25666         * docs/gst/tmpl/old/gstpipefilter.sgml:
25667         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
25668         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
25669         * docs/gst/tmpl/old/gstshaper.sgml:
25670         * docs/gst/tmpl/old/gstspider.sgml:
25671         * docs/gst/tmpl/old/gstspideridentity.sgml:
25672         * docs/gst/tmpl/old/gststatistics.sgml:
25673         * docs/gst/tmpl/old/gsttee.sgml:
25674         * docs/gst/tmpl/old/gsttimecache.sgml:
25675         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
25676         * docs/gst/tmpl/old/gstxmlregistry.sgml:
25677         * docs/gst/tmpl/old/gthread-cothreads.sgml:
25678         * docs/gst/tmpl/old/types.sgml:
25679           I didn't intend to add these or check them in.
25680
25681 2005-05-19  David Schleef  <ds@schleef.org>
25682
25683         * configure.ac: Use -no-common everywhere.  In a sane world, it
25684           would be the default in libtool, because without it, you can't
25685           build DLLs on Windows.
25686         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
25687         * docs/gst/gstreamer-sections.txt:
25688         * docs/gst/tmpl/gstcpu.sgml:
25689         * docs/gst/tmpl/gstdata.sgml:
25690         * docs/gst/tmpl/gstthread.sgml:
25691
25692 2005-05-19  David Schleef  <ds@schleef.org>
25693
25694         * gst/gstminiobject.c: (gst_value_set_mini_object),
25695         (gst_value_take_mini_object), (gst_value_get_mini_object):
25696         * gst/gstminiobject.h: Add GValue set/get functions.
25697
25698 2005-05-19  Wim Taymans  <wim@fluendo.com>
25699
25700         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
25701         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
25702         (gst_subbuffer_init), (gst_buffer_is_span_fast):
25703         * gst/gstbuffer.h:
25704         * gst/gstbus.c: (gst_bus_post):
25705         * gst/gstelement.c: (gst_element_get_random_pad):
25706         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
25707         Make subbufer unref the parent in finalize.
25708         some more debugging info.
25709
25710
25711 2005-05-19  Wim Taymans  <wim@fluendo.com>
25712
25713         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25714         (gst_basesink_init), (gst_basesink_finalize),
25715         (gst_basesink_activate), (gst_basesink_change_state):
25716         Don't free preroll queue too early.
25717
25718 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25719
25720         * gst/Makefile.am:
25721         * gst/ROADMAP:
25722           Hi, I'm outdated. Please shoot me.
25723
25724 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25725
25726         * gst/gstpipeline.c: (gst_pipeline_send_event):
25727           Do not access variables after they have been deleted.
25728
25729 2005-05-19  Wim Taymans  <wim@fluendo.com>
25730
25731         * tools/gst-inspect.c: (print_plugin_features):
25732         A plugin feature does unfortunatly not use the
25733         object name yet...
25734
25735 2005-05-18  Wim Taymans  <wim@fluendo.com>
25736
25737         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
25738         Port _span() functions to new subbuffers.
25739
25740 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25741
25742         * gst/gstbin.c: (gst_bin_add_func):
25743           Fix clock settery in bins when adding kids after the clock has
25744           been selected.
25745
25746 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25747
25748         * gst/elements/gstidentity.c: (gst_identity_class_init):
25749           Workaround until signals support GstMiniObject.
25750
25751 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
25752
25753         * gst/gstbuffer.c:
25754         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
25755
25756 2005-05-18  Wim Taymans  <wim@fluendo.com>
25757
25758         * gst/base/Makefile.am:
25759         * gst/base/gstadapter.c: (gst_adapter_base_init),
25760         (gst_adapter_class_init), (gst_adapter_init),
25761         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
25762         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
25763         (gst_adapter_flush), (gst_adapter_available),
25764         (gst_adapter_available_fast):
25765         * gst/base/gstadapter.h:
25766         Ported and added adapter to the base classes.
25767
25768 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25769
25770         * gst/gst.c:
25771         * gst/gstmessage.c:
25772           Make sure the class is reffed/unreffed once before threads can be
25773           used.  Fixes #304551.
25774
25775 2005-05-17  Wim Taymans  <wim@fluendo.com>
25776
25777         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
25778         (gst_basesink_chain_unlocked), (gst_basesink_activate):
25779         * gst/gstminiobject.c: (gst_mini_object_get_type),
25780         (gst_mini_object_free):
25781         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
25782         (gst_pad_push), (gst_pad_push_event):
25783         * gst/gstqueue.c: (gst_queue_change_state):
25784         Don't queue buffers in basesink when we are flushing.
25785         Unref buffer when flushing in basesink.
25786         Flush queue when going to READY
25787         Unref buffer when _push() returns an error.
25788         Don't free MiniObject instance when refcount is incremented
25789         in _finalize() so that we can recover objects.
25790
25791 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25792
25793         * docs/manual/advanced-schedulers.xml:
25794         * docs/manual/appendix-checklist.xml:
25795         * docs/pwg/advanced-clock.xml:
25796         * docs/pwg/advanced-interfaces.xml:
25797         * docs/pwg/advanced-request.xml:
25798         * docs/pwg/advanced-types.xml:
25799         * docs/pwg/intro-preface.xml:
25800         * examples/plugins/example.c: (gst_example_get_type),
25801         (gst_example_class_init), (gst_example_chain),
25802         (gst_example_set_property), (gst_example_get_property),
25803         (gst_example_change_state), (plugin_init):
25804         * examples/plugins/example.h:
25805           small doc fixes
25806
25807 2005-05-17  Wim Taymans  <wim@fluendo.com>
25808
25809         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
25810         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
25811         * gst/gstqueue.c: (gst_queue_change_state):
25812         Clear queue when going to READY.
25813         Remove IN_SETCAPS flag too.
25814
25815 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
25816
25817         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
25818           Remove implicit cast from gboolean to GstElementStateReturn;
25819           make sure we still return failure in paused => ready case if
25820           the parent class fails to change state and our own stop 
25821           vfunc succeeds.
25822
25823 2005-05-17  Wim Taymans  <wim@fluendo.com>
25824
25825         * tools/gst-launch.c: (event_loop):
25826         Message was unreffed too soon.
25827
25828 2005-05-16  Andy Wingo  <wingo@pobox.com>
25829
25830         * gst/gstbin.c (sink_iterator_filter): Err... um...
25831
25832         * check/gst/gstbin.c (test_ghost_pads): New test for the
25833         ghosting-if-elements-not-in-same-bin behavior.
25834
25835 2005-05-16  David Schleef  <ds@schleef.org>
25836
25837         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
25838         accessing refcount directly.
25839
25840 2005-05-15  David Schleef  <ds@schleef.org>
25841
25842         * check/Makefile.am: remove GstData checks
25843         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
25844         * gst/Makefile.am: add miniobject, remove data
25845         * gst/gst.h: add miniobject, remove data
25846         * gst/gstdata.c: remove
25847         * gst/gstdata.h: remove
25848         * gst/gstdata_private.h: remove
25849         * gst/gsttypes.h: remove GstEvent and GstMessage
25850         * gst/gstelement.c: (gst_element_post_message): fix for API changes
25851         * gst/gstmarshal.list: change BOXED -> OBJECT
25852
25853         Implement GstMiniObject.
25854         * gst/gstminiobject.c:
25855         * gst/gstminiobject.h:
25856
25857         Modify to be subclasses of GstMiniObject.
25858         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
25859         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
25860         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
25861         (gst_subbuffer_get_type), (gst_subbuffer_init),
25862         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
25863         (gst_buffer_span):
25864         * gst/gstbuffer.h:
25865         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
25866         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
25867         (_gst_event_copy), (gst_event_new):
25868         * gst/gstevent.h:
25869         * gst/gstmessage.c: (_gst_message_initialize),
25870         (gst_message_get_type), (gst_message_class_init),
25871         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
25872         (gst_message_new), (gst_message_new_error),
25873         (gst_message_new_warning), (gst_message_new_tag),
25874         (gst_message_new_state_changed), (gst_message_new_application):
25875         * gst/gstmessage.h:
25876         * gst/gstprobe.c: (gst_probe_perform),
25877         (gst_probe_dispatcher_dispatch):
25878         * gst/gstprobe.h:
25879         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
25880         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
25881         (_gst_query_copy), (gst_query_new):
25882
25883         Update elements for GstData -> GstMiniObject changes
25884         * gst/gstquery.h:
25885         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
25886         (gst_queue_chain), (gst_queue_loop):
25887         * gst/elements/gstbufferstore.c:
25888         (gst_buffer_store_add_buffer_func),
25889         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
25890         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25891         (gst_fakesink_render):
25892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25893         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
25894         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
25895         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
25896         (gst_filesrc_create_read):
25897         * gst/elements/gstidentity.c: (gst_identity_class_init):
25898         * gst/elements/gsttypefindelement.c:
25899         (gst_type_find_element_src_event), (free_entry_buffers),
25900         (gst_type_find_element_handle_event):
25901         * libs/gst/dataprotocol/dataprotocol.c:
25902         (gst_dp_header_from_buffer):
25903         * libs/gst/dataprotocol/dataprotocol.h:
25904         * libs/gst/dataprotocol/dp-private.h:
25905
25906 2005-05-15  David Schleef  <ds@schleef.org>
25907
25908         * gst/elements/gstelements.c: Don't include headers that were
25909         just removed.
25910
25911 2005-05-15  David Schleef  <ds@schleef.org>
25912
25913         * gst/elements/Makefile.am: Remove some elements that don't
25914         need to be in the core (or even exist at all).
25915         * gst/elements/gstaggregator.c:
25916         * gst/elements/gstaggregator.h:
25917         * gst/elements/gstmd5sink.c:
25918         * gst/elements/gstmd5sink.h:
25919         * gst/elements/gstmultifilesrc.c:
25920         * gst/elements/gstmultifilesrc.h:
25921         * gst/elements/gstpipefilter.c:
25922         * gst/elements/gstpipefilter.h:
25923         * gst/elements/gstshaper.c:
25924         * gst/elements/gstshaper.h:
25925         * gst/elements/gststatistics.c:
25926         * gst/elements/gststatistics.h:
25927         * po/POTFILES.in: Remove above files.
25928
25929 2005-05-14  Andy Wingo  <wingo@pobox.com>
25930
25931         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
25932         so as to get the refs right.
25933         (sink_iterator_filter): New function, wraps bin_element_is_sink,
25934         unreffing objects that don't pass the filter.
25935
25936         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
25937         gst_element_set_bus.
25938         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
25939         normal cases, this will destroy the bus.
25940
25941         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
25942         object.
25943
25944         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
25945         has no sinks.
25946
25947 2005-05-13  Andy Wingo  <wingo@pobox.com>
25948
25949         * gst/gstutils.c (gst_element_link_pads): Instead of calling
25950         gst_pad_link, call pad_link_maybe_ghosting,
25951         (pad_link_maybe_ghosting): Links pads, making sure that the
25952         elements being linked are in the same bin.
25953         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
25954         Helpers for pad_link_maybe_ghosting.
25955
25956 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25957
25958         * configure.ac:
25959           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
25960
25961 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25962
25963         * docs/design/part-element-source.txt:
25964           Mention GstPushSrc
25965
25966 2005-05-12  Wim Taymans  <wim@fluendo.com>
25967
25968         * gst/base/gstbasesink.c: (gst_basesink_init),
25969         (gst_basesink_activate):
25970         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
25971         (gst_basesrc_is_seekable):
25972         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
25973         (bin_element_is_sink), (gst_bin_change_state):
25974         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
25975         * gst/gstelement.h:
25976         Identify sinks by their flag to avoid overly complicated
25977         checks (fow now).
25978         Do state changes even for elements not reachable from the
25979         sinks.
25980         BaseSink is a sink now :)
25981         Some more debugging info in the basesrc.
25982
25983
25984 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25985
25986         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
25987           Implement _query on a bin, similar to _send_event.
25988
25989 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
25990
25991         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
25992           Discont event offset format should be GST_FORMAT_BYTES,
25993           not GST_FORMAT_TIME.
25994
25995 2005-05-12  Wim Taymans  <wim@fluendo.com>
25996
25997         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
25998         Same fix as Ronald's but without the signal. 
25999
26000 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26001
26002         * gst/gstutils.c: (gst_element_query_position):
26003           No, an element is not a pad.
26004
26005 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26006
26007         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26008         (gst_bin_get_state):
26009           If a child is removed from a bin while we remove the child from
26010           the bin and while we're retrieving its state, signal this to the
26011           get_state function so we abort the wait (instead of waiting for
26012           a timeout) and can immediately re-iterate over all other elements.
26013
26014 2005-05-12  Wim Taymans  <wim@fluendo.com>
26015
26016         * gst/base/Makefile.am:
26017         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26018         (gst_basesrc_start):
26019         * gst/base/gstbasesrc.h:
26020         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26021         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26022         (gst_pushsrc_init), (gst_pushsrc_create):
26023         * gst/base/gstpushsrc.h:
26024         Added is_seekable to BaseSrc
26025         Added simple PushSrc.
26026
26027 2005-05-11  Wim Taymans  <wim@fluendo.com>
26028
26029         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26030         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26031         (gst_element_link_pads), (gst_element_query_position),
26032         (gst_element_query_convert), (intersect_caps_func),
26033         (gst_pad_query_position), (gst_pad_query_convert):
26034         Fix refcounting in utils function.
26035         No point in trying to activate a pad when it's added, it could
26036         be added from the state change function and then we deadlock, the
26037         element has to decide what to do.
26038
26039 2005-05-10  Andy Wingo  <wingo@pobox.com>
26040
26041         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26042         *all* the arguments.
26043
26044         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26045         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26046         lock (according to the docs -- if this is wrong change the docs).
26047
26048         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26049         flush messages in the NULL state.
26050
26051         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26052         message immediately and return.
26053         (gst_bus_set_flushing): New function. If a bus is flushing, it
26054         flushes out any queued messages and immediately unrefs new
26055         messages. This is so when an element goes to NULL, all of the
26056         unhandled messages coming from it can be freed, and their
26057         references to the element dropped. In other words: message source
26058         ref considered harmful :P
26059
26060         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26061         we're finished with it.
26062
26063         * gst/gstmessage.c (gst_message_new_state_changed): 
26064
26065 2005-05-10  Wim Taymans  <wim@fluendo.com>
26066
26067         * gst/gstvalue.c: (gst_value_compare_flags),
26068         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26069         (_gst_value_initialize):
26070         Added flags serialize/deserialize/compare code.
26071
26072 2005-05-09  Andy Wingo  <wingo@pobox.com>
26073
26074         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26075         Intersect the peer's caps with our caps.
26076
26077 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26078
26079         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26080         * gst/elements/gsttypefindelement.c: (find_peek):
26081           Handle negative offsets better. Fixes decodebin.
26082
26083 2005-05-09  Wim Taymans  <wim@fluendo.com>
26084
26085         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26086         (gst_base_transform_event):
26087         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26088         Implement accept_caps.
26089         Fix silly lock/unlock mismatch in base class.
26090
26091 2005-05-09  Wim Taymans  <wim@fluendo.com>
26092
26093         * docs/design/draft-push-pull.txt:
26094         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26095         * gst/elements/gstfilesink.c: (gst_filesink_init),
26096         (gst_filesink_query):
26097         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26098         (gst_type_find_handle_src_query), (find_element_get_length):
26099         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26100         * gst/gstelement.h:
26101         * gst/gstmessage.c:
26102         * gst/gstmessage.h:
26103         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26104         (gst_real_pad_get_caps_unlocked),
26105         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26106         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26107         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26108         (gst_real_pad_dispose), (gst_real_pad_finalize),
26109         (gst_pad_load_and_link), (gst_pad_save_thyself),
26110         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26111         (gst_pad_check_pull_range), (gst_pad_pull_range),
26112         (gst_pad_template_get_type), (gst_pad_template_class_init),
26113         (gst_pad_template_init), (gst_pad_template_dispose),
26114         (name_is_valid), (gst_static_pad_template_get),
26115         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26116         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26117         (gst_pad_get_element_private), (gst_pad_start_task),
26118         (gst_pad_pause_task), (gst_pad_stop_task),
26119         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26120         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26121         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26122         (gst_ghost_pad_new):
26123         * gst/gstpad.h:
26124         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26125         (gst_query_new_position), (gst_query_set_position),
26126         (gst_query_parse_position), (gst_query_new_convert),
26127         (gst_query_set_convert), (gst_query_parse_convert):
26128         * gst/gstquery.h:
26129         * gst/gstqueryutils.c:
26130         * gst/gstqueryutils.h:
26131         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26132         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26133         (gst_queue_handle_src_query):
26134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26135         (gst_element_query_position), (gst_element_query_convert),
26136         (intersect_caps_func), (gst_pad_query_position),
26137         (gst_pad_query_convert):
26138         * gst/gstutils.h:
26139         * tools/gst-inspect.c: (print_pad_info):
26140         * tools/gst-xmlinspect.c: (print_element_info):
26141         Remove old query functions. Ported old code.
26142         Added position/convert helper functions to gstutils.
26143         Reordered gstpad.c code, grouping relevant things.
26144         Remove gst_message_new(), always need to speficy a specific
26145         message.
26146
26147
26148 2005-05-09  Andy Wingo  <wingo@pobox.com>
26149
26150         * gst/gstiterator.h: Add some includes.
26151
26152         * gst/gstqueryutils.h: Include more headers.
26153
26154         * gst/gstpad.h:
26155         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26156         some uses of gst_pad_query.
26157
26158         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26159         NULL out parameters.
26160         (gst_query_new_position): New proc, allocates a new position
26161         query.
26162
26163         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26164         gstqueryutils.c to the build.
26165
26166         * gst/gststructure.c (gst_structure_set_valist): Implement with
26167         the generic G_VALUE_COLLECT.
26168         
26169 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26170
26171         * gst/Makefile.am: (gst_headers):
26172         Added gstqueryutils.h to the list of headers to install, that was
26173         a 'nachty' move wingo :)
26174
26175 2005-05-06  Andy Wingo  <wingo@pobox.com>
26176
26177         * gst/gstquery.h
26178         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26179         GstData, init a memchunk.
26180         (standard_definitions): Add a few query types, deprecate a few.
26181         (gst_query_get_type): New proc.
26182         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26183         implementation.
26184         (gst_query_new_application, gst_query_get_structure): New public
26185         procs.
26186
26187         * docs/design/draft-query.txt: Removed LINKS from the query types,
26188         because all the rest can be dispatched to other pads -- seemed
26189         ugly to have a query that couldn't be dispatched. internal_links
26190         is fine as a pad method.
26191
26192         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26193         in gstpad.c, but maintain binary compatibility for the moment.
26194         Will fix before 0.9 is out.
26195
26196         * gst/gstqueryutils.c: 
26197         * gst/gstqueryutils.h: New files, implement 3 methods for each
26198         query type: parse_query, parse_response, and set. Probably need an
26199         allocator as well.
26200
26201         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26202
26203         * gst/elements/gstfilesink.c (gst_filesink_query2):
26204         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26205         query_types, and formats methods.
26206
26207         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26208         (gst_pad_set_query2_function): New functions.
26209         (gst_real_pad_init): Set query2_default as the default query2
26210         function. Basically just dispatches to internally linked pads.
26211
26212         Needs review!
26213         
26214         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26215         without using the atomic operations. Only one thread can possibly
26216         be accessing the data at this point. Changed so as to avoid
26217         gst_atomic operations.
26218
26219 2005-05-06  Wim Taymans  <wim@fluendo.com>
26220
26221         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26222         Also set caps if we use the fallback buffer alloc.
26223
26224 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26225
26226         * docs/gst/Makefile.am:
26227         * docs/gst/gstreamer-docs.sgml:
26228         * docs/gst/gstreamer-sections.txt:
26229         * docs/gst/tmpl/gstatomic.sgml:
26230         * docs/gst/tmpl/gstmemchunk.sgml:
26231         * testsuite/elements/struct_i386.h:
26232         * win32/GStreamer.vcproj:
26233         * win32/Makefile:
26234           Purge GstAtomic stuff from docs and win32 makefiles as well
26235
26236 2005-05-06  Wim Taymans  <wim@fluendo.com>
26237
26238         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26240         * gst/gstpad.c: (gst_pad_peer_get_caps):
26241         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26242         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26243         (gst_queue_src_activate), (gst_queue_change_state):
26244         * gst/gstqueue.h:
26245         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26246         (intersect_caps_func):
26247         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26248         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26249         Some fixes for the peer_get_caps() change.
26250
26251 2005-05-06  Wim Taymans  <wim@fluendo.com>
26252
26253         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26254         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26255         (gst_basesink_activate):
26256         Actually do something with error codes returned from the push
26257         functions.
26258
26259 2005-05-06  Wim Taymans  <wim@fluendo.com>
26260
26261         * docs/design/part-element-sink.txt:
26262         * docs/design/part-element-source.txt:
26263         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26264         (gst_basesink_event), (gst_basesink_activate):
26265         * gst/base/gstbasesink.h:
26266         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26267         (gst_basesrc_activate):
26268         * gst/base/gstbasesrc.h:
26269         * gst/gstelement.c: (gst_element_pads_activate):
26270         Some more documentation.
26271         Fixed scheduling decision in _pads_activate().
26272
26273 2005-05-05  Andy Wingo  <wingo@pobox.com>
26274
26275         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26276         the test suite.
26277
26278 2005-05-05  Wim Taymans  <wim@fluendo.com>
26279
26280         * gst/base/Makefile.am:
26281         * gst/base/gstbasesink.h:
26282         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26283         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26284         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26285         (gst_collectpads_class_init), (gst_collectpads_init),
26286         (gst_collectpads_finalize), (gst_collectpads_new),
26287         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26288         (find_pad), (gst_collectpads_remove_pad),
26289         (gst_collectpads_is_active), (gst_collectpads_collect),
26290         (gst_collectpads_collect_range), (gst_collectpads_start),
26291         (gst_collectpads_stop), (gst_collectpads_peek),
26292         (gst_collectpads_pop), (gst_collectpads_available),
26293         (gst_collectpads_read), (gst_collectpads_flush),
26294         (gst_collectpads_chain):
26295         * gst/base/gstcollectpads.h:
26296         * gst/elements/Makefile.am:
26297         * gst/elements/gstelements.c:
26298         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26299         (gst_fakesink_get_times), (gst_fakesink_event),
26300         (gst_fakesink_preroll), (gst_fakesink_render):
26301         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26302         (gst_filesink_init), (gst_filesink_set_location),
26303         (gst_filesink_open_file), (gst_filesink_close_file),
26304         (gst_filesink_pad_query), (gst_filesink_event),
26305         (gst_filesink_render), (gst_filesink_change_state):
26306         * gst/elements/gstfilesink.h:
26307         Added object to help in making collect pad based elements.
26308         Ported filesink.
26309         Make event function in sink baseclass return gboolean.
26310
26311 2005-05-05  Wim Taymans  <wim@fluendo.com>
26312
26313         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26314         (gst_bin_get_by_name):
26315         * gst/gstbuffer.h:
26316         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26317         (gst_clock_finalize):
26318         * gst/gstdata.c: (gst_data_replace):
26319         * gst/gstdata.h:
26320         * gst/gstelement.c: (gst_element_request_pad),
26321         (gst_element_pads_activate):
26322         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26323         (gst_object_unref):
26324         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26325         (gst_pad_set_checkgetrange_function),
26326         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26327         (gst_pad_check_pull_range), (gst_pad_pull_range),
26328         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26329         (gst_pad_pause_task), (gst_pad_stop_task):
26330         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26331         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26332         Fix name lookup in GstBin.
26333         Added _data_replace() function and _buffer_replace()
26334         Use finalize method to clean up clock.
26335         Fix refcounting on request pads.
26336         Fix pad schedule mode error.
26337         Some more object refcounting debug info,
26338
26339
26340 2005-05-04  Andy Wingo <wingo@pobox.com>
26341
26342         * check/Makefile.am:
26343         * docs/gst/tmpl/gstatomic.sgml:
26344         * docs/gst/tmpl/gstplugin.sgml:
26345         * gst/base/gstbasesink.c: (gst_basesink_activate):
26346         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26347         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26348         (gst_basesrc_query), (gst_basesrc_set_property),
26349         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26350         (gst_basesrc_activate):
26351         * gst/base/gstbasesrc.h:
26352         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26353         (gst_base_transform_src_activate):
26354         * gst/elements/gstelements.c:
26355         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26356         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26357         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26358         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26359         (gst_type_find_element_checkgetrange),
26360         (gst_type_find_element_activate):
26361         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26362         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26363         (gst_caps_load_thyself):
26364         * gst/gstelement.c: (gst_element_pads_activate),
26365         (gst_element_save_thyself), (gst_element_restore_thyself):
26366         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26367         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26368         * gst/gstpad.h:
26369         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26370         (gst_xml_parse_file), (gst_xml_parse_memory),
26371         (gst_xml_get_element), (gst_xml_make_element):
26372         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26373         (_file_index_id_save_xml), (gst_file_index_commit):
26374         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26375         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26376         (load_paths):
26377         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26378         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26379         * tools/gst-complete.c: (main):
26380         * tools/gst-compprep.c: (main):
26381         * tools/gst-inspect.c: (print_element_properties_info):
26382         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26383         * tools/gst-xmlinspect.c: (print_element_properties):
26384         GCC 4 fixen.
26385         
26386 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26387
26388         * gst/gstplugin.c: (gst_plugin_check_module),
26389         (gst_plugin_check_file), (gst_plugin_load_file):
26390             apply patch from #172526 to make register work on MacOSX
26391
26392 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26393
26394         * docs/gst/tmpl/gstconfig.sgml:
26395         * gst/gstconfig.h.in:
26396           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26397         * testsuite/debug/printf_extension.c: (main):
26398           Do not use GST_PTR_FORMAT on pointers to types with
26399           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26400         * testsuite/elements/property.h:
26401           use correct printf format
26402
26403 2005-05-02  Wim Taymans  <wim@fluendo.com>
26404
26405         * docs/design/draft-push-pull.txt:
26406         * docs/design/draft-query.txt:
26407         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
26408         (gst_basesrc_start):
26409         Added draft for new query API.
26410         Added draft for better selecting scheduling methods.
26411         Make basesrc ignore length if the subclass does not support
26412         it.
26413
26414 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26415
26416         * gst/Makefile.am:
26417           possible fixes for automake-1.5 - _LIBADD is reserved
26418
26419 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26420
26421         * docs/faq/Makefile.am:
26422         * docs/manual/Makefile.am:
26423         * docs/manuals.mak:
26424         * docs/pwg/Makefile.am:
26425         * gst/Makefile.am:
26426           possible fixes for automake-1.5
26427
26428 2005-04-28  Wim Taymans  <wim@fluendo.com>
26429
26430         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26431         (gst_basesink_pad_getcaps), (gst_basesink_init),
26432         (gst_basesink_do_sync):
26433         * gst/gstclock.c: (gst_clock_entry_new):
26434         * gst/gstevent.c: (gst_event_discont_get_value):
26435         * gst/gstpipeline.c: (pipeline_bus_handler),
26436         (gst_pipeline_change_state):
26437         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
26438         Better debugging of clocking info.
26439         Allow NULL values when getting discont values.
26440
26441 2005-04-27  Wim Taymans  <wim@fluendo.com>
26442
26443         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26444         * check/gst/gstpad.c: (gst_pad_suite):
26445         Increase timeout for checks.
26446
26447 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26448
26449         * check/Makefile.am:
26450           fix the broken rule for cleanup.  Apparently this rule is
26451           only needed on FC2, so maybe this warrants further autotool
26452           inspection.
26453
26454 2005-04-26  Wim Taymans  <wim@fluendo.com>
26455
26456         * gst/gsttrashstack.h:
26457         Ooohh. a nasty one! After having a failed pop() from the stack,
26458         it's possible that the stack is empty. In that case, don't
26459         follow the NULL pointer.
26460
26461 2005-04-25  Wim Taymans  <wim@fluendo.com>
26462
26463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26464         (gst_pad_set_checkgetrange_function),
26465         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
26466         (gst_pad_check_pull_range), (gst_pad_pull_range),
26467         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26468         (gst_pad_pause_task), (gst_pad_stop_task):
26469         * gst/gstplugin.c: (gst_plugin_load):
26470         * gst/gstplugin.h:
26471         Remove gst_library_load as it does more harm than good with
26472         the new g_module flags.
26473         Revert bogus caps template check in pad linking, pad caps
26474         are important when linking not the template, which is more
26475         general than the current caps.
26476
26477 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26478
26479         * gst/autoplug/.cvsignore:
26480         * gst/autoplug/Makefile.am:
26481         * gst/autoplug/gstsearchfuncs.c:
26482         * gst/autoplug/gstsearchfuncs.h:
26483         * gst/autoplug/gstspider.c:
26484         * gst/autoplug/gstspider.h:
26485         * gst/autoplug/gstspideridentity.c:
26486         * gst/autoplug/gstspideridentity.h:
26487         * gst/autoplug/spidertest.c:
26488           Die, spider, die.
26489
26490 2005-04-25  Wim Taymans  <wim@fluendo.com>
26491
26492         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26493         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26494         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
26495         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
26496         * gst/gstpad.h:
26497         Added stubs for unimplemented functions. 
26498
26499 2005-04-24  David Schleef  <ds@schleef.org>
26500
26501         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
26502         please fix.
26503
26504 2005-04-24  David Schleef  <ds@schleef.org>
26505
26506         Convert everything from GstAtomicInt to g_atomic_int_*, and
26507         remove gstatomic.
26508         * gst/Makefile.am:
26509         * gst/gstatomic.c:
26510         * gst/gstatomic.h:
26511         * gst/gstatomic_impl.h:
26512         * gst/gstbuffer.c:
26513         * gst/gstcaps.c:
26514         * gst/gstcaps.h:
26515         * gst/gstclock.c:
26516         * gst/gstclock.h:
26517         * gst/gstdata.c:
26518         * gst/gstdata.h:
26519         * gst/gstdata_private.h:
26520         * gst/gstevent.c:
26521         * gst/gstinfo.c:
26522         * gst/gstinfo.h:
26523         * gst/gstmessage.c:
26524         * gst/gstobject.c:
26525         * gst/gstobject.h:
26526         * gst/gststructure.c:
26527         * gst/gststructure.h:
26528         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
26529         * gst/gstutils.h:
26530
26531 2005-04-24  David Schleef  <ds@schleef.org>
26532
26533         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
26534         make the regressions tests work.  Remove some code that is no
26535         longer true.
26536         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
26537         Disable warning for pads without templates.
26538
26539 2005-04-24  David Schleef  <ds@schleef.org>
26540
26541         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
26542         functions that handle filtered links.
26543         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
26544         removed functions.
26545         * gst/gstutils.c: Fix/remove utility functions that handle
26546         filtered caps.
26547         * gst/gstutils.h:
26548         * gst/gstvalue.c: Add serialization/deserialization of caps
26549         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
26550         requires fixing so that the filter caps notation creates
26551         a capsfilter element and sets the filter_caps property.  I
26552         think everyone probably wants to keep the shorthand notation.
26553         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
26554         * docs/gst/tmpl/gstpad.sgml:
26555
26556         * gst/elements/gstelements.c: Register capsfilter element.
26557         * gst/Makefile.am: fix spacing
26558         * docs/random/ds/0.9-suggested-changes: random
26559
26560 2005-04-23  David Schleef  <ds@schleef.org>
26561
26562         * gst/elements/Makefile.am:
26563         * gst/elements/gstcapsfilter.c: New element that acts like an
26564         identity, but filters caps.  Will eventually replace filtered
26565         caps in pad linking.
26566         * gst/gstutils.c: (gst_element_create_all_pads): New function
26567         to create all the ALWAYS pads that are registered with an
26568         element class.  This functionality should eventually be
26569         merged in with GstElement initialization.
26570         * gst/gstutils.h:
26571         * testsuite/trigger/README: part of trigger test code that should
26572         have been checked in a long time ago.
26573
26574 2005-04-23  David Schleef  <ds@schleef.org>
26575
26576         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
26577         needed with new versions of libtool (nobody will confirm this),
26578         and hard to carry around.
26579         * gst/autoplug/Makefile.am:
26580         * gst/base/Makefile.am:
26581         * gst/elements/Makefile.am:
26582         * gst/indexers/Makefile.am:
26583         * gst/schedulers/Makefile.am:
26584         * libs/gst/bytestream/Makefile.am:
26585         * libs/gst/control/Makefile.am:
26586         * libs/gst/dataprotocol/Makefile.am:
26587         * libs/gst/getbits/Makefile.am:
26588
26589 2005-04-21  Wim Taymans  <wim@fluendo.com>
26590
26591         * docs/design/draft-push-pull.txt:
26592         * docs/design/part-MT-refcounting.txt:
26593         * docs/design/part-TODO.txt:
26594         * docs/design/part-caps.txt:
26595         * docs/design/part-events.txt:
26596         * docs/design/part-gstbus.txt:
26597         * docs/design/part-gstpipeline.txt:
26598         * docs/design/part-messages.txt:
26599         * docs/design/part-push-pull.txt:
26600         * docs/design/part-query.txt:
26601         Some more docs.
26602
26603 2005-04-21  Wim Taymans  <wim@fluendo.com>
26604
26605         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
26606         (gst_message_new), (gst_message_new_error),
26607         (gst_message_new_warning), (gst_message_new_tag),
26608         (gst_message_new_state_changed), (gst_message_new_application),
26609         (gst_message_get_structure):
26610         * gst/gstmessage.h:
26611         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26612         (gst_structure_copy_conditional):
26613         Use parent refcount in GstMessage to ensure GstStructure
26614         consistency.
26615         Cleaned up headers a bit.
26616         
26617
26618 2005-04-20  Wim Taymans  <wim@fluendo.com>
26619
26620         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26621         (gst_basesink_pad_getcaps), (gst_basesink_init),
26622         (gst_basesink_chain_unlocked):
26623         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
26624         (gst_type_find_helper):
26625         * gst/elements/gsttypefindelement.c:
26626         (gst_type_find_element_have_type), (gst_type_find_element_init),
26627         (stop_typefinding), (gst_type_find_element_handle_event),
26628         (find_suggest), (gst_type_find_element_chain),
26629         (gst_type_find_element_checkgetrange),
26630         (gst_type_find_element_getrange), (do_typefind),
26631         (gst_type_find_element_activate):
26632         * gst/gstbuffer.c: (_gst_buffer_sub_free),
26633         (gst_buffer_default_free), (gst_buffer_default_copy),
26634         (gst_buffer_set_caps):
26635         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
26636         (gst_caps_replace):
26637         * gst/gstmessage.c: (gst_message_new),
26638         (gst_message_new_state_changed):
26639         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26640         (gst_pad_set_checkgetrange_function),
26641         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
26642         (gst_pad_set_caps), (gst_pad_check_pull_range),
26643         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
26644         * gst/gstpad.h:
26645         * gst/gsttypefind.c: (gst_type_find_register):
26646         Make gst_caps_replace() work like other _replace() functions.
26647         Use _caps_replace() where possible.
26648         Make sure _message_new() initialises its field.
26649         Add gst_static_pad_template_get_caps()
26650
26651
26652 2005-04-18  Andy Wingo  <wingo@pobox.com>
26653
26654         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
26655         on the peer, not the pad. I think that was a typo. Pass an extra
26656         arg to see if random access is possible. Activate the pads as
26657         PULL_RANGE if possible.
26658
26659         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
26660
26661         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
26662         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
26663         to PROP_....
26664
26665 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26666
26667         * docs/faq/using.xml:
26668           Add note on gstreamer-properties (#154996).
26669
26670 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26671
26672         * docs/random/bbb/optional-properties:
26673           Some analysis on optional properties.
26674
26675 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26676
26677         * docs/gst/tmpl/gstelementfactory.sgml:
26678         * gst/gstelement.h:
26679         * gst/gstelementfactory.c: (gst_element_factory_init),
26680         (gst_element_factory_cleanup), (gst_element_register),
26681         (__gst_element_factory_add_static_pad_template),
26682         (gst_element_factory_get_static_pad_templates),
26683         (gst_element_factory_can_src_caps),
26684         (gst_element_factory_can_sink_caps):
26685         * gst/registries/Makefile.am:
26686         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
26687         (gst_xml_registry_class_init), (gst_xml_registry_init),
26688         (gst_xml_registry_new), (gst_xml_registry_set_property),
26689         (gst_xml_registry_get_property), (get_time), (make_dir),
26690         (gst_xml_registry_get_perms_func),
26691         (plugin_times_older_than_recurse), (plugin_times_older_than),
26692         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
26693         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
26694         (add_to_char_array), (read_string), (read_uint), (read_enum),
26695         (load_pad_template), (load_feature), (load_plugin), (load_paths),
26696         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
26697         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
26698         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
26699         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
26700         (gst_xml_registry_rebuild):
26701         * gst/registries/gstlibxmlregistry.h:
26702         * tools/gst-compprep.c: (main):
26703         * tools/gst-inspect.c: (print_pad_templates_info):
26704         * tools/gst-xmlinspect.c: (print_element_info):
26705           Use libxml2 for registry parsing, use staticpadtemplates in
26706           elementfactories. Makes gst_init() +/- 10x faster.
26707
26708 2005-04-12  Wim Taymans  <wim@fluendo.com>
26709
26710         * gst/base/Makefile.am:
26711         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26712         (gst_basesink_pad_getcaps), (gst_basesink_init),
26713         (gst_basesink_event), (gst_basesink_change_state):
26714         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26715         (gst_basesrc_init), (gst_basesrc_query),
26716         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26717         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26718         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26719         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26720         (gst_basesrc_stop), (gst_basesrc_activate),
26721         (gst_basesrc_change_state):
26722         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26723         (helper_find_suggest), (gst_type_find_helper):
26724         * gst/base/gsttypefindhelper.h:
26725         * gst/elements/Makefile.am:
26726         * gst/elements/gstelements.c:
26727         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26728         (gst_fakesink_get_times), (gst_fakesink_event),
26729         (gst_fakesink_preroll), (gst_fakesink_render):
26730         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26731         (gst_fakesrc_init), (gst_fakesrc_event_handler),
26732         (gst_fakesrc_get_property), (gst_fakesrc_create),
26733         (gst_fakesrc_start), (gst_fakesrc_stop):
26734         * gst/elements/gstfakesrc.h:
26735         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
26736         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26737         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26738         (gst_filesrc_create_read), (gst_filesrc_create),
26739         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
26740         (gst_filesrc_start):
26741         * gst/elements/gsttypefindelement.c:
26742         (gst_type_find_element_have_type), (gst_type_find_element_init),
26743         (start_typefinding), (stop_typefinding), (push_buffer_store),
26744         (gst_type_find_element_handle_event),
26745         (gst_type_find_element_chain),
26746         (gst_type_find_element_checkgetrange),
26747         (gst_type_find_element_getrange), (do_typefind),
26748         (gst_type_find_element_activate),
26749         (gst_type_find_element_change_state):
26750         * gst/elements/gsttypefindelement.h:
26751         * gst/gstpipeline.c: (pipeline_bus_handler):
26752         Added typefind helper.
26753         Small preroll fix in the base sink.
26754         Disable typefind code in basesrc.
26755         Crude port of typefindelement.
26756         Fakesrc cleanups.
26757
26758
26759 2005-04-11  Wim Taymans  <wim@fluendo.com>
26760
26761         * check/gst/gstbus.c: (gstbus_suite):
26762         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
26763         * check/gstcheck.h:
26764           Fix up the timeout so that the test does not fail.
26765
26766 2005-04-06  Wim Taymans  <wim@fluendo.com>
26767
26768         * gst/base/README:
26769         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26770         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
26771         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26772         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26773         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26774         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26775         (gst_basesrc_stop), (gst_basesrc_activate),
26776         (gst_basesrc_change_state), (basesrc_find_peek),
26777         (basesrc_find_suggest), (gst_basesrc_type_find):
26778         * gst/base/gstbasesrc.h:
26779         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
26780         (gst_filesrc_class_init), (gst_filesrc_init),
26781         (gst_filesrc_finalize), (gst_filesrc_set_location),
26782         (gst_filesrc_set_property), (gst_filesrc_get_property),
26783         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26784         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26785         (gst_filesrc_create_read), (gst_filesrc_create),
26786         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
26787         * gst/elements/gstfilesrc.h:
26788         * gst/gstelement.c: (gst_element_get_state_func),
26789         (gst_element_lost_state), (gst_element_pads_activate):
26790         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26791         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26792         (gst_pad_pull_range):
26793         * gst/gstpad.h:
26794         More work on the generic source base class, implement seeking,
26795         query.
26796         Make filesrc extend the base source class.
26797         Added gst_pad_set_checkgetrange_function to GstPad.
26798
26799 2005-04-06  Andy Wingo  <wingo@pobox.com>
26800
26801         * pkgconfig/gstreamer-base.pc.in:
26802         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
26803
26804         * pkgconfig/Makefile.am:
26805         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
26806
26807 2005-04-04  Wim Taymans  <wim@fluendo.com>
26808
26809         * gst/base/Makefile.am:
26810         * gst/base/README:
26811         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26812         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26813         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26814         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
26815         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26816         (gst_basesrc_base_init), (gst_basesrc_class_init),
26817         (gst_basesrc_init), (gst_basesrc_get_formats),
26818         (gst_basesrc_get_query_types), (gst_basesrc_query),
26819         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
26820         (gst_basesrc_set_property), (gst_basesrc_get_property),
26821         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
26822         (gst_basesrc_loop), (gst_basesrc_activate),
26823         (gst_basesrc_change_state):
26824         * gst/base/gstbasesrc.h:
26825         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
26826         (gst_fakesrc_class_init), (gst_fakesrc_init),
26827         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
26828         (gst_fakesrc_get_property), (gst_fakesrc_create):
26829         * gst/elements/gstfakesrc.h:
26830         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
26831         (gst_filesrc_open_file), (gst_filesrc_loop),
26832         (gst_filesrc_activate), (filesrc_find_peek),
26833         (gst_filesrc_type_find):
26834         Made base source class, make fakesrc extend it.
26835         Add comments to basesink class.
26836         Some filesrc cleanup.
26837
26838 2005-03-31  David Schleef  <ds@schleef.org>
26839
26840         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
26841         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
26842         expected to link against libgstreamer.
26843         * gst/base/Makefile.am: link against libgstreamer
26844         * gst/elements/Makefile.am: same
26845
26846 2005-03-31  Andy Wingo  <wingo@pobox.com>
26847
26848         * tests/instantiate/Makefile.am:
26849         * tests/instantiate/caps.c: Add test to test speed of caps copy
26850         and free.
26851
26852         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
26853         GMemChunk to be fair.
26854
26855         * gst/gsttrashstack.h: Remove warning about using the fallback
26856         trash stack implementation, it's still faster than malloc.
26857
26858 2005-03-30  Andy Wingo  <wingo@pobox.com>
26859
26860         * tests/complexity.c: Add a copyright.
26861
26862 2005-03-31  Wim Taymans  <wim@fluendo.com>
26863
26864         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
26865         (gst_base_transform_class_init), (gst_base_transform_init),
26866         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26867         (gst_base_transform_get_property),
26868         (gst_base_transform_sink_activate),
26869         (gst_base_transform_src_activate),
26870         (gst_base_transform_change_state):
26871         * gst/base/gstbasetransform.h:
26872         * gst/elements/gstidentity.c: (gst_identity_class_init),
26873         (gst_identity_event), (gst_identity_check_perfect),
26874         (gst_identity_transform), (gst_identity_start),
26875         (gst_identity_stop):
26876         Added start/stop methods to transform base class so subclasses 
26877         don't need to deal with state changes even.
26878
26879 2005-03-31  Wim Taymans  <wim@fluendo.com>
26880
26881         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
26882         (gst_event_new_discontinuous), (gst_event_discont_get_value):
26883         * gst/gstevent.h:
26884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26885         (gst_pad_pull_range):
26886         Added rate to the discont event to prepare for variable speed
26887         and reverse playback.
26888
26889 2005-03-29  David Schleef  <ds@schleef.org>
26890
26891         * configure.ac:
26892         * testsuite/trigger/Makefile.am:
26893         * testsuite/trigger/trigger.c: A little example program to show
26894         how trigger-based elements can work.
26895
26896 2005-03-29  Wim Taymans  <wim@fluendo.com>
26897
26898         * gst/base/Makefile.am:
26899         * gst/base/README:
26900         * gst/base/gstbasesink.c: (gst_basesink_get_type),
26901         (gst_basesink_base_init), (gst_basesink_class_init),
26902         (gst_basesink_pad_getcaps), (gst_basesink_init),
26903         (gst_basesink_activate), (gst_basesink_change_state):
26904         * gst/base/gstbasesink.h:
26905         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
26906         (gst_base_transform_base_init), (gst_base_transform_finalize),
26907         (gst_base_transform_class_init), (gst_base_transform_init),
26908         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
26909         (gst_base_transform_event), (gst_base_transform_getrange),
26910         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
26911         (gst_base_transform_set_property),
26912         (gst_base_transform_get_property),
26913         (gst_base_transform_sink_activate),
26914         (gst_base_transform_src_activate),
26915         (gst_base_transform_change_state):
26916         * gst/base/gstbasetransform.h:
26917         * gst/elements/gstidentity.c: (gst_identity_finalize),
26918         (gst_identity_class_init), (gst_identity_init),
26919         (gst_identity_event), (gst_identity_check_perfect),
26920         (gst_identity_transform), (gst_identity_set_property),
26921         (gst_identity_get_property), (gst_identity_change_state):
26922         * gst/elements/gstidentity.h:
26923         * gst/gstelement.c: (gst_element_get_state_func),
26924         (gst_element_lost_state), (gst_element_pads_activate):
26925         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26926         (gst_pad_check_pull_range), (gst_pad_pull_range):
26927         * gst/gstpad.h:
26928         Simplify pad activation.
26929         Added function to check if pull_range can be performed.
26930         Error out when pulling inactive or flushing pads.
26931         Removed const from refcounted types as it does not make sense.
26932         Simplify pad templates in basesink
26933         Added base class for simple 1-to-1 transforms.
26934         Make identity subclass the base transform.
26935
26936 2005-03-29  Andy Wingo  <wingo@pobox.com>
26937
26938         * docs/libs/gstreamer-libs-overrides.txt: 
26939         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
26940         really don't understand what's going on, but like whatever. I want
26941         green buildbot!
26942
26943         * docs/gst/Makefile.am:
26944         * docs/libs/Makefile.am: Dist the overrides files.
26945
26946         * check/Makefile.am (clean-local): Remove .libs directories.
26947
26948         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
26949         elements to EXTRA_DIST, so po/ files are happy.
26950
26951         * po/POTFILES.in: Er, remove it here.
26952
26953         * po/POTFILES: Remove gstspider.c.
26954
26955         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
26956
26957         * docs/libs/gstreamer-libs-docs.sgml: 
26958         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
26959         bytestream.
26960
26961         * tests/complexity.c (main): Set the length of the preroll queue
26962         on the sinks to prevent a lockup.
26963
26964         * libs/gst/dataprotocol/Makefile.am: 
26965         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
26966         the same as the one in check/gst-libs/gdp.c.
26967
26968         * po/, docs/gst/: Commit automatic changes to docs and po files.
26969
26970         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
26971         the versioned libgstbase.
26972
26973         * check/Makefile.am: Depend on an unversioned gst-register, seems
26974         to make autoconf happier.
26975
26976         * gst/base/Makefile.am: Make libgstbase a versioned lib.
26977
26978 2005-03-28  Wim Taymans  <wim@fluendo.com>
26979
26980         * configure.ac:
26981         * docs/design/part-gstelement.txt:
26982         * docs/design/part-negotiation.txt:
26983         * docs/design/part-preroll.txt:
26984         * docs/design/part-scheduling.txt:
26985         * docs/design/part-states.txt:
26986         * gst/Makefile.am:
26987         * gst/base/Makefile.am:
26988         * gst/base/README:
26989         * gst/base/gstbasesink.c: (gst_basesink_get_template),
26990         (gst_basesink_base_init), (gst_basesink_class_init),
26991         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26992         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26993         (gst_basesink_set_pad_functions),
26994         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
26995         (gst_basesink_set_property), (gst_basesink_get_property),
26996         (gst_base_sink_get_template), (gst_base_sink_get_caps),
26997         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
26998         (gst_basesink_preroll_queue_push),
26999         (gst_basesink_preroll_queue_empty),
27000         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27001         (gst_basesink_event), (gst_basesink_get_times),
27002         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27003         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27004         (gst_basesink_loop), (gst_basesink_activate),
27005         (gst_basesink_change_state):
27006         * gst/base/gstbasesink.h:
27007         * gst/elements/Makefile.am:
27008         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27009         (gst_fakesink_class_init), (gst_fakesink_init),
27010         (gst_fakesink_set_property), (gst_fakesink_get_property),
27011         (gst_fakesink_get_times), (gst_fakesink_event),
27012         (gst_fakesink_preroll), (gst_fakesink_render),
27013         (gst_fakesink_change_state):
27014         * gst/elements/gstfakesink.h:
27015         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27016         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27017         * gst/gstelement.c: (gst_element_add_pad),
27018         (gst_element_get_state_func), (gst_element_abort_state),
27019         (gst_element_commit_state), (gst_element_lost_state),
27020         (gst_element_set_state), (gst_element_pads_activate):
27021         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27022         * gst/gstpipeline.c: (gst_pipeline_send_event),
27023         (gst_pipeline_change_state):
27024         Added state change code.
27025         Added/updated docs.
27026         Added sink base class, make fakesink extend the base class.
27027         Small cleanups in GstPipeline.
27028
27029 2005-03-26  David Schleef  <ds@schleef.org>
27030
27031         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27032         is broken and should be implemented in a different library.
27033         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27034         * gst/gst.h: remove gstcpu.h
27035         * gst/gstcpu.c: remove
27036         * gst/gstcpu.h: remove
27037         * gst/Makefile.am.future: Remove this file.  It's ancient.
27038
27039 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27040
27041         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27042         (gst_bin_send_event):
27043           Add default event/set_manager handlers. The set_manager handler
27044           takes care that the manager is distributed over kids that were
27045           already in the bin before the manager was set. The event handler
27046           is a utility virtual function that sends the event over all sinks,
27047           so that gst_element_send_event (bin, event); has the expected
27048           behaviour.
27049         * gst/gstpad.c: (gst_pad_event_default):
27050           Re-install default event handling for discontinuities, so that
27051           seeking works without requiring hacks in applications or extra
27052           code in sinks.
27053         * gst/gstpipeline.c: (gst_pipeline_class_init),
27054         (gst_pipeline_send_event):
27055           Half hack, half utility: set a pipeline to PAUSED for seek events,
27056           since that is the only way we can guarantee a/v sync. Means that
27057           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27058           and it "just works".
27059
27060 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27061
27062         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27063           Lock/unlock mismatch.
27064
27065 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27066
27067         * docs/faq/gst-uninstalled:
27068           add gst-plugins-base
27069         * docs/gst/Makefile.am:
27070           don't error out until docs are fixed
27071         * docs/gst/gstreamer.types:
27072           remove thread
27073
27074 2005-03-22  Wim Taymans  <wim@fluendo.com>
27075
27076         * check/Makefile.am:
27077         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27078         * gst/gststructure.c: (gst_structure_set_valist),
27079         (gst_structure_copy_conditional):
27080         Activated more tests.
27081         Added message test.
27082         Added G_TYPE_POINTER to GstStructure.
27083         
27084
27085 2005-03-22  Wim Taymans  <wim@fluendo.com>
27086
27087         * docs/design/part-TODO.txt:
27088         * docs/design/part-events.txt:
27089         * docs/design/part-gstbin.txt:
27090         * docs/design/part-gstbus.txt:
27091         * docs/design/part-gstpipeline.txt:
27092         * docs/design/part-messages.txt:
27093         * gst/gstbus.c:
27094         * gst/gstmessage.c:
27095         Docs updates
27096
27097 2005-03-21  Wim Taymans  <wim@fluendo.com>
27098
27099         * gst/gstbus.c: (gst_bus_post):
27100         Fix copy-and-paste error.
27101
27102 2005-03-21  Wim Taymans  <wim@fluendo.com>
27103
27104         * check/Makefile.am:
27105         * gst/Makefile.am:
27106         * gst/elements/Makefile.am:
27107         * gst/elements/gstelements.c:
27108         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27109         (gst_fakesink_event), (gst_fakesink_chain):
27110         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27111         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27112         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27113         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27114         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27115         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27116         (gst_fakesrc_loop), (gst_fakesrc_activate),
27117         (gst_fakesrc_change_state):
27118         * gst/elements/gstfakesrc.h:
27119         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27120         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27121         (gst_filesrc_open_file), (gst_filesrc_loop),
27122         (gst_filesrc_activate), (gst_filesrc_change_state),
27123         (filesrc_find_peek), (filesrc_find_suggest),
27124         (gst_filesrc_type_find):
27125         * gst/elements/gstidentity.c: (gst_identity_finalize),
27126         (gst_identity_class_init), (gst_identity_init),
27127         (gst_identity_proxy_getcaps), (identity_queue_push),
27128         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27129         (gst_identity_getrange), (gst_identity_chain),
27130         (gst_identity_sink_loop), (gst_identity_src_loop),
27131         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27132         (gst_identity_set_property), (gst_identity_get_property),
27133         (gst_identity_change_state):
27134         * gst/elements/gstidentity.h:
27135         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27136         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27137         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27138         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27139         (gst_tee_sink_activate):
27140         * gst/elements/gsttee.h:
27141         * gst/gst.c: (gst_register_core_elements), (init_post):
27142         * gst/gst.h:
27143         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27144         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27145         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27146         (gst_bin_change_state):
27147         * gst/gstbin.h:
27148         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27149         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27150         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27151         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27152         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27153         (bus_watch_callback), (bus_watch_destroy),
27154         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27155         (poll_timeout), (gst_bus_poll):
27156         * gst/gstbus.h:
27157         * gst/gstcaps.h:
27158         * gst/gstdata.h:
27159         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27160         (gst_element_post_message), (gst_element_message_full),
27161         (gst_element_get_state_func), (gst_element_get_state),
27162         (gst_element_abort_state), (gst_element_commit_state),
27163         (gst_element_lost_state), (gst_element_set_state),
27164         (gst_element_pads_activate), (gst_element_change_state),
27165         (gst_element_dispose), (gst_element_set_manager_func),
27166         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27167         (gst_element_set_manager), (gst_element_get_manager),
27168         (gst_element_set_bus), (gst_element_get_bus),
27169         (gst_element_set_scheduler), (gst_element_get_scheduler):
27170         * gst/gstelement.h:
27171         * gst/gstevent.c: (gst_event_new_segment_seek),
27172         (gst_event_new_flush):
27173         * gst/gstevent.h:
27174         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27175         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27176         (gst_message_new_eos), (gst_message_new_error),
27177         (gst_message_new_warning), (gst_message_new_tag),
27178         (gst_message_new_state_changed), (gst_message_new_application),
27179         (gst_message_get_structure), (gst_message_parse_tag),
27180         (gst_message_parse_state_changed), (gst_message_parse_error),
27181         (gst_message_parse_warning):
27182         * gst/gstmessage.h:
27183         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27184         (gst_real_pad_set_property), (gst_pad_set_active),
27185         (gst_pad_is_active), (gst_pad_set_blocked_async),
27186         (gst_pad_set_blocked), (gst_pad_is_blocked),
27187         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27188         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27189         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27190         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27191         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27192         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27193         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27194         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27195         (gst_pad_set_caps), (gst_pad_configure_sink),
27196         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27197         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27198         (gst_real_pad_dispose), (gst_real_pad_finalize),
27199         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27200         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27201         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27202         * gst/gstpad.h:
27203         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27204         (pipeline_bus_handler), (gst_pipeline_change_state),
27205         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27206         * gst/gstpipeline.h:
27207         * gst/gstprobe.h:
27208         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27209         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27210         (gst_queue_link_src), (gst_queue_bufferalloc),
27211         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27212         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27213         (gst_queue_loop), (gst_queue_handle_src_event),
27214         (gst_queue_handle_src_query), (gst_queue_src_activate),
27215         (gst_queue_change_state):
27216         * gst/gstqueue.h:
27217         * gst/gstscheduler.c: (gst_scheduler_init),
27218         (gst_scheduler_dispose), (gst_scheduler_create_task),
27219         (gst_scheduler_factory_create):
27220         * gst/gstscheduler.h:
27221         * gst/gststructure.c: (gst_structure_get_type),
27222         (gst_structure_copy_conditional):
27223         * gst/gststructure.h:
27224         * gst/gsttaginterface.h:
27225         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27226         (gst_task_init), (gst_task_dispose), (gst_task_create),
27227         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27228         (gst_task_pause):
27229         * gst/gsttask.h:
27230         * gst/gstthread.c:
27231         * gst/gstthread.h:
27232         * gst/gsttypes.h:
27233         * gst/schedulers/Makefile.am:
27234         * gst/schedulers/cothreads_compat.h:
27235         * gst/schedulers/entryscheduler.c:
27236         * gst/schedulers/faircothreads.c:
27237         * gst/schedulers/faircothreads.h:
27238         * gst/schedulers/fairscheduler.c:
27239         * gst/schedulers/gstbasicscheduler.c:
27240         * gst/schedulers/gstoptimalscheduler.c:
27241         * gst/schedulers/gthread-cothreads.h:
27242         * gst/schedulers/threadscheduler.c:
27243         (gst_thread_scheduler_task_get_type),
27244         (gst_thread_scheduler_task_class_init),
27245         (gst_thread_scheduler_task_init),
27246         (gst_thread_scheduler_task_start),
27247         (gst_thread_scheduler_task_stop),
27248         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27249         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27250         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27251         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27252         (plugin_init):
27253         * libs/gst/Makefile.am:
27254         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27255         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27256         (gst_file_pad_parent_set):
27257         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27258         (gst_dp_event_from_packet):
27259         * tests/complexity.c: (main):
27260         * tests/mass_elements.c: (main):
27261         * testsuite/states/locked.c: (message_received), (main):
27262         * testsuite/states/parent.c: (main):
27263         * tools/gst-inspect.c: (print_element_flag_info),
27264         (print_implementation_info), (print_pad_info):
27265         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27266         (main):
27267         * tools/gst-md5sum.c: (event_loop), (main):
27268         * tools/gst-typefind.c: (main):
27269         * tools/gst-xmlinspect.c: (print_element_info):
27270         Next big merge.
27271         Added GstBus for mainloop integration.
27272         Added GstMessage for sending notifications on the bus.
27273         Added GstTask as an abstraction for pipeline entry points.
27274         Removed GstThread.
27275         Removed Schedulers.
27276         Simplified GstQueue for multithreaded core.
27277         Made _link threadsafe, removed old capsnego.
27278         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27279         Added pad blocking functions.
27280         Reworked scheduling functions in GstPad to prepare for
27281         scheduling updates soon.
27282         Moved events out of data stream.
27283         Simplified GstEvent types.
27284         Added return values to push/pull.
27285         Removed clocking from GstElement.
27286         Added prototypes for state change function for next merge.
27287         Removed iterate from bins and state change management.
27288         Fixed some elements, disabled others for now.
27289         Fixed -inspect and -launch.
27290         Added check for GstBus.
27291
27292 2005-03-10  Wim Taymans  <wim@fluendo.com>
27293
27294         * docs/design/part-MT-refcounting.txt:
27295         * docs/design/part-clocks.txt:
27296         * docs/design/part-gstelement.txt:
27297         * docs/design/part-gstobject.txt:
27298         * docs/design/part-standards.txt:
27299         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27300         (gst_bin_remove_func), (gst_bin_remove):
27301         * gst/gstbin.h:
27302         * gst/gstbuffer.c:
27303         * gst/gstcaps.h:
27304         * testsuite/clock/clock1.c: (main):
27305         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27306         (main):
27307         * testsuite/dlopen/loadgst.c: (do_test):
27308         * testsuite/refcounting/bin.c: (add_remove_test1),
27309         (add_remove_test2), (main):
27310         * testsuite/refcounting/element.c: (main):
27311         * testsuite/refcounting/element_pad.c: (main):
27312         * testsuite/refcounting/pad.c: (main):
27313         * tools/gst-launch.c: (sigint_handler_sighandler):
27314         * tools/gst-typefind.c: (main):
27315         Doc updates.
27316         Added doc about clock.
27317         removed gst_bin_iterate_recurse_up(), marked methods
27318         for removal.
27319         Fix more testsuites.
27320
27321 2005-03-09  Wim Taymans  <wim@fluendo.com>
27322
27323         * gst/gstpad.c: (gst_pad_get_direction),
27324         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27325         (gst_pad_collect_valist):
27326         * testsuite/bins/interface.c: (main):
27327         * testsuite/caps/audioscale.c: (test_caps):
27328         * testsuite/caps/caps.c: (test1), (test2), (test3):
27329         * testsuite/caps/deserialize.c: (main):
27330         * testsuite/caps/enumcaps.c: (main):
27331         * testsuite/caps/filtercaps.c: (main):
27332         * testsuite/caps/intersect2.c: (main):
27333         * testsuite/caps/random.c: (main):
27334         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27335         * testsuite/caps/sets.c: (check_caps):
27336         * testsuite/caps/simplify.c: (check_caps), (main):
27337         * testsuite/caps/subtract.c: (check_caps):
27338         Fix _pad_get_direction wrt ghostpads.
27339         Fix caps testsuite.
27340
27341 2005-03-09  Wim Taymans  <wim@fluendo.com>
27342
27343         * check/Makefile.am:
27344         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27345         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27346         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27347         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27348         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27349         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27350         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27351         (bin_element_is_sink), (gst_bin_iterate_sinks),
27352         (gst_bin_iterate_all_by_interface):
27353         * gst/gstbin.h:
27354         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27355         (gst_element_change_state), (gst_element_dispose),
27356         (gst_element_finalize), (gst_element_set_loop_function):
27357         * gst/gstelement.h:
27358         * gst/gstiterator.c: (find_custom_fold_func):
27359         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27360         (gst_pad_collectv), (gst_pad_collect_valist),
27361         (gst_pad_template_new):
27362         * gst/gstpipeline.c: (gst_pipeline_class_init),
27363         (gst_pipeline_dispose), (gst_pipeline_set_property),
27364         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27365         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27366         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27367         * gst/gstutils.h:
27368         * gst/schedulers/entryscheduler.c:
27369         * gst/schedulers/gstbasicscheduler.c:
27370         (gst_basic_scheduler_cothreaded_chain),
27371         (gst_basic_scheduler_chain_add_element):
27372         * testsuite/bins/interface.c: (main):
27373         Added GstBin test.
27374         Added GstSystemClock test.
27375         Implemented clock distribution code in GstBin.
27376         Implemented iterate sinks method for future use.
27377         Rearranged gstelement.h
27378         Fix GstIterator comparison bug.
27379         Moved some code to GstPipeline, mostly clocking related.
27380
27381 2005-03-09  Wim Taymans  <wim@fluendo.com>
27382
27383         * configure.ac:
27384         * gst/gst_private.h:
27385         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27386         (gst_bin_remove_func), (gst_bin_remove),
27387         (gst_bin_get_by_name_recurse_up):
27388         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27389         (gst_clock_id_compare_func), (gst_clock_id_wait),
27390         (gst_clock_id_wait_async), (gst_clock_init),
27391         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27392         * gst/gstelement.h:
27393         * gst/gstinfo.c: (_gst_debug_init):
27394         * gst/gstobject.h:
27395         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27396         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27397         * gst/gstpad.h:
27398         Bump version number, we're now 0.9.0
27399         Add future debugging category.
27400         Fix NULL _unref() in _get_by_name_recurse_up
27401         Rearrange gstpad.h.
27402         Update some docs.
27403
27404 2005-03-08  Wim Taymans  <wim@fluendo.com>
27405
27406         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
27407         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
27408         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27409         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
27410         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
27411         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
27412         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
27413         * gst/elements/gstidentity.c: (gst_identity_class_init):
27414         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
27415         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
27416         * gst/elements/gstshaper.c: (gst_shaper_class_init):
27417         * gst/elements/gststatistics.c: (gst_statistics_class_init):
27418         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
27419         (gst_tee_link):
27420         * gst/gstelement.c: (gst_element_class_init),
27421         (gst_element_base_class_init), (gst_element_init),
27422         (gst_element_get_random_pad), (gst_element_wait_state_change),
27423         (gst_element_change_state), (gst_element_dispose),
27424         (gst_element_finalize), (gst_element_set_loop_function):
27425         * gst/gstelement.h:
27426         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
27427         * gst/gstthread.c: (gst_thread_class_init),
27428         (gst_thread_release_children_locks), (gst_thread_change_state):
27429         * gst/schedulers/gstbasicscheduler.c:
27430         (gst_basic_scheduler_loopfunc_wrapper),
27431         (gst_basic_scheduler_chain_wrapper),
27432         (gst_basic_scheduler_src_wrapper),
27433         (gst_basic_scheduler_remove_element):
27434         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
27435         Remove threadsafe properties. Fix elements because GObject
27436         complains when installing a property before declaring a
27437         set/get_property handler.
27438         Rearrange gstelement.h file, use STATE macros for state locks.
27439         Free mutexes in the finalize method instead of dispose.
27440
27441 2005-03-08  Wim Taymans  <wim@fluendo.com>
27442
27443         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27444         * gst/gstthread.c: (gst_thread_release_children_locks):
27445         Added parentage check.
27446         Fix build og GstThread again.
27447
27448 2005-03-08  Wim Taymans  <wim@fluendo.com>
27449
27450         * docs/design/part-MT-refcounting.txt:
27451         * docs/design/part-conventions.txt:
27452         * docs/design/part-gstobject.txt:
27453         * docs/design/part-relations.txt:
27454         * docs/design/part-standards.txt:
27455         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27456         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
27457         (gst_bin_get_by_name), (gst_bin_get_by_interface),
27458         (gst_bin_iterate_all_by_interface):
27459         * gst/gstbuffer.h:
27460         * gst/gstclock.h:
27461         * gst/gstelement.c: (gst_element_class_init),
27462         (gst_element_change_state), (gst_element_set_loop_function):
27463         * gst/gstelement.h:
27464         * gst/gstiterator.c:
27465         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
27466         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
27467         (gst_object_dispatch_properties_changed), (gst_object_set_name),
27468         (gst_object_set_parent), (gst_object_unparent),
27469         (gst_object_check_uniqueness):
27470         * gst/gstobject.h:
27471         Docs updates, clean up some headers.
27472
27473 2005-03-07  Wim Taymans  <wim@fluendo.com>
27474
27475         * check/.cvsignore:
27476         * check/Makefile.am:
27477         * check/gst-libs/.cvsignore:
27478         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
27479         * check/gst/.cvsignore:
27480         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
27481         (START_TEST), (gstbus_suite), (main):
27482         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
27483         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
27484         (gst_data_suite), (main):
27485         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
27486         (add_fold_func), (gstiterator_suite), (main):
27487         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
27488         (thread_name_object), (thread_name_object_default),
27489         (gst_object_name_compare), (gst_object_suite), (main):
27490         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
27491         (gst_pad_suite), (main):
27492         * check/gstcheck.c: (gst_check_log_message_func),
27493         (gst_check_log_critical_func), (gst_check_init):
27494         * check/gstcheck.h:
27495         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
27496         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
27497         Added checks.
27498
27499 2005-03-07  Wim Taymans  <wim@fluendo.com>
27500
27501         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
27502         (gst_list_iterator_next), (gst_list_iterator_resync),
27503         (gst_list_iterator_free), (gst_iterator_new_list),
27504         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
27505         (gst_iterator_free), (gst_iterator_push), (filter_next),
27506         (filter_resync), (filter_uninit), (filter_free),
27507         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
27508         (gst_iterator_foreach), (find_custom_fold_func),
27509         (gst_iterator_find_custom):
27510         * gst/gstiterator.h:
27511         Added missing files.
27512
27513 2005-03-07  Wim Taymans  <wim@fluendo.com>
27514
27515         * Makefile.am:
27516         * configure.ac:
27517         * docs/design/part-MT-refcounting.txt:
27518         * docs/design/part-conventions.txt:
27519         * docs/design/part-gstobject.txt:
27520         * docs/design/part-relations.txt:
27521         * examples/mixer/mixer.c: (main):
27522         * examples/thread/thread.c: (eos), (main):
27523         * gst/Makefile.am:
27524         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
27525         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
27526         (gst_spider_plug_from_srcpad):
27527         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
27528         (gst_spider_identity_change_state),
27529         (gst_spider_identity_sink_loop_type_finding):
27530         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
27531         * gst/elements/gstidentity.c: (gst_identity_init):
27532         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
27533         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
27534         * gst/elements/gsttypefindelement.c: (free_entry):
27535         * gst/gst.c:
27536         * gst/gst.h:
27537         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
27538         (gst_bin_set_clock_func), (gst_bin_auto_clock),
27539         (gst_bin_set_index), (gst_bin_set_element_sched),
27540         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
27541         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
27542         (gst_bin_iterate_elements), (iterate_child_recurse),
27543         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
27544         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
27545         (compare_interface), (gst_bin_get_by_interface),
27546         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
27547         * gst/gstbin.h:
27548         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
27549         (gst_buffer_default_free), (gst_buffer_default_copy),
27550         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
27551         (gst_buffer_create_sub):
27552         * gst/gstbuffer.h:
27553         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
27554         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
27555         (gst_caps_unref), (gst_static_caps_get),
27556         (gst_caps_remove_and_get_structure), (gst_caps_append),
27557         (gst_caps_append_structure), (gst_caps_remove_structure),
27558         (gst_caps_copy_nth), (gst_caps_set_simple),
27559         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
27560         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
27561         (gst_caps_structure_intersect_field), (gst_caps_intersect),
27562         (gst_caps_structure_subtract_field), (gst_caps_subtract),
27563         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
27564         (gst_caps_structure_figure_out_union),
27565         (gst_caps_switch_structures), (gst_caps_do_simplify),
27566         (gst_caps_replace), (gst_caps_from_string),
27567         (gst_caps_copy_conditional):
27568         * gst/gstcaps.h:
27569         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
27570         (_gst_clock_id_free), (gst_clock_id_unref),
27571         (gst_clock_id_compare_func), (gst_clock_id_wait),
27572         (gst_clock_id_wait_async), (gst_clock_class_init),
27573         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
27574         (gst_clock_get_time), (gst_clock_set_time_adjust),
27575         (gst_clock_set_property), (gst_clock_get_property):
27576         * gst/gstclock.h:
27577         * gst/gstcompat.h:
27578         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
27579         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
27580         * gst/gstdata.h:
27581         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27582         (gst_element_requires_clock), (gst_element_provides_clock),
27583         (gst_element_set_clock), (gst_element_clock_wait),
27584         (gst_element_wait), (gst_element_set_time_delay),
27585         (gst_element_is_indexable), (gst_element_add_pad),
27586         (gst_element_add_ghost_pad), (gst_element_remove_pad),
27587         (pad_compare_name), (gst_element_get_static_pad),
27588         (gst_element_request_pad), (gst_element_get_request_pad),
27589         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
27590         (gst_element_class_get_pad_template_list),
27591         (gst_element_class_get_pad_template), (gst_element_error_func),
27592         (gst_element_get_random_pad), (gst_element_get_event_masks),
27593         (gst_element_send_event), (gst_element_seek),
27594         (gst_element_get_query_types), (gst_element_query),
27595         (gst_element_get_formats), (gst_element_convert),
27596         (gst_element_is_locked_state), (gst_element_set_locked_state),
27597         (gst_element_sync_state_with_parent), (gst_element_change_state),
27598         (gst_element_finalize), (gst_element_yield),
27599         (gst_element_interrupt), (gst_element_set_scheduler),
27600         (gst_element_get_scheduler), (gst_element_set_loop_function):
27601         * gst/gstelement.h:
27602         * gst/gstevent.h:
27603         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
27604         (gst_format_get_by_nick), (gst_format_get_details),
27605         (gst_format_iterate_definitions):
27606         * gst/gstformat.h:
27607         * gst/gstindex.c: (gst_index_gtype_resolver):
27608         * gst/gstinfo.c:
27609         * gst/gstinfo.h:
27610         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
27611         (gst_mem_chunk_free):
27612         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
27613         (gst_object_ref), (gst_object_unref), (gst_object_sink),
27614         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
27615         (gst_object_dispatch_properties_changed),
27616         (gst_object_set_name_default), (gst_object_set_name),
27617         (gst_object_get_name), (gst_object_set_name_prefix),
27618         (gst_object_get_name_prefix), (gst_object_set_parent),
27619         (gst_object_get_parent), (gst_object_unparent),
27620         (gst_object_check_uniqueness), (gst_object_save_thyself),
27621         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
27622         (gst_object_set_property), (gst_object_get_property),
27623         (gst_object_get_path_string):
27624         * gst/gstobject.h:
27625         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27626         (gst_real_pad_init), (gst_real_pad_get_property),
27627         (gst_pad_custom_new), (gst_pad_get_direction),
27628         (gst_pad_set_active), (gst_pad_is_active),
27629         (gst_pad_set_event_function), (gst_pad_is_linked),
27630         (gst_pad_link_free), (gst_pad_link_intersect),
27631         (gst_pad_link_fixate), (gst_pad_set_caps),
27632         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
27633         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
27634         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
27635         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
27636         (gst_pad_get_caps), (gst_pad_peer_get_caps),
27637         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
27638         (gst_pad_realize), (gst_pad_get_allowed_caps),
27639         (gst_real_pad_dispose), (gst_real_pad_finalize),
27640         (gst_pad_collectv), (gst_pad_collect_valist),
27641         (gst_pad_template_dispose), (gst_pad_template_new),
27642         (gst_pad_get_internal_links):
27643         * gst/gstpad.h:
27644         * gst/gstpipeline.c: (gst_pipeline_dispose),
27645         (gst_pipeline_change_state):
27646         * gst/gstpipeline.h:
27647         * gst/gstplugin.c:
27648         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
27649         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
27650         * gst/gstpluginfeature.h:
27651         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
27652         * gst/gstquery.c: (_gst_query_type_initialize),
27653         (gst_query_type_register), (gst_query_type_get_by_nick),
27654         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
27655         * gst/gstquery.h:
27656         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
27657         * gst/gstscheduler.c: (gst_scheduler_add_element),
27658         (gst_scheduler_factory_create):
27659         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27660         (gst_structure_free), (gst_structure_set_name),
27661         (gst_structure_id_set_value), (gst_structure_set_value),
27662         (gst_structure_set_valist), (gst_structure_remove_field),
27663         (gst_structure_remove_fields),
27664         (gst_structure_remove_fields_valist),
27665         (gst_structure_remove_all_fields), (gst_structure_foreach),
27666         (gst_structure_map_in_place),
27667         (gst_caps_structure_fixate_field_nearest_int),
27668         (gst_caps_structure_fixate_field_nearest_double):
27669         * gst/gststructure.h:
27670         * gst/gstsystemclock.c: (gst_system_clock_class_init),
27671         (gst_system_clock_init), (gst_system_clock_dispose),
27672         (gst_system_clock_async_thread),
27673         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
27674         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
27675         * gst/gstsystemclock.h:
27676         * gst/gsttag.c: (gst_tag_list_add_value_internal),
27677         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
27678         * gst/gsttaginterface.c:
27679         * gst/gstthread.c: (gst_thread_dispose),
27680         (gst_thread_release_children_locks), (gst_thread_change_state),
27681         (gst_thread_main_loop):
27682         * gst/gsttrashstack.h:
27683         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
27684         * gst/gsttypes.h:
27685         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27686         (gst_element_request_pad), (gst_element_get_pad_from_template),
27687         (gst_element_request_compatible_pad),
27688         (gst_element_get_compatible_pad_filtered),
27689         (gst_element_get_compatible_pad), (gst_element_state_get_name),
27690         (gst_element_link_pads_filtered), (gst_element_link_filtered),
27691         (gst_element_link_many), (gst_element_link),
27692         (gst_element_link_pads), (gst_element_unlink_pads),
27693         (gst_element_unlink_many), (gst_element_unlink),
27694         (gst_pad_can_link_filtered), (gst_pad_can_link),
27695         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
27696         (gst_object_default_error), (gst_bin_add_many),
27697         (gst_bin_remove_many), (gst_element_populate_std_props),
27698         (gst_element_class_install_std_props), (gst_buffer_merge),
27699         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
27700         (link_fold_func), (gst_pad_proxy_setcaps):
27701         * gst/gstutils.h:
27702         * gst/gstvalue.c: (gst_value_deserialize_string):
27703         * gst/parse/grammar.y:
27704         * gst/schedulers/gstbasicscheduler.c:
27705         (gst_basic_scheduler_cothreaded_chain),
27706         (gst_basic_scheduler_chain_recursive_add),
27707         (gst_basic_scheduler_pad_link):
27708         * gst/schedulers/gstoptimalscheduler.c:
27709         (get_group_schedule_function),
27710         (gst_opt_scheduler_state_transition),
27711         (gst_opt_scheduler_add_element), (element_get_reachables_func):
27712         * libs/gst/bytestream/bytestream.c:
27713         * libs/gst/dataprotocol/dataprotocol.c:
27714         (gst_dp_header_from_buffer):
27715         * po/nb.po:
27716         * po/ru.po:
27717         * tests/threadstate/threadstate2.c: (eos):
27718         * tools/gst-compprep.c: (main):
27719         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
27720         (print_pad_info), (print_children_info):
27721         * tools/gst-launch.c: (idle_func), (main):
27722         * tools/gst-md5sum.c: (idle_func), (main):
27723         * tools/gst-xmlinspect.c: (print_element_info):
27724         First THREADED backport attempt, focusing on adding locks and
27725         making sure the API is threadsafe. Needs more work. More docs
27726         follow this week.
27727
27728 2005-02-24  Andy Wingo  <wingo@pobox.com>
27729
27730         * tests/bench-complexity.scm:
27731         * tests/complexity.gnuplot: New files, good for running complexity
27732         benchmarks.
27733
27734         * tests/Makefile.am:
27735         * tests/complexity.c: New test, sets up N elements, at each level
27736         teeing into M streams per element. Eeeenteresting.
27737
27738         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
27739         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
27740         running bench-mass_elements.scm.
27741
27742         * tests/bench-mass_elements.scm: New script, runs mass_elements
27743         for various numbers of identities, outputting the results to a
27744         file. Requires guile 1.6. Just for testing.
27745
27746 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27747
27748         * gst/schedulers/fairscheduler.c:
27749           compile with debug disabled
27750
27751 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27752
27753         * configure.ac:
27754           hunting season on 0.9 is now OPEN