gst/gsturi.c: Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-02-29  Rene Stadler  <mail@renestadler.de>
2
3         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
5         URIHandlers implemented using language bindings.
6
7 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
8
9         * gst/gstelementfactory.h:
10         * tests/check/elements/fakesink.c:
11         * tests/check/elements/fakesrc.c: (setup_fakesrc):
12         * tests/check/elements/fdsrc.c: (setup_fdsrc):
13         * tests/check/elements/filesink.c: (setup_filesink):
14         * tests/check/elements/filesrc.c: (setup_filesrc):
15         * tests/check/elements/identity.c: (setup_identity):
16         * tests/check/elements/tee.c:
17         * tests/check/generic/sinks.c:
18         * tests/check/generic/states.c: (setup), (teardown):
19         * tests/check/gst/gst.c:
20         * tests/check/gst/gstabi.c:
21         * tests/check/gst/gstbin.c:
22         * tests/check/gst/gstbus.c: (pull_messages):
23         * tests/check/gst/gstcaps.c:
24         * tests/check/gst/gstelement.c:
25         * tests/check/gst/gstevent.c:
26         * tests/check/gst/gstghostpad.c:
27         * tests/check/gst/gstiterator.c:
28         * tests/check/gst/gstmessage.c:
29         * tests/check/gst/gstminiobject.c: (my_foo_init):
30         * tests/check/gst/gstobject.c: (thread_name_object),
31         (gst_object_suite):
32         * tests/check/gst/gstpad.c:
33         * tests/check/gst/gstplugin.c:
34         * tests/check/gst/gstpoll.c:
35         * tests/check/gst/gstquery.c:
36         * tests/check/gst/gstsegment.c:
37         * tests/check/gst/gststructure.c:
38         * tests/check/gst/gstsystemclock.c:
39         * tests/check/gst/gsttask.c:
40         * tests/check/gst/gstutils.c:
41         * tests/check/gst/gstvalue.c:
42         * tests/check/gst/struct_hppa.h:
43         * tests/check/gst/struct_i386.h:
44         * tests/check/gst/struct_ppc32.h:
45         * tests/check/gst/struct_ppc64.h:
46         * tests/check/gst/struct_x86_64.h:
47         * tests/check/libs/adapter.c: (create_and_fill_adapter):
48         * tests/check/libs/basesrc.c:
49         * tests/check/libs/controller.c: (GST_START_TEST):
50         * tests/check/libs/gdp.c:
51         * tests/check/libs/gstnetclientclock.c:
52         * tests/check/libs/gstnettimeprovider.c:
53         * tests/check/libs/libsabi.c:
54         * tests/check/libs/struct_hppa.h:
55         * tests/check/libs/struct_i386.h:
56         * tests/check/libs/struct_ppc32.h:
57         * tests/check/libs/struct_ppc64.h:
58         * tests/check/libs/struct_x86_64.h:
59         * tests/check/pipelines/cleanup.c:
60         * tests/check/pipelines/simple-launch-lines.c:
61         * tests/check/pipelines/stress.c:
62         And correct even more valid sparse warnings.
63
64         * win32/common/libgstreamer.def:
65         Add gst_poll_fd_init to the list of symbols.
66
67 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
68
69         * gst/gstconfig.h.in:
70         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
71         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
72         (gst_check_log_critical_func), (gst_check_drop_buffers),
73         (gst_check_element_push_buffer_list):
74         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
75         (gst_controller_get_type):
76         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
77         (gst_object_get_controller), (gst_object_get_control_source):
78         * libs/gst/controller/gstinterpolationcontrolsource.c:
79         (gst_interpolation_control_source_new):
80         * libs/gst/controller/gstlfocontrolsource.c:
81         (gst_lfo_control_source_new):
82         * libs/gst/dataprotocol/dataprotocol.c:
83         (gst_dp_event_from_packet_0_2):
84         * plugins/elements/gstfdsrc.c:
85         * plugins/elements/gstmultiqueue.c:
86         * plugins/elements/gsttee.c:
87         * plugins/elements/gsttypefindelement.c:
88         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
89         (gst_file_index_add_association):
90         * plugins/indexers/gstmemindex.c:
91         * tests/benchmarks/gstpollstress.c: (mess_some_more):
92         * tests/check/elements/queue.c: (setup_queue):
93         * tests/check/gst/gstpipeline.c:
94         * tests/check/libs/collectpads.c: (setup), (teardown),
95         (gst_collect_pads_suite):
96         * tests/examples/adapter/adapter_test.c:
97         * tests/examples/metadata/read-metadata.c: (make_pipeline):
98         * tests/examples/xml/createxml.c:
99         * tests/examples/xml/runxml.c:
100         * tools/gst-inspect.c:
101         * tools/gst-run.c:
102         Correct all relevant warnings found by the sparse semantic code
103         analyzer. This include marking several symbols static, using
104         NULL instead of 0 for pointers, not using variable sized arrays
105         on the stack, moving variable declarations to the beginning of
106         a block and using "foo (void)" instead of "foo ()" for declarations.
107
108 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
109
110         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
111         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
112         Don't reset GstPollFDs, this is not necessary at all.
113
114         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
115         (delayed_restart), (delayed_control):
116         Use GST_POLL_FD_INIT.
117
118 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * gst/gstpoll.c: (gst_poll_fd_init):
121         * gst/gstpoll.h:
122         Added Since tags.
123
124         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
125         Use some more init macros.
126
127 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
128
129         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
130         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
131         Use init macros and functions.
132
133 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
134
135         * docs/gst/gstreamer-sections.txt:
136         * gst/gstpoll.c: (gst_poll_fd_init):
137         * gst/gstpoll.h:
138         Add INIT macro and _init method for initializing the GstPollFD.
139
140 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
141
142         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
143         (gst_fd_sink_update_fd):
144         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
145         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
146         (delayed_restart), (delayed_control):
147         Initialize some uninitialized variables as spotted by valgrind.
148
149 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
150
151         * tests/benchmarks/Makefile.am:
152         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
153         (main):
154         Add poll stress test.
155
156 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
157
158         Patch by: Peter Kjellerstedt <pkj at axis dot com>
159
160         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
161         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
162         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
163         * plugins/elements/gstfdsink.h:
164         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
165         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
166         (gst_fd_src_unlock_stop), (gst_fd_src_create),
167         (gst_fd_src_uri_set_uri):
168         * plugins/elements/gstfdsrc.h:
169         Port to GstPoll. See #505417.
170
171 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
172
173         * win32/common/libgstreamer.def:
174         Add new gst_poll_ symbols to win32 defs.
175
176 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
177
178         * docs/libs/gstreamer-libs-sections.txt:
179         * libs/gst/net/gstnetclientclock.c:
180         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
181         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
182         (gst_net_client_clock_thread), (gst_net_client_clock_start),
183         (gst_net_client_clock_stop), (gst_net_client_clock_new):
184         * libs/gst/net/gstnetclientclock.h:
185         * libs/gst/net/gstnettimeprovider.c:
186         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
187         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
188         (gst_net_time_provider_start), (gst_net_time_provider_stop),
189         (gst_net_time_provider_new):
190         * libs/gst/net/gstnettimeprovider.h:
191         Use a private stuct to not break ABI.
192
193 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
194
195         Patch by: Peter Kjellerstedt <pkj at axis dot com>
196
197         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
198         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
199         (gst_net_client_clock_thread), (gst_net_client_clock_start),
200         (gst_net_client_clock_stop), (gst_net_client_clock_new):
201         * libs/gst/net/gstnetclientclock.h:
202         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
203         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
204         (gst_net_time_provider_start), (gst_net_time_provider_stop),
205         (gst_net_time_provider_new):
206         * libs/gst/net/gstnettimeprovider.h:
207         Massive code removal and cleanups because of GstPoll.
208         Fixes #505417.
209
210 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
211
212         * configure.ac:
213         Add checks for poll, ppoll and pselect.
214
215         * docs/gst/gstreamer-docs.sgml:
216         * docs/gst/gstreamer-sections.txt:
217         Add docs for GstPoll.
218
219         * gst/Makefile.am:
220         * gst/gst.h:
221         * gst/gstpoll.c: (find_index), (selectable_fds),
222         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
223         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
224         (gst_poll_set_mode), (gst_poll_get_mode),
225         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
226         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
227         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
228         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
229         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
230         (gst_poll_fd_can_write), (gst_poll_wait),
231         (gst_poll_set_controllable), (gst_poll_restart),
232         (gst_poll_set_flushing):
233         * gst/gstpoll.h:
234         Add generic poll abstraction. We ideally don't want to have this in core
235         here but in glib intead...
236         This code will be used in various network elements and ultimately for
237         the nanosecond precision monotonic clock (that's why it's here in core).
238         It'll allow us to implement cancelable socket operations for windows too.
239
240         * tests/check/Makefile.am:
241         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
242         (delayed_stop), (delayed_restart), (delayed_flush),
243         (delayed_control), (gst_poll_suite):
244         Add GstPoll unit test.
245
246 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * gst/gstfilter.c:
249           Improve documentation of gst_filter_run(). Fixes #518627.
250
251 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
252
253         * docs/README:
254           Add a few lines about the new 'check-inspected-versions' target.
255
256 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
257
258         * tests/check/gst/gstevent.c:
259           Add qos to the event test. Rename tcase/tsuite; is not only about
260           custom events.
261
262 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
263
264         * plugins/elements/gstqueue.c:
265           Ensure that buffer metadata is writeable, before modifying. Spotted by
266           Mike.
267
268 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
269
270         * plugins/elements/gstqueue.c:
271         * plugins/elements/gstqueue.h:
272           When dropping buffers in leaky modes, mark next buffers we sent as
273           DISCONT.
274
275 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
276
277         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
278           Also, if mmap() fails that would be a READ error, not OPEN_READ.
279
280 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
281
282         * plugins/elements/Makefile.am:
283         * plugins/elements/gstbufferstore.c:
284         * plugins/elements/gstbufferstore.h:
285         * plugins/elements/gsttypefindelement.h:
286           Remove GstBufferStore, no idea why we were still building it.
287           It's not used anywhere and superseded by GstAdapter.
288
289         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
290           (gst_file_src_create_mmap):
291         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
292           Printf format fixes for 64-bit integers.
293
294 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
295
296         * configure.ac:
297         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
298         We're not in 0.8 times anymore.
299
300 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
301
302         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
303         (gst_check_element_push_buffer_list):
304         * libs/gst/check/gstcheck.h:
305         Make the declaration in the header for
306         gst_check_element_push_buffer_list match the implementation.
307
308         Fix up spelling, grammar and wording of the documentation in a few
309         places, and add the Since keyword to new API functions.
310         Use g_list_delete_link instead of g_list_remove in
311         gst_check_drop_buffers, since it's immeasurably more efficient.
312
313         * tests/check/elements/fakesrc.c: (GST_START_TEST):
314         Use new gst_check_drop_buffers function where appropriate.
315
316         * win32/common/libgstbase.def:
317         * win32/common/libgstreamer.def:
318         Add new symbols gst_collect_pads_take_buffer, 
319         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
320         exports
321
322         Changelog surgery to add API keyword to new gst_check API.
323
324 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
325
326         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
327         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
328         Update pre-generated flex files with flex 2.3.34.
329
330 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
331
332         * gst/gstminiobject.c:
333           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
334           friendly to subclasses and not require them to know all internals
335           of their parent class.
336
337 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
338
339         * docs/libs/gstreamer-libs-sections.txt:
340         * libs/gst/base/gstcollectpads.c:
341         * libs/gst/base/gstcollectpads.h:
342           Add sub-buffer functions to collectpads. Fixes #516187.
343           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
344
345 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
346
347         * gst/gstbuffer.c:
348           Copy selected buffer-flags when creating subbuffers.
349           Fixes #516395.
350
351 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
352
353         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
354         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
355         * gst/gstmessage.c: (gst_message_class_init),
356         (gst_message_finalize):
357         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
358         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
359         (gst_mmap_buffer_finalize):
360         Properly chain up finalize functions to the parent class.
361
362 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
363
364         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
365
366         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
367         (gst_index_set_resolver_full):
368         * gst/gstindex.h:
369         Add new function with option to dispose of user_data in resolver.
370         Actually call the dispose function when finalizing the object and not
371         just when changing the resolver/filter.
372         API: GstIndex::gst_index_set_resolver_full()
373
374         * docs/gst/gstreamer-sections.txt:
375         Add new function to docs. Fixes #515469.
376
377 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
378
379         * gst/gstindex.c: (gst_index_finalize):
380         Chain up finalize to the parent class. Fixes leaking the GstObject
381         name and other things.
382
383 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
384
385         * configure.ac:
386         Make DISABLE_DEPRECATED defined *only* during CVS, not during
387         pre-releases or releases.
388
389         * docs/faq/gst-uninstalled:
390         Add gst-plugins-gl
391
392         * docs/random/release:
393         Change one of the steps - we only upload core & base to Gnome FTP
394
395 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
396
397         * gst/gstconfig.h.in:
398           Add 'id' for example.
399
400         * gst/gstpad.c:
401         * gst/gstutils.c:
402         * plugins/elements/gstfdsink.c:
403           Link to signals. Doc and comment fixes.
404
405 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
408         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
409           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
410           unused and unimplemented; finally, it is plugin features, not
411           plugins, that have ranks.
412           
413 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
414
415         * gst/gstpluginfeature.h:
416           Clarify GstRank range docs.
417
418 2008-02-05  David Schleef  <ds@schleef.org>
419
420         * gst/gst.c: Add a separate gst_deinitialized that prevents
421           gst_init() from being called after gst_deinit().  Fixes #509559
422
423 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
424
425         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
426         (gst_bin_class_init):
427         * gst/gstelement.c: (gst_element_base_class_init),
428         (gst_element_class_add_pad_template):
429         * gst/gstpadtemplate.c: (gst_pad_template_init):
430         * gst/gstpipeline.c: (gst_pipeline_get_type),
431         (gst_pipeline_base_init), (gst_pipeline_class_init):
432         * libs/gst/base/gstbasesink.c:
433         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
434         (gst_base_src_base_init), (gst_base_src_class_init):
435         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
436         (gst_capsfilter_class_init):
437         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
438         (gst_fake_sink_class_init):
439         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
440         (gst_fake_src_class_init):
441         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
442         (gst_fd_sink_class_init):
443         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
444         (gst_fd_src_class_init):
445         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
446         (gst_file_sink_class_init):
447         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
448         (gst_file_src_class_init):
449         * plugins/elements/gstidentity.c: (gst_identity_base_init),
450         (gst_identity_class_init):
451         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
452         (gst_multi_queue_class_init):
453         * plugins/elements/gstqueue.c: (gst_queue_base_init),
454         (gst_queue_class_init):
455         * plugins/elements/gsttee.c: (gst_tee_base_init),
456         (gst_tee_class_init):
457         * plugins/elements/gsttypefindelement.c:
458         (gst_type_find_element_base_init),
459         (gst_type_find_element_class_init):
460         * tests/check/gst/gstelement.c: (gst_element_suite):
461         Revert previous changes to the behaviour of GstPadTemplates, etc
462         and the possiblity to call them in class_init as it breaks too
463         many elements. Reopens bug #491501.
464
465         Should be applied again for 0.11, thus added a few FIXME 0.11 at
466         several places.
467
468 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
469
470         * tools/gst-launch.c:
471         Dump one graph per pipeline state-change and state change name
472         (if GST_DEBUG_DUMP_DOT_DIR is set).
473
474 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
475
476         * gst/gstpad.c:
477         * tests/check/gst/gstpad.c:
478         Be sure that we have a new copy of the caps and not
479         reffed caps from a template
480
481 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
482
483         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
484         * gst/gstpipeline.c: (gst_pipeline_get_type),
485         (gst_pipeline_class_init):
486         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
487         (gst_base_sink_class_init):
488         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
489         (gst_base_src_class_init):
490         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
491         (gst_base_transform_class_init):
492         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
493         (gst_collect_pads_class_init):
494         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
495         * libs/gst/net/gstnettimeprovider.c:
496         (gst_net_time_provider_base_init),
497         (gst_net_time_provider_class_init):
498         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
499         (gst_capsfilter_class_init):
500         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
501         (gst_fake_sink_class_init):
502         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
503         (gst_fake_src_class_init):
504         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
505         (gst_fd_sink_class_init):
506         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
507         (gst_fd_src_class_init):
508         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
509         (gst_file_sink_class_init):
510         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
511         (gst_file_src_class_init):
512         * plugins/elements/gstidentity.c: (gst_identity_base_init),
513         (gst_identity_class_init):
514         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
515         (gst_multi_queue_class_init):
516         * plugins/elements/gstqueue.c: (gst_queue_base_init),
517         (gst_queue_class_init):
518         * plugins/elements/gsttee.c: (gst_tee_base_init),
519         (gst_tee_class_init):
520         * plugins/elements/gsttypefindelement.c:
521         (gst_type_find_element_base_init),
522         (gst_type_find_element_class_init):
523         Don't use base_init where not absolutely necessary. For example it's
524         not necessary anymore for adding pad templates or setting element
525         details.
526
527         Leave empty base_init functions in several places as GST_BOILERPLATE
528         still defines and uses them.
529
530 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
531
532         * gst/gstelement.c: (gst_element_base_class_init),
533         (gst_element_class_add_pad_template):
534         * gst/gstpadtemplate.c:
535         Make it possible (and recommended) to set element details and add
536         pad templates in the class_init functions by copying the details/pad
537         templates in GstElement's base_init.
538
539         Also make it possible to replace existing pad templates by adding
540         a new one with the same name. This was done in a hackish fashion
541         in same elements before already.
542
543         Don't reference pad templates that are added a second time. A
544         new pad template has a refcount of one and is not floating anymore
545         and to be owned by the element's class. Make this more explicit by
546         mentioning it in the docs of gst_element_class_add_pad_template().
547
548         These changes are backwards compatible. Fixes bug #491501.
549
550         * tests/check/gst/gstelement.c:
551         Add unit test for setting element details, adding pad templates and
552         replacing them in a subclass.
553
554 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
555
556         * tools/gst-inspect.c: (print_interfaces),
557         (print_element_properties_info), (print_pad_info),
558         (print_signal_info), (print_element_info):
559         Fix a few memory leaks.
560
561 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
562
563         * docs/libs/gstreamer-libs-sections.txt:
564         * libs/gst/check/gstcheck.c:
565         * libs/gst/check/gstcheck.h:
566         Add more functions for unit testing: gst_check_drop_buffers,
567         gst_check_caps_equal, gst_check_element_push_buffer_list,
568         gst_check_element_push_buffer
569         API: gst_check_drop_buffers
570         API: gst_check_caps_equal
571         API: gst_check_element_push_buffer_list
572         API: gst_check_element_push_buffer
573
574 2008-02-01  Julien Moutte  <julien@fluendo.com>
575
576         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
577         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
578         (gst_index_finalize), (gst_index_entry_free),
579         (gst_index_add_association): Fix memory leaks.
580         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
581         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
582         (gst_mem_index_free_format), (gst_mem_index_free_id),
583         (gst_mem_index_finalize): Fix memory leaks.
584         * win32/common/config.h: Updated to CVS HEAD.
585
586 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
587
588         * docs/README:
589           Some more details about how the plugin docs works.
590
591         * docs/plugins/gstreamer-plugins-sections.txt:
592           Whitespace cleanup.
593
594 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
595
596         * gst/parse/grammar.tab.pre.c:
597         * gst/parse/grammar.tab.pre.h:
598         * gst/parse/grammar.y:
599         * gst/parse/lex._gst_parse_yy.pre.c:
600           Add delayed set-property. This allows to set properties on dynamicaly
601           created objects (pads in videomxer).
602
603 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
604
605         * gst/gstutils.c:
606         Check if caps are not NULL (fix bug #510194)
607
608 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
609
610         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
611         (gst_base_sink_get_position_paused):
612         Add fixme regarding EOS in pull mode.
613         Fix position reporting in PAUSED for negative rates.
614
615 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
616
617         * gst/gstminiobject.c: (gst_mini_object_replace):
618         When replacing a miniobject, do a quick equality check first so that we
619         can avoid a ref/unref pair.
620
621 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
622
623         * docs/design/part-synchronisation.txt:
624         Update some docs.
625
626         * docs/plugins/Makefile.am:
627         * docs/plugins/gstreamer-plugins-docs.sgml:
628         * docs/plugins/gstreamer-plugins-sections.txt:
629         * plugins/elements/gstmultiqueue.c:
630         Add multiqueue to the docs.
631
632 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
633
634         * configure.ac:
635           Back to CVS
636
637 === release 0.10.17 ===
638
639 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
640
641         * configure.ac:
642           releasing 0.10.17, "Due Negligence"
643
644 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
645
646         * gst/gstutils.c:
647         Revert caps != NULL check temporarily for 0.10.17 release.
648
649 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
650
651         * gst/gstutils.c:
652         Check if caps are not NULL (fix bug #510194)
653
654 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
655
656         * gst/gstutils.c:
657         Fix compilation on systems that have posix timers but no
658         monotonic clock.
659         Fixes: #512715
660         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
661         dot net>
662
663 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
664
665         * tools/gst-inspect.c:
666         Revert previous commit in preparation for an impromptu 0.10.17 release
667
668 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
669
670         * tools/gst-inspect.c: (print_interfaces),
671         (print_element_properties_info), (print_pad_info),
672         (print_signal_info), (print_element_info):
673         Fix a few memory leaks.
674
675 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
676
677         * configure.ac:
678         Back to CVS
679
680 === release 0.10.16 ===
681
682 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
683
684         * configure.ac:
685           releasing 0.10.16, "Special Dispensation"
686
687 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
688
689         * configure.ac:
690           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
691           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
692           not fail when trying to crosscompile on OpenEmbedded (#511750).
693
694 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
695
696         * docs/manuals.mak:
697         Use $(MAKE) instead of make to fix the build if GNU make is
698         called different. Fixes bug #510747.
699
700 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
701
702         * gst/gstplugin.c: (_gst_plugin_initialize):
703           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
704           again, which I broke two commits ago when changing the API
705           of gst_plugin_register_static(): the g_list_foreach() in
706           _gst_plugin_register_static still assumed the old function
707           signature and would therefore fail (re-fixes #510187).
708
709         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
710           (_gst_plugin_register_static), (gst_plugin_register_static):
711           Revert the (technically correct) change to call g_thread_init() from
712           the pre-main() constructor. This will break programs which call
713           g_thread_init() without an if (!g_thread_supported()) guard in their
714           main function. We could just blame it on GLib or the application, but
715           it's probably best to just avoid this altogether and simply not use
716           any GLib functions here and use plain old malloc() with a simple
717           array to store the plugins to register later when gst_init() is
718           finally called (re-fixes #510187).
719
720         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
721           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
722           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
723           (GST_START_TEST), (gst_plugin_suite):
724           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
725           works.
726
727 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
728
729         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
730           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
731           This makes gtk-doc complain, but results in slightly better
732           compiler errors. The old _gst_plugin_register_static() is
733           still guarded, so there'll be a compiler warning about that
734           instead. Fixes #510187 too.
735
736 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
737
738         * gst/gst.c: (init_post):
739         * gst/gstplugin.c: (_gst_plugin_register_static),
740           (gst_plugin_register_static), (_gst_plugin_initialize):
741         * gst/gstplugin.h: (GstPluginFilter):
742           Change API of gst_plugin_register_static() to not take
743           a GstPluginDesc, but rather just take all the arguments
744           in a GstPluginDesc directly. This is more intuitive and
745           avoids certain mistakes when porting code from
746           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
747           Fixes #510187.
748
749         * tests/check/gst/gstplugin.c:
750           Fix up for changed API.
751
752 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
753
754         * docs/faq/legal.xml:
755           Update FAQ, Totem actually has an exception these days.
756
757 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
758
759         * win32/common/libgstreamer.def:
760         Add new API declarations
761
762 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
763
764         * gst/gstminiobject.c:
765           Spelling fixes for the API docs.
766
767 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
768
769         * libs/gst/base/gstbasetransform.c:
770           Fix long property description for QoS.
771
772 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
773
774         * gst/gst.c:
775         _gst_trace_on is already provided by gsttrace.h, no need to declare
776         it ourselves.
777
778         * docs/libs/gstreamer-libs-sections.txt:
779         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
780         and remove strange tcase_add_test which is outputting a warning.
781
782         * libs/gst/check/gstcheck.c:
783         * libs/gst/check/gstcheck.h:
784         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
785         and define them in gstcheck.c instead of having every .c file whcih
786         includes gstcheck.h be defining its own copy and relying on symbol
787         interposing to marry them all, which doesn't work on Solaris.
788
789         * tests/check/elements/identity.c: (GST_START_TEST):
790         Don't define 'buffers' locally, it comes from libgstcheck.
791
792         * tests/check/generic/sinks.c: (send_buffer):
793         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
794
795         * tests/check/gst/gststructure.c: (GST_START_TEST):
796         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
797         * tests/check/gst/gstutils.c: (GST_START_TEST):
798         * tests/check/gst/gstvalue.c: (GST_START_TEST):
799         Add a bunch of casts to make various constants fit the types
800         they're being assigned to.
801
802 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
803
804         * gst/gstchildproxy.c:
805           Improve docs and add some ideas for making this more general-purpose.
806
807 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
808
809         * gst/gst_private.h: (GST_CAT_TYPES):
810           Add GST_CAT_TYPES, for consistency, and so that the other
811           debug categories don't make fun of it. Spotted by Saur on IRC.
812
813 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
814
815         * gst/parse/Makefile.am:
816           Move types.h from EXTRA_DIST to noinst_HEADERS.
817
818 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
819
820         * autogen.sh:
821           Add -Wno-portability to the automake parameters to stop warnings
822           about GNU make extensions being used. We require GNU make in almost
823           every Makefile anyway.
824
825         * configure.ac:
826           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
827           at the same time is required for per target flags.
828
829 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
830
831         * gst/gstmacros.h:
832           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
833           __GNUC__ is defined before using it.
834
835 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
836
837         * docs/gst/gstreamer-sections.txt:
838         * gst/gst.c: (init_post):
839         * gst/gstplugin.c: (_gst_plugin_register_static),
840           (gst_plugin_register_static), (_gst_plugin_initialize),
841           (gst_plugin_register_func):
842         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
843           API: add gst_plugin_register_static() and deprecate
844           GST_PLUGIN_DEFINE_STATIC, since it's not portable
845           (#498924).
846           Also, in _gst_plugin_register_static(), make sure to call
847           g_thread_init() before calling GLib functions such as
848           g_list_append() if we're not initialised yet, since that
849           may lead to random crashes with older GSlice/GLib versions.
850
851         * tests/check/gst/gstplugin.c:
852           Adapt unit test to above changes.
853
854 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
855
856         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
857         * gst/gstcaps.c: (gst_caps_to_string):
858         * gst/gststructure.c: (GST_ASCII_IS_STRING),
859           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
860           Yet another gratuitous GString micro-optimisation: add a (private)
861           function that serialises a structure appending to an existing
862           GString, so that when we serialise caps we don't need to alloc+free
863           a throwaway GString for each structure (each of which also entailing
864           multiple reallocs on the way); also use g_string_sized_new() in
865           various places with an approximate string length to avoid reallocs
866           within GString. See #500143.
867
868 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
869
870         * gst/gststructure.c: (gst_structure_id_set_value):
871           Always check UTF-8 conformance of structure strings and not only
872           if the debugging system is enabled; reasoning: the behaviour of
873           the actual code shouldn't really change depending on whether the
874           debugging system is enabled or not (#508291).
875
876 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
877
878         * Makefile.am:
879           Remove old coverage target in favour of "make lcov".
880
881 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
882
883         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
884         (gst_base_src_loop):
885         The start segment for reverse playback goes from start to last_stop.
886
887 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
888
889         Patch by: Peter Kjellerstedt <pkj axis com>
890
891         * gst/gstclock.h:
892         Cast the results from the timeval/spec_to_time macros to what the
893         docs say it casts to, a GstClockTime. fixes #508175.
894
895 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
896
897         * gst/gstbuffer.c:
898         Update some comments.
899
900         * tools/gst-inspect.c: (print_element_properties_info):
901         Improve printing of flags.
902
903 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
904
905         * libs/gst/base/gstbasetransform.c:
906           (gst_base_transform_transform_size):
907           Print element name with g_warning() if there's a problem
908           with the unit size.
909
910 2008-01-07  David Schleef  <ds@schleef.org>
911
912         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
913
914         * libs/gst/controller/gstcontroller.h:
915         * libs/gst/controller/gstcontrolsource.h:
916         * libs/gst/controller/gstinterpolationcontrolsource.h:
917         * libs/gst/controller/gstlfocontrolsource.h:
918         * libs/gst/dataprotocol/dataprotocol.h:
919           Fix empty prototypes.  Fixes bug #507957.
920
921 2008-01-07  David Schleef  <ds@schleef.org>
922
923         * docs/faq/dependencies.xml: Fix typo.
924
925 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
926
927         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
928         (gst_base_src_loop):
929         Don't update the last_stop position in do_seek, that's the position we
930         did a seek to.
931         Read backwards when we have a negative rate.
932
933         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
934         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
935         (filesrc_suite):
936         Add check for reverse reading.
937
938 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
939
940         Patch by: Alexis Ballier <aballier at gentoo org>
941
942         * tests/check/gst/gstabi.c:
943         * tests/check/gst/struct_ppc64.h:
944         * tests/check/libs/libsabi.c:
945         * tests/check/libs/struct_ppc64.h:
946           Decide which header to include based on the userland ABI target
947           and not the kernel/cpu. Fix up structure sizes of ppc64 header
948           for 64-bit userland (#503590).  Might need something similar for
949           x86 too.
950
951 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
952
953         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
954           Log the reason why fopen fails in addition to the fact that it failed.
955           
956 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
957
958         * gst/parse/parse.l:
959         Use "%option never-interactive" to prevent useless calls to isatty()
960         on every input when parsing. Also use "%option noinput" to not define
961         the static input/yyinput functions which we don't use anyway. This
962         removes a compiler warning with gcc 4.3 and saves some bytes in the
963         library.
964         
965         * gst/parse/lex._gst_parse_yy.pre.c:
966         Regenerated for the above change.
967
968 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
969
970         * gst/gstpad.c: (fixate_value):
971         Don't crash when trying to fixate and empty list.
972         Fixes #506643.
973
974 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
975
976         * docs/faq/gst-uninstalled:
977         Clarify the comments to make the usage of this script and what it
978         does easier to understand.
979
980 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
981
982         * tools/gst-plot-timeline.py:
983         Add more options to gst-plot-timeline
984
985 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
986
987         * docs/design/part-synchronisation.txt:
988         Some more info on how the stream_time in GstBaseSink is done.
989
990 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
991
992         * tests/check/generic/sinks.c: (gst_sinks_suite):
993           Put back the tcase_set_timeout(), apparently it's needed after
994           all; fix it up in a way that makes things work with valgrind too.
995
996 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
997
998         * gst/gstdebugutils.c:
999           Add warning when failed to open file for writing.
1000
1001 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1002
1003         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1004
1005         * gst/gstvalue.c: (gst_value_is_fixed):
1006           Optimisation: bail out of the loop as early as possible (#500143).
1007
1008 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1009
1010         * gst/gstcaps.c: (gst_caps_to_string):
1011         * gst/gstinfo.c: (gst_debug_construct_term_color):
1012         * gst/gstparse.c: (gst_parse_launchv):
1013         * gst/gstutils.c: (gst_util_dump_mem):
1014         * gst/gstvalue.c: (gst_value_serialize_any_list),
1015           (gst_value_transform_any_list_string):
1016           Bunch of gratuitous nano-optimisations.
1017
1018 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1019
1020         * tests/check/generic/sinks.c: (async_done_func),
1021           (async_done_eos_func):
1022           Fix leak in unit test (bus sync handler must unref the message
1023           if it returns GST_BUS_DROP). Don't fiddle with the default test
1024           timeout, this is smaller than the current preconfigured value
1025           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1026           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1027
1028 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1029
1030         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1031
1032         * configure.ac:
1033         Check for stdio_ext.h for the filesink changes.
1034
1035         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1036         (gst_file_sink_class_init), (gst_file_sink_init),
1037         (gst_file_sink_dispose), (gst_file_sink_set_property),
1038         (gst_file_sink_get_property), (gst_file_sink_open_file),
1039         (gst_file_sink_close_file):
1040         * plugins/elements/gstfilesink.h:
1041         Add two properties to control the buffering mode and size.
1042         API: GstFileSink::buffer-mode
1043         API: GstFileSink::buffer-size
1044         Fixes #500150.
1045
1046 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1047
1048         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1049         Add some more docs to explain why a FIXME was wrongly added. 
1050
1051 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1052
1053         * gst/gstobject.c:
1054           Fix typo in the gst_object_{ref,unref} documentation.
1055
1056 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1057
1058         * tests/check/libs/controller.c:
1059         * tests/check/libs/typefindhelper.c:
1060         * tests/check/pipelines/parse-launch.c:
1061           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1062           going to be deprecated (see #498924).
1063
1064 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1065
1066         * gst/gsttypefind.c: (gst_type_find_register):
1067           Make gst_type_find_register work for static typefind functions,
1068           ie. allow passing plugin == NULL (prerequisite for #498924).
1069
1070         * gst/gstelementfactory.c: (gst_element_register):
1071           Small docs addition.
1072
1073 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1074
1075         * gst/gstpad.c: (gst_pad_dispose):
1076         Really unlink the peer pad instead of setting the peer pointer to NULL
1077         when we dispose the pad.
1078         This correctly calls the unlink functions and makes sure that the peer
1079         does not have a handle to invalid memory. See #504671.
1080
1081         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1082         Add testsuite for above case.
1083
1084 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1085
1086         Patch by: Peter Kjellerstedt <pkj axis com>
1087
1088         * libs/gst/check/gstcheck.h:
1089           Fix detection of the check version we're compiling against (would
1090           otherwise break if check goes v0.10.0); correctly report the
1091           name of the failed test again in case of failure, instead of
1092           just 'tf' (fixes #504499).
1093
1094 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1095
1096         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1097         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1098         (gst_base_src_loop), (gst_base_src_set_flushing),
1099         (gst_base_src_change_state):
1100         Allow sending EOS to the source to make it send out an EOS event from
1101         the streaming thread.
1102         Update docs and deprecate the old NULL/READY shutdown method.
1103
1104         * tests/check/libs/basesrc.c: (GST_START_TEST),
1105         (gst_basesrc_suite):
1106         Add unit test for controlled shutdown.
1107
1108 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1109
1110         * docs/design/part-synchronisation.txt:
1111         Small updates.
1112
1113         * gst/gstsegment.c: (gst_segment_set_seek),
1114         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1115         (gst_segment_to_running_time):
1116         The seek format can be different from the segment format when the start
1117         and stop values are not to be updated, when we only do a rate change for
1118         example.
1119
1120         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1121         (gst_segment_suite):
1122         Add a testcase for the rate-only seeks, checking that the format is
1123         correctly ignored when start and stop are not updated.
1124
1125 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1126
1127         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1128
1129         * win32/vs8/grammar.vcproj:
1130         * win32/vs8/libgstcontroller.vcproj:
1131         * win32/vs8/libgstreamer.vcproj:
1132         Fix compilation with VS8 and include some missing files.
1133
1134 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * gst/gsttaglist.c:
1137           Small docs addition: mention that the strings returned by
1138           gst_tag_list_get_string*() are in UTF-8 encoding.
1139
1140 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * Makefile.am:
1143           The check-exports stuff moved to common/win32.mak, so include that.
1144
1145 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1146
1147         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1148         (gst_base_src_perform_seek), (gst_base_src_get_range),
1149         (gst_base_src_set_playing), (gst_base_src_change_state):
1150         Make _wait_playing() not check any variables so that we can call this
1151         function from subclasses. Move the checks elsewhere similar to
1152         _wait_preroll() in basesink.
1153         Add some debugging.
1154         Only signal the LIVE cond when we are going back to PLAYING.
1155
1156 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1159           Use g_remove() and g_rename(). Check result of g_rename(), and
1160           don't leak the open file descriptor if we error out when writing.
1161
1162         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1163           Must check the return value of close() after writing out the new
1164           registry file.  Sometimes write problems such as out-of-diskspace
1165           are only reported when the file is closed and not already during
1166           the write.  This may have caused partial/broken registry files in
1167           some rare circumstances. Should fix #503675.
1168
1169 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1170
1171         * docs/gst/.cvsignore:
1172         * docs/libs/.cvsignore:
1173         * docs/plugins/.cvsignore:
1174         Ignore files generated by new common/* modifications
1175
1176 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * win32/common/libgstbase.def:
1179           Yes, you can also have a <TAB> if you want.
1180
1181 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1182
1183         * win32/common/libgstbase.def:
1184           Add new basetransform API to win export file.
1185
1186 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1187
1188         * tests/check/gst/gstbin.c:
1189           Adjust the test to the refcount change two days ago.
1190
1191 2007-12-14  David Schleef  <ds@schleef.org>
1192
1193         * docs/faq/getting.xml: Fix typo.
1194
1195 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1196
1197         * docs/libs/gstreamer-libs-sections.txt:
1198         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1199           (gst_base_transform_prepare_output_buffer),
1200           (gst_base_transform_set_gap_aware):
1201         * libs/gst/base/gstbasetransform.h:
1202           API: Add gst_base_transform_set_gap_aware() to control whether
1203           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1204           get buffers with this flag at all. Fixes #503231.
1205
1206 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1207
1208         * libs/gst/base/gstbasesink.c:
1209         * libs/gst/base/gstbasesrc.c:
1210         * libs/gst/base/gstbasetransform.c:
1211           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1212           thread. Correct log message in gstbasesrc.c.
1213
1214 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * gst/gstutils.c: (element_find_unconnected_pad):
1217           Fix possible compiler warning (#503417).
1218
1219 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1220
1221         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1222           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1223
1224 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1225
1226         * tools/gst-inspect.c: (print_element_properties_info):
1227           Add support for GstFraction properties.
1228
1229 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1230
1231         * Makefile.am:
1232           Add check-exports target and run it as part of 'make check'
1233           (see #499140 and #493983).
1234
1235         * gst/gst_private.h:
1236         * gst/gstelementfactory.h:
1237         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1238         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1239           (_priv_gst_in_valgrind):
1240         * gst/gstinfo.h: (GstLogFunction):
1241         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1242           (gst_type_find_register):
1243         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1244           (gst_type_find_factory_get_type):
1245         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1246           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1247           (gst_controller_new_valist), (gst_controller_new_list),
1248           (_gst_controller_dispose), (_gst_controller_class_init):
1249         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1250         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1251           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1252           (gst_object_get_controller), (gst_object_set_controller),
1253           (gst_object_suggest_next_sync), (gst_object_sync_values),
1254           (gst_object_set_control_source), (gst_object_get_control_source),
1255           (gst_object_get_value_arrays), (gst_object_get_value_array),
1256           (gst_object_get_control_rate), (gst_object_set_control_rate):
1257         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1258         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1259           Make some functions that should be static static; rename some
1260           private symbols so that they don't get exported; add some FIXME
1261           comments so we can move accidentally exported functions into
1262           our private section in 0.11.
1263
1264         * win32/common/libgstreamer.def:
1265           Add gst_utils_get_timestamp().
1266
1267 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1268
1269         * gst/gstvalue.c:
1270         * gst/gstvalue.h:
1271           Add more missing "Since:" tags to docs.
1272
1273 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1274
1275         * gst/gstutils.c:
1276           Add mising "Since:" to docs.
1277
1278 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1279
1280         * gst/gstplugin.c:
1281           Include "glib-compat-private.h" to fix the build on system with
1282           glib < 2.10. Fixes #503131.
1283
1284 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1285
1286         * gst/gstutils.c:
1287         * gst/gstutils.h:
1288           Actually its not PURE as it gets the time from elsewhere.
1289
1290 2007-12-11  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         * gst/gstutils.c:
1297         * gst/gstutils.h:
1298         * libs/gst/base/gstbasesink.c:
1299         * tools/gst-launch.c:
1300           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1301           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1302           Thanks Tim for spotting.
1303           API: gst_util_get_timestamp
1304
1305 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1306
1307         * configure.ac:
1308           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1309
1310 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         * gst/gststructure.c: (gst_structure_validate_name),
1313           (gst_structure_new_valist), (gst_structure_parse_value),
1314           (gst_structure_from_string):
1315           Don't crash in _from_string() if the structure name is not valid
1316           (fixes #501560).  Allow structure names to start with a number
1317           again (this apparently broke the ubuntu codec installer).
1318
1319         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1320           (GST_START_TEST):
1321           Add unit test for the crash; update unit tests for new behaviour.
1322
1323 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1324
1325         * gst/gstutils.c:
1326         Clarify gst_element_get_compatible_pad() documentation.
1327         Fixes #500919.
1328
1329 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1330
1331         * tests/check/Makefile.am:
1332           Don't forget to dist {gst,libs}/struct_hppa.h.
1333
1334 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1335
1336         * libs/gst/base/gstbasesink.c:
1337           Use new API to get elapsed time.
1338
1339 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1340
1341         * gst/gstdebugutils.c:
1342         * gst/gstinfo.c:
1343           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1344
1345         * tools/gst-launch.c:
1346           Use new API to get elapsed time.
1347
1348 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1349
1350         * docs/gst/gstreamer-sections.txt:
1351         * gst/gstclock.h:
1352         * gst/gstdebugutils.c:
1353         * gst/gstinfo.c:
1354           Rename new API + ChangeLog surgery to remove old name from last entry..
1355
1356 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1357
1358         * docs/gst/gstreamer-sections.txt:
1359         * gst/gstclock.h:
1360         * gst/gstdebugutils.c:
1361         * gst/gstinfo.c:
1362           Now hide the different clock stuff behind a macro.
1363
1364 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1365
1366         * configure.ac:
1367         * gst/gstdebugutils.c:
1368         * gst/gstinfo.c:
1369           Apply the posix-timer check from #361155. Conditionally use the posix
1370           timer for logging. This gives better timestamp precission, less
1371           overhead and no ntp jitter.
1372
1373 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1374
1375         * gst/gstminiobject.c: (gst_mini_object_get_type),
1376         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1377         (gst_mini_object_finalize), (gst_mini_object_copy),
1378         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1379         (gst_mini_object_replace), (param_mini_object_validate),
1380         (gst_param_spec_mini_object_get_type):
1381         Some cleanup and checking against invalid function parameters.
1382
1383 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1384
1385         * docs/gst/gstreamer-sections.txt:
1386         * gst/gstclock.h:
1387         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1388         (gst_systemclock_suite):
1389         Start merging in the easy bits of #361155, the monotonic clock patch.
1390         This one adds a few handy macros with docs and a testsuite.
1391
1392 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1393
1394         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1395         Be a bit smarter when seeking, like, don't try to do a seek when it's
1396         not needed. This avoids errors when the file is not seekable.
1397         Fixes #499771.
1398
1399 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1400
1401         * docs/gst/gstreamer-docs.sgml:
1402         * docs/gst/gstreamer-sections.txt:
1403         * docs/gst/gstreamer.types.in:
1404         * gst/Makefile.am:
1405         * gst/gst.h:
1406         * gst/gstpreset.c:
1407         * gst/gstpreset.h:
1408         * plugins/elements/gstqueue.c:
1409           Due to popular request remove preset interface again. :-(.
1410
1411 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1412
1413         * tools/gst-inspect.c:
1414           Print 'default value' for enums and flags too.
1415
1416 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1417
1418         * docs/random/ensonic/profiling.txt:
1419           More ideas.
1420
1421         * gst/gstbin.c:
1422           Fix typo and give better log output.
1423
1424         * gst/gstdebugutils.c:
1425         * gst/gstdebugutils.h:
1426           More ideas, make graphs a bit smaller and fix param name in macro.
1427
1428 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1429
1430         * gst/gstpreset.c:
1431           Try harder to use the return value from fgets().
1432
1433 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1434
1435         * gst/gstpreset.c:
1436           For theses two fgets we handle the error below.
1437
1438 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1439
1440         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1441         Only send upstream events upstream. Fixes #498746.
1442
1443 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1444
1445         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1446
1447         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1448         (gst_identity_init), (gst_identity_transform_ip),
1449         (gst_identity_set_property), (gst_identity_get_property):
1450         * plugins/elements/gstidentity.h:
1451         Add property to disable handoff signal emission. Fixes #498694.
1452         API: GstIdentity::signal-handoffs
1453
1454 2007-11-21  Julien Moutte  <julien@fluendo.com>
1455
1456         * docs/faq/gst-uninstalled: Yet another missing library for the
1457         uninstalled script (fft)
1458
1459 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1460
1461         * docs/faq/developing.xml:
1462         Add a question about how to submit new translations.
1463
1464         * docs/random/release:
1465         Update the contact email address for the Translation Project
1466
1467         * plugins/elements/gstfdsrc.c:
1468         The parent_class for fdsrc is pushsrc, not GstElement.
1469
1470 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1471
1472         * gst/gstpreset.c:
1473           Plug a leak and fix saving.
1474
1475 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
1476
1477         * docs/gst/gstreamer-sections.txt:
1478         Add new gst_preset__get_property_names() function to the docs
1479         to fix the build.
1480
1481 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1482
1483         * gst/gstpreset.c:
1484         * gst/gstpreset.h:
1485           Change _get_preset_names API to return a strv with copies. Add
1486           _get_property_names to allow implementations to filter and provide
1487           good default implementation.
1488
1489 2007-11-20  Julien MOUTTE  <julien@moutte.net>
1490
1491         * docs/faq/gst-uninstalled: Add another library to the uninstalled
1492         script (sdp).
1493
1494 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1495
1496         * gst/gstpreset.c:
1497           More cleanups, docs, and TODOs from comments that now slowly come in.
1498
1499 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1500
1501         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
1502         search path.
1503
1504 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1505
1506         * gst/gstpreset.c:
1507           Fix bogus warning and make the property type specific code more
1508           similar.
1509
1510 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1511
1512         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
1513         it build on OS X.
1514
1515 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
1516
1517         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1518         (gst_bin_add_func), (gst_bin_remove_func),
1519         (gst_bin_change_state_func), (gst_bin_continue_func):
1520         Change email, cleanups add some more debug and comments.
1521         Also set bus and clock on new elements when the pipeline was in error.
1522
1523 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
1524
1525         * gst/gstbin.c:
1526         * gst/gstdebugutils.c:
1527           Fix build with --disable-gst-debug. Fixes #497859.
1528           Spotted by Sameer Naik.
1529
1530 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * gst/gstevent.c:
1533           Little documentation improvment.
1534
1535         * gst/gstpreset.c:
1536           More TODO cleanups. Remove c++ comments.
1537
1538         * libs/gst/controller/gstcontroller.c:
1539           Add TODO and use quark from static string.
1540
1541         * tests/check/gst/gstmessage.c:
1542         * tests/check/gst/gststructure.c:
1543           Use quark from static string.
1544
1545 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1546
1547         * gst/gstpreset.c:
1548           Add some comments and TODOs.
1549
1550         * gst/gstpreset.h:
1551           Add padding for future changes.
1552
1553         * plugins/elements/gstqueue.c:
1554           Implement the iface.    
1555
1556 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1557
1558         * docs/gst/gstreamer-docs.sgml:
1559         * docs/gst/gstreamer-sections.txt:
1560         * docs/gst/gstreamer.types.in:
1561         * gst/Makefile.am:
1562         * gst/gst.h:
1563         * gst/gstpreset.c:
1564         * gst/gstpreset.h:
1565           Add the preset interface (Fixes #396779). Do some doc cleanups along.
1566
1567 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
1568
1569         * configure.ac:
1570
1571         Back to CVS
1572
1573 === release 0.10.15 ===
1574
1575 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
1576
1577         * configure.ac:
1578           releasing 0.10.15, "October"
1579
1580 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
1581
1582         * win32/vs6/libgstreamer.dsp:
1583         Convert line endings back to DOS.
1584
1585 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
1586
1587         * docs/design/draft-tagreading.txt:
1588         * docs/random/ensonic/profiling.txt:
1589         Update fast tagreading draft and performance profiling ideas.
1590
1591 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1592
1593         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
1594         Don't hold the object lock when unreffing a buffer because it could
1595         cause a deadlock when the finalize function wants to grab the object
1596         lock too. Fixes #495133.
1597
1598 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1599
1600         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
1601         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1602         Also accumulate time correctly when doing reverse playback. Fixes
1603         #488201,
1604         When converting to running and stream time, use default values for
1605         start/stop/time/accum when comparing different formats. Fixes #494245.
1606
1607         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1608         Do running/stream time in TIME format.
1609
1610         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1611         (gst_segment_suite):
1612         2 new unit tests for segment accumulation.
1613
1614 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1615
1616         * gst/gst.c: (init_pre):
1617         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
1618           (_gst_debug_bin_to_dot_file):
1619           Move getenv() back into gst_init, so everyone can live happily
1620           ever after. Make sure the symbol isn't exported though.
1621
1622 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1623
1624         Patch by: Sebastien Moutte  <sebastien moutte net>
1625
1626         * win32/common/gstenumtypes.c:
1627         * win32/common/gstenumtypes.h:
1628           Update enum types.
1629
1630         * win32/vs6/libgstreamer.dsp:
1631           Update vs6 project files (#494343).
1632
1633 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1634
1635         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
1636         (gst_base_src_perform_seek), (gst_base_src_default_event),
1637         (gst_base_src_set_flushing), (gst_base_src_activate_push),
1638         (gst_base_src_activate_pull):
1639         Unify flushing code, remove some old unlock code that is no longer used.
1640         Take the streaming lock when seeking to avoid races. Fixes #492729.
1641         Added some more comments.
1642
1643 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * gst/gst.c: (_gst_disable_segtrap):
1646           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
1647           we can use gst_segtrap_is_enabled() there now that we have that API.
1648           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
1649           to do the getenv here (and export the variable).
1650
1651         * gst/gstdebugutils.c: (debug_dump_element),
1652           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
1653           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
1654
1655         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
1656           (gst_debug_log_default):
1657           Rename _gst_info_start_time to priv_gst_info_start_time so it
1658           doesn't get exported (was never in any header).
1659
1660         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
1661           (gst_plugin_loading_mutex):
1662           Make static mutex gst_plugin_loading_mutex really static (was never
1663           in any header), and use gst_segtrap_is_enabled() instead of
1664           _gst_disable_segtrap.
1665
1666         * gst/gsttrace.c: (_gst_trace_default):
1667           Make local _gst_trace_default static (was never in any header).
1668
1669 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1670
1671         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1672
1673         * win32/common/libgstbase.def:
1674         * win32/common/libgstcontroller.def:
1675         * win32/common/libgstdataprotocol.def:
1676         * win32/common/libgstnet.def:
1677         * win32/common/libgstreamer.def:
1678           Add more missing symbols, remove some duplicates, and sort
1679           as the 'sort' command sorts it (partially fixes #493983).
1680
1681 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1682
1683         * gst/gstelement.c: (gst_element_set_state_func):
1684         Only change the state cookie if a different state was set on the
1685         element. See #492729.
1686
1687 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1688
1689         * gst/gstvalue.c:
1690           Remove unused and uninitialised type variables that were still
1691           exported for some reason (they were never in any header files
1692           though).
1693
1694 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1695
1696         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1697         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
1698         (gst_base_sink_event), (gst_base_sink_get_position_last),
1699         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1700         (gst_base_sink_change_state):
1701         Don't try to report a 0 position when we don't know, return -1 and FALSE
1702         instead. This mostly happens when we are prerolling.
1703         Make sure we can report the right position before we post the ASYNC_DONE
1704         message so that a message handler can query position without races.
1705
1706         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
1707         (async_done_handoff), (async_done_func), (send_buffer),
1708         (async_done_eos_func), (gst_sinks_suite):
1709         Add two tests for the above.
1710
1711 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1712
1713         * MAINTAINERS:
1714         Update with new email address.
1715
1716         * docs/design/part-TODO.txt:
1717         Add some more info about future pad-block and negotiation changes.
1718
1719         * docs/design/part-buffering.txt:
1720         Add some ideas about buffering reporting.
1721
1722 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
1723
1724         * tests/check/gst/gstobject.c:
1725         Disable silly racy test that always fails on this combination of CPU
1726         and kernel.
1727
1728 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1729
1730         Patch by: Murray Cumming  <murrayc@murrayc.com>
1731
1732         * gst/gstobject.c:
1733           Corrected the registration of the parent-set and parent-unset
1734           signals: The parameter is a GstObject, not a GObject (#493134).
1735
1736 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         * gst/gst_private.h:
1739         * gst/gstbuffer.h:
1740         * gst/gstevent.h:
1741         * gst/gstformat.h:
1742         * gst/gstmessage.h:
1743         * gst/gstplugin.h:
1744         * gst/gstquery.h:
1745         * gst/gsttaglist.h:
1746         * gst/gstvalue.h:
1747           Move declaration of private _gst_foo_initialize() functions into
1748           our private header file where they should have been all along.
1749
1750 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1751
1752         * docs/plugins/gstreamer-plugins-sections.txt:
1753         * gst/gstdebugutils.h:
1754         * gst/gstxml.h:
1755         * plugins/elements/gstqueue.c:
1756           gtk-doc fixes; trailing-comma-in-enum fix.
1757
1758 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * gst/gst.c: (gst_deinit):
1761           Clean up on deinit (not the external ones though, doesn't seem to be
1762           needed for some reason).
1763
1764 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
1767           Remove __declspec(dllimport) for MSVC that was copied over into core
1768           from a plugin, obviously without ever having been tested (note the
1769           single underscore in _declspec in the initial commit), and that doesn't
1770           really make sense.  See #492077.
1771
1772 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1773
1774         * gst/gst.c: (init_post):
1775         * gst/gstevent.c: (_gst_event_initialize):
1776         * gst/gstquery.c: (_gst_query_initialize):
1777         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
1778           g_type_class_ref() other types as well, see #349410 and #64764.
1779
1780         * gst/gstbuffer.c: (_gst_buffer_initialize):
1781         * gst/gstmessage.c: (_gst_message_initialize):
1782           Simplify existing g_type_class_ref().
1783
1784 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1785
1786         * gst/gstformat.c: (_gst_format_initialize):
1787           g_type_class_ref() our GstFormat type to make sure we avoid the
1788           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
1789           bug #64764. Should fix intermittent tee unit test failures (#474823).
1790
1791 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * tests/check/elements/tee.c: (test_num_buffers):
1794           Simplify, simplify, simplify - or not.  Rewrite unit test
1795           not to use gst_parse_launch(); allow N sub-streams. Increasing
1796           the number of sub-streams seems to reproduce #474823 more easily.
1797
1798 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1801
1802         * gst/gsttrace.c:
1803         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1804         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1805         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
1806           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
1807           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
1808           so use _pipe() directly (#492077).
1809
1810         * win32/common/dirent.c: (_treaddir):
1811           Add a couple of casts to make it build without warnings with MSVC.
1812
1813         * win32/common/libgstreamer.def:
1814           Add some more symbols that need to be exported.
1815
1816 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * tests/examples/metadata/read-metadata.c: (message_loop):
1819           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
1820           arriving in a second or third tag message are added to
1821           the tag list as well.
1822
1823 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
1824
1825         * libs/gst/base/gstbasesrc.c:
1826           Its "Since:" and not "@Since:". And remove an superflous cast.
1827
1828 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
1829
1830         * docs/libs/gstreamer-libs-sections.txt:
1831         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1832         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
1833         (gst_base_sink_get_property), (gst_base_sink_render_object),
1834         (gst_base_sink_preroll_object),
1835         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1836         (gst_base_sink_change_state):
1837         * libs/gst/base/gstbasesink.h:
1838         Add a new last-buffer property that contains the last buffer used in
1839         basesink for preroll or rendering. useful for making snapshots.
1840         API: gst_base_sink_get_last_buffer()
1841         API: GstBaseSink::last-buffer
1842
1843 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1844
1845         * docs/gst/running.xml:
1846         * gst/gst.c:
1847         * gst/gstdebugutils.c:
1848         * gst/gstdebugutils.h:
1849         * tools/gst-launch.c:
1850           Improve bin graph dumping, by using the envvar to specify a path.
1851           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
1852
1853 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
1854
1855         * plugins/elements/gsttypefindelement.c:
1856           (gst_type_find_element_handle_event),
1857           (gst_type_find_element_activate):
1858           Post special error message if we can't determine the type of a stream
1859           because it's empty.
1860
1861 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1862
1863         * docs/gst/running.xml:
1864         * gst/gstdebugutils.c:
1865           Document new env-var. Add one log-line after dumpng a graph.
1866
1867 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
1868
1869         * configure.ac:
1870           Ugly hack to put the (recently removed and non-portable, apparently)
1871           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
1872           GNU ld, because without that 'make check' fails miserably on my debian
1873           stable box.  Someone with more knowledge of linker intricacies and
1874           portability issues than me fix this properly please.
1875
1876 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
1877
1878         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1879         Reset last seen position after flushing so that we don't report the old
1880         position anymore.
1881
1882 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1883
1884         * gst/gstelementfactory.c: (gst_element_register):
1885         * gst/gsturi.h:
1886         Patch from Alessandro Decina adding get_type_full and
1887         get_protocols_full private vfuncs to the URIHandler interface
1888         to allow bindings to support creating URI handlers. 
1889         Partially fixes: #339279
1890         API: GstURIHandlerInterface::get_type_full
1891         API: GstURIHandlerInterface::get_protocols_full
1892
1893 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1894
1895         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1896         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
1897         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
1898         Make it so that pads are considered linked until a buffer is pushed
1899         and discovered otherwise. This avoids problems with decodebin2 hanging
1900         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
1901         case.
1902
1903         Make sure we lock the multiqueue when updating the max-size properties.
1904         
1905         Fix a crash on Solaris in a debug statement in get_request_pad that
1906         passes a NULL string to GST_DEBUG. 
1907
1908         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1909         (run_output_order_test):
1910         Fix the test to allow the first buffer on not-linked pads to come out
1911         of sequence while multiqueue discovers that they are not-linked.
1912
1913 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1914
1915         * configure.ac:
1916         * libs/gst/check/Makefile.am:
1917         Use a custom export symbol regex for libgstcheck, as it needs
1918         to export symbols that don't match the standard GStreamer gst_*
1919         pattern, and  --export-dynamic is not portable (only works on 
1920         GNU ld)
1921
1922         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1923         (gst_check_setup_sink_pad):
1924         Make sure to pass a message parameter to the fail_* macros.
1925
1926         * tests/check/gst/gstinfo.c: (GST_START_TEST):
1927         Fix some compiler warnings.
1928
1929 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * tests/check/gst/gststructure.c: (test_to_string):
1932           Disable test that checks that white spaces are not allowed
1933           in structure names or field names, since we need to
1934           support that for now for backwards compatibility reasons.
1935
1936 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1937
1938         * docs/gst/gstreamer-sections.txt:
1939         * gst/gsttaglist.c:
1940         * gst/gsttaglist.h:
1941           API: add GST_TAG_ARTIST_SORTNAME
1942           API: add GST_TAG_ALBUM_SORTNAME
1943           API: add GST_TAG_TITLE_SORTNAME
1944           Add tag variants for sorting (#414539).
1945
1946 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1947
1948         * gst/gststructure.c:
1949           Also allow white space for names so we don't break
1950           backwards compatibility.
1951
1952 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
1953
1954         * docs/design/part-TODO.txt:
1955         * docs/design/part-segments.txt:
1956         * docs/design/part-streams.txt:
1957         Small updates.
1958
1959 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1960
1961         * docs/gst/gstreamer-sections.txt:
1962          Fixed documentation from my previous commit (added new API add
1963          gst_value_set_structure(), add gst_value_get_structure() and
1964          GST_VALUE_HOLDS_STRUCTURE).
1965
1966 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
1967
1968         * gst/gstdebugutils.c:
1969           Reflow code to fix uninitialized variable warning.
1970
1971 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1972
1973         * gst/gstcaps.c: (gst_caps_to_string),
1974         (gst_caps_from_string_inplace):
1975         * gst/gststructure.c: (gst_structure_get_abbrs),
1976         (gst_structure_to_string), (gst_structure_from_string):
1977         * gst/gstvalue.c: (gst_value_set_structure),
1978         (gst_value_get_structure), (gst_value_serialize_structure),
1979         (gst_value_deserialize_structure), (_gst_value_initialize):
1980         * gst/gstvalue.h:
1981         * tests/check/gst/gststructure.c: (GST_START_TEST),
1982         (gst_structure_suite):
1983         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1984          Added GstStructure to gst_value_table and its related functions.
1985          Changed gst_structure_to_string to print ';' in the end.
1986          Changed gst_caps_to_string to not print ';' beteween its
1987          fields (structures) anymore and remove the lastes ';' from latest
1988          structure. Now it is possible to have nested structures.
1989          In addition, backward compatibilty is assured by accepting '\0' as
1990          end delimiter. Fixes: #487969.
1991          API: add gst_value_set_structure()
1992          API: add gst_value_get_structure()
1993          API: add GST_VALUE_HOLDS_STRUCTURE
1994
1995 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
1996
1997         * gst/gstbus.c:
1998           When no GSource callback has been set up, tell developer
1999           to use a function that actually exists.
2000
2001 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2002
2003         * docs/gst/gstreamer-sections.txt:
2004         * gst/Makefile.am:
2005         * gst/gst.c:
2006         * gst/gst.h:
2007         * gst/gstdebugutils.c:
2008         * gst/gstdebugutils.h:
2009         * gst/gstinfo.c:
2010         * gst/gstinfo.h:
2011         * tools/gst-launch.c:
2012           Allow dumping pipelines as dot graphs. Fixes #456573.
2013
2014 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2015
2016         * gst/gststructure.c:
2017           Allow '+' as well, it can be part of media or mime types
2018           such as image/svg+xml.
2019
2020 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2021
2022         * docs/gst/gstreamer-sections.txt:
2023         * gst/gstbus.c:
2024         * gst/gstbus.h:
2025           API: add gst_bus_pop_filtered
2026           API: add gst_bus_timed_pop_filtered
2027           Two new functions for waiting for specific message types on the
2028           bus for a specified amount of time without iterating any main
2029           loops or main contexts.
2030
2031         * tests/check/gst/gstbus.c:
2032           Some tests for the new functions.
2033
2034 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * docs/libs/gstreamer-libs-sections.txt:
2037           Make gtk-doc ignore stuff it should ignore.
2038
2039 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2040
2041         * libs/gst/check/gstcheck.c:
2042         * libs/gst/check/gstcheck.h:
2043           Allow runtime selection of unit tests to run via the GST_CHECKS
2044           environment variable (test case function names, comma-separated).
2045
2046 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2047
2048         * gst/gststructure.c:
2049         * tests/check/gst/gststructure.c:
2050           Revert serialisation change and constrain structure-names after
2051           consensus on irc. Update api documentation to reflect the change.
2052
2053 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2054
2055         * gst/gststructure.c:
2056           Improve serialization and fix tests.
2057
2058         * tests/check/gst/gststructure.c:
2059           Add another test that covers why I actually did the previous structure
2060           change.
2061
2062 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2063
2064         * tools/gst-inspect.c: (print_element_info):
2065         Don't crash when inspecting an element.
2066
2067 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2068
2069         * tests/check/gst/gststructure.c:
2070           Add unit test for escaping of structure name when serialising
2071           and deserialising to/from strings.
2072
2073 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2074
2075         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2076         (gst_single_queue_new):
2077         * plugins/elements/gstqueue.c: (gst_queue_init),
2078         (gst_queue_push_one):
2079         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2080         upstream is tricked into thinking it can suggest a format downstream
2081         while downstream does not support that format. The real problem is that
2082         core calls acceptcaps when pushing a buffer with new caps, for which we
2083         do a little workaround by setting the caps on the srcpad ourselves
2084         before pushing the buffer (until this is figured out). Fixes #486758.
2085
2086 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2087
2088         * gst/gststructure.c:
2089         * gst/gstvalue.c:
2090           Add some more comments and debug output. Quote structure name to fix
2091           deserialisation of some strings.
2092
2093 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2094
2095         * gst/gstbuffer.h:
2096           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2097           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2098
2099 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2100
2101         * tools/gst-inspect.c:
2102           Save approx. 400 1 byte allocs when printing. Use API to acces element
2103           details.
2104
2105         * tools/gst-run.c:
2106           Avoid a strdup.
2107
2108         * tools/gst-xmlinspect.c:
2109           Use API to acces element details.
2110
2111 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2112
2113         * gst/gstinfo.c:
2114           Fix some spelling errors.
2115
2116 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2117
2118         * gst/gstbin.c: (bin_handle_async_done):
2119         Correctly set the next state if all of our async children commited their
2120         state. This makes sure we can actually cancel the state change in
2121         progress. Fixes a regression in Rhythmbox when seeking.
2122
2123 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2124
2125         * gst/gstbin.c:
2126           Don't shadow local variable.
2127
2128         * gst/gstinfo.c:
2129           Don't shadow global function name.
2130
2131 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2132
2133         * gst/gstelementfactory.c:
2134         * gst/gstpluginfeature.c:
2135         * gst/gstpluginfeature.h:
2136         * gst/gstregistrybinary.c:
2137         * gst/gstregistryxml.c:
2138         * gst/gsttypefind.c:
2139           Use already-interned string for the private GstPluginFeature
2140           plugin_name field.
2141
2142 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2143
2144         * docs/libs/gstreamer-libs-sections.txt:
2145           Add new API to docs; fixes the build.
2146
2147 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2148         
2149         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2150
2151         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2152         (gst_base_sink_event):
2153         * libs/gst/base/gstbasesink.h:
2154         Add function to wait for EOS, subclasses can use this to correctly wait
2155         for devices to drain before performing the EOS logic. Fixes #485343.
2156         API: gst_base_sink_wait_eos()
2157
2158 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2159
2160         * gst/gstplugin.h:
2161           Cast description string constants in GST_PLUGIN_DEFINE macros
2162           to a (gchar*) to make C++ code using these macros compile
2163           without warning with g++-4.2 (see #462737).  Even if slightly
2164           ugly, this seems preferable to putting the description strings
2165           into the GLib quark table or making the structure member a
2166           const gchar * and doing casts in core code that allocs and
2167           frees these strings, or requiring a cast in the C++ code.
2168
2169 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2170
2171         * gst/gstinfo.h:
2172           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2173           to print the entire class/function signature into the log
2174           file for C++ code.  This only affects C++ code, for C code
2175           everything remains the same.
2176
2177 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2178
2179         * gst/gstbin.c: (remove_from_queue):
2180         Work around a problem with pipelines containing (semi)loops until a
2181         proper, more complicated solution is ready. See #475455.
2182
2183 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2184
2185         * gst/gstplugin.c:
2186         * gst/gstplugin.h:
2187         * gst/gstregistrybinary.c:
2188         * gst/gstregistryxml.c:
2189           Put more strings into the GLib quark table. No need to keep
2190           a hundred-something copies of identical version strings,
2191           license strings, package name strings and package origin
2192           strings around. 
2193
2194 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2195
2196         * docs/manual/advanced-dataaccess.xml:
2197           Don't imply that it's okay to unconditionally change
2198           buffer data or buffer metadata in a pad probe callback,
2199           and a bunch of other comments. Fixes #430031.
2200
2201 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2202
2203         * win32/common/gstenumtypes.c:
2204         * win32/common/gstenumtypes.h:
2205         * win32/common/gstversion.h:
2206           Update generated files.
2207
2208 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2209
2210         * docs/manual/advanced-autoplugging.xml:
2211           Prefix section with broken code with a warning (see #342432).
2212
2213 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2214
2215         * docs/manual/appendix-integration.xml:
2216         * docs/manual/basics-init.xml:
2217           Call g_thread_init() before g_option_context_new() to
2218           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2219
2220 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2221
2222         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2223         (gst_base_sink_queue_object_unlocked),
2224         (gst_base_sink_queue_object), (gst_base_sink_event),
2225         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2226         When we received EOS and are waiting for when to post the EOS message,
2227         our state is prerolled and we should not return ASYNC.
2228         Reorganize some code paths to implement this behavior.
2229
2230         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2231         (gst_sinks_suite):
2232         Add unit test to verify above EOS fix.
2233
2234 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2235
2236         * plugins/elements/gsttypefindelement.c:
2237         (gst_type_find_element_have_type), (gst_type_find_element_init),
2238         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2239         Move detecting the input caps of the sinkpad to the setcaps function.
2240         This allows us to update the output caps when we receive new input caps
2241         instead of always using the first detected caps.
2242
2243 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2244
2245         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2246         (gst_base_sink_get_position):
2247         Don't try to preroll non-async elements after a flush.
2248         Subtract latency form clock times when reporting position.
2249
2250 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2251
2252         * gst/gstpad.c: (gst_pad_pause_task):
2253         * gst/gstutils.c:
2254         Small comment and documentation update.
2255
2256 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2257
2258         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2259         (gst_base_src_set_live), (gst_base_src_is_live),
2260         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2261         (gst_base_src_default_event), (gst_base_src_wait),
2262         (gst_base_src_do_sync), (gst_base_src_get_range),
2263         (gst_base_src_pad_get_range), (gst_base_src_loop),
2264         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2265         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2266         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2267         (gst_base_src_change_state):
2268         Rework the locking of basesrc in a similar fashion to basesink. We
2269         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2270         us to handle live sources and semi live ones much better.
2271         Simplify flushing.
2272         Fix unlocking when seeking, shutting down and pausing in live sources.
2273
2274 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2275
2276         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2277         Fix compilation again.
2278
2279 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2280
2281         * gst/gstelement.c:
2282           Use meaningful categories for the logs to clean the default one.
2283
2284 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2285
2286         * tests/check/pipelines/cleanup.c:
2287           Print message name and not just number.
2288
2289 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2290
2291         * docs/design/draft-tagreading.txt:
2292           Add some more thoughts.
2293
2294 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * tests/check/pipelines/simple-launch-lines.c:
2297           Print message name and not just number.
2298
2299 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2300
2301         * libs/gst/base/gsttypefindhelper.c:
2302           Speedup typefinding. This is work in progress (see #459862).
2303
2304 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2305
2306         * gst/gstplugin.c:
2307           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2308           Spotted by Josep Torra Valles <josep@fluendo.com>.
2309
2310 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2311
2312         * gst/gstclock.h:
2313           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2314           field has moved to GstObject.
2315
2316 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2317
2318         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2319         (gst_base_src_get_range), (gst_base_src_change_state):
2320         Call unlock for live sources so that they can't get stuck in _create and
2321         produce a buffer before they are set back to PLAYING.
2322
2323 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2324
2325         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2326         (gst_queue_locked_dequeue):
2327         Comment the segment-related code... in the PROPER function.
2328         See #482147 and my commit from yesterday.
2329
2330 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2331
2332         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2333         Also initialize the counter that calculates the first timestamp on a
2334         buffer correctly for non-live sources.
2335
2336 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2337
2338         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2339         Disable code that's breaking the current-time-level reporting.
2340         See #482147
2341
2342 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2343
2344         * docs/gst/gstreamer-sections.txt:
2345         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2346         as they shouldn't show up. Fixes the docs build.
2347
2348 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2349         
2350         * gst/gstinfo.h:
2351         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2352         Define M_PI which is used in files which are including gstinfo.h. 
2353         VS6 includes doesn't define it.
2354         * win32/common/libgstbase.def:
2355         * win32/common/libgstcontroller.def:
2356         * win32/common/libgstreamer.def:
2357         Add new exported functions and variables.
2358         * win32/vs6/libgstcontroller.dsp:
2359         * win32/vs6/libgstreamer.dsp:
2360         Update the list of files to build.
2361         
2362 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2363
2364         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2365
2366         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2367         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2368         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2369         Improve debugging. Fixes #480858.
2370
2371 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2372
2373         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2374
2375         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2376         First patch of code cleanups, use the macros and right arguments in the
2377         macros to signal and lock the queue. See #480858.
2378
2379 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2380
2381         * gst/gstbus.c: (poll_func):
2382         Improve debugging when dealing with _poll().
2383
2384 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2385
2386         * gst/gstregistryxml.c:
2387           Fix memory leak I introduced a few days ago.
2388
2389 2007-09-26  Michael Smith <msmith@fluendo.com>
2390
2391         * gst/gstbuffer.c: (gst_buffer_finalize):
2392           Make it once again possible to free GstBuffers in the default
2393           build.
2394           The poisoning scribbles on parts of the miniobject we need in
2395           order to free it.
2396           Fixes #480341
2397
2398 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gsttaglist.c:
2402         * gst/gsttaglist.h:
2403         API: add GST_TAG_COMPOSER, fixes #459809.
2404
2405 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2406
2407         * gst/gstplugin.c:
2408         * gst/gstplugin.h:
2409         Add the 3-clause BSD license and the MIT/X11 license to the license
2410         list. Fixes #479784.
2411
2412 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2413
2414         * docs/faq/getting.xml:
2415           Add Q+A about different GStreamer versions (#364056).
2416
2417 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2418
2419         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2420         (gst_base_sink_event), (gst_base_sink_change_state):
2421         Return correct gboolean from query function.
2422
2423 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2424
2425         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2426         (gst_base_sink_event), (gst_base_sink_query),
2427         (gst_base_sink_change_state):
2428         Simplify latency query.
2429         When not synchronizing, we can report latency without querying the peer
2430         element.
2431
2432 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2433
2434         * gst/gstobject.h:
2435         * gst/gstvalue.c:
2436         Fix small typos in the docs.
2437
2438 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2439
2440         * docs/design/draft-latency.txt:
2441         * docs/design/draft-push-pull.txt:
2442         * docs/design/draft-tagreading.txt:
2443         * docs/design/part-MT-refcounting.txt:
2444         * docs/design/part-activation.txt:
2445         * docs/design/part-block.txt:
2446         * docs/design/part-element-source.txt:
2447         * docs/design/part-events.txt:
2448         * docs/design/part-gstbin.txt:
2449         * docs/design/part-gstelement.txt:
2450         * docs/design/part-gstobject.txt:
2451         * docs/design/part-gstpipeline.txt:
2452         * docs/design/part-messages.txt:
2453         * docs/design/part-preroll.txt:
2454         * docs/design/part-push-pull.txt:
2455         * docs/design/part-qos.txt:
2456         * docs/design/part-query.txt:
2457         * docs/design/part-scheduling.txt:
2458         * docs/design/part-seeking.txt:
2459         * docs/design/part-segments.txt:
2460         * docs/design/part-states.txt:
2461         Documentation updates and typo fixes.
2462
2463 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2464
2465         * plugins/elements/gstfakesink.c:
2466           Add some debug text to error message to indicate that
2467           we errored out on request.
2468
2469         * tools/gst-launch.c:
2470           When the state change to PLAYING fails, check for an
2471           error message on the bus and print it.
2472
2473 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2474
2475         translated by: Jorge González González <aloriel@gmail.com>
2476
2477         * po/LINGUAS:
2478         * po/es.po:
2479           Added Spanish translation.
2480
2481 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
2482
2483         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2484         Fix printf arguments.
2485
2486 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2487
2488         * tests/check/generic/states.c:
2489           Improved state change unit test.
2490
2491 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2492
2493         * gst/gstbin.h:
2494           Move priv to the right place.
2495
2496         * gst/gstsystemclock.c:
2497           Add FIXME: and improve log.
2498
2499         * tests/check/Makefile.am:
2500         * tests/examples/manual/Makefile.am:
2501           Work with all types of registries.
2502
2503 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
2504
2505         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2506         Don't unref the event after pushing it. Fixes #478401.
2507
2508 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2509
2510         * .cvsignore:
2511         * tests/examples/manual/.cvsignore:
2512           Ignore registries in any format.
2513
2514 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * gst/glib-compat-private.h:
2517           Add compatibility macro for g_intern_string() for
2518           GLib-2.8 (any reason we can't just bump the
2519           requirement to at least 2.10?)
2520
2521         * gst/gstpadtemplate.h:
2522         * gst/gstelementfactory.c:
2523         * gst/gstregistryxml.c:
2524         * gst/gstregistrybinary.c:
2525           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
2526           up the internal code accordingly.  This shouldn't be a problem, since
2527           there is no reason external code could ever assume the string in such
2528           a structure is dynamically allocated unless it did that itself;  the
2529           use of g_strdup() is private to element factories.  The new code also
2530           saves some memory by putting pad template name strings into the GLib
2531           quark table instead of allocating them dynamically.
2532           Declaring this field constant fixes warnings with g++-4.2 when using
2533           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2534
2535 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2536
2537         * gst/gstelementfactory.c:
2538           Release static caps. Fixes #475723.
2539
2540 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
2541
2542         * gst/gstinfo.c:
2543         * gst/gstinfo.h:
2544           Make some internal API take const gchar * instead of just
2545           gchar * to avoid compiler warnings with g++-4.2.2 when
2546           passing string constants (partially fixes #478092).
2547
2548 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2549
2550         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
2551         A latency query fails when one of the sinks fail.
2552
2553         * gst/gstelement.c: (gst_element_set_base_time):
2554         Improve debugging.
2555
2556 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
2557
2558         * gst/gstbin.c: (gst_bin_continue_func):
2559         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2560         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
2561         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
2562
2563         Fix minor compilation warnings shown with Forte.
2564
2565 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2566
2567         * plugins/elements/gstqueue.c: (apply_buffer),
2568         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
2569         Measure queue level based on the diff between head and tail timestamps
2570         even when pushing the first buffer.
2571
2572 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2573
2574         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2575         (gst_base_sink_event), (gst_base_sink_change_state):
2576         Sinks that don't preroll can always be queried for the latency.
2577         Don't post ASYNC start when we are not async.
2578
2579 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2580
2581         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2582         (gst_queue_handle_sink_event), (gst_queue_chain),
2583         (gst_queue_push_one), (gst_queue_handle_src_query),
2584         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
2585         * plugins/elements/gstqueue.h:
2586         When downstream returns UNEXPECTED from pushing a buffer, don't try to
2587         push more buffers but allow pushing of EOS and NEWSEGMENT.
2588         Add some more debug info here and there. Fixes #476514.
2589
2590 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2591
2592         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2593         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
2594         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2595         (gst_base_sink_set_flushing), (gst_base_sink_query),
2596         (gst_base_sink_change_state):
2597         Latency query is allowed after we are prerolled. Introduce a new flag
2598         for this and stop abusing other variables.
2599
2600 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2601
2602         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2603         Push OOB events downstream when we get them in send_event. This allows
2604         the application to insert events in the pipeline.
2605         Add some more comments.
2606
2607 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2608
2609         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
2610         (do_bin_latency), (gst_bin_change_state_func):
2611         * gst/gstpipeline.c: (gst_pipeline_change_state):
2612         Move latency query from GstPipeline to GstBin so that we can also
2613         use it when async-handling is enabled on bins.
2614
2615 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2616
2617         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2618         (gst_base_src_do_sync), (gst_base_src_change_state):
2619         Update docs.
2620         Clean up the timestamping and syncing code for pseudo live sources.
2621
2622 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
2623
2624         Patch by: Steve Fink  <sphink gmail com>
2625
2626         * docs/manual/appendix-checklist.xml:
2627           Mention less -R switch in the section about debug output (#474055).
2628
2629 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2630
2631         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2632         Queue can latency to the pipeline up to the configured max size in time.
2633         Report this fact in the latency query.
2634
2635 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2636
2637         Patch by: Sebastien Moutte <sebastien at moutte dot net>
2638
2639         * libs/gst/controller/gstinterpolation.c:
2640         * libs/gst/controller/gstlfocontrolsource.c:
2641         Use gst_guint64_to_gdouble() when converting from a uint64 or
2642         GstClockTime to double to fix the build on win32. Fixes #474371.
2643
2644 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2645
2646         * gst/gstbuffer.c: (gst_buffer_finalize):
2647         Implement poisoning for GstBuffer if --enable-poisoning is specified.
2648         When finalizing a buffer the complete struct is filled with 0xff,
2649         thus making a use of the buffer after the final unref impossible.
2650
2651 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2652
2653         * tests/check/libs/controller.c: (GST_START_TEST):
2654         Use fail_unless_equals_int(a, b) instead of
2655         fail_unless_equals (a == b) to get better output on failures.
2656
2657 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2658
2659         * tests/check/gst/gsturi.c:
2660           Also check for the other file URI variant on win32.
2661
2662 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2663
2664         * gst/gsturi.c: (gst_uri_get_location):
2665           If there's no hostname, we want to return 'c:/foo/bar.txt'
2666           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
2667
2668         * tests/check/gst/gsturi.c:
2669           Unit test for the above and a few more things.
2670
2671 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2672
2673         * docs/design/part-live-source.txt:
2674         Add docs on how live sources should timestamp.
2675
2676         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2677         Add some more debug info.
2678         For subclasses that are live and like to sync, add aditional startup
2679         latency to sync time and timestamps so that we timstamp according to the
2680         design doc.
2681
2682 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * gst/gstbuffer.c:
2685           Also do a g_type_class_ref() for the subbuffer type in
2686           the init function.
2687
2688 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2689
2690         * docs/gst/gstreamer-sections.txt:
2691         * gst/gstpad.c: (gst_pad_peer_query):
2692         * gst/gstpad.h:
2693         Add function to perform a query on the peer of a pad.
2694         API: gst_pad_peer_query()
2695
2696 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
2697
2698         * tests/check/gst/gstsystemclock.c:
2699           Cleanup the test a little (use gst-logging and not g_message). Improve
2700           test to check if a wait reached the target.
2701
2702 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2703
2704         * docs/libs/gstreamer-libs-sections.txt:
2705           Add new API to docs and fix the build.
2706
2707 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
2708
2709         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2710         (gst_base_src_init), (gst_base_src_set_do_timestamp),
2711         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
2712         (gst_base_src_get_property), (gst_base_src_do_sync):
2713         * libs/gst/base/gstbasesrc.h:
2714         Add property to make the basesrc timestamp buffers based on the current
2715         running time.
2716         API: GstBaseSrc::do-timestamp
2717         API: gst_base_src_set_do_timestamp()
2718         API: gst_base_src_get_do_timestamp()
2719
2720 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         * docs/random/release:
2723           Really make sure translations are up-to-date before
2724           a release (#465010).
2725
2726 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
2727
2728         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2729         Always destroy the timer, also in error cases.
2730
2731 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2732
2733         * docs/manual/highlevel-xml.xml:
2734         Fix XML example code. Fixes #472714.
2735
2736 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2737
2738         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2739         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2740         (gst_base_sink_query):
2741         Protect eos and have_preroll with the OBJECT lock so we don't need to
2742         take the PREROLL lock when querying the latency. Fixes #473846.
2743
2744 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
2745
2746         * gst/gstelement.c:
2747           Give some log-messages a category.
2748
2749 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
2750
2751         * gst/gststructure.c:
2752         (gst_structure_fixate_field_nearest_fraction):
2753         Fix fraction list fixation code. Take the fraction with the smallest
2754         difference with the target instead of the first one in the list.
2755
2756         * tests/check/gst/gststructure.c: (GST_START_TEST),
2757         (gst_structure_suite):
2758         Added test to verify correct fraction list fixation behaviour.
2759
2760 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         * win32/common/libgstreamer.def:
2763           Export gst_bus_add_signal_watch too.
2764
2765 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
2766
2767         * docs/libs/gstreamer-libs-sections.txt:
2768         Add new methods to docs.
2769
2770         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2771         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
2772         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
2773         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
2774         * libs/gst/base/gstbasesink.h:
2775         Add ts-offset property to fine-tune the synchronisation.
2776         API: GstBaseSink::ts-offset property
2777         API: gst_base_sink_set_ts_offset()
2778         API: gst_base_sink_get_ts_offset()
2779
2780 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
2781
2782         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2783         (gst_base_sink_init), (gst_base_sink_set_sync),
2784         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2785         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
2786         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
2787         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
2788         (gst_base_sink_get_property), (gst_base_sink_change_state):
2789         * libs/gst/base/gstbasesink.h:
2790         Add async property to instruct the sink never to inform the parent about
2791         ASYNC state changes, update docs.
2792         Check argument with g_return_* for the public functions.
2793         API: GstBaseSink::async property
2794         API: gst_base_sink_set_async_enabled()
2795         API: gst_base_sink_is_async_enabled()
2796
2797 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
2798
2799         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
2800         Improve debugging.
2801
2802         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2803         (gst_base_src_default_query), (gst_base_src_wait),
2804         (gst_base_src_do_sync), (gst_base_src_change_state):
2805         Rearrange some code so that we can add support for measuring the 
2806         startup latency.
2807
2808 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
2809
2810         * docs/random/ensonic/dynlink.txt:
2811           More thoughs on this.
2812
2813         * plugins/elements/gstcapsfilter.c:
2814           Add bugzilla ticket number to FIXME comment.
2815
2816 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
2817
2818         * docs/design/part-TODO.txt:
2819         * docs/design/part-block.txt:
2820         Update some docs.
2821
2822 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2823
2824         * gst/Makefile.am:
2825           Revert patch which uses $(gst_headers) instead of $^ because it
2826           breaks make dist.
2827
2828 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2829
2830         * tests/check/gst/gstbin.c: (GST_START_TEST):
2831           Fix leaks in the new unit test.
2832
2833 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
2834
2835         * gst/gst.c:
2836           Don't use GST_INFO before the debug system is actually initialised
2837           (shouldn't do any harm, but won't print anything either, so we can
2838           just as well remove it).
2839
2840         * gst/gstinfo.h:
2841           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
2842           compilers that don't support variadic macros (such as MSVC), should
2843           check for debug_level <= __gst_debug_min as well, since that's the
2844           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
2845           inline helper functions. Should improve performance a bit, but also
2846           makes sure uses of GST_INFO et.al are ignored if the debugging
2847           system isn't initialised yet (instead of printing an assertion
2848           failure).
2849
2850 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
2851
2852         patch by: David Nečas <yeti@physics.muni.cz>
2853
2854         * gst/Makefile.am:
2855           Replace some non portable makefile constructs.
2856
2857 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
2858
2859         * common/gtk-doc-plugins.mak:
2860           Grrrrr. Don't remove the types file on make clean.
2861
2862 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
2863
2864         * tools/gst-launch.1.in:
2865         Add colorspace to example pipeline. Fixes #458274.
2866
2867 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
2868
2869         * docs/random/release:
2870           The release manager should run 'make download-po' before making a
2871           release to make sure translations are up-to-date.
2872
2873         * po/LINGUAS:
2874         * po/be.po:
2875         * po/pl.po:
2876         * po/rw.po:
2877           Add some new translations.
2878
2879 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
2880
2881         * tools/gst-launch.c: (event_loop), (main):
2882         Don´t try to do any state management when a live pipeline posts
2883         buffering messages.
2884         Also make the buffering string translatable.
2885
2886 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2887
2888         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
2889         (bin_handle_async_start), (gst_bin_handle_message_func):
2890         Improve debugging.
2891         When adding elements, insert messages into the bus of the newly added
2892         element and make sure the element is the source of the message. This
2893         allows the parent bin to intercept the message and do the
2894         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
2895         messages to the app (which is not allowed).
2896         Update some docs.
2897
2898         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2899         Fix testsuite so that is does not work around messages that should not
2900         have been posted in the first place.
2901
2902 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2903
2904         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
2905         (update_degree), (gst_bin_sort_iterator_next):
2906         Fix annoying bug in the sorted iterator where a sink that is not really
2907         a sink (when it has downstream links) screwed up the iterator.
2908
2909         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2910         Unit test to verify the fix.
2911
2912 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2913
2914         * gst/gstmessage.h:
2915         Add some more docs for the messages.
2916
2917         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2918         (gst_base_sink_query):
2919         Add some more debugging.
2920
2921         * tools/gst-launch.c: (event_loop):
2922         When interrupting, don't try to set pipeline to PAUSED twice.
2923
2924 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2925
2926         
2927         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
2928         (bin_handle_async_start), (gst_bin_handle_message_func):
2929         Move ASYNC_START message posting to where it belongs, similar to
2930         async_done. 
2931         Don't post ASYNC_START when we are in error. 
2932         Post ASYNC_START when we added an async element to a bin.
2933
2934 2007-08-14  Julien MOUTTE  <julien@moutte.net>
2935
2936         * gst/gstindex.c: (gst_index_add_association): Fix index entry
2937         generation from vargs. Fixes #466595.
2938
2939 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2940
2941         * gst/gstbin.c: (gst_bin_element_set_state):
2942         Always change the state of a NO_PREROLL element even if it has ASYNC
2943         elements inside (in case of a bin).
2944
2945         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
2946         Unit test for this case.
2947
2948 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
2949
2950         * libs/gst/check/gstbufferstraw.c:
2951         * libs/gst/check/gstcheck.h:
2952         * libs/gst/controller/gstcontroller.c:
2953         * libs/gst/controller/gstcontrolsource.h:
2954         * libs/gst/controller/gstlfocontrolsource.h:
2955         * plugins/elements/gstcapsfilter.h:
2956         * plugins/elements/gstfdsink.h:
2957         * plugins/elements/gstfdsrc.h:
2958           Add more missing docs.
2959
2960 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2961
2962         * gst/gststructure.c:
2963         Add Since tag to docs.
2964
2965 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2966
2967         * docs/gst/gstreamer-sections.txt:
2968         * gst/gststructure.c: (gst_structure_get_uint):
2969         * gst/gststructure.h:
2970         Add function to get uint from a structure.
2971         API: gst_structure_get_uint()
2972
2973 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2974
2975         * gst/gstcaps.c: (gst_caps_set_simple_valist),
2976         (gst_caps_intersect):
2977         Fix proper check for simple caps.
2978
2979 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
2980
2981         * docs/gst/Makefile.am:
2982         * docs/libs/Makefile.am:
2983           Remove cruft and do some cleanups.
2984
2985         * docs/gst/gstreamer-docs.sgml:
2986         * docs/libs/gstreamer-libs-docs.sgml:
2987           Prepare for comming gtkdoc features (rebase against online docs).
2988
2989 2007-08-10  Michael Smith <msmith@fluendo.com>
2990
2991         * docs/gst/gstreamer-sections.txt:
2992           Add gst_registry_add_path to docs.
2993
2994 2007-08-10  Michael Smith <msmith@fluendo.com>
2995
2996         * gst/gstregistry.h:
2997           Add gst_registry_add_path, which was missing from this header.
2998
2999 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * libs/gst/controller/gstlfocontrolsource.c:
3002           Printf format fix.
3003
3004 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3005
3006         * libs/gst/base/gstbasesink.c:
3007           Don't send an async_start message during downwards state change if 
3008           target state is less than READY
3009
3010 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3011
3012         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3013
3014         * po/LINGUAS:
3015         * po/hu.po:
3016           Added Hungarian translation.
3017
3018 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3019
3020         * po/fi.po:
3021         * po/it.po:
3022         * po/nl.po:
3023         * po/sv.po:
3024         * po/uk.po:
3025           Updated translations.
3026
3027 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3028
3029         * libs/gst/controller/Makefile.am:
3030         Dist gstlfocontrolsourceprivate.h
3031
3032 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3033
3034         * docs/libs/gstreamer-libs.types:
3035         Don't register the enum type gst_lfo_waveform_get_type() in the
3036         .types file - only GObject derived types belong.
3037
3038 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3039
3040         Patch by: <arenevier at fdn dot fr>
3041
3042         * gst/gstbuffer.h:
3043         Remove comma from last element in enum to avoid compile errors when
3044         using -pendantic. Fixes #464366.
3045
3046 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3047
3048         * docs/design/part-TODO.txt:
3049         Add some more TODO items
3050
3051         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3052         Improve debugging.
3053
3054         * gst/gstcaps.c: (gst_caps_intersect):
3055         Optimize trivial intersection case between identical caps pointers.
3056
3057         * gst/gstelement.c: (gst_element_continue_state),
3058         (gst_element_set_state_func):
3059         * gst/gstpad.c:
3060         Fix spelling and grammar mistakes.
3061
3062 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3063
3064         * po/POTFILES.in:
3065         * po/POTFILES.skip:
3066           Update POTFILES. Fixes #461599.
3067
3068 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3069
3070         * gst/gst.c:
3071         Fix confusing typo in debug output.
3072
3073 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3074
3075         reviewed by: Stefan Kost <ensonic@users.sf.net>
3076
3077         * libs/gst/controller/Makefile.am:
3078         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3079         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3080         (gst_lfo_control_source_new),
3081         (gst_lfo_control_source_set_waveform),
3082         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3083         (gst_lfo_control_source_finalize),
3084         (gst_lfo_control_source_dispose),
3085         (gst_lfo_control_source_set_property),
3086         (gst_lfo_control_source_get_property),
3087         (gst_lfo_control_source_class_init):
3088         * libs/gst/controller/gstlfocontrolsource.h:
3089         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3090         API: Add GstLFOControlSource, a control source that gives values
3091         for specific timestamps based on several periodic waveforms.
3092         Fixes #459717.
3093
3094         * tests/check/libs/controller.c: (GST_START_TEST),
3095         (gst_controller_suite):
3096         * docs/libs/gstreamer-libs-docs.sgml:
3097         * docs/libs/gstreamer-libs-sections.txt:
3098         * docs/libs/gstreamer-libs.types:
3099         Add documentation and unit tests for GstLFOControlSource.
3100
3101 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3102
3103         * configure.ac:
3104         Back to CVS
3105
3106 === release 0.10.14 ===
3107
3108 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3109
3110         * configure.ac:
3111           releasing 0.10.14, "Breathing Vacuum"
3112
3113 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3114
3115         * gst/gstelement.c: (gst_element_class_set_details_simple):
3116         * gst/gstelement.h:
3117           Make strings passed to gst_element_class_set_details_simple()
3118           constant, as they should be (#462752).
3119
3120 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3121
3122         * gst/gstbin.c: (gst_bin_change_state_func),
3123         (bin_handle_async_done), (gst_bin_handle_message_func):
3124         Don't forget about the fact that some element went ASYNC even after a
3125         resync. This makes us post the ASYNC_DONE message correctly.
3126         Fixes #462558.
3127
3128 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3129
3130         * gst/gstregistry.c: (gst_registry_add_feature):
3131         When replacing an existing feature in the registry, make sure to
3132         continue holding a reference until we've replaced the name string
3133         within our feature hash table. Make sure to use g_hash_table_replace
3134         instead of g_hash_table_insert to ensure the new name string is used
3135         as a key instead of the old one that we're about to free.
3136         Fixes: #462085
3137
3138 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3139
3140         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3141         (gst_plugin_feature_set_name):
3142         Revert patch from #459466 until after the release and we can work
3143         out exactly what the problem is (if any).
3144
3145 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3146
3147         * docs/gst/gstreamer-sections.txt:
3148         * gst/gsttaglist.c:
3149         * gst/gsttaglist.h:
3150           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3151
3152 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3153
3154         * docs/libs/Makefile.am:
3155         Include our build-prefix libs and includes before the generic ones to
3156         avoid linking against the installed libs when we want the build-tree
3157         ones.
3158
3159 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3160
3161         Patch by: Steve Fink  <sphink gmail com>
3162
3163         * docs/pwg/building-testapp.xml:
3164           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3165           if people try to build or install the example from the plugin
3166           template against a GStreamer from package using the configure
3167           defaults.
3168
3169 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3170
3171         Patch by: Steve Fink  <sphink gmail com>
3172
3173         * tools/gst-inspect.1.in:
3174           Document --print-all and --print-plugin-auto-install-info command
3175           line options in man page.
3176
3177 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3178
3179         * docs/gst/gstreamer-sections.txt:
3180         Add docs for new api function.
3181
3182 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3183
3184         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3185         * gst/gstelementfactory.h:
3186         API: gst_element_factory_has_interface()
3187         Added method to check if an element factory implements a named
3188         interface.
3189
3190 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * configure.ac:
3193         * docs/gst/gstreamer.types.in:
3194           Another conditional doc check.
3195
3196         * gst/gstmessage.c:
3197         * gst/gstparamspecs.h:
3198         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3199         * gst/gstvalue.c:
3200         * gst/gstxml.h:
3201           API-doc fixes.
3202
3203 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3204
3205         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3206         (gst_registry_binary_load_feature),
3207         (gst_registry_binary_load_plugin),
3208         (gst_registry_binary_read_cache):
3209           Print error just once and with additional info.
3210
3211 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3212
3213         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3214         (helper_find_suggest), (helper_find_get_length),
3215         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3216         (gst_type_find_helper_for_buffer):
3217           Cleanup the typefindhelper code and add private doc comments.
3218
3219 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3220
3221         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3222         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3223         Fix capsfilter for cases where the caps set on capsfilter will provide
3224         additional information.
3225         Fixes #449197
3226
3227 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3228
3229         * gst/gsttypefindfactory.c:
3230           Fix docs that recommened wrong function to use.
3231
3232 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3233
3234         * tools/gst-inspect.c: (print_plugin_features):
3235           Also give media-type for typefinders in element output.
3236
3237 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3238
3239         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3240         (gst_registry_remove_features_for_plugin_unlocked),
3241         (gst_registry_add_feature), (gst_registry_remove_feature),
3242         (gst_registry_lookup_feature_locked):
3243         * gst/gstregistry.h:
3244           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3245           Fixes #459501.
3246
3247 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3248
3249         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3250         (gst_plugin_feature_set_name):
3251           Avoid double memory usage for pluginfeature names. Fixes #459466.
3252
3253 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         * gst/gstpad.h:
3256           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3257           driving the pipeline may need to explicitly check for NOT_LINKED as
3258           well, since IS_FATAL doesn't cover that.
3259
3260 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3261
3262         * docs/pwg/advanced-types.xml:
3263           Fix typo and duplicate entry in video formats list.
3264
3265 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3266
3267         * libs/gst/controller/gstinterpolation.c:
3268         Also round to the nearest int when using cubic interpolation.
3269
3270 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3271
3272         * libs/gst/controller/gstinterpolation.c:
3273         When linearly interpolating integer types, round to the nearest int
3274         by adding 0.5. Don't do it for float/double types.
3275         Fixes the failing controller test on my machine, which is somehow
3276         rounding differently than on the buildbots.
3277
3278 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * tools/gst-plot-timeline.py:
3281           Better log parsing (categories can have -). Adjust text vs. lines, so
3282           that they span the same y-range.        
3283
3284 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3285
3286         * docs/random/ensonic/audiobaseclasses.txt:
3287         * docs/random/ensonic/dynlink.txt:
3288         * docs/random/ensonic/profiling.txt:
3289           Save my thoughts.
3290
3291         * docs/random/moving-plugins:
3292           Add note to use g_assert type macros.
3293
3294 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3295
3296         * configure.ac:
3297         * libs/gst/check/Makefile.am:
3298           Add libm check as we use in for plugins.
3299
3300 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3301
3302         * gst/gstbin.c: (gst_bin_continue_func):
3303         Check that the state_cookie hasn't changed since the continue_func
3304         was scheduled. Avoids problems where the state changes back to
3305         something it shouldn't be because it was changed in the meantime.
3306
3307 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3308
3309         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3310         (gst_registry_binary_save_string),
3311         (gst_registry_binary_save_pad_template),
3312         (gst_registry_binary_save_feature),
3313         (gst_registry_binary_save_plugin),
3314         (gst_registry_binary_load_feature),
3315         (gst_registry_binary_load_plugin),
3316         (gst_registry_binary_read_cache):
3317           Fix memory leak. Be less verbose in the log.
3318
3319 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3320
3321         * tests/check/elements/.cvsignore:
3322         Add file to cvsignore as commanded.
3323
3324 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3325
3326         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3327         (mq_dummypad_event), (run_output_order_test):
3328         Use a GStaticMutex to protect all cases where libcheck
3329         fail_if/fail_unless macros might be called from multiple threads
3330         simultaneously to avoid errors like:
3331           "check_pack.c:107: :-1081725400:Bad message type arg"
3332
3333 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3334
3335         * tests/check/pipelines/stress.c: (GST_START_TEST):
3336         Make sure we set the pipeline back to the NULL state before
3337         dropping our final reference.
3338
3339 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3340
3341         * tests/check/elements/tee.c: (GST_START_TEST):
3342         Make the tee stress-test a little less stressful so it doesn't just
3343         time out on slow-machines, and remove a small race when it's starting 
3344         up by adding a get_state() call.
3345
3346 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3347
3348         * gst/gst.c:
3349           Avoid reading registry twice on startup. Fixes #457322.
3350
3351 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3352
3353         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3354         * pkgconfig/gstreamer-check.pc.in:
3355         Substitute the CFLAGS for libcheck into our .pc file too so that
3356         dependent modules will pick it up properly if libcheck is installed
3357         into some other prefix.
3358
3359 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3360
3361         * configure.ac:
3362         Revert the pkg-config check for libcheck, since it pulls in the
3363         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3364         a proper solution, either from the check project, or something else.
3365
3366 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3367
3368         * configure.ac:
3369           Use pkg-config to locate check.
3370
3371 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3372
3373         * gst/gsttaglist.c:
3374           Fix doc syntax.
3375
3376         * gst/gstutils.c:
3377         * gst/gstutils.h:
3378           Add deprecation guards.
3379
3380         * libs/gst/base/gstcollectpads.h:
3381           Don't document object (this is implicitly private).
3382
3383 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3384
3385         * gst/gststructure.c: (gst_structure_parse_value):
3386           When deserialising foo=bar without a type cast, check if it's a
3387           boolean before falling back to a string type, otherwise things like
3388           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3389           because the filtercaps end up having a signed=(string)true field,
3390           which causes problems later when intersection caps.
3391
3392         * tests/check/gst/gststructure.c: (GST_START_TEST):
3393           Add a unit test for this.
3394
3395 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3396
3397         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3398
3399         * libs/gst/controller/Makefile.am:
3400         * libs/gst/controller/gstcontroller.c:
3401         (gst_controlled_property_add_interpolation_control_source),
3402         (gst_controlled_property_new), (gst_controlled_property_free),
3403         (gst_controller_find_controlled_property),
3404         (gst_controller_new_valist), (gst_controller_new_list),
3405         (gst_controller_new), (gst_controller_remove_properties_valist),
3406         (gst_controller_remove_properties_list),
3407         (gst_controller_remove_properties),
3408         (gst_controller_set_property_disabled),
3409         (gst_controller_set_disabled), (gst_controller_set_control_source),
3410         (gst_controller_get_control_source), (gst_controller_get),
3411         (gst_controller_sync_values), (gst_controller_get_value_array),
3412         (_gst_controller_dispose), (gst_controller_get_type),
3413         (gst_controlled_property_set_interpolation_mode),
3414         (gst_controller_set), (gst_controller_set_from_list),
3415         (gst_controller_unset), (gst_controller_unset_all),
3416         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3417         * libs/gst/controller/gstcontroller.h:
3418         * libs/gst/controller/gstcontrollerprivate.h:
3419         * libs/gst/controller/gstcontrolsource.c:
3420         (gst_control_source_class_init), (gst_control_source_init),
3421         (gst_control_source_get_value),
3422         (gst_control_source_get_value_array), (gst_control_source_bind):
3423         * libs/gst/controller/gstcontrolsource.h:
3424         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3425         (gst_object_get_control_source):
3426         * libs/gst/controller/gstinterpolation.c:
3427         (gst_interpolation_control_source_find_control_point_node),
3428         (gst_interpolation_control_source_get_first_value),
3429         (_interpolate_none_get), (interpolate_none_get),
3430         (interpolate_none_get_boolean_value_array),
3431         (interpolate_none_get_enum_value_array),
3432         (interpolate_none_get_string_value_array),
3433         (_interpolate_trigger_get), (interpolate_trigger_get),
3434         (interpolate_trigger_get_boolean_value_array),
3435         (interpolate_trigger_get_enum_value_array),
3436         (interpolate_trigger_get_string_value_array):
3437         * libs/gst/controller/gstinterpolationcontrolsource.c:
3438         (gst_control_point_free), (gst_interpolation_control_source_reset),
3439         (gst_interpolation_control_source_new),
3440         (gst_interpolation_control_source_set_interpolation_mode),
3441         (gst_interpolation_control_source_bind),
3442         (gst_control_point_compare), (gst_control_point_find),
3443         (gst_interpolation_control_source_set_internal),
3444         (gst_interpolation_control_source_set),
3445         (gst_interpolation_control_source_set_from_list),
3446         (gst_interpolation_control_source_unset),
3447         (gst_interpolation_control_source_unset_all),
3448         (gst_interpolation_control_source_get_all),
3449         (gst_interpolation_control_source_get_count),
3450         (gst_interpolation_control_source_init),
3451         (gst_interpolation_control_source_finalize),
3452         (gst_interpolation_control_source_dispose),
3453         (gst_interpolation_control_source_class_init):
3454         * libs/gst/controller/gstinterpolationcontrolsource.h:
3455         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3456         API: Refactor GstController into the core controller which can take
3457         a GstControlSource for providing actual values for timestamps.
3458         Implement a interpolation control source and use this for backward
3459         compatibility, deprecate a bunch of functions that are now handled
3460         by GstControlSource or GstInterpolationControlSource.
3461         Make it possible to disable the controller completely or only for
3462         specific properties. Fixes #450711.
3463         * docs/libs/gstreamer-libs-docs.sgml:
3464         * docs/libs/gstreamer-libs-sections.txt:
3465         * docs/libs/gstreamer-libs.types:
3466         Add new functions and classes to the docs.
3467         * tests/check/libs/controller.c: (GST_START_TEST),
3468         (gst_controller_suite):
3469         * tests/examples/controller/audio-example.c: (main):
3470         Port unit test and example to the new API and add some new
3471         unit tests.
3472
3473 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
3474
3475         Patch by: Mark Nauwelaerts <manauw at skynet be>
3476
3477         * plugins/elements/gstmultiqueue.c:
3478         (gst_multi_queue_get_internal_links), (apply_buffer),
3479         (single_queue_overrun_cb), (gst_single_queue_new):
3480         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
3481         the pipeline layout can be tracked correctly. Fixes #453732.
3482
3483 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
3484
3485         * docs/gst/Makefile.am:
3486         * docs/libs/Makefile.am:
3487         * docs/plugins/Makefile.am:
3488           Simplify --extra-dir as gtkdoc scans recursively.
3489
3490 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3491
3492         * tools/gst-launch.c: (main):
3493         When we got an error, there is no point in waiting for preroll when
3494         shutting down.
3495
3496 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3497
3498         * plugins/elements/gsttee.c: (gst_tee_base_init),
3499         (gst_tee_request_new_pad), (gst_tee_release_pad),
3500         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
3501         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
3502         (gst_tee_chain):
3503         Be a lot smarter when deciding what srcpad to use for proxying
3504         the buffer_alloc. Also handle pad added/removed when doing so.
3505         Fixes #357959.
3506         Keep track of what pads we already pushed on in case we have pads
3507         added/removed while pushing. Fixes #374639 
3508
3509         * tests/check/Makefile.am:
3510         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
3511         (tee_suite):
3512         Added unit test for pad resync.
3513
3514 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3515
3516         * po/nl.po:
3517         * po/sv.po:
3518           Updated translations.
3519
3520 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3521
3522         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
3523
3524         * po/LINGUAS:
3525         * po/fi.po:
3526           Added new Finnish translation.
3527
3528 2007-06-28  Wim Taymans  <wim@fluendo.com>
3529
3530         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3531         (single_queue_overrun_cb):
3532         When figuring out when a queue is filled, use our internal time estimate
3533         based on segments, just like check_full does.
3534
3535 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3536
3537         * gst/gstminiobject.c: (gst_mini_object_get_type):
3538           Remove 3 do-nothing methods.
3539
3540 2007-06-27  Wim Taymans  <wim@fluendo.com>
3541
3542         Patch by: Tim Angus <tim at ngus dot net>
3543
3544         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3545         (gst_capsfilter_set_property):
3546         Take a reference instead of a copy when setting "caps".
3547         Fix documentation to clarify this behaviour. Fixes #449414.
3548
3549 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3550
3551         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3552         * gst/gstplugin.c: (gst_plugin_init):
3553         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
3554         * gst/gstquery.c: (gst_query_get_type):
3555         * gst/gstregistry.c: (gst_registry_init):
3556         * gst/gsturi.c: (gst_uri_handler_base_init):
3557           Remove empty instance_init() functions to save relocs and lessen the
3558           noise. Remove some of the function prototypes that are doubled by
3559           G_DEFINE_TYPE.
3560           
3561 2007-06-27  Wim Taymans  <wim@fluendo.com>
3562
3563         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
3564
3565         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
3566         Add peer and direction in the XML serialisation of ghostpads.
3567         Fixes #449226.
3568
3569 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3570
3571         * configure.ac:
3572           Preserve useful information, thanks Tim.
3573
3574 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
3575
3576         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3577         (gst_single_queue_flush), (apply_segment), (apply_buffer),
3578         (gst_single_queue_push_one), (gst_multi_queue_loop),
3579         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3580         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
3581         (compute_high_id), (gst_single_queue_new):
3582         * plugins/elements/gstmultiqueue.h:
3583         Take the multiqueue lock when updating the fill level so we don't get
3584         confused. 
3585
3586         After applying a buffer or event on the src pad segment, make sure to
3587         call gst_data_queue_limits_changed() to get the data queue to unblock
3588         and check the filled state again.
3589         
3590         Rework the not-linked pad handling so the logic is that not-linked 
3591         pads can push as fast as they like, but only so they never get 
3592         ahead of any linked pads.
3593
3594         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
3595         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
3596         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
3597
3598         Add a test to check that not-linked pads always stay behind
3599         linked pads.
3600
3601         Fixes: #430682
3602
3603 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
3604
3605         * docs/random/release:
3606           Some updates to the release procedure.
3607
3608 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3609
3610         * gst/gstelementfactory.c: (__gst_element_details_clear):
3611           Microoptimization that saves stunning 80 bytes.
3612
3613 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
3614
3615         * docs/plugins/gstreamer-plugins.args:
3616         * docs/plugins/inspect/plugin-coreelements.xml:
3617         * docs/plugins/inspect/plugin-coreindexers.xml:
3618           Update docs with caps info.
3619
3620 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3621
3622         * po/it.po:
3623           Updated Italian translation.
3624
3625 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3626
3627         * ChangeLog:
3628         * po/vi.po:
3629           Update Vietnamese translations.
3630
3631 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * libs/gst/base/gstbasesink.c:
3634           Remove unused signal enum.
3635
3636 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3637
3638         * docs/gst/gstreamer-sections.txt:
3639         * gst/gstelement.c:
3640         * gst/gstutils.c: (gst_type_register_static_full):
3641         Beef up and include the docs for gst_type_register_static_full and
3642         gst_element_class_set_details_simple and add the API keyword
3643         in the ChangeLog.
3644
3645 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3646
3647         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3648         (update_time_level), (gst_single_queue_push_one),
3649         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
3650         (single_queue_overrun_cb), (single_queue_underrun_cb),
3651         (single_queue_check_full):
3652         Fix setting max-* properties after adding queues.
3653         Use IS_FILLED for checking visible items.
3654         Signal overrun if multiple queues overrun.
3655         Add extra debug output.
3656         Patch by: Wim Taymans <wim@fluendo.com>
3657
3658 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
3659
3660         * gst/gstelement.c: (gst_element_class_set_details_simple):
3661         * gst/gstelement.h:
3662         * gst/gstutils.c: (gst_type_register_static_full):
3663         * gst/gstutils.h:
3664         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
3665         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
3666         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
3667         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
3668         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
3669         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
3670         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
3671         * plugins/elements/gstidentity.c: (gst_identity_base_init):
3672         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
3673         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3674         (apply_buffer), (gst_queue_chain):
3675         * plugins/elements/gsttee.c: (gst_tee_base_init):
3676         * plugins/elements/gsttypefindelement.c:
3677         (gst_type_find_element_base_init),
3678         (gst_type_find_element_class_init):
3679           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
3680           API: add gst_type_register_static_full
3681           API: add gst_element_class_set_details_simple
3682
3683 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3684
3685         * docs/pwg/advanced-types.xml:
3686           Fix typo in iana.org URI.
3687
3688 2007-06-19  Andy Wingo  <wingo@pobox.com>
3689
3690         * tests/check/pipelines/simple-launch-lines.c
3691         (test_state_change_returns): Enable pull-mode tests now that
3692         basesink has been fixed.
3693
3694         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
3695         Changed from gst_base_sink_is_prerolled, reversing the sense of
3696         the return value. Returns FALSE also if the sink is in pull mode,
3697         in which case it needs no preroll.
3698         (gst_base_sink_query, gst_base_sink_change_state): Update for
3699         needs_preroll change.
3700         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
3701         chaining up, in which we return SUCCESS directly if we activated
3702         in pull mode instead of ASYNC. Involves countering an async_start
3703         message sent before chaining up; not sure if this is correct, in
3704         an ideal world we only send async-start when activating in push
3705         mode.
3706
3707         * tests/check/pipelines/simple-launch-lines.c
3708         (test_state_change_returns): New test, partially disabled until
3709         basesink is fixed.
3710
3711 2007-06-19  Wim Taymans  <wim@fluendo.com>
3712
3713         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3714         (gst_multi_queue_sink_event):
3715         Fix event leak.
3716
3717 2007-06-19  Wim Taymans  <wim@fluendo.com>
3718
3719         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3720         (gst_bin_change_state_func), (bin_push_state_continue),
3721         (bin_handle_async_start), (bin_handle_async_done),
3722         (gst_bin_handle_message_func):
3723         Move the common code for posting state-change messages into
3724         one function.
3725         Broadcast the state signal after we posted the messages.
3726         Mark the bin as busy when it's doing a state-change.
3727         Make sure async-start/done messages don't interfere with the bin's
3728         state when it's busy.
3729         After the state change, let the bin check which elements completed the
3730         state change while it was busy so that it can update its state.
3731
3732 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
3733
3734         * docs/random/release:
3735         Add a note about updating the doap file to the release checklist
3736
3737 2007-06-18  Wim Taymans  <wim@fluendo.com>
3738
3739         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3740         (gst_single_queue_push_one), (gst_multi_queue_chain),
3741         (gst_multi_queue_sink_event):
3742         Make sure we don't reference the buffer/event after we have given away
3743         ownership in the queue.
3744
3745 2007-06-18  Wim Taymans  <wim@fluendo.com>
3746
3747         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3748         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
3749         Update queue state _after_ adding the item in the queue because else we
3750         could end up being full without the element added yet.
3751
3752 2007-06-18  Wim Taymans  <wim@fluendo.com>
3753
3754         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3755         (gst_bin_remove_func), (gst_bin_get_state_func),
3756         (gst_bin_element_set_state), (gst_bin_continue_func),
3757         (bin_push_state_continue), (bin_handle_async_start),
3758         (bin_handle_async_done), (gst_bin_handle_message_func):
3759         * gst/gstbin.h:
3760         Immediatly commit the toplevel bin state when receiving an async-done
3761         message. This enables us to avoid spawning a thread to commit the state
3762         in some common cases and it also avoids some races.
3763         Avoid spawning a state thread when adding/removing async elements to a
3764         toplevel bin. Instead we immediatly update the bin state.
3765         Get rid of iterating all the children when getting the state in the bin
3766         because it is now always up-to-date.
3767         Fix bug where locked elements would always return _SUCCESS even it they
3768         returned NO_PREROLL before being locked.
3769         Fix the order of the state_change, async-start/done messages that was
3770         sometimes incorrect.
3771         Mark the state_dirty field as deprecated, we don't need it anymore as we
3772         are always up-to-date.
3773
3774         * gst/gstelement.c: (gst_element_get_state_func),
3775         (gst_element_continue_state):
3776         Small debug inprovements.
3777         Return the previous element state return when nothing is pending instead
3778         of blindly returning SUCCESS.
3779
3780         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
3781         (gst_sinks_suite):
3782         Add a whole bunch of new testcases.
3783
3784 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * po/uk.po:
3787         * po/vi.po:
3788           Update translations.
3789
3790 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
3791
3792         * gst/gstpad.c:
3793         Fix typo in the docs.
3794
3795 2007-06-15  Wim Taymans  <wim@fluendo.com>
3796
3797         * docs/libs/gstreamer-libs-sections.txt:
3798         Add docs for new methods.
3799
3800 2007-06-15  Wim Taymans  <wim@fluendo.com>
3801
3802         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
3803         (gst_multi_queue_item_new):
3804         Don't use GSlice because we don't depend on >= 2.10 yet.
3805
3806 2007-06-15  Wim Taymans  <wim@fluendo.com>
3807
3808         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3809         (update_time_level), (apply_segment), (apply_buffer),
3810         (gst_single_queue_push_one), (gst_multi_queue_item_new),
3811         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
3812         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
3813         (single_queue_underrun_cb), (single_queue_check_full):
3814         Remove debug printf.
3815
3816 2007-06-15  Wim Taymans  <wim@fluendo.com>
3817
3818         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
3819         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
3820         (gst_data_queue_set_flushing), (gst_data_queue_push),
3821         (gst_data_queue_pop), (gst_data_queue_drop_head),
3822         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
3823         * libs/gst/base/gstdataqueue.h:
3824         Various cleanups.
3825         Added methods to get the current levels and to inform the queue that the
3826         'full' limits changed.
3827
3828         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3829         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3830         (gst_single_queue_flush), (update_time_level), (apply_segment),
3831         (apply_buffer), (gst_single_queue_push_one),
3832         (gst_multi_queue_item_steal_object),
3833         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3834         (gst_multi_queue_loop), (gst_multi_queue_chain),
3835         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3836         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
3837         (gst_multi_queue_src_query), (single_queue_overrun_cb),
3838         (single_queue_underrun_cb), (single_queue_check_full),
3839         (gst_single_queue_new):
3840         Keep track of time in the queue by measuring the difference between
3841         running_time on input and output. This gives more accurate results and
3842         can compensate for segments correctly.
3843         Make a queue by default only 5 buffers deep. We will now increase the
3844         buffer size depending on the filledness of the other queues.
3845         Factor out commong flush code.
3846         Make sure we don't add additional refcounts to buffers when we can avoid
3847         it.
3848         Propagate GstFlowReturn differently.
3849         Use GSlice for intermediate GstMultiQueueItems.
3850         Keep track of EOS.
3851         Resize queues on over and underruns based on filled level of other
3852         queues.
3853         When checking if the queue is filled, prefer to measure in time if we
3854         can and fall back to bytes when no time is known.
3855
3856         * plugins/elements/gstqueue.c:
3857         Fix return value.
3858
3859 2007-06-15  Wim Taymans  <wim@fluendo.com>
3860
3861         * libs/gst/base/gstbasetransform.c:
3862         (gst_base_transform_sink_event):
3863         Work around the brokenness of the event vmethod in basetransform. Prefer
3864         to return TRUE when the subclass returned FALSE (meaning don't forward
3865         the event). 
3866
3867         * libs/gst/base/gstbasetransform.h:
3868         Clarify the docs.
3869
3870 2007-06-15  Wim Taymans  <wim@fluendo.com>
3871
3872         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
3873         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3874         (gst_base_src_default_query), (gst_base_src_get_range),
3875         (gst_base_src_start):
3876         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
3877         Improve debugging.
3878
3879 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3880
3881         * docs/pwg/advanced-types.xml:
3882           Added more formats to caps table.
3883
3884 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3885
3886         * tools/gst-launch.c: (main):
3887           Remove crufy code. GOption does not need this workaround.
3888
3889 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3890
3891         * libs/gst/controller/gstcontroller.c:
3892         (gst_controlled_property_set_interpolation_mode):
3893           Fix wrong getter for enums in controller.
3894
3895 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * libs/gst/check/gstcheck.c: (gst_check_init):
3898           Intercept criticals and warnings in the Gst-Phonon log domain, so
3899           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
3900           well.
3901         
3902 2007-06-14  Edward Hervey  <edward@fluendo.com>
3903
3904         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
3905         Since this file doesn't include "gst.h" it will not go through the
3906         macros that disable GST_LOG if debugging was disabled.
3907
3908 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3909
3910         * libs/gst/check/Makefile.am:
3911         * libs/gst/check/gstcheck.h:
3912         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3913         * pkgconfig/gstreamer-check.pc.in:
3914           Ugly 'fix' for the controller unit test on the p5 bot: in
3915           fail_unless_equals_float() check whether the values are 'almost
3916           equal' by allowing a small absolute error, which should be good
3917           enough for our use cases (normal numbers and values close to 0).
3918           Proper fixage left to floating point arithmetic aficionados.
3919
3920 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3921
3922         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
3923         (gst_base_sink_render_object), (gst_base_sink_get_position):
3924           Add two breaks thats where missing.
3925
3926 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3927
3928         * docs/libs/gstreamer-libs-sections.txt:
3929         * libs/gst/check/gstcheck.h:
3930           API: add fail_unless_equals_float() and assert_equals_float().
3931           Add documentation for some of the macros.
3932
3933         * tests/check/libs/controller.c: (GST_START_TEST):
3934           Use newly-added asserts.
3935
3936 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3937
3938         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
3939           Show the caps change in the log to help spotting the case of not
3940           exactly matching caps.
3941
3942 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3943
3944         * docs/pwg/building-boiler.xml:
3945           Fix typos, spotted by Thijs Vermeir (#447190).
3946
3947 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3948
3949         * docs/plugins/tmpl/.cvsignore:
3950         Ignore file to keep the buildbots happy
3951
3952 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3953
3954         * docs/plugins/Makefile.am:
3955         * docs/plugins/gstreamer-plugins-docs.sgml:
3956         * docs/plugins/gstreamer-plugins-sections.txt:
3957         Pull fdsink into the docs too.
3958
3959 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
3960
3961         * libs/gst/controller/gstinterpolation.c:
3962         Actually use the new functions with min/max checks for the trigger and
3963         none interpolation modes for get() and get_value_array() instead of
3964         just the latter.
3965
3966 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
3967
3968         * libs/gst/controller/gstcontroller.c:
3969         (gst_controlled_property_free):
3970         Unset the minimum and maximum GValues when freeing the corresponding
3971         GstControllerProperty struct.
3972
3973 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
3974
3975         * libs/gst/controller/gstcontroller.c:
3976         (gst_controlled_property_new):
3977         * libs/gst/controller/gstcontrollerprivate.h:
3978         * libs/gst/controller/gstinterpolation.c:
3979         (gst_controlled_property_find_control_point_node),
3980         (interpolate_none_get), (interpolate_none_get_enum_value_array),
3981         (interpolate_none_get_string_value_array),
3982         (interpolate_trigger_get),
3983         (interpolate_trigger_get_enum_value_array),
3984         (interpolate_trigger_get_string_value_array):
3985         Protect against values larger or smaller than the minimum or maximum
3986         allowed value for the property when using values that can be compared.
3987
3988         Optimize trigger interpolator a bit by taking the last requested value
3989         into account instead of always looping through the complete list.
3990
3991         Fix coding style a bit, everywhere else we use "return foo" instead
3992         of "return (foo)".
3993         
3994         * tests/check/libs/controller.c: (GST_START_TEST),
3995         (gst_controller_suite):
3996         Add unit test for the protection against too large or too small
3997         values.
3998
3999 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4000
4001         * docs/random/slomo/controller.txt:
4002         Add some thoughts about the future of the controller.
4003
4004 2007-06-08  Wim Taymans  <wim@fluendo.com>
4005
4006         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4007         Don't overflow in retimestamping code.
4008
4009 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4010
4011         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4012         Use gst_util_guint64_to_gdouble for conversions.
4013         * win32/common/libgstreamer.def:
4014         Add new exported functions.
4015
4016 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4017
4018         * gst/gstutils.c:
4019           Small docs addition.
4020
4021 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4022
4023         * README:
4024           Remove that test line again.
4025
4026 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4027
4028         * README:
4029           Test commit mail sending.
4030
4031 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4032
4033         * configure.ac:
4034           Fix typo and test commit mail sending.
4035
4036 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4037
4038         * tests/examples/controller/audio-example.c:
4039           Improve comment and test commit mail sending.
4040
4041 2007-06-07  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4044         (gst_bin_remove_func), (gst_bin_element_set_state),
4045         (bin_handle_async_start), (bin_handle_async_done),
4046         (gst_bin_handle_message_func):
4047         Add helper function to find messages.
4048         Generate the async-done messages together with the state change
4049         messages.
4050         Small cleanups in handling toplevel bins.
4051
4052 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4053
4054         * libs/gst/base/gstdataqueue.c:
4055         * libs/gst/base/gstdataqueue.h:
4056         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4057         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4058         (gst_multi_queue_sink_event):
4059         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4060           Fix multiqueue leaking buffers and events when downstream or the
4061           queue are flushing. Make refcounting assumptions explicit and
4062           document them (shouldn't break existing code that uses it other than
4063           maybe leak miniobjects, but that already happens anyway). Add unit
4064           test for the most common flushing case. Fixes #423700.
4065           
4066 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4067
4068         * libs/gst/controller/gstcontroller.c:
4069         Clarify docs: The get_all, get_value_array(s) functions
4070         don't modify the GObject properties.
4071
4072 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4073
4074         * libs/gst/controller/gstcontroller.c:
4075         (gst_controlled_property_set_interpolation_mode),
4076         (gst_controlled_property_prepend_default),
4077         (gst_controlled_property_new), (gst_controller_set_unlocked),
4078         (gst_controller_set), (gst_controller_set_from_list),
4079         (gst_controller_unset), (gst_controller_unset_all):
4080         * libs/gst/controller/gstcontrollerprivate.h:
4081         * libs/gst/controller/gstinterpolation.c:
4082         Factor out the 'set' logic into gst_controller_set_unlocked for the
4083         gst_controller_set and gst_controller_set_from_list functions.
4084
4085         To make life of the interpolators easier always add a control point
4086         at timestamp zero with the default value.
4087
4088         In the linear interpolator make things more obvious by better variable
4089         naming (slope).
4090
4091         Implement cubic interpolation mode (by using a natural cubic spline)
4092         and map the quadratic interpolation mode to this too (as quadratic
4093         doesn't make much sense, see discussion on the list).
4094
4095         * tests/check/libs/controller.c: (GST_START_TEST),
4096         (gst_controller_suite):
4097         Add unit test for the cubic interpolation mode and check everywhere
4098         if the interpolation mode could be set as expected.
4099
4100 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4101
4102         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4103           Don't use GLib-2.10 functions, we still depend on
4104           GLib-how-old-is-it-again-2.8.
4105
4106 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4107
4108         * docs/gst/gstreamer-sections.txt:
4109         * gst/Makefile.am:
4110         * gst/gst.c:
4111         * gst/gst.h:
4112         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4113         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4114         (_gst_param_fraction_values_cmp),
4115         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4116         * gst/gstparamspecs.h:
4117         * gst/gstvalue.c:
4118         * tests/check/Makefile.am:
4119         * tests/check/gst/.cvsignore:
4120         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4121         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4122         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4123         (GST_START_TEST), (gst_param_spec_suite):
4124           API: add GstParamSpecFraction, so elements can have fraction
4125           properties without lots of painful string parsing (#444648).
4126
4127 2007-06-05  Wim Taymans  <wim@fluendo.com>
4128
4129         * gst/gstobject.c: (gst_object_class_init):
4130         Fix signal signature.
4131
4132         * gst/gstsegment.c:
4133         Add small clarification in the api docs.
4134
4135         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4136         States are protected with object lock.
4137
4138 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4139
4140         * AUTHORS:
4141         I should probably be listed as an author by now.
4142
4143         * docs/random/release:
4144         Update the release doc
4145
4146 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4147
4148         * gst/gstvalue.c:
4149           Make docs for gst_value_compare() mention return enums that
4150           actually exist.
4151
4152 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4153
4154         * configure.ac:
4155           Back to CVS
4156
4157 === release 0.10.13 ===
4158
4159 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4160
4161         * configure.ac:
4162           releasing 0.10.13, "With or without you"
4163
4164 2007-05-25  Wim Taymans  <wim@fluendo.com>
4165
4166         * gst/gstbin.c: (bin_handle_async_done):
4167         Make sure that the child bin stops after completing the async state
4168         change so that the parent can continue the state change to PLAYING.
4169         Fixes #441159.
4170
4171 2007-05-25  Wim Taymans  <wim@fluendo.com>
4172
4173         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4174         (unref_data), (gst_collect_pads_remove_pad),
4175         (gst_collect_pads_check_pads):
4176         Use additional refcounting to avoid crashes when dynamically adding and
4177         removing pads. Fixes #420206.
4178
4179 2007-05-24  Wim Taymans  <wim@fluendo.com>
4180
4181         * tools/gst-launch.c: (event_loop):
4182         When buffering goes from a two digit to a single digit number, make sure
4183         to remove the old second digit by writing a blank over it.
4184
4185 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4186
4187         * libs/gst/base/gstdataqueue.c:
4188           Eliminate tabs and trailing comma in enum list; fix some typos.
4189
4190 2007-05-24  Wim Taymans  <wim@fluendo.com>
4191
4192         * tests/check/gst/gstbin.c: (GST_START_TEST):
4193         Allow refcount of 3 and 4 because some state thread might still be busy
4194         with it.
4195
4196 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4197
4198         * plugins/elements/Makefile.am:
4199         * plugins/elements/gstmultiqueue.h:
4200         * plugins/elements/gstqueue.h:
4201           These are not installed headers, no need for padding.
4202
4203 2007-05-24  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4206         (gst_bin_continue_func):
4207         Enable latency for next release.
4208         Restore STATE_LOCK around recalc_state that was left out during the
4209         rewrite and could result in racy behaviour when _get_state and
4210         recalc_state are run concurrently. See #440463.
4211
4212 2007-05-23  Wim Taymans  <wim@fluendo.com>
4213
4214         * tests/check/gst/gstsystemclock.c: (store_callback),
4215         (GST_START_TEST):
4216         Improve test_async_order to also work when both timers are already
4217         expired when we get scheduled to check it.
4218
4219 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4220
4221         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4222         (gst_bin_set_property), (gst_bin_get_property),
4223         (gst_bin_remove_func), (gst_bin_handle_message_func):
4224         * gst/gstbin.h:
4225           'private' is a c++ keyword, let's not use that in header files,
4226           otherwise c++ compilers will throw a tantrum.
4227
4228 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4229
4230         * plugins/elements/gstelements.c:
4231         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4232         (gst_file_sink_get_current_offset):
4233         * plugins/indexers/gstindexers.c: (plugin_init):
4234           Use #ifdef for HAVE_XYZ for consistency.
4235
4236         * tests/check/Makefile.am:
4237         * tests/check/elements/.cvsignore:
4238         * tests/check/elements/filesink.c: (setup_filesink),
4239         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4240           Add some unit tests for filesink.
4241
4242 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4243
4244         Patch by: Mark Nauwelaerts <manauw at skynet be>
4245
4246         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4247         (gst_file_sink_query), (gst_file_sink_do_seek),
4248         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4249         * plugins/elements/gstfilesink.h:
4250           Fix position reporting; rename data_written member to current_pos to
4251           reflect its real meaning (fixes #412648).
4252
4253 2007-05-22  Edward Hervey  <edward@fluendo.com>
4254
4255         * docs/gst/gstreamer-sections.txt:
4256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4257         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4258         (gst_bin_remove_func), (gst_bin_handle_message_func):
4259         * gst/gstbin.h:
4260         Add a property for bins that handle the state change of their childs.
4261         Fixes #435880
4262
4263 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4264
4265         * libs/gst/controller/gstinterpolation.c:
4266         Use an array of the correct type when using _get_value_array with
4267         linear interpolation.
4268
4269 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4270
4271         * gst/gstelement.c (gst_element_requires_clock,
4272           gst_element_provides_clock, gst_element_request_pad,
4273           gst_element_class_set_details, gst_element_class_set_details_simple,
4274           gst_element_default_send_event, gst_element_abort_state,
4275           gst_element_continue_state, gst_element_set_state,
4276           gst_element_set_state_func, iterator_activate_fold_with_resync):
4277         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4278           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4279           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4280           gst_pad_get_range, gst_pad_pull_range):
4281         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4282           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4283           GstPadActivateModeFunction, GstPadChainFunction,
4284           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4285           GstPadFixateCapsFunction, GstPadTemplate):
4286         * gst/gstpipeline.c (gst_pipeline_change_state,
4287           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4288           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4289           gst_pipeline_get_delay):
4290           Whitespace and docs fixes.
4291
4292 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4293
4294         * libs/gst/controller/gstinterpolation.c:
4295         (interpolate_trigger_get_enum_value_array),
4296         (interpolate_trigger_get_string_value_array):
4297         Add support for retrieving value arrays when using the trigger
4298         interpolation mode. 
4299
4300 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4301
4302         * libs/gst/controller/gstcontroller.c:
4303         (gst_controller_get_value_array):
4304         * libs/gst/controller/gstcontroller.h:
4305         Clarify the docs of gst_controller_get_value_array(): The array where
4306         the values should be written to must be allocated as there seems to be
4307         no way to get the size of a random GType. This doesn't change any
4308         behaviour. Also fix some typos all over the place and remove an unused,
4309         commented function that is not necessary as g_object_set() could be
4310         used instead.
4311         * tests/check/libs/controller.c: (GST_START_TEST),
4312         (gst_controller_suite):
4313         Add unit test for gst_controller_get_value_array().
4314
4315 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4316
4317         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4318
4319         Disable part of the gst_buffer_try_new_and_alloc test, because
4320         it can happily succeed on 64-bit systems where there's more address
4321         space available.
4322
4323 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4324
4325         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4326         Add unit test for the improved caps checking from bug #421543.
4327
4328 2007-05-21  Wim Taymans  <wim@fluendo.com>
4329
4330         * docs/design/part-synchronisation.txt:
4331         Small addition.
4332
4333         * gst/gstbin.c: (gst_bin_query):
4334         * plugins/elements/gstqueue.c: (apply_segment):
4335         Improve debugging.
4336
4337         * gst/gstmessage.h:
4338         Improve docs.
4339
4340 2007-05-21  Wim Taymans  <wim@fluendo.com>
4341
4342         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4343         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4344         (gst_pad_configure_src):
4345         Added simple version of improved caps checking. It was previously
4346         assumed that a setcaps function would check the validity of the caps but
4347         people prefer us to check caps against the template automatically. 
4348         Fixes #421543.
4349
4350 2007-05-21  Wim Taymans  <wim@fluendo.com>
4351
4352         * libs/gst/base/gstbasetransform.h:
4353         Fix macro for locking/unlocking the transform lock.
4354
4355 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4356
4357         * docs/plugins/tmpl/.cvsignore:
4358           Ignore more.
4359
4360 2007-05-18  Edward Hervey  <edward@fluendo.com>
4361
4362         * plugins/elements/gstqueue.c: (gst_queue_loop):
4363         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4364         for the subtle art of warning a potentially blocking thread that it
4365         should check the source pad return value, and relay the information
4366         upstream.
4367
4368 2007-05-18  Edward Hervey  <edward@fluendo.com>
4369
4370         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4371         Release the queue lock !
4372
4373 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4374
4375         * docs/libs/gstreamer-libs-sections.txt:
4376         Add the two new controller functions to the appropiate places.
4377
4378 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4379
4380         reviewed by: Stefan Kost <ensonic@users.sf.net>
4381
4382         * libs/gst/controller/gstcontroller.c:
4383         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4384         (_gst_controller_get_property), (_gst_controller_set_property),
4385         (_gst_controller_init), (_gst_controller_class_init):
4386         * libs/gst/controller/gstcontroller.h:
4387         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4388         (gst_object_get_control_rate), (gst_object_set_control_rate):
4389         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4390         Add API that provides sync suggestion timestamps for elements that
4391         call gst_object_sync_values() from which those elements can subdivide
4392         their processing loop to get the best results for the controlled
4393         properties. For now it just suggests last_sync + control_rate as
4394         new timestamp but this will be improved in the future.
4395
4396         While doing that change the control-rate property to a GstClockTime
4397         from guint and change it's meaning from samples to nanoseconds as
4398         the GstController doesn't know anything about sampling rate. Strictly
4399         speaking this breaks ABI but as the control-rate property didn't do
4400         anything in the past and as such couldn't be used this should be no
4401         problem.        
4402
4403 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4404
4405         reviewed by: Stefan Kost <ensonic@users.sf.net>
4406
4407         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4408         (gst_controller_unset_all):
4409         * libs/gst/controller/gstcontrollerprivate.h:
4410         * libs/gst/controller/gstinterpolation.c:
4411         (gst_controlled_property_find_control_point_node):
4412         Save last synced value from the list to continue searching from there
4413         in future syncs. This speeds everything up a bit.
4414         
4415 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4416
4417         reviewed by: Stefan Kost <ensonic@users.sf.net>
4418
4419         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4420         (gst_control_point_find), (gst_controlled_property_new),
4421         (gst_control_point_free), (gst_controlled_property_free),
4422         (gst_controller_set), (gst_controller_set_from_list),
4423         (gst_controller_unset), (gst_controller_unset_all),
4424         (gst_controller_sync_values):
4425         * libs/gst/controller/gstcontroller.h:
4426         * libs/gst/controller/gstcontrollerprivate.h:
4427         * libs/gst/controller/gstinterpolation.c:
4428         (gst_controlled_property_find_control_point_node),
4429         (interpolate_none_get), (interpolate_trigger_get):
4430         Add a new private GstControlPoint struct which "inherits" from
4431         GstTimedValue to allow different interpolators to store internal
4432         values next to each control point. From the outside everything is
4433         still a GstControlPoint so we don't loose binary compatibility.
4434         Also fixup all the GValue handling to not leak GValues or list nodes.
4435         * tests/check/libs/controller.c: (GST_START_TEST):
4436         Free the list nodes and GValues in the controller_misc test.
4437
4438 2007-05-17  Edward Hervey  <edward@fluendo.com>
4439
4440         * gst/gstsegment.c:
4441         Small doc fix.
4442
4443 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4444
4445         * gst/gstplugin.c: (gst_plugin_load_file):
4446           If we fail to load a plugin because of unresolved symbols or missing
4447           libraries and spew a warning to stderr, we may just as well mention
4448           which plugin it was that failed to load.
4449
4450 2007-05-13  David Schleef  <ds@schleef.org>
4451
4452         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4453           handles the case when ENABLE_GTK_DOC is false, and installs
4454           the prebuilt documentation.  So gtk-doc subdirs are 
4455           unconditionally enabled.  Fixes: #349099.
4456
4457 2007-05-13  David Schleef  <ds@schleef.org>
4458
4459         * gst/gstutils.h: Reword some documentation.
4460
4461 2007-05-12  David Schleef  <ds@schleef.org>
4462
4463         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4464           do anything with the passed "module" parameter, so remove it.
4465           Allows removal of additional vestigal code.
4466
4467 2007-05-12  David Schleef  <ds@schleef.org>
4468
4469         * gst/gstplugin.c:
4470           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
4471           Switch to using g_stat() because it's more portable.
4472
4473 2007-05-12  David Schleef  <ds@schleef.org>
4474
4475         * gst/gst.c:
4476           Add GST_DISABLE_OPTION_PARSING, in order to disable option
4477           parsing for embedded systems.
4478         * gst/gstelementfactory.c:
4479           Allow gst_element_register() to be called with plugin==NULL.
4480           Did nobody notice that static elements were broken?
4481
4482 2007-05-12  Wim Taymans  <wim@fluendo.com>
4483
4484         * tools/gst-launch.c: (event_loop):
4485         Give more interesting info when buffering starts and stops.
4486         Fix case where buffering starts but we fail to update the buffering flag
4487         because the target state is not PLAYING.
4488
4489 2007-05-12  Wim Taymans  <wim@fluendo.com>
4490
4491         * plugins/elements/gstqueue.c: (gst_queue_init),
4492         (gst_queue_finalize), (update_time_level), (apply_segment),
4493         (apply_buffer), (gst_queue_locked_flush),
4494         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
4495         (gst_queue_handle_sink_event), (gst_queue_chain),
4496         (gst_queue_push_one), (gst_queue_loop):
4497         * plugins/elements/gstqueue.h:
4498         Refactor an cleanup queue a bit.
4499         Do better time level calculations that also work when the srcpad is not
4500         yet running.
4501         Remove some unneeded debug lines.
4502
4503         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
4504         Added testcase for time level measurement.
4505         Try to make some stuff more racefree.
4506
4507 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4508
4509         * gst/gsturi.c: (gst_element_make_from_uri):
4510           Don't leak plugin feature.
4511
4512         * tests/check/Makefile.am:
4513         * tests/check/gst/.cvsignore:
4514         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
4515           Add brain-dead unit test.
4516
4517 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4518
4519         Patch by: Jeroen Wouters <woutersj at gmail com>
4520
4521         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
4522           Treat protocol strings in a case-insensitive way (#437563).
4523
4524 2007-05-11  Michael Smith <msmith@fluendo.com>
4525
4526         * gst/gstplugin.c: (gst_plugin_load_file):
4527         * gst/gstregistry.c: (gst_registry_scan_path_level):
4528           Don't print a g_warning for any failure to load a shared object.
4529           Instead, push this down into gstplugin.c, and warn _only_ if we
4530           failed to open the module (i.e. failure to link).
4531           Avoids warnings on normal, working, non-plugin .so files.
4532
4533 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * gst/gstplugin.c (gst_plugin_load_file):
4536         * gst/gstregistry.c (GST_CAT_DEFAULT,
4537           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
4538           Print a g_warning if there was an error when loading a plugins during
4539           registry scan. The shuld help beginners starting with gst-plugin
4540           template.
4541
4542 2007-05-10  Wim Taymans  <wim@fluendo.com>
4543
4544         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4545         (update_time_level), (gst_queue_locked_flush),
4546         (gst_queue_handle_sink_event), (gst_queue_chain),
4547         (gst_queue_push_one), (gst_queue_loop):
4548         * plugins/elements/gstqueue.h:
4549         Be smarter when calculating the current amount of data in the queue by
4550         measuring the difference between start and end timestamps (in running
4551         time) inside the queue. Fixes #432876.
4552         API: GstQueue::pushing to notify elements that we are pushing data again
4553         since the running signal is rather broken for this purpose.
4554
4555 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
4556
4557         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
4558           gst_queue_base_init, gst_queue_init):
4559           use GST_BOILERPLATE
4560
4561 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
4562
4563         * win32/common/libgstreamer.def:
4564         Add new exported functions.
4565         * win32/vs6/grammar.dsp:
4566         Use grammar pre-generated files.
4567
4568 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4569
4570         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
4571
4572         * gst/Makefile.am:
4573         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
4574         * gst/gstparse.h:
4575         * gst/gstutils.c: (gst_parse_bin_from_description):
4576         * gst/gstutils.h:
4577           Maintain API and ABI when --disable-parse is used. Now that
4578           we have an appropriate error code, we can just return NULL and the
4579           appropriate error when gst_parse_launch() is used despite it having
4580           been disabled (#342564).
4581
4582         * tests/check/Makefile.am:
4583         * tests/check/pipelines/.cvsignore:
4584         * tests/check/pipelines/parse-disabled.c:
4585           Make sure these functions exist and return NULL plus a GError when
4586           --disable-parse is used.
4587
4588 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4589
4590         * tests/benchmarks/complexity.c: (main):
4591         * tests/benchmarks/mass-elements.c: (main):
4592           Set a good example and don't leak messages.
4593
4594 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
4595
4596         * docs/gst/Makefile.am:
4597         * docs/libs/Makefile.am:
4598           Correct fixxrefs options.
4599
4600         * docs/plugins/Makefile.am:
4601         * docs/plugins/gstreamer-plugins-docs.sgml:
4602         * docs/plugins/gstreamer-plugins-sections.txt:
4603         * plugins/elements/Makefile.am:
4604         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
4605         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
4606           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
4607           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
4608           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
4609           _GstCapsFilterClass, trans_class):
4610         * plugins/elements/gstelements.c (name, rank, type, _elements):
4611         * plugins/elements/gstidentity.c
4612           (gst_identity_check_imperfect_timestamp,
4613           gst_identity_check_imperfect_offset):
4614           Document capsfilter and add doc-blurb to identity.
4615
4616 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4617
4618         * libs/gst/controller/gstcontroller.c:
4619         (gst_controlled_property_set_interpolation_mode):
4620         * libs/gst/controller/gstinterpolation.c:
4621           Don't crash if someone tries to set an interpolation mode that
4622           is invalid or that isn't supported yet. Fixes #422295.
4623
4624         * tests/check/libs/controller.c: (GST_START_TEST),
4625         (gst_controller_suite):
4626           Add a test case for the above.
4627
4628 2007-05-03  Edward Hervey  <edward@fluendo.com>
4629
4630         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4631         Properly set the last_stop position on GstSegment. This will only happen
4632         if there is a buffer to push out.
4633
4634 2007-05-03  Wim Taymans  <wim@fluendo.com>
4635
4636         * libs/gst/base/gstbasetransform.c:
4637         (gst_base_transform_buffer_alloc):
4638         always_in_place does not mean that the sink and source caps are the
4639         same! Make sure we don't blindly proxy the buffer_alloc in this case.
4640
4641 2007-05-03  Wim Taymans  <wim@fluendo.com>
4642
4643         * docs/libs/gstreamer-libs-sections.txt:
4644         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4645         (gst_base_src_default_query), (gst_base_src_get_range):
4646         * libs/gst/base/gstbasesrc.h:
4647         API: gst_base_src_query_latency(). Added method so that subclasses can
4648         easily get the latency values of the base source class.
4649
4650 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
4651
4652         * tools/gst-inspect.c (print_implementation_info):
4653         Remove 0.8 cruft.
4654
4655 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
4656
4657         * tools/Makefile.am:
4658         * tools/gst-launch.1.in:
4659           Don't create a customised man page based on the host architecture,
4660           describe the default registry path generically. That way the man
4661           page is the same for all architectures and packagers have one
4662           multilib issue less to deal with. Fixes #434926.
4663
4664 2007-05-02  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/gstpad.c:
4667         Fix documentation as spotted by rg on IRC. 
4668
4669 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
4670
4671         * gst/gstutils.c:
4672           Improve docs for gst_element_{link,unlink}.
4673
4674 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
4675
4676         * docs/design/part-events.txt:
4677         * docs/design/part-overview.txt:
4678         * gst/gstevent.c:
4679         * gst/gsturi.c:
4680         * gst/gsturi.h:
4681         * libs/gst/base/gstbasesink.c:
4682           Typo fixes; minor docs addition.
4683
4684 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4685
4686         * docs/gst/gstreamer-sections.txt:
4687         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
4688         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
4689         * gst/gsturi.h:
4690         API: Add gst_uri_protocol_is_supported(), which checks if a sink
4691         or src that supports a given URI protocol exists.
4692
4693 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4694
4695         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4696         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4697         Set the location to NULL if "file://" is set as URI. Otherwise
4698         some random previous URI would still be set if "file://" is
4699         set on an already used filesink/filesrc.
4700
4701 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4702
4703         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4704         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4705         Special case the "file://" URI as as this is used by some
4706         applications to test with gst_element_make_from_uri if there's
4707         an element that supports the URI protocol.
4708         Also move the g_path_is_absolute() check for the location part
4709         of the URI to also check this for "file://localhost/bla" URIs.
4710
4711 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
4712
4713         * docs/gst/gstreamer-sections.txt:
4714         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
4715         * gst/gstbuffer.h:
4716         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4717         (gst_buffer_suite):
4718           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
4719
4720 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
4721
4722         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4723         (gst_registry_binary_load_pad_template),
4724         (gst_registry_binary_load_plugin),
4725         (gst_registry_binary_read_cache):
4726         * gst/gstregistrybinary.h:
4727           Implement no-mmap alternative for registry reading. Do code cleanups.
4728           Add more comments about avoiding strdups for all text data. Comments
4729           welcome.
4730
4731 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4732
4733         * gst/gstregistrybinary.h (GstBinaryPluginElement,
4734           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
4735           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
4736           Comment structs and reformat to fix the build (that stuff should go
4737           into a priv. header).
4738
4739 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4740
4741         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
4742         (gst_registry_binary_load_feature):
4743         * gst/gstregistrybinary.h:
4744           Refactor so that we can implement multiple features. Add support for
4745           TypeFindFactory features.
4746
4747 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
4748
4749         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
4750
4751         * configure.ac:
4752           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
4753
4754 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * gst/gstbin.c: (gst_bin_element_set_state),
4757         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
4758         (bin_handle_async_done), (gst_bin_handle_message_func):
4759           Fix build with --gst-disable-gst-debug
4760
4761 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
4762
4763         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
4764           Make sure streaming has finished before calling the ::stop() vfunc,
4765           since that vfunc might clear state which is being used in the
4766           streaming thread. This fixes a race that caused crashes in
4767           audioresample when shutting down a pipeline (#420106).
4768
4769 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4770
4771         * docs/gst/gstreamer-sections.txt:
4772           That was one byte missing.
4773
4774 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4775
4776         * configure.ac:
4777         * docs/gst/gstreamer-sections.txt:
4778         * gst/Makefile.am:
4779         * gst/gstconfig.h.in:
4780         * gst/gstobject.c: (gst_object_class_init),
4781         (gst_signal_object_class_init):
4782         * gst/gstobject.h:
4783           2nd attempt to have a xml-less build as a joined effort of #413123
4784           and #421480.
4785
4786 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4787
4788         * docs/design/draft-tagreading.txt:
4789           Added open issues/thoughts to draft.
4790
4791 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4792
4793         * gst/parse/grammar.tab.pre.c:
4794         * gst/parse/grammar.tab.pre.h:
4795         * gst/parse/lex._gst_parse_yy.pre.c:
4796         Update the prebuild parser sources.
4797
4798 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4799
4800         * gst/parse/Makefile.am:
4801         And now fix the building of the flex sources. Now everything should
4802         work as expected.
4803
4804 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4805
4806         * gst/parse/Makefile.am:
4807         Now hopefully fix the build failures by setting proper rule
4808         dependencies and moving instead of copying.
4809
4810 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4811
4812         * tests/benchmarks/complexity.gnuplot:
4813         * tests/benchmarks/complexity.scm:
4814         * tests/benchmarks/mass-elements.gnuplot:
4815         * tests/benchmarks/mass-elements.scm:
4816           Total licensification.
4817
4818 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4819
4820         * gst/parse/Makefile.am:
4821           Fix the build by correcting the rule that gave wrong files to flex.
4822
4823 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4824
4825         * tests/benchmarks/complexity.c:
4826         * tests/benchmarks/mass-elements.c:
4827           Change licence to LGPL as granted by Benjamin and Andy.
4828
4829 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4830
4831         * gst/parse/Makefile.am:
4832         Add correct grammar.tab.h dependency if compiling without new enough
4833         flex. Fixes #431150.
4834
4835 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4836
4837         * gst/parse/Makefile.am:
4838         Fix typo and use outdated sources if the flex/bison sources are newer
4839         than the pregenerated ones but flex is too old. Print a warning in
4840         that case. This should fix the build on the build bot.
4841
4842 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4843
4844         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
4845         * gst/parse/Makefile.am:
4846         * gst/parse/grammar.y:
4847         * gst/parse/parse.l:
4848         Make the parser reentrant and recursively callable. This requires flex
4849         >= 2.5.31, for older versions pregenerated sources are used as we
4850         can't bump the build dependency. Finally fixes #349180.
4851
4852         * gst/gstparse.c: (gst_parse_launch):
4853         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
4854         now anyway.
4855
4856         * docs/gst/Makefile.am:
4857         * docs/gst/Makefile.am:
4858         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
4859         (__gst_parse_strfree), (__gst_parse_link_new),
4860         (__gst_parse_link_free), (__gst_parse_chain_new),
4861         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
4862         (gst_parse_element_set), (gst_parse_free_link),
4863         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
4864         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
4865         (_gst_parse_launch):
4866         * gst/parse/grammar.tab.pre.h:
4867         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
4868         (yy_get_previous_state), (yy_try_NUL_trans), (input),
4869         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
4870         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
4871         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
4872         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
4873         (_gst_parse_yypop_buffer_state),
4874         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
4875         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
4876         (yy_fatal_error), (_gst_parse_yyget_extra),
4877         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
4878         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
4879         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
4880         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
4881         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
4882         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
4883         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
4884         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
4885         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
4886         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
4887         (_gst_parse_yyfree):
4888         If the installed flex version is too old use pre-generated parser
4889         sources. These pre-generated parser sources are always updated when
4890         the actual flex/bison sources change but require everybody who wants
4891         to change something in the parser to have flex >= 2.5.31 installed.
4892
4893 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
4894
4895         * common/m4/gst-gettext.m4:
4896         * gst/gst-i18n-lib.h:
4897           Make --disable-nls to work
4898
4899 2007-04-17  Wim Taymans  <wim@fluendo.com>
4900
4901         * gst/gstconfig.h.in:
4902         Revert previous change that broke the build.
4903
4904 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
4905
4906         * configure.ac:
4907         * gst/Makefile.am:
4908         * gst/gstconfig.h.in:
4909           Drop libxml2 dependency when building with 
4910           --enable-binary-registry --disable-loadsave
4911
4912 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
4913
4914         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4915         (gst_registry_binary_read_cache):
4916         * gst/gstregistrybinary.h:
4917           Remove unnecessary <sys/mman.h> include which broke the win32 build
4918           with MingW; move includes from header file to .c file, even if the
4919           header file isn't installed; use g_strerror() where UTF-8 strings
4920           are expected, such as in GST_DEBUG messages.
4921
4922 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4923
4924         * docs/libs/gstreamer-libs-sections.txt:
4925         Remove bogus addition for API I didn't end up keeping.
4926
4927         * libs/gst/base/gstbasesrc.h:
4928         Mention Since: 0.10.13 in the documentation.
4929
4930         Add the API keyword to the previous ChangeLog entry.
4931
4932 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4933
4934         * docs/libs/gstreamer-libs-sections.txt:
4935         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4936         (gst_base_src_default_prepare_seek_segment),
4937         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
4938         * libs/gst/base/gstbasesrc.h:
4939         Allow basesrc derived classes to execute seeks in other formats
4940         by providing a prepare_seek_segment vmethod. Sub-classes can choose
4941         to prepare the GstSegment in any format that their perform_seek method
4942         will be able to understand. The default implementation provides the
4943         old behaviour of attempting to convert the seek offsets to the 
4944         configured native format.
4945
4946         API: basesrc::prepare_seek_segment vmethod.
4947
4948 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4949
4950         * gst/gstelement.c: (gst_element_get_state_func):
4951         Don't output the same debug statement twice.
4952
4953         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
4954         (gst_adapter_peek), (gst_adapter_take_buffer):
4955         Optimise the case where we have buffers at the head of the queue that
4956         can be joined quickly (because they're contiguous sub-buffers) by
4957         merging them together rather than copying data out into new memory.
4958
4959         * gst/parse/grammar.y:
4960         * tests/check/pipelines/parse-launch.c:
4961         Fix a leak in an error path for parse_launch, and add a check 
4962         for it to the testsuite.
4963
4964 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4965
4966         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4967           Don't deadlock when releasing a pad - gst_pad_set_active may try
4968           and take the multiqueue lock too.
4969
4970 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * gst/gsterror.c: (_gst_core_errors_init):
4973         * gst/gsterror.h:
4974           API: add GST_CORE_ERROR_DISABLED (#392804).
4975
4976 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * docs/faq/gst-uninstalled:
4979           don't get empty paths on the PATH variables
4980         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
4981           Don't format for the uncommon terminal width of 84 characters.
4982
4983 2007-04-06  Wim Taymans  <wim@fluendo.com>
4984
4985         * gst/gstpipeline.c: (reset_stream_time),
4986         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
4987         Only try to select a different pipeline clock when we went back to
4988         PAUSED and not when we merely got flushed.
4989
4990 2007-04-05  Michael Smith  <msmith@fluendo.com>
4991
4992         * tools/gst-launch.1.in:
4993           fractions are better supported in gstreamer than ractions, so
4994           suggest using those.
4995
4996 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
4999
5000         * po/LINGUAS:
5001         * po/da.po:
5002           Added Danish translation.
5003
5004 2007-04-05  Wim Taymans  <wim@fluendo.com>
5005
5006         * libs/gst/base/gstbasesink.c:
5007         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5008         Fix leak caused when refusing newsegment after EOS.
5009
5010         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5011         (gst_fake_sink_init), (gst_fake_sink_set_property),
5012         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5013         (gst_fake_sink_render), (gst_fake_sink_change_state):
5014         * plugins/elements/gstfakesink.h:
5015         Add num-buffers property to make the element generate EOS after a
5016         configurable amount of buffers.
5017         API: fakesink::num-buffers property.
5018
5019         * tests/check/elements/fakesink.c: (GST_START_TEST),
5020         (fakesink_suite):
5021         Fix GstBus leak in test.
5022         Test for fakesink num-buffers.
5023
5024 2007-04-05  Wim Taymans  <wim@fluendo.com>
5025
5026         * libs/gst/base/gstbasesink.c:
5027         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5028         (gst_base_sink_change_state):
5029         Don't accept anything after an EOS, return UNEXPECTED instead.
5030
5031         * tests/check/elements/fakesink.c: (GST_START_TEST),
5032         (fakesink_suite):
5033         Unit test for new EOS behaviour.
5034
5035 2007-04-05  Wim Taymans  <wim@fluendo.com>
5036
5037         * gst/gstelement.c: (gst_element_get_request_pad):
5038         Make padtemplates also work when they don't contain %s or %d.
5039
5040 2007-04-05  Wim Taymans  <wim@fluendo.com>
5041
5042         * docs/gst/gstreamer-sections.txt:
5043         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5044         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5045         * gst/gstclock.h:
5046         Improve _adjust_unlocked() so that it overflows less.
5047         Add gst_clock_unadjust_unlocked to convert from external time to
5048         internal time based on calibration.
5049         Add some more debug.
5050         API: GstClock::gst_clock_unadjust_unlocked()
5051
5052 2007-04-03  Wim Taymans  <wim@fluendo.com>
5053
5054         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5055
5056         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5057         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5058         when releasing sink pad. Fixes #425400.
5059
5060 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5061
5062         * docs/random/ensonic/dynlink.txt:
5063           More work on proposal for new core api.
5064
5065         * docs/libs/gstreamer-libs-sections.txt:
5066         * libs/gst/base/gstbasetransform.h:
5067           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5068           
5069         * libs/gst/controller/gstcontroller.c:
5070         (on_object_controlled_property_changed),
5071         (gst_controller_sync_values),
5072         (gst_controller_set_interpolation_mode):
5073         * libs/gst/controller/gstcontroller.h:
5074           Less verbose logging add docs for unimplemented parts and correctly
5075           return when using unavailable parts.
5076
5077 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5078
5079         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5080         Move all the debug to the CLOCK category, and associate it with
5081         the clock object.
5082
5083 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5084
5085         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5086         Make take_buffer a bit quicker by removing redundant checks
5087         caused by calling gst_adapter_take.
5088
5089 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5090
5091         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5092           Don't leak GCond.
5093
5094         * tests/check/Makefile.am:
5095         * tests/check/elements/.cvsignore:
5096         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5097         (GST_START_TEST), (multiqueue_suite):
5098           Add some dead simple unit tests for the 'multiqueue' element
5099           (some bits don't work yet and are disabled for now).
5100
5101 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5102
5103         * gst/gstelement.c: (gst_element_get_request_pad),
5104         (gst_element_class_get_request_pad_template):
5105           Make gst_element_get_request_pad() create request pads only for
5106           request pad templates and not for, say, sometimes pad templates.
5107
5108 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5109
5110         * docs/design/draft-klass.txt:
5111           Add example that needs more thinking.
5112         
5113         * docs/design/draft-missing-plugins.txt:
5114           More thoughts about wrapper plugins.
5115         
5116         * docs/random/ensonic/embedded.txt:
5117         * docs/random/ensonic/profiling.txt:
5118           More design work.
5119
5120 2007-03-25  Wim Taymans  <wim@fluendo.com>
5121
5122         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5123         (gst_base_src_loop):
5124         Only push the segment events in the PLAYING state for live sources.
5125
5126 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5127
5128         * gst/gstpipeline.c: (gst_pipeline_change_state):
5129         Modify the clock distribution path in PAUSED->PLAYING so that we 
5130         never attempt to choose a new clock unless we're actually leaving
5131         the PAUSED state for the first time. This prevents choosing a
5132         different clock when the state_change gets called for a 2nd time due
5133         to some element doing an async state change.
5134
5135 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5136
5137         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5138         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5139         (gst_pad_chain_unchecked), (gst_pad_push):
5140         Revert last commit. This needs some more thoughts.
5141
5142 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5143
5144         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5145         (gst_pad_chain_unchecked), (gst_pad_push):
5146         Check in set_caps if the caps are compatible with the pad and remove
5147         two functions that are redundant now. Fixes #421543.
5148
5149 2007-03-22  Wim Taymans  <wim@fluendo.com>
5150
5151         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5152         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5153         Unref some more to make valgrind happy.
5154
5155 2007-03-22  Wim Taymans  <wim@fluendo.com>
5156
5157         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5158         (gst_system_clock_id_wait_jitter),
5159         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5160         Fix anoying regression that survived a few releases. When adding an
5161         async entry while blocking on a sync entry, the sync entry will unblock
5162         but still be busy, so it should continue to wait instead of returning
5163         _BUSY to the app.
5164         Add some comments here and there.
5165
5166         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5167         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5168         Add testcase for this.
5169
5170 2007-03-22  Wim Taymans  <wim@fluendo.com>
5171
5172         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5173         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5174         WRONG_STATE and can silently pause the task. All other cases should
5175         error out.
5176
5177 2007-03-22  Wim Taymans  <wim@fluendo.com>
5178
5179         Patch by: Ville Syrjala <syrjala at sci dot fi>
5180
5181         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5182         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5183         Improve debugging.
5184
5185 2007-03-21  Michael Smith  <msmith@fluendo.com>
5186
5187         * docs/pwg/advanced-types.xml:
5188           Fix some errors in the typefinding docs pointed out on irc.
5189
5190 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5191
5192         * libs/gst/base/gstbasesrc.c:
5193         Clarify FIXME comment in the face of having added unlock_stop()
5194
5195 2007-03-21  Wim Taymans  <wim@fluendo.com>
5196
5197         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5198         Prepare for release where we warn against possible app breakage in the
5199         case of live pipelines along with an env var to enable/disable live
5200         preroll mode (GST_COMPAT=[no-]live-preroll).
5201
5202 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5203
5204         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5205         So we should use correct constants for checking for None offset.
5206
5207 2007-03-20  Wim Taymans  <wim@fluendo.com>
5208
5209         * docs/design/part-block.txt:
5210         Mention the fact that the newly switched element should be set to at
5211         least PAUSED.
5212
5213 2007-03-20  Wim Taymans  <wim@fluendo.com>
5214
5215         * gst/gst.c:
5216         Fix compilation with registry disabled as spotted by Saur.
5217
5218 2007-03-20  Wim Taymans  <wim@fluendo.com>
5219
5220         Patch by: Olivier Crete <tester at tester dot ca>
5221
5222         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5223         Look at the pending state too when syncing the element state to the
5224         parent. Fixes #420133.
5225
5226 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5227
5228         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5229         (gst_base_sink_change_state):
5230         * libs/gst/base/gstbasesink.h:
5231         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5232         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5233         (gst_base_src_deactivate):
5234         * libs/gst/base/gstbasesrc.h:
5235         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5236         for sub-classes to correctly clear any state they set trying to
5237         unlock, such as clearing out unlock commands from a command fd.
5238         API: basesrc::unlock_stop
5239         API: basesink::unlock_stop
5240
5241         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5242         (gst_fd_sink_render), (gst_fd_sink_unlock),
5243         (gst_fd_sink_unlock_stop):
5244         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5245         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5246         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5247
5248         Implement unlock_stop in fdsrc and fdsink.
5249         Implement seeking in fdsrc when a seekable fd is passed, as in
5250         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5251
5252 2007-03-19  Wim Taymans  <wim@fluendo.com>
5253
5254         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5255
5256         * gst/gstelement.c: (gst_element_class_init):
5257         Fix pad-added and pad-removed signal signatures so that the pad type is
5258         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5259
5260 2007-03-19  Wim Taymans  <wim@fluendo.com>
5261
5262         * docs/gst/gstreamer-sections.txt:
5263         Add new element field and method.
5264
5265         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5266         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5267         (gst_bin_recalc_state), (gst_bin_get_state_func),
5268         (gst_bin_element_set_state), (gst_bin_change_state_func),
5269         (gst_bin_continue_func), (bin_bus_handler),
5270         (bin_push_state_continue), (bin_handle_async_start),
5271         (bin_handle_async_done), (gst_bin_handle_message_func):
5272         Make async state changes a bit smarter by using new ASYNC_START and
5273         ASYNC_DONE messages. This reduces the number of times we run the state
5274         recalculation thread.
5275         Don't change state of element with a pending ASYNC_START message.
5276         Deprecate STATE_DIRTY messages.
5277         
5278         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5279         (gst_element_get_state_func), (gst_element_continue_state),
5280         (gst_element_lost_state), (gst_element_set_state_func),
5281         (gst_element_change_state):
5282         * gst/gstelement.h:
5283         Keep the state that was last set by the app in a new element field.
5284         Don't allow state changes when handling an element event.
5285         Post ASYNC_START and ASYNC_DONE messages.
5286         Change lost_state so that we go to PAUSED and wait for the parent to set
5287         us to PLAYING again (so latency calculation can be performed)
5288         Export gst_element_change_state() method so that subclasses can use it.
5289         API: gst_element_change_state()
5290         API: GST_STATE_TARGET
5291
5292         * gst/gstpipeline.c: (gst_pipeline_class_init),
5293         (reset_stream_time), (gst_pipeline_change_state),
5294         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5295         Using the new ASYNC_START message we can reset the base_time when
5296         needed. This can then be used to implement base_time redistribution in
5297         flushing seeks so that we can remove the explicit seek handling.
5298         Perform latency query and configuration when going to PLAYING.
5299
5300         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5301         (gst_base_sink_query), (gst_base_sink_change_state):
5302         Post new ASYNC_START/ASYNC_DONE messages.
5303
5304         * tests/check/generic/sinks.c: (GST_START_TEST):
5305         Fix test because the bin will not set the async element to PLAYING right
5306         away.
5307
5308         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5309         Make the message check a little stronger.
5310         Handle ASYNC messages.
5311
5312         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5313         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5314         Expect ASYNC_DONE messages.
5315
5316 2007-03-19  Wim Taymans  <wim@fluendo.com>
5317
5318         * docs/gst/gstreamer-sections.txt:
5319         * gst/gstmessage.c: (gst_message_new_async_start),
5320         (gst_message_new_async_done), (gst_message_parse_info),
5321         (gst_message_parse_async_start):
5322         * gst/gstmessage.h:
5323         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5324         support.
5325
5326 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5327
5328         * tools/gst-inspect.c:
5329         (print_plugin_automatic_install_info_codecs):
5330           Now that we don't check for the 'Codec' keyword any longer in the
5331           klass, we shouldn't spew a warning if the klass isn't a decoder or
5332           encoder (since it might be a Source/Network, for example).
5333
5334 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         * tools/gst-inspect.c:
5337         (print_plugin_automatic_install_info_codecs):
5338           Don't require decoder/demuxer/depayloader elements or
5339           encoder/muxer/paylader elements to have 'Codec' as part of their
5340           factory class string when introspecting a plugin's capabilities.
5341           draft-klass.txt mentions that it might be removed in future, and
5342           flump3dec doesn't have it as part of its class string, so chances
5343           are others might also not have it.
5344
5345 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * po/af.po:
5348         * po/az.po:
5349         * po/bg.po:
5350         * po/ca.po:
5351         * po/cs.po:
5352         * po/de.po:
5353         * po/en_GB.po:
5354         * po/fr.po:
5355         * po/it.po:
5356         * po/nb.po:
5357         * po/nl.po:
5358         * po/ru.po:
5359         * po/sq.po:
5360         * po/sr.po:
5361         * po/sv.po:
5362         * po/tr.po:
5363         * po/uk.po:
5364         * po/vi.po:
5365         * po/zh_CN.po:
5366         * po/zh_TW.po:
5367           Update translations from translation project
5368
5369 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5370
5371         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5372         (gst_child_proxy_set_property):
5373           Invert precondition check to be alike the ones in the mimiced gobject
5374           api.
5375
5376 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5377
5378         * docs/design/draft-tagreading.txt:
5379         * docs/random/ensonic/audiobaseclasses.txt:
5380           Do some Architect work.
5381
5382         * gst/gstobject.c: (gst_object_set_name):
5383           Add a WARNING.
5384
5385         * gst/gstpad.c:
5386           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5387
5388 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5389
5390         * gst/gstsystemclock.c: (gst_system_clock_init),
5391         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5392         Defer starting the async system clock thread until the first async
5393         wait is scheduled. Fixes #414986.
5394
5395 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5398         (gst_single_queue_free):
5399           Fix small leak (free GstSingleQueue structure too, not only contents).
5400
5401 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5402
5403         * gst/gstbin.c:(gst_bin_add):
5404         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5405         * win32/common/libgstbase.def:
5406         * win32/common/libgstreamer.def:
5407         Add new exported functions.
5408
5409 2007-03-09  Wim Taymans  <wim@fluendo.com>
5410
5411         * docs/plugins/gstreamer-plugins-sections.txt:
5412         Fix GstTee docs.
5413
5414 2007-03-09  Wim Taymans  <wim@fluendo.com>
5415
5416         * docs/gst/gstreamer-sections.txt:
5417         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5418         * gst/gstbuffer.h:
5419         Add metadata copy functions. Fixes #393099.
5420         API: gst_buffer_copy_metadata()
5421
5422         * gst/gstutils.c: (gst_buffer_stamp):
5423         * libs/gst/base/gstbasetransform.c:
5424         (gst_base_transform_prepare_output_buffer):
5425         Use new metadata copy functions.
5426
5427 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5428
5429         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5430         (gst_identity_init), (gst_identity_check_perfect),
5431         (gst_identity_check_imperfect_timestamp),
5432         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5433         (gst_identity_set_property), (gst_identity_get_property):
5434         * plugins/elements/gstidentity.h:
5435         Separate out check-imperfect-timestamp and check-imperfect-offset.
5436         Put back check-perfect as it was to keep compatibility.
5437
5438 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5439
5440         * gst/gstelement.c: (gst_element_dispose):
5441         There's no need to warn if VOID_PENDING is not NONE here, as
5442         long as the state is NULL it's ok, and that's checked immediately
5443         above.
5444
5445 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5446
5447         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5448         Fix check for perfect stream to ignore buffers with -1 
5449         offsets/offset ends when checking data contiguity.
5450
5451 2007-03-08  Wim Taymans  <wim@fluendo.com>
5452
5453         * tools/gst-launch.c: (event_loop):
5454         Print INFO messages.
5455
5456 2007-03-08  Wim Taymans  <wim@fluendo.com>
5457
5458         * libs/gst/base/gstbasetransform.c:
5459         (gst_base_transform_sink_eventfunc),
5460         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5461         (gst_base_transform_activate):
5462         * libs/gst/base/gstbasetransform.h:
5463         Add support for dropping buffers with custom GstFlowReturn.
5464         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5465         buffers or dropped buffers.
5466
5467         * docs/libs/gstreamer-libs-sections.txt:
5468         docs for new custom return code.
5469
5470         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5471         Use drop support in base class to implement drop-probability.
5472
5473 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5474
5475         * gst/gst.c: (load_plugin_func):
5476         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
5477         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5478         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
5479           Remove newlines at end of debug log strings.
5480
5481 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5482
5483         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5484         Only post bus message at max, once per buffer received.
5485
5486 2007-03-07  Wim Taymans  <wim@fluendo.com>
5487
5488         * docs/design/Makefile.am:
5489         * docs/design/part-synchronisation.txt:
5490         Add doc about synchronisation
5491
5492         * docs/design/draft-latency.txt:
5493         * docs/design/part-TODO.txt:
5494         * docs/design/part-clocks.txt:
5495         * docs/design/part-events.txt:
5496         * docs/design/part-gstbus.txt:
5497         * docs/design/part-gstpipeline.txt:
5498         * docs/design/part-live-source.txt:
5499         * docs/design/part-messages.txt:
5500         * docs/design/part-overview.txt:
5501         * docs/design/part-streams.txt:
5502         * docs/design/part-trickmodes.txt:
5503         Documentation updates.
5504
5505 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5506
5507         * gstreamer.doap:
5508         Update the doap file.
5509
5510 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5511
5512         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5513         Rename non-perfect to imperfect for Mike and for the sanctity of the
5514         language.
5515         Also make sure bus message gets emitted for data-incontiguities.
5516
5517 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5518
5519         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
5520         (gst_identity_start):
5521         * plugins/elements/gstidentity.h:
5522         Emit bus message if check-perfect is true and we encounter a
5523         non-perfect stream between 2 consecutive buffers.
5524         Fixes #415394.
5525
5526 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5527
5528         * configure.ac:
5529         Back to CVS
5530
5531 === release 0.10.12 ===
5532
5533 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
5534
5535         * configure.ac:
5536           releasing 0.10.12, "Inevitable Demise"
5537
5538 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
5539
5540         * configure.ac:
5541          Version 0.10.11.2 (0.10.12 pre-release)
5542          Bump libtool versioning.
5543
5544 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
5545
5546         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5547           Log flow-names and not numbers.
5548
5549 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * configure.ac:
5552           Convert to new AG_GST style.
5553
5554 2007-02-28  Wim Taymans  <wim@fluendo.com>
5555
5556         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
5557         Don't unref query twice.
5558
5559 2007-02-28  Wim Taymans  <wim@fluendo.com>
5560
5561         * gst/gstvalue.c: (gst_value_transform_object_string),
5562         (_gst_value_initialize):
5563         Implement GstObject -> string transform so we print object names
5564         when serializing GValues containing GstObjects.
5565
5566 2007-02-28  Wim Taymans  <wim@fluendo.com>
5567
5568         * docs/gst/gstreamer-sections.txt:
5569         Add new stuff to docs.
5570
5571 2007-02-28  Wim Taymans  <wim@fluendo.com>
5572
5573         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5574         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
5575         (gst_base_sink_change_state):
5576         Improve latency query code.
5577         Don't leak latency events.
5578
5579         * tests/check/gst/gstbin.c: (GST_START_TEST):
5580         Improve debugging.
5581
5582 2007-02-28  Wim Taymans  <wim@fluendo.com>
5583
5584         * gst/gstelement.c: (gst_element_message_full),
5585         (gst_element_get_state_func):
5586         * gst/gstelement.h:
5587         Improve docs a little. Added Since: for new macro.
5588
5589         * gst/gstobject.c: (gst_object_sink):
5590         * gst/gstpipeline.c: (gst_pipeline_change_state),
5591         (gst_pipeline_set_new_stream_time):
5592         * gst/gstpipeline.h:
5593         Improve debugging and docs.
5594
5595         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5596         Improve debugging.
5597
5598 2007-02-28  Wim Taymans  <wim@fluendo.com>
5599
5600         * gst/gstelement.c: (gst_element_message_full),
5601         (gst_element_set_locked_state), (gst_element_get_state_func),
5602         (gst_element_change_state):
5603         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
5604         Documentation updates.
5605         Small code cleanups.
5606
5607         * gst/gstmessage.c: (gst_message_new_info),
5608         (gst_message_parse_info):
5609         * gst/gstmessage.h:
5610         API: gst_message_new_info()
5611         API: gst_message_parse_info()
5612         Add INFO message create and parse code.
5613
5614 2007-02-28  Wim Taymans  <wim@fluendo.com>
5615
5616         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
5617         (bin_query_latency_done):
5618         Also report the live parameter of a latency query.
5619
5620 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
5623           Copy the current generic/states example from -base and adapt so
5624           we can use the exact same code everywhere.
5625           Check a STATES_IGNORE_ELEMENTS env var which can be used
5626           to ignore certain element factories for this test, which is
5627           what is being done in -base
5628         * tests/check/Makefile.am:
5629           Mention this environment variable.
5630
5631 2007-02-27  Wim Taymans  <wim@fluendo.com>
5632
5633         * docs/gst/gstreamer-sections.txt:
5634         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
5635         (gst_bus_timed_pop), (gst_bus_pop):
5636         * gst/gstbus.h:
5637         API: gst_bus_timed_pop()
5638         Implement gst_bus_timed_pop() to do a blocking timed wait for a
5639         message to arrive on the bus.
5640
5641         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
5642         (gst_bus_suite):
5643         Two unit tests for new _timed_pop() function.
5644
5645 2007-02-23  Wim Taymans  <wim@fluendo.com>
5646
5647         * gst/gstpipeline.c: (gst_pipeline_change_state),
5648         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
5649         Don't ref a NULL clock in _provide_clock_func().
5650         Don't allow an INVALID delay.
5651         Don't try to calculate base_time with an invalid start_time.
5652         Also distribute and notify a NULL clock when it was selected.
5653
5654         * tools/gst-launch.c: (event_loop):
5655         Don't crash when a NULL clock was selected in the pipeline.
5656
5657 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5658
5659         * docs/design/Makefile.am:
5660         * docs/design/draft-missing-plugins.txt:
5661         * docs/random/draft-missing-plugins.txt:
5662           Some small updates: update plugin system identifier prefix
5663           ('gstreamer.net' to 'gstreamer'), mention our new install
5664           API in libgstbaseutils rather than libgimme-codec, add
5665           reference to the online docs.
5666
5667 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5668
5669         * win32/common/config.h:
5670           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
5671           use moap cl ci to only check in what is mentioned in the ChangeLog.
5672
5673 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5674
5675         * docs/gst/gstreamer-sections.txt:
5676         * gst/gstelement.h:
5677           Fix up documentation to link to the correct GstGError section.
5678           Add GST_ELEMENT_INFO macro since someone else added a Info message.
5679
5680 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5681
5682         * tools/gst-launch.c: (event_loop):
5683           Make sure that we actually show the important message part of a
5684           warning message.
5685           No need to check if the gerror is not NULL to free; first of all
5686           g_free accepts NULL; and second the default error handler would
5687           segfault if gerror was NULL.
5688
5689 2007-02-21  Wim Taymans  <wim@fluendo.com>
5690
5691         * docs/gst/gstreamer-sections.txt:
5692         Removed docs as well.
5693
5694 2007-02-21  Wim Taymans  <wim@fluendo.com>
5695
5696         * gst/gstmessage.c: (gst_message_parse_duration):
5697         * gst/gstmessage.h:
5698         Remove new messages for release.
5699
5700 2007-02-20  Wim Taymans  <wim@fluendo.com>
5701
5702         * docs/design/part-gstghostpad.txt:
5703         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
5704         (gst_ghost_pad_new_full):
5705         Make the ghostpad a parent of the internal pad again for better backward
5706         compatibility. Don't write code that relies on this however.
5707
5708         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5709         (gst_pad_link_check_hierarchy):
5710         Require that parents should be GstElements in the hierarchy check.
5711
5712 2007-02-20  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
5715         (gst_bin_change_state_func), (bin_query_min_max_init),
5716         (bin_query_latency_fold), (bin_query_latency_done),
5717         (gst_bin_query):
5718         Improve debug info.
5719         Implement latency query.
5720
5721 2007-02-20  Wim Taymans  <wim@fluendo.com>
5722
5723         * docs/design/part-gstghostpad.txt:
5724         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
5725         (gst_ghost_pad_internal_do_activate_push),
5726         (gst_ghost_pad_internal_do_activate_pull),
5727         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5728         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
5729         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
5730         Do not set the internal pad as a parent anymore so we can avoid
5731         hierarchy linking errors when the ghostpad has no parent yet. This also
5732         fixes failed activation because of unlinked internal pads, which in
5733         turn fixes the impossible case where you have to activate a pad before
5734         you can add it to a running element.
5735         Also fix the docs.
5736
5737         * gst/gstpad.c: (pre_activate), (post_activate),
5738         (gst_pad_set_active), (gst_pad_activate_pull),
5739         (gst_pad_activate_push), (gst_pad_check_pull_range):
5740         Add some more debug info.
5741         Mark activation mode in pre_activate so that we don't try to activate in
5742         endless loops. Fixes #385084.
5743
5744 2007-02-19  Wim Taymans  <wim@fluendo.com>
5745
5746         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5747         (gst_base_transform_check_get_range):
5748         Implement a checkgetrange function instead of relying on the default
5749         core behaviour that assumes we can operate in pull mode if we have a
5750         getrange function. First step at fixing #385084.
5751
5752 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
5753
5754         * gst/gstchildproxy.h:
5755         * libs/gst/base/gstbasesink.h:
5756         * libs/gst/base/gstbasesrc.h:
5757         * libs/gst/base/gstbasetransform.h:
5758         More docs coverage and some ChangeLog surgery (add missing names)
5759
5760 2007-02-15  Wim Taymans  <wim@fluendo.com>
5761
5762         * docs/design/part-TODO.txt:
5763         * docs/design/part-activation.txt:
5764         * docs/design/part-block.txt:
5765         * docs/design/part-buffering.txt:
5766         * docs/design/part-clocks.txt:
5767         * docs/design/part-element-source.txt:
5768         * docs/design/part-events.txt:
5769         * docs/design/part-gstbin.txt:
5770         * docs/design/part-gstbus.txt:
5771         * docs/design/part-gstpipeline.txt:
5772         * docs/design/part-live-source.txt:
5773         * docs/design/part-messages.txt:
5774         * docs/design/part-overview.txt:
5775         * docs/design/part-qos.txt:
5776         * docs/design/part-query.txt:
5777         * docs/design/part-states.txt:
5778         * docs/design/part-trickmodes.txt:
5779         Some doc updates. Start renaming from stream_time to running_time where
5780         it was used wrongly.
5781
5782 2007-02-15  Wim Taymans  <wim@fluendo.com>
5783
5784         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
5785         Answer LATENCY query.
5786
5787 2007-02-15  Wim Taymans  <wim@fluendo.com>
5788
5789         * tests/check/gst/gstevent.c: (event_probe), (test_event),
5790         (GST_START_TEST):
5791         Improve debugging.
5792
5793 2007-02-15  Wim Taymans  <wim@fluendo.com>
5794
5795         * gst/gstpad.c: (gst_pad_get_internal_links_default),
5796         (gst_pad_dispatcher):
5797         Improve debugging of default pad dispatcher and query functions.
5798
5799 2007-02-15  Wim Taymans  <wim@fluendo.com>
5800
5801         * docs/gst/gstreamer-sections.txt:
5802         Remove old unused method.
5803
5804 2007-02-13  Wim Taymans  <wim@fluendo.com>
5805
5806         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5807         Fix check
5808
5809 2007-02-13  Wim Taymans  <wim@fluendo.com>
5810
5811         * docs/design/part-seeking.txt:
5812         Some small update.
5813
5814         * gst/gstsegment.c: (gst_segment_set_seek):
5815         Revert old bogus change that should make seeking work again.
5816
5817 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5818
5819         * docs/random/ensonic/dynlink.txt:
5820         * docs/random/ensonic/interfaces.txt:
5821         * docs/random/ensonic/receipies.txt:
5822           Possible dynamic reconnection api, plus some type fixes the other two
5823           docs.
5824
5825 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
5826
5827         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5828         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5829         Also check for an absolute path following file:// in the filesrc
5830         element. Remove redundant check and call g_path_is_absolute() on the
5831         unescaped location.
5832
5833 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * docs/design/draft-klass.txt:
5836           Add existing category analysis.
5837           
5838         * gst/gstcaps.c:
5839           Fix doc example, framerate is a fraction.
5840
5841 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5842
5843         * configure.ac:
5844         * docs/gst/Makefile.am:
5845         * docs/gst/gstreamer-sections.txt:
5846         * docs/libs/Makefile.am:
5847           Erm, forgot a bunch of --extra-dir.
5848
5849 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5850
5851         * configure.ac:
5852         * docs/gst/Makefile.am:
5853         * docs/libs/Makefile.am:
5854         * docs/plugins/Makefile.am:
5855           Add crossreferences to glib/gobject docs.
5856
5857 2007-02-12  Wim Taymans  <wim@fluendo.com>
5858
5859         * docs/design/draft-latency.txt:
5860         Small update.
5861
5862         * docs/libs/gstreamer-libs-sections.txt:
5863         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5864         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
5865         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
5866         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
5867         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
5868         (gst_base_sink_get_position), (gst_base_sink_query),
5869         (gst_base_sink_change_state):
5870         * libs/gst/base/gstbasesink.h:
5871         API: gst_base_sink_query_latency() to let subclasses query the upstream
5872         latency.
5873         API: gst_base_sink_get_latency() to let subclasses query the configured
5874         latency in the sink.
5875         Implement query and set latency.
5876         Update some docs.
5877         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
5878         don't continue preroll when we are flushing. Fixes #405284.
5879
5880         * tests/check/pipelines/stress.c: (change_state_timeout),
5881         (quit_timeout), (GST_START_TEST), (stress_suite):
5882         Test for #405284.
5883
5884 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5885
5886         Patch by: René Stadler <mail at renestadler de>
5887
5888         * docs/gst/gstreamer-sections.txt:
5889         * gst/gsttaglist.c: (_gst_tag_initialize):
5890         * gst/gsttaglist.h:
5891           API: add GST_TAG_REFERENCE_LEVEL (#403597).
5892
5893 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
5894
5895         * docs/libs/Makefile.am:
5896           Fix path to core docs.
5897
5898         * gst/gstbin.c: (gst_bin_get_by_interface),
5899         (gst_bin_iterate_all_by_interface):
5900           Refix docs by also renaming 'interface' to 'iface' in implementation.
5901
5902         * docs/gst/gstreamer-sections.txt:
5903         * gst/gstcaps.c:
5904         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
5905         * gst/gstchildproxy.h:
5906         * gst/gstelementfactory.c:
5907         * gst/gstpadtemplate.h:
5908         * libs/gst/controller/gstcontroller.c:
5909         (gst_controlled_property_new):
5910           Document more.
5911
5912 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
5913
5914         * gst/gstbin.h:(gst_bin_get_by_interface),
5915         (gst_bin_iterate_all_by_interface):
5916         Replace interface parameter name by iface as interface is 
5917         a reserved keyword in Visual Studio for C++ projects so it removes
5918         a build error for application developpers using VS.
5919         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
5920         Fix a bug on Windows in uri format check. Now the prefix checked
5921         is file:// and next we check if the path after file:// is absolute.
5922         * win32/common/libgstbase.def:
5923         * win32/common/libgstdataprotocol.def:
5924         * win32/common/libgstgstreamer.def:
5925         Add new exported functions.
5926
5927 2007-02-09  Andy Wingo  <wingo@pobox.com>
5928
5929         * tests/check/pipelines/simple-launch-lines.c
5930         (simple_launch_lines_suite, test_tee): Disable tee test until I
5931         have time to fix it :-(
5932
5933         * tests/check/Makefile.am (noinst_HEADERS): 
5934         * tests/check/libs/libsabi.c: 
5935         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
5936         * tests/check/gst/gstabi.c: 
5937         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
5938
5939         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
5940         tests for push and pull tee behavior.
5941
5942         * plugins/elements/gsttee.h: 
5943         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
5944         mark as deprecated as well as unimplemented. It was a crack idea.
5945         Add support for tee operating in pull mode, off by default.
5946
5947         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
5948         normal-case logs down to LOG, raise errors to WARNING.
5949         (gst_registry_xml_read_cache): Don't log before calling a function
5950         that logs.
5951
5952         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
5953         exit (registry finalize).
5954         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
5955         DEBUG log when we emit signals that people don't even have the
5956         chance to connect to.
5957         (gst_registry_scan_path_level): Less logging in the normal case.
5958
5959 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5960
5961         Patch by: Michal Benes <michal dot benes at itonis dot tv>
5962
5963         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5964         Correctly generate EOS for non-seekable files. We don't have a total
5965         length for them and would get an unexpected end of file if we only
5966         special-cased for regular files. (Fixes: #404569)
5967
5968 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5969
5970         * tests/check/elements/filesrc.c: (GST_START_TEST),
5971         (filesrc_suite):
5972         Add unit test for the GstURIHandler interface in filesrc. This also
5973         tests the newly added file://localhost/foo/bar support.
5974
5975 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5976
5977         * gst/gstelementfactory.h:
5978           The klass string is not a hierarchy. Add reference to the design doc
5979           for more information and common types.
5980
5981 2007-02-02  Wim Taymans  <wim@fluendo.com>
5982
5983         * gst/gstquery.c: (gst_query_new_latency):
5984         Remove old structure field.
5985
5986 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * tools/gst-launch.1.in:
5989           Give example for network streaming (#351998)
5990
5991 2007-02-02  Wim Taymans  <wim@fluendo.com>
5992
5993         * docs/gst/gstreamer-sections.txt:
5994         Add docs for new methods.
5995
5996         * gst/gstevent.c: (gst_event_new_latency),
5997         (gst_event_parse_latency):
5998         * gst/gstevent.h:
5999         Add new LATENCY event to configure latency in a pipeline.
6000         API: gst_event_new_latency
6001         API: gst_event_parse_latency
6002
6003         * gst/gstmessage.c: (gst_message_new_buffering),
6004         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6005         (gst_message_new_latency), (gst_message_parse_buffering),
6006         (gst_message_parse_lost_preroll):
6007         * gst/gstmessage.h:
6008         Added messages used in draft-latency.
6009         API: gst_message_new_lost_preroll
6010         API: gst_message_parse_lost_preroll
6011         API: gst_message_new_prerolled
6012         API: gst_message_new_latency
6013
6014         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6015         (gst_query_parse_latency):
6016         * gst/gstquery.h:
6017         Implemented new latency query as in design doc.
6018         API: gst_query_new_latency
6019         API: gst_query_set_latency
6020         API: gst_query_parse_latency
6021
6022 2007-02-02  Wim Taymans  <wim@fluendo.com>
6023
6024         * docs/design/draft-latency.txt:
6025         Slight redesign to allow for dynamic latency adjustments.
6026
6027         * docs/design/part-negotiation.txt:
6028         Fix some typos.
6029
6030 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6031
6032         reviewed by: Wim Taymans <wim@fluendo.com>
6033
6034         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6035         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6036         Allow file://localhost/foo/bar URLs and correctly fail for every other
6037         hostname that one sets. This was gnomevfssrc is linked for those if
6038         installed as it can handle it (#403172)
6039
6040 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6041
6042         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6043
6044         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6045         (unref_data), (gst_collect_pads_add_pad_full):
6046         * libs/gst/base/gstcollectpads.h:
6047         Don't put the previously added destroy notify in the GstCollectData
6048         struct as all it's padding is already used and we don't want to break
6049         ABI. Instead put in the pad's GObject data for now. This should be
6050         cleaned up for 0.11 (#402393).
6051
6052 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6053
6054         reviewed by: Wim Taymans <wim@fluendo.com>
6055
6056         * docs/libs/gstreamer-libs-sections.txt:
6057         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6058         (unref_data), (gst_collect_pads_add_pad),
6059         (gst_collect_pads_add_pad_full):
6060         * libs/gst/base/gstcollectpads.h:
6061         API: Add function to specify a destroy notification for custom
6062         GstCollectData when adding new pads in GstCollectPads (#402393).
6063
6064 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6065
6066         * po/sv.po:
6067           Update Swedish translation (#378255).
6068
6069 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * docs/design/draft-klass.txt:
6072           Fix the previous change, this is a list of categories and not a hierarchy.
6073
6074 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6075
6076         * docs/design/draft-klass.txt:
6077           Add info about how to get a list of used classes.
6078
6079 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6080
6081         * plugins/elements/gsttypefindelement.c:
6082         (gst_type_find_element_chain_do_typefinding),
6083         (gst_type_find_element_change_state):
6084           Don't leak found caps in chain function (no idea why that never
6085           showed up as a leak anywhere).
6086
6087 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6088
6089         * gst/gstplugin.h:
6090           Fix and expand GstPluginDesc API docs.
6091
6092 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6093
6094         * gst/gstcaps.c:
6095         * gst/gstelementfactory.c:
6096         * gst/gstpadtemplate.h:
6097           api doc fixes
6098
6099         * libs/gst/controller/gstcontroller.c:
6100         (gst_controlled_property_new):
6101         * tests/examples/controller/audio-example.c:
6102           comment fixes
6103
6104 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6105
6106         * configure.ac:
6107           comment about refining the xml deps
6108
6109         * docs/manuals.mak:
6110           comments about moving away from jade for docs
6111         
6112         * gst/gst.c:
6113           recommit the ifdefs to use the binary registry
6114         
6115         * gst/gstbin.c: (gst_bin_change_state_func):
6116           this break is obsolete
6117
6118         * gst/gstelementfactory.h:
6119           better GST_ELEMENT_DETAILS docs, add comment about translation
6120
6121         * gst/gstinfo.h:
6122           remove eol slash
6123
6124         * gst/gstobject.c: (gst_signal_object_get_type):
6125           add G_UNLIKELY as usual
6126
6127         * gst/gstpad.c: (gst_pad_event_default):
6128           add fall trhu comment
6129
6130         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6131         (gst_registry_binary_initialize_magic),
6132         (gst_registry_binary_save_string),
6133         (gst_registry_binary_save_pad_template),
6134         (gst_registry_binary_save_feature),
6135         (gst_registry_binary_save_plugin),
6136         (gst_registry_binary_write_cache),
6137         (gst_registry_binary_check_magic),
6138         (gst_registry_binary_load_pad_template),
6139         (gst_registry_binary_load_feature),
6140         (gst_registry_binary_load_plugin),
6141         (gst_registry_binary_read_cache):
6142           comment typo and formatting
6143
6144         * gst/gstutils.c: (gst_element_state_get_name),
6145         (gst_element_state_change_return_get_name):
6146           remove obsolete breaks
6147
6148         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6149           add FIXME 0.11 and remove cpp comment
6150
6151 2007-01-29  Edward Hervey  <edward@fluendo.com>
6152
6153         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6154         Fix print statement in an even more portable way.
6155
6156 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * docs/gst/gstreamer-sections.txt:
6159         * gst/gstutils.h:
6160           API: add GST_ROUND_DOWN_* macros (#401781).
6161
6162 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6163
6164         * docs/gst/gstreamer.types.in:
6165         * gst/gstregistry.c: (gst_registry_class_init):
6166           Document registry signals and make gtk-doc pick them up (#401381).
6167
6168 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * docs/pwg/building-testapp.xml:
6171           Add some audioconverts and audioresample to the pipeline, and some
6172           more comments and error handling.
6173
6174 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         * docs/manual/manual.xml:
6177         * docs/pwg/pwg.xml:
6178           Fix typo (#400987).
6179
6180 2007-01-26  Wim Taymans  <wim@fluendo.com>
6181
6182         * gst/gstcaps.c: (gst_static_caps_get):
6183         Init caps flags too.
6184
6185 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6186
6187         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6188
6189         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6190         If not using mmap'ed files try to seek to the end instead of the
6191         start to determine whether we can seek at all. This fixes the case
6192         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6193         seeks for everything afterwards fail. Fixes #400656
6194
6195 2007-01-25  Wim Taymans  <wim@fluendo.com>
6196
6197         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6198         Add some refcount debugging.
6199         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6200         in multiple streaming threads.
6201
6202 2007-01-25  Wim Taymans  <wim@fluendo.com>
6203
6204         Patch by: David Schleef <ds at schleef dot org>
6205
6206         * docs/libs/gstreamer-libs-sections.txt:
6207         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6208         * libs/gst/base/gstadapter.h:
6209         API: gst_adapter_copy() that can reduce the amount of memcpy when
6210         getting data from the adapter. Fixes #388201.
6211
6212 2007-01-25  Edward Hervey  <edward@fluendo.com>
6213
6214         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6215         In print statements, "%x" is for guint. Fixes build on macosx.
6216
6217 2007-01-24  Edward Hervey  <edward@fluendo.com>
6218
6219         * plugins/elements/gstmultiqueue.c:
6220         (gst_multi_queue_loop):
6221         Small fix.
6222         (single_queue_overrun_cb), (single_queue_underrun_cb),
6223         (single_queue_check_full), (gst_single_queue_new):
6224         Implement single queue growth system.
6225         This uses the extra-size properties, and will grow single queues by
6226         that much if one goes full whereas there are others empty. This is
6227         called extra-mode in the code.
6228         When a single queue's levels go back below the initial max-size
6229         limits, it is no longer in extra-mode. This is to ensure we don't
6230         consume too much memory.
6231         Fixes #399875
6232
6233 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6234
6235         * gst/gst.c: (gst_init_get_option_group):
6236           Make warning about late g_thread_init() calls a bit more explicit,
6237           so that it's more obvious to application developers what they need
6238           to do if a user files a bug against their application.
6239
6240 2007-01-22  Edward Hervey  <edward@fluendo.com>
6241
6242         * plugins/elements/gstmultiqueue.c:
6243         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6244         Remove previous hack of unsetting the flushing flag for the source pad
6245         instead of activating it. Instead, fix the source pad activate function
6246         so that it no longer depends on having a parent set or not.
6247
6248 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6249
6250         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6251
6252         * docs/manual/basics-bus.xml:
6253           Fix example code, gst_element_unref() doesn't exist any longer.
6254
6255 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         Patch by: Mark Nauwelaerts <manauw at skynet be>
6258
6259         * gst/gstpad.c:
6260           Fix two docs typoes (#399094).
6261
6262 2007-01-19  Edward Hervey  <edward@fluendo.com>
6263
6264         * docs/faq/gst-uninstalled:
6265         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6266         depending on libgstbaseutils can work in uninstalled environment.
6267
6268 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * gst/gsttaglist.h:
6271         * gst/gsttagsetter.c:
6272         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6273         statement for new tag.
6274
6275 2007-01-17  Edward Hervey  <edward@fluendo.com>
6276
6277         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6278         When dynamically creating single queues, activate sinkpad before adding
6279         it.
6280         We should be doing the same thing for the source pad, but we can't
6281         since it would call a method which needs the parent to be set in order
6282         to work propertly. Instead of activating the source pad, we just unset
6283         the flushing flag, which is the minimal requirement for adding a pad
6284         to an element in a state greater than READY.
6285
6286 2007-01-17  Edward Hervey  <edward@fluendo.com>
6287
6288         * docs/faq/gst-uninstalled:
6289         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6290         Mac OS X.
6291
6292 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6293
6294         * tests/check/gst/gstabi.c:
6295         * tests/check/gst/struct_hppa.h:
6296         * tests/check/libs/libsabi.c:
6297         * tests/check/libs/struct_hppa.h:
6298           Add ABI structs for HPPA (see #393796).
6299
6300 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6301
6302         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6303           Actually write ABI structs to the file specified in the GST_ABI
6304           environment variable, as the message we print claims we would.
6305
6306 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6307
6308         * tests/check/gst/gsttask.c:
6309           Fix header comment.
6310
6311 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6312
6313         * gst/gsttaglist.c: (_gst_tag_initialize):
6314           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6315           previous two entries.
6316
6317 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * docs/gst/gstreamer-sections.txt:
6320         * gst/gsttaglist.c: (_gst_tag_initialize):
6321         * gst/gsttaglist.h:
6322           Add tag support for beat-per-minute.
6323
6324 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6325
6326         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6327         (gst_registry_binary_initialize_magic),
6328         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6329         (gst_registry_binary_save_pad_template),
6330         (gst_registry_binary_save_feature),
6331         (gst_registry_binary_save_plugin),
6332         (gst_registry_binary_write_cache),
6333         (gst_registry_binary_check_magic),
6334         (gst_registry_binary_load_pad_template),
6335         (gst_registry_binary_load_feature),
6336         (gst_registry_binary_load_plugin),
6337         (gst_registry_binary_read_cache):
6338         * gst/gstregistrybinary.h:
6339           Use glib types, cleanup comments, impement interfaces and uri-types.
6340
6341 2007-01-13  Andy Wingo  <wingo@pobox.com>
6342
6343         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6344         getrange() to return buffers with other caps, while we fix
6345         demuxers and typefind, or otherwise change part-negotiation.txt.
6346
6347 2007-01-12  Andy Wingo  <wingo@pobox.com>
6348
6349         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6350         Factor start/stop into this private function instead of partially
6351         in activate functions and partially in the change_state function.
6352         Fixes setup before the element has changed from READY->PAUSED, as
6353         is the case in pull-mode pipelines.
6354         (gst_base_transform_sink_activate_push)
6355         (gst_base_transform_src_activate_pull): Refactor to use
6356         gst_base_transform_activate().
6357         (gst_base_transform_change_state): Removed, not needed any more.
6358
6359         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6360         Truncate before fixating.
6361         
6362         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6363         Don't set_caps() if the result of fixating is ANY, as it's not
6364         supported, and not necessary in the case of a link with no
6365         template caps on either side. Fixes tests/check/libs/basesrc in
6366         some pull-mode tests.
6367
6368         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6369         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6370         (gst_base_transform_src_activate_pull): 
6371         Track the activation mode.
6372         (gst_base_transform_setcaps): In pull mode, when activating the
6373         src pad, after activating the sink pad, activate the sink pad's
6374         peer, as discussed in part-negotiation.txt.
6375
6376         * libs/gst/base/gstbasesrc.h: 
6377         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6378         vmethod, as in basesink.
6379
6380         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6381
6382         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6383         mode, first proxy the setcaps to the peer pad.
6384         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6385         new fixate vmethod.
6386         (gst_base_sink_default_activate_pull): Rename from
6387         gst_base_sink_activate_pull.
6388         (gst_base_sink_negotiate_pull): New function, performs negotiation
6389         in pull mode before calling ::activate_pull().
6390         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6391         vmethod instead of the default implementation. I have no idea how
6392         this worked before. Negotiate before calling activate_pull.
6393
6394         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6395         sink pads in pull mode. In addition to being correct, fixes
6396         filesrc ! decodebin ! identity ! fakesink.
6397         (gst_pad_get_range, gst_pad_pull_range): Don't call
6398         gst_pad_set_caps() if the caps changes; instead error out with
6399         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6400
6401 2007-01-12  Andy Wingo  <wingo@pobox.com>
6402
6403         * docs/design/part-negotiation.txt: Update with more policy.
6404
6405 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6406
6407         * libs/gst/check/gstbufferstraw.h:
6408         * libs/gst/check/gstcheck.h:
6409           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6410           belongs.
6411
6412 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * tests/check/Makefile.am:
6415         * tests/check/gst/.cvsignore:
6416         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6417         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6418         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6419         (GST_START_TEST), (gst_tag_setter_suite):
6420           Add minimal unit test for beforementioned GstTagSetter bug.
6421
6422 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         Patch by: René Stadler <mail at renestadler dot de>
6425
6426         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6427           gst_tag_list_merge() returns a new list, so it's not the best idea
6428           to ingore its return value. Effectively meant that tags could only
6429           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6430           Also add function guard to require a non-NULL taglist as input (has
6431           always been so due to gst_tag_list_copy(), just making it explicit).
6432
6433 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6434
6435         * docs/random/draft-missing-plugins.txt:
6436           Some additions: mention new API that is supposed to be used at the
6437           various stages; short blob about new gst-inspect introspection
6438           option; mention potential future problem with plugins that have
6439           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6440
6441 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6442
6443         * tools/gst-inspect.c:
6444         (print_plugin_automatic_install_info_codecs),
6445         (print_plugin_automatic_install_info_protocols),
6446         (print_plugin_automatic_install_info), (main):
6447         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6448         introspect plugin files and get machine-parsable output that corresponds
6449         to the last bit of the missing-plugin installer string (small gotcha:
6450         doesn't take into account ranks).
6451
6452 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6453
6454         * configure.ac:
6455         * docs/gst/gstreamer-sections.txt:
6456         * gst/Makefile.am:
6457         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6458         (gst_registry_lookup_locked):
6459         * gst/gstregistry.h:
6460         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6461         (gst_registry_binary_initialize_magic),
6462         (gst_registry_binary_save_string),
6463         (gst_registry_binary_save_pad_template),
6464         (gst_registry_binary_save_feature),
6465         (gst_registry_binary_save_plugin),
6466         (gst_registry_binary_write_cache),
6467         (gst_registry_binary_check_magic),
6468         (gst_registry_binary_load_pad_template),
6469         (gst_registry_binary_load_feature),
6470         (gst_registry_binary_load_plugin),
6471         (gst_registry_binary_read_cache):
6472         * gst/gstregistrybinary.h:
6473         * gst/gstregistryxml.c: (load_feature),
6474         (gst_registry_xml_read_cache):
6475           commit binary registry (disabled by default, see #359653)
6476
6477 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6478
6479         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
6480           Fix 'make check' too.
6481
6482 2007-01-10  Andy Wingo  <wingo@pobox.com>
6483
6484         * docs/design/part-negotiation.txt: Fix a typo, add a couple
6485         notes.
6486         
6487         * docs/design/part-negotiation.txt: Update with, um, one way that
6488         pull-mode negotiation might work?
6489
6490         * gst/gstpad.h: 
6491         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
6492         that the pad must be a src pad; makes sense to call it the other
6493         way in pull mode, and the logic is symmetric anyway.
6494
6495 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * plugins/elements/gstfilesink.c:
6498           Include <stdio.h> for fseeko().
6499
6500 2007-01-10  Wim Taymans  <wim@fluendo.com>
6501
6502         * gst/gstevent.c:
6503         * gst/gstevent.h:
6504         Reserve LATENCY event.
6505
6506 2007-01-09  Wim Taymans  <wim@fluendo.com>
6507
6508         * docs/design/draft-latency.txt:
6509         Updates.
6510
6511 2007-01-09  Wim Taymans  <wim@fluendo.com>
6512
6513         * docs/design/draft-latency.txt:
6514         Updates.
6515
6516         * gst/gstelement.h:
6517         * gst/gststructure.c:
6518         * gst/gsttrace.c:
6519         Small typo fixes.
6520
6521 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6522
6523         * tests/check/.cvsignore:
6524           Ignore test-registry.xml as well.
6525
6526 2007-01-09  Wim Taymans  <wim@fluendo.com>
6527
6528         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6529         unref data at the end when we are done with the pad.
6530
6531 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6532
6533         * docs/gst/gstreamer-sections.txt:
6534         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
6535         (init_post), (gst_deinit), (gst_update_registry):
6536         * gst/gst.h:
6537           API: add gst_update_registry() (#391296).
6538
6539         * tests/check/Makefile.am:
6540         * tests/check/gst/gstregistry.c:
6541         * tests/check/gst/.cvsignore:
6542           Simple unit test for the above.
6543
6544 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6545
6546         * gst/gstregistry.c: (gst_registry_scan_path_level):
6547           Plugin extension on HP-UX is .sl, add that to the list of approved
6548           plugin extensions (see #393796).
6549
6550         * tests/check/gst/gstpad.c: (GST_START_TEST):
6551           ulong => gulong. Fixes compilation with HP-UX compiler.
6552
6553         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6554           Fix compilation if valgrind headers are not available.
6555
6556 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
6557
6558         * win32/common/libgstreamer.def: 
6559           Add new exported function.
6560         * win32/vs6/libgstbase.dsp: 
6561           Add gstdataqueue.c to the build.
6562         * win32/vs6/libgstcoreelements.dsp:
6563           Add gstmultiqueue.c to the build.
6564         
6565 2007-01-06  Andy Wingo  <wingo@pobox.com>
6566
6567         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
6568         activate_pull(), providing for a way to specialize the process of
6569         spawning a thread to pull on the sink pad. There is a default
6570         implementation.
6571
6572         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
6573         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
6574         (gst_base_sink_init): Renamed pad activation functions (inserting
6575         "_pad" in their names). Refactor to use the new activate_pull
6576         vmethod, as appropriate.
6577         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
6578         default activate_pull function to start a task pulling from the
6579         sink pad, as before.
6580
6581         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
6582         on the pads if necessary, as in push()/chain(). Update docs.
6583         Shouldn't affect existing pull() usage as it is currently only
6584         being used on buffers without caps.
6585
6586 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6587
6588         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6589         (init_pre):
6590           Call g_thread_init() first thing in gst_init() / gst_check_init().
6591           When initialisation is done via gst_init_get_option_group() and
6592           GOption parsing, issue a warning if the GLib thread system has not
6593           been initialised yet by the time gst_init_get_option_group() is
6594           called, as it's quite likely other GLib functions such as
6595           g_option_context_new() have been called already then, and
6596           g_thread_init() must be called before any other GLib function. The
6597           application in question must be fixed in that case, since memory
6598           corruption might happen otherwise.
6599           We issue the warning because even if the GLib folks decide to work
6600           around the problem on their end in future, this is still an issue
6601           with all GLib versions >= 2.10.0, so we should warn until we depend
6602           on a GLib version we know to be safe.
6603           Update documentation as well.
6604           Closes bug #391278.
6605
6606 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6607
6608         * tools/gst-inspect.c: (main):
6609         * tools/gst-launch.c: (main):
6610         * tools/gst-typefind.c: (main):
6611         * tools/gst-xmlinspect.c: (main):
6612           Call g_thread_init() really really early, before any other GLib
6613           function (see #342564 and recent discussion on gtk-devel-list).
6614
6615 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6616
6617         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
6618
6619         * gst/gst_private.h:
6620         * gst/gstconfig.h.in:
6621         * gst/gstinfo.h:
6622           On win32, all the __declspec stuff for symbol exporting is
6623           apparently only needed with MSVC, but doesn't work with MingW.
6624           Fixes compilation with MingW and #391909.
6625
6626 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6627
6628         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
6629           Change some GST_ERROR_OBJECT that aren't really errors to
6630           GST_WARNING_OBJECT in order to reduce terminal spam.
6631
6632 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6633
6634         * tests/check/Makefile.am:
6635           disable test again, as there seem to be still race problems
6636
6637 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * tests/check/Makefile.am:
6640         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6641         (GST_START_TEST), (queue_suite):
6642           enable queue test again, add tests for the leaky behaviour
6643
6644 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
6645
6646         * configure.ac:
6647         * tests/examples/Makefile.am:
6648           Compile adapter test/example only if the required headers are
6649           available (fixes #391915).
6650
6651 2007-01-01  David Schleef  <ds@schleef.org>
6652
6653         * gst/gstplugin.c:
6654           Restore the previous signal handler for SIGSEGV instead of
6655           setting to default, since we may have stolen it away from
6656           someone.  (i.e., Mono)
6657
6658 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * docs/random/draft-missing-plugins.txt:
6661           Some small additions and clarifications.
6662
6663 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6664
6665         * gst/gstregistryxml.c: (gst_registry_save_escaped):
6666           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
6667           since that can lead to random memory corruptions and crashes
6668           (may or may not be related to #383244, #386711, and #386711).
6669
6670 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * tests/check/.cvsignore:
6673         * tests/check/Makefile.am:
6674           sync .cvsignome and CLEANFILES
6675
6676 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * tests/check/Makefile.am:
6679           fix distcheck
6680
6681 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6682
6683         * docs/design/part-states.txt:
6684           two tiny additional comments
6685         
6686         * gst/gststructure.c:
6687           doc fixing
6688
6689         * tests/check/Makefile.am:
6690         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6691         (GST_START_TEST):
6692           disable test for now, unless it gets fixed
6693
6694 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6695
6696         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6697         (GST_START_TEST):
6698           fix race in underrun test
6699
6700 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6701
6702         * tests/check/elements/.cvsignore:
6703           ignore more
6704
6705         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6706         (GST_START_TEST):
6707           try to narrow test failure
6708
6709 2006-12-21  David Schleef  <ds@schleef.org>
6710
6711         * plugins/elements/gstfakesrc.c:
6712           Use g_random_int_range(), since it produces better random
6713           numbers in a range than almost-correct floating point code.
6714
6715 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6716
6717         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6718         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6719         (gst_check_teardown_sink_pad):
6720           do not automatically (de)activate pads
6721
6722         * tests/check/Makefile.am:
6723         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6724         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
6725           add new, yet simple tests for queue
6726
6727         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
6728         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
6729         * tests/check/elements/filesrc.c: (cleanup_filesrc),
6730         (GST_START_TEST):
6731         * tests/check/elements/identity.c: (cleanup_identity):
6732           consistent pad (de)activation
6733
6734 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
6735
6736         Patch by: Sebastian Dröge  <slomo ubuntu com>
6737
6738         * libs/gst/base/gstcollectpads.c:
6739           Fix two doc typos (#387866).
6740
6741 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6742
6743         * docs/manual/advanced-dparams.xml:
6744           Fix typo (g_object_control_properties() doesn't exist).
6745
6746 2006-12-19  Edward Hervey  <edward@fluendo.com>
6747
6748         * gst/gstsegment.c: (gst_segment_set_seek):
6749         Fine tune the cases where the segment start/stop values are really
6750         updated.
6751         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6752         Add tests for the return values of gst_segment_set_seek().
6753
6754 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * gst/gst.c:
6757           Docs typo fix.
6758
6759         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6760         (gst_queue_init):
6761           Fix incorrect documentation and flesh it out a bit more.
6762           Set default values for the max properties on the GParamSpec as well,
6763           so it shows up correctly in gst-inspect.
6764
6765 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6768           Correct docs of queue, add more detail and crosslink it more.
6769
6770 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6771
6772         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6773           Print additional debug info when the stream isn't perfectly
6774           timestamped; don't try to use invalid durations.
6775
6776 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6777
6778         * docs/design/Makefile.am:
6779           Dist new design docs.
6780
6781 2006-12-16  Wim Taymans  <wim@fluendo.com>
6782
6783         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6784
6785         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
6786         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6787         (gst_collect_pads_stop), (gst_collect_pads_event),
6788         (gst_collect_pads_chain):
6789         * libs/gst/base/gstcollectpads.h:
6790         Add refcounting to the collectpads data so we can track when it's safe
6791         to free the data. Fixes #383382.
6792
6793 2006-12-15  Wim Taymans  <wim@fluendo.com>
6794
6795         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6796         (gst_collect_pads_remove_pad):
6797         Automatically activate/deactivate pads when they are added to a
6798         started/stoped collectpads.
6799
6800 2006-12-15  Wim Taymans  <wim@fluendo.com>
6801
6802         * gst/gstelement.c: (gst_element_add_pad):
6803         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6804         * gst/gstpad.c: (gst_pad_init):
6805         Set pads to FLUSHING when they are created. Check, warn and fix when a
6806         demuxer adds an inactive pad to itself when running. Fixes #339326.
6807
6808 2006-12-15  Wim Taymans  <wim@fluendo.com>
6809
6810         * gst/gstelement.c: (gst_element_class_init),
6811         (gst_element_default_send_event), (gst_element_send_event),
6812         (gst_element_default_query), (gst_element_query):
6813         Expose default element send_event and query handling as vmethods that
6814         subclasses can chain up to.
6815
6816 2006-12-15  Wim Taymans  <wim@fluendo.com>
6817
6818         * gst/gstelement.c: (gst_element_set_state_func):
6819         Small documentation fixes.
6820
6821 2006-12-15  Wim Taymans  <wim@fluendo.com>
6822
6823         * docs/design/draft-latency.txt:
6824         Checked in draft for handling latency in pipelines.
6825
6826 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6827
6828         * Makefile.am:
6829         * gstreamer.doap:
6830         * gstreamer.spec.in:
6831           adding .doap file
6832
6833 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
6834
6835         * gst/gst.c: (init_pre), (init_post):
6836           init_pre() and init_post() might be called via our GOptionGroup or
6837           from gst_init(), and we should skip both of them if we've already
6838           been initialised, otherwise we will init some things twice or add
6839           two default log functions.
6840
6841 2006-12-13  Edward Hervey  <edward@fluendo.com>
6842
6843         * docs/manual/basics-bus.xml:
6844         No, gst_main_loop does not exist. Its g_main_loop.
6845         Discovered by somebody who abused the copy-paste technique of coding :)
6846
6847 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
6848
6849         * gst/gstghostpad.c:
6850           Log ghostpad debug stuff to the GST_PADS category as well rather
6851           than just to the default category.
6852
6853 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * configure.ac:
6856         * gst/gst.c: (init_pre):
6857           Add some basic system details such as OS and architecture
6858           to the debug output if possible, courtesy of uname().
6859
6860 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6861
6862         * docs/gst/running.xml:
6863           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
6864           environment variables.
6865
6866 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6867
6868         * tests/check/gst/gstbin.c: (GST_START_TEST):
6869         It is acceptable to have a refcount of 2 or 3 at this point in the
6870         test, because the pipeline might be just posting its state_change
6871         message. The next line then waits for that message to appear using
6872         bus_poll, so that should be fine too.
6873
6874 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6875
6876         * gst/gst.c: (ensure_current_registry_forking):
6877         Ignore EINTR when reading from the child registry pipe.
6878         Explicitly ignore the return value from close, since it makes no
6879         difference.
6880
6881         * gst/gstminiobject.c: (gst_mini_object_ref),
6882         (gst_mini_object_unref):
6883         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
6884
6885         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
6886         When removing cached plugins, remove their features too, so they're
6887         not visible after they've disappeared.
6888
6889         * gst/gstutils.c: (prepare_link_maybe_ghosting):
6890         In the unlikely case that we are linking pads with no parents, don't
6891         crash trying to get the non-existent parent bin.
6892
6893         * gst/parse/grammar.y:
6894         Output debug in the PIPELINE category
6895
6896 2005-03-08  Wim Taymans  <wim@fluendo.com>
6897
6898         Patch by: René Stadler <mail at renestadler dot de>
6899
6900         * gst/gstclock.c: (gst_clock_new_periodic_id):
6901         Reject invalid clock times for interval of periodic ids.
6902         Fixes ##383506.
6903
6904 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6905
6906         * gst/gstelementfactory.c: (gst_element_factory_create):
6907         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6908         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6909         * tools/gst-inspect.c: (print_element_info):
6910         Fix refcounting of gst_plugin_feature_load to match the docs. 
6911         Fixes: #380129
6912
6913 2006-12-07  Wim Taymans  <wim@fluendo.com>
6914
6915         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6916         (gst_base_sink_get_position):
6917         Improve debugging of events.
6918
6919 2006-12-07  Wim Taymans  <wim@fluendo.com>
6920
6921         Patch by: René Stadler <mail at renestadler dot de>
6922
6923         * gst/gstclock.c: (gst_clock_id_wait):
6924         Make period ids add the interval to the origial requested time instead
6925         of the possibly updated time which can be wrong when there are multiple
6926         waiters for the same id. Fixes #382592.
6927
6928         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
6929         (gst_system_clock_id_wait_jitter_unlocked),
6930         (gst_system_clock_id_wait_jitter):
6931         Fix restart in the async notify thread when an async entry is added to
6932         the front of the list. Fixes #381492. 
6933
6934         * tests/check/gst/gstsystemclock.c: (store_callback),
6935         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
6936         Added test for multiple async waits.
6937         Added test for async wait order.
6938
6939 2006-12-07  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/gstbin.c: (gst_bin_query):
6942         Add some more docs about the POSITION query.
6943
6944 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6945
6946         * configure.ac:
6947         Bump version nano - back to CVS.
6948
6949 === release 0.10.11 ===
6950
6951 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
6952
6953         * configure.ac:
6954           releasing 0.10.11, "Love never runs on time"
6955
6956 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
6957
6958         * win32/common/libgstbase.def:
6959         * win32/common/libgstreamer.def:
6960         * win32/vs8/libgstbase.vcproj:
6961         * win32/vs8/libgstcoreelements.vcproj:
6962         * win32/vs8/libgstreamer.vcproj:
6963         Fix compilation on win32 under VS8
6964         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6965         Partially fixes #381175
6966
6967 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6968
6969         * gst/gstvalue.c: (gst_value_compare_fraction):
6970         If someone is foolish enough to compare 2 fractions with denominator =
6971         0, return UNORDERED rather than aborting.
6972
6973 2006-11-28  Edward Hervey  <edward@fluendo.com>
6974
6975         * libs/gst/base/Makefile.am:
6976         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
6977         (gst_data_queue_base_init), (gst_data_queue_class_init),
6978         (gst_data_queue_init), (gst_data_queue_new),
6979         (gst_data_queue_cleanup), (gst_data_queue_finalize),
6980         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
6981         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
6982         (gst_data_queue_is_empty), (gst_data_queue_is_full),
6983         (gst_data_queue_set_flushing), (gst_data_queue_push),
6984         (gst_data_queue_pop), (gst_data_queue_drop_head),
6985         (gst_data_queue_set_property), (gst_data_queue_get_property):
6986         * libs/gst/base/gstdataqueue.h:
6987         New GstDataQueue object for threadsafe queueing. Most useful for
6988         elements that need some queueing functionnality.
6989         * docs/libs/gstreamer-libs-docs.sgml:
6990         * docs/libs/gstreamer-libs-sections.txt:
6991         Insert documentation for GstDataQueue
6992         * plugins/elements/Makefile.am:
6993         * plugins/elements/gstelements.c:
6994         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
6995         (gst_multi_queue_class_init), (gst_multi_queue_init),
6996         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6997         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
6998         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
6999         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7000         (gst_multi_queue_loop), (gst_multi_queue_chain),
7001         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7002         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7003         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7004         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7005         (wake_up_next_non_linked), (compute_next_non_linked),
7006         (single_queue_overrun_cb), (single_queue_underrun_cb),
7007         (single_queue_check_full), (gst_single_queue_new):
7008         * plugins/elements/gstmultiqueue.h:
7009         New multiqueue element, using GstDataQueue. Used for queuing multiple
7010         streams.
7011         Closes #344639 and #347785
7012
7013 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7014
7015         * docs/pwg/advanced-types.xml:
7016           add more missing type details
7017
7018         * tools/gst-run.c: (main):
7019           remove unused variable
7020
7021 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7022
7023         * docs/libs/Makefile.am:
7024         * docs/libs/gstreamer-libs.types:
7025           add types of base classes to enable gobject specific stuff in the docs
7026
7027         * docs/random/ensonic/embedded.txt:
7028           more ideas about isolating platform specific things
7029
7030 2006-11-20  Wim Taymans  <wim@fluendo.com>
7031
7032         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7033
7034         * libs/gst/check/gstcheck.h:
7035         Fix compilation and running against 0.9.4. Fixes #377332.
7036
7037 2006-11-20  Wim Taymans  <wim@fluendo.com>
7038
7039         * gst/gstsegment.c: (gst_segment_set_seek),
7040         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7041         (gst_segment_to_running_time):
7042         Fix boundary checking in to_running_time() and to_stream_time().
7043         Fixes #377183.
7044
7045         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7046         stream and running time can now be calculated for the complete
7047         clipped segment.
7048
7049 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * gst/gstpad.c: (gst_pad_push_event):
7052           Can't access event structure after giving away ownership of
7053           the event.
7054
7055 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7056
7057         * docs/random/ensonic/embedded.txt:
7058         * docs/random/ensonic/profiling.txt:
7059         * docs/random/ensonic/receipies.txt:
7060           more thinking
7061
7062 2006-11-13  Wim Taymans  <wim@fluendo.com>
7063
7064         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7065
7066         * gst/gstpad.c:
7067         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7068
7069 2006-11-13  Wim Taymans  <wim@fluendo.com>
7070
7071         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7072
7073         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7074         Store new length in segment duration so we don't keep on calling the
7075         potentially expensize get_size() call. Fixes #370865.
7076
7077 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7078
7079         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7080
7081         * win32/common/libgstreamer.def:
7082           Add two missing symbols (#366492).
7083
7084 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7085
7086         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7087         (gst_adapter_take_buffer):
7088         Fix format string to use all its arguments.
7089         Remove useless >= check on a guint
7090
7091 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7092
7093         * tests/examples/adapter/.cvsignore:
7094         Ignore build file as commanded by the build-bot
7095
7096 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7097
7098         * tests/examples/adapter/Makefile.am:
7099         * tests/examples/adapter/adapter_test.c: (run_test_take),
7100         (run_test_take_buffer), (run_tests), (main):
7101
7102         Add new files from the previous commit
7103
7104 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7105
7106         * Makefile.am:
7107         * configure.ac:
7108         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7109         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7110         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7111         * libs/gst/base/gstadapter.h:
7112         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7113         (GST_START_TEST), (gst_adapter_suite):
7114         * tests/examples/Makefile.am:
7115         Do some optimisation work in GstAdapter to avoid copies in more cases.
7116         It could still do slightly better by merging buffers when
7117         gst_buffer_is_span_fast is true, but is already faster. 
7118
7119         Also, avoid traversing a single-linked list to append each incoming 
7120         buffer inside the adapter.
7121
7122         Add simple test app that times the adapter behaviour in different
7123         situations, and extend the unit test to check that bytes enter and
7124         exit the adapter in their original order.
7125
7126 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7127
7128         * docs/random/draft-missing-plugins.txt:
7129           Update: use element message instead of adding a new message
7130           type to the core; don't provide GStreamer API to initiate the
7131           plugin download, just provide API to compose the strings needed
7132           and let an external libgimmestuff handle the rest.
7133
7134 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7135
7136         * tools/gst-inspect.c: (print_element_properties_info):
7137         Print a string instead of 'unknown type' for GValueArray properties
7138
7139 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7140
7141         * docs/random/draft-missing-plugins.txt:
7142         More small fixes.
7143
7144 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7145
7146         * tests/examples/typefind/typefind.c: (type_found), (main):
7147           Make typefind element example work again (#371894); add a
7148           license header.
7149
7150 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7151
7152         * docs/random/draft-missing-plugins.txt:
7153           Commit initial draft about how to deal with missing plugins,
7154           needs work (API too).
7155
7156 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7157
7158         * docs/pwg/advanced-types.xml:
7159           documents the new caps elements (see #363118)
7160
7161 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7162
7163         * gst/gstplugin.c: (gst_plugin_load_file):
7164         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7165         (gst_file_src_map_region), (gst_file_src_start):
7166         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7167         (gst_file_index_commit):
7168           Use g_strerror() instead of strerror() - we want UTF-8.
7169
7170 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7171
7172         Patch by: Peter Kjellerstedt <pkj at axis com>
7173
7174         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7175           Another printf fix (#371493).
7176
7177 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7178
7179         * tests/check/gst/gsttag.c:
7180           relicence (okay with author=company)
7181
7182 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7183
7184         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7185         (gst_pad_push_event):
7186           Enhance debug and improve docs
7187         
7188         * gst/gsturi.c:
7189           Fix docs
7190
7191 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7192
7193         * docs/random/ensonic/distributed.txt:
7194         * docs/random/ensonic/profiling.txt:
7195           more ideas
7196
7197 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7198
7199         * docs/gst/gstreamer-sections.txt:
7200           add new API and fix the build
7201           
7202         * gst/gstbin.c: (gst_bin_recalc_state):
7203         * gst/gstelement.c: (gst_element_message_full),
7204         (gst_element_get_state_func), (gst_element_set_state_func):
7205           use new API and improve logging
7206         
7207         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7208         * gst/gstutils.h:
7209           API: add function to get StateChangereturn names to improve logs 
7210
7211 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7212
7213         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7214           I'm considering shooting the next person to put strerror stuff
7215           in the translateable part of the message.
7216
7217 2006-11-03  Wim Taymans  <wim@fluendo.com>
7218
7219         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7220         Get the type and printf conversion specifiers right.
7221
7222 2006-11-03  Wim Taymans  <wim@fluendo.com>
7223
7224         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7225
7226         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7227         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7228         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7229         Some small cleanups. Improve debugging.
7230         * gst/gstpad.h:
7231         Signal all waiting threads with a broadcast instead of just one.
7232         Fixes #369942.
7233
7234 2006-11-03  Wim Taymans  <wim@fluendo.com>
7235
7236         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7237         (gst_fd_src_create):
7238         Add some debugging. 
7239         Only update fd when it's different from the old.
7240
7241 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7242
7243         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7244           Printf fixes for PPC/OSX, take two (#369366).
7245
7246 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7247
7248         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7249
7250         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7251         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7252         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7253           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7254           don't cast to long long for portability reasons, but use
7255           GLib's types instead.
7256
7257 2006-10-30  Michael Smith  <msmith@fluendo.com>
7258
7259         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7260           Get the arguments to lseek() the right way around.
7261           Fixes 367677.
7262
7263 2006-10-30  Wim Taymans  <wim@fluendo.com>
7264
7265         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7266
7267         * gst/gstinfo.h:
7268         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7269
7270 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7271
7272         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7273
7274         * docs/design/part-MT-refcounting.txt:
7275         * docs/random/wtay/capsnego2-docs:
7276         * gst/gstclock.c:
7277         * gst/gstxml.c:
7278           Typo fixes (#366212).
7279
7280 2006-10-28  Wim Taymans  <wim@fluendo.com>
7281
7282         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7283
7284         * gst/gst.c:
7285         * win32/common/libgstbase.def:
7286         * win32/common/libgstreamer.def:
7287         * win32/vs8/libgstbase.vcproj:
7288         * win32/vs8/libgstcontroller.vcproj:
7289         Add needed entries in .def files.
7290         Use HAVE_UNISTD_H.
7291         Rearrange def files in vs8 solutions. Fixes #366286.
7292
7293 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7294
7295         * win32/common/gstconfig.h:
7296           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7297           hand-made win32 gstconfig.h. Fixes #366321.
7298
7299 2006-10-27  Wim Taymans  <wim@fluendo.com>
7300
7301         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7302         (gst_ghost_pad_new_full):
7303         Make acceptcaps return TRUE when we don't have a target, just like
7304         setcaps does.
7305
7306 2006-10-27  Wim Taymans  <wim@fluendo.com>
7307
7308         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7309         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7310
7311 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7312
7313         * gst/gststructure.c: (gst_structure_id_set_value):
7314           If someone tries to set a non-UTF8 string field on a structure,
7315           don't just print a warning, but also ignore the request and do
7316           not change/add that field to the structure.
7317
7318         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7319           Test for the above.
7320
7321 2006-10-25  David Schleef  <ds@schleef.org>
7322
7323         * gst/gstinfo.c:
7324           g_hash_table_insert() needs a cast to a non-const pointer duh.
7325
7326 2006-10-25  David Schleef  <ds@schleef.org>
7327
7328         * gst/gstinfo.c:
7329         * gst/gstinfo.h:
7330           Change name parameter of _gst_debug_register_funcptr to const
7331           to reflect the constness of its use in the function as well
7332           as to quiet a gcc warning.
7333
7334 2006-10-25  Edward Hervey  <edward@fluendo.com>
7335
7336         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7337         Don't push the buffer if it's empty.
7338         Closes #363095
7339
7340 2006-10-24  Wim Taymans  <wim@fluendo.com>
7341
7342         * gst/gstevent.h:
7343         Add small comment.
7344
7345         * libs/gst/base/gstbasetransform.c:
7346         (gst_base_transform_sink_eventfunc):
7347         Debug segment values *after* updating them as this is more
7348         interesting.
7349
7350 2006-10-23  Wim Taymans  <wim@fluendo.com>
7351
7352         * docs/design/part-events.txt:
7353         Update some docs.
7354
7355         * docs/design/part-block.txt:
7356         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7357         (gst_pad_push_event):
7358         Revert BLOCKING patch, it tries to be smart without really having a
7359         clear idea what or how. So, now we discard all FLUSHING events again on
7360         a blocking pad. Should fix gnonlin again.
7361
7362 2006-10-23  Wim Taymans  <wim@fluendo.com>
7363
7364         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7365
7366         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7367         (gst_base_src_start), (gst_base_src_activate_push):
7368         Make sure size is always initialized. Fixes #364388.
7369
7370 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/random/ensonic/distributed.txt:
7373           add some ideas about doing distributed processing
7374
7375         * docs/random/ensonic/profiling.txt:
7376           get_rusage look promising
7377
7378 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * docs/manual/basics-helloworld.xml:
7381           Add a cast in example to fix compile warning
7382
7383 2006-10-18  Wim Taymans  <wim@fluendo.com>
7384
7385         * gst/gstsegment.c: (gst_segment_set_last_stop),
7386         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7387         Relax arg checking again, -1 is allowed.
7388
7389 2006-10-18  Wim Taymans  <wim@fluendo.com>
7390
7391         * gst/gstsegment.c: (gst_segment_set_last_stop),
7392         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7393         _set_last_stop() must be with a value != -1
7394         A _TYPE_SET to -1 means seek to 0.
7395         Calc last_stop correctly for negative rates.
7396         Make sure we work with positive durations when updating a segment.
7397
7398 2006-10-18  Wim Taymans  <wim@fluendo.com>
7399
7400         * docs/design/part-live-source.txt:
7401         * gst/gstclock.h:
7402         Small docs fixes.
7403
7404 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7405
7406         * gst/gstbuffer.h:
7407           Add an explicit cast to GstBuffer** to keep old code that added an
7408           explicit cast to GstMiniObject** for gst_mini_object_replace()
7409           compiling without warning.
7410
7411 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7412
7413         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7414           check for validity of dates
7415
7416 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7417
7418         * docs/gst/gstreamer-sections.txt:
7419           Forgot this one, makes gtk-doc shut up.
7420
7421 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7422
7423         Patch by: Peter Kjellerstedt <pkj at axis com>
7424
7425         * gst/gstobject.h:
7426           Don't define xmlNodePtr to gpointer if the core was built with
7427           --disable-loadsave and --disable-registry, this will break
7428           applications that want to use libxml2 but are buildling against a
7429           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7430           instead so we don't have to mess with the libxml2 namespace
7431           (#361675).
7432
7433 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7434
7435         * gst/gstbuffer.h:
7436           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7437           type-punned pointer warnings.
7438
7439 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         * gst/gstelement.h:
7442           Add casts to the correct return type to state <=> state transition
7443           macros.
7444
7445 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7446
7447         * docs/design/part-live-source.txt:
7448           describe howto handle latency
7449         
7450         * docs/random/ensonic/profiling.txt:
7451           more ideas
7452
7453         * tools/gst-plot-timeline.py:
7454           fix log parsing for solaris, remove unused function
7455
7456 2006-10-16  Wim Taymans  <wim@fluendo.com>
7457
7458         * docs/design/part-trickmodes.txt:
7459         * gst/gstevent.c:
7460         Update some docs regarding reverse playback.
7461
7462 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7463
7464         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7465
7466         * win32/vs8/grammar.vcproj:
7467           Error out with a warning if glib-genmarshal.exe is not in path,
7468           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7469
7470 2006-10-13  Wim Taymans  <wim@fluendo.com>
7471
7472         * gst/gstsegment.c: (gst_segment_set_seek):
7473         When seeking to stop -1, set last_stop (current position) to the
7474         duration of the segment.
7475
7476 2006-10-13  Wim Taymans  <wim@fluendo.com>
7477
7478         * gst/gstelement.h:
7479         Clarify _NO_PREROLL a bit more.
7480
7481         * gst/gstevent.c:
7482         Fix docs.
7483
7484         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
7485         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
7486         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
7487         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
7488         due to wrong locking order. Fixes #361769.
7489         Remove some redundant/misplaced checks in pad_block.
7490
7491         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7492         For negative rates, count backwards from the duration.
7493
7494 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7495
7496         * gst/gsterror.c: (_gst_library_errors_init):
7497           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
7498           up with something better).
7499
7500 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7501
7502         * win32/vs6/libgstreamer.dsp:
7503         * win32/vs7/libgstreamer.vcproj:
7504         * win32/vs8/libgstreamer.vcproj:
7505           Don't reference glib-compat.c which is currently not used and not
7506           disted; add gstquark.c which was recently added. Fixes #361730.
7507
7508 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7509
7510         * win32/common/libgstbase.def:
7511         * win32/common/libgstcontroller.def:
7512         * win32/common/libgstreamer.def:
7513           Add gst_caps_merge() and a bunch of other recently-added functions.
7514           Fixes #361732.
7515
7516 2006-10-11  Wim Taymans  <wim@fluendo.com>
7517
7518         * docs/plugins/gstreamer-plugins.args:
7519         * docs/plugins/inspect/plugin-coreelements.xml:
7520         * docs/plugins/inspect/plugin-coreindexers.xml:
7521         Update element args.
7522
7523         * gst/gstsystemclock.c:
7524         Small comment update.
7525
7526         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7527         (gst_tee_request_new_pad), (gst_tee_release_pad),
7528         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
7529         (gst_tee_sink_activate_pull):
7530         * plugins/elements/gsttee.h:
7531         Some tee loving:
7532         Add default property defines.
7533         Implement release pad function.
7534         Give properties better blubs etc.
7535         Activate pads before adding them to a running tee.
7536         Do simple buffer_alloc on the first requested pad.
7537         Post error when activation fails.
7538
7539 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7540
7541         * gst/gst.c: (ensure_current_registry_forking):
7542           Check return value of write() to make compiler happy.
7543
7544 2006-10-11  Wim Taymans  <wim@fluendo.com>
7545
7546         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7547
7548         * plugins/elements/gstqueue.c: (gst_queue_chain):
7549         Recheck queue filledness after signalling the overrun when we're about
7550         to leak downstream because we released the lock when emitting the signal
7551         and the queue could be empty again. Fixes #352345.
7552
7553 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7554
7555         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7556           Fix refcounting here too, just like we did for _new_valist() a few
7557           days ago (#357180) (thanks to René Stadler). Also remove all those
7558           'Since: 0.9' from the gtk-doc blobs.
7559
7560         * tests/check/libs/controller.c: (controller_refcount_new_list),
7561         (gst_controller_suite):
7562           Unit test for the above.
7563
7564 2006-10-10  Wim Taymans  <wim@fluendo.com>
7565
7566         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
7567
7568         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7569         (gst_pad_save_thyself):
7570         Update some docs.
7571         Write pad direction in XML output. Fixes #345496.
7572
7573 2006-10-10  Wim Taymans  <wim@fluendo.com>
7574
7575         Patch by: René Stadler <mail at renestadler dot de>
7576
7577         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7578         (gst_controller_new_list), (_gst_controller_dispose),
7579         (_gst_controller_finalize), (_gst_controller_class_init):
7580         Take ref to controlled object so that it cannot disappear. 
7581         Fixes #357432.
7582
7583 2006-10-10  Wim Taymans  <wim@fluendo.com>
7584
7585         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7586         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7587         (gst_check_teardown_sink_pad):
7588         Activate/deactivate pads in setup/teardown respectively.
7589
7590 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7591
7592         Patch by: Josep Torra Valles <josep@fluendo.com>
7593
7594         * gst/Makefile.am:
7595         Cast values when making gstenumtypes.h.  This pacifies Forte
7596         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
7597         in the enumeration.
7598
7599 2006-10-09  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
7602         Rename some more @cur to @start to fix docs. 
7603
7604         * gst/gstsegment.c: (gst_segment_set_seek):
7605         Fix typo.
7606         time and start must always stay in sync as defined in design doc.
7607
7608         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7609         Rename param to fix docs.
7610
7611         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7612         Check that start and time are in sync.
7613
7614         * tests/check/pipelines/parse-launch.c:
7615         (gst_parse_test_element_change_state):
7616         Activate pad before adding to the element.
7617
7618 2006-10-09  Wim Taymans  <wim@fluendo.com>
7619
7620         * docs/design/part-qos.txt:
7621         Fix typo.
7622
7623         * gst/gstevent.c:
7624         * gst/gstevent.h:
7625         Update seek event docs regarding negative rates.
7626         Rename @cur to @start. 
7627
7628         * gst/gstsegment.c: (gst_segment_set_seek):
7629         * gst/gstsegment.h:
7630         Update set_seek docs regarding negative rates.
7631         Correctly update last_stop to @stop when dealing with negative
7632         rates.
7633         Rename @cur to @start. 
7634
7635         * tests/check/gst/gstpad.c: (GST_START_TEST):
7636         Activate pads before trying to use them.
7637
7638         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7639         (gst_segment_suite):
7640         Add simple check for segments and negative rates.
7641
7642 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7643
7644         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7645         * gst/gsttaglist.h:
7646         * docs/gst/gstreamer-sections.txt:
7647           API: add gst_tag_list_is_empty() (#360467).
7648
7649         * tests/check/gst/gsttag.c: (GST_START_TEST):
7650           And a test case.
7651
7652 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7653
7654         * gst/gstmessage.h:
7655         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
7656         a value that doesn't fit on enumeration.
7657
7658 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7659
7660         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7661         Remove local debugging system and use Gstreamer's instead.
7662
7663 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7664
7665         Patch by: Josep Torra Valles <josep@fluendo.com>
7666
7667         * common/m4/gst-error.m4:
7668         Disable warning of statement not reached on Forte.
7669         * gst/gstmessage.h:
7670         Fix warning on Forte (value doesn't fit on enumeration).
7671         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
7672         Fix warning on Forte (value doesn't fit on enumeration).
7673         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7674         DEBUG macro says it takes minimum of 2 args and so Forte
7675         complains about the use with just 1 arg.
7676         * plugins/elements/gstfdsink.c:
7677         * plugins/elements/gstfdsrc.c:
7678         * plugins/elements/gstfilesink.c:
7679         * plugins/elements/gstfilesrc.c:
7680         Use correct return type for the uri handler implementations.
7681
7682         All these fix warnings in Forte.  Fixes bug #360860.
7683
7684 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7685
7686         * gst/gstelement.h:
7687           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
7688           format string, so don't use G_GNUC_PRINTF for those versions.
7689
7690 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7691
7692         * gst/gsttaglist.c: (gst_is_tag_list):
7693         * gst/gsttaglist.h:
7694           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
7695
7696         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7697           Small test for the above.
7698
7699 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7700
7701         * gst/gsttaglist.h:
7702           Less tabs, more spaces.
7703
7704 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
7705
7706         * gst/gstinfo.h:
7707           Those two function declarations do actually belong there, revert
7708           commit from yesterday that turned them intro macros.
7709
7710 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7711
7712         Patch by: Josep Torra Valles <josep@fluendo.com>
7713
7714         * gst/gst.c: (gst_init_get_option_group):
7715         Fix empty declaration and type mismatch.
7716         * gst/gstbin.c: (gst_bin_change_state_func):
7717         Fix type mismatch.
7718         * gst/gstelement.c: (gst_element_continue_state),
7719         (gst_element_set_state_func), (gst_element_change_state),
7720         (gst_element_change_state_func):
7721         Fix type mismatches.
7722         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
7723         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
7724         Cast as appropriate.
7725         * gst/gstobject.c: (gst_class_signal_connect):
7726         Cast as appropriate.  The function pointer parameter really
7727         has the wrong type but would break API if we change it.
7728         * gst/gstquery.c:
7729         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
7730         order of including string.h.
7731         * gst/gstutils.c: (gst_element_state_get_name):
7732         Remove unreachable line.
7733         * gst/gstxml.c: (gst_xml_parse_doc):
7734         Fix type mismatch.
7735         All these caught by Forte.
7736
7737 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7738
7739         Patch by: Josep Torra Valles <josep@fluendo.com>
7740
7741         * common/m4/gst-error.m4:
7742         Fixed bug #360151.
7743         We need to disable warnings on Forte for empty declarations
7744         due to gst-indent adding ;s to lines that just use macros
7745         where the macro actually doesn't need a ; at end to end
7746         statement.
7747
7748 2006-10-06  Wim Taymans  <wim@fluendo.com>
7749
7750         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7751         (gst_file_sink_close_file), (gst_file_sink_event),
7752         (gst_file_sink_render):
7753         Add some FIXME for the NEWSEGMENT handling.
7754
7755 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7756
7757         * gst/parse/grammar.y:
7758         Remove static function gst_parse_element_lock as all it does
7759         is return.  Looks like cruft from 0.8.
7760
7761 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7762
7763         Patch by: Josep Torra Valles <josep@fluendo.com>
7764
7765         * common/m4/gst-error.m4:
7766         * configure.ac:
7767         * libs/gst/net/Makefile.am:
7768         Fix a compilation issue with Forte on Solaris.  inet_aton is in
7769         libresolv.
7770
7771 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * gst/gstpad.c: (pre_activate):
7774         * gst/gstregistry.c: (gst_registry_scan_path_level):
7775         * gst/gstregistryxml.c: (load_plugin):
7776         * libs/gst/controller/gstcontroller.c:
7777         (gst_controlled_property_set_interpolation_mode):
7778         * libs/gst/dataprotocol/dataprotocol.c:
7779         (gst_dp_packet_from_event_1_0):
7780         * libs/gst/net/gstnetclientclock.c:
7781         (gst_net_client_clock_observe_times):
7782         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7783           Printf fixes.
7784
7785 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7786
7787         * configure.ac:
7788         * docs/gst/gstreamer-sections.txt:
7789         * gst/gstconfig.h.in:
7790         * gst/gstelement.h:
7791         * gst/gstinfo.h:
7792           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
7793           whether we can use G_GNUC_PRINTF in other header files and at
7794           least check the printf format/arguments of debug messages and
7795           GST_ELEMENT_ERROR messages when the printf extension is not
7796           being used.
7797           Replace more tabs with spaces in gstinfo.h and remove two spurious
7798           function declarations in GST_DISABLE_DEBUG part with macros.
7799
7800 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
7801
7802         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
7803           More docs for the sync-message signal (mention that it is not
7804           emitted by default); log message structures of messages posted on
7805           the bus as well.
7806
7807 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
7808
7809         * gst/gst.c: (ensure_current_registry_forking):
7810         Use a pipe pair to receive status results from the forked child, and
7811         ignore the result from waitpid. Fixes #355499
7812
7813 2006-10-02  Wim Taymans  <wim@fluendo.com>
7814
7815         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7816         (gst_ghost_pad_suite):
7817         Fix leak in check.
7818
7819 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7820
7821         * gst/gstpad.c:
7822           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
7823
7824 2006-10-02  Edward Hervey  <edward@fluendo.com>
7825
7826         * docs/design/part-block.txt:
7827         Further explain the use of flushing on blocked pads.
7828         * docs/gst/gstreamer-sections.txt:
7829         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7830         (gst_pad_push_event):
7831         * gst/gstpad.h:
7832         Added new GstPadFlag : GST_PAD_BLOCKING.
7833         Adds the notion of pads really blocking, which enables to properly
7834         handle FLUSH_START/FLUSH_STOP events on blocked pads.
7835         Fixes #358999
7836         API: gst_pad_is_blocking()
7837         API: GST_PAD_IS_BLOCKING() macro
7838         API: GST_PAD_BLOCKING GstPadFlag
7839         
7840 2006-10-02  Wim Taymans  <wim@fluendo.com>
7841
7842         Patch by: mrcgran <mrc.gran at gmail dot com>
7843
7844         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
7845         Filter the proxied caps against the padtemplate if we have one.
7846
7847         * gst/gstquery.c: (gst_query_new_segment):
7848         Add include for gstinfo.h so that compilation with
7849         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
7850
7851 2006-10-02  Wim Taymans  <wim@fluendo.com>
7852
7853         Patch by: Alessandro Decina  <alessandro at nnva org>
7854
7855         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
7856         (gst_file_sink_set_location), (gst_file_sink_open_file),
7857         (gst_file_sink_close_file), (gst_file_sink_event),
7858         (gst_file_sink_render):
7859         Set file to NULL when closing filesink so that we can set a new filename
7860         in READY. Fixes #358613.
7861
7862 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7863
7864         Patch by: Alessandro Decina  <alessandro at nnva org>
7865
7866         * gst/gstevent.c: (_gst_event_copy):
7867           Fix gst_mini_object_make_writable() and gst_event_copy() for events
7868           with event structures by setting the parent refcount address of the
7869           copied structure to the address of the refcount member of the newly
7870           copied event rather than the address of the refcount member of the
7871           original event. Fixes #358737.
7872
7873         * tests/check/gst/gstevent.c: (GST_START_TEST):
7874           Unit test for the above.
7875
7876 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
7877
7878         * docs/design/Makefile.am:
7879           Dist some more files.
7880
7881 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7882
7883         * tests/check/libs/controller.c: (GST_START_TEST),
7884         (gst_controller_suite):
7885           Add test for the previous fix; add some more tests
7886           for correct refcounting behaviour; fix a few leaks
7887           in test cases; call gst_controller_init() at start
7888           of all tests.
7889
7890 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7891
7892         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7893         (gst_controller_set_from_list):
7894           Don't g_return_val_if_fail() on timed values with invalid timestamps
7895           inside a critical section without unlocking the mutex. Spotted by
7896           René Stadler. (#357617)
7897           Also, fix up refcounting properly: when returning an existing
7898           controller, we should increase the reference only once and not
7899           once per property and when trying to control a property again
7900           we should also increase the refcount.
7901
7902 2006-09-29  Wim Taymans  <wim@fluendo.com>
7903
7904         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7905         * libs/gst/net/gstnettimeprovider.c:
7906         (gst_net_time_provider_thread):
7907         Stop reading commands when EOF as well.
7908
7909         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7910         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7911         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7912         Unify description of the dump property.
7913
7914 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7915
7916         * tests/examples/manual/.cvsignore:
7917         OK, so it's actually cvsignore that needs changing. Stop laughing.
7918
7919 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7920
7921         * tests/examples/manual/Makefile.am:
7922         Gah, declare vars *before* using them
7923
7924 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7925
7926         * gst/gst.c: (init_pre), (scan_and_update_registry),
7927         (ensure_current_registry_nonforking),
7928         (ensure_current_registry_forking), (ensure_current_registry),
7929         (init_post), (gst_debug_help), (gst_deinit):
7930         * gst/gst_private.h:
7931         * gst/gstregistry.c: (gst_registry_finalize),
7932         (gst_registry_remove_features_for_plugin_unlocked),
7933         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7934         (gst_registry_scan_path),
7935         (_priv_gst_registry_remove_cache_plugins),
7936         (_priv_gst_registry_cleanup):
7937         * gst/gstregistry.h:
7938         Re-commit the registry changes, along with an extra fix:
7939           When a cached plugin is encountered at a different file path,
7940           update the stored path in the registry cache so that the parent
7941           process knows where it actually is now when it re-reads the registry
7942           cache. Fixes the thing that broke distcheck with the previous commit.
7943
7944         * tests/check/Makefile.am:
7945         Clean up files named 'core' too when running make clean.
7946
7947         * tests/examples/manual/Makefile.am:
7948         Set up a registry path for running these tests, and clean it properly
7949         for distcheck.
7950
7951 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7952
7953         * configure.ac:
7954         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
7955         want gmodule-no-export-2.0.pc instead so that we don't drag in
7956         --export-dynamic on every project that links to GStreamer.
7957
7958         Also, make our export regex only match the start of symbols, rather 
7959         than any symbol that contains '_gst' somewhere.
7960
7961         * libs/gst/check/Makefile.am:
7962         The libgstcheck we build does however need export-dynamic, as it
7963         produces some symbols that don't match our _gst... style regex.
7964         Fixes: #318031
7965
7966 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7967
7968         * gst/gst.c: (init_pre), (scan_and_update_registry),
7969         (ensure_current_registry_nonforking),
7970         (ensure_current_registry_forking), (ensure_current_registry),
7971         (init_post), (gst_debug_help), (gst_deinit):
7972         * gst/gst_private.h:
7973         * gst/gstregistry.c: (gst_registry_finalize),
7974         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7975         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
7976         (_gst_registry_cleanup):
7977         * gst/gstregistry.h:
7978           Revert previous change until I figure out why it breaks distcheck.
7979
7980 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7981
7982         * gst/gst.c: (init_pre), (scan_and_update_registry),
7983         (ensure_current_registry_nonforking),
7984         (ensure_current_registry_forking), (ensure_current_registry),
7985         (init_post), (gst_debug_help), (gst_deinit):
7986
7987           Make init_pre and init_post take the full complement of GOptionFunc
7988           args so they can return useful GErrors. Make the registry updating
7989           functions do so.
7990
7991           Call _priv_gst_registry_remove_cache_plugins after scanning files to
7992           ensure that the registry we're about to write out doesn't contain
7993           stale information about old-deleted plugin files.
7994
7995           Make _priv_gst_registry_remove_cache_plugins return a boolean so
7996           that deletion of plugin files is considered a registry change.
7997
7998         * gst/gst_private.h:
7999         * gst/gstregistry.c: (gst_registry_finalize),
8000         (gst_registry_remove_features_for_plugin_unlocked),
8001         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8002         (gst_registry_scan_path),
8003         (_priv_gst_registry_remove_cache_plugins),
8004         (_priv_gst_registry_cleanup):
8005         * gst/gstregistry.h:
8006         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8007         by adding _priv prefix, so that they won't appear in the global
8008         symbol table. They still do atm though because of #318031. Move the
8009         prototypes to gst_private.h
8010
8011         When removing a plugin, remove all features for that plugin too. 
8012         Fixes #340878.
8013
8014 2006-09-27  Wim Taymans  <wim@fluendo.com>
8015
8016         * docs/random/moving-plugins:
8017         Make it clear that the "compiled-in descriptions" really mean
8018         the element details.
8019
8020         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8021         (gst_base_sink_wait_preroll):
8022         Update docs.
8023
8024         * docs/libs/gstreamer-libs-sections.txt:
8025         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8026         (gst_base_src_get_range), (gst_base_src_activate_push):
8027         * libs/gst/base/gstbasesrc.h:
8028         Added function to block while waiting for PLAYING, this function
8029         is used by live sources that block on the clock.
8030         API: gst_base_src_wait_playing()
8031
8032 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8033
8034         Patch by: Peter Kjellerstedt <pkj at axis com>
8035
8036         * Makefile.am:
8037           gst-element-check.m4 is generated and should therefore be
8038           copied from the build dir rather than the source dir (#357593).
8039           'make distcheck' hasn't noticed this because we were disting
8040           the file as well, so stop doing that.
8041
8042 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8043
8044         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8045           Add some tests for gst_caps_intersect().
8046
8047         * tools/gst-launch.c: (event_loop):
8048           Print all buffering percentages we get, even the 100% one.
8049
8050 2006-09-26  Wim Taymans  <wim@fluendo.com>
8051
8052         * tools/gst-inspect.c: (print_element_properties_info),
8053         (print_signal_info):
8054         Fix printing of flags to match the look of enums.
8055
8056 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8057
8058         * gst/gstelementfactory.c:
8059           Fix typo in docs blurb.
8060
8061 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8062
8063         * gst/gsturi.c: (search_by_entry):
8064           Don't assert/crash here if a uri handler doesn't return any
8065           supported protocols. The list of protocols could be generated
8066           dynamically at runtime or at plugin registration, and an error
8067           in the underlying library shouldn't be fatal (#353301).
8068
8069 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8070
8071         * gst/gstinfo.c:
8072           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8073           (spotted by Peter Kjellerstedt).
8074
8075 2006-09-23  Wim Taymans  <wim@fluendo.com>
8076
8077         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8078
8079         * libs/gst/base/gstbasesrc.c:
8080         (gst_base_src_default_check_get_range), (gst_base_src_start),
8081         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8082         (gst_base_src_change_state):
8083         Match _start/_stop calls in the activate functions. Remove redundant
8084         _stop call from the state change function. Fixes #356910.
8085         Turn failure DEBUG into ERROR. 
8086
8087 2006-09-22  Wim Taymans  <wim@fluendo.com>
8088
8089         * docs/design/part-buffering.txt:
8090         * gst/gstmessage.c: (gst_message_new_buffering),
8091         (gst_message_parse_buffering):
8092         Update docs about buffering.
8093
8094         * docs/design/part-trickmodes.txt:
8095         Fix typo.
8096
8097 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8098
8099         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8100         (gst_controller_new_list):
8101           Ref instances when returning them again (fixes #357180)
8102
8103 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8104
8105         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8106           Don't forget to release proxy lock when there's an error.
8107
8108 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8109
8110         * gst/gstcaps.h:
8111           Add extra initialisers for Caps things, to fix some plugin warnings
8112           when using -Wextra
8113
8114 2006-09-18  Wim Taymans  <wim@fluendo.com>
8115
8116         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8117           Also set template on the internal pad so that a getcaps from the 
8118           target pad returns the template caps.
8119
8120 2006-09-18  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/gstelement.c: (gst_element_post_message),
8123         (gst_element_dispose):
8124         Use _DEBUG_OBJECT some more.
8125
8126         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8127         Avoid typechecks.
8128
8129         * tools/gst-launch.c: (main):
8130         If the toplevel element is not a GstPipeline, it must be put in a
8131         pipeline so that a bus and clock is selected.
8132
8133 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8134
8135         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8136           JITTER, RATE, and LATENCY query should be handled by the
8137           default case and not by the CONVERT query code.
8138
8139 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8140
8141         * gst/gstformat.c: (gst_format_register):
8142           Fix locking order (must take lock before using n_values).
8143
8144         * gst/gstvalue.c: (gst_value_serialize_enum),
8145         (gst_value_deserialize_enum_iter_cmp),
8146         (gst_value_deserialize_enum):
8147           Fix serialisation/deserialisation of custom registered GstFormats.
8148
8149         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8150           Unit test for custom format serialisation/deserialisation.
8151
8152 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8153
8154         * docs/pwg/building-boiler.xml:
8155         * plugins/elements/gstcapsfilter.c:
8156         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8157         section.
8158
8159 2006-09-16  Edward Hervey  <edward@fluendo.com>
8160
8161         * libs/gst/base/gstbasetransform.c:
8162         (gst_base_transform_buffer_alloc):
8163         Check if requested caps are the same as the sinks caps IF
8164         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8165         is FALSE.
8166         This fixes the renegotiation issues stated in #352827.
8167
8168 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * configure.ac:
8171         * docs/manual/advanced-autoplugging.xml:
8172         * tests/examples/Makefile.am:
8173         * tests/examples/manual/.cvsignore:
8174         * tests/examples/manual/Makefile.am:
8175         * tests/examples/manual/extract.pl:
8176           Extract the manual examples again like we used to do.
8177           Fix one of them.
8178
8179 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * win32/common/config.h:
8182           update for version
8183
8184 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8185
8186         * gst/gsterror.c:
8187           Documents how to receive errors.
8188
8189 2006-09-15  Wim Taymans  <wim@fluendo.com>
8190
8191         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8192         (event_loop), (main):
8193         Added some comments here and there.
8194         Post an application message when an interrupt is caught instead of doing
8195         an uncontrolled state change.
8196         Clean up the event loop.
8197         Handle buffering messages, pause/resume the pipeline.
8198         Make shutdown because of an interrupt more reliable.
8199
8200 2006-09-15  Wim Taymans  <wim@fluendo.com>
8201
8202         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8203         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8204         (gst_base_sink_preroll_object):
8205         Make sure that our internal state is correct when we commit our state
8206         asynchronously. This solves a race where a state change to PLAYING
8207         could cause the sink to remain blocked in preroll in some situations.
8208
8209 2006-09-15  Wim Taymans  <wim@fluendo.com>
8210
8211         * tools/gst-inspect.c: (print_element_properties_info),
8212         (print_signal_info):
8213         List flags as hex so it's easier to deal with.
8214
8215 2006-09-15  Wim Taymans  <wim@fluendo.com>
8216
8217         * docs/libs/gstreamer-libs-sections.txt:
8218         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8219         (gst_base_sink_do_sync):
8220         * libs/gst/base/gstbasesink.h:
8221         Expose logic to wait for preroll so that subclasses such as audiosink
8222         can also use this method.
8223         API: gst_base_sink_wait_preroll()
8224
8225 2006-09-15  Wim Taymans  <wim@fluendo.com>
8226
8227         * gst/gstobject.c: (gst_object_set_parent):
8228         * gst/gstpipeline.c: (do_pipeline_seek):
8229         Small cleanups in docs and code.
8230
8231         * gst/gstsegment.c: (gst_segment_clip):
8232         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8233         if stop == start and start is in the segment, no clipping should be
8234         done. Also add a test for this.
8235
8236 2006-09-15  Wim Taymans  <wim@fluendo.com>
8237
8238         * docs/design/part-buffering.txt:
8239         * docs/gst/gstreamer-sections.txt:
8240         * gst/gstmessage.c: (gst_message_new_buffering),
8241         (gst_message_parse_buffering):
8242         * gst/gstmessage.h:
8243         Added methods to create and parse BUFFERING messages.
8244         Added preliminary docs about buffering.
8245         API: gst_message_new_buffering
8246         API: gst_message_parse_buffering
8247
8248 2006-09-06  Wim Taymans  <wim@fluendo.com>
8249
8250         * gst/gstbin.c:
8251         Update documentation.
8252
8253         * gst/gstelement.c: (gst_element_class_init),
8254         (gst_element_release_request_pad), (gst_element_set_clock),
8255         (gst_element_get_index), (gst_element_add_pad),
8256         (gst_element_remove_pad), (gst_element_get_random_pad),
8257         (gst_element_send_event), (gst_element_get_query_types),
8258         (gst_element_query), (gst_element_post_message),
8259         (gst_element_message_full), (gst_element_continue_state),
8260         (gst_element_lost_state), (gst_element_save_thyself),
8261         (gst_element_restore_thyself):
8262         Documentation updates.
8263         Rename last bit of the new-pad -> pad-added signal rename.
8264         Fix the case where an element query would only work if the source
8265         pad was linked.
8266         Avoid some useless type checking in message handling.
8267
8268         * gst/gstevent.c:
8269         * gst/gstevent.h:
8270         * gst/gstutils.c:
8271         Documentation updates.
8272
8273 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8276           add an INFO line for when we actually update the fd
8277
8278 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8279
8280         * configure.ac:
8281           back to TRUNK
8282
8283 === release 0.10.10 ===
8284
8285 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8286
8287         * configure.ac:
8288           releasing 0.10.10, "Pais"
8289
8290 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8291
8292         * docs/manual/advanced-position.xml:
8293           Fix typo in sample code.
8294
8295 2006-09-05  Wim Taymans  <wim@fluendo.com>
8296
8297         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8298         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8299         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8300         * libs/gst/net/gstnetclientclock.h:
8301         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8302         * libs/gst/net/gstnettimepacket.h:
8303         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8304         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8305         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8306         * libs/gst/net/gstnettimeprovider.h:
8307         Make stuff compile on windows. Fixes #345295.
8308
8309 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8310
8311         * gst/gst.c: (ensure_current_registry_forking):
8312           Print better details when child was terminated by signal.
8313
8314 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8315
8316         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8317           Print a warning rather than g_assert() if a plugin feature
8318           is a URI handler but returns no protocols (#353976).
8319
8320 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8321
8322         * docs/random/moving-plugins:
8323         Fix two typos.         
8324
8325 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8326
8327         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8328           Fix locking order, handle NULL function values properly.
8329
8330         * gst/gstinfo.h:
8331           Fix docs.
8332
8333         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8334           Initialise variable before using it and fix debug statement to
8335           print the address of the function rather than the address of the
8336           variable on the stack holding the address of the function.
8337
8338 2006-09-01  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8341         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8342         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8343         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8344         (gst_ghost_pad_parent_unset),
8345         (gst_ghost_pad_internal_do_activate_push),
8346         (gst_ghost_pad_internal_do_activate_pull),
8347         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8348         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8349         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8350         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8351         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8352         (gst_ghost_pad_new_no_target_from_template),
8353         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8354         More cleanups.
8355         Avoid needless typechecking in macros.
8356         Since the internal pad is always present and never changes, there is
8357         no need to locking or ref when retrieving it.
8358         Improve debugging a bit.
8359         Handle link errors when setting the target. Fixes #341029.
8360
8361 2006-09-01  Wim Taymans  <wim@fluendo.com>
8362
8363         * docs/libs/gstreamer-libs-sections.txt:
8364         * docs/plugins/gstreamer-plugins-sections.txt:
8365         Fix docs some more.
8366
8367         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8368         (gst_collect_pads_event):
8369         * libs/gst/base/gstcollectpads.h:
8370         Documentation updates.
8371         Free queued buffer when removing a pad.
8372
8373 2006-08-31  Michael Smith  <msmith@fluendo.com>
8374
8375         * gst/gstutils.c: (gst_element_link_pads),
8376         (gst_element_link_pads_filtered):
8377           Ensure that we set a capsfilter to NULL if we failed to link it
8378           when doing filtered linking, to avoid criticals.
8379
8380           No need to check for unreffing srcpad, which is explicly NULLed
8381           above (a trivial code cleanup).
8382
8383 2006-08-31  Wim Taymans  <wim@fluendo.com>
8384
8385         * docs/design/part-gstghostpad.txt:
8386         Update ascii art in documentation.
8387
8388         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8389         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8390         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8391         (gst_ghost_pad_internal_do_activate_push),
8392         (gst_ghost_pad_internal_do_activate_pull),
8393         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8394         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8395         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8396         (gst_ghost_pad_set_target):
8397         Small cleanups and leak fixes.
8398         Remove some checks now that the internal pad is never NULL.
8399         Fix the case where linking pads without a target would create nasty
8400         criticals. Fixes #341029.
8401         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8402         value of _set_target().
8403
8404         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8405         (gst_ghost_pad_suite):
8406         Some more tests for creating and linking untargeted ghostpads.
8407
8408 2006-08-31  Edward Hervey  <edward@fluendo.com>
8409
8410         * docs/gst/gstreamer-sections.txt:
8411         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8412         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8413         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8414         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8415         (gst_ghost_pad_new_from_template),
8416         (gst_ghost_pad_new_no_target_from_template):
8417         * gst/gstghostpad.h:
8418         Refactored *_new() functions.
8419         Templates are now used as a g_object_new() parameter.
8420         Use template in _do_getcaps() if we don't have a target.
8421         Small documentation cleanups.
8422         Added two new constructors:
8423         gst_ghost_pad_new_from_template()
8424         gst_ghost_pad_new_no_target_from_template()
8425         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8426         (gst_ghost_pad_suite):
8427         Added tests for new ghostpad instanciation functions.
8428
8429         API additions: gst_ghost_pad_new_from_template,
8430         gst_ghost_pad_new_no_target_from_template
8431
8432 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8433
8434         * docs/random/ensonic/profiling.txt:
8435           Ideas about qos profiling.
8436
8437 2006-08-29  Wim Taymans  <wim@fluendo.com>
8438
8439         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8440         Code cleanups.
8441         Fix memleak.
8442
8443 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8444
8445         * gst/gstxml.c:
8446           Improve and detypofy docs.
8447
8448         * tests/check/Makefile.am:
8449         * tests/check/gst/.cvsignore:
8450         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8451           Add a basic test suite for GstXML.
8452
8453 2006-08-29  Wim Taymans  <wim@fluendo.com>
8454
8455         * gst/gstelement.c: (activate_pads), (clear_caps),
8456         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8457         Clear the pad caps when the element shut down all of the pads and
8458         is not streaming data that could modify the caps. 
8459         Fixes #352958.
8460
8461 2006-08-28  Michael Smith  <msmith@fluendo.com>
8462
8463         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8464           Revert previous change; I misunderstood single-segment mode.
8465
8466 2006-08-28  Michael Smith  <msmith@fluendo.com>
8467
8468         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8469           Unset DISCONT on buffers when using single-segment mode.
8470
8471 2006-08-28  Wim Taymans  <wim@fluendo.com>
8472
8473         * gst/gstcaps.c: (gst_caps_merge_structure):
8474         * gst/gstcaps.h:
8475         Fix docs and indentation again.
8476
8477         * tests/check/gst/gstquery.c: (GST_START_TEST):
8478         Fix leak in tests and add some more tests.
8479
8480 2006-08-28  Edward Hervey  <edward@fluendo.com>
8481
8482         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8483         Inform GstSegment of the last stop position in order for the current
8484         segment to have a proper duration if it doesn't have a specific stop
8485         position from which a duration could be calculated.
8486         This bug was noticeable when a non-flushing, non-update new segment was
8487         followed by another segment (all buffers from the new segment were being
8488         dropped).
8489
8490 2006-08-28  Wim Taymans  <wim@fluendo.com>
8491
8492         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8493         Small comment update.
8494
8495         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8496         (gst_identity_transform_ip):
8497         Drop-probability is broken, mention this in the code with a 
8498         FIXME and also in the property description.
8499         Make silent also be silent about the drop messages.
8500
8501 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
8502
8503         * docs/manual/appendix-win32.xml:
8504           Remove mention of popt, we don't depend on that any
8505           longer (#353136). Add some comments pointing out that
8506           this section is slightly outdated.
8507
8508 2006-08-28  Wim Taymans  <wim@fluendo.com>
8509
8510         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8511
8512         * gst/gstquery.c: (gst_query_new_segment):
8513         * tests/check/gst/gstquery.c: (GST_START_TEST):
8514         Initialize variables when creating a new segment query.
8515         Fixes #353121.
8516
8517 2006-08-28  Wim Taymans  <wim@fluendo.com>
8518
8519         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8520
8521         * gst/gstelement.c: (gst_element_get_bus):
8522         * tests/check/gst/gstelement.c: (GST_START_TEST):
8523         Check for NULL before _reffing the bus. Fixes #353122.
8524
8525 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
8526
8527         * docs/manual/basics-bus.xml:
8528           Docs update: fix wrong callback return value explanation; add
8529           some lines about the implicit relationship between main loop
8530           and main context; remove duplicate main loop variable declaration.
8531
8532 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
8533
8534         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8535           Don't leak caps in unit test; add a few more simple
8536           checks. 
8537
8538 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
8539
8540         * docs/gst/gstreamer-sections.txt:
8541         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
8542         (gst_caps_structure_is_subset), (gst_caps_merge),
8543         (gst_caps_merge_structure):
8544         * gst/gstcaps.h:
8545         * libs/gst/base/gstbasetransform.c:
8546         (gst_base_transform_transform_caps):
8547         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8548           implement caps merging (fixes #352580)
8549
8550 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
8551
8552         * tools/Makefile.am:
8553         * tools/gst-plot-timeline.py:
8554           add debug-log plotting developer tool (#340674)
8555
8556 2006-08-23  Wim Taymans  <wim@fluendo.com>
8557
8558         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
8559         (gst_pad_stop_task):
8560         Improve debugging for task functions.
8561
8562         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
8563         (gst_task_start), (gst_task_pause), (gst_task_join):
8564         Make sure that the task function started and finished after a 
8565         join(). 
8566         Don't try to push the task function on the threadpool multiple
8567         times.
8568         Improve the g_warning message with some useful suggestions
8569         about how to fix the problem. 
8570
8571 2006-08-23  Wim Taymans  <wim@fluendo.com>
8572
8573         * gst/gstutils.c: (gst_pad_proxy_getcaps):
8574         Handle RESYNC correctly in _proxy_getcaps.
8575
8576 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
8577
8578         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
8579         (gst_xml_parse_memory), (gst_xml_get_element):
8580           Chain up to parent class in dispose function and also
8581           unref the elements in the toplevel_elements GList.
8582           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
8583           Always return a reference in gst_xml_get_element() rather
8584           than only sometimes.
8585
8586         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8587           Don't leak GstXml object.
8588
8589 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
8590
8591         * docs/gst/gstreamer-sections.txt:
8592         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
8593         (gst_caps_merge):
8594         * gst/gstcaps.h:
8595         * libs/gst/base/gstbasetransform.c:
8596         (gst_base_transform_transform_caps):
8597           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
8598           in a better way
8599
8600 2006-08-21  Edward Hervey  <edward@fluendo.com>
8601
8602         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
8603         Implement GObject::dispose virtual method in GstXML so we can free the
8604         top_elements GList.
8605
8606 2006-08-21  Wim Taymans  <wim@fluendo.com>
8607
8608         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
8609         (gst_buffer_create_sub):
8610         Copy duration/offset_end/caps when creating a subbuffer of the
8611         complete parent.
8612         Make the subbuffer read-only when we make the metadata writable for
8613         now. Fixes #351768.
8614
8615         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8616         Added check for metadata copy when creating subbuffers.
8617
8618 2006-08-21  Edward Hervey  <edward@fluendo.com>
8619
8620         * libs/gst/base/gstbasetransform.c:
8621         (gst_base_transform_buffer_alloc):
8622         Only call downstream buffer_alloc if transform element is passthrough
8623         or always_in_place. Closes #350449.
8624
8625 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8626
8627         * ChangeLog:
8628           ChangeLog surgery to add comments to previous changes
8629
8630 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8631
8632         * gst/gst.c:
8633           Add comments
8634
8635         * gst/gstpad.c: (gst_pad_set_active):
8636           Be more verbose in the log
8637
8638         * libs/gst/base/gstbasetransform.c:
8639         (gst_base_transform_transform_caps):
8640           Simplify caps to get rid of duplicates, fixes #345444
8641
8642 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8643
8644         * gst/gstvalue.c:
8645         * gst/gstvalue.h:
8646           Use these optimizations only internally.
8647
8648 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8649
8650         * gst/gstvalue.c: (gst_value_compare_list),
8651         (gst_value_compare_fraction_range),
8652         (gst_value_intersect_fraction_fraction_range),
8653         (gst_value_intersect_fraction_range_fraction_range),
8654         (gst_value_subtract_fraction_fraction_range),
8655         (gst_value_subtract_fraction_range_fraction_range),
8656         (gst_value_get_compare_func), (gst_value_compare),
8657         (gst_value_compare_with_func):
8658         * gst/gstvalue.h:
8659           Saves the expensive lookup of the compare function in many cases
8660          (#345444)
8661
8662 2006-08-18  Edward Hervey  <edward@fluendo.com>
8663
8664         * tests/check/gst/gstinfo.c: (gst_info_suite):
8665         Disable test that require gstdebug if it wasn't built in core.
8666
8667 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8668
8669         * docs/random/ensonic/logging.txt:
8670           update ideas
8671           
8672         * gst/gstinfo.c: (gst_debug_log_default):
8673           reorder fields, save some columns, add optional color codes for log
8674           levels
8675
8676 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * docs/random/ensonic/logging.txt:
8679           add ideas about making the logs a bit more useful
8680
8681 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8682
8683         * docs/pwg/advanced-events.xml:
8684         * docs/pwg/titlepage.xml:
8685           Update for 0.10 API (#340627). Add myself
8686           to authors list.
8687
8688 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8689
8690         * docs/libs/gstreamer-libs-docs.sgml:
8691         * docs/libs/gstreamer-libs-sections.txt:
8692         * libs/gst/check/gstbufferstraw.c:
8693           Make gstcheck stuff show up in docs (still needs to
8694           be documented properly though).
8695
8696 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
8697
8698         * docs/gst/gstreamer-sections.txt:
8699         * gst/Makefile.am:
8700         * gst/gst.c: (init_post):
8701         * gst/gst_private.h:
8702         * gst/gstquark.c: (_priv_gst_quarks_initialize):
8703         * gst/gstquark.h:
8704         * gst/gstquery.c: (gst_query_new_position),
8705         (gst_query_set_position), (gst_query_parse_position),
8706         (gst_query_new_duration), (gst_query_set_duration),
8707         (gst_query_parse_duration), (gst_query_new_convert),
8708         (gst_query_set_convert), (gst_query_parse_convert),
8709         (gst_query_new_segment), (gst_query_set_segment),
8710         (gst_query_parse_segment), (gst_query_new_seeking),
8711         (gst_query_set_seeking), (gst_query_parse_seeking):
8712         Add internal helpers for pre-registering quarks from static strings
8713         and using the quark values directly instead of looking them up when
8714         creating and parsing queries. Can be used for event construction too.
8715         Closes #350432.
8716
8717 2006-08-16  Wim Taymans  <wim@fluendo.com>
8718
8719         * gst/gstbin.c:
8720         Fix bogus docs.
8721
8722 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8723
8724         * gst/gstutils.c: (gst_util_set_value_from_string):
8725           Fix memleak (#351502).
8726
8727         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8728           Add unit test for most of gst_util_set_value_from_string()
8729           (not that one would want to encourage use of this function).
8730
8731 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * libs/gst/check/gstcheck.h:
8734           Use const gchar * variables in fail_unless_equals_string
8735           macro to avoid compiler warnings (and don't use tabs for
8736           indenting).
8737
8738 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8739
8740         * tools/gst-launch.c: (print_tag):
8741           More space on the left for the tag names, to cater
8742           for the 'extended comment' tag (not touching the
8743           string for the first line since it's translated).
8744
8745 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8746
8747         * libs/gst/check/gstcheck.h:
8748           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
8749           print something when they fail.
8750
8751 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8752
8753         * docs/gst/gstreamer-sections.txt:
8754         * gst/gsttaglist.c: (_gst_tag_initialize):
8755         * gst/gsttaglist.h:
8756           API: add GST_TAG_EXTENDED_COMMENT (#350935).
8757           Also change merge function for GST_TAG_COMMENT to
8758           use_first.
8759
8760 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * gst/gstinfo.c: (gst_debug_print_object):
8763           Make GST_PTR_FORMAT print messages as well.
8764
8765         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
8766         (GST_START_TEST), (gst_info_suite):
8767           More tests.
8768
8769 2006-08-14  Edward Hervey  <edward@fluendo.com>
8770
8771         * gst/gstelementfactory.c: (gst_element_register):
8772         If the GstElementClass doesn't have a GstElementDetails with all fields
8773         filled up correctly (longname, description AND author), then error out
8774         nicely instead of crashing.
8775
8776 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8777
8778         * gst/gststructure.c:
8779           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
8780
8781         * gst/gstvalue.h:
8782           Expand on the difference between arrays and lists as we use them.
8783           
8784 2006-08-14  Wim Taymans  <wim@fluendo.com>
8785
8786         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8787         If the parent state change function failed, don't assume we can safely
8788         stop the source, this will be done when the pads are deactivated.
8789
8790 2006-08-14  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/gstbuffer.c:
8793         * gst/gsttask.c: (gst_task_join):
8794         Small doc updates.
8795
8796         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8797         (gst_pad_stop_task):
8798         When pad (de)activation failed for some reason, restore the old
8799         activation mode and set the pad to flushing instead of assuming the
8800         pad is deactivated.
8801         If the _task_join() failed, reinstall the task on the pad so that it can
8802         be stopped later and return an error.
8803
8804 2006-08-11  Andy Wingo  <wingo@pobox.com>
8805
8806         * configure.ac:
8807         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8808         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
8809         is only for users of API that don't want to see deprecated
8810         functions in the headers; people that want to compile out
8811         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
8812         CFLAGS. Fixes the build of multifdsink, or will soon..
8813
8814 2006-08-11  Wim Taymans  <wim@fluendo.com>
8815
8816         * docs/gst/gstreamer-sections.txt:
8817         Add GstClockClass vmethod docs.
8818
8819         * gst/gstcaps.h:
8820         Mark #endif with comment for associated #if
8821
8822         * gst/gstclock.c: (gst_clock_id_wait):
8823         * gst/gstclock.h:
8824         Add vmethod wait_jitter to avoid an unneeded _get_time() for
8825         most clock implementations.
8826         Document vmethods.
8827         Flesh out docs about resolution methods.
8828         API: GstClockClass::wait_jitter
8829
8830         * gst/gstsystemclock.c: (gst_system_clock_class_init),
8831         (gst_system_clock_async_thread),
8832         (gst_system_clock_id_wait_jitter_unlocked),
8833         (gst_system_clock_id_wait_jitter):
8834         Use base class wait_jitter variant for improved performance
8835         due to less clock polling.
8836
8837 2006-08-11  Edward Hervey  <edward@fluendo.com>
8838
8839         * gst/gst.c: (gst_init_check), (init_post):
8840         Set gst as being initialized before scanning/updating the registry,
8841         since there might be my python plugin loader that calls gst_init() and
8842         we don't want to loop back in.
8843         Closes #350879
8844
8845 2006-08-11  Wim Taymans  <wim@fluendo.com>
8846
8847         * docs/design/part-qos.txt:
8848         Bring docs in line with the code. Mostly the sign of the jitter was
8849         wrong in the docs. Fixes #349943.
8850
8851         * gst/gstclock.c:
8852         Fix the docs for the jitter.
8853
8854         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
8855         (gst_event_parse_tag), (gst_event_new_buffer_size),
8856         (gst_event_parse_buffer_size), (gst_event_parse_qos),
8857         (gst_event_new_seek), (gst_event_parse_seek),
8858         (gst_event_new_navigation):
8859         Make sure the GstStructure has no parent when creating custom
8860         events.
8861         Add some more argument checking so that we avoid 0.0 rates.
8862         Flesh out the docs for the QoS event some more.
8863
8864 2006-08-11  Wim Taymans  <wim@fluendo.com>
8865
8866         * docs/gst/gstreamer-sections.txt:
8867         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8868         (ensure_current_registry_forking), (ensure_current_registry),
8869         (parse_one_option), (parse_goption_arg), (gst_deinit),
8870         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
8871         * gst/gst.h:
8872         Doc updates.
8873         Added API and command line option to disable registry forking in
8874         addition to the environment variable.
8875         Constify some static arrays.
8876         Added some more debug.
8877         Don't deinit twice.
8878         API: gst_registry_fork_is_enabled()
8879         API: gst_registry_fork_set_enabled()
8880         API: --gst-disable-registry-fork command line option
8881         Fixes #348918.
8882
8883 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
8884
8885         * gst/gst.c: (gst_init):
8886           Fix typo in error message.
8887
8888 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8889
8890         * libs/gst/controller/gstcontroller.h:
8891           fix ABI size-correction
8892
8893         * tests/check/libs/gdp.c: (gst_dp_suite):
8894           make tests that use deprecated API conditional
8895
8896 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8897
8898         * docs/libs/gstreamer-libs-sections.txt:
8899         * libs/gst/controller/gstcontroller.c:
8900         (_gst_controller_get_property), (_gst_controller_set_property),
8901         (_gst_controller_init), (_gst_controller_class_init):
8902         * libs/gst/controller/gstcontroller.h:
8903         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
8904         (gst_object_set_control_rate):
8905           API: add gst_object_{s,g}et_control_rate(), add private data section,
8906           fix docs
8907
8908         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8909         * libs/gst/dataprotocol/dataprotocol.h:
8910           add deprecation guards to make gtk-doc happy and allow disabling cruft
8911
8912 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8913
8914         * tests/check/Makefile.am:
8915         * tests/check/gst/.cvsignore:
8916           Let's enable the new unit test as well.
8917
8918 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8919
8920         * configure.ac:
8921         * docs/gst/gstreamer-sections.txt:
8922         * gst/gstconfig.h.in:
8923         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
8924         (_gst_info_printf_extension_ptr),
8925         (_gst_info_printf_extension_segment):
8926           API: add GST_SEGMENT_FORMAT, which is a printf extension we
8927           register that lets us easily dump GstSegments into debug
8928           logs (#350419).
8929
8930         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
8931         (info_segment_format_printf_extension), (gst_info_suite):
8932           Add simple unit test that logs a bunch of different segments (not
8933           valgrinded at the moment because of leaks in
8934           gst_debug_add_log_function).
8935
8936 2006-08-09  Edward Hervey  <edward@fluendo.com>
8937
8938         * libs/gst/base/gstbasetransform.c:
8939         (gst_base_transform_buffer_alloc):
8940         Even if we can't figure out the proper format to request downstream,
8941         call buffer_alloc() downstream with the input parameters without setting
8942         the caps on the srcpad. This will force negotiation in the chain
8943         function.
8944         Closes #350449
8945
8946 2006-08-08  Edward Hervey  <edward@fluendo.com>
8947
8948         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8949         Unlinking from a pad without a target is now a perfectly valid case
8950         which should NOT raise an assertion.
8951         This case would happen if a linked ghostpad its target set to NULL after
8952         it was previously linked.
8953
8954 2006-08-08  Edward Hervey  <edward@fluendo.com>
8955
8956         * tests/check/libs/gdp.c:
8957         Also comment out the test (see below).
8958
8959 2006-08-08  Edward Hervey  <edward@fluendo.com>
8960
8961         * tests/check/libs/gdp.c: (gst_dp_suite):
8962         Use the architecture information from config.h and not gcc macros
8963         in order to properly disable a test that fails on PPC64.
8964
8965 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
8966
8967         * gst/gstelement.c: (gst_element_remove_pad):
8968           Don't crash printing the warning if the pad has no parent.
8969
8970 2006-08-02  Wim Taymans  <wim@fluendo.com>
8971
8972         * libs/gst/dataprotocol/dataprotocol.c:
8973         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8974         (gst_dp_crc), (gst_dp_header_payload_length),
8975         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
8976         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
8977         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
8978         (gst_dp_event_from_packet), (gst_dp_validate_header),
8979         (gst_dp_validate_payload):
8980         Make debug category static
8981         Constify the crc table.
8982         Do some more arg checking in public functions.
8983         Fix some docs and do some small cleanups.
8984
8985         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
8986         Add some more checks to see if GDP deals with bogus input.
8987
8988 2006-07-31  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/gstvalue.c: (gst_value_compare_list):
8991         Fix GstValueList comparison code. Fixes #347293.
8992
8993         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8994         Check to test GstValueList comparison.
8995
8996 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8997
8998         * gst/gstelementfactory.c: (gst_element_factory_create):
8999         Remove unnecessary ref/unref pair
9000
9001         * gst/parse/grammar.y:
9002         Make sure to free the parse buffer on all code paths.
9003         Move a g_free up to the error handler where it's easier to see.
9004
9005         * tests/check/gst/gstevent.c: (test_event):
9006         Extending timeout for downstream travelling events to 10 seconds to
9007         hopefully avoid intermittent failure on the buildbots.
9008
9009         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9010         Don't manually set the state of the src element - it will happen as a
9011         natural consequence of the pipeline changing state, and that way it
9012         will do it in the right order too.
9013
9014 2006-07-31  Wim Taymans  <wim@fluendo.com>
9015
9016         * libs/gst/base/gstbasetransform.c:
9017         (gst_base_transform_buffer_alloc):
9018         Use OBJECT_LOCK and refcounting to get the pad caps in the
9019         buffer_alloc function because the caps could change while we are
9020         busy with them. Fixes #349105
9021
9022 2006-07-31  Wim Taymans  <wim@fluendo.com>
9023
9024         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9025         Protect _PAD_CAPS with OBJECT_LOCK.
9026
9027 2006-07-31  Wim Taymans  <wim@fluendo.com>
9028
9029         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9030         (gst_pad_get_property), (gst_pad_activate_pull),
9031         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9032         (gst_pad_set_activate_function),
9033         (gst_pad_set_activatepull_function),
9034         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9035         (gst_pad_set_getrange_function),
9036         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9037         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9038         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9039         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9040         (gst_pad_set_acceptcaps_function),
9041         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9042         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9043         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9044         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9045         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9046         (gst_pad_configure_sink), (gst_pad_configure_src),
9047         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9048         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9049         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9050         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9051         (gst_pad_send_event):
9052         Use _DEBUG_OBJECT when it makes sense.
9053         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9054         Small cleanups and code reflows.
9055         Avoid caps refcounting in _accept_caps.
9056         Refactor alloc_buffer so that the code performed on the peer is in a
9057         separate function. Also if the pad does not implement a buffer alloc
9058         function, we should still check if the pad is flushing before falling
9059         back to the default allocator.
9060
9061 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9062
9063         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9064         Make all uses of identity and fakesink have silent=true to avoid
9065         serialising every passing data structure, which is breaking tests
9066         on FC4 for some unknown reason.
9067
9068 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9069
9070         * gst/parse/Makefile.am:
9071         * gst/parse/grammar.y:
9072         * gst/parse/parse.l:
9073           Reverted previous patch as it required to bump the flex dependency to
9074           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9075
9076 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9077
9078         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9079
9080         * gst/parse/Makefile.am:
9081         * gst/parse/grammar.y:
9082         * gst/parse/parse.l:
9083           push & pop the state of the lexer for reentrant use case
9084           Fixes #349180
9085
9086 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         * libs/gst/base/gstbasesrc.h:
9089           Note in the docs that the ::newsegment vfunc is not actually used by
9090           GstBaseSrc.
9091
9092 2006-07-28  Wim Taymans  <wim@fluendo.com>
9093
9094         * libs/gst/base/gstcollectpads.c:
9095         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9096         (gst_collect_pads_clear), (gst_collect_pads_flush),
9097         (gst_collect_pads_event), (gst_collect_pads_chain):
9098         When flushing a pad, also clear the queued buffer so that we don't
9099         accidentally use it when we shouldn't.
9100         Fix leaks by inreffing incomming buffer.
9101         Flush out queued buffers in case of errors.
9102         Fixes #347452.
9103
9104 2006-07-28  Wim Taymans  <wim@fluendo.com>
9105
9106         * docs/random/phonon-gst:
9107         Random notes about a Phonon backend.
9108
9109 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9110
9111         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9112         Extra debug output
9113         * tests/check/libs/gdp.c: (gst_dp_suite):
9114         Take a whack at fixing the ppc compile using a different define to
9115         disable the broken test.
9116
9117         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9118         Remove excess g_print()
9119
9120 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9121
9122         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9123         Oops, meant to uncomment this line too to dampen the noise a bit.
9124
9125 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9126
9127         * gst/parse/grammar.y:
9128         * gst/parse/parse.l:
9129         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9130         (GST_START_TEST), (parse_suite):
9131         Fix some of the leaks exposed by extending the parse-launch testsuite,
9132         and move the 3 I can't figure out into a separate test that won't run
9133         the pipelines unless the appropriate line is uncommented.
9134
9135 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9136
9137         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9138           Requesting 0 bytes before the end of the file should result in
9139           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9140           unit test.
9141
9142 2006-07-27  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9145         Fix useless assert, a uint is always positive.
9146
9147         * gst/gststructure.c: (gst_structure_nth_field_name),
9148         (gst_structure_foreach), (gst_structure_map_in_place):
9149         Check input arguments for public functions to avoid obvious crashes.
9150
9151         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9152         * plugins/elements/gstfakesink.h:
9153         Do less useless typechecking.
9154
9155 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9156
9157         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9158           Do not use mmap() by default since there are a number of error
9159           conditions that we would like to handle in a non-fatal way that
9160           will result in a SIGBUS if we use mmap(). Examples: external
9161           devices (USB harddrive, portable music player) being unplugged
9162           while in use; file on mounted CD/DVD that can't be read because
9163           the medium is partly damaged. Fixes #348455 and #348475.
9164
9165 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9166
9167         * gst/gstquery.h:
9168         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9169         rates are a gdouble
9170
9171 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9172
9173         * gst/gstregistry.c:
9174           Move big documentation comment into class section header, so that it
9175           appears in the API docs.
9176
9177 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9178
9179         * docs/gst/gstreamer-sections.txt:
9180         Oops. Commit the docs additions too for new API.
9181         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9182
9183 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9184
9185         * gst/gststructure.c: (gst_structure_id_set),
9186         (gst_structure_id_set_valist):
9187         * gst/gststructure.h:
9188         Add API for setting values into structures without performing
9189         a quark lookup, if the appropriate quark is already known.
9190
9191         API: gst_structure_id_set
9192         API: gst_structure_id_set_valist
9193
9194         * gst/parse/grammar.y:
9195         * gst/parse/parse.l:
9196         Remove some dead code shown by the coverage information.
9197         Don't throw a critical g_warning when encountering a syntax error,
9198         just warn and let the normal error path handle it.
9199
9200         * plugins/elements/gstelements.c:
9201         Bump the rank of filesink up to PRIMARY so that it is preferred over
9202         gnomevfssink for file:// sink uri's
9203
9204         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9205         (GST_START_TEST), (run_delayed_test),
9206         (gst_parse_test_element_base_init),
9207         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9208         (gst_parse_test_element_change_state),
9209         (gst_register_parse_element), (parse_suite):
9210         Beef up the tests for parse syntax to check that more error cases
9211         fail as they are supposed to. Increases the test coverage a bit.
9212
9213 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9214
9215         * docs/manual/basics-elements.xml:
9216           Fix gst_element_link() example.
9217
9218         * gst/gstutils.c:
9219           Mention in API docs that one should usually gst_bin_add()
9220           elements to a bin or pipeline before doing the linking.
9221           
9222 2006-07-26  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9225         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9226         Avoid function call for known types by keeping the buffer and
9227         subbuffer GType global.
9228
9229         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9230         Random silly optimisations in read() path.
9231
9232 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9233
9234         * tools/gst-launch.c: (main):
9235           If the top-level of the parse is a normal bin, it doesn't do the
9236           right logic to run as a top-level element, so place it inside a
9237           pipeline.
9238
9239 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9240
9241         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9242           Remove superfluous g_object_notify() calls, GObject does
9243           that for us automatically.
9244
9245 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9246
9247         * gst/gstinfo.h:
9248           on Win32, use dllspec to export the debug category symbols
9249
9250 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9251
9252         * gst/gsttaglist.c: (_gst_tag_initialize):
9253           Allow more than one GST_TAG_IMAGE per taglist.
9254
9255 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * gst/gstminiobject.c:
9258           update docs
9259         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9260         (gst_fd_src_create):
9261           log recurring events at LOG level
9262           add more debug for when the fd gets set
9263
9264 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9265
9266         * gst/gstparse.c: (gst_parse_launch):
9267           Also remove reentrance checks if flex is MT safe (#348179)
9268          Fix my empty ChangeLog entry below
9269
9270 2006-07-21  Andy Wingo  <wingo@pobox.com>
9271
9272         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9273
9274         * libs/gst/check/Makefile.am
9275         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9276         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9277         * libs/gst/check/gstbufferstraw.h:
9278         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9279         functions, thus proving I am still a GStreamer haxor. OK I wrote
9280         them a long time ago, but anyways.
9281
9282 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9283
9284         * configure.ac:
9285         * gst/gstparse.c: (gst_parse_launch):
9286           Check for flex version and omit mutex if we have a MT save flex
9287           (fixes #348179)
9288
9289 2006-07-21  Wim Taymans  <wim@fluendo.com>
9290
9291         * gst/gstparse.c: (gst_parse_launch):
9292         Protect recursive calls to _parse with a recursive mutex
9293         and busy flag.
9294
9295 2006-07-21  Wim Taymans  <wim@fluendo.com>
9296
9297         * tests/check/gst/gstpad.c: (GST_START_TEST):
9298         Fix leak in test.
9299
9300 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9301
9302         * gst/gstparse.c: (gst_parse_launch):
9303           Do not hang on recursive usage of gst_parse_launch()
9304
9305 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9306
9307         * gst/gsttaglist.c:
9308           Add some more docs, comments and FIXME 0.11s here and there
9309           and also fix some typos.
9310
9311 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9312
9313         * gst/gstsegment.h:
9314           Convert tabs to spaces for better readability. 
9315
9316 2006-07-20  Edward Hervey  <edward@fluendo.com>
9317
9318         * tests/check/libs/gdp.c: (gst_dp_suite):
9319         the test_buffer test fails at line 140 on ppc64 at the following
9320         check:
9321         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9322                 GST_BUFFER_FLAG_IN_CAPS),
9323                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9324         See bug #348114 for more details.
9325
9326 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * docs/pwg/advanced-scheduling.xml:
9329         * gst/gstpad.c:
9330           Fix typos (#348000).
9331
9332 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9333
9334         * docs/pwg/intro-basics.xml:
9335           Fix wrong links (#347927).
9336
9337 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9338
9339         * gst/gstregistry.h:
9340         * gst/gstregistryxml.c: (load_feature),
9341         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9342         * win32/common/config.h:
9343           make --disable-index work (#342564)
9344
9345 2006-07-18  Wim Taymans  <wim@fluendo.com>
9346
9347         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9348
9349         * gst/Makefile.am:
9350         * gst/gsttrace.h:
9351         The attached patch adds two missing defines to gsttrace.h when tracing
9352         is disabled.  It also corrects one existing define.
9353         Fixes #347756.
9354
9355 2006-07-17  Wim Taymans  <wim@fluendo.com>
9356
9357         * docs/gst/gstreamer-sections.txt:
9358         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9359         * gst/gst.h:
9360         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9361         Add two functions to check and change the SIGSEGV behaviour
9362         when loading plugins.
9363         Don't mess with the SIGSEGV handler when we were told not to.
9364         Fixes #347794.
9365         API: gst_segtrap_is_enabled
9366         API: gst_segtrap_set_enabled
9367
9368 2006-07-14  Wim Taymans  <wim@fluendo.com>
9369
9370         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9371         * tests/check/elements/filesrc.c: (GST_START_TEST):
9372         Revert fix for regression in #347408 after release.
9373
9374 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9375
9376         Patch by: Antoine Tremblay <hexa00 at gmail com>
9377
9378         * gst/gstutils.c: (gst_element_unlink):
9379           Free iterator when done (#347311).
9380
9381         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9382           And add a test case for this.
9383
9384 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9385
9386         * configure.ac:
9387         Bump nano back to CVS
9388
9389 === release 0.10.9 ===
9390
9391 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9392
9393         * configure.ac:
9394           releasing 0.10.9, "On the road again"
9395
9396 2006-07-13  Wim Taymans  <wim@fluendo.com>
9397
9398         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9399         * tests/check/elements/filesrc.c: (GST_START_TEST):
9400         Revert pull-0 fix for release. Disable check. Fixes #347408.
9401
9402 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9403
9404         * libs/gst/dataprotocol/dataprotocol.c:
9405         (gst_dp_event_from_packet_1_0):
9406           Fixes #347337: failure to deserialize event packets with
9407           empty payload (only event type)
9408
9409 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * gst/Makefile.am:
9412           do not install a .c file in the header directory
9413
9414 2006-07-13  Edward Hervey  <edward@fluendo.com>
9415
9416         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9417         GhostPad no longer implicitely use the padtemplates of the targets.
9418         Fixes #347384
9419
9420 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9421
9422         * gst/gstvalue.c: (gst_value_compare_list),
9423         (gst_value_compare_array), (_gst_value_initialize):
9424         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9425         Make GstValueArray comparison be order dependent as designed.
9426         Add checks for value lists and value array comparisons.
9427         Fixes #347221
9428
9429 2006-07-11  Edward Hervey  <edward@fluendo.com>
9430
9431         * gst/gstbin.c: (activate_pads),
9432         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9433         (gst_bin_change_state_func):
9434         (de)activate src pads before calling state_change on the childs.
9435         This is to avoid the case where a src ghostpad is blocked (holding the
9436         stream lock), which would block the deactivation of the ghostpad's
9437         target pad.
9438         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9439         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9440         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9441         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9442         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9443         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9444         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9445         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9446         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9447         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9448         (gst_ghost_pad_class_init),
9449         (gst_ghost_pad_internal_do_activate_push),
9450         (gst_ghost_pad_internal_do_activate_pull),
9451         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9452         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9453         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9454         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9455         GhostPads now create their internal GstProxyPad at creation (and not
9456         when they're linked, as it was being done previously).
9457         The internal and target pads are linked straight away.
9458         The data will also travel through the other pad in order to make
9459         pad blocking and probes non-hackish (the probe/block now really happens
9460         on the GhostPad and not on the target).
9461         * gst/gstpad.c: (gst_pad_set_blocked_async),
9462         (gst_pad_link_prepare), (gst_pad_push_event):
9463         Remove previous ghostpad cruft.
9464         * gst/gstutils.c: (gst_pad_add_data_probe),
9465         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9466         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9467         (gst_pad_remove_buffer_probe):
9468         Remove previous ghost pad cruft.
9469         Added more detailed debug statements.
9470         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9471         Fix the testsuite for refcounting changes.
9472         The comments about who has references were correct, but the refcount
9473         being checked wasn't the same (!?!).
9474
9475         Fixes #341029
9476
9477 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9478
9479         * docs/gst/gstreamer-sections.txt:
9480         * gst/gstconfig.h.in:
9481         More docs for configuration options, add docs to gtk-doc.
9482
9483 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9484
9485         * gst/Makefile.am:
9486         * gst/gstconfig.h.in:
9487         * win32/common/config.h:
9488         Fix build when disabling tracing (fixes #344016). Also start to document
9489         the defines that disable the sub-systems.
9490
9491 2006-07-10  Edward Hervey  <edward@fluendo.com>
9492
9493         * gst/gst.c: (ensure_current_registry_forking):
9494         let's make valgrind happy...
9495
9496 2006-07-09  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/gstelement.c: (activate_pads),
9499         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9500         Better pad activation code: Reset the collect value too on resync.
9501         Add some comments.
9502
9503 2006-07-09  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
9506         (gst_pad_activate_push):
9507         Use some more macros where it makes sense.
9508         Allow pad mode switching instead of asserting. When a pad
9509         is activated in one mode and we activate it in another, 
9510         deactivate it first before activating it in a different mode.
9511         Fixes #329198.
9512
9513 2006-07-08  Andy Wingo  <wingo@pobox.com>
9514
9515         * tools/gst-launch.c (main): Handle err == NULL.
9516
9517         * gst/gst.c (init_post, ensure_current_registry)
9518         (ensure_current_registry_forking)
9519         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
9520         factoring out the registry scanning into separate functions. Don't
9521         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
9522         Better environment var name/interface suggestions accepted.
9523
9524 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9525
9526         * gst/gstobject.c: (gst_object_set_name_default),
9527         (gst_object_set_name):
9528           Random micro-optimisation: don't use a hash table
9529           with strings as keys and the usual strdup/strcmp
9530           involved, but rather just use the GQuark of the
9531           type name as key, since it needs to be looked up
9532           anyway to get the type name string.
9533
9534         * tests/check/gst/gstobject.c: (GST_START_TEST):
9535           Fix various leaks.
9536
9537 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9538
9539         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
9540         (gst_bin_iterate_all_by_interface):
9541           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
9542           GTypes are gulongs and thus the top 4 bytes might be cut
9543           off on some platforms when doing GPOINTER_TO_INT, leading
9544           to invalid GTypes and bad things happening (see RH bug #179654).
9545           Also add a check to make sure the type passed in is really
9546           an interface type.
9547
9548 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9549
9550         * .cvsignore:
9551           Ignore more.
9552
9553 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * Makefile.am:
9556         * configure.ac:
9557         * gst-element-check.m4:
9558         * gst-element-check.m4.in:
9559           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
9560           instead of the unversioned gst-inspect (#324176, #168659).
9561
9562 2006-07-06  Wim Taymans  <wim@fluendo.com>
9563
9564         * gst/gstmessage.h:
9565         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
9566         warnings.
9567
9568 2006-07-06  Wim Taymans  <wim@fluendo.com>
9569
9570         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9571         (gst_base_src_wait), (gst_base_src_update_length),
9572         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
9573         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
9574         (gst_base_src_loop), (gst_base_src_start),
9575         (gst_base_src_activate_pull):
9576         Update docs.
9577         blocksize == 0 now means the default blocksize when working in push
9578         based mode.
9579         Remove some pointless asserts in _wait function.
9580         Fix offset/length calculations and EOS handling. We can now pull 0
9581         bytes as well, which is allowed.
9582         use _check_get_range() to decide if we can operate in _pull based
9583         mode.
9584         Fix refcounting leak when check_get_range function was not 
9585         implemented.
9586         API GstBaseSrc::blocksize range can be 0 too now (default)
9587
9588         * tests/check/elements/filesrc.c: (GST_START_TEST),
9589         (filesrc_suite):
9590         Added check to test _get_range() behaviour.
9591
9592 2006-07-06  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9595         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
9596         (gst_pad_pull_range):
9597         * gst/gstpad.h:
9598         Lots of comments and docs added to the pad functions.
9599         Flesh out the expected behaviour of the get_range() functions.
9600
9601 2006-07-06  Wim Taymans  <wim@fluendo.com>
9602
9603         * gst/gstbus.h:
9604         * gst/gstclock.h:
9605         * gst/gstevent.h:
9606         * gst/gstiterator.h:
9607         * gst/gstpad.h:
9608         * gst/gstplugin.h:
9609         * gst/gsttask.h:
9610         Remove comma at end of enumerator list. 
9611
9612 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
9613
9614         * win32/common/libgstbase.def:
9615         * win32/common/libgstdataprotocol.def:
9616         * win32/common/libsgtreamer.def:
9617         Add new exported functions.
9618
9619 2006-07-05  Wim Taymans  <wim@fluendo.com>
9620
9621         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
9622         Add some more docs here and there.
9623
9624 2006-07-05  Wim Taymans  <wim@fluendo.com>
9625
9626         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
9627         (gst_base_sink_loop), (gst_base_sink_get_position):
9628         When operating in pull mode update the offset so that we
9629         read sequentially.
9630
9631 2006-07-05  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/gstregistryxml.c: (read_string):
9634         Avoid strdup. (will happen in libxml, but hey!)
9635
9636         * gst/gsturi.c:
9637         Add some more docs.
9638
9639 2006-07-05  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
9642         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9643         (gst_buffer_suite):
9644         No point in checking if the size of the subbuffer > 0, the
9645         code handles it correclty as demonstrated by unit test.
9646         Also add a unit test for the zero sized _new_and_alloc and
9647         _copy. Fixes #346663.
9648
9649 2006-07-05  Wim Taymans  <wim@fluendo.com>
9650
9651         * libs/gst/base/gstbasetransform.c:
9652         (gst_base_transform_prepare_output_buffer),
9653         (gst_base_transform_buffer_alloc),
9654         (gst_base_transform_handle_buffer):
9655         Make sure the buffer we pass to transform_ip has a refcount of
9656         1 and thus is writable. Fixes #343196
9657
9658 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
9659
9660         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9661         (gst_file_src_init), (gst_file_src_set_property),
9662         (gst_file_src_get_property), (gst_file_src_map_region):
9663         * plugins/elements/gstfilesrc.h:
9664         Add "sequential" property, off by default, to use madvise and hint
9665         to the kernel that sequential access is desired.
9666         Touch all retrieved pages by default to ensure they are pulled
9667         into memory. (Closes #345720)
9668
9669 2006-07-03  Wim Taymans  <wim@fluendo.com>
9670
9671         * docs/design/part-block.txt:
9672         * docs/design/part-dynamic.txt:
9673         Small docs updates.
9674
9675 2006-07-03  Wim Taymans  <wim@fluendo.com>
9676
9677         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
9678         (gst_caps_unref), (gst_static_caps_get),
9679         (gst_caps_append_structure):
9680         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
9681         Use GSlice when the glib we build against is >= 2.10
9682
9683 2006-07-03  Wim Taymans  <wim@fluendo.com>
9684
9685         * gst/gstelement.c: (gst_element_pads_activate):
9686         Small cleanup in pad activation code.
9687
9688 2006-07-03  Wim Taymans  <wim@fluendo.com>
9689
9690         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9691
9692         * gst/gst-i18n-app.h:
9693         * gst/gst-i18n-lib.h:
9694         * tools/gst-inspect.c: (print_signal_info):
9695         The attached patch will make the inclusion of gettext.h unconditional in
9696         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
9697         libintl.h in tools/gst-inspect.c.
9698         This allows use of --disable-nls again and fixes #344642.
9699
9700 2006-07-03  Edward Hervey  <edward@fluendo.com>
9701
9702         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
9703         Implement pad blocking on events according to part-block.txt.
9704         More comments on behaviour.
9705         * tests/check/gst/gstevent.c: (test_event):
9706         Send event to peer pad of blocked pad (else it will block).
9707
9708 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         * libs/gst/check/gstcheck.c: (gst_check_message_error),
9711         (gst_check_run_suite):
9712           if we get the wrong message, give us the types as string
9713         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9714           Fix a translatable
9715         * tests/check/elements/filesrc.c: (GST_START_TEST):
9716           add a test for trying to open a non-existing file
9717
9718 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9719
9720         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9721           add a test for adding self
9722
9723 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9724
9725         * libs/gst/check/gstcheck.h:
9726           add some assert_ as alias for fail_unless_*
9727         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
9728           increase test coverage
9729
9730 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * Makefile.am:
9733           include lcov.mak for lcov coverage generation
9734         * tools/Makefile.am:
9735           add to CLEANFILES
9736
9737 2006-07-02  Edward Hervey  <edward@fluendo.com>
9738
9739         * tests/check/elements/.cvsignore:
9740         moaping
9741
9742 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9743
9744         * configure.ac:
9745           don't set CFLAGS and friends for gcov, done from GST_GCOV now
9746         * tests/check/Makefile.am:
9747           clean up gcov files
9748
9749 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9750
9751         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
9752           remove gst_caps_simplify; it was not declared and not used
9753           and deprecated in 0.8
9754
9755 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9756
9757         * docs/faq/gst-uninstalled:
9758           don't put empty paths on PYTHONPATH
9759         * docs/gst/gstreamer-sections.txt:
9760           remove some symbols that are not there
9761
9762 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * gst/gstcaps.c: (gst_caps_compare_structures):
9765           whitespace fixes
9766         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9767         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9768           add more tests
9769
9770 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * libs/gst/dataprotocol/Makefile.am:
9773           build dataprotocol test by linking to the lib, instead of
9774           compiling the source, so we get coverage
9775         * tests/check/Makefile.am:
9776         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
9777         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
9778           add a test for filesrc
9779
9780 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9781
9782         * tests/check/gst/gststructure.c: (GST_START_TEST),
9783         (gst_structure_suite):
9784           Push coverage from 59.04% to 70.00%
9785
9786 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9787
9788         * tests/check/Makefile.am:
9789           gst-inspect every element; this makes sure that we also get
9790           coverage on element's get/set functions
9791
9792 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9793
9794         * configure.ac:
9795           set CFLAGS and friends to -O0 if gcov is being used
9796           add GCOV LIBS
9797         * gst/Makefile.am:
9798         * libs/gst/base/Makefile.am:
9799         * libs/gst/check/Makefile.am:
9800         * libs/gst/controller/Makefile.am:
9801         * libs/gst/dataprotocol/Makefile.am:
9802         * libs/gst/net/Makefile.am:
9803         * plugins/elements/Makefile.am:
9804         * plugins/indexers/Makefile.am:
9805           add makefile rules to generate gcov data and clean up
9806         * tests/check/Makefile.am:
9807           add a coverage target that generates an html overview
9808           of coverage data
9809
9810 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * tests/check/elements/fakesink.c:
9813         * tests/check/elements/fakesrc.c:
9814         * tests/check/elements/fdsrc.c:
9815         * tests/check/elements/identity.c:
9816         * tests/check/generic/sinks.c: (gst_sinks_suite):
9817         * tests/check/generic/states.c:
9818         * tests/check/gst/gst.c:
9819         * tests/check/gst/gstabi.c:
9820         * tests/check/gst/gstbin.c:
9821         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
9822         * tests/check/gst/gstbus.c: (gst_bus_suite):
9823         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9824         * tests/check/gst/gstelement.c:
9825         * tests/check/gst/gstevent.c: (gst_event_suite):
9826         * tests/check/gst/gstghostpad.c:
9827         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
9828         * tests/check/gst/gstmessage.c: (gst_message_suite):
9829         * tests/check/gst/gstminiobject.c:
9830         * tests/check/gst/gstobject.c:
9831         * tests/check/gst/gstpad.c:
9832         * tests/check/gst/gstpipeline.c:
9833         * tests/check/gst/gstplugin.c:
9834         * tests/check/gst/gstquery.c: (gst_query_suite):
9835         * tests/check/gst/gstsegment.c: (gst_segment_suite):
9836         * tests/check/gst/gststructure.c:
9837         * tests/check/gst/gstsystemclock.c:
9838         * tests/check/gst/gsttag.c:
9839         * tests/check/gst/gsttask.c: (gst_task_suite):
9840         * tests/check/gst/gstutils.c:
9841         * tests/check/gst/gstvalue.c:
9842         * tests/check/libs/adapter.c:
9843         * tests/check/libs/basesrc.c:
9844         * tests/check/libs/collectpads.c:
9845         * tests/check/libs/controller.c:
9846         * tests/check/libs/gdp.c: (gst_dp_suite):
9847         * tests/check/libs/gstnetclientclock.c:
9848         * tests/check/libs/gstnettimeprovider.c:
9849         * tests/check/libs/libsabi.c: (libsabi_suite):
9850         * tests/check/libs/typefindhelper.c:
9851         * tests/check/pipelines/cleanup.c:
9852         * tests/check/pipelines/parse-launch.c:
9853         * tests/check/pipelines/simple-launch-lines.c:
9854         * tests/check/pipelines/stress.c: (stress_suite):
9855           use the new macro
9856
9857 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
9860         * libs/gst/check/gstcheck.h:
9861           create a macro and function so that the simple unit test
9862           case can be just one macro to create main()
9863
9864 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
9865
9866         * gst/gstbin.c: (gst_bin_restore_thyself):
9867         * gst/gstxml.c: (gst_xml_make_element):
9868           Fix deserialisation from XML. Set parent manually
9869           instead of using gst_bin_add(), since gst_bin_add()
9870           will unlink all pads of the element being added.
9871           Fixes #341667.
9872
9873 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
9874
9875         Patch by: Peter Kjellerstedt <pkj at axis com>
9876
9877         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
9878           Fix missing g_strdup() and double free when using the
9879           --gst-plugin-load command line option (#346097).
9880
9881 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9882
9883         * gst/gstinfo.c:
9884           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
9885
9886         * libs/gst/net/gstnetclientclock.c:
9887         * libs/gst/net/gstnettimeprovider.c:
9888           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
9889
9890 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9891
9892         * docs/manual/advanced-dataaccess.xml:
9893           Fix buffer probe example compilation in
9894           ADM (#345708).
9895         
9896 2006-06-22  Edward Hervey  <edward@fluendo.com>
9897
9898         * gst/gstelement.c: (gst_element_pads_activate):
9899         We need to deactivate src pads first and then sink pads.
9900         The reason is the src pads might be blocking while holding the streaming
9901         lock, so we need to deactivate them first so that deactivating the sink
9902         pads doesn't block (since it will require the streaming lock).
9903
9904 2006-06-22  Wim Taymans  <wim@fluendo.com>
9905
9906         * libs/gst/base/gstbasetransform.c:
9907         (gst_base_transform_buffer_alloc):
9908         Forgot to remove two unneeded unrefs.
9909         Simplify a check _is_equal allready checks the obvious case.
9910
9911 2006-06-22  Wim Taymans  <wim@fluendo.com>
9912
9913         * docs/design/part-block.txt:
9914         Some docs about what pad_block should do.
9915
9916 2006-06-22  Wim Taymans  <wim@fluendo.com>
9917
9918         * gst/gstcaps.c: (gst_caps_replace):
9919         Fix crasher when passed NULL. Doc clarification.
9920         Optimize for the trivial case.
9921
9922         * gst/gstpipeline.c: (gst_pipeline_change_state):
9923         Small cleanups.
9924
9925         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9926         Small documentation cleanup.
9927
9928         * libs/gst/base/gstbasetransform.c:
9929         (gst_base_transform_buffer_alloc):
9930         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
9931         is what we need and it avoids a whole lot of redundant 
9932         refcount operations.
9933
9934 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
9935
9936         Patch by: Philip Jägenstedt  <philip at lysator liu se>
9937
9938         * docs/manual/advanced-dataaccess.xml:
9939           Fix 'Embedding static elements' section to use
9940           GST_PLUGIN_DEFINE_STATIC (#345607).
9941
9942 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9943
9944         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
9945           Attempt to 'fix' spuriously failing test case: it seems like the
9946           timeout of half a second is simply too small when the system is under
9947           load otherwise, and the timeout doesn't really seem to serve any
9948           particular purpose here. Give the pipeline a few seconds to preroll
9949           first, and then give it another half a second to go from PAUSED to
9950           PLAYING and marshal the message into the main thread.
9951
9952 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9953
9954         * tools/gst-feedback-m.m:
9955           Don't only use unversioned tools, try versioned tools as well
9956           (#345086).
9957
9958 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9959
9960         * gst/gstbus.c: (gst_bus_class_init):
9961           Fix some typos, make docs more explicit.
9962
9963 2006-06-20  Wim Taymans  <wim@fluendo.com>
9964
9965         * tests/check/gst/gstghostpad.c: (block_callback),
9966         (GST_START_TEST), (gst_ghost_pad_suite):
9967         Added some more ghostpad tests, mainly blocking
9968         and probes.
9969
9970 2006-06-16  Wim Taymans  <wim@fluendo.com>
9971
9972         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9973         (gst_file_sink_close_file), (gst_file_sink_do_seek),
9974         (gst_file_sink_event), (gst_file_sink_render):
9975         * plugins/elements/gstfilesink.h:
9976         Check if we can seek in the file instead of assuming
9977         we always can. Post an error when we are asked to seek in a
9978         non-seekable file (like a fifo). Fixes #343312.
9979         Some cleanups.
9980
9981 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9982
9983         * tools/gst-launch.1.in:
9984           Un-garble (fourcc) bit in filtered caps section.
9985
9986 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9987
9988         * docs/manual/advanced-autoplugging.xml:
9989         * docs/manual/basics-helloworld.xml:
9990         * docs/manual/highlevel-components.xml:
9991           Don't leak bus reference in sample code.
9992
9993 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
9994
9995         * autogen.sh:
9996           Add default for new --enable-plugin-docs switch.
9997
9998         * configure.ac:
9999           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10000           Fixes #344039.
10001
10002         * docs/Makefile.am:
10003           Use new ENABLE_PLUGIN_DOCS conditional.
10004
10005 2006-06-14  Wim Taymans  <wim@fluendo.com>
10006
10007         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10008         Make it clear with a FIXME and a real define what the #if 0
10009         previously disabled.
10010
10011 2006-06-14  Wim Taymans  <wim@fluendo.com>
10012
10013         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10014         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10015         * libs/gst/base/gstbasetransform.c:
10016         (gst_base_transform_sink_eventfunc):
10017         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10018         Don't randomly and silently reset a segment when the format 
10019         changes as this is a bug somewhere upstream. Fixes #330379.
10020
10021 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10022
10023         Patch by: Wouter Paesen  <wouter at kangaroot net>
10024
10025         * libs/gst/controller/gstcontroller.c:
10026         (gst_controlled_property_new):
10027           Fix controlling of float properties (#344849).
10028
10029         * tests/check/libs/controller.c:
10030         (gst_test_mono_source_get_property),
10031         (gst_test_mono_source_set_property),
10032         (gst_test_mono_source_class_init), (GST_START_TEST):
10033           While we're at it, add some float stuff to unit test.
10034
10035 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10036
10037         * docs/README:
10038         * docs/images/gdp-header.svg:
10039           add a gdp image
10040         * docs/libs/Makefile.am:
10041         * docs/libs/gdp-header.png:
10042         * libs/gst/dataprotocol/dataprotocol.c:
10043           add it to the API docs
10044         * docs/manual/intro-motivation.xml:
10045           fix typo
10046
10047 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10048
10049         * gst/gst.c: (scan_and_update_registry), (init_post):
10050           If the fork()'ed child process can't write the updated registry cache
10051           file to disk for some reason, make it exit with a failure exit code,
10052           so that the parent can then re-scan the plugins itself and update the
10053           registry structures in memory and work with that (rather than failing
10054           when creating elements because seemingly no plugins are available).
10055           Refactor registry scanning code into separate function for this and
10056           also separate fork() and non-fork() code paths. Fixes #344748.
10057
10058 2006-06-13  Wim Taymans  <wim@fluendo.com>
10059
10060         * docs/manual/advanced-dataaccess.xml:
10061         Fix wrong PluginDesc. Fixes #344755.
10062
10063 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10064
10065         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10066           Fix silly bug that prevented us from creating
10067           ~/.gstreamer-0.10 and writing the registry in one
10068           go (the first call to g_mkstemp() would overwrite the
10069           placeholder in the template string, so the second call
10070           to g_mkstemp() after creating the missing directory
10071           would then error out with 'invalid argument').
10072
10073 2006-06-13  Edward Hervey  <edward@fluendo.com>
10074
10075         * gst/gst.c: (init_post):
10076         Free string.
10077
10078 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10079
10080         * gst/glib-compat-private.h:
10081         * gst/glib-compat.c:
10082         * gst/glib-compat.h:
10083         * gst/gstvalue.c: (gst_value_serialize_flags):
10084           remove GLib 2.6 compatibility code
10085
10086 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10087
10088         * gst/parse/Makefile.am:
10089           Fix build with 'make -j N' even more (#340016).
10090
10091 2006-06-12  Wim Taymans  <wim@fluendo.com>
10092
10093         * docs/gst/gstreamer-sections.txt:
10094         Fix docs.
10095
10096 2006-06-12  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstsegment.c: (gst_segment_set_duration),
10099         (gst_segment_set_last_stop), (gst_segment_set_seek),
10100         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10101         (gst_segment_to_running_time), (gst_segment_clip):
10102         Use G_UNLIKELY to help the compiler a bit.
10103
10104 2006-06-12  Wim Taymans  <wim@fluendo.com>
10105
10106         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10107
10108         * gst/gstevent.c: (gst_event_get_type):
10109         * gst/gstmessage.c:
10110         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10111         (gst_pad_push):
10112         constify quark registration strings. Fixes #344115
10113         Avoid unneeded type checking is _pad_push() by internally
10114         calling gst_pad_chain_unchecked().
10115
10116 2006-06-12  Wim Taymans  <wim@fluendo.com>
10117
10118         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10119         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10120         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10121         (gst_buffer_is_span_fast), (gst_buffer_span):
10122         Init _type for consistency.
10123         Use _FLAGS macro to avoid type check.
10124         Avoid unneeded type checks in subbufer code.
10125
10126 2006-06-12  Wim Taymans  <wim@fluendo.com>
10127
10128         * gst/gst.c: (gst_debug_help):
10129         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10130         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10131         (gst_plugin_feature_list_free):
10132         * gst/gstregistry.c: (gst_registry_add_plugin),
10133         (gst_registry_add_feature), (gst_registry_plugin_filter),
10134         (gst_registry_feature_filter), (gst_registry_find_plugin),
10135         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10136         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10137         * gst/gstregistryxml.c: (load_feature),
10138         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10139         * gst/gstminiobject.c: (gst_mini_object_unref),
10140         (gst_mini_object_replace), (gst_value_mini_object_free),
10141         (gst_value_mini_object_copy):
10142         Use _CAST macros to avoid unneeded type checking.
10143         Added some more G_UNLIKELY.
10144
10145 2006-06-12  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/gstbuffer.h:
10148         Avoid unneeded type checking.
10149         API: GST_BUFFER_IS_DISCONT
10150
10151         * gst/gstminiobject.h:
10152         Avoid type check in flag accessor.
10153
10154         * gst/gstelementfactory.h:
10155         * gst/gstplugin.h:
10156         * gst/gstpluginfeature.h:
10157         Add _CAST macros.
10158         API: GST_ELEMENT_FACTORY_CAST
10159         API: GST_PLUGIN_CAST
10160         API: GST_PLUGIN_FEATURE_CAST
10161
10162 2006-06-12  Wim Taymans  <wim@fluendo.com>
10163
10164         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10165         (gst_object_unref):
10166         Add G_UNLIKELY in type registration.
10167         Avoid type check in _ref/_unref since that is also
10168         done in glib.
10169
10170 2006-06-12  Wim Taymans  <wim@fluendo.com>
10171
10172         * gst/gsterror.c: (gst_g_error_get_type):
10173         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10174         (gst_static_pad_template_get_type):
10175         * gst/gsttaglist.c: (gst_tag_list_get_type):
10176         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10177         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10178         * gst/gsturi.c: (gst_uri_handler_get_type):
10179         * gst/gstvalue.c: (gst_date_get_type):
10180         * gst/gstxml.c: (gst_xml_get_type):
10181         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10182         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10183         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10184         Add G_UNLIKELY in type registration.
10185
10186 2006-06-12  Wim Taymans  <wim@fluendo.com>
10187
10188         * tools/gst-inspect.c: (print_signal_info):
10189         Properly print enum values.
10190
10191 2006-06-12  Wim Taymans  <wim@fluendo.com>
10192
10193         * gst/gstinfo.c: (gst_debug_set_active),
10194         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10195         * gst/gstinfo.h:
10196         Add some G_[UN]LIKELY.
10197         Maintain __gst_debug_min to avoid formatting the arguments of
10198         debug messages that will be dropped anyway to avoid a lot of 
10199         overhead from the debugging system.
10200
10201 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10202
10203         * po/POTFILES.in:
10204         * po/POTFILES.skip:
10205           add missing files containing translatable strings, tell intltool about
10206           one exception
10207
10208 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10209
10210         * tests/check/libs/.cvsignore:
10211         add test-binary to ignore list
10212
10213 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10214
10215         * docs/libs/gstreamer-libs-docs.sgml:
10216         reorder (put dp into a chapter) and indent
10217
10218 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * configure.ac:
10221           back to HEAD
10222
10223 === release 0.10.8 ===
10224
10225 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10226
10227         * configure.ac:
10228           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10229
10230 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10231
10232         * gst/gst.c: (init_post):
10233           move pid declaration to declaration block
10234
10235 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10236
10237         * gst/gst.c: (init_post):
10238           use _exit() instead of exit() in our forked child; this ensures
10239           that none of the registered exit handlers from whatever is using
10240           GStreamer get executed.  This fixes gnome-mixer-applet failing
10241           to load, because ORBit would shut down.
10242           Spotted by: Edward Hervey  <edward@fluendo.com>
10243           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10244           Fixes #344474
10245
10246 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10247
10248         * configure.ac:
10249           back to TRUNK
10250
10251 === release 0.10.7 ===
10252
10253 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10254
10255         * configure.ac:
10256           releasing 0.10.7, "Soepeke, ik zie ou"
10257
10258 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * configure.ac:
10261         * po/af.po:
10262         * po/az.po:
10263         * po/bg.po:
10264         * po/ca.po:
10265         * po/cs.po:
10266         * po/de.po:
10267         * po/en_GB.po:
10268         * po/fr.po:
10269         * po/it.po:
10270         * po/nb.po:
10271         * po/nl.po:
10272         * po/ru.po:
10273         * po/sq.po:
10274         * po/sr.po:
10275         * po/sv.po:
10276         * po/tr.po:
10277         * po/uk.po:
10278         * po/vi.po:
10279         * po/zh_CN.po:
10280         * po/zh_TW.po:
10281         * win32/common/config.h:
10282           0.10.6.2 prerelease
10283
10284 2006-06-07  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/gstindex.c: (gst_index_gtype_resolver):
10287         * tools/gst-xmlinspect.c: (print_plugin_info):
10288         Fix leak spotted by coverity checker. Fixes #343827
10289         Fix another other leak found by paolo borelli.
10290
10291 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * libs/gst/dataprotocol/dataprotocol.c:
10294         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10295         (gst_dp_version_get_type), (gst_dp_init),
10296         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10297         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10298         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10299         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10300         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10301         (gst_dp_packetizer_free):
10302         * libs/gst/dataprotocol/dataprotocol.h:
10303           API: add a GstDPPacketizer object, and create/free functions
10304           API: add GstDPVersion enum
10305           Add 1.0 event function that uses the string serialization
10306           Serialize more useful buffer flags
10307           Fixes #343988
10308
10309 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * tests/check/Makefile.am:
10312         * tests/check/gst/gstabi.c:
10313         * tests/check/gst/struct_ppc64.h:
10314         * tests/check/libs/libsabi.c:
10315         * tests/check/libs/struct_ppc64.h:
10316           add ppc64 structure sizes
10317
10318 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * tests/check/Makefile.am:
10321         * tests/check/gst/gstabi.c:
10322         * tests/check/gst/struct_x86_64.h:
10323         * tests/check/libs/libsabi.c:
10324         * tests/check/libs/struct_x86_64.h:
10325           generate and add structure size lists for x86_64
10326
10327 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10328
10329         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10330         * libs/gst/check/gstcheck.h:
10331           factor out the method from tests that checks size of structures,
10332           and add code to generate the header containing these sizes
10333         * tests/check/gst/gstabi.c: (GST_START_TEST):
10334         * tests/check/gst/struct_i386.h:
10335         * tests/check/libs/libsabi.c: (GST_START_TEST):
10336         * tests/check/libs/struct_i386.h:
10337           use it
10338
10339 2006-06-06  Michael Smith  <msmith@fluendo.com>
10340
10341         * gst/gstsegment.h:
10342           Don't use c++-style comments, fixes #343929
10343
10344 2006-06-05  Edward Hervey  <edward@fluendo.com>
10345
10346         * gst/gst.c:
10347         plugin_paths is not used if we build without registry support.
10348
10349         * gst/gstsegment.c: (gst_segment_copy): 
10350         _copy() was always returning NULL...
10351
10352 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10353
10354         * libs/gst/dataprotocol/dataprotocol.c:
10355         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10356         (gst_dp_packet_from_event):
10357           factor out CRC code
10358
10359 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10360
10361         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10362           make sure we unset caps
10363
10364 2006-06-02  Michael Smith  <msmith@fluendo.com>
10365
10366         * libs/gst/check/gstcheck.c: (gst_check_init),
10367         (gst_check_chain_func):
10368         * libs/gst/check/gstcheck.h:
10369           Add a cond/mutex to the check support lib, signal this whenever we
10370           add to the buffers list. This will allow tests to not busy-wait on
10371           the buffer-list.
10372
10373 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * libs/gst/dataprotocol/dataprotocol.c:
10376         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10377         (gst_dp_packet_from_event):
10378           factor out some common header init code
10379
10380 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10381
10382         * docs/libs/gstreamer-libs-sections.txt:
10383         * docs/libs/tmpl/gstdataprotocol.sgml:
10384         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10385         * libs/gst/dataprotocol/dataprotocol.h:
10386           API: make gst_dp_crc() public
10387
10388 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10389
10390         * plugins/indexers/gstindexers.c: (plugin_init):
10391         conditionally register fileindexer (fixes #343598)
10392
10393 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * gst/gsttagsetter.h:
10396         Can't cast ifaces to a class
10397
10398         * libs/gst/net/gstnetclientclock.h:
10399         * libs/gst/net/gstnettimeprovider.h:
10400         * plugins/elements/gstfakesink.h:
10401         * plugins/elements/gstfakesrc.h:
10402         * plugins/elements/gstfdsink.h:
10403         * plugins/elements/gstfdsrc.h:
10404         * plugins/elements/gstfilesink.h:
10405         * plugins/elements/gstfilesrc.h:
10406         * plugins/elements/gstidentity.h:
10407         * plugins/elements/gstqueue.h:
10408         * plugins/elements/gsttee.h:
10409         * plugins/indexers/gstfileindex.c:
10410         * plugins/indexers/gstmemindex.c:
10411         * tests/old/examples/plugins/example.h:
10412         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10413
10414 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10415
10416         * libs/gst/dataprotocol/dataprotocol.c:
10417         (gst_dp_header_from_buffer):
10418           make sure we zero the whole ABI-compatible area
10419
10420 2006-06-01  Wim Taymans  <wim@fluendo.com>
10421
10422         Patch by: Alessandro Decina <alessandro at nnva dot org>
10423
10424         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10425         Make sure the EOS flag is cleared from pads after a flush
10426         or stop. Fixes #343538.
10427
10428         * tests/check/libs/collectpads.c: (GST_START_TEST),
10429         (gst_collect_pads_suite):
10430         Added test for collectpads reusage after EOS.
10431
10432 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10433
10434         * gst/gst.c:
10435          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10436         * win32/common/libgstbase.def:
10437          export gst_collect_pads_set_flushing
10438         * win32/common/libgstreamer.def:
10439          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10440          gst_value_fraction_multiply
10441         * win32/vs6/gst_inspect.dsp:
10442          add a link to intl.lib
10443
10444 2006-05-30  Wim Taymans  <wim@fluendo.com>
10445
10446         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10447         (gst_collect_pads_chain):
10448         Handle the case where a pad is removed from the collection
10449         that could cause the other pads to become collectable.
10450
10451 2006-05-30  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/gstelement.c:
10454         Clarify the use of _release_request_pad() and
10455         _get_request_pad() a bit better.
10456
10457         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10458         (gst_adapter_take_buffer):
10459         Fix some doc and comment typos.
10460
10461 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10462
10463         * docs/gst/gstreamer-sections.txt:
10464         * docs/libs/gstreamer-libs-sections.txt:
10465           add declared symbols
10466
10467 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10468
10469         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10470         Add debug that can be enabled using a #define at the top of the file,
10471         for dumping stats about how late/early we were when waking up from
10472         waiting on the clock.
10473
10474 2006-05-30  Wim Taymans  <wim@fluendo.com>
10475
10476         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
10477         When rebuilding the pad list, don't leak the previous list.
10478
10479 2006-05-30  Wim Taymans  <wim@fluendo.com>
10480
10481         Patch by: Lutz Mueller <lutz at topfrose dot de>
10482
10483         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10484         (gst_base_src_get_query_types), (gst_base_src_update_length):
10485         Publish supported query types.
10486         Update last_stop field in get_range mode so the position
10487         query works. Fixes #342321.
10488
10489 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
10490
10491         * docs/gst/gstreamer-sections.txt:
10492         * gst/gsttaglist.c: (_gst_tag_initialize):
10493         * gst/gsttaglist.h:
10494           API: add GST_TAG_PREVIEW_IMAGE (#343341).
10495
10496 2006-05-30  Wim Taymans  <wim@fluendo.com>
10497
10498         Patch by: Alessandro Decina <alessandro at nnva dot org>
10499
10500         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10501         Unlock mutex when removing an unknown pad.
10502         Fixes #343334.
10503
10504         * tests/check/Makefile.am:
10505         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
10506         (push_event), (setup), (teardown), (GST_START_TEST),
10507         (gst_collect_pads_suite), (main):
10508         Added collecpads check, disabled for now as check crashes for
10509         some reason.
10510
10511 2006-05-29  Wim Taymans  <wim@fluendo.com>
10512
10513         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
10514         Don't leak pads lists.
10515
10516 2006-05-29  Wim Taymans  <wim@fluendo.com>
10517
10518         * docs/libs/gstreamer-libs-sections.txt:
10519         * libs/gst/base/gstcollectpads.c:
10520         (gst_collect_pads_set_flushing_unlocked),
10521         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10522         (gst_collect_pads_stop):
10523         * libs/gst/base/gstcollectpads.h:
10524         API: gst_collect_pads_set_flushing()
10525         Added api to set the pads to flushing, useful for seeking
10526         code in elements using collectpads.
10527         Clear segment when receiving a flush.
10528
10529 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
10530
10531         * gst/gst.c: (add_path_func), (init_post):
10532           Don't scan registry paths passed via --gst-plugin-path immediately
10533           (will crash, because absolutely nothing is set up and no types are
10534           registered etc.); do this later in init_post(). Fixes #343057.
10535
10536 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10537
10538         * gst/gst.c: (init_post):
10539           if we have fork, fork while reading/rebuilding the registry
10540           so the parent doesn't take the hit of having all plugins loaded
10541           in memory.  Fixes #342777.
10542         * configure.ac:
10543           Check if we have fork()
10544         * win32/common/config.h.in:
10545           no fork() on win32
10546
10547 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10548
10549         * plugins/elements/gstelements.c:
10550         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10551         (gst_file_src_init), (gst_file_src_set_property),
10552         (gst_file_src_get_property), (gst_file_src_start):
10553         * plugins/elements/gstfilesrc.h:
10554           API: GstFileSrc::use-mmap
10555
10556         Add a use-mmap property to enable easier testing of all code paths.
10557         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
10558         in the absence of gnomevfssrc. (Closes #340501)
10559
10560 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10561
10562         * tools/gst-inspect.c:
10563         Add missing include, removes warning of ngettext not being defined on
10564         some arches.
10565
10566 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10567
10568         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10569         Handle NULL input and output pointers silently as a failed conversion,
10570         rather than g_warnings.
10571
10572 2006-05-25  Wim Taymans  <wim@fluendo.com>
10573
10574         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
10575         Initialize variable before using. Fixes #342820.
10576
10577 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
10578
10579         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
10580           Fix off-by-one bug that would only allow peeks of N-1 bytes
10581           from the start even if the buffer to typefind on contains
10582           in fact N bytes of data (makes vorbis typefinding from a
10583           vorbis identification header buffer work).
10584
10585         * tests/check/Makefile.am:
10586         * tests/check/libs/.cvsignore:
10587         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
10588         (gst_typefindhelper_suite), (main), (foobar_typefind),
10589         (plugin_init):
10590           Add very basic unit test for gst_type_find_helper_for_buffer()
10591           that checks for the problem fixed above.
10592
10593 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * tools/gst-inspect.c: (print_interfaces),
10596         (print_element_properties_info), (print_element_list), (main):
10597           add more translatable strings
10598
10599 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
10600
10601         Patch by: Julien Moutte  <julien at moutte net>
10602
10603         * docs/gst/gstreamer-sections.txt:
10604           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
10605           
10606         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
10607         (gst_fake_sink_preroll):
10608         * plugins/elements/gstfakesink.h:
10609           API: Add new GstFakeSink::preroll-handoff signal (#337100).
10610
10611 2006-05-23  Wim Taymans  <wim@fluendo.com>
10612
10613         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
10614         * gst/gstpad.h:
10615         Added _CUSTOM error and success GstFlowReturn that can be
10616         used be elements internally. 
10617         Added macro to check for SUCCESS flowreturns.
10618         API: GST_FLOW_CUSTOM_SUCCESS
10619         API: GST_FLOW_CUSTOM_ERROR
10620         API: GST_FLOW_IS_SUCCESS
10621
10622         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
10623         Added check for GstFlowReturn sanity.
10624
10625 2006-05-23  Wim Taymans  <wim@fluendo.com>
10626
10627         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10628
10629         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10630         (gst_collect_pads_event):
10631         clear/reset segment info in FLUSH_STOP.
10632         Fixes #336929.
10633
10634 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
10637         (gst_collect_pads_check_collected):
10638         Flush queued buffer on _stop(), fixes playing again (#342454)
10639
10640 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * tests/check/gst/gststructure.c: (GST_START_TEST),
10643         (gst_structure_suite):
10644           add a test for a complete structure
10645
10646 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10647
10648         * docs/faq/developing.xml:
10649         * docs/faq/faq.xml:
10650         * docs/faq/troubleshooting.xml:
10651         * docs/faq/using.xml:
10652           Some minor FAQ updates that won't change the fact that
10653           our FAQ is badly structured, full of information hardly
10654           anyone new to GStreamer needs to know and lacking lots
10655           of information people constantly ask for.
10656           
10657 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
10658
10659         * gst/gstpad.c: (gst_pad_set_caps):
10660           Short-circuit gst_pad_set_caps if setting the existing
10661           caps pointer again, and avoid printing debug and 
10662           reffing/unreffing the caps.
10663
10664         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10665           There's actually no need to set the caps before pushing -
10666           the acceptcaps method will handle it anyway.
10667
10668 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10669
10670         * docs/gst/gstreamer-sections.txt:
10671         * win32/common/libgstreamer.def:
10672         * gst/gstutils.c: (gst_element_seek_simple):
10673         * gst/gstutils.h:
10674           API: add gst_element_seek_simple() (#342238).
10675
10676 2006-05-18  Edward Hervey  <edward@fluendo.com>
10677
10678         * gst/gsttypefind.c: (gst_type_find_get_type):
10679         * gst/gsttypefind.h:
10680         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
10681         registered for GstTypeFind pointers. This allows wrapping the structure
10682         in bindings (i.e. gst-python).
10683
10684 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10685
10686         * gst/gsttagsetter.c:
10687           Docs additions and fixes (see #339918).
10688
10689 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10690
10691         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10692         The caps intersection algorithm can produce multiple copies of the
10693         caps. Until that is fixed, we need to simplify the result to be
10694         sure whether the allowed caps are fixed or not.
10695
10696         * plugins/elements/gstqueue.c: (gst_queue_init),
10697         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
10698         (gst_queue_push_one):
10699         Proxied buffer alloc should not set the caps on the source pad.
10700         When pushing buffers, we always accept the caps change that triggers.
10701         This prevents negotiation errors caused by caps changing mid-stream 
10702         and then being refused on our source pad (because upstream is now
10703         refusing those caps).
10704
10705 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10706
10707         * tests/examples/helloworld/helloworld.c: (main):
10708           Must plug audioconvert and audioresample between decoder
10709           and audio sink.
10710
10711 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
10712
10713         * gst/gstregistryxml.c: (read_string), (load_pad_template),
10714         (load_feature), (load_plugin):
10715         Allow empty strings for some of the plugin fields so we don't 
10716         drop valid plugin entries that were written out correctly
10717         (Fixes #341479)
10718
10719 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
10720         
10721         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10722           Use g_remove and g_rename instead of remove and rename that don't 
10723           handle utf8 characters. rename was failing for users who had specific
10724           characters in their name then the registry was built at each 
10725           gstreamer init.
10726         * win32/vs6/gst_inspect.dsp:
10727         * win32/vs6/gst_launch.dsp:
10728         * win32/vs6/libgstbase.dsp:
10729         * win32/vs6/libgstcoreelements.dsp:
10730         * win32/vs6/libgstreamer.dsp:
10731           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
10732           build of libgstreamer and clean unused libraries in projects link 
10733           settings.
10734
10735 2006-05-17  Edward Hervey  <edward@fluendo.com>
10736
10737         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10738         The queue is not responsible for pushing an EOS when receiving a fatal
10739         flow error. It's up to the real element driving the pipeline to do that.
10740
10741 2006-05-16  Edward Hervey  <edward@fluendo.com>
10742
10743         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10744         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
10745         buffer returned a fatal error. It should just send an EOS and stop
10746         its task.
10747         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
10748         when pushing buffers on the queue and will be able to handle the event.
10749
10750 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
10751
10752         * docs/manual/basics-bins.xml:
10753         * docs/manual/basics-init.xml:
10754           Fix typos and minor errors in sample code (#341856).
10755
10756 2006-05-16  Wim Taymans  <wim@fluendo.com>
10757
10758         * docs/design/part-qos.txt:
10759         Fix indexes in formulas to make more sense.
10760
10761 2006-05-15  Wim Taymans  <wim@fluendo.com>
10762
10763         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10764         Don't report POSITION based on clock time if sync is
10765         disabled in a sink.
10766
10767 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
10768
10769         * gst/gstobject.h:
10770           Add cast to make compiler happy - refcount variable was a gint
10771           in GstObject but is a guint in GObject and g_atomic_int_get()
10772           wants a gint *.
10773
10774 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         * gst/parse/Makefile.am:
10777           chain commands using &&, which also makes parallel make work
10778
10779 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
10780
10781         * docs/gst/gstreamer-sections.txt:
10782         * gst/gstevent.c:
10783         * gst/gstevent.h:
10784         * gst/gstmessage.h:
10785           Minor docs fixes.
10786
10787 === release 0.10.6 ===
10788
10789 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
10790
10791         * configure.ac:
10792           releasing 0.10.6, "Take the cannoli"
10793
10794 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10795
10796         * tools/gst-launch.c: (print_tag):
10797           Fix use of uninitialized variable in the hypothetical
10798           case that some broken plugin creates a GST_TAG_IMAGE
10799           tag containing a NULL buffer (#341667).
10800
10801 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10802
10803         * tools/gst-launch.c: (print_tag):
10804           Print something more intelligible for image tags when
10805           using the -t switch (#341556).
10806
10807 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10808
10809         * Makefile.am:
10810           updates for win32
10811         * configure.ac:
10812           define GST_MAJORMINOR so we have it available in win32/common/config.h
10813           Possibly remove it from our Makefile.am files later
10814         * win32/common/config.h:
10815         * win32/common/config.h.in:
10816           added GST_MAJORMINOR
10817         * win32/common/gstenumtypes.c: (register_gst_resource_error):
10818         * win32/common/gstversion.h:
10819           updated
10820
10821 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
10822
10823         * win32/MANIFEST:
10824           Update win32 files listing.
10825         * win32/common/gstversion.h:
10826           Add GST_MAJORMINOR definition.
10827         * win32/common/libgstreamer.def:
10828           Add new exported functions.
10829           
10830 2006-05-12  Michael Smith  <msmith@fluendo.com>
10831
10832         * gst/gstplugin.c: (gst_plugin_load_file):
10833           If an so file has no plugin entry point, unload the module.
10834
10835 2006-05-11  Wim Taymans  <wim@fluendo.com>
10836
10837         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
10838         (gst_queue_set_property):
10839         Don't forget to signal the _chain or _loop function 
10840         when the queue size or thresholds change since that might
10841         cause them to make progres again.
10842
10843 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
10844
10845         * gst/gstclock.c: (gst_clock_class_init):
10846         * gst/gstindex.c: (gst_index_class_init):
10847         * gst/gstobject.c: (gst_object_class_init):
10848         * gst/gstpad.c: (gst_pad_class_init):
10849         * gst/gstpipeline.c: (gst_pipeline_class_init):
10850         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10851         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
10852         * libs/gst/base/gstbasetransform.c:
10853         (gst_base_transform_class_init):
10854         * libs/gst/net/gstnetclientclock.c:
10855         (gst_net_client_clock_class_init):
10856         * libs/gst/net/gstnettimeprovider.c:
10857         (gst_net_time_provider_class_init):
10858         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
10859         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10860         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10861         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
10862         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10863         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10864         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10865         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10866         * plugins/elements/gsttee.c: (gst_tee_class_init):
10867         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10868         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10869           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
10870
10871 2006-05-11  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/gstbuffer.c: (_gst_buffer_initialize):
10874         Register subbufer along with the buffer type so that
10875         it does not accidentally gets registered from N
10876         different streaming threads in a non threadsafe way.
10877
10878 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10879
10880         * gst/gstbuffer.h:
10881         * gst/gstevent.h:
10882         * gst/gstmessage.h:
10883           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
10884           gst_event_ref() and gst_message_ref() functions again
10885           (ugly hack, please do fix if there's a better way besides
10886           overrides.txt, which doesn't seem to work).
10887
10888 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * libs/gst/check/gstcheck.h:
10891           add an assert for setting state to avoid lots of repetitive code
10892           in the future
10893
10894 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * gst/gstvalue.c: (gst_value_serialize_flags):
10897           fix a leak if no flags are set
10898         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10899           fix leak in tests
10900
10901 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10902
10903         * docs/manual/basics-pads.xml:
10904           Expand a bit on caps and filtered links and update
10905           examples that were still using the no longer existing
10906           gst_pad_link_filtered() (#338206).
10907
10908 2006-05-10  Wim Taymans  <wim@fluendo.com>
10909
10910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10911         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10912         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10913         (gst_collect_pads_stop):
10914         * libs/gst/base/gstcollectpads.h:
10915         No need to call _stop in _finalize.
10916         Iterate the main pad list in _finalize.
10917         Added some more debug.
10918         Free lists and data in the right order.
10919         Also free data whem doing _remove_pad when stopped for
10920         backward compatibility protect ::started with PAD_LOCK as
10921         well.
10922
10923 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
10926         (gst_structure_parse_value):
10927           add some comments
10928           rename a method so that it actually says what it does better
10929
10930 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10931
10932         * gst/gstevent.c: (_gst_event_initialize):
10933         * gst/gstformat.c: (_gst_format_initialize):
10934           make sure some essential types used by events are registered
10935           as part of gst_init()
10936         * gst/gstvalue.c: (gst_value_serialize_flags):
10937           if no flags are set, serialize them to a value that represents NONE
10938           so that deserializing them works
10939         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10940           add tests for serialization and deserialization of flags
10941
10942 2006-05-10  Wim Taymans  <wim@fluendo.com>
10943
10944         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
10945         (gst_collect_pads_collect_range), (gst_collect_pads_available),
10946         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
10947         (gst_collect_pads_event), (gst_collect_pads_chain):
10948         Update docs.
10949         Better debug info.
10950         Catch and return errors from the collect function
10951         Refuse data on eos pads.
10952
10953 2006-05-10  Edward Hervey  <edward@fluendo.com>
10954
10955         * gst/gstinterface.h:
10956         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
10957         GInterface type checking.
10958         They were previously using non-defined macros.
10959
10960 2006-05-09  Wim Taymans  <wim@fluendo.com>
10961
10962         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
10963         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
10964         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
10965         (gst_collect_pads_start), (gst_collect_pads_stop),
10966         (gst_collect_pads_peek), (gst_collect_pads_pop),
10967         (gst_collect_pads_available), (gst_collect_pads_read),
10968         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
10969         (gst_collect_pads_is_collected), (gst_collect_pads_event),
10970         (gst_collect_pads_chain):
10971         * libs/gst/base/gstcollectpads.h:
10972         Clean up the mess that is collectpads, add comments and
10973         FIXMEs where needed.
10974         Maintain a separate pad list so we can add pads while
10975         collecting the other ones. For this we need a new separate 
10976         lock (see comics).
10977         Fix memory leak in finalize.
10978         Refactor some weird code to set/unset pad flushing flags, mark
10979         with comments.
10980         Don't crash in _available, _read, _flush when we're EOS.
10981
10982         * tests/check/libs/.cvsignore:
10983         Ignore adapter check binary.
10984
10985 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10986
10987         * gst/gstindex.c: (gst_index_resolver_get_type):
10988         * plugins/elements/gstfakesink.c:
10989         (gst_fake_sink_state_error_get_type):
10990         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10991         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
10992         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10993           Const-ify GEnumValue arrays.
10994
10995 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10996
10997         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10998           Add test case for flags + gst_buffer_make_metadata_writable().
10999
11000 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11001
11002         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11003           gst_buffer_make_metadata_writable() should maintain the
11004           buffer flags (those that make sense at least) (see #340859).
11005
11006 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11007
11008         * tools/gst-inspect.c:
11009         * tools/gst-launch.c:
11010         * tools/gst-typefind.c:
11011         * tools/gst-xmlinspect.c:
11012         * tools/tools.h:
11013           Fix up includes: need to include stdlib.h in tools.h for exit().
11014
11015 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11016
11017         * gst/gsttaglist.c: (_gst_tag_initialize):
11018         * gst/gsttaglist.h:
11019           API: add GST_TAG_IMAGE tag (#340721).
11020
11021 2006-05-08  Wim Taymans  <wim@fluendo.com>
11022
11023         * gst/gstquery.c:
11024         Added some docs for the segment query.
11025
11026 2006-05-08  Wim Taymans  <wim@fluendo.com>
11027
11028         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11029         (gst_base_src_loop), (gst_base_src_change_state):
11030         Always push non-flushing serialized events in the streaming 
11031         thread.
11032
11033 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * gst/gsterror.c: (_gst_stream_errors_init):
11036           Add a missing error string.
11037
11038 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11039
11040         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11041         Add applied_rate to the debug
11042
11043         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11044         Copy applied_rate into the outgoing NEWSEGMENT event
11045
11046 2006-05-08  Wim Taymans  <wim@fluendo.com>
11047
11048         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11049
11050         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11051         (gst_base_sink_change_state):
11052         call ::unlock before taking the PREROLL_LOCK so we can safely
11053         handle elements that lock in ::render.
11054         Fixes #340174.
11055
11056 2006-05-08  Edward Hervey  <edward@fluendo.com>
11057
11058         * autogen.sh: (CONFIGURE_DEF_OPT): 
11059         Darwin's libtoolize is in fact called glibtoolize.
11060         Adding glibtoolize to the list of accepted names for libtoolize.
11061
11062 2006-05-08  Wim Taymans  <wim@fluendo.com>
11063
11064         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11065         Unify error handling, don't post an error message
11066         when a push() returns EOS but perform our normal EOS
11067         handling code. Fixes #340772.
11068
11069 2006-05-08  Wim Taymans  <wim@fluendo.com>
11070
11071         * docs/design/part-overview.txt:
11072         Make upsteam/downstream concepts more clear.
11073         Give an example of serialized/non-serialized events.
11074
11075         * docs/design/part-events.txt:
11076         * docs/design/part-streams.txt:
11077         Mention applied_rate.
11078
11079         * docs/design/part-trickmodes.txt:
11080         Mention applied rate, flesh out some more use cases.
11081
11082         * gst/gstevent.c: (gst_event_new_new_segment),
11083         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11084         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11085         (gst_event_parse_tag), (gst_event_new_buffer_size),
11086         (gst_event_parse_buffer_size), (gst_event_new_qos),
11087         (gst_event_parse_qos), (gst_event_parse_seek),
11088         (gst_event_new_navigation):
11089         * gst/gstevent.h:
11090         Add applied_rate field to NEWSEGMENT event.
11091         API: gst_event_new_new_segment_full()
11092         API: gst_event_parse_new_segment_full()
11093
11094         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11095         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11096         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11097         * gst/gstsegment.h:
11098         Add applied_rate to GstSegment structure.
11099         Make calculation of stream_time and running_time more correct
11100         wrt rate/applied_rate.
11101         Add some more docs.
11102         API: GstSegment::applied_rate field
11103         API: gst_segment_set_newsegment_full();
11104
11105         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11106         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11107         * libs/gst/base/gstbasetransform.c:
11108         (gst_base_transform_sink_eventfunc),
11109         (gst_base_transform_handle_buffer):
11110         Parse and use applied_rate in the GstSegment field.
11111
11112         * tests/check/gst/gstevent.c: (GST_START_TEST):
11113         Add check for applied_rate field.
11114
11115         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11116         (gstsegments_suite):
11117         Add more checks for various GstSegment operations.
11118
11119 2006-05-08  Wim Taymans  <wim@fluendo.com>
11120
11121         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11122         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11123         (gst_base_sink_get_position), (gst_base_sink_change_state):
11124         Store the sync time of the buffer end position separatly in a
11125         new variable eos_rtime so we can properly sync the EOS event.
11126         Fixes #340697.
11127         Fix the docs for gst_base_sink_set_qos_enabled().
11128         Don't set segment start to invalid value when we receive a 
11129         non TIME newsegment.
11130         get closer to handling position reporting for negative rates 
11131         correctly.
11132
11133 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11134
11135         * gst/gstcaps.c:
11136         Docs about how to print caps for debug purposes.
11137
11138         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11139         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11140
11141 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11142
11143         * gst/gstelement.c:
11144           use full enum names and preprend a '%' in docs strings to make recent 
11145           gtk-doc turn that into a link
11146
11147 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11148
11149         * docs/manual/basics-bins.xml:
11150         * docs/manual/basics-bus.xml:
11151         * docs/manual/basics-pads.xml:
11152           Some typo fixes, some additions, some clarifications. 
11153
11154 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11155
11156         * tools/gst-inspect.c: (main):
11157         * tools/gst-launch.c: (main):
11158         * tools/gst-run.c: (main):
11159         * tools/gst-typefind.c: (main):
11160         * tools/gst-xmlinspect.c: (main):
11161           Use the string passed to g_option_context_new() for
11162           what it's intended for - the program name is already
11163           printed elsewhere.
11164
11165 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11166
11167         * tools/Makefile.am:
11168         * tools/gst-inspect.c: (main):
11169         * tools/gst-launch.c: (main):
11170         * tools/gst-xmlinspect.c: (main):
11171         * tools/tools.h:
11172           Add back --version command line option (#340460).
11173
11174         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11175           Add --version option and use GOption for argument parsing; refactor a
11176           bit; accept directories as arguments and recurse into them; lastly,
11177           print a decent error message when things go wrong.
11178
11179 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11180
11181         * docs/manual/basics-bins.xml:
11182         Don't mention GstThread (#340611)
11183         * docs/manual/basics-elements.xml:
11184         Update link to GObject tutorial (#340607)
11185         
11186 2006-05-05  Wim Taymans  <wim@fluendo.com>
11187
11188         * gst/gstbuffer.h:
11189         * gst/gstminiobject.c:
11190         Add note about refcounting and miniobject/buffer writeability
11191         to docs. Fixes #340604
11192
11193         * gst/gstelementfactory.h:
11194         Added some explanation about @klass.
11195
11196 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11197
11198         * docs/manual/intro-motivation.xml:
11199         * docs/manual/manual.xml:
11200         Avoid CORBA & Bonobo references (#340598)
11201
11202 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11203
11204         * docs/manual/basics-bus.xml:
11205         * docs/manual/basics-pads.xml:
11206         Fix up some inaccuracies and omissions (#340609)
11207         
11208 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11209
11210         * gst/gstghostpad.c:
11211           Small typo in docs (#340625)
11212
11213 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11214
11215         * gst/parse/Makefile.am:
11216           Make 'make -j' proof (see #340698).
11217
11218 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11219
11220         * configure.ac:
11221           Require GLib-2.8 here as well.
11222
11223 2006-05-05  Wim Taymans  <wim@fluendo.com>
11224
11225         * gst/glib-compat.c:
11226         * gst/gst.c: (init_pre):
11227         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11228         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11229         (gst_object_dispatch_properties_changed):
11230         * gst/gstobject.h:
11231         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11232         * gst/gststructure.c: (gst_structure_set_valist):
11233         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11234         Remove pre glib2.8 compatibility, fixes #340508
11235
11236 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11237
11238         * gst/gsttaglist.h:
11239           Mention type of tags in doc blurbs.
11240
11241 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11242
11243         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11244         (gst_pad_configure_src), (gst_pad_push):
11245         Restore acceptcaps checking behaviour now that good plugins have
11246         been released.
11247
11248 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11249
11250         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11251
11252         * gst/gst.c:
11253         * gst/gstbus.c:
11254         * gst/gstclock.c:
11255         * gst/gstevent.c:
11256         * gst/gstformat.c:
11257         * gst/gstmessage.c:
11258         * gst/gstparse.c:
11259         * gst/gstquery.c:
11260         * gst/gstutils.c:
11261         * gst/parse/Makefile.am:
11262         * libs/gst/base/gstadapter.c:
11263         * libs/gst/base/gstbasesrc.c:
11264         * libs/gst/base/gstpushsrc.c:
11265         * libs/gst/base/gsttypefindhelper.c:
11266         * plugins/elements/gstfakesrc.c:
11267         * plugins/elements/gstidentity.c:
11268           Make sure gstprivate.h and/or config.h are
11269           always included first, otherwise some of our
11270           defines (like _FILE_OFFSET_BITS) might be
11271           redefined in the system headers. Fixes build
11272           on opensolaris (#340016).
11273
11274 2006-05-04  Wim Taymans  <wim@fluendo.com>
11275
11276         * docs/libs/gstreamer-libs-sections.txt:
11277         API: addition: gst_adapter_take_buffer()
11278         
11279         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11280         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11281         (gst_adapter_available_fast):
11282         * libs/gst/base/gstadapter.h:
11283         Prepare for optimizing the hell out of this hugely inefficient
11284         piece of code. 
11285         Added gst_adapter_take_buffer() so we can at least start thinking
11286         about subbuffering and merging.
11287         Added some comments.
11288
11289         * tests/check/Makefile.am:
11290         * tests/check/libs/adapter.c: (GST_START_TEST),
11291         (gst_adapter_suite), (main):
11292         Added GstAdapter check.
11293
11294 2006-05-04  Wim Taymans  <wim@fluendo.com>
11295
11296         * docs/design/part-overview.txt:
11297         Fix some typos, add blurb about buffer flags.
11298
11299 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11300
11301         * docs/libs/gstreamer-libs-sections.txt:
11302           make sure GstBaseTransformClass shows up in the docs
11303         * libs/gst/base/gstbasetransform.c:
11304         * libs/gst/base/gstbasetransform.h:
11305           move docs so gtk-doc picks it up now
11306
11307 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11308
11309         * docs/libs/gstreamer-libs-sections.txt:
11310           add missing symbols to docs
11311
11312 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11313
11314         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11315           back out the newsegment handling change, see #340060 for ongoing
11316           discussion
11317
11318 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11319
11320         * tools/gst-run.c: (get_candidates), (main):
11321           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11322           work); fix typo in error message. Fixes #340079.
11323
11324 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * common/Makefile.am:
11327         * docs/Makefile.am:
11328         * docs/faq/Makefile.am:
11329         * docs/gst/Makefile.am:
11330         * docs/libs/Makefile.am:
11331         * docs/manual/Makefile.am:
11332         * docs/plugins/Makefile.am:
11333         * docs/pwg/Makefile.am:
11334         * docs/slides/Makefile.am:
11335         * docs/upload.mak:
11336         * common/upload.mak:
11337           move upload.mak to common
11338
11339 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11340
11341         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11342           add more asserts on refcounts
11343           do more cleanup at end of tests
11344           fix test leaks showing in FC5
11345
11346 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11347
11348         * plugins/elements/gsttypefindelement.c:
11349         (gst_type_find_element_handle_event):
11350         reverted wrong change and reflowed code to avoid others falling into
11351         this trap
11352
11353 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11354
11355         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11356           fix changelog entry about last collectpads change,
11357           add notes about proper fix
11358
11359 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11360
11361         * gst/gst.c:
11362         * gst/gstregistry.c: (gst_registry_scan_path_level),
11363         (gst_registry_scan_path):
11364         * gst/gstregistry.h:
11365           only write out registry if it has changed, fixes #338339
11366
11367 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11368
11369         * gst/gstbin.c:
11370         * gst/gstpipeline.c:
11371         * plugins/elements/gstcapsfilter.c:
11372         * plugins/elements/gstfakesink.c:
11373         * plugins/elements/gstfakesrc.c:
11374         * plugins/elements/gstfdsink.c:
11375         * plugins/elements/gstfdsrc.c:
11376         * plugins/elements/gstfilesink.c:
11377         * plugins/elements/gstfilesrc.c:
11378         * plugins/elements/gstidentity.c:
11379         * plugins/elements/gstqueue.c:
11380         * plugins/elements/gsttee.c:
11381         * plugins/elements/gsttypefindelement.c:
11382         (gst_type_find_element_handle_event):
11383           make GstElementDetails const
11384
11385 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11386
11387         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11388         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11389         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11390           more detailed debug and formatting cleanup,
11391           forward newsegments to src-pad (so that e.g. adder not eats them)
11392
11393 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11394
11395         * gst/gstutils.c: (gst_element_link_pads):
11396           cleanup double code
11397
11398 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11399
11400         * libs/gst/controller/gstcontroller.c:
11401         (gst_controller_sync_values):
11402           some little tuning
11403         * tests/check/libs/controller.c: (GST_START_TEST),
11404         (gst_controller_suite):
11405           a new test for live value handling
11406
11407 2006-04-28  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/gstutils.c: (push_and_ref):
11410         Added some more docs.
11411         Fix refcount issue whith gst_element_found_tags() helper 
11412         function. Fixes #338335
11413
11414         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11415         Added testsuite for gst_element_found_tags().
11416
11417 2006-04-28  Michael Smith  <msmith@fluendo.com>
11418
11419         * gst/gstvalue.c: (gst_value_serialize_flags):
11420           Avoid NULL dereference when trying to serialize flags containing
11421           invalid values.
11422
11423 2006-04-28  Michael Smith  <msmith@fluendo.com>
11424
11425         * plugins/elements/gsttypefindelement.c:
11426         (gst_type_find_element_handle_event):
11427           If we get EOS before any data is accumulated, don't use
11428           uninitialised local variables.
11429
11430 2006-04-28  Michael Smith  <msmith@fluendo.com>
11431
11432         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11433         (gst_dp_event_from_packet):
11434           Fixes in reading/writing events over GDP (not currently used?) - 
11435           dereferencing NULL events for unknown/invalid event types, memory
11436           leak, and change g_warning to GST_WARNING.
11437
11438 2006-04-28  Wim Taymans  <wim@fluendo.com>
11439
11440         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11441         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11442         (gst_base_sink_get_position), (gst_base_sink_change_state):
11443         When frame dropping is enabled, we should not ignore frames
11444         without a duration.
11445         Update some documentation.
11446
11447 2006-04-28  Wim Taymans  <wim@fluendo.com>
11448
11449         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11450         (gst_base_src_send_event), (gst_base_src_change_state):
11451         Documentation updates.
11452
11453 2006-04-28  Wim Taymans  <wim@fluendo.com>
11454
11455         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11456         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11457         handle EAGAIN, EINTR and short writes correctly. Also clean
11458         up some error cases, avoid a deadlock on bad file descriptors and
11459         use GST_DEBUG_OBJECT.
11460         Fixes #339843
11461
11462 2006-04-28  Wim Taymans  <wim@fluendo.com>
11463
11464         * gst/gstvalue.c: (gst_value_serialize_buffer),
11465         (gst_value_deserialize_buffer):
11466         Don't try to serialize a GValue with a NULL buffer. 
11467         Fixes #339821.
11468
11469         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11470         Added check for serialisation of NULL buffers.
11471
11472 2006-04-28  Wim Taymans  <wim@fluendo.com>
11473
11474         * gst/gstminiobject.c: (gst_value_take_mini_object):
11475         Taking a NULL miniobject is valid, fix the case where
11476         we try to unref the NULL miniobject.
11477
11478 2006-04-28  Wim Taymans  <wim@fluendo.com>
11479
11480         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11481
11482         * gst/gstbin.c: (gst_bin_handle_message_func):
11483         Update docs.
11484         Don't leak bin refcount when a state recalc is
11485         in progress and we delay another one #339808.
11486
11487 2006-04-28  Wim Taymans  <wim@fluendo.com>
11488
11489         * docs/design/part-TODO.txt:
11490         Mention QoS as an ongoing work item.
11491
11492         * docs/design/part-buffering.txt:
11493         New doc about buffering that needs to be fleshed out
11494         at some point.
11495
11496         * docs/design/part-qos.txt:
11497         More QoS policy for decoders/demuxers/transforms
11498
11499         * docs/design/part-trickmodes.txt:
11500         Small update.
11501
11502 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11503
11504         * configure.ac:
11505           back to HEAD
11506
11507 === release 0.10.5 ===
11508
11509 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
11510
11511         * configure.ac:
11512           releasing 0.10.5, "Fogo"
11513
11514 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         patch by: Wim Taymans
11517
11518         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11519         (gst_pad_configure_src), (gst_pad_push):
11520         * gst/gstpipeline.c: (gst_pipeline_init):
11521           Fix internal data flow errors.  Fixes #338711.
11522
11523 2006-04-12  Wim Taymans  <wim@fluendo.com>
11524
11525         * tests/check/gst/gstelement.c: (GST_START_TEST):
11526         Don't leak the factory.
11527
11528 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11529
11530         * configure.ac:
11531         * win32/common/config.h:
11532           prerelease
11533
11534 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
11535
11536         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11537         (gst_controller_unset_all):
11538           Free allocated GstTimedValues when freeing list nodes.
11539           Should fix leaks 'make check-valgrind' complains about.
11540
11541         * win32/common/libgstcontroller.def:
11542           Add gst_controller_unset_all.
11543
11544 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
11545
11546         * docs/libs/gstreamer-libs-sections.txt:
11547         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11548         (gst_controller_unset_all):
11549         * libs/gst/controller/gstcontroller.h:
11550         API: Added new method gst_controller_unset_all()
11551         fixed gst_controller_unset()
11552         * tests/check/libs/controller.c: (GST_START_TEST),
11553         (gst_controller_suite):
11554         Added two testcases for new and fixed method
11555
11556 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
11557
11558         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11559           MSG_DONTWAIT is not defined on Cygwin, so work
11560           around that (fixes #317048).
11561           
11562 2006-04-11  Wim Taymans  <wim@fluendo.com>
11563
11564         * gst/gstelementfactory.c: (gst_element_register),
11565         (gst_element_factory_create), (gst_element_factory_make):
11566         Some cleanups.
11567         Fixed a FIXME.
11568         Updated docs (Fixes #131079)
11569
11570         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11571         Small cleanups.
11572
11573         * tests/check/gst/gstelement.c: (GST_START_TEST),
11574         (gst_element_suite):
11575         Added testcase for elementfactory class field.
11576
11577 2006-04-10  Wim Taymans  <wim@fluendo.com>
11578
11579         * gst/gstsegment.c:
11580         Added some more docs.
11581
11582         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
11583         (gst_base_sink_reset_qos):
11584         Calculate more accurate rate values.
11585
11586 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
11587
11588         * gst/gst_private.h:
11589           add a new #ifdef to use __declspec(dllimport) only for
11590           other modules and not for gstreamer core
11591         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
11592           use gst_guint64_to_gdouble for conversion
11593         * win32/common/libgstreamer.def:
11594           add new exported functions
11595         * win32/vs6/gst_inspect.dsp:
11596         * win32/vs6/gst_launch.dsp:
11597         * win32/vs6/libgstbase.dsp:
11598         * win32/vs6/libgstcontroller.dsp:
11599         * win32/vs6/libgstcoreelements.dsp:
11600         * win32/vs6/libgstdataprotocol.dsp:
11601         * win32/vs6/libgstnet.dsp:
11602           update project files
11603
11604 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11605
11606         * gst/gstbuffer.c: (gst_subbuffer_class_init):
11607         * gst/gstclock.c: (gst_clock_class_init):
11608         * gst/gstelement.c: (gst_element_class_init):
11609         * gst/gstindex.c: (gst_index_class_init):
11610         * gst/gstindexfactory.c: (gst_index_factory_class_init):
11611         * gst/gstobject.c: (gst_object_class_init),
11612         (gst_signal_object_class_init):
11613         * gst/gstpad.c: (gst_pad_class_init):
11614         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
11615         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
11616         * gst/gstregistry.c: (gst_registry_class_init):
11617         * gst/gstsystemclock.c: (gst_system_clock_class_init):
11618         * gst/gsttask.c: (gst_task_class_init):
11619         * gst/gstxml.c: (gst_xml_class_init):
11620         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11621         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11622         (gst_base_src_loop):
11623         * libs/gst/controller/gstcontroller.c:/
11624         (_gst_controller_class_init):
11625         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11626         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
11627         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
11628         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11629         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11630         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
11631
11632 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
11633
11634         * gst/gstpad.c: (gst_pad_link):
11635           Must set peer pads before calling the link function, otherwise
11636           a task started from a link function might get a flow-not-linked
11637           result when trying to push because the other thread where the
11638           linking happens hasn't had a chance to set the peers yet. This
11639           might happen for example when a queue gets linked to a downstream
11640           element, as queue starts a streaming task when its source pad
11641           gets linked. Happens in real life when playing back flac/musepack
11642           files in playbin (#332390).
11643           
11644 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11645
11646         * gst/gstindex.h:
11647         * gst/gstxml.h:
11648         * libs/gst/base/gstadapter.h:
11649         * libs/gst/base/gstbasesink.h:
11650         * libs/gst/base/gstbasesrc.h:
11651         * libs/gst/base/gstbasetransform.h:
11652         * libs/gst/base/gstcollectpads.h:
11653         * libs/gst/base/gstpushsrc.h:
11654         Fix broken GObject macros
11655
11656 2006-04-07  Wim Taymans  <wim@fluendo.com>
11657
11658         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11659         Initialize start and stop times, thanks valgrind.
11660
11661 2006-04-07  Wim Taymans  <wim@fluendo.com>
11662
11663         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11664         Be a bit nicer to badly behaving upstream elements that expect
11665         us to deal with non TIME segments and timestamps (such as fakesrc
11666         in the testsuite).
11667
11668 2006-04-07  Wim Taymans  <wim@fluendo.com>
11669
11670         * gst/gstbus.c:
11671         Small documentation clarification about the signal watch.
11672
11673         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11674         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11675         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11676         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11677         (gst_base_sink_get_position_last),
11678         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
11679         Convert and store timestamps in stream time and running time, the
11680         raw timestamps are not useful, also document this better.
11681         Use different window sizes for good and bad QoS observations so
11682         we react to badness a little quicker.
11683         Keep track of the amount of rendered and dropped buffers.
11684         Send QoS timestamps in running time.
11685
11686         * libs/gst/base/gstbasetransform.c:
11687         (gst_base_transform_sink_eventfunc),
11688         (gst_base_transform_handle_buffer):
11689         Compare QoS timestamps against running time.
11690
11691 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11692
11693         * gst/gstpad.c:
11694           Typo fixes in docs.
11695
11696 2006-04-06  Michael Smith  <msmith@fluendo.com>
11697
11698         * gst/gstpad.c: (gst_pad_set_property):
11699           Use g_value_get_object() instead of g_value_dup_gst_object(),
11700           to avoid double-reffing the pad template (which we then sink,
11701           so this worked previously if (and only if) the pad template
11702           was floating.
11703
11704         * gst/gstpadtemplate.c: (gst_pad_template_init),
11705         (gst_pad_template_pad_created):
11706           Never return floating references to pad templates, create
11707           them as initially-sunken.
11708
11709           Document an extra function (and make this stop sinking our
11710           pad template, since that is now guaranteed to do nothing,
11711           since we created it sunken).
11712
11713         * gst/gstghostpad.c:
11714           Fix docs typo.
11715
11716 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11717
11718         * gst/gstinfo.c: (__gst_in_valgrind):
11719           Add some newlines.
11720
11721         * plugins/elements/gsttypefindelement.c:
11722         (gst_type_find_element_chain):
11723           Don't leak buffer caps.
11724
11725 2006-04-06  Michael Smith  <msmith@fluendo.com>
11726
11727         * gst/parse/grammar.y:
11728           Fix a leak in parse-launch for any source-or-sink named element 
11729           references used.
11730
11731         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11732           Unref the pipeline if it exists after we've failed parsing.
11733
11734 2006-04-05  Michael Smith  <msmith@fluendo.com>
11735
11736         * gst/gstpipeline.c: (gst_pipeline_init):
11737           When we create a pipeline bus, initially create it in flushing mode.
11738           Fixes leaks in at least one test, and makes a new pipeline work the
11739           same as one that has gone to READY and then back to NULL.
11740
11741         * gst/gstelement.c:
11742           Typo fix in docs.
11743
11744 2006-04-05  Michael Smith  <msmith@fluendo.com>
11745
11746         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11747           Unref a pad we reffed.
11748         * tests/check/gst/gstutils.c: (GST_START_TEST):
11749           Unref bins
11750
11751 2006-04-05  Michael Smith  <msmith@fluendo.com>
11752
11753         * gst/gstquery.c: (gst_query_set_formats),
11754         (gst_query_set_formatsv):
11755           Fix leaking GValues in queries, as shown by valgrind/testsuite.
11756
11757 2006-04-05  Michael Smith  <msmith@fluendo.com>
11758
11759         * tests/check/generic/sinks.c: (GST_START_TEST):
11760           Fix a variety of memleaks in sinks check, which are only sometimes 
11761           shown by running the tests under valgrind (weird?).
11762
11763 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
11764
11765         * docs/version.entities.in:
11766           Fix the substituted entity name after thomas' changes on the
11767           weekend.
11768
11769 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11770
11771         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
11772         VALGRIND_PRINTF
11773         
11774 2006-04-05  Andy Wingo  <wingo@pobox.com>
11775
11776         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
11777
11778         * libs/gst/base/gstbasetransform.c
11779         (gst_base_transform_sink_eventfunc): When resetting our segment on
11780         FLUSH_STOP, also update the flag saying we haven't seen a
11781         newsegment.
11782
11783 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11784
11785         Patch by: Paolo Borelli  <pborelli at katamail dot com>
11786
11787         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11788         (gst_plugin_check_license):
11789           minor clean-ups: G_DEFINE_TYPE already takes care of the
11790           parent_class stuff, no need to do it twice. Mark array of
11791           license strings as constant. (#337103)
11792           
11793 2006-04-04  Michael Smith  <msmith@fluendo.com>
11794
11795         * tools/gst-inspect.c: (print_element_list):
11796           Free the right plugin list; fixes a memory leak.
11797
11798 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
11801
11802         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11803           Don't error out on empty buffers (#336945).
11804           
11805 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
11806
11807         * docs/libs/gstreamer-libs-sections.txt:
11808         * gst/gsttaglist.c:
11809         * libs/gst/base/gstbasesink.c:
11810         * libs/gst/base/gstbasesink.h:
11811         * libs/gst/base/gstbasesrc.c:
11812         * libs/gst/base/gstbasesrc.h:
11813           Documentation updates. Make BaseSink and BaseSrc docs contain the
11814           class structure so that people can actually see the prototypes for
11815           virtual functions they're supposed to be overriding.
11816
11817 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11818
11819         * plugins/elements/gsttypefindelement.c:
11820         (gst_type_find_element_chain):
11821           More debug info; when skipping typefinding, send cached
11822           events in all cases.
11823
11824 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11825
11826         * configure.ac:
11827           use new AS_VERSION and AS_NANO macros
11828         * gst/gst-i18n-lib.h:
11829         * gst/gst.c:
11830         * gst/gsterror.c:
11831         * gst/gstversion.h.in:
11832         * win32/common/config.h:
11833         * win32/common/config.h.in:
11834           update accordingly
11835
11836 2006-03-31  Michael Smith  <msmith@fluendo.com>
11837
11838         * plugins/elements/gsttypefindelement.c:
11839         (gst_type_find_element_chain):
11840           Do not typefind content if the buffers already have caps.
11841           Neccesary for icydemux (#333657), and the right thing to do anyway.
11842
11843 2006-03-30  Wim Taymans  <wim@fluendo.com>
11844
11845         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11846         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
11847         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
11848         (gst_base_sink_record_qos_observation),
11849         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11850         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11851         (gst_base_sink_change_state):
11852         More QoS measurements as described in the design doc.
11853         Get rid of ringbuffer with observations, running average is
11854         more simple and equally good.
11855         Calculates valid proportion now.
11856         Added beginning of flood measurement.
11857
11858 2006-03-29  Wim Taymans  <wim@fluendo.com>
11859
11860         * docs/design/part-qos.txt:
11861         * gst/gstclock.c:
11862         Small documentation updates and additions.
11863
11864 2006-03-29  Wim Taymans  <wim@fluendo.com>
11865
11866         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11867         (gst_base_src_send_event), (gst_base_src_loop),
11868         (gst_base_src_change_state):
11869         Perform the EOS logic when we reach the segment stop position.
11870         Fix compilation on gcc4.1
11871
11872 2006-03-29  Wim Taymans  <wim@fluendo.com>
11873
11874         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
11875
11876         * plugins/elements/gstqueue.c: (gst_queue_init),
11877         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11878         (gst_queue_set_property):
11879         * plugins/elements/gstqueue.h:
11880         In queue, when EOS is received, if minimum threshold > max_size -
11881         current_level, there is chance that queue blocks forever in conditional
11882         item del wait. This is because the queue is not emptied completely due
11883         to minimum threshold.  Here is another approach. Instead of setting
11884         cur_levels to max in EOS, just zero all minimum threshold levels. This
11885         should make sure that queue gives out all data. When going to READY
11886         (stop) state, just reset the original minimum threshold levels.
11887         Fixes #336336.
11888
11889 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
11890
11891         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
11892         (gst_type_find_element_handle_event),
11893         (gst_type_find_element_send_cached_events),
11894         (gst_type_find_element_change_state):
11895         * plugins/elements/gsttypefindelement.h:
11896           When typefinding is done in push mode, we should cache
11897           events we receive during typefinding instead of just
11898           dropping them (e.g. newsegment, custom events from
11899           dvdreadsrc etc.) and then send them out once we've
11900           determined the type of the stream (and decodebin
11901           has had a chance to plug in a decoder/demuxer).
11902           
11903 2006-03-27  Wim Taymans  <wim@fluendo.com>
11904
11905         * docs/design/part-qos.txt:
11906         First QoS ideas.
11907
11908 2006-03-27  Wim Taymans  <wim@fluendo.com>
11909
11910         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
11911
11912         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11913         (gst_base_src_send_event), (gst_base_src_change_state):
11914         Handle element seek correctly when we are streaming.
11915         Fixes #326998.
11916
11917 2006-03-24  Michael Smith  <msmith@fluendo.com>
11918
11919         * docs/faq/gst-uninstalled:
11920           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
11921           allow you to correctly run intalled applications built against old 
11922           core, using plugins that require updated core (e.g. running
11923           installed totem against a full uninstalled gstreamer stack)
11924
11925 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11926
11927         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11928         more debug details
11929
11930 2006-03-24  Wim Taymans  <wim@fluendo.com>
11931
11932         * docs/gst/gstreamer-sections.txt:
11933         Rearrange the order of the methods so that related methods
11934         are grouped together in sections.
11935
11936 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11937
11938         * gst/gstelement.c:
11939           Little clarification in the docs
11940
11941 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11942
11943         * docs/README:
11944         formatting fix
11945         * plugins/elements/gstidentity.c:
11946         * plugins/elements/gstqueue.c:
11947         * plugins/elements/gsttee.c:
11948         * plugins/elements/gsttypefindelement.c:
11949         GST_ELEMENT_DETAILS formatting
11950
11951 2006-03-24  Wim Taymans  <wim@fluendo.com>
11952
11953         * libs/gst/base/gstbasesink.h:
11954         Only add fields, not insert or we break ABI.
11955
11956 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11957
11958         * win32/common/libgstbase.def:
11959         * win32/common/libgstreamer.def:
11960           Update, add recently added functions.
11961
11962 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11963
11964         * docs/gst/gstreamer-sections.txt:
11965         * gst/gstutils.c: (gst_pad_query_peer_position),
11966         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
11967         * gst/gstutils.h:
11968           API: add some new utility functions:
11969            - gst_pad_query_peer_position()
11970            - gst_pad_query_peer_duration()
11971            - gst_pad_query_peer_convert()
11972           
11973 2006-03-23  Wim Taymans  <wim@fluendo.com>
11974
11975         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11976         (gst_base_sink_init), (gst_base_sink_finalize),
11977         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
11978         (gst_base_sink_set_property), (gst_base_sink_get_property),
11979         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
11980         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11981         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
11982         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11983         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11984         (gst_base_sink_preroll_object), (gst_base_sink_event),
11985         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
11986         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
11987         (gst_base_sink_query), (gst_base_sink_change_state):
11988         Decouple max-lateness and the fact that QoS messages are generated
11989         with a new property (qos).
11990         added API: GstBaseSink::async_play()
11991         Add vmethod so subclasses can be notified of ASYNC playing
11992         state changes.
11993         Collect timestamp start and stop to report better current
11994         position in EOS/PLAYING/PAUSED/READY/NULL.
11995         Refactor QoS/frame dropping and other measurements.
11996         API: GstBaseSrc::qos
11997         Fixes #326311
11998
11999         * libs/gst/base/gstbasesink.h:
12000         Added Private struct.
12001         API: gst_base_sink_set_qos_enabled()
12002         API: gst_base_sink_is_qos_enabled()
12003
12004 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12005
12006         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12007           If compiling against GLib-2.8 or newer, try to read the
12008           registry file using GMappedFile first before falling back
12009           to fopen() + fread() (#332151).
12010
12011 2006-03-22  Wim Taymans  <wim@fluendo.com>
12012
12013         * gst/gstinfo.c: (gst_debug_set_active),
12014         (gst_debug_category_set_threshold):
12015         Disable debugging unless explicitly activated.
12016         Fixes #335480.
12017
12018 2006-03-22  Wim Taymans  <wim@fluendo.com>
12019
12020         * gst/gstelement.c: (gst_element_set_locked_state),
12021         (gst_element_dispose):
12022         Cleanup the error case.
12023
12024         * gst/gstobject.c: (gst_object_dispose):
12025         print a critical when some object was disposed with
12026         a parent, also revive the object since it might
12027         crash the parent.
12028
12029 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * tools/gst-launch.1.in:
12032           Fix another typo.
12033
12034 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12035
12036         * configure.ac:
12037         * tests/check/Makefile.am:
12038           disable some tests when we don't have a registry
12039         * tests/check/gst/gstutils.c: (gst_utils_suite):
12040           don't build the part that needs parsing
12041
12042 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12043
12044         * gst/Makefile.am
12045         * tests/examples/Makefile.am:
12046           fix --disable-parse build
12047
12048 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12049
12050         * tools/gst-feedback.1.in:
12051           Fix typo: s/feeback/feedback/ (#133494).
12052
12053 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12054
12055         * tools/Makefile.am:
12056         * tools/gst-launch.1.in:
12057           Add FILES section and correct entry about GST_REGISTRY_PATH
12058           environment variable (#133495; #133494).
12059
12060 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * tools/Makefile.am:
12063         * tools/gst-md5sum.1.in:
12064         * tools/gst-md5sum.c:
12065           Remove gst-md5sum and man page (the md5sink element
12066           required was removed ages ago)
12067
12068 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * gst/gststructure.c: (gst_structure_id_set_value):
12071           Make sure that string fields in structures/taglists
12072           contain valid UTF-8 - we don't want to pass rubbish to
12073           applications because of a buggy plugin (cp. #334167).
12074
12075 2006-03-21  Edward Hervey  <edward@fluendo.com>
12076
12077         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12078         (gst_bin_handle_message_func):
12079         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12080         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12081         (gst_element_set_bus_func):
12082         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12083         * gst/gstminiobject.c: (gst_value_set_mini_object),
12084         (gst_value_take_mini_object):
12085         * gst/gstpad.c: (gst_pad_set_pad_template):
12086         * gst/gstpipeline.c: (gst_pipeline_dispose),
12087         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12088         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12089         (gst_collect_pads_chain):
12090         * libs/gst/net/gstnettimeprovider.c:
12091         (gst_net_time_provider_set_property):
12092         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12093         It's in fact all issues with gst_*object_replace().
12094
12095 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12096
12097         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12098         
12099         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12100         * pkgconfig/gstreamer-check.pc.in:
12101           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12102
12103 2006-03-21  Edward Hervey  <edward@fluendo.com>
12104
12105         * gst/gstbuffer.h:
12106         * gst/gstevent.h:
12107         * gst/gstmessage.h:
12108         gst_[buffer|event|message]_ref() macros are replaced by a static
12109         inline functions because gcc-4.1 will about if the return value
12110         isn't used.
12111         * tests/check/gst/gstevent.c: (event_probe):
12112         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12113
12114 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12115
12116         * gst/gstutils.h:
12117         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12118         the type' case. (Closes: #335195 for now). In the future, when we
12119         depend on GLib 2.10, we could also intern the type name using
12120         g_intern_static_string()
12121
12122 2006-03-20  Wim Taymans  <wim@fluendo.com>
12123
12124         * gst/gstbin.c: (gst_bin_handle_message_func),
12125         (bin_query_max_init), (bin_query_position_fold),
12126         (bin_query_position_done), (gst_bin_query):
12127         Position query should also take max of all streams.
12128
12129 2006-03-20  Wim Taymans  <wim@fluendo.com>
12130
12131         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12132         (gst_fake_src_finalize):
12133         Fix leaks in fakesrc.
12134
12135         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12136         Fix leaks in the testcase.
12137
12138 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12139
12140         * gst/gst_private.h:
12141           add win32 specific import decoration(__declspec(dllimport)) 
12142           for all extern GstDebugCategory * variables
12143         * win32/common/libgstbase.def:
12144         * win32/common/libgstcontroller.def:
12145         * win32/common/libgstreamer.def:
12146           Add some exports, remove empty lines
12147         * win32/common/libgstdataprotocol.def:
12148         * win32/common/libgstdataprotocol.dsp:
12149         * win32/common/libgstnet.def:
12150         * win32/common/libgstnet.dsp:
12151           new project files and exportation files added
12152         
12153 2006-03-19  Wim Taymans  <wim@fluendo.com>
12154
12155         * tests/check/libs/basesrc.c: (eos_event_counter):
12156         Use proper return value for probe.
12157
12158 2006-03-17  Wim Taymans  <wim@fluendo.com>
12159
12160         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12161         (gst_pad_push):
12162         Don't leak buffers, caps and pads on negotiation errors.
12163
12164 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12165
12166         * docs/faq/cvs.xml:
12167         * docs/faq/dependencies.xml:
12168         * docs/faq/developing.xml:
12169         * docs/faq/faq.xml:
12170         * docs/faq/general.xml:
12171         * docs/faq/getting.xml:
12172         * docs/faq/legal.xml:
12173         * docs/faq/troubleshooting.xml:
12174         * docs/faq/using.xml:
12175         Faq review and update.
12176
12177 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12178
12179         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12180         (gst_pad_push):
12181         Don't pound the cpu to pieces by checking get_caps when accept_caps
12182         is called with the same caps as the pad already has.
12183         Use GST_DEBUG_OBJECT when outputting caps change information.
12184
12185 2006-03-15  Wim Taymans  <wim@fluendo.com>
12186
12187         * gst/gstclock.c: (gst_clock_class_init):
12188         Fix docs.
12189
12190 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12191
12192         * gst/gstbuffer.h:
12193         Documentation fix.
12194
12195         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12196         (gst_pad_accept_caps), (gst_pad_configure_sink),
12197         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12198         Make the default acceptcaps behaviour be to check the requested 
12199         caps against the gst_pad_get_caps output. 
12200
12201         Ensure that gst_pad_accept_caps is used to check caps when a pad
12202         doesn't have a setcaps function, so that pads automatically refuse 
12203         caps that they don't allow in their pad template. (Fixes #332986)
12204
12205         When a buffer with attached caps is pushed, ensure that the source 
12206         pad receives those caps even if the element didn't call
12207         gst_pad_set_caps first.
12208
12209 2006-03-15  Wim Taymans  <wim@fluendo.com>
12210
12211         * libs/gst/base/gstadapter.c:
12212         Add some docs.
12213
12214 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12215
12216         * win32/common/libgstbase.def:
12217         * win32/common/libgstcontroller.def:
12218         * win32/common/libgstreamer.def:
12219           Add a whole bunch of missing functions (#334434).
12220
12221 2006-03-14  Wim Taymans  <wim@fluendo.com>
12222
12223         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12224         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12225         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12226         Better debug info when we receive a segment event.
12227         Reorganize a bit so we can pass the get_times() results around.
12228         Use the segment format when calculating the running time.
12229         Don't do QoS is sync is disabled or we have no clock or the
12230         element does not want us to sync to the clock.
12231         Don't drop buffers if QoS is disabled for now.
12232
12233 2006-03-14  Wim Taymans  <wim@fluendo.com>
12234
12235         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12236         Marked the stats property as unimplemented so people don't get
12237         wild ideas.
12238         Add debug message when regression goes wrong.
12239         Added some more docs.
12240
12241 2006-03-14  Wim Taymans  <wim@fluendo.com>
12242
12243         * gst/gstsegment.c: (gst_segment_to_stream_time):
12244         Return correct return type in case of errors.
12245
12246 2006-03-14  Wim Taymans  <wim@fluendo.com>
12247
12248         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12249           Don't segfault on invalid formats.
12250
12251 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12252
12253         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12254           Can't use gst_segment_to_running_time() when the segment
12255           is not in GST_TIME_FORMAT (like with filesink, for example).
12256           Stops flac encoding pipelines from spewing critical warnings
12257           at EOS (#331248).
12258           
12259 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12260
12261         * gst/gstpipeline.c: (gst_pipeline_class_init):
12262           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12263
12264         * plugins/elements/gsttypefindelement.c:
12265         (gst_type_find_element_handle_event):
12266           Don't try to typefind empty streams.
12267
12268 2006-03-14  Wim Taymans  <wim@fluendo.com>
12269
12270         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12271         (gst_base_sink_do_qos):
12272         Separate QoS calculation.
12273         Only drop buffers when lateness is bigger than the 
12274         duration of the buffer.
12275
12276 2006-03-13  Wim Taymans  <wim@fluendo.com>
12277
12278         * gst/gstpipeline.c: (gst_pipeline_set_property),
12279         (gst_pipeline_get_property), (do_pipeline_seek),
12280         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12281         (gst_pipeline_get_delay):
12282         Don't deadlock when reading properties.
12283
12284 2006-03-13  Wim Taymans  <wim@fluendo.com>
12285
12286         * libs/gst/base/gstbasetransform.c:
12287         (gst_base_transform_class_init), (gst_base_transform_init),
12288         (gst_base_transform_sink_event),
12289         (gst_base_transform_sink_eventfunc),
12290         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12291         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12292         (gst_base_transform_set_property),
12293         (gst_base_transform_get_property),
12294         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12295         (gst_base_transform_set_qos_enabled),
12296         (gst_base_transform_is_qos_enabled):
12297         * libs/gst/base/gstbasetransform.h:
12298         Make basetransform virtual method for src events too.
12299         Handle QOS in basetransform.
12300         API: gst_base_transform_update_qos()
12301         API: gst_base_transform_set_qos_enabled()
12302         API: gst_base_transform_is_qos_enabled()
12303
12304 2006-03-13  Wim Taymans  <wim@fluendo.com>
12305
12306         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12307         (gst_base_sink_do_sync):
12308         Small cleanups.
12309         Use QOS debug category.
12310
12311 2006-03-13  Wim Taymans  <wim@fluendo.com>
12312
12313         * plugins/elements/gstqueue.c:
12314         Very small doc update.
12315
12316 2006-03-13  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/gst_private.h:
12319         * gst/gstinfo.c: (_gst_debug_init):
12320         Added QOS debug category
12321
12322 2006-03-13  Wim Taymans  <wim@fluendo.com>
12323
12324         * docs/gst/gstreamer-sections.txt:
12325         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12326         * gst/gstbin.h:
12327         * gst/gstbus.c: (gst_bus_class_init):
12328         * gst/gstbus.h:
12329         * gst/gstclock.c:
12330         * gst/gstelement.c: (gst_element_set_locked_state):
12331         * gst/gstsegment.c:
12332         Documentation updates.
12333
12334         * gst/gstpipeline.c: (gst_pipeline_get_type),
12335         (gst_pipeline_class_init), (gst_pipeline_init),
12336         (gst_pipeline_dispose), (gst_pipeline_set_property),
12337         (gst_pipeline_get_property), (do_pipeline_seek),
12338         (gst_pipeline_send_event), (gst_pipeline_change_state),
12339         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12340         (gst_pipeline_get_delay):
12341         * gst/gstpipeline.h:
12342         Added methods for setting the delay.
12343         API: gst_pipeline_set_delay()
12344         API: gst_pipeline_get_delay()
12345         Add pipeline debug category
12346         Various cleanups.
12347         Updated docs.
12348         Don't reset stream time when seek failed.
12349
12350 2006-03-13  Wim Taymans  <wim@fluendo.com>
12351
12352         * docs/design/draft-klass.txt:
12353         * docs/design/part-clocks.txt:
12354         * docs/design/part-events.txt:
12355         * docs/design/part-gstbin.txt:
12356         * docs/design/part-gstpipeline.txt:
12357         * docs/design/part-messages.txt:
12358         * docs/design/part-negotiation.txt:
12359         * docs/design/part-overview.txt:
12360         * docs/design/part-preroll.txt:
12361         * docs/design/part-seeking.txt:
12362         * docs/design/part-states.txt:
12363         * docs/design/part-streams.txt:
12364         Documentation updates.
12365
12366 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12367
12368         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12369         us to leak strings...
12370
12371 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12372
12373         * libs/gst/net/gstnettimeprovider.c:
12374           fix docs
12375         * win32/common/config.h:
12376           update
12377
12378 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12379
12380         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12381
12382         * configure.ac:
12383           Don't check for libgnomeui (leftover from old examples
12384           that aren't built or disted any longer) (#334303).
12385           
12386 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12387
12388         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12389         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12390           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12391           there's no space left on the device.
12392
12393 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12394
12395         * gst/gstclock.h:
12396           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12397           to cast the input to GstClockTime before comparing with
12398           another GstClockTime value.
12399
12400 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12401
12402         * configure.ac:
12403           back to trunk
12404
12405 === release 0.10.4 ===
12406
12407 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12408
12409         * configure.ac:
12410           releasing 0.10.4, "Light"
12411
12412 2006-03-10  Michael Smith  <msmith@fluendo.com>
12413
12414         * libs/gst/dataprotocol/dataprotocol.c:
12415           Fix docs for dataprocotol to not get the return types completely
12416           wrong for a few functions.
12417
12418 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12419
12420         * docs/gst/gstreamer-sections.txt:
12421         * gst/gstpipeline.c: (gst_pipeline_class_init),
12422         (gst_pipeline_init), (gst_pipeline_set_property),
12423         (gst_pipeline_get_property), (gst_pipeline_change_state),
12424         (gst_pipeline_set_auto_flush_bus),
12425         (gst_pipeline_get_auto_flush_bus):
12426         * gst/gstpipeline.h:
12427           Add new API: gst_pipeline_set_auto_flush_bus() and
12428           gst_pipeline_get_auto_flush_bus() to disable automatic
12429           flushing of the pipeline's GstBus when going from READY
12430           to NULL state (#332045).
12431
12432 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12433
12434         * docs/gst/gstreamer-sections.txt:
12435         * gst/gsturi.c: (gst_uri_has_protocol):
12436         * gst/gsturi.h:
12437            Add new API: gst_uri_has_protocol() (#333779).
12438
12439 2006-03-09  Wim Taymans  <wim@fluendo.com>
12440
12441         * gst/gstclock.c: (gst_clock_entry_new),
12442         (gst_clock_id_compare_func), (gst_clock_id_wait),
12443         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12444         (gst_clock_init), (gst_clock_get_internal_time),
12445         (gst_clock_set_master), (do_linear_regression),
12446         (gst_clock_add_observation), (gst_clock_set_property):
12447         * gst/gstclock.h:
12448         Review docs.
12449         Small cleanups.
12450         Fix a possible segfault when the window-size is made smaller.
12451         Calculate jitter before performing the clock wait. Ideally
12452         the clock implementation should calculate jitter but we need
12453         API breakage for that.
12454
12455         * gst/gstsystemclock.c: (gst_system_clock_init):
12456         Docs review.
12457         
12458         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12459         Remove leftover else
12460
12461         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12462         (gst_systemclock_suite):
12463         Added check to test GST_CLOCK_DIFF.
12464
12465 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12466
12467         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12468         (gst_type_find_helper_get_range):
12469           If we are provided with the size, we should implement
12470           GstTypeFind::get_length, so that typefind functions who
12471           want to can actually peek at the middle of a file.
12472
12473 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
12474
12475         * docs/manual/advanced-dataaccess.xml:
12476           Add some very very basic error checking.
12477
12478         * docs/pwg/appendix-checklist.xml:
12479           Some updates to the list of things to check when writing an element.
12480
12481 2006-03-08  Wim Taymans  <wim@fluendo.com>
12482
12483         * docs/design/part-element-transform.txt:
12484         Added some docs about the design of tranform elements.
12485
12486         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12487         (gst_base_src_loop), (gst_base_src_change_state):
12488         Mark buffers with the DISCONT flag.
12489
12490 2006-03-08  Michael Smith  <msmith@fluendo.com>
12491
12492         * gst/gstregistry.h:
12493         * gst/gstregistryxml.c: (gst_registry_save),
12494         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
12495         (gst_registry_xml_save_pad_template),
12496         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
12497         (gst_registry_xml_write_cache):
12498           Rewrite registry-saving to avoid race conditions and check for
12499           failed writes.
12500
12501 2006-03-08  Wim Taymans  <wim@fluendo.com>
12502
12503         * libs/gst/base/gstbasetransform.c:
12504         (gst_base_transform_transform_caps),
12505         (gst_base_transform_transform_size),
12506         (gst_base_transform_prepare_output_buffer),
12507         (gst_base_transform_get_unit_size),
12508         (gst_base_transform_buffer_alloc),
12509         (gst_base_transform_handle_buffer),
12510         (gst_base_transform_change_state):
12511         Cleanups, separate normal flow from errors, add sensible
12512         DEBUG lines.
12513         Don't try to renegotiate when allocating an output buffer.
12514         Also copy DISCONT buffer flag when copying a buffer.
12515         Reset the transform after we finish streaming, not during.
12516
12517 2006-03-08  Wim Taymans  <wim@fluendo.com>
12518
12519         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12520         Use last buffer timestamp in qos message.
12521
12522 2006-03-07  Wim Taymans  <wim@fluendo.com>
12523
12524         Patch by: Christophe Fergeau
12525
12526         * docs/pwg/advanced-tagging.xml:
12527         * docs/pwg/building-pads.xml:
12528           fixes #333416
12529
12530 2006-03-07  Wim Taymans  <wim@fluendo.com>
12531
12532         * docs/libs/gstreamer-libs-sections.txt:
12533         Added basesink new methods.
12534
12535         * gst/gstevent.c:
12536         * gst/gstevent.h:
12537         Docs updates. Flesh out the QoS docs.
12538
12539         * libs/gst/base/gstadapter.c:
12540         Small doc clarification about ownership and flushing.
12541
12542         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
12543         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
12544         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
12545         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12546         * libs/gst/base/gstbasesink.h:
12547         API additions: 
12548         Added new methods to allow subclass to control max-lateness 
12549         and sync.
12550         Generate very basic QoS events based on last sync observation.
12551         Updated docs, fix typo, added some QoS blurb.
12552
12553         * libs/gst/base/gstbasesrc.c:
12554         Remove obsolete _get_state() calls from docs.
12555
12556 2006-03-07  Wim Taymans  <wim@fluendo.com>
12557
12558         * docs/libs/gstreamer-libs-sections.txt:
12559         * libs/gst/base/gstbasetransform.h:
12560         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
12561         Fix docs for GstBaseSrc.
12562
12563 2006-03-07  Wim Taymans  <wim@fluendo.com>
12564
12565         * docs/gst/gstreamer-sections.txt:
12566         * gst/gstbuffer.h:
12567         * gst/gstvalue.c:
12568         * libs/gst/base/gstbasetransform.h:
12569         Small documentation fixes.
12570
12571 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12572
12573         * gst/gstvalue.c:
12574           Document thread-unsafety of gst_value_register_foo_func()
12575           when used at the same time as gst_value_foo() (#322628).
12576
12577 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12578
12579         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
12580         (gst_push_src_check_get_range):
12581           Push sources don't support pull mode by default.
12582
12583 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12584
12585         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12586         (gst_base_src_init), (gst_base_src_pad_check_get_range),
12587         (gst_base_src_default_check_get_range):
12588         * libs/gst/base/gstbasesrc.h:
12589           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
12590           provide default implementation, and rename
12591           gst_base_src_check_get_range() to
12592           gst_base_src_pad_check_get_range() for clarity.
12593
12594 2006-03-06  Wim Taymans  <wim@fluendo.com>
12595
12596         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12597         Make property overridable.
12598
12599 2006-03-06  Wim Taymans  <wim@fluendo.com>
12600
12601         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12602         (gst_base_sink_init), (gst_base_sink_set_property),
12603         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12604         * libs/gst/base/gstbasesink.h:
12605         API addition: Make max-lateness a property.
12606
12607 2006-03-06  Wim Taymans  <wim@fluendo.com>
12608
12609         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
12610         (gst_base_sink_do_sync), (gst_base_sink_render_object):
12611         Don't ever draw a frame that is >10ms late.
12612
12613 2006-03-06  Michael Smith  <msmith@fluendo.com>
12614
12615         * gst/gstmessage.c: (_gst_message_copy):
12616           When copying a message, set the parent_refcount of the enclosed
12617           structure to point at the copy, not the original message.
12618
12619 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12620
12621         Patch by: Christophe Fergeau
12622
12623         * gst/gstutils.h:
12624           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
12625           usable in c++ code (#333417)
12626
12627 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12628
12629         * gst/gstclock.h:
12630           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
12631
12632 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
12633
12634         * libs/gst/base/gstbasetransform.c:
12635         (gst_base_transform_transform_caps):
12636           Make sure caps are writable before passing them to
12637           gst_caps_append().
12638
12639 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12640
12641         * gst/gsterror.h:
12642           Fix some minor docs errors.
12643
12644 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12645
12646           Patch by: Ross Burton <ross at burtonini dot com>
12647
12648         * gst/gsterror.c: (_gst_resource_errors_init):
12649         * gst/gsterror.h:
12650           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
12651
12652 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12653
12654         * gst/gst.c:
12655         Add a check and output a g_warning when GStreamer is built
12656         against GLib 2.6 but running against 2.8 or higher, and vice 
12657         versa. (Closes: #323542)
12658
12659 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12660
12661         * gst/parse/parse.l:
12662           Commit patch for parse_launch syntax from #331255. Removes 
12663           support for quoted strings and mimetypes when writing filtered 
12664           caps. See the bug report for more details - I'm pretty sure this
12665           obscure feature is not in use by _anyone_ anywhere.
12666
12667           With this simple change, the size of the gstreamer.so here 
12668           drops from 2193KB to 1565KB.
12669
12670 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12671
12672         * plugins/elements/gsttypefindelement.h:
12673         * plugins/elements/gsttypefindelement.c:
12674         (gst_type_find_element_src_event), (start_typefinding),
12675         (stop_typefinding), (gst_type_find_element_handle_event),
12676         (gst_type_find_element_chain),
12677         (gst_type_find_element_chain_do_typefinding):
12678           Use gst_type_find_helper_for_buffer() for chain-based
12679           typefinding.
12680
12681 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12682
12683         * plugins/elements/gsttypefindelement.c:
12684         (gst_type_find_element_class_init),
12685         (gst_type_find_element_set_property),
12686         (gst_type_find_element_get_property):
12687           Deprecate "maximum" property (not only was it only taken into
12688           account for typefinding in push-mode anyway, it also was never
12689           actually possible to set it in the first place because the
12690           property was registered with the numeric property ID for the
12691           "minimum" property). Register "maximum" property correctly,
12692           for the sake of future copy'n'pasters. Remove some cruft
12693           from property get/set functions.
12694
12695 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12696
12697         * plugins/elements/gsttypefindelement.c:
12698         (gst_type_find_element_activate):
12699           Use gst_type_find_helper_get_range() here, so we
12700           can honour the "minimum" property and also emit
12701           the signal with the correct probability of the found caps.
12702
12703 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
12704
12705         * docs/libs/gstreamer-libs-sections.txt:
12706         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
12707         (helper_find_suggest), (gst_type_find_helper_get_range),
12708         (gst_type_find_helper):
12709         * libs/gst/base/gsttypefindhelper.h:
12710           New API: gst_type_find_helper_get_range() (#333042).
12711
12712 2006-03-02  Michael Smith  <msmith@fluendo.com>
12713
12714         * gst/gstregistryxml.c: (load_feature):
12715           Asserting on a failure to read part of the registry is Not Cool.
12716           Just log a warning and return NULL (which is already handled)
12717
12718 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
12719
12720         * win32/common/libgstbase.def:
12721           added export of gst_type_find_helper_for_buffer
12722         * win32/common/libgstbase.def:
12723           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
12724           gst_ghost_pad_get_target
12725
12726 2006-02-28  Wim Taymans  <wim@fluendo.com>
12727
12728         * docs/design/draft-klass.txt:
12729         We use Filter now.
12730         Added Connector to mark elements that are only used to
12731         allow pipeline connections.
12732         Moved Debug to extra feature since most of them are 
12733         functionally something else.
12734
12735 2006-02-28  Wim Taymans  <wim@fluendo.com>
12736
12737         * docs/design/draft-klass.txt:
12738         Some updates and clarifications.
12739
12740 2006-02-28  Wim Taymans  <wim@fluendo.com>
12741
12742         * docs/design/draft-klass.txt:
12743         Proposal for klass field values.
12744
12745         * docs/design/part-streams.txt:
12746         Start of a doc describing stream anatomy.
12747
12748 2006-02-28  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
12751         Help the compiler a bit with type registration.
12752         Use existing forward cod path instead of duplicating it when 
12753         handling a message.
12754         
12755         * gst/gstbus.c: (gst_bus_get_type):
12756         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
12757         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
12758         * gst/gstclock.c: (gst_clock_get_type):
12759         * gst/gstelement.c: (gst_element_get_type),
12760         * gst/gstelementfactory.c: (gst_element_factory_get_type):
12761         * gst/gstindexfactory.c: (gst_index_factory_get_type):
12762         * gst/gstminiobject.c: (gst_mini_object_get_type):
12763         * gst/gstpad.c: (gst_pad_get_type):
12764         * gst/gstsegment.c: (gst_segment_get_type):
12765         * gst/gststructure.c: (gst_structure_get_type):
12766         * gst/gstsystemclock.c: (gst_system_clock_get_type):
12767         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
12768         * gst/gstvalue.c:
12769         Help compiler with type registration.
12770
12771         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
12772         Small doc update.
12773
12774 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12775
12776         * plugins/elements/gsttypefindelement.c:
12777         (gst_type_find_element_handle_event):
12778           When we get an EOS event and have not found a type yet
12779           (most likely because we had not yet accumulated
12780           TYPE_FIND_MIN_SIZE of data yet), try to determine the
12781           type given the data we have so far. Fixes typefinding
12782           for very short streams again, most notably quicktime
12783           redirections as used on Apple's trailer site (#331701).
12784
12785 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12786
12787         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
12788         (gst_type_find_helper):
12789           Try typefinding factories with the highest rank first.
12790
12791 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12792
12793         * docs/libs/gstreamer-libs-docs.sgml:
12794         * docs/libs/gstreamer-libs-sections.txt:
12795         * libs/gst/base/gsttypefindhelper.c:
12796           Add section for typefind helper and add documentation
12797           for the old and the new function.
12798
12799 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12800
12801         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
12802         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
12803         (gst_type_find_helper_for_buffer):
12804         * libs/gst/base/gsttypefindhelper.h:
12805           New API: gst_type_find_helper_for_buffer() (#332723).
12806           
12807 2006-02-27  Michael Smith  <msmith@fluendo.com>
12808
12809         Patch by: Loïc Minier
12810
12811         * configure.ac:
12812         * docs/Makefile.am:
12813         * docs/slides/Makefile.am:
12814           prevent CVS directories getting disted.
12815
12816 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12817
12818         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
12819           Use the REFCOUNTING category for caps refcounting.
12820           
12821 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
12822
12823         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12824           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
12825
12826 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
12827
12828         * plugins/elements/gsttypefindelement.c:
12829         (gst_type_find_element_activate):
12830           Use gst_pad_check_pull_range() before _activate_pull()
12831           to avoid unnecessary open/close (see #331690).
12832
12833 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12834
12835         * gst/gstutils.c:
12836           Docs enhancement: make it crystal clear what the
12837           gst_pad_add_*_probe() callbacks should look like.
12838
12839 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12840
12841         * libs/gst/base/gstbasesrc.c:
12842           Document how applications can stop recording from
12843           live sources (see #330996).
12844
12845 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12846
12847         * tests/check/Makefile.am:
12848         * tests/check/libs/basesrc.c: (eos_event_counter),
12849         (basesrc_eos_events_pull), (basesrc_eos_events_push),
12850         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
12851         (gst_basesrc_suite), (main):
12852           ... and add some tests for the base source EOS stuff.
12853
12854 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12855
12856         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
12857           Test case originally showed the problem fixed below,
12858           but was then amended. Add checks back at the place
12859           where they used to be.
12860
12861 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12862
12863         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12864         (gst_base_src_init), (gst_base_src_loop),
12865         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12866         (gst_base_src_change_state):
12867         * libs/gst/base/gstbasesrc.h:
12868           Don't unconditionally send EOS when going from PAUSED to
12869           READY state, esp. make sure we don't send two EOS events
12870           in some cases (e.g. one when reaching EOS and one when
12871           going from PAUSED to READY). Also, we don't want to send
12872           EOS events when operating in pull mode. However, we do
12873           want to send an EOS event when shutting down a live
12874           source explicitly, for example (fixes #330996).
12875           
12876 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12877
12878         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12879           Update src->read_position after a seek when not using mmap.
12880           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
12881
12882 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
12883
12884         * gst/Makefile.am:
12885         * gst/gstparse.h:
12886         * gst/gstutils.c:
12887         * gst/gstutils.h:
12888         Make things work with --disable-parse as they do with 
12889         --disable-load-save - the symbols involved disappear, but the
12890         header is still installed and GST_DISABLE_PARSE is included via
12891         gstconfig.h
12892
12893 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12894
12895         * libs/gst/base/gstbasetransform.c:
12896         (gst_base_transform_change_state): Fix a stupid bug. I was 
12897         sure I compiled that.
12898
12899 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12900
12901         * gst/gstpad.c: (gst_pad_set_blocked_async):
12902         * gst/gstutils.c: (gst_pad_add_data_probe),
12903         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12904         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12905         (gst_pad_remove_buffer_probe): Make those function act on the
12906         ghostpad target when it's a ghostpad. (Closes #331727)
12907
12908 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12909
12910         * libs/gst/base/gstbasetransform.c:
12911         (gst_base_transform_change_state): Make basetransform reusable.
12912         (Closes #331898)
12913
12914 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
12915
12916         * docs/random/release:
12917         Move the current documentation of how to do a release to the top
12918         of the file.
12919
12920         * gst/gstbin.c: (gst_bin_class_init),
12921         (gst_bin_handle_message_func):
12922         Allow multiple state-recalculation threads. (Closes #328873)
12923
12924 2006-02-19  Julien MOUTTE  <julien@moutte.net>
12925
12926         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
12927         * gst/gstpad.c: (gst_pad_set_event_function),
12928         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12929         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
12930         2 strings. You can't use the STR_NULL macro on that.
12931
12932 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
12933
12934         * gst/gstpad.c: (gst_pad_set_event_function),
12935         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12936         (gst_pad_set_getcaps_function)
12937         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
12938           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
12939           So now, we can use --gst-debug-level=5 on Windows
12940         * win32/common/libgstcontroller.def:
12941           Added export of gst_controller_init
12942         * win32/vs6/libgstcontroller.dsp:
12943           Fixed Release post build configuration
12944
12945 2006-02-17  Wim Taymans  <wim@fluendo.com>
12946
12947         * tests/check/gst/gstquery.c: (GST_START_TEST):
12948         Added another check.
12949
12950 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
12951
12952         * plugins/elements/gsttypefindelement.c: (find_peek):
12953           We can do peeks at non-zero offsets, as long as they
12954           fall within the buffer we have.
12955
12956 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
12957
12958         * tests/check/Makefile.am:
12959         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
12960         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
12961         (parse_suite), (main):
12962           Add testsuite for parse launch syntax
12963
12964 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
12965
12966         * plugins/elements/gsttypefindelement.c:
12967         (gst_type_find_element_chain):
12968           When typefinding is unsuccessful in the chain function, don't
12969           error out immediately. Only error out with NO_CAPS_FOUND if
12970           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
12971           otherwise simply wait for more data so we can try typefinding
12972           again with more data later. Also, don't attempt to typefind
12973           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
12974           this should improve typefinding from network sources where the
12975           size of the first buffer can be somewhat random.
12976
12977 2006-02-14  Wim Taymans  <wim@fluendo.com>
12978
12979         * docs/gst/gstreamer-sections.txt:
12980         * gst/gstpadtemplate.c:
12981         * gst/gstpadtemplate.h:
12982         Fix padtemplate docs, fixes #328805.
12983
12984 2006-02-14  Wim Taymans  <wim@fluendo.com>
12985
12986         * tools/gst-launch.c: (main):
12987         NO_PREROLL is not an ERROR so don't send confusing messages
12988         to the user.
12989
12990 2006-02-14  Wim Taymans  <wim@fluendo.com>
12991
12992         Patch by: Torsten Schoenfeld
12993
12994         * gst/gstregistry.c: (gst_registry_get_default),
12995         (_gst_registry_cleanup):
12996         Protect default registry with lock and ref/sink it.
12997         Fixes #324818
12998
12999 2006-02-14  Wim Taymans  <wim@fluendo.com>
13000
13001         * gst/gstbuffer.c:
13002         * gst/gstquery.c: (gst_query_list_add_format),
13003         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13004         (gst_query_parse_formats_nth):
13005         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13006         Docs fixes.
13007
13008 2006-02-14  Wim Taymans  <wim@fluendo.com>
13009
13010         * docs/gst/gstreamer-sections.txt:
13011         Reworked query docs.
13012
13013         * gst/gstquery.c: (gst_query_new_formats),
13014         (gst_query_list_add_format), (gst_query_set_formats),
13015         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13016         (gst_query_parse_formats_nth):
13017         * gst/gstquery.h:
13018         Flesh out formats query, added some new methods.
13019         Fix part of #324398.
13020
13021         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13022         Added query creation tests.
13023
13024 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13025
13026         * gst/gstpad.c: (fixate_value):
13027         Add a default fixation for fraction lists.
13028
13029 2006-02-13  Wim Taymans  <wim@fluendo.com>
13030
13031         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13032         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13033         (gst_task_join):
13034         * gst/gsttask.h:
13035         Detect and warn for obvious deadlocks. fixes #320340
13036         Fix error case where lock was not released.
13037
13038         * tests/check/Makefile.am:
13039         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13040         (task_func), (gst_element_suite), (main):
13041         Add task check.
13042
13043 2006-02-13  Wim Taymans  <wim@fluendo.com>
13044
13045         * docs/gst/gstreamer-sections.txt:
13046         * gst/gstbus.c:
13047         Add new functions to docs.
13048
13049 2006-02-13  Wim Taymans  <wim@fluendo.com>
13050
13051         * docs/design/part-TODO.txt:
13052         Updated TODO list, basesrc supports seeking to non-bytes
13053         formats.
13054
13055         * docs/design/part-element-sink.txt:
13056         Update docs.
13057
13058         * gst/gstbin.c: (bin_replace_message),
13059         (gst_bin_handle_message_func):
13060         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13061         * gst/gstevent.c: (gst_event_finalize):
13062         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13063         (gst_pad_send_event):
13064         Use shiny new _TYPE_NAME macros.
13065
13066         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13067         Move debug statement up.
13068
13069         * gst/gstelement.c: (gst_element_set_locked_state):
13070         Add some debugging.
13071
13072 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13073
13074         * docs/gst/gstreamer-sections.txt:
13075         * gst/gstmessage.h:
13076         * gst/gstquery.h:
13077           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13078           macros (#330906). Also, document the already existing
13079           GST_QUERY_TYPE macro.
13080
13081 2006-02-13  Wim Taymans  <wim@fluendo.com>
13082
13083         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13084         (event_probe), (GST_START_TEST):
13085         Only events up to the pipeline EOS are counted, there are
13086         some more when going to NULL currently which we don't care
13087         about for now.
13088
13089 2006-02-13  Wim Taymans  <wim@fluendo.com>
13090
13091         * gst/gstpad.c: (gst_pad_send_event):
13092         Correctly check flushing and emit probes. fixes #330125
13093
13094 2006-02-10  Andy Wingo  <wingo@pobox.com>
13095
13096         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13097         structure.
13098         (gst_bus_init): Cache the location of the private data in the
13099         instance structure.
13100         (gst_bus_enable_sync_message_emission) 
13101         (gst_bus_disable_sync_message_emission): Implement new public
13102         functions.
13103         (gst_bus_post): Emit the sync-message signal if the user asked for
13104         it. Fixes #330684.
13105
13106         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13107         location of the bus-private structure.
13108         (gst_bus_enable_sync_message_emission)
13109         (gst_bus_disable_sync_message_emission): API addition
13110
13111 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13112
13113         Patch by: Vincent Torri
13114
13115         * docs/pwg/building-boiler.xml:
13116         PWG patch from #326800
13117
13118 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13119
13120         * configure.ac:
13121         * docs/Makefile.am:
13122         * docs/design/Makefile.am:
13123           Dist design docs.
13124
13125 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13126
13127         * configure.ac:
13128           back to CVS
13129
13130 === release 0.10.3 ===
13131
13132 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13133
13134         * configure.ac:
13135           releasing 0.10.3, "Like a virgin"
13136
13137 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13138
13139         * configure.ac:
13140           2nd prerelease of 0.10.3
13141           Bump libtool versioning.
13142
13143 2006-02-07  Andy Wingo  <wingo@pobox.com>
13144
13145         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13146         update last_stop if we're in TIME format and the timestamp is
13147         valid.
13148
13149         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13150         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13151         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13152         If we get a new newsegment with a different format, adapt
13153         accordingly.
13154
13155         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13156         of 0. Not a problem, really.
13157
13158         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13159         warn if sync=true.
13160
13161 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13162
13163         * configure.ac:
13164           Prelease of 0.10.3
13165
13166 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13167
13168         * win32/vs7:
13169           project files updated to the default vs7 configuration
13170         * win32/common/libgstbase.def:
13171         * win32/common/libgstreamer.def:
13172           added new symbols,
13173           removed empty lines,
13174           sorted all exported symbols alphabetically
13175         * win32/common/dirent.c:
13176         * win32/common/dirent.h:
13177         * win32/common/gchar.h:
13178           use windows line end.
13179           
13180 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13181
13182         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13183           Send EOS event when stopping.
13184
13185 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13186
13187         * docs/README:
13188           Tell folks what to do if the plugin-foobar.xml file
13189           hasn't been generated for a newly-added plugin.
13190
13191 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13192
13193         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13194         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13195         (gst_collect_pads_start), (gst_collect_pads_stop),
13196         (gst_collect_pads_event): Collectpads now holds a reference
13197         to the GstPad that was added. Indeed we don't want to look
13198         at pads that might just go away with no warning...
13199
13200 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13201
13202         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13203         (gst_collect_pads_start), (gst_collect_pads_stop),
13204         (gst_collect_pads_event), (gst_collect_pads_chain):
13205         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13206         Mark Nauwelaerts's patch on bug #328491.
13207
13208 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13209
13210         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13211         (gst_utils_suite):
13212           Add some simple tests for gst_parse_bin_from_description() and
13213           gst_bin_find_unconnected_pad() (#329069).
13214
13215 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13216
13217         * tools/gst-launch.c: (event_loop), (main):
13218           Catch errors during preroll (#320084).
13219
13220 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13221
13222         * plugins/elements/gsttypefindelement.c:
13223         (gst_type_find_element_activate):
13224           Post TYPE_NOT_FOUND error message when typefinding
13225           is unsuccessful in the activate function as well.
13226
13227 2006-02-02  Wim Taymans  <wim@fluendo.com>
13228
13229         * docs/design/part-element-sink.txt:
13230         Updated doc.
13231
13232 2006-02-02  Wim Taymans  <wim@fluendo.com>
13233
13234         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13235         (gst_base_sink_render_object),
13236         (gst_base_sink_queue_object_unlocked):
13237         Only keep track of prerollable items when we are 
13238         prerolling.
13239         Before rendering after preroll, always check if we
13240         have queued items.
13241         Added some more debugging.
13242
13243 2006-02-02  Wim Taymans  <wim@fluendo.com>
13244
13245         * gst/gstelement.c: (gst_element_continue_state),
13246         (gst_element_set_state_func), (gst_element_change_state):
13247         Fixed #326576, been running this for quite some time with
13248         no regressions at all.
13249
13250 2006-02-02  Wim Taymans  <wim@fluendo.com>
13251
13252         * common/gst.supp:
13253         Added more suppressions
13254
13255 2006-02-02  Wim Taymans  <wim@fluendo.com>
13256
13257         * docs/design/part-element-sink.txt:
13258         Updated document.
13259
13260         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13261         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13262         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13263         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13264         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13265         (gst_base_sink_preroll_object),
13266         (gst_base_sink_queue_object_unlocked),
13267         (gst_base_sink_queue_object), (gst_base_sink_event),
13268         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13269         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13270         (gst_base_sink_get_position), (gst_base_sink_change_state):
13271         * libs/gst/base/gstbasesink.h:
13272         Totally refactored matching the design doc.
13273         Use two segments, one to clip incomming buffers and another to
13274         perform sync.
13275         Handle queueing correctly, bypass the queue when playing.
13276         Make EOS cancelable.
13277         Handle errors correctly when operating in pull based mode.
13278
13279         * tests/check/elements/fakesink.c: (GST_START_TEST),
13280         (fakesink_suite):
13281         Added new check for sinks.
13282
13283 2006-02-02  Wim Taymans  <wim@fluendo.com>
13284
13285         * gst/gstsegment.c: (gst_segment_clip):
13286         No reason to refuse to clip when start == -1
13287
13288 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13289
13290         * docs/README:
13291         * docs/manual/intro-basics.xml:
13292         * docs/manual/intro-preface.xml:
13293         * docs/manual/manual.xml:
13294         * docs/pwg/advanced-dparams.xml:
13295         * docs/pwg/intro-basics.xml:
13296         * docs/pwg/intro-preface.xml:
13297         * docs/pwg/pwg.xml:
13298           describe dparams (controller) for plugins
13299           unify docs a little more
13300
13301 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13302
13303         * docs/gst/gstreamer-sections.txt:
13304         * gst/gstutils.c: (element_find_unconnected_pad),
13305         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13306         * gst/gstutils.h:
13307           Add new API: gst_parse_bin_from_description() and
13308           gst_bin_find_unconnected_pad() (#329069).
13309
13310 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13311
13312         * docs/manual/README:
13313           uncover a nasty detail of the docs build
13314
13315 2006-01-31  Wim Taymans  <wim@fluendo.com>
13316
13317         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13318         Don't cache duration messages if we're not going to use or
13319         free them.
13320
13321 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13322
13323         * docs/manual/advanced-dparams.xml:
13324         * docs/pwg/advanced-dparams.xml:
13325           more dparam docs
13326         * gst/gstindex.c:
13327           fix docs
13328         * libs/gst/controller/lib.c: (gst_controller_init):
13329           init just once
13330
13331 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * gst/gstelement.c: (gst_element_message_full):
13334           also show file/line/func if no additional debug was given
13335
13336 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13337         
13338         * win32/vs7/grammar.vcproj:
13339           activate copy of autogenerated files for Release mode
13340
13341 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13342         
13343         * win32/common/libgstreamer.def:
13344           export gst_value_compare
13345
13346 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13347
13348         * plugins/elements/Makefile.am:
13349         * plugins/elements/gstelements.c:
13350         * plugins/elements/gstfdsink.c: (_do_init),
13351         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13352         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13353         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13354         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13355         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13356         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13357         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13358         * plugins/elements/gstfdsink.h:
13359         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13360
13361 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13362
13363         * docs/manual/advanced-dparams.xml:
13364           describe controller
13365         * docs/manual/advanced-position.xml:
13366         * docs/manual/basics-init.xml:
13367         * docs/manual/manual.xml:
13368         * docs/manual/titlepage.xml:
13369         * docs/pwg/pwg.xml:
13370         * docs/pwg/titlepage.xml:
13371           cleanup xml (more to come)
13372         * libs/gst/controller/gstcontroller.c:
13373           fix typo
13374
13375 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13376         
13377         * win32/vs6/grammar.dsp:
13378           add autogen of gstmarshal.c,h for Release mode
13379                 
13380 2006-01-30  Wim Taymans  <wim@fluendo.com>
13381
13382         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13383         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13384         (gst_base_sink_handle_object), (gst_base_sink_event),
13385         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13386         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13387         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13388         (gst_base_sink_deactivate), (gst_base_sink_activate),
13389         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13390         (gst_base_sink_query), (gst_base_sink_change_state):
13391         Basesink cleanups, remove some old code.
13392         Handle the case where a subclass can preroll in the render
13393         method (mostly audiosinks).
13394         Handle more events.
13395         Remove some locks around variables that are now protected
13396         with the PREROLL_LOCK (clock_id, flushing, ..).
13397         Optimize position query some more, do correct locking.
13398         Remove old code to push queue in state change, this is not
13399         needed anymore since preroll blocks on all prerollable items 
13400         now.
13401         Almost implemented as described in design doc.
13402
13403 2006-01-30  Wim Taymans  <wim@fluendo.com>
13404
13405         * tests/check/gst/gstbin.c: (GST_START_TEST):
13406         Wait for refcount to settle down before checking.
13407
13408 2006-01-30  Wim Taymans  <wim@fluendo.com>
13409
13410         * docs/design/part-element-sink.txt:
13411         Pseudo code overview of desired sink behaviour regarding
13412         preroll.
13413
13414 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13415         * win32/vs6/grammar.dsp:
13416           fix some bugs in Release mode for autogenerated files
13417                 
13418 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13419         * win32/common/libgstbase.def:
13420         * win32/common/libgstreamer.def:
13421           export some new symbols: gst_base_src_set_format,
13422           gst_iterator_next, gst_structure_set_valist
13423
13424 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13425
13426         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13427         Set pad functions unconditionally. Fixes #329105.
13428
13429 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13430         * win32/vs8:
13431           add vs8 project files created by Sergey Scobich
13432
13433 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13434
13435         * gst/gstutils.c: (gst_element_unlink_pads):
13436         Don't leak pad references.
13437
13438         * tests/check/elements/fakesink.c: (GST_START_TEST):
13439         * tests/check/generic/sinks.c: (GST_START_TEST):
13440         * tests/check/generic/states.c: (GST_START_TEST):
13441         * tests/check/gst/gstbin.c: (GST_START_TEST):
13442         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13443         * tests/check/gst/gstelement.c: (GST_START_TEST):
13444         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13445         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13446         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13447         Fix a bunch of leaks. Make generic/sinks.c
13448         use a bit less cpu by slowing the buffer rate
13449         between fakesrc and fakesink.
13450         
13451 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13452         * gst/gstcaps.c:
13453         * gst/gstelement.c: (gst_element_send_event):
13454         * gst/gstevent.c:
13455         * gst/gstinfo.c:
13456         * gst/gstiterator.c:
13457         * gst/gstiterator.h:
13458         * gst/gstpad.c: (gst_pad_send_event):
13459         * gst/gststructure.c:
13460         * gst/gsturi.c:
13461         * gst/gstutils.c:
13462         * gst/gstvalue.c:
13463         * libs/gst/base/gstadapter.c:
13464           doc fixes, to link to function, just write gst_cool_function(), don't
13465           prefix with '#'
13466
13467 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13468
13469         * plugins/elements/gsttee.c: (gst_tee_do_push),
13470         (gst_tee_handle_buffer):
13471         Always prefer an actual return value from a src
13472         pad in place of NOT_LINKED. This means we return
13473         WRONG_STATE when all src pads are WRONG_STATE
13474         instead of NOT_LINKED.
13475
13476         Lock when replacing the last message to prevent
13477         racing with the get_property method.
13478
13479         Add debug output
13480
13481 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13482
13483         * tests/check/Makefile.am:
13484         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
13485         (main):
13486         Add a very simple check that should have caught the memleak I fixed
13487         last night (if not for the slice allocator hiding it)
13488
13489 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13490
13491         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13492         (gst_bin_remove_func), (gst_bin_handle_message_func),
13493         (bin_query_duration_fold), (bin_query_generic_fold):
13494         Clean up references to the clock provider when disposed or when
13495         handling a clock-lost message from it.
13496
13497         Unref sinks when performing a query via gst_iterator_fold, as the
13498         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
13499
13500         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
13501         (gst_clock_set_master):
13502         Drop our reference to the master clock, if any, when we are disposed.
13503
13504         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
13505         Chain up in dispose. 
13506
13507 2006-01-26  Wim Taymans  <wim@fluendo.com>
13508
13509         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13510         Add some debugging.
13511
13512 2006-01-26  Julien MOUTTE  <julien@moutte.net>
13513
13514         * plugins/elements/gsttee.c: (gst_tee_do_push),
13515         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
13516         handles pad being NOT_LINKED or in WRONG_STATE.
13517
13518 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13519
13520         * win32/MANIFEST:
13521           more updating
13522
13523 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13524
13525         * win32/MANIFEST:
13526           remove obsolete entry
13527
13528 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13529
13530         * docs/gst/gstreamer-sections.txt:
13531         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
13532         (gst_bin_iterate_sources), (gst_bin_send_event):
13533         * gst/gstbin.h:
13534         * gst/gstelement.c: (gst_element_send_event):
13535         * gst/gstevent.c:
13536         * gst/gstpad.c: (gst_pad_send_event):
13537           added code for downstream events, reviewed docs in gstevent.c
13538
13539 2006-01-25  Julien MOUTTE  <julien@moutte.net>
13540
13541         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13542         We only query position using the clock in the playing state.
13543         Query peer in the other cases.
13544         * win32/common/config.h: Updates.
13545
13546 2006-01-24  Wim Taymans  <wim@fluendo.com>
13547
13548         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13549         A clock entry that is scheduled for the exact time of the
13550         clock is still in time.
13551
13552         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13553         (gst_base_sink_do_sync):
13554         Add some more debug info.
13555
13556 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13557
13558         * win32/vs7:
13559           Add new vs7 project files and solution.
13560
13561 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13562
13563         * win32/vs7:
13564           all files removed as they were out-dated.
13565
13566 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13567
13568         * docs/random/release:
13569           update notes
13570         * gst/gstbin.c: (gst_bin_init):
13571         * gst/gstbus.c: (gst_bus_new):
13572         * gst/gstbus.h:
13573         * gst/gstpipeline.c: (gst_pipeline_init):
13574           use gst_bus_new(), improve logging, fix docs
13575         * win32/common/config.h:
13576           update for cvs build
13577
13578 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13579
13580         * autogen.sh:
13581           up required version of automake to 1.7
13582
13583 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
13584
13585         * win32/common/libgstreamer.def:
13586           export gst_buffer_is_metadata_writable
13587
13588 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
13589
13590         * docs/gst/gstreamer-sections.txt:
13591         * gst/gstevent.h:
13592           Add gst_event_replace() (#327001)
13593
13594 2006-01-20  Wim Taymans  <wim@fluendo.com>
13595
13596         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13597         Make it actually compile too..
13598
13599 2006-01-20  Wim Taymans  <wim@fluendo.com>
13600
13601         * gst/gstcaps.c:
13602         Clarify behaviour of _is_equal() when passing NULL parameters.
13603
13604         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13605         (gst_pad_set_caps):
13606         Cleanups. Don't unref NULL caps.
13607         When setting the same caps, protect caps of the pad with
13608         proper lock.
13609         Use full functionality of _is_equal() when comparing caps.
13610
13611 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13612
13613         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13614         Don't loop infinitely if there are no buffers to present. Partially
13615         fixes #327197, but collectpads is just broken for reusing elements
13616         to do multiple encodes atm.
13617
13618 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13619
13620         * tools/gst-inspect.c: (print_element_features):
13621         * tools/gst-xmlinspect.c: (main):
13622         URL_HANDLER is not a plugin feature we can search for in
13623         the registry.
13624
13625 2006-01-19  Edward Hervey  <edward@fluendo.com>
13626
13627         * gst/gstelement.c: (gst_element_pads_activate): 
13628         When activating, do src pads first, then sink pads.
13629         When de-activating, do sink pads first, then src pads.
13630
13631 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13632
13633         * docs/gst/gstreamer-sections.txt:
13634         Add gst_index_add_associationv to the docs
13635
13636 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13637
13638         * gst/gstevent.c:
13639           Fix docs typo
13640
13641         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
13642         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
13643           Do some refactoring. Doesn't actually change functionality,
13644           but makes landing the DRAIN event easier later.
13645
13646 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
13647
13648         * docs/pwg/advanced-scheduling.xml:
13649           Update from 0.9.x to 0.10 API and make example a bit
13650           clearer.
13651
13652 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13653
13654         * docs/gst/gstreamer-sections.txt:
13655         Add gst_buffer_(is|make)_metadata_writable methods.
13656
13657 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13658
13659         * docs/design/part-sparsestreams.txt:
13660         Update sparse streams doc, hopefully for greater clarity
13661
13662 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
13663
13664         * docs/design/part-events.txt:
13665         Remove mention of FILLER events.
13666         Add DRAIN event.
13667
13668         * docs/design/part-sparsestreams.txt:
13669         Write some things about using NEWSEGMENT to keep sparse streams
13670         flowing.
13671
13672 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13673
13674         * gst/gstbin.c: (gst_bin_dispose):
13675           Guard gst_object_unref call against a NULL object (dispose
13676           can theoretically be called multiple times).
13677           
13678 2006-01-18  Wim Taymans  <wim@fluendo.com>
13679
13680         * gst/gstbin.c: (gst_bin_element_set_state):
13681         * gst/gstclock.c: (gst_clock_id_wait):
13682         Added some more debug info.
13683
13684         * libs/gst/base/gstadapter.c:
13685         Added more docs.
13686
13687         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13688         (gst_base_sink_do_sync), (gst_base_sink_chain):
13689         Added some comments.
13690
13691 2006-01-18  Wim Taymans  <wim@fluendo.com>
13692
13693         * tests/check/Makefile.am:
13694         * tests/check/elements/fakesink.c: (chain_async_buffer),
13695         (chain_async), (chain_async_return), (GST_START_TEST),
13696         (fakesink_suite), (main):
13697         Added fakesink test that checks prerolling and clipping
13698         behaviour.
13699
13700         * tests/check/gst/gstutils.c: (GST_START_TEST):
13701         Make check run faster so that buildbots don't timeout.
13702
13703 2006-01-18  Wim Taymans  <wim@fluendo.com>
13704
13705         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13706         (gst_base_sink_do_sync):
13707         Some cleanups.
13708         When the sink finishes blocking on the preroll buffer, it can
13709         immediatly render it instead of rendering when the next buffer
13710         arrives.
13711
13712 2006-01-18  Wim Taymans  <wim@fluendo.com>
13713
13714         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
13715         (gst_base_sink_get_property), (gst_base_sink_do_sync),
13716         (gst_base_sink_chain):
13717         Small cleanups.
13718         GST_ELEMENT_CLOCK and sync are protected with LOCK.
13719         Don't store _last_stop if the buffer is dropped.
13720
13721 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13722
13723         * plugins/elements/gsttypefindelement.c:
13724         (gst_type_find_element_class_init):
13725           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
13726           object method handler that sets the caps on the pad and we want
13727           that to happen before we emit the signal (fixes e.g. feeding a
13728           plain text file to decodebin).
13729
13730 2006-01-18  Christian Schaller  <Christian@fluendo.com>
13731
13732         * gst/gstplugin.c: Add MPL and Proprietary as license options
13733
13734 2006-01-18  Andy Wingo  <wingo@pobox.com>
13735
13736         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
13737         symbol was exported before, it appears this was just an oversight.
13738         Fixes #168703.
13739         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
13740
13741         * gst/gstindex.c (gst_index_add_associationv): Changed int in
13742         prototype to gint. OK since this prototype was not in the header.
13743
13744 2006-01-17  Andy Wingo  <wingo@pobox.com>
13745
13746         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
13747         registry while we remove plugins.
13748
13749         * tools/gst-inspect.c (print_element_info): Don't unref the
13750         factory arg, that should be the responsibility of whatever code
13751         received the ref. Fixes a double-free when called from
13752         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
13753         (main): Unref the factory if we have one.
13754         (print_element_list): No change -- relies on the
13755         plugin_feature_list_free to free the list of features.
13756
13757 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
13758
13759         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13760         (gst_buffer_make_metadata_writable):
13761         * gst/gstbuffer.h:
13762         * libs/gst/base/gstbasetransform.c:
13763         (gst_base_transform_prepare_output_buf):
13764         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13765         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13766           Replace gst_buffer_(make|is)_metadata_writable patch now
13767           that the release is out.
13768
13769 2006-01-17  Andy Wingo  <wingo@pobox.com>
13770
13771         * gst/gstregistry.c: Reflow design comment. Update so as to speak
13772         in the present tense without reference to versions.
13773
13774         * gst/gstregistry.c (gst_registry_add_plugin)
13775         (gst_registry_remove_plugin, gst_registry_remove_feature)
13776         (gst_registry_find_feature, gst_registry_get_feature_list)
13777         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
13778         (gst_registry_lookup, gst_registry_scan_path)
13779         (_gst_registry_remove_cache_plugins)
13780         (gst_registry_get_feature_list_by_plugin): Add argument
13781         validation.
13782
13783 === release 0.10.2 ===
13784
13785 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
13786
13787         * configure.ac:
13788           releasing 0.10.2, "If man is five"
13789
13790 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13791
13792         * gst/gstbuffer.c:
13793         * gst/gstbuffer.h:
13794         * libs/gst/base/gstbasetransform.c:
13795         (gst_base_transform_prepare_output_buf):
13796         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13797         * tests/check/gst/gstbuffer.c: (gst_test_suite):
13798           Back out patch until after the release.
13799
13800 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13801
13802         * gst/gstminiobject.c:
13803           Spelling fix in docs.
13804         * ChangeLog - remove conflict indicator
13805
13806 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13807
13808         Reviewed By: Andy Wingo
13809
13810         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13811         (gst_buffer_make_metadata_writable):
13812         * gst/gstbuffer.h:
13813           Add gst_buffer_(is|make)_metadata_writable as analogues of
13814           gst_buffer_(is|make)_writable.
13815
13816         * libs/gst/base/gstbasetransform.c:
13817         (gst_base_transform_prepare_output_buf):
13818         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13819           Use name gst_buffer_(is|make)_metadata_writable functions.
13820
13821         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13822           Test gst_buffer_(is|make)_metadata_writable
13823         
13824           (Closes: #324162)
13825
13826 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13827
13828         * docs/manual/Makefile.am:
13829           don't do parallel make
13830         * configure.ac:
13831           AC_SUBST HOST_CPU
13832         * win32/common/config.h.in:
13833           add generations for HOST_CPU and GST_MAJORMINOR
13834         * win32/common/config.h:
13835           commit generated result
13836
13837 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
13838
13839         * docs/manual/appendix-integration.xml:
13840           Update GNOME integration section to use gst_init_get_option_group()
13841           instead of the old popt stuff (#322911). Also, GNOME applications
13842           should  now use gconf*sink and gconf*src instead of the old gconf
13843           helper lib we had.
13844
13845 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
13846
13847
13848         * docs/gst/gstreamer-docs.sgml:
13849         * docs/gst/gstreamer-sections.txt:
13850         * docs/libs/gstreamer-libs-sections.txt:
13851           add new API entries to the docs
13852         * libs/gst/controller/Makefile.am:
13853         * libs/gst/controller/gstcontroller.c:
13854         * libs/gst/controller/gstcontroller.h:
13855         * libs/gst/controller/gstcontrollerprivate.h:
13856         * libs/gst/controller/gsthelper.c:
13857         * libs/gst/controller/gstinterpolation.c:
13858           move private structs to private header
13859         * po/README:
13860           gstreamer-0.7 -> gstreamer-0.10
13861         * tests/check/libs/struct_i386.h:
13862           remove private structs
13863
13864 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * plugins/indexers/Makefile.am:
13867           Fixes as part of #317048
13868
13869 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13870
13871         * plugins/indexers/Makefile.am:
13872           fix #316086 - compilation when mmap is missing
13873
13874 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
13875
13876         * libs/gst/base/gstbasesink.c:
13877           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
13878           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
13879         * win32/common/config.h:
13880           added some defines GST_MAJORMINOR and HOST_CPU
13881         * win32/common/libgstbase.def:
13882         * win32/common/libgstreamer.def:
13883           added some exported functions.
13884
13885 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13886
13887         * libs/gst/controller/gstcontroller.c:
13888         (gst_controlled_property_set_interpolation_mode),
13889         (gst_controlled_property_new):
13890         * libs/gst/controller/gstcontroller.h:
13891         * libs/gst/controller/gstinterpolation.c:
13892         (interpolate_none_get_string_value_array):
13893           make G_TYPE_STRING controlable
13894
13895 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13896
13897         * tools/README:
13898         * tools/gst-feedback.1.in:
13899         * tools/gst-inspect.1.in:
13900         * tools/gst-launch.1.in:
13901         * tools/gst-md5sum.1.in:
13902         * tools/gst-typefind.1.in:
13903         * tools/gst-xmlinspect.1.in:
13904         * tools/gst-xmllaunch.1.in:
13905           cleanup man-pages, remove reference to gst-register, document env-vars
13906
13907 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
13908
13909         * gst/gstbuffer.c: (gst_buffer_span):
13910           gst_buffer_span should copy the timestamp of the first buffer
13911           if they were both originally overlapping subbuffers of the 
13912           same parent, using the same logic as the 'slow copy' case.
13913
13914 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
13915
13916         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
13917           Need to awaken ALL the pads when we pop a buffer, otherwise
13918           collectpads only works when there is 2 input streams.
13919
13920 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
13921
13922         * docs/random/ensonic/media-device-daemon.txt:
13923           more ideas (dbus)
13924         * gst/gstbuffer.c:
13925           fix doc example, add clarification
13926         * tools/gst-launch.1.in:
13927           add initial info about GST_PLUGIN_PATH, needs more work
13928
13929 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
13930
13931         * docs/manual/basics-bins.xml:
13932         * docs/manual/basics-elements.xml:
13933         * docs/manual/intro-basics.xml:
13934           Some more minor docs additions and updates.
13935
13936 2006-01-11  Wim Taymans  <wim@fluendo.com>
13937
13938         * docs/manual/basics-bins.xml:
13939         * docs/manual/basics-elements.xml:
13940         Some small fixes as pointed out by Ser-ver on IRC.
13941
13942 2006-01-10  Edward Hervey  <edward@fluendo.com>
13943
13944         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13945         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
13946         the single-segment mode.
13947
13948 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
13949
13950         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13951
13952         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
13953         (gst_base_src_perform_seek), (gst_base_src_send_event),
13954         (gst_base_src_set_property), (gst_base_src_get_property),
13955         (gst_base_src_loop), (gst_base_src_start),
13956         (gst_base_src_activate_push):
13957         * libs/gst/base/gstbasesrc.h:
13958           Name (private) union; makes Sun's Forte compiler happy (#324900).
13959
13960 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
13961
13962         * README:
13963           gst-register is gone.
13964
13965 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * gst/gstvalue.c: (_gst_value_initialize):
13968           make the G_TYPE_DATE instantiation work if debug is disabled
13969
13970 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
13971
13972         * gst/gstmessage.c: (gst_message_parse_tag),
13973         (gst_message_parse_error), (gst_message_parse_warning):
13974           Don't crash when return location for error/warning debug
13975           string is NULL; add fact that return locations can be
13976           NULL to docs where appropriate.
13977
13978 2006-01-05  Wim Taymans  <wim@fluendo.com>
13979
13980         * gst/gstplugin.c: (gst_plugin_load_file):
13981         Replace strdup by g_strdup.
13982
13983 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13984
13985         * docs/pwg/advanced-types.xml:
13986           fix doc borkage
13987
13988 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         submitted by: Abel Cheung
13991
13992         * po/LINGUAS:
13993         * po/zh_TW.po:
13994           Added Chinese (traditional) translation
13995
13996 2006-01-04  Wim Taymans  <wim@fluendo.com>
13997
13998         * docs/manual/basics-pads.xml:
13999         * docs/plugins/Makefile.am:
14000         * docs/plugins/gstreamer-plugins-docs.sgml:
14001         * docs/plugins/gstreamer-plugins-sections.txt:
14002         * docs/pwg/advanced-clock.xml:
14003         * docs/pwg/advanced-scheduling.xml:
14004         * docs/pwg/advanced-types.xml:
14005         * plugins/elements/gstfdsink.c:
14006         * plugins/elements/gstfdsrc.c:
14007         * plugins/elements/gstfdsrc.h:
14008         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14009         * plugins/elements/gstidentity.h:
14010         * plugins/elements/gstqueue.h:
14011         * plugins/elements/gsttee.c:
14012         * plugins/elements/gsttee.h:
14013         * plugins/elements/gsttypefindelement.c:
14014         (gst_type_find_element_class_init):
14015         * plugins/elements/gsttypefindelement.h:
14016         Small updates to various docs.
14017         Added core plugins to docs.
14018
14019 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14020
14021         * common/gst.supp:
14022           add a suppression for liboil's uninitialized variable
14023
14024 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14025
14026         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14027
14028         * gst/gstutils.h:
14029           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14030           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14031           compiler switch is being used (#325429).
14032
14033 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14034
14035         * gst/gstbin.c: (gst_bin_query):
14036           Disable duration query caching in bins until it gets
14037           fixed (see #324807).
14038
14039 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14040
14041         * tools/gst-inspect.c: (print_element_properties_info):
14042           Handle properties of POINTER and BOXED type.
14043
14044 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14045
14046         * gst/gst.c: (init_post):
14047           Init tags stuff and some other things before loading
14048           any static plugins (there may be other static plugins
14049           than just the GStreamer ones, and they may want to
14050           register their own tags or formats or whatever, and
14051           preferably without segfaulting).
14052
14053         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14054           Print at least a warning in the debug logs if we drop a
14055           query just because we don't know how to adjust the value
14056           in the particular format.
14057
14058 2005-12-24  David Schleef  <ds@schleef.org>
14059
14060         * tools/gstreamer-completion:
14061           Replacement for gst-complete written in sh and sed.  Only
14062           completes names of features, but that's 90% of what I want
14063           it for.  Properties are not available in registry.xml.  (Maybe
14064           they should be...)
14065
14066 === release 0.10.1 ===
14067
14068 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14069
14070         * configure.ac:
14071           releasing 0.10.1, "Nollaig chridheil"
14072
14073 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14074
14075         * docs/faq/cvs.xml:
14076           Add missing quote, should be make ERROR_CFLAGS="".
14077
14078 2005-12-20  Wim Taymans  <wim@fluendo.com>
14079
14080         * docs/design/part-trickmodes.txt:
14081         More documentation on trickmodes.
14082
14083 2005-12-20  Edward Hervey  <edward@fluendo.com>
14084
14085         * gst/gstcaps.c: (gst_static_caps_get_type):
14086         * gst/gstcaps.h:
14087           API addition: GST_TYPE_STATIC_CAPS
14088         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14089         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14090         * gst/gstpadtemplate.h:
14091           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14092         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14093         bindings.
14094
14095 2005-12-18  Wim Taymans  <wim@fluendo.com>
14096
14097         * libs/gst/base/gstadapter.c:
14098         * libs/gst/base/gstadapter.h:
14099         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14100         (gst_base_sink_get_position):
14101         * libs/gst/base/gstbasesink.h:
14102         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14103         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14104         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14105         (gst_base_src_send_event), (gst_base_src_update_length),
14106         (gst_base_src_get_range), (gst_base_src_loop),
14107         (gst_base_src_start):
14108         * libs/gst/base/gstbasesrc.h:
14109         * libs/gst/base/gstbasetransform.h:
14110         * libs/gst/base/gstcollectpads.h:
14111         * libs/gst/base/gstpushsrc.c:
14112         * libs/gst/base/gstpushsrc.h:
14113         * libs/gst/dataprotocol/dataprotocol.c:
14114         * libs/gst/dataprotocol/dataprotocol.h:
14115         * libs/gst/net/gstnetclientclock.h:
14116         * libs/gst/net/gstnettimeprovider.h:
14117         Documentation updates.
14118
14119 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14120
14121         * docs/manual/basics-helloworld.xml:
14122           Remove superfluous closing bracket in helloworld example.
14123
14124 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14125
14126         * tools/gst-launch.1.in:
14127           Update gst-launch man page; add a section with useful
14128           environment variables. Fixes #323882.
14129
14130 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14131
14132         * gst/gst.c:
14133         * gst/gst_private.h:
14134           change some char* into char[]
14135
14136 2005-12-16  Wim Taymans  <wim@fluendo.com>
14137
14138         * gst/gstregistryxml.c: (load_feature):
14139         Cleanups.
14140         Don't use g_object_unref on GstObjects so that we avoid
14141         leaks on unsafe glibs.
14142
14143 2005-12-16  Wim Taymans  <wim@fluendo.com>
14144
14145         * gst/gstbin.c: (gst_bin_recalc_state):
14146         Small doc updates.
14147
14148 2005-12-16  Wim Taymans  <wim@fluendo.com>
14149
14150         * common/check.mak:
14151         Added make forever target for check.
14152
14153 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14154
14155         * gst/gst.c: (init_post):
14156           make the registry cache file HOST_CPU-dependent
14157
14158 2005-12-16  Andy Wingo  <wingo@pobox.com>
14159
14160         * plugins/elements/gstbufferstore.c
14161         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14162         return value.
14163
14164         * tests/check/gst/gstobject.c
14165         (test_fake_object_name_threaded_unique): Pay attention to
14166         g_list_sort return value.
14167
14168 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14169
14170         * tools/gst-feedback-m.m:
14171           Update for 0.9/0.10 (fixes #323870).
14172
14173 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14174
14175         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14176           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14177           
14178         * tests/check/gst/gstminiobject.c: (my_foo_init),
14179         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14180         (test_value_collection), (gst_mini_object_suite):
14181           Add test to ensure refcounts end up as expected when passing
14182           GstMiniObjects through g_object_get() and g_object_set().
14183
14184 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14185
14186         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14187         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14188         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14189         of collectpads. This version removes a lot of races without
14190         touching API/ABI. Yay !
14191
14192 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14193
14194         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14195           Don't allow activation of a srcpad in pull_range if it has no
14196           getrange function.
14197           Change some debug statements to be a little clearer
14198
14199         * plugins/elements/gsttypefindelement.c:
14200         (gst_type_find_handle_src_query):
14201           Check that we have a peer before executing queries thereupon.
14202
14203         * tests/examples/metadata/read-metadata.c: (message_loop):
14204           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14205           immediately return us any available message with 0 timeout.
14206
14207 2005-12-12  Michael Smith  <msmith@fluendo.com>
14208
14209         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14210           Don't unref factories after calling them.
14211         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14212         * plugins/elements/gsttypefindelement.c:
14213         (gst_type_find_element_chain):
14214           Free lists of factories after using them. Fixing typefinding memory
14215           leaks.
14216
14217 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14218
14219         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14220         (gst_plugin_feature_load):
14221           more meaningful debug output
14222         * configure.ac:
14223         * tests/Makefile.am:
14224         * tests/old/examples/Makefile.am:
14225           make make distcheck happy again
14226
14227 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14228
14229         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14230           Catch the special case where we are operating chain-based,
14231           but the downstream peer pad has no chain function. Emit a
14232           custom error message in this case instead of letting the
14233           core generate one implying that this is some sort of core
14234           bug. It's not, it just means that whatever got plugged
14235           into the pipeline downstream when we announced the type
14236           can only operate pull-based, while our source can only
14237           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14238           Error string has not been marked for translation yet, as
14239           it probably needs some more work first.
14240
14241         (gst_type_find_element_get_best_possibility):
14242           Add helper function to find the best of all available
14243           found possibilities that qualify given the min. threshold.
14244
14245         (gst_type_find_element_handle_event):
14246           Fix the case where we get an EOS while still in TYPEFIND
14247           mode (we want to chose the best of all possible types,
14248           not just the first type that happens to be in our unsorted
14249           list of possible types).
14250
14251         (gst_type_find_element_chain):
14252           Make sure we return GST_FLOW_ERROR when we errored out
14253           in stop_typefinding(); also, don't just find the best of
14254           all found type entries and then use the last examined
14255           type entry, but actually use the best entry.
14256
14257 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14258
14259         * tests/examples/typefind/typefind.c: (type_found):
14260         * tests/examples/xml/runxml.c: (xml_loaded):
14261           More gcc4 fixes and a mem leak fix.
14262
14263 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14264
14265         * tests/examples/xml/createxml.c: (object_saved):
14266           gcc 4 fixes
14267
14268 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14269
14270         * tests/Makefile.am:
14271           enable the examples even more
14272
14273 2005-12-12  Andy Wingo  <wingo@pobox.com>
14274
14275         * libs/gst/net/gstnettimeprovider.c
14276         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14277         (gst_net_time_provider_set_property)
14278         (gst_net_time_provider_get_property):
14279         API addition: Export "active" as a GObject property.
14280         (gst_net_time_provider_thread): Only respond to time queries if
14281         the time provider is active.
14282
14283         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14284         NetTimeProvider, preserving binary compat.
14285
14286 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14287
14288         * tests/examples/controller/audio-example.c: (main):
14289         * tests/examples/launch/Makefile.am:
14290           convert comments again
14291
14292 2005-12-12  Wim Taymans  <wim@fluendo.com>
14293
14294         * libs/gst/base/gstpushsrc.c:
14295         Fix typo.
14296
14297 2005-12-12  Wim Taymans  <wim@fluendo.com>
14298
14299         * docs/libs/gstreamer-libs-sections.txt:
14300         Added new symbol to docs.
14301
14302         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14303         (gst_base_src_init), (gst_base_src_set_format),
14304         (gst_base_src_default_query), (gst_base_src_query),
14305         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14306         (gst_base_src_perform_seek), (gst_base_src_send_event),
14307         (gst_base_src_default_event), (gst_base_src_event_handler),
14308         (gst_base_src_set_property), (gst_base_src_get_property),
14309         (gst_base_src_wait), (gst_base_src_do_sync),
14310         (gst_base_src_update_length), (gst_base_src_get_range),
14311         (gst_base_src_check_get_range), (gst_base_src_loop),
14312         (gst_base_src_default_negotiate), (gst_base_src_start),
14313         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14314         (gst_base_src_change_state):
14315         * libs/gst/base/gstbasesrc.h:
14316         Implement seeking to other formats than _BYTES.
14317         Implement more seeking methods correctly.
14318         Doc updates.
14319         Added query vmethod.
14320         Added do_seek vmethod to make life easier for subclasses
14321         when seeking.
14322         API addition: gst_base_src_set_format()
14323
14324 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14325
14326         * tests/examples/Makefile.am:
14327           added that too
14328
14329 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14330
14331         * configure.ac:
14332         * docs/random/ensonic/media-device-daemon.txt:
14333         * tests/examples/controller/.cvsignore:
14334         * tests/examples/controller/Makefile.am:
14335         * tests/examples/controller/audio-example.c: (main):
14336         * tests/examples/helloworld/.cvsignore:
14337         * tests/examples/helloworld/Makefile.am:
14338         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14339         * tests/examples/launch/.cvsignore:
14340         * tests/examples/launch/Makefile.am:
14341         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14342         * tests/examples/metadata/.cvsignore:
14343         * tests/examples/metadata/Makefile.am:
14344         * tests/examples/metadata/read-metadata.c: (message_loop),
14345         (make_pipeline), (print_tag), (main):
14346         * tests/examples/queue/.cvsignore:
14347         * tests/examples/queue/Makefile.am:
14348         * tests/examples/queue/queue.c: (event_loop), (main):
14349         * tests/examples/typefind/.cvsignore:
14350         * tests/examples/typefind/Makefile.am:
14351         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14352         (main):
14353         * tests/examples/xml/.cvsignore:
14354         * tests/examples/xml/Makefile.am:
14355         * tests/examples/xml/createxml.c: (object_saved), (main):
14356         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14357         * tests/old/examples/Makefile.am:
14358         * tests/old/examples/TODO:
14359         * tests/old/examples/controller/.cvsignore:
14360         * tests/old/examples/controller/Makefile.am:
14361         * tests/old/examples/controller/audio-example.c:
14362         * tests/old/examples/helloworld/.cvsignore:
14363         * tests/old/examples/helloworld/Makefile.am:
14364         * tests/old/examples/helloworld/helloworld.c:
14365         * tests/old/examples/launch/.cvsignore:
14366         * tests/old/examples/launch/Makefile.am:
14367         * tests/old/examples/launch/mp3parselaunch.c:
14368         * tests/old/examples/launch/mp3play:
14369         * tests/old/examples/manual/Makefile.am:
14370         * tests/old/examples/metadata/Makefile.am:
14371         * tests/old/examples/metadata/read-metadata.c:
14372         * tests/old/examples/queue/.cvsignore:
14373         * tests/old/examples/queue/Makefile.am:
14374         * tests/old/examples/queue/queue.c:
14375         * tests/old/examples/typefind/.cvsignore:
14376         * tests/old/examples/typefind/Makefile.am:
14377         * tests/old/examples/typefind/typefind.c:
14378         * tests/old/examples/xml/.cvsignore:
14379         * tests/old/examples/xml/Makefile.am:
14380         * tests/old/examples/xml/createxml.c:
14381         * tests/old/examples/xml/runxml.c:
14382           applied some simple fixing to some examples
14383           re-enabled the working examples
14384
14385 2005-12-12  Wim Taymans  <wim@fluendo.com>
14386
14387         * gst/gstsegment.c: (gst_segment_init),
14388         (gst_segment_set_last_stop), (gst_segment_set_seek),
14389         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14390         (gst_segment_to_running_time):
14391         Added more documentation.
14392         Make sure the last_pos value is updated properly.
14393         Make sure to_stream_time and to_running_time don't
14394         operate on wrong values.
14395
14396         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14397         Update check.
14398
14399 2005-12-12  Michael Smith  <msmith@fluendo.com>
14400
14401         * plugins/elements/gsttypefindelement.c: (free_entry),
14402         (gst_type_find_element_chain):
14403           Now that we're not leaking factories, make sure we keep references
14404           to them while we need them.
14405
14406 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14407
14408         * tests/check/gst/struct_i386.h:
14409           ifdef out the XML structs
14410
14411 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14412
14413         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14414           floor is not needed, F is always positive; this obviates the
14415           need for adding -lm when building without libxml
14416
14417 2005-12-12  Wim Taymans  <wim@fluendo.com>
14418
14419         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14420         Take current playback rate into account when reporting
14421         the position.
14422
14423 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14424
14425         * docs/manual/mime-world.fig:
14426           Let's try this again, this time with a file that is
14427           actually in XFig format.
14428
14429 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14430
14431         * docs/manual/mime-world.fig:
14432           Add audioconvert element to diagram so that it
14433           matches the text and the code (fixes #319526).
14434
14435 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14436
14437         * docs/pwg/building-chainfn.xml:
14438         * docs/pwg/building-pads.xml:
14439         * docs/pwg/building-state.xml:
14440         * docs/pwg/other-source.xml:
14441           Update state change stuff for 0.10 (fixes #322969).
14442
14443 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14444
14445         * docs/manual/advanced-dataaccess.xml:
14446         * docs/manual/appendix-checklist.xml:
14447         * docs/manual/appendix-programs.xml:
14448         * docs/manual/basics-pads.xml:
14449         * docs/manual/highlevel-components.xml:
14450         * docs/manual/manual.xml:
14451           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14452           add converters in front of pipelines; remove curly
14453           brackets for threads stuff, they no longer exist; use
14454           GST_TYPE_FRACTION for framerates; update some pieces of
14455           code to 0.10, but there's plenty more to do.
14456
14457         * docs/manual/appendix-porting.xml:
14458           Expand on asynchroneous state changes; s/0.9/0.10/;
14459           mention disappearance of gst_init_get_popt_table()
14460           (fixes #322916).
14461
14462 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14463
14464         * docs/faq/using.xml:
14465           Spider no longer exists, and neither does gst-launch-ext.
14466           Update examples to use decodebin and playbin and put
14467           converters in front of sinks (fixes #323726).
14468
14469 2005-12-09  Michael Smith  <msmith@fluendo.com>
14470
14471         * plugins/elements/gsttypefindelement.c: (find_peek),
14472         (gst_type_find_element_chain):
14473           Fix leaking element factories in typefinding.
14474           Fix problem where we forgot about a probable type on non-seekable
14475           files, and thus later mis-typefound it.
14476
14477 2005-12-09  Michael Smith  <msmith@fluendo.com>
14478
14479         * common/m4/gst-makecontext.m4:
14480         * common/m4/gst-mcsc.m4:
14481         * configure.ac:
14482         * win32/common/config.h:
14483         * win32/common/config.h.in:
14484           Remove makecontext stuff; not used in 0.10 and causes problems on
14485           HPUX according to bug #322441
14486
14487 2005-12-07  Wim Taymans  <wim@fluendo.com>
14488
14489         * tests/check/Makefile.am:
14490         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
14491         (main):
14492         * tests/check/libs/struct_i386.h:
14493         Added ABI check for libs
14494
14495 2005-12-07  Wim Taymans  <wim@fluendo.com>
14496
14497         * tests/check/Makefile.am:
14498         And add the struct_i386.h to dist.
14499
14500 2005-12-07  Wim Taymans  <wim@fluendo.com>
14501
14502         * tests/check/Makefile.am:
14503         * tests/check/gst/.cvsignore:
14504         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
14505         (main):
14506         * tests/check/gst/struct_i386.h:
14507         Added check for ABI compatibility.
14508
14509 2005-12-07  Wim Taymans  <wim@fluendo.com>
14510
14511         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14512         (gst_fake_src_get_times), (gst_fake_src_create):
14513         Fix broken sync option, fixes #323259
14514
14515 2005-12-07  Wim Taymans  <wim@fluendo.com>
14516
14517         * gst/gstbuffer.c:
14518         Small docs update.
14519
14520         * gst/gstcaps.c: (gst_caps_is_equal):
14521         Don't assert on NULL <--> X. Fixes #323260
14522
14523         * gst/gstminiobject.c: (gst_mini_object_replace):
14524         If we're doing atomic operations, we might just as well use
14525         the proper way to get an atomic pointer.
14526
14527         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14528         Clean up debugging.
14529
14530 2005-12-07  Michael Smith  <msmith@fluendo.com>
14531
14532         * gst/parse/grammar.y:
14533           Remove handling of { } for threads.
14534
14535 2005-12-06  David Schleef  <ds@schleef.org>
14536
14537         * libs/gst/base/gstbasetransform.c: speling fix.
14538
14539 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14540
14541         * docs/libs/tmpl/gstdataprotocol.sgml:
14542         * docs/random/omega/testing/gstobject.c:
14543         * gst/gst.c:
14544         * gst/gstclock.c:
14545         * gst/gstelement.c:
14546         * gst/gstelementfactory.c:
14547         * gst/gsterror.c:
14548         * gst/gstevent.c:
14549         * gst/gstghostpad.c:
14550         * gst/gstinfo.c:
14551         * gst/gstpadtemplate.c:
14552         * gst/gstregistryxml.c:
14553         * gst/gsttaglist.c:
14554         * gst/gsttagsetter.c:
14555         * gst/gsttypefind.c:
14556         * gst/gstvalue.c:
14557         * libs/gst/base/gstbasesrc.c:
14558         * libs/gst/net/gstnetclientclock.c:
14559         * libs/gst/net/gstnettimeprovider.c:
14560         * plugins/elements/gstfakesrc.c:
14561         * plugins/elements/gstfdsrc.c:
14562         * plugins/elements/gstfilesrc.c:
14563         * plugins/elements/gstidentity.c:
14564         * plugins/elements/gstqueue.c:
14565         * plugins/elements/gsttypefindelement.c:
14566         * plugins/indexers/gstfileindex.c:
14567         * plugins/indexers/gstmemindex.c:
14568         * tests/check/gst/gsttag.c:
14569         * tests/old/examples/cutter/cutter.c:
14570         * tests/old/examples/mixer/mixer.c:
14571         * tests/old/examples/xml/runxml.c: (main):
14572         * tests/old/testsuite/caps/normalisation.c:
14573         * tests/old/testsuite/debug/global.c:
14574         * tests/old/testsuite/parse/parse1.c:
14575         * tools/gst-xmlinspect.c:
14576         * win32/common/dirent.c:
14577           expand tabs
14578
14579 === release 0.10.0 ===
14580
14581 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14582
14583         * configure.ac:
14584           releasing 0.10.0, "Maroilles"
14585
14586 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14587
14588         submitted by: Funda Wang <fundawang@linux.net.cn>
14589
14590         * po/LINGUAS:
14591         * po/zh_CN.po:
14592           added Chinese (Traditional) translation
14593
14594 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * docs/gst/gstreamer-sections.txt:
14597         * docs/libs/tmpl/gstdataprotocol.sgml:
14598         * docs/random/thomasvs/TODO:
14599         * gst/gstutils.c:
14600         * gst/gstutils.h:
14601           fix docs
14602
14603 2005-12-05  Andy Wingo  <wingo@pobox.com>
14604
14605         patch by: Wim Taymans <wim@fluendo.com>
14606
14607         * libs/gst/base/gstbasetransform.c
14608         (gst_base_transform_prepare_output_buf)
14609         (gst_base_transform_buffer_alloc):
14610         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
14611         alloc_buffer_and_set_caps.
14612
14613         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
14614         set_caps on the source pad.
14615         (gst_pad_alloc_buffer_and_set_caps): New function, does what
14616         alloc_buffer used to do. Fixes #322874.
14617
14618         * docs/gst/gstreamer-sections.txt: 
14619         * docs/design/part-negotiation.txt: 
14620         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
14621         changes.
14622
14623 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14624
14625         patch by: Sebastien Moutte
14626
14627         * win32/MANIFEST:
14628         * win32/common/config.h.in:
14629         * win32/vs6/libgstcontroller.dsp:
14630           win32 build fixes
14631
14632 2005-12-05  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/gstcaps.c: (gst_caps_is_equal):
14635         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14636         (gst_fake_src_create):
14637         Back out previous code changes, leave doc updates, file bugs 
14638         instead. 
14639
14640 2005-12-05  Wim Taymans  <wim@fluendo.com>
14641
14642         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14643         (gst_fake_src_get_times), (gst_fake_src_create):
14644         * plugins/elements/gstfakesrc.h:
14645         Fix broken sync code.
14646
14647 2005-12-05  Wim Taymans  <wim@fluendo.com>
14648
14649         * gst/gstcaps.c: (gst_caps_is_equal):
14650         Comparing NULL against !NULL yields different caps, not a
14651         failure.
14652
14653 2005-12-05  Wim Taymans  <wim@fluendo.com>
14654
14655         * gst/gstpipeline.c:
14656         Fix small typo in docs.
14657
14658 2005-12-05  Andy Wingo  <wingo@pobox.com>
14659
14660         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
14661
14662         * gst/gst.c (init_post): remove hard-coded 0.9 location for
14663         registries/plugins with a MAJORMINOR one.
14664         (plugin_desc): Rename library from gstcoreleements to
14665         staticelements. Fixes #323222.
14666
14667 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
14668
14669         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
14670           Change debug category to 'collectpads' from 'collect_pads'
14671           (fixes #323250).
14672
14673 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         patch by: Sebastien Moutte
14676
14677         * libs/gst/controller/gstinterpolation.c:
14678           use convert function for uint64/double
14679         * win32/vs6/libgstcontroller.dsp:
14680           link to GLib
14681
14682 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14683
14684         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
14685         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
14686         * gst/gstutils.h:
14687         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14688           add tests that seem to show that the guint64/gdouble conversions
14689           are correct.
14690
14691 2005-12-02  Wim Taymans  <wim@fluendo.com>
14692
14693         * gst/gstregistry.c: (gst_registry_add_path):
14694         * gst/gstregistry.h:
14695         * gst/gstregistryxml.c:
14696         Fix docs again.
14697
14698 2005-12-02  Wim Taymans  <wim@fluendo.com>
14699
14700         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14701         (gst_util_uint64_scale_int):
14702         Small cleanup.
14703
14704         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14705         Add debug log line.
14706
14707         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
14708         Add FIXME.
14709
14710 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14711
14712         * win32/MANIFEST:
14713         * win32/common/config.h:
14714         * win32/vs6/gstreamer.dsw:
14715         * win32/vs6/libgstcoreelements.dsp:
14716         * win32/vs6/libgstelements.dsp:
14717           renamed core elements plugin
14718
14719 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14720
14721         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
14722         (get_candidates):
14723           do piece-wise major/minor comparison so 0.9 < 0.10
14724           also allow .exe extensions for tools
14725
14726 2005-12-02  Michael Smith  <msmith@fluendo.com>
14727
14728         * gst/gst.c:
14729           Escape a % to make gtkdoc happier; bug 322958.
14730
14731 === release 0.9.7 ===
14732
14733 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14734
14735         * configure.ac:
14736           releasing 0.9.7, "My Dog Has No Nose"
14737
14738 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14739
14740         * common/gst-xmlinspect.py:
14741         * configure.ac:
14742         * docs/libs/tmpl/gstdataprotocol.sgml:
14743         * docs/random/release:
14744         * po/af.po:
14745         * po/az.po:
14746         * po/bg.po:
14747         * po/ca.po:
14748         * po/cs.po:
14749         * po/de.po:
14750         * po/en_GB.po:
14751         * po/fr.po:
14752         * po/it.po:
14753         * po/nb.po:
14754         * po/nl.po:
14755         * po/ru.po:
14756         * po/sq.po:
14757         * po/sr.po:
14758         * po/sv.po:
14759         * po/tr.po:
14760         * po/uk.po:
14761         * po/vi.po:
14762         * win32/common/config.h:
14763         * win32/common/config.h.in:
14764         * win32/vs6/gst_inspect.dsp:
14765         * win32/vs6/gst_launch.dsp:
14766         * win32/vs6/libgstbase.dsp:
14767         * win32/vs6/libgstelements.dsp:
14768         * win32/vs6/libgstreamer.dsp:
14769         * win32/vs7/GStreamer.vcproj:
14770         * win32/vs7/gst-inspect.vcproj:
14771         * win32/vs7/gst-launch.vcproj:
14772         * win32/vs7/libgstbase.vcproj:
14773           bump GST_MAJORMINOR to 0.10
14774           reset libtool version
14775
14776 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14777
14778         * po/LINGUAS:
14779         * po/bg.po:
14780           Added Bulgarian translation by (Alexander Shopov)
14781
14782 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14783
14784         * tests/check/gst/gstplugin.c:
14785           fix test
14786
14787 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14788
14789         * common/gst-xmlinspect.py:
14790         * common/gtk-doc-plugins.mak:
14791         * configure.ac:
14792         * docs/Makefile.am:
14793         * docs/gst/Makefile.am:
14794         * docs/gst/gstreamer-docs.sgml:
14795         * docs/gst/gstreamer-sections.txt:
14796         * docs/gst/gstreamer.types:
14797         * docs/gst/gstreamer.types.in:
14798         * docs/plugins/Makefile.am:
14799         * docs/plugins/gstreamer-plugins-docs.sgml:
14800         * docs/plugins/gstreamer-plugins-sections.txt:
14801         * docs/plugins/gstreamer-plugins.types:
14802         * docs/plugins/inspect.stamp:
14803         * docs/plugins/inspect/plugin-coreelements.xml:
14804         * docs/plugins/inspect/plugin-coreindexers.xml:
14805         * docs/plugins/scanobj-build.stamp:
14806         * gstreamer.spec.in:
14807         * plugins/elements/Makefile.am:
14808         * plugins/elements/gstelements.c:
14809         * plugins/elements/gstfakesink.c:
14810         * plugins/elements/gstfakesrc.c:
14811         * plugins/elements/gstfilesink.c:
14812         * plugins/elements/gstfilesrc.c:
14813         * plugins/elements/gstqueue.c:
14814         * plugins/indexers/Makefile.am:
14815         * plugins/indexers/gstindexers.c:
14816           document core plugins in a separate document just like all the
14817           others
14818           rename these plugins to something starting with core
14819
14820 2005-12-01  Andy Wingo  <wingo@pobox.com>
14821
14822         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
14823         padding here before, but it missed the commit.
14824
14825 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14826
14827         * libs/gst/controller/gstinterpolation.c:
14828           whitespace prices have crashed, we should feel free to use some now
14829           use gst_guint64_to_gdouble
14830
14831 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14832
14833         * libs/gst/controller/gstcontroller.c:
14834         * libs/gst/controller/gsthelper.c:
14835         * libs/gst/controller/gstinterpolation.c:
14836         * libs/gst/controller/lib.c:
14837           wrap config.h include
14838
14839 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14840
14841         * docs/gst/gstreamer-sections.txt:
14842           update docs
14843
14844 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14845
14846         * plugins/elements/gstelements.c:
14847         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
14848         (gst_fd_sink__class_init), (gst_fd_sink__init),
14849         (gst_fd_sink__chain), (gst_fd_sink__set_property),
14850         (gst_fd_sink__get_property):
14851         * plugins/elements/gstfdsink.h:
14852         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
14853         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
14854         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
14855         (gst_fd_src_unlock), (gst_fd_src_set_property),
14856         (gst_fd_src_get_property), (gst_fd_src_create),
14857         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
14858         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
14859         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
14860         (gst_fd_src_uri_handler_init):
14861         * plugins/elements/gstfdsrc.h:
14862         * plugins/elements/gstqueue.c: (gst_queue_get_type):
14863           more anal cleanup
14864
14865 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14866
14867         * docs/gst/Makefile.am:
14868         * docs/gst/gstreamer.types.in:
14869         * gst/Makefile.am:
14870           fix the docs build
14871
14872 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14873
14874         * configure.ac:
14875         * gst/Makefile.am:
14876         * gst/gst.c:
14877         * gst/gstplugin.h:
14878         * gst/gstregistry.h:
14879         * tests/benchmarks/complexity.c:
14880         * tests/benchmarks/mass-elements.c:
14881         * tests/check/Makefile.am:
14882         * tools/Makefile.am:
14883         * tools/gst-inspect.c:
14884         * tools/gst-xmlinspect.c:
14885           various fixes to make
14886           --disable-nls --disable-registry --disable-loadsave
14887           --disable-parse --disable-gst-debug
14888           work and get the core .so down to 360444 bytes after stripping
14889
14890 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14891
14892         * Makefile.am:
14893         * configure.ac:
14894           descend into tests
14895         * docs/random/thomasvs/TODO:
14896         * tests/Makefile.am:
14897         * tests/README:
14898           add a README
14899
14900 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14901
14902         * win32/GStreamer.vcproj:
14903         * win32/MANIFEST:
14904         * win32/Makefile:
14905         * win32/Makefile.inspect:
14906         * win32/Makefile.launch:
14907         * win32/Makefile.register:
14908         * win32/README.txt:
14909         * win32/gst-inspect.vcproj:
14910         * win32/gst-launch.vcproj:
14911         * win32/gst-register.vcproj:
14912         * win32/gstelements.vcproj:
14913         * win32/gstgetbits.def:
14914         * win32/gstgetbits.vcproj:
14915         * win32/gstreamer-dbg.def:
14916         * win32/gstreamer.def:
14917         * win32/libgstbase.def:
14918         * win32/libgstbase.vcproj:
14919         * win32/link_oldruntime.c:
14920         * win32/mman.c:
14921         * win32/mman.h:
14922         * win32/mman.inl:
14923         * win32/msvc71.sln:
14924           move even more stuff, win32/ is nice and clean now
14925
14926 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14927
14928         * libs/gst/control/.cvsignore:
14929         * win32/MANIFEST:
14930         * win32/config.h:
14931         * win32/dirent.c:
14932         * win32/dirent.h:
14933         * win32/gstbytestream.def:
14934         * win32/gstbytestream.vcproj:
14935         * win32/gstconfig.h:
14936         * win32/gstenumtypes.c:
14937         * win32/gstenumtypes.h:
14938         * win32/gstoptimalscheduler.vcproj:
14939         * win32/gstversion.h:
14940         * win32/gtchar.h:
14941         * win32/testsuite/bins.vcproj:
14942         * win32/testsuite/bytestream.vcproj:
14943         * win32/testsuite/caps.vcproj:
14944         * win32/testsuite/cleanup.vcproj:
14945         * win32/testsuite/clock.vcproj:
14946         * win32/testsuite/debug.vcproj:
14947         * win32/testsuite/dlopen.vcproj:
14948         * win32/testsuite/dynparams.vcproj:
14949         * win32/testsuite/elements.vcproj:
14950         * win32/testsuite/ghostpads.vcproj:
14951         * win32/testsuite/indexers.vcproj:
14952         * win32/testsuite/negotiation.vcproj:
14953         * win32/testsuite/parse.vcproj:
14954         * win32/testsuite/plugin.vcproj:
14955         * win32/testsuite/refcounting.vcproj:
14956         * win32/testsuite/schedulers.vcproj:
14957         * win32/testsuite/states.vcproj:
14958         * win32/testsuite/tags.vcproj:
14959         * win32/testsuite/threads.vcproj:
14960           remove old win32 stuff that isn't maintained and should be
14961           reorganized
14962
14963 2005-11-30  Andy Wingo  <wingo@pobox.com>
14964
14965         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
14966         loading the gst.interfaces python module bork.
14967
14968         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
14969         available since GLib 2.2. Fixes #318031.
14970
14971 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * Makefile.am:
14974         * check/.cvsignore:
14975         * check/Makefile.am:
14976         * check/elements/.cvsignore:
14977         * check/elements/fakesrc.c:
14978         * check/elements/fdsrc.c:
14979         * check/elements/identity.c:
14980         * check/generic/.cvsignore:
14981         * check/generic/states.c:
14982         * check/gst-libs/.cvsignore:
14983         * check/gst-libs/controller.c:
14984         * check/gst-libs/gdp.c:
14985         * check/gst/.cvsignore:
14986         * check/gst/capslist.h:
14987         * check/gst/gst.c:
14988         * check/gst/gstbin.c:
14989         * check/gst/gstbuffer.c:
14990         * check/gst/gstbus.c:
14991         * check/gst/gstcaps.c:
14992         * check/gst/gstelement.c:
14993         * check/gst/gstevent.c:
14994         * check/gst/gstghostpad.c:
14995         * check/gst/gstiterator.c:
14996         * check/gst/gstmessage.c:
14997         * check/gst/gstminiobject.c:
14998         * check/gst/gstobject.c:
14999         * check/gst/gstpad.c:
15000         * check/gst/gstpipeline.c:
15001         * check/gst/gstplugin.c:
15002         * check/gst/gstsegment.c:
15003         * check/gst/gststructure.c:
15004         * check/gst/gstsystemclock.c:
15005         * check/gst/gsttag.c:
15006         * check/gst/gstutils.c:
15007         * check/gst/gstvalue.c:
15008         * check/net/.cvsignore:
15009         * check/net/gstnetclientclock.c:
15010         * check/net/gstnettimeprovider.c:
15011         * check/pipelines/.cvsignore:
15012         * check/pipelines/cleanup.c:
15013         * check/pipelines/simple_launch_lines.c:
15014         * check/pipelines/stress.c:
15015         * check/states/.cvsignore:
15016         * check/states/sinks.c:
15017         * configure.ac:
15018         * examples/Makefile.am:
15019         * examples/appreader/.cvsignore:
15020         * examples/appreader/Makefile.am:
15021         * examples/appreader/appreader.c:
15022         * examples/controller/.cvsignore:
15023         * examples/controller/Makefile.am:
15024         * examples/controller/audio-example.c:
15025         * examples/cutter/.cvsignore:
15026         * examples/cutter/Makefile.am:
15027         * examples/cutter/cutter.c:
15028         * examples/cutter/cutter.h:
15029         * examples/events/Makefile.am:
15030         * examples/events/seek.c:
15031         * examples/helloworld/.cvsignore:
15032         * examples/helloworld/Makefile.am:
15033         * examples/helloworld/helloworld.c:
15034         * examples/helloworld2/.cvsignore:
15035         * examples/helloworld2/Makefile.am:
15036         * examples/helloworld2/helloworld2.c:
15037         * examples/launch/.cvsignore:
15038         * examples/launch/Makefile.am:
15039         * examples/launch/mp3parselaunch.c:
15040         * examples/launch/mp3play:
15041         * examples/manual/.cvsignore:
15042         * examples/manual/Makefile.am:
15043         * examples/manual/extract.pl:
15044         * examples/metadata/Makefile.am:
15045         * examples/metadata/read-metadata.c:
15046         * examples/mixer/.cvsignore:
15047         * examples/mixer/Makefile.am:
15048         * examples/mixer/mixer.c:
15049         * examples/mixer/mixer.h:
15050         * examples/pingpong/.cvsignore:
15051         * examples/pingpong/Makefile.am:
15052         * examples/pingpong/pingpong.c:
15053         * examples/plugins/.cvsignore:
15054         * examples/plugins/Makefile.am:
15055         * examples/plugins/example.c:
15056         * examples/plugins/example.h:
15057         * examples/pwg/.cvsignore:
15058         * examples/pwg/Makefile.am:
15059         * examples/pwg/extract.pl:
15060         * examples/queue/.cvsignore:
15061         * examples/queue/Makefile.am:
15062         * examples/queue/queue.c:
15063         * examples/queue2/.cvsignore:
15064         * examples/queue2/Makefile.am:
15065         * examples/queue2/queue2.c:
15066         * examples/queue3/.cvsignore:
15067         * examples/queue3/Makefile.am:
15068         * examples/queue3/queue3.c:
15069         * examples/queue4/.cvsignore:
15070         * examples/queue4/Makefile.am:
15071         * examples/queue4/queue4.c:
15072         * examples/retag/.cvsignore:
15073         * examples/retag/Makefile.am:
15074         * examples/retag/retag.c:
15075         * examples/retag/transcode.c:
15076         * examples/thread/.cvsignore:
15077         * examples/thread/Makefile.am:
15078         * examples/thread/thread.c:
15079         * examples/typefind/.cvsignore:
15080         * examples/typefind/Makefile.am:
15081         * examples/typefind/typefind.c:
15082         * examples/xml/.cvsignore:
15083         * examples/xml/Makefile.am:
15084         * examples/xml/createxml.c:
15085         * examples/xml/runxml.c:
15086         * tests/Makefile.am:
15087         * tests/check/Makefile.am:
15088         * testsuite/.cvsignore:
15089         * testsuite/Makefile.am:
15090         * testsuite/Rules:
15091         * testsuite/caps/.cvsignore:
15092         * testsuite/caps/Makefile.am:
15093         * testsuite/caps/app_fixate.c:
15094         * testsuite/caps/audioscale.c:
15095         * testsuite/caps/caps.c:
15096         * testsuite/caps/caps.h:
15097         * testsuite/caps/caps_strings:
15098         * testsuite/caps/compatibility.c:
15099         * testsuite/caps/deserialize.c:
15100         * testsuite/caps/enumcaps.c:
15101         * testsuite/caps/eratosthenes.c:
15102         * testsuite/caps/filtercaps.c:
15103         * testsuite/caps/fixed.c:
15104         * testsuite/caps/fraction-convert.c:
15105         * testsuite/caps/fraction-multiply-and-zero.c:
15106         * testsuite/caps/intersect2.c:
15107         * testsuite/caps/intersection.c:
15108         * testsuite/caps/normalisation.c:
15109         * testsuite/caps/random.c:
15110         * testsuite/caps/renegotiate.c:
15111         * testsuite/caps/sets.c:
15112         * testsuite/caps/simplify.c:
15113         * testsuite/caps/string-conversions.c:
15114         * testsuite/caps/structure.c:
15115         * testsuite/caps/subtract.c:
15116         * testsuite/caps/union.c:
15117         * testsuite/debug/.cvsignore:
15118         * testsuite/debug/Makefile.am:
15119         * testsuite/debug/category.c:
15120         * testsuite/debug/commandline.c:
15121         * testsuite/debug/global.c:
15122         * testsuite/debug/output.c:
15123         * testsuite/debug/printf_extension.c:
15124         * testsuite/dlopen/.cvsignore:
15125         * testsuite/dlopen/Makefile.am:
15126         * testsuite/dlopen/dlopen_gst.c:
15127         * testsuite/dlopen/loadgst.c:
15128         * testsuite/elements/.cvsignore:
15129         * testsuite/elements/Makefile.am:
15130         * testsuite/elements/gst-inspect-check.in:
15131         * testsuite/elements/struct_i386.h:
15132         * testsuite/elements/struct_size.c:
15133         * testsuite/indexers/.cvsignore:
15134         * testsuite/indexers/Makefile.am:
15135         * testsuite/indexers/cache1.c:
15136         * testsuite/indexers/indexdump.c:
15137         * testsuite/parse/.cvsignore:
15138         * testsuite/parse/Makefile.am:
15139         * testsuite/parse/parse1.c:
15140         * testsuite/parse/parse2.c:
15141         * testsuite/plugin/.cvsignore:
15142         * testsuite/plugin/Makefile.am:
15143         * testsuite/plugin/README:
15144         * testsuite/plugin/dynamic.c:
15145         * testsuite/plugin/linked.c:
15146         * testsuite/plugin/loading.c:
15147         * testsuite/plugin/registry.c:
15148         * testsuite/plugin/static.c:
15149         * testsuite/plugin/static2.c:
15150         * testsuite/plugin/testplugin.c:
15151         * testsuite/plugin/testplugin2.c:
15152         * testsuite/plugin/testplugin2_s.c:
15153         * testsuite/plugin/testplugin_s.c:
15154         * testsuite/refcounting/.cvsignore:
15155         * testsuite/refcounting/Makefile.am:
15156         * testsuite/refcounting/bin.c:
15157         * testsuite/refcounting/element.c:
15158         * testsuite/refcounting/element_pad.c:
15159         * testsuite/refcounting/mainloop.c:
15160         * testsuite/refcounting/mem.c:
15161         * testsuite/refcounting/mem.h:
15162         * testsuite/refcounting/object.c:
15163         * testsuite/refcounting/pad.c:
15164         * testsuite/refcounting/sched.c:
15165         * testsuite/refcounting/thread.c:
15166         * testsuite/states/.cvsignore:
15167         * testsuite/states/Makefile.am:
15168         * testsuite/states/bin.c:
15169         * testsuite/states/locked.c:
15170         * testsuite/states/parent.c:
15171         * testsuite/threads/.cvsignore:
15172         * testsuite/threads/159566.c:
15173         * testsuite/threads/159852.c:
15174         * testsuite/threads/Makefile.am:
15175         * testsuite/threads/queue.c:
15176         * testsuite/threads/signals.c:
15177         * testsuite/threads/staticrec.c:
15178         * testsuite/threads/thread.c:
15179         * testsuite/threads/threadb.c:
15180         * testsuite/threads/threadc.c:
15181         * testsuite/threads/threadd.c:
15182         * testsuite/threads/threade.c:
15183         * testsuite/threads/threadf.c:
15184         * testsuite/threads/threadg.c:
15185         * testsuite/threads/threadh.c:
15186         * testsuite/threads/threadi.c:
15187           move all of these under tests
15188
15189 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15190
15191         * configure.ac:
15192         * tests/Makefile.am:
15193           fix distcheck
15194
15195 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15196
15197         * docs/gst/gstreamer-sections.txt:
15198         * tests/sched/.cvsignore:
15199         * tests/sched/Makefile.am:
15200         * tests/sched/cases/(fs-fs).xml:
15201         * tests/sched/cases/(fs-i-fs).xml:
15202         * tests/sched/cases/(fs-i-i-fs).xml:
15203         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15204         * tests/sched/dynamic-pipeline.c:
15205         * tests/sched/interrupt1.c:
15206         * tests/sched/interrupt2.c:
15207         * tests/sched/interrupt3.c:
15208         * tests/sched/runtestcases:
15209         * tests/sched/runxml.c:
15210         * tests/sched/sched-stress.c:
15211         * tests/sched/sort.c:
15212         * tests/sched/testcases:
15213         * tests/sched/testcases1.tc:
15214         * tests/seeking/.cvsignore:
15215         * tests/seeking/Makefile.am:
15216         * tests/seeking/seeking1.c:
15217         * tests/threadstate/.cvsignore:
15218         * tests/threadstate/Makefile.am:
15219         * tests/threadstate/test1.c:
15220         * tests/threadstate/test2.c:
15221         * tests/threadstate/threadstate1.c:
15222         * tests/threadstate/threadstate2.c:
15223         * tests/threadstate/threadstate3.c:
15224         * tests/threadstate/threadstate4.c:
15225         * tests/threadstate/threadstate5.c:
15226           remove obsolete tests
15227         * configure.ac:
15228         * tests/bench-complexity.scm:
15229         * tests/bench-mass_elements.scm:
15230         * tests/complexity.c:
15231         * tests/complexity.gnuplot:
15232         * tests/instantiate/.cvsignore:
15233         * tests/instantiate/Makefile.am:
15234         * tests/instantiate/caps.c:
15235         * tests/mass_elements.c:
15236         * tests/network-clock-utils.scm:
15237         * tests/network-clock.scm:
15238         * tests/plot-data:
15239         First pass at cleaning up tests/ dir before moving the rest
15240         Combined with CVS surgery
15241
15242 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15243
15244         * po/POTFILES.in:
15245           queue has moved, update
15246
15247 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * docs/gst/gstreamer-sections.txt:
15250           remove double entries from the docs
15251         * gst/gst_private.h:
15252         * gst/gstinfo.c: (_gst_debug_init):
15253           remove the THREAD debug category
15254         * gst/Makefile.am:
15255         * gst/gstqueue.c:
15256         * gst/gstqueue.h:
15257         * docs/gst/gstreamer.types:
15258         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15259         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15260           completely move queue and fix up debugging categories
15261
15262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15263
15264         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15265           make initialization portable, using LL is not
15266
15267 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15268
15269         * win32/common/gstconfig.h:
15270           add large padding
15271
15272 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15273
15274         * win32/common/libgstreamer.def:
15275           rename symbols; sort base section
15276
15277 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15278
15279         * gst/gstclock.c: (do_linear_regression):
15280           remove crack non-portable handrolled DEBUG macro
15281
15282 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15283
15284         * docs/random/release:
15285           update notes
15286         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15287         (gst_object_flags_get_type), (register_gst_bin_flags),
15288         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15289         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15290         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15291         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15292         (gst_caps_flags_get_type), (register_gst_clock_return),
15293         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15294         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15295         (gst_clock_flags_get_type), (register_gst_state),
15296         (gst_state_get_type), (register_gst_state_change_return),
15297         (gst_state_change_return_get_type), (register_gst_state_change),
15298         (gst_state_change_get_type), (register_gst_element_flags),
15299         (gst_element_flags_get_type), (register_gst_core_error),
15300         (gst_core_error_get_type), (register_gst_library_error),
15301         (gst_library_error_get_type), (register_gst_resource_error),
15302         (gst_resource_error_get_type), (register_gst_stream_error),
15303         (gst_stream_error_get_type), (register_gst_event_type_flags),
15304         (gst_event_type_flags_get_type), (register_gst_event_type),
15305         (gst_event_type_get_type), (register_gst_seek_type),
15306         (gst_seek_type_get_type), (register_gst_seek_flags),
15307         (gst_seek_flags_get_type), (register_gst_format),
15308         (gst_format_get_type), (register_gst_index_certainty),
15309         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15310         (gst_index_entry_type_get_type),
15311         (register_gst_index_lookup_method),
15312         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15313         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15314         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15315         (gst_index_flags_get_type), (register_gst_debug_level),
15316         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15317         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15318         (gst_iterator_result_get_type), (register_gst_iterator_item),
15319         (gst_iterator_item_get_type), (register_gst_message_type),
15320         (gst_message_type_get_type), (register_gst_mini_object_flags),
15321         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15322         (gst_pad_link_return_get_type), (register_gst_flow_return),
15323         (gst_flow_return_get_type), (register_gst_activate_mode),
15324         (gst_activate_mode_get_type), (register_gst_pad_direction),
15325         (gst_pad_direction_get_type), (register_gst_pad_flags),
15326         (gst_pad_flags_get_type), (register_gst_pad_presence),
15327         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15328         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15329         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15330         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15331         (gst_plugin_flags_get_type), (register_gst_rank),
15332         (gst_rank_get_type), (register_gst_query_type),
15333         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15334         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15335         (gst_tag_flag_get_type), (register_gst_task_state),
15336         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15337         (gst_alloc_trace_flags_get_type),
15338         (register_gst_type_find_probability),
15339         (gst_type_find_probability_get_type), (register_gst_uri_type),
15340         (gst_uri_type_get_type), (register_gst_parse_error),
15341         (gst_parse_error_get_type):
15342         * win32/common/gstenumtypes.h:
15343         * win32/common/gstversion.h:
15344           update visual studio generated files
15345
15346 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15347
15348         * win32/vs6/libgstbase.dsp:
15349         * win32/vs6/libgstelements.dsp:
15350           update project files for new locations
15351
15352 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15353
15354         * Makefile.am:
15355           remove some files
15356         * README:
15357           reinstate and update
15358         * DEVEL:
15359         * REQUIREMENTS:
15360           removed
15361         * LICENSE:
15362         * docs/random/LICENSE:
15363           moved to random
15364
15365 2005-11-30  Edward Hervey  <edward@fluendo.com>
15366
15367         * gst/gsttypefind.c: (gst_type_find_register):
15368         * gst/gsttypefind.h:
15369         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15370         (gst_type_find_factory_dispose):
15371         * gst/gsttypefindfactory.h:
15372         Fix memory leak in GstTypeFindFactory.
15373
15374 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15375
15376         * gst/gst.c:
15377         * plugins/elements/Makefile.am:
15378         * plugins/elements/gstelements.c:
15379         * plugins/elements/gstqueue.c:
15380           move queue from core to the elements plugin
15381
15382 2005-11-29  Andy Wingo  <wingo@pobox.com>
15383
15384         * libs/gst/base/gstbasetransform.h: 
15385         * libs/gst/base/gstbasesrc.h: 
15386         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15387
15388         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15389         of pointers by which to pad very extensible base classes (like the
15390         ones in libs/gst/base).
15391
15392 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15393
15394         * docs/gst/gstreamer-docs.sgml:
15395         * docs/gst/gstreamer-sections.txt:
15396         * docs/libs/gstreamer-libs-docs.sgml:
15397         * docs/libs/gstreamer-libs-sections.txt:
15398           moving documentation from core to lib
15399
15400 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15401
15402         * check/Makefile.am:
15403         * configure.ac:
15404         * docs/gst/Makefile.am:
15405         * gst/Makefile.am:
15406         * gst/base/.cvsignore:
15407         * gst/base/Makefile.am:
15408         * gst/base/README:
15409         * gst/base/gstadapter.c:
15410         * gst/base/gstadapter.h:
15411         * gst/base/gstbasesink.c:
15412         * gst/base/gstbasesink.h:
15413         * gst/base/gstbasesrc.c:
15414         * gst/base/gstbasesrc.h:
15415         * gst/base/gstbasetransform.c:
15416         * gst/base/gstbasetransform.h:
15417         * gst/base/gstcollectpads.c:
15418         * gst/base/gstcollectpads.h:
15419         * gst/base/gstpushsrc.c:
15420         * gst/base/gstpushsrc.h:
15421         * gst/base/gsttypefindhelper.c:
15422         * gst/base/gsttypefindhelper.h:
15423         * gst/check/Makefile.am:
15424         * gst/check/gstcheck.c:
15425         * gst/check/gstcheck.h:
15426         * gst/net/Makefile.am:
15427         * gst/net/gstnet.h:
15428         * gst/net/gstnetclientclock.c:
15429         * gst/net/gstnetclientclock.h:
15430         * gst/net/gstnettimepacket.c:
15431         * gst/net/gstnettimepacket.h:
15432         * gst/net/gstnettimeprovider.c:
15433         * gst/net/gstnettimeprovider.h:
15434         * libs/gst/Makefile.am:
15435         * libs/gst/base/Makefile.am:
15436         * libs/gst/base/gstbasetransform.c:
15437         * libs/gst/check/Makefile.am:
15438         * plugins/elements/Makefile.am:
15439         * po/POTFILES.in:
15440           CVS surgery + support to move base, check, and net out of gst
15441           and into libs/gst
15442
15443 2005-11-29  Andy Wingo  <wingo@pobox.com>
15444
15445         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15446
15447         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15448         padding.
15449
15450         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15451
15452         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15453
15454         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15455
15456         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15457         padding; reduces object size by about 30%. We don't expect
15458         anything else to go into gstobject.
15459
15460         * gst/gstminiobject.h (struct _GstMiniObject)
15461         (struct _GstMiniObjectClass): Only one pointer of padding; the
15462         payload is only a pointer and two ints anyway. For the class there
15463         are only two methods as well.
15464         
15465         * gst/gstelement.h (struct _GstElementClass): Removed
15466         the state_changed signal callback, it is not used.
15467
15468 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15469
15470         * docs/gst/gstreamer.types:
15471           fix includes, though they are a little dinky
15472
15473 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15474
15475         * check/Makefile.am:
15476           look in the right place for elements, a lot more chance of
15477           success
15478         * gst/Makefile.am:
15479           remove indexers and elements subdirs
15480         * plugins/Makefile.am:
15481           make indexers conditional
15482
15483 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15484
15485         * Makefile.am:
15486         * configure.ac:
15487         * plugins/elements/Makefile.am:
15488         * plugins/elements/gstcapsfilter.c:
15489         * plugins/elements/gstfilesink.c:
15490         * plugins/elements/gstfilesrc.c:
15491         * plugins/elements/gstidentity.c:
15492         * plugins/indexers/Makefile.am:
15493           do CVS surgery and related build fixery to move elements
15494           and indexers in a new gstreamer/plugins directory, out of the
15495           gst/ directory
15496
15497 2005-11-29  Andy Wingo  <wingo@pobox.com>
15498
15499         * check/Makefile.am:
15500         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15501         * pkgconfig/gstreamer-net.pc.in:
15502         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
15503         #322257.
15504
15505 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15506
15507         * tools/Makefile.am:
15508         * tools/gst-complete.1.in:
15509         * tools/gst-complete.c:
15510         * tools/gst-compprep.1.in:
15511         * tools/gst-compprep.c:
15512           removing -compprep and -complete
15513
15514 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15515
15516         * gst/gstevent.c: (gst_event_new_new_segment),
15517         (gst_event_parse_new_segment):
15518         * gst/gstevent.h:
15519           fix #320529 - clean up new_segment API and structure.
15520           Let's hope everyone was using the methods, and not the structure.
15521
15522 2005-11-29  Edward Hervey  <edward@fluendo.com>
15523
15524         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15525         (gst_base_sink_event), (gst_base_sink_do_sync),
15526         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15527         Properly handle non GST_FORMAT_TIME segment
15528         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15529         Properly handle non GST_FORMAT_TIME segment
15530         * gst/gstsegment.c:
15531         This function is valid if the accumulator is 0 and the format
15532         is different from the requested format.
15533         
15534 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15535
15536         * docs/gst/gstreamer-sections.txt:
15537         Add gst_query_new_seeking and gst_query_parse_seeking to the
15538         docs.
15539
15540 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15541
15542         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15543           Treat a pad alloc with new caps the same as if we were not
15544           negotiated, in order to allow a changing upstream output
15545           to produce a new format of data.
15546
15547 2005-11-29  Edward Hervey  <edward@fluendo.com>
15548
15549         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15550         (gst_base_transform_event), (gst_base_transform_eventfunc):
15551         The event virtual method is now properly implemented, with a default
15552         handler
15553         Sub classes should call the parent_class event method. They should
15554         return FALSE if they had a problem handling the given event, or don't
15555         want GstBaseTransform to send that even downstream
15556         * gst/elements/gstidentity.c: (gst_identity_class_init),
15557         (gst_identity_init), (gst_identity_event),
15558         (gst_identity_transform_ip), (gst_identity_set_property),
15559         (gst_identity_get_property):
15560         * gst/elements/gstidentity.h:
15561         Added the single-segment boolean property.
15562         If set to TRUE, it will output a single segment of data, starting from
15563         0, will eat up all incoming newsegment, and modify the timestamp of the
15564         buffers accordingly
15565
15566 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
15567
15568         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
15569           Don't ref NULL target pad (#322751). Improve docs.
15570
15571 2005-11-29  Michael Smith  <msmith@fluendo.com>
15572
15573         * gst/gstregistryxml.c: (load_plugin):
15574           Don't crash if we failed to load a feature from a plugin. 
15575
15576 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15577
15578         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15579         (GST_START_TEST):
15580           use more check API and less GLib API
15581
15582 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15583
15584         * Makefile.am:
15585           don't run checks if we don't have check
15586         * common/check.mak:
15587           remove the registry when running make torture
15588         * docs/gst/gstreamer-sections.txt:
15589           remove second multiply
15590         * gst/gstqueue.c: (gst_queue_loop):
15591           fix a compile warning when disabling debug
15592
15593 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15594
15595         * gst/gstinfo.h:
15596         Hey! Let's print the pad name if the pointer != NULL instead
15597         of when it == NULL :-)
15598
15599 2005-11-28  Wim Taymans  <wim@fluendo.com>
15600
15601         * check/gst/gstutils.c: (GST_START_TEST):
15602         Updated check, add some scaling accuracy checking code.
15603
15604         * gst/gstutils.c: (gst_util_div128_64),
15605         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
15606         (gst_util_uint64_scale_int):
15607         Fix 6 times faster division code. Optimize for common 
15608         1/1 and less common X/1 cases.
15609
15610 2005-11-28  Wim Taymans  <wim@fluendo.com>
15611
15612         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15613         More checks.
15614
15615         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
15616         (do_linear_regression), (gst_clock_add_observation):
15617         Cleanups.
15618         Release lock when the clock cannot be slaved.
15619         Catch the case where the regression returned an invalid denominator.
15620
15621         * gst/gstutils.c: (gst_util_div128_64_iterate),
15622         (gst_util_div128_64), (gst_util_uint64_scale_int64),
15623         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15624         Add protentially more performant non-iterative 128/64 divide function
15625         that unfortunatly does not work yet.
15626         Shortcut the trivial 0/X = 0 case.
15627         Remove the warnings on overflow.
15628
15629 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15630
15631         * gst/gstplugin.c: (gst_plugin_register_func):
15632           everything causing a plugin not to load should be at least a WARNING
15633
15634 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
15635
15636         * docs/random/ensonic/dparams.txt:
15637           some TODOs for the next dev cycle
15638         * libs/gst/controller/gstcontroller.c:
15639         (gst_controlled_property_set_interpolation_mode),
15640         (gst_controlled_property_new):
15641         * libs/gst/controller/gstcontroller.h:
15642           use base type to assign acccessor functions
15643
15644 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15645
15646         * check/Makefile.am:
15647         Oops, that should have been top_srcdir
15648
15649 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15650
15651         * check/Makefile.am:
15652         * check/elements/fdsrc.c: (GST_START_TEST):
15653         Use a cmdline define to specify the location of a file to use for
15654         testing, to avoid breaking distcheck.
15655
15656 2005-11-28  Andy Wingo  <wingo@pobox.com>
15657
15658         * gst/gstpad.c (fixate_value): Use array functions for arrays.
15659
15660 2005-11-28  Edward Hervey  <edward@fluendo.com>
15661
15662         * tools/gst-launch.c: (main):
15663         Clarify the output strings, makes it easier to translate.
15664         Fixes #322626
15665
15666 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15667
15668         * gst/Makefile.am:
15669           don't try and build net if we don't even have <sys/socket.h>
15670
15671 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
15672
15673         * check/Makefile.am:
15674         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
15675         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
15676           Add tests for fdsrc seekability
15677
15678         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15679         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
15680         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
15681         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
15682         * gst/elements/gstfdsrc.h:
15683           fdsrc should not be a 'live' source.
15684           Implement seeking on seekable fd's.
15685
15686         * gst/gstquery.c: (gst_query_new_seeking),
15687         (gst_query_parse_seeking):
15688         * gst/gstquery.h:
15689           Implement SEEKING query functions: 
15690             *_new_seeking and *_parse_seeking
15691
15692 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
15693
15694         * gst/gstelement.c: (gst_element_dispose):
15695           don't loop forever
15696
15697         * gst/gstiterator.c:
15698         * gst/gststructure.c:
15699           doc fixes
15700
15701         * libs/gst/controller/gstcontroller.c:
15702         (gst_controlled_property_set_interpolation_mode):
15703         * libs/gst/controller/gstcontroller.h:
15704         * libs/gst/controller/gstinterpolation.c:
15705         (interpolate_none_get_enum_value_array):
15706           support controlling enums
15707
15708 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15709
15710         * gst/gstvalue.c:
15711           Improve documentation for gst_value_union().
15712
15713         * gst/gstvalue.h:
15714           Change return value for union, intersect and subtract functions
15715           from gint to gboolean.
15716
15717 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15718
15719         * gst/gstvalue.c: (gst_value_serialize_any_list),
15720         (gst_value_transform_any_list_string),
15721         (gst_value_deserialize_list), (gst_value_deserialize_array),
15722         (gst_value_set_int_range), (gst_value_deserialize_int_range),
15723         (gst_value_set_double_range), (gst_value_deserialize_double_range),
15724         (gst_value_set_fraction_range_full),
15725         (gst_value_deserialize_fraction_range),
15726         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
15727         (gst_value_deserialize_boolean),
15728         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
15729         (gst_value_serialize_float), (gst_value_deserialize_float),
15730         (gst_string_wrap), (gst_value_deserialize_string),
15731         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
15732         (gst_value_union_int_range_int_range),
15733         (gst_value_intersect_int_range_int_range),
15734         (gst_value_intersect_double_range_double_range),
15735         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
15736         (gst_value_subtract_int_range_int_range),
15737         (gst_value_subtract_double_double_range),
15738         (gst_value_subtract_double_range_double_range),
15739         (gst_value_deserialize_fraction):
15740         * gst/gstvalue.h:
15741           Use gint, gdouble and gchar in our API instead of int, double and
15742           char (and make usage in gstvalue.c more consistent).
15743
15744 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15745
15746         * check/Makefile.am:
15747         * libs/gst/controller/Makefile.am:
15748         * libs/gst/dataprotocol/Makefile.am:
15749           fix up Makefile.am and remove GST_ENABLE_NEW
15750
15751 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15752
15753         * configure.ac:
15754         * gst/Makefile.am:
15755         * gst/base/Makefile.am:
15756         * gst/check/Makefile.am:
15757         * gst/elements/Makefile.am:
15758         * gst/net/Makefile.am:
15759           update LDFLAGS use some more
15760
15761 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15762
15763         * common/m4/gst-doc.m4:
15764           Fixes #312589
15765
15766 2005-11-26  Edward Hervey  <edward@fluendo.com>
15767
15768         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15769         This shouldn't issue a g_warning since it returns NULL if it
15770         couldn't find the plugin, and all functions using this behave
15771         properly on a NULL return. Switching to a GST_WARNING.
15772
15773 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
15774
15775         * gst/gstbin.c: (gst_bin_handle_message_func):
15776         Don't leak clock messages.
15777
15778 2005-11-25  Wim Taymans  <wim@fluendo.com>
15779
15780         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15781         (gst_util_uint64_scale_int):
15782         Optimisations, remove unneeded vars.
15783
15784 2005-11-25  Wim Taymans  <wim@fluendo.com>
15785
15786         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15787         Added more checks for the high precision uint64 cases.
15788
15789         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15790         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15791         Implement high precision (guint64 * guint64) / guint64.
15792
15793 2005-11-24  Wim Taymans  <wim@fluendo.com>
15794
15795         * gst/base/gstbasesrc.c: (gst_base_src_query):
15796         Fix wrong percentage query.
15797
15798         * gst/gstutils.c: (gst_util_uint64_scale),
15799         (gst_util_uint64_scale_int):
15800         Add some more common cases that can be handled 
15801         efficiently to _scale.
15802
15803 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15804
15805         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
15806         (gst_mini_object_suite):
15807           don't use check calls from threads; check probably isn't
15808           threadsafe and using a lock to make it threadsafe would
15809           defeat the purpose of this check
15810         * gst/check/gstcheck.c:
15811         * gst/check/gstcheck.h:
15812           use GST_DEBUG some more
15813
15814 2005-11-24  Wim Taymans  <wim@fluendo.com>
15815
15816         * gst/gstutils.c: (gst_util_uint64_scale),
15817         (gst_util_uint64_scale_int):
15818         Chain trivial case to _scale_int.
15819
15820 2005-11-24  Wim Taymans  <wim@fluendo.com>
15821
15822         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15823         Added test for scaling.
15824
15825         * gst/gstclock.h:
15826         Small doc fix.
15827
15828         * gst/gstutils.c: (gst_util_uint64_scale_int):
15829         Implemented high precision scaling code.
15830
15831 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
15832
15833         * gst/gstinfo.h:
15834           do not crash on pad==NULL
15835
15836 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15837
15838         Patch by: Stefan Kost
15839
15840         * common/gtk-doc.mak:
15841         * docs/gst/Makefile.am:
15842         * docs/libs/Makefile.am:
15843           Fix distcheck issues for the libraries docs build
15844           Closes #319599.
15845
15846 2005-11-24  Michael Smith <msmith@fluendo.com>
15847
15848         * docs/manual/basics-helloworld.xml:
15849           Fix bug #315027: memory leak in example code in docs.
15850
15851 2005-11-24  Michael Smith <msmith@fluendo.com>
15852
15853         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15854           Unlock the PREROLL_LOCK in a failure case.
15855
15856 2005-11-24  Wim Taymans  <wim@fluendo.com>
15857
15858         * docs/gst/gstreamer-sections.txt:
15859         * gst/base/gstadapter.h:
15860         * gst/base/gstbasesink.h:
15861         * gst/base/gstbasesrc.h:
15862         * gst/base/gstbasetransform.h:
15863         * gst/base/gstpushsrc.h:
15864         * gst/elements/gstfakesink.h:
15865         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
15866         * gst/elements/gstfakesrc.h:
15867         * gst/elements/gstfilesink.h:
15868         * gst/elements/gstfilesrc.h:
15869         * gst/gst.c:
15870         * gst/gstbin.c:
15871         * gst/gstbuffer.c: (_gst_buffer_copy):
15872         * gst/gstbus.h:
15873         * gst/gstcaps.c:
15874         * gst/gstchildproxy.c:
15875         * gst/gstclock.c:
15876         * gst/gstelement.c:
15877         * gst/gstelementfactory.c:
15878         * gst/gstelementfactory.h:
15879         * gst/gstevent.c:
15880         * gst/gstghostpad.h:
15881         * gst/gstindex.h:
15882         * gst/gstinterface.h:
15883         * gst/gstminiobject.c:
15884         * gst/gstminiobject.h:
15885         * gst/gstpad.c:
15886         * gst/gstpad.h:
15887         * gst/gstpadtemplate.h:
15888         * gst/gstpipeline.h:
15889         * gst/gstpluginfeature.h:
15890         * gst/gstquery.h:
15891         * gst/gstqueue.h:
15892         * gst/gsttaglist.c:
15893         * gst/gsttaglist.h:
15894         * gst/gsttagsetter.c:
15895         * gst/gsttagsetter.h:
15896         * gst/gsttrace.c:
15897         * gst/gsttrace.h:
15898         * gst/gsttypefind.h:
15899         * gst/gsturi.h:
15900         * gst/gstvalue.c:
15901         * gst/net/gstnetclientclock.c:
15902         * gst/net/gstnetclientclock.h:
15903         * gst/net/gstnettimepacket.c:
15904         * gst/net/gstnettimeprovider.c:
15905         * gst/net/gstnettimeprovider.h:
15906         Doc fixes.
15907
15908 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15909
15910         * configure.ac: back to HEAD
15911
15912 === release 0.9.6 ===
15913
15914 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
15915
15916         * configure.ac:
15917           releasing 0.9.6, "Always On Time"
15918
15919 2005-11-23  Wim Taymans  <wim@fluendo.com>
15920
15921         * docs/gst/gstreamer-sections.txt:
15922         * gst/glib-compat.c:
15923         * gst/gsttagsetter.c:
15924         * gst/gstvalue.c:
15925         * gst/net/gstnetclientclock.c:
15926         * gst/net/gstnettimepacket.h:
15927         Doc updates.
15928
15929 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15930
15931         * docs/faq/using.xml:
15932         * docs/libs/tmpl/gstcontrol.sgml:
15933         * docs/manual/advanced-dparams.xml:
15934         * docs/manual/appendix-checklist.xml:
15935         * docs/manual/basics-elements.xml:
15936         * docs/pwg/other-source.xml:
15937         * docs/random/moving-plugins:
15938         * gst/gstpad.c:
15939         * tools/gst-launch.1.in:
15940           remove mentions of sinesrc
15941
15942 2005-11-23  Michael Smith <msmith@fluendo.com>
15943
15944         * docs/gst/gstreamer-sections.txt:
15945           Update for new API and API changes.
15946         * gst/gstobject.h:
15947           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
15948         * gst/gstvalue.c:
15949           Documentation typo fix.
15950         * gst/net/gstnettimepacket.c:
15951           Documentation fixes for arguments.
15952
15953 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
15954
15955         * gst/gststructure.c: (gst_structure_get_fraction),
15956         (gst_structure_parse_value),
15957         (gst_structure_fixate_field_nearest_fraction):
15958         * gst/gststructure.h:
15959         * gst/gstutils.c: (gst_util_uint64_scale_int):
15960         * gst/gstutils.h:
15961         * scripts/update-funcnames:
15962         API Changes. 
15963         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
15964         Make gst_structure_fixate_field_nearest_fraction take a numerator
15965         and denominator argument instead of a GValue
15966         add gst_structure_get_fraction helper function.
15967
15968 2005-11-23  Wim Taymans  <wim@fluendo.com>
15969
15970         * docs/design/part-TODO.txt:
15971         Update TODO.
15972
15973         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
15974         * gst/net/gstnetclientclock.h:
15975         Use parent fields for timeout and window_size.
15976
15977 2005-11-23  Andy Wingo  <wingo@pobox.com>
15978
15979         * check/net/gstnetclientclock.c (test_functioning): Adjust to
15980         rate_num/rate_denom change.
15981
15982         * gst/net/gstnetclientclock.c
15983         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
15984         OBJECT_LOCK. Don't call add_observation with the lock.
15985
15986         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
15987         fraction.
15988         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
15989         rate fraction.
15990         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
15991         deal with rate as a fraction whose numerator and denominator are
15992         GstClockTime values.
15993         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
15994         master; the other fields are protected by the SLAVE_LOCK.
15995         (do_linear_regression): Note that this must be called with the
15996         SLAVE_LOCK.
15997         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
15998         OBJECT_LOCK. Call set_calibration instead of touching the
15999         variables directly.
16000         (gst_clock_set_property, gst_clock_get_property): Protect
16001         master/slave parameters with the SLAVE_LOCK.
16002
16003         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16004         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16005         note that all of the instance variables that add_observation and
16006         the set_master functions use are protected by that lock and not
16007         the OBJECT_LOCK.
16008         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16009
16010         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16011         the caller to take the object lock.
16012
16013 2005-11-23  Wim Taymans  <wim@fluendo.com>
16014
16015         * gst/gsterror.c: (_gst_core_errors_init):
16016         * gst/gsterror.h:
16017         Add error for clock stuff.
16018
16019         * gst/gstpipeline.c: (gst_pipeline_change_state),
16020         (gst_pipeline_set_clock):
16021         Post clock error when clock cannot be used in a pipeline.
16022
16023 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16024
16025         * docs/gst/gstreamer-sections.txt:
16026           make two symbols from gstinfo private for the docs
16027         * gst/base/gstcollectpads.h:
16028         * gst/gstutils.c:
16029           fix doc typos, update docs
16030
16031 2005-11-22  Wim Taymans  <wim@fluendo.com>
16032
16033         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16034         (gst_base_sink_wait), (gst_base_sink_do_sync),
16035         (gst_base_sink_handle_event):
16036         * gst/base/gstbasesink.h:
16037         No need to store the clock, the parent element class already
16038         has it.
16039
16040         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16041         Updates for clock_set returning a gboolean
16042
16043         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16044         (gst_clock_id_wait_async), (gst_clock_class_init),
16045         (gst_clock_init), (gst_clock_finalize),
16046         (gst_clock_get_internal_time), (gst_clock_get_time),
16047         (gst_clock_slave_callback), (gst_clock_set_master),
16048         (gst_clock_get_master), (do_linear_regression),
16049         (gst_clock_add_observation), (gst_clock_set_property),
16050         (gst_clock_get_property):
16051         * gst/gstclock.h:
16052         Implement master/slave. When setting a clock as a slave, a
16053         periodic timeout is scheduled to sample master and slave times.
16054         Then the slave clock is recalibrated to match offset and rate
16055         of the master clock.
16056         Update logging a bit.
16057         Add flag so that a clock can state that is cannot be slaved to
16058         another clock.
16059
16060         * gst/gstelement.c: (gst_element_set_clock):
16061         * gst/gstelement.h:
16062         The set clock returns a gboolean for when an element cannot
16063         deal with the selected clock in the pipeline. 
16064
16065         * gst/gstpipeline.c: (gst_pipeline_change_state),
16066         (gst_pipeline_set_clock):
16067         * gst/gstpipeline.h:
16068         Handle the case where the selected clock cannot be set on
16069         the pipeline.
16070
16071         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16072         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16073         (gst_net_client_clock_set_property),
16074         (gst_net_client_clock_get_property),
16075         (gst_net_client_clock_observe_times):
16076         * gst/net/gstnetclientclock.h:
16077         Use regression code in GstClock parent, remove duplicated
16078         functionality.
16079
16080 2005-11-22  Michael Smith <msmith@fluendo.com>
16081
16082         * gst/gstutils.c: (gst_util_clock_time_scale):
16083         * gst/gstutils.h:
16084         * docs/gst/gstreamer-sections.txt:
16085           Rename method to have extra underscore.
16086
16087 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16088
16089         * gst/elements/Makefile.am:
16090         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16091         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16092         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16093         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16094         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16095         * gst/elements/gstfakesrc.h:
16096         * gst/gstqueue.c: (queue_leaky_get_type):
16097           correctly fix GEnumValues so that nick is the short lowercase
16098           dashed tag
16099         * tools/gst-inspect.c: (print_element_properties_info):
16100           also show the nick, since it's useful to use from parse_launch
16101           syntax
16102           Fixes #322139
16103
16104 2005-11-22  Michael Smith <msmith@fluendo.com>
16105
16106         * gst/gstutils.c: (gst_util_clocktime_scale):
16107         * gst/gstutils.h:
16108         * docs/gst/gstreamer-sections.txt:
16109           Add util method for scaling a clocktime by a fraction. Useful 
16110           implementation is left as an exercise for the reader.
16111
16112 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16113
16114         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16115         If needed, allocate storage in the destination value during
16116         collection.
16117
16118 2005-11-22  Edward Hervey  <edward@fluendo.com>
16119
16120         * docs/gst/gstreamer-sections.txt:
16121         * gst/Makefile.am:
16122         * gst/gst.h:
16123         * gst/gsturitype.c:
16124         * gst/gsturitype.h:
16125         * gst/gstutils.c: (gst_util_set_object_arg):
16126         * tools/gst-compprep.c: (main):
16127         * tools/gst-inspect.c: (print_element_properties_info):
16128         Removed GstURI, closes bug #321061
16129
16130 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16131
16132         * check/gst/gststructure.c: (GST_START_TEST):
16133         * gst/gststructure.c: (gst_structure_parse_value):
16134           Oops, broke automatic string type parsing.
16135           Add a test to catch it in future.
16136
16137 2005-11-22  Andy Wingo  <wingo@pobox.com>
16138
16139         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16140         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16141         Actually rename the function implementations. Grr.
16142
16143 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16144
16145         * check/gst/capslist.h:
16146           Comment test cases
16147         * check/gst/gststructure.c: (GST_START_TEST),
16148         (gst_structure_suite):
16149           Test automatic value type detection in gst_structure_from_string.
16150         * gst/gststructure.c: (gst_structure_parse_value):
16151           Add fraction as a type we try and guess automatically in
16152           caps/structure strings.
16153
16154 2005-11-22  Andy Wingo  <wingo@pobox.com>
16155
16156         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16157
16158         * gst/gsttagsetter.h:
16159         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16160         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16161         (gst_tag_setter_add_tag_valist)
16162         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16163         _add_values, _add_valist, and _add_valist_values. Since this is an
16164         interface the function suffixes should be more explicit so
16165         language binding don't end up with element.add_valist ->
16166         gst_tag_setter_add_valist, for example. Fixes #322069.
16167
16168 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16169
16170         * check/gst/gstcaps.c: (GST_START_TEST):
16171           Extend caps string tests to check that a caps to string
16172           conversion is reversible and produces the same caps.
16173
16174         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16175           Output "fraction" as the generic type fraction range, so caps
16176           serialisation and deserialisation works.
16177         * check/gst/capslist.h:
16178         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16179           Support 'MIN' and 'MAX' for deserialising fractions.
16180
16181 2005-11-22  Andy Wingo  <wingo@pobox.com>
16182
16183         * gst/gstevent.h (gst_event_new_new_segment)
16184         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16185         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16186         Renamed from *_newsegment, *_buffersize, *_notarget.
16187
16188         * scripts/update-funcnames: New script, performs the changes
16189         listed above.
16190
16191 2005-11-22  Wim Taymans  <wim@fluendo.com>
16192
16193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16194         Make sure the GstFlowReturn is returned.
16195
16196         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16197         (gst_bus_add_signal_watch):
16198         * gst/gstbus.h:
16199         add gst_bus_add_signal_watch_full.
16200
16201         * gst/gstplugin.c: (gst_plugin_load_file):
16202         Small style cleanup.
16203
16204 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16205
16206         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16207           Block the fakesrc srcpad when we send an event, to avoid
16208           contention on the stream_lock causing random test failures.
16209
16210 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16211
16212         * check/gst/gstvalue.c: (GST_START_TEST):
16213         * gst/gstvalue.c: (gst_value_fraction_subtract):
16214           Fix subtraction.
16215
16216 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16217
16218         * gst/gst.h:
16219           include "gstchildproxy.h"
16220         * gst/gstchildproxy.h:
16221         * libs/gst/controller/gstcontroller.h:
16222           use G_GNUC_NULL_TERMINATED
16223
16224 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16225
16226         * check/gst/capslist.h:
16227         * check/gst/gstcaps.c: (GST_START_TEST):
16228         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16229         * gst/gststructure.c: (gst_structure_parse_range),
16230         (gst_structure_fixate_field_nearest_fraction):
16231         * gst/gststructure.h:
16232         * gst/gstvalue.c: (gst_value_init_fraction_range),
16233         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16234         (gst_value_collect_fraction_range),
16235         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16236         (gst_value_set_fraction_range_full),
16237         (gst_value_get_fraction_range_min),
16238         (gst_value_get_fraction_range_max),
16239         (gst_value_serialize_fraction_range),
16240         (gst_value_transform_fraction_range_string),
16241         (gst_value_compare_fraction_range),
16242         (gst_value_deserialize_fraction_range),
16243         (gst_value_intersect_fraction_fraction_range),
16244         (gst_value_intersect_fraction_range_fraction_range),
16245         (gst_value_subtract_fraction_fraction_range),
16246         (gst_value_subtract_fraction_range_fraction),
16247         (gst_value_subtract_fraction_range_fraction_range),
16248         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16249         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16250         (gst_value_transform_string_fraction), (_gst_value_initialize):
16251         * gst/gstvalue.h:
16252           Implement fraction ranges and extend GstFraction to support
16253           arithmetic subtraction, as well as deserialization from integer
16254           strings such as "100"
16255           Add a testsuite as for int and double range set operations
16256
16257 2005-11-21  Andy Wingo  <wingo@pobox.com>
16258
16259         * gst/gsttaglist.h: 
16260         * gst/gstcaps.h: 
16261         * gst/gststructure.h: Add glib-compat.h.
16262
16263 2005-11-21  Wim Taymans  <wim@fluendo.com>
16264
16265         * gst/gstbin.c: (gst_bin_change_state_func):
16266         Fix for #321595
16267
16268 2005-11-21  Wim Taymans  <wim@fluendo.com>
16269
16270         * gst/gstsegment.h:
16271         And add a nice define too.
16272
16273 2005-11-21  Wim Taymans  <wim@fluendo.com>
16274
16275         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16276         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16277         (gst_segment_set_duration), (gst_segment_set_last_stop),
16278         (gst_segment_set_seek), (gst_segment_set_newsegment),
16279         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16280         (gst_segment_clip):
16281         * gst/gstsegment.h:
16282         Make binding friendly.
16283
16284 2005-11-21  Andy Wingo  <wingo@pobox.com>
16285
16286         * gst/gsttagsetter.h: 
16287         * gst/gsttaglist.h: 
16288         * gst/gststructure.h: 
16289         * gst/gstcaps.h: 
16290         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16291         #319940.
16292
16293         * gst/gsterror.c (_gst_core_errors_init):
16294         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16295         category.
16296
16297         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16298         (noinst_HEADERS): noinst the -private.
16299
16300 2005-11-21  Michael Smith <msmith@fluendo.com>
16301
16302         * gst/gstplugin.h:
16303         * gst/gstregistry.h:
16304           Remove unimplemented declarations for which we can see no sensible
16305           use.
16306
16307 2005-11-21  Andy Wingo  <wingo@pobox.com>
16308
16309         * gst/gst.h: Include glib-compat.h.
16310
16311         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16312
16313         * gst/glib-compat.c: Include the public and the private header.
16314
16315         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16316
16317         * gst/gstvalue.c: 
16318         * gst/gstpad.c: 
16319         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16320
16321         * check/gst/gstevent.c (create_custom_events): Check that
16322         FLUSH_STOP is serialized.
16323
16324         * check/elements/identity.c (event_func): 
16325         * check/elements/fakesrc.c (event_func): No stream lock, the core
16326         takes it.
16327
16328         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16329         stream lock taking, yay.
16330
16331         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16332         ensure that core takes the stream lock.
16333
16334         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16335         lock name change.
16336
16337         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16338         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16339         it already. For the flush start we do take it though so we get the
16340         right preroll state change messages.
16341
16342         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16343         the stream lock here, the core does it for us.
16344
16345         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16346         GST_STREAM_GET_LOCK.
16347         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16348         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16349         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16350         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16351         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16352         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16353
16354         * gst/gstpad.c: Update for stream lock name change.
16355
16356         * gst/base/gstbasesink.c: Update for preroll lock name change.
16357
16358 2005-11-21  Wim Taymans  <wim@fluendo.com>
16359
16360         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16361         (gst_clock_get_master):
16362         * gst/gstclock.h:
16363         * gst/gstsystemclock.c: (gst_system_clock_init):
16364         Convert Clock flags to object flags.
16365         Added methods to manage master/slave clocks.
16366
16367 2005-11-21  Wim Taymans  <wim@fluendo.com>
16368
16369         * check/gst/gstsegment.c: (GST_START_TEST):
16370         * docs/design/part-TODO.txt:
16371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16372         (gst_base_sink_event), (gst_base_sink_do_sync),
16373         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16374         (gst_base_sink_query), (gst_base_sink_change_state):
16375         * gst/base/gstbasesink.h:
16376         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16377         (gst_base_src_default_newsegment),
16378         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16379         (gst_base_src_get_range), (gst_base_src_loop),
16380         (gst_base_src_change_state):
16381         * gst/base/gstbasesrc.h:
16382         * gst/base/gstbasetransform.c:
16383         (gst_base_transform_prepare_output_buf),
16384         (gst_base_transform_event), (gst_base_transform_change_state):
16385         * gst/base/gstbasetransform.h:
16386         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16387         (gst_collect_pads_event):
16388         * gst/base/gstcollectpads.h:
16389         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16390         (gst_fake_src_create):
16391         * gst/elements/gstfakesrc.h:
16392         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16393         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16394         (gst_segment_set_last_stop), (gst_segment_set_seek),
16395         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16396         (gst_segment_to_running_time), (gst_segment_clip):
16397         * gst/gstsegment.h:
16398         More segment updates, replace code in plugins with segment
16399         helper functions.
16400
16401 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16402
16403         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16404         Don't ignore sscanf results
16405
16406 2005-11-21  Andy Wingo  <wingo@pobox.com>
16407
16408         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16409
16410         * *.h:
16411         * *.c: Ran scripts/update-macros. Oh yes.
16412
16413         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16414         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16415         GST_GET_LOCK, etc.
16416
16417         * scripts/update-macros: New script. Run it on your files to
16418         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16419         well.
16420
16421 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16422
16423         * docs/gst/Makefile.am:
16424         * docs/gst/gstreamer-docs.sgml:
16425         * docs/gst/gstreamer-sections.txt:
16426         * docs/gst/gstreamer.types:
16427         * gst/gstinfo.h:
16428           more docs fixes, add new api to the docs
16429
16430 2005-11-21  Andy Wingo  <wingo@pobox.com>
16431
16432         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16433         state_broadcast call.
16434
16435         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16436
16437 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16438
16439         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16440         function calls for arrays.
16441
16442 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16443
16444         * docs/random/ensonic/media-device-daemon.txt:
16445           wild idea, can this be done?
16446         * docs/gst/gstreamer-sections.txt:
16447         * gst/gsterror.h:
16448         * gst/gstfilter.c:
16449         * gst/gstfilter.h:
16450         * gst/gstplugin.h:
16451         * gst/gstpluginfeature.c:
16452         * gst/gsttrace.c:
16453         * gst/gstvalue.c:
16454         * gst/gstvalue.h:
16455           doc fixes and additions
16456
16457 2005-11-21  Andy Wingo  <wingo@pobox.com>
16458
16459         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16460         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16461         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16462         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16463         private to the basesrc implementation.
16464
16465         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16466         behalf of event function if necessary. It should no longer be
16467         necessary to take the stream lock in pad's event functions. Fixes
16468         #320299.
16469
16470 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16471         * docs/gst/gstreamer-sections.txt:
16472         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
16473         (gst_structure_fixate_field_nearest_double),
16474         (gst_structure_fixate_field_boolean):
16475         * gst/gststructure.h:
16476         * win32/common/libgstreamer.def:
16477         * win32/gstreamer.def:
16478
16479         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
16480         (#322027)
16481
16482 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16483
16484         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16485         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
16486         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
16487         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
16488         (gst_fdsrc_uri_handler_init):
16489         * gst/elements/gstfdsrc.h:
16490           Port fd:// URI handler from 0.8 to fdsrc
16491
16492 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16493
16494         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
16495         (gst_value_serialize_fourcc):
16496         * gst/gstvalue.h:
16497           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
16498           consistent with our other format defines (#320324).
16499
16500 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16501
16502         * gst/gstvalue.c: (gst_value_is_fixed):
16503           Revert previous commit. Value lists are by definition
16504           not fixed, as they are a list of possible values.
16505
16506 2005-11-21  Andy Wingo  <wingo@pobox.com>
16507
16508         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
16509         during the stable series if we need it. Fixes #319178.
16510
16511         * gst/gstevent.c (gst_event_new_filler): Removed.
16512
16513         * check/gst/gstevent.c: Update comment about filler events.
16514
16515 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16516
16517         * gst/gstvalue.c: (gst_value_is_fixed):
16518           Should handle both value arrays and value lists.
16519
16520 2005-11-21  Andy Wingo  <wingo@pobox.com>
16521
16522         patch by: Alessandro Dessina <alessandro nnva org>
16523
16524         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
16525         functions to access arrays. Fixes #321962.
16526
16527 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16528
16529         * docs/gst/gstreamer.types:
16530           gst_collectpads_get_type => gst_collect_pads_get_type.
16531           
16532         * gst/base/gstbasetransform.c:
16533           Remove unused SIGNAL_HANDOFF enum.
16534
16535 2005-11-21  Andy Wingo  <wingo@pobox.com>
16536
16537         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
16538         the event type (upstream, downstream, serialized). Renamed
16539         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
16540         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
16541         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
16542
16543         * gst/gstevent.c: Update for new CUSTOM event names.
16544
16545         * check/gst/gstevent.c: Update check for new CUSTOM event names.
16546
16547         * gst/gstevent.h:
16548         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
16549         bug #319392.
16550
16551 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16552
16553         * docs/gst/gstreamer-sections.txt:
16554         * win32/common/libgstbase.def:
16555         * win32/libgstbase.def:
16556         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16557         (gst_collect_pads_class_init), (gst_collect_pads_init),
16558         (gst_collect_pads_finalize), (gst_collect_pads_new),
16559         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
16560         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
16561         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
16562         (gst_collect_pads_start), (gst_collect_pads_stop),
16563         (gst_collect_pads_peek), (gst_collect_pads_pop),
16564         (gst_collect_pads_available), (gst_collect_pads_read),
16565         (gst_collect_pads_flush), (gst_collect_pads_event),
16566         (gst_collect_pads_chain):
16567         * gst/base/gstcollectpads.h:
16568           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
16569           unimplemented functions as unimplemented. Add padding to
16570           GstCollectData. (#320766, #320423)
16571
16572 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16573
16574         * gst/gstmessage.c:
16575           Improve docs for DURATION message (usage of duration parameter)
16576           (#320113)
16577
16578 2005-11-20  Wim Taymans  <wim@fluendo.com>
16579
16580         * check/Makefile.am:
16581         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
16582         (main):
16583         * gst/Makefile.am:
16584         * gst/gst.h:
16585         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16586         (gst_segment_set_seek), (gst_segment_set_newsegment),
16587         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16588         (gst_segment_clip):
16589         * gst/gstsegment.h:
16590         Added segment helper structure and methods. Not fully implemented
16591         yet.
16592         Added segment check.
16593
16594 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
16595
16596         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16597           Add a deserialisation test for fractions
16598         * examples/metadata/read-metadata.c: (message_loop),
16599         (make_pipeline), (main):
16600           Fix up metadata reading sample.
16601         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16602           Debug format fix
16603         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16604           Don't try and fixate empty caps
16605         * gst/gst_private.h:
16606           Wrap in G_BEGIN_DECLS/G_END_DECLS
16607         * gst/gstvalue.c: (gst_value_collect_fraction),
16608         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
16609         (gst_value_transform_string_fraction),
16610         (gst_value_compare_fraction):
16611           Add some extra guards to ensure that we don't end up 
16612           with an invalid denominator of 0 in a gstfraction and
16613           that fractions always get reduced.
16614
16615 2005-11-20  Wim Taymans  <wim@fluendo.com>
16616
16617         * docs/gst/gstreamer-sections.txt:
16618         * gst/gstbuffer.h:
16619         * gst/gstelement.c:
16620         * gst/gstformat.c:
16621         * gst/gstformat.h:
16622         * gst/gstindex.h:
16623         * gst/gstquery.c:
16624         * gst/gstquery.h:
16625         * gst/gstvalue.c:
16626         Doc fixes.
16627
16628 2005-11-20  Wim Taymans  <wim@fluendo.com>
16629
16630         * docs/design/part-TODO.txt:
16631         * gst/gstcaps.h:
16632         Make a proper enum of the flag.
16633
16634 2005-11-19  Wim Taymans  <wim@fluendo.com>
16635
16636         * docs/design/part-TODO.txt:
16637         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
16638         (gst_format_to_quark), (gst_format_register):
16639         * gst/gstformat.h:
16640         * gst/gstquery.c: (_gst_query_initialize),
16641         (gst_query_type_get_name), (gst_query_type_to_quark),
16642         (gst_query_type_register):
16643         * gst/gstquery.h:
16644         Add type to quark and type to string conversions.
16645
16646 2005-11-19  Andy Wingo  <wingo@pobox.com>
16647
16648         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
16649         #320097.
16650
16651 2005-11-19  Wim Taymans  <wim@fluendo.com>
16652
16653         * docs/design/part-TODO.txt:
16654         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16655         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
16656         (gst_bin_handle_message_func):
16657         * gst/gstbin.h:
16658         Make message handling overridable.
16659
16660 2005-11-19  Andy Wingo  <wingo@pobox.com>
16661
16662         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
16663
16664         * gst/gstclock.h:
16665         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
16666         be a GstClockTime.
16667         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
16668         is a GstClockTime. Fixes #321710.
16669
16670         * gst/gstclock.h (GstClock): Remove offset property. Add
16671         internal_calibration and external_calibration. Fix padding. Pad
16672         also by GstClockTime so we don't run into problems.
16673
16674         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
16675         (gst_clock_get_rate_offset): Remove.
16676         (gst_clock_set_time_adjust): Remove. Fixes #321712.
16677
16678         * gst/gstutils.h:
16679         * gst/gstutils.c (g_static_rec_cond_wait)
16680         (g_static_rec_cond_timed_wait): Removed, no longer needed.
16681
16682         * gst/gstbin.c: Remove terrible continue_state prototype.
16683
16684         * gst/gstelement.h (gst_element_continue_state): Make public.
16685
16686         * gst/gstelement.h:
16687         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
16688         by continue_state. Fixes #319389.
16689
16690         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
16691         Really fixes #168438. However I don't see anywhere where the
16692         filter function is called... stupid GStreamer...
16693         
16694         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
16695         don't have a dispose function, so it won't get called when the
16696         object is unreffed, but oh well!
16697
16698         * gst/gstindex.c (gst_index_set_filter_full): New API function,
16699         allows a destroy function to be set so user_data can be freed.
16700         Fixes #168438.
16701         (gst_index_set_filter): Call gst_index_set_filter_full.
16702
16703         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
16704
16705         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
16706         string should produce an error, given the lack of a way to
16707         represent NULL strings. Fixes #165650.
16708         
16709         * gst/gstvalue.h: 
16710         * gst/gstvalue.c (gst_value_array_append_value) 
16711         (gst_value_array_prepend_value, gst_value_array_get_size) 
16712         (gst_value_array_get_value): New API, copied from
16713         gst_value_list_*, only operates on arrays.
16714         (gst_value_list_append_value, gst_value_list_prepend_value) 
16715         (gst_value_list_concat, gst_value_list_get_size) 
16716         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
16717
16718         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
16719         init_list, because it works on both.
16720         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
16721         (gst_value_copy_list_or_array): Renamed from copy_list.
16722         (gst_value_free_list_or_array): Renamed from free_list.
16723         (gst_value_collect_list_or_array): Renamed from collect_list.
16724         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
16725         (gst_value_list_or_array_peek_pointer): Renamed from
16726         list_peek_pointer.
16727         (_gst_value_array_value_table, _gst_value_list_value_table):
16728         Update value table functions.
16729         (gst_value_compare_list_or_array): Renamed from compare_list.
16730
16731         * gsttaglist.h: Whoops, foreach function returns void. Also fix
16732         some constness.
16733
16734         * gst/gsttaglist.c:
16735         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
16736         GstTagList*. Fixes #143472.
16737
16738         * gst/gststructure.h: Clarify what the foreach/map functions can
16739         or can't do to their arguments.
16740
16741 2005-11-18  Wim Taymans  <wim@fluendo.com>
16742
16743         * gst/gstclock.c: (gst_clock_set_calibration),
16744         (gst_clock_get_calibration):
16745         Doc and API fixes.
16746         Calibration can be set with internal time equal to current
16747         internal time too.
16748
16749 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16750
16751         * gst/gsterror.c:
16752         * gst/gsterror.h:
16753           document
16754
16755 2005-11-18  Andy Wingo  <wingo@pobox.com>
16756
16757         * configure.ac: 
16758         * pkgconfig/gstreamer-net.pc.in:
16759         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16760         * pkgconfig/Makefile.am: Add net pkgconfig files.
16761
16762 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
16763
16764         * gst/gstcaps.c:
16765         * gst/gstghostpad.c:
16766         * gst/gsttrace.c:
16767         * gst/gstvalue.c:
16768         * gst/gstvalue.h:
16769           docs fixes
16770
16771 2005-11-18  Andy Wingo  <wingo@pobox.com>
16772
16773         * gst/net/gstnetclientclock.c: Turn off debugging.
16774
16775         * check/net/gstnetclientclock.c (test_functioning): Assert that the
16776         times connverge somewhat. Can't make a real test.
16777
16778         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
16779         integer arithmetic. Return the minimum of the domain, which can be
16780         set as "internal" for gst_clock_set_calibration.
16781         (gst_net_client_clock_observe_times): Call _set_calibration.
16782         (gst_net_client_clock_new): Call _set_calibration instead of
16783         rate_offset.
16784
16785         * check/net/gstnetclientclock.c (test_functioning): Use the right
16786         adjustment api.
16787
16788         * gst/gstclock.h:
16789         * gst/gstclock.c (gst_clock_get_calibration) 
16790         (gst_clock_set_calibration): New functions, obsolete the ones I
16791         added yesterday. Doh. Precision issues mean we have to extrapolate
16792         from a point in the more recent past than 1970.
16793         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
16794         obsolete.
16795         (gst_clock_adjust_unlocked): Use the right calibration data.
16796
16797 2005-11-18  Edward Hervey  <edward@fluendo.com>
16798
16799         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
16800         Also reset the ->current_* values in READY->PAUSED
16801
16802 2005-11-18  Andy Wingo  <wingo@pobox.com>
16803
16804         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
16805         Whoops, check the right fd. Also add some debugging.
16806         (gst_net_client_clock_observe_times): Adjust for int64 offset.
16807         (do_linear_regression): Add a crapload of debugging. Subtract off
16808         the minimum values from the input series to discard unneeded bits.
16809         Use only int arithmetic. There is still double arithmetic when
16810         calculating the intercept that needs fixing. Return boolean to
16811         indicate success; FALSE would mean the domain or range is too
16812         great. Still needs fixes.
16813
16814 2005-11-18  Wim Taymans  <wim@fluendo.com>
16815
16816         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16817         For the current position in stream time, we need to subtract
16818         accumulated time.
16819         
16820         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16821         Release lock before calling the callback function of async
16822         entries.
16823
16824 2005-11-18  Andy Wingo  <wingo@pobox.com>
16825
16826         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
16827         Port goes all the way to MAXUINT16.
16828
16829         * gst/net/gstnettimeprovider.c: Make the port range the same as
16830         for the kernel: 0 assigns, otherwise ports are less than
16831         MAXUINT16.
16832
16833         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
16834         port change.
16835
16836         * check/net/gstnetclientclock.c (test_functioning): Add the start
16837         of another test. 
16838
16839 2005-11-18  Wim Taymans  <wim@fluendo.com>
16840
16841         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16842         (gst_bin_remove_func), (bin_bus_handler):
16843         * gst/gstbin.h:
16844         Removing a clock provider from a bin, triggers a clock lost message
16845         so that a new clock will be selected.
16846         Adding a clock to a bin triggers a clock provider message.
16847         Make sure we reselect a clock when we received a clock lost message.
16848         Keep a reference to the element that provided the clock.
16849
16850 2005-11-18  Andy Wingo  <wingo@pobox.com>
16851
16852         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
16853         the clock initially so it produces values around the base time.
16854         (gst_net_client_clock_class_init): Typo fix.
16855         (gst_net_client_clock_thread): Add note on when the socket gets
16856         closed.
16857
16858 2005-11-17  Wim Taymans  <wim@fluendo.com>
16859
16860         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
16861         Free remote and local time arrays.
16862
16863 2005-11-17  Wim Taymans  <wim@fluendo.com>
16864
16865         * gst/net/gstnetclientclock.c: (do_linear_regression),
16866         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
16867         Fix compilation, uninitialized vars and a forgotten continue.
16868
16869 2005-11-17  Andy Wingo  <wingo@pobox.com>
16870
16871         * check/Makefile.am (check_PROGRAMS): 
16872         * check/net/gstnetclientclock.c: Add a most minimal test for the
16873         net client clock. More to come later.
16874
16875         * gst/net/gstnet.h: 
16876         * gst/net/Makefile.am: Add netclientclock.
16877
16878         * gst/net/gstnetclientclock.h:
16879         * gst/net/gstnetclientclock.c: New files, implement an untested
16880         GstClock that takes its time from a network time provider.
16881         Implements the algorithm in network-clock.scm.
16882
16883         * tests/network-clock.scm (*window-size*): Rename from
16884         *queue-length*.
16885         * tests/network-clock.scm (network-time): 
16886         * tests/network-clock-utils.scm (q-push): Update callers.
16887
16888 2005-11-17  Wim Taymans  <wim@fluendo.com>
16889
16890         * gst/gstbin.c: (gst_bin_provide_clock_func),
16891         (gst_bin_sort_iterator_new):
16892         And unref the child too..
16893
16894 2005-11-17  Wim Taymans  <wim@fluendo.com>
16895
16896         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16897         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
16898         Refactor the sort iterator so it can be used while holding the
16899         LOCK too.
16900         Make clock selection select a clock closest to the source.
16901
16902 2005-11-17  Michael Smith <msmith@fluendo.com>
16903
16904         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
16905         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
16906         * gst/gstclock.h:
16907           Anonymous structs are a gcc (and some other compilers) extension, so
16908           don't use them. Since this is only for ABI-compatibility, and our
16909           API/ABI freeze is over in a few days, this whole thing will only
16910           last a few days, so don't bother trying to think up a meaningful
16911           name for the struct.
16912
16913 2005-11-17  Andy Wingo  <wingo@pobox.com>
16914
16915         * gst/gstclock.h (GstClock): Add rate and offset properties,
16916         preserving ABI stability. Add rate/offset accessors. Will file bug
16917         for the freeze break.
16918
16919         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
16920         and offset, trying to keep precision and avoiding
16921         underflow/overflow.
16922         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
16923         functions. Make gst_clock_set_time_adjust obsolete.
16924         (gst_clock_set_time_adjust): Note that this function is obsolete.
16925         Will file bug soon.
16926
16927         * gst/base/gstbasetransform.h: Make the ABI-stability hack
16928         greppable by using GST_PADDING-1+1.
16929
16930 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
16931
16932         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16933
16934         * gst/gstmessage.c: (gst_message_parse_clock_lost):
16935           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
16936
16937         * gst/gstpadtemplate.h:
16938         * gst/gstpluginfeature.h:
16939           Don't use c++ style comments in headers (#321638).
16940
16941 2005-11-16  Andy Wingo  <wingo@pobox.com>
16942
16943         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
16944         buffer.
16945
16946         * check/net/gstnettimeprovider.c: Check to see that the time
16947         provider actually provides times. Works, yo!
16948
16949 2005-11-16  Wim Taymans  <wim@fluendo.com>
16950
16951         * check/Makefile.am:
16952         Enable more tests.
16953
16954         * check/elements/fakesrc.c: (GST_START_TEST):
16955         Set element to NULL before disposing it.
16956
16957 2005-11-16  Andy Wingo  <wingo@pobox.com>
16958
16959         * gst/net/Makefile.am:
16960         * gst/net/gstnet.h:
16961         * gst/net/gstnettimeprovider.c: 
16962         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
16963         provider, include it from gstnet.h, and add it to the build.
16964
16965         * gst/net/gstnettimepacket.h: 
16966         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
16967         sending and receiving.
16968
16969 2005-11-16  Wim Taymans  <wim@fluendo.com>
16970
16971         * check/Makefile.am:
16972         Enable valgrind check.
16973
16974         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
16975         (gst_fake_src_alloc_buffer):
16976         Fix memleak.
16977
16978 2005-11-16  Wim Taymans  <wim@fluendo.com>
16979
16980         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
16981         Call parent finalize too.
16982
16983 2005-11-16  Wim Taymans  <wim@fluendo.com>
16984
16985         * check/Makefile.am:
16986         Enable valgrind check that should work fine now.
16987
16988         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16989         * gst/gstqueue.c: (gst_queue_init):
16990         Fix memleaks in pad allocation.
16991
16992 2005-11-16  Andy Wingo  <wingo@pobox.com>
16993
16994         * gst/net/Makefile.am:
16995         * gst/net/gstnet.h: New part of core to hold network elements and
16996         objects. Put in core because it exposes API that applications want
16997         to use. The library is named libgstnet-tempname right now because
16998         of the existing libgstnet in gst-plugins-base. Solution is
16999         probably to rename the one in plugins-base; will file a bug for
17000         the freeze break.
17001
17002         * gst/net/gstnettimeprovider.c: 
17003         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17004         get_time call over the network.
17005
17006         * configure.ac: 
17007         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17008
17009         * check/Makefile.am:
17010         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17011         get additions shortly.
17012
17013 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17014
17015         * gst/gstpad.c: (gst_pad_new_from_static_template):
17016         * gst/gstpad.h:
17017           add gst_pad_new_from_static_template functions
17018         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17019         (gst_check_setup_sink_pad):
17020         * gst/elements/gsttee.c: (gst_tee_init):
17021           and use them
17022
17023 2005-11-16  Wim Taymans  <wim@fluendo.com>
17024
17025         * gst/gstpad.c: (gst_pad_pause_task):
17026         Removed warning, it's not really an error either.
17027
17028 2005-11-16  Wim Taymans  <wim@fluendo.com>
17029
17030         * gst/base/gstbasetransform.c:
17031         (gst_base_transform_prepare_output_buf),
17032         (gst_base_transform_event):
17033         Check if the caps are NULL, this can happen if the element
17034         is shutting down and the pad caps are set to NULL.
17035
17036 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17037
17038         * gst/elements/gsttee.c: (gst_tee_init):
17039           fix pad template leak in tee
17040
17041 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17042
17043         * gst/glib-compat.c: (g_value_dup_gst_object):
17044         * gst/glib-compat.h:
17045         * gst/gstpad.c: (gst_pad_set_property):
17046           use gst_object_ref when setting the pad template; this will
17047           trigger the pad template leaks on GLib 2.6 and the slaves
17048
17049 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17050
17051         * gst/glib-compat.c: (gst_flags_get_first_value):
17052         * gst/glib-compat.h:
17053         * gst/gstregistryxml.c:
17054           remove functions copied from GLib 2.6
17055
17056 2005-11-16  Michael Smith <msmith@fluendo.com>
17057
17058         * gst/Makefile.am:
17059           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17060           do, but only breaks with newer valgrind versions. We're not a
17061           valgrind tool, we have no link-time dependencies on libcoregrind.
17062
17063 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17064
17065         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17066           some debug changes
17067         * gst/gstmessage.h:
17068           typo fixes
17069
17070 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17071
17072         * gst/base/gstbasesrc.c: (gst_base_src_init):
17073         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17074         * gst/gstqueue.c: (gst_queue_init):
17075         * gst/gstregistryxml.c: (load_feature):
17076           Revert all these unrefs, they don't even pass make check !
17077
17078 2005-11-15  Johan Dahlin  <johan@gnome.org>
17079
17080         * gst/base/gstbasesrc.c: (gst_base_src_init):
17081         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17082         * gst/gstqueue.c: (gst_queue_init): 
17083         Free pad templates, fixes a couple of leaks.
17084
17085 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17086
17087         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17088
17089         * gst/gstpad.c: (gst_pad_get_property):
17090           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17091           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17092           (#321452)
17093
17094 2005-11-15  Wim Taymans  <wim@fluendo.com>
17095
17096         * gst/gstevent.c:
17097         Small doc update.
17098
17099 2005-11-15  Andy Wingo  <wingo@pobox.com>
17100
17101         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17102
17103         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17104         using GST_CLOCK_TIME_NONE to disable base time management.
17105         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17106         time if it was NONE before.
17107         (gst_pipeline_change_state): Only munge the base time if
17108         stream_time != GST_CLOCK_TIME_NONE.
17109
17110         * check/gst/gstpipeline.c (test_base_time): Punt around the
17111         problem of the probe not being called, because that's not the
17112         issue I'm looking at. Add a check that setting stream_time to NONE
17113         disables base time management.
17114         
17115 2005-11-15  Wim Taymans  <wim@fluendo.com>
17116
17117         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17118         segment_stop == -1 at startup.
17119
17120         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17121         (gst_base_transform_change_state):
17122         Init segment values at start.
17123
17124 2005-11-15  Wim Taymans  <wim@fluendo.com>
17125
17126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17127         0 segment values are 0 in any format.
17128
17129         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17130         * gst/base/gstbasetransform.h:
17131         Parse newsegment correctly in basetransform
17132
17133         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17134         Sync to clock using updated segment values.
17135
17136 2005-11-15  Andy Wingo  <wingo@pobox.com>
17137
17138         * check/gst/gstpipeline.c (test_base_time): Add check that the
17139         base time and stream time are reset correctly.
17140
17141 2005-11-15  Wim Taymans  <wim@fluendo.com>
17142
17143         * docs/design/part-TODO.txt:
17144         Some more TODO items.
17145
17146 2005-11-15  Andy Wingo  <wingo@pobox.com>
17147
17148         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17149         error if the user selected "no clock" as the clocking method.
17150
17151         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17152         timestamps with live capture.
17153
17154         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17155         is 0 but we are a live source, timestamp the buffers using the
17156         element's clock.
17157
17158 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17159
17160         * docs/gst/gstreamer-sections.txt:
17161         * gst/gsterror.c:
17162         * gst/gstghostpad.c:
17163         * gst/gstobject.h:
17164         * gst/gstxml.c:
17165           more section docs
17166
17167 2005-11-14  Wim Taymans  <wim@fluendo.com>
17168
17169         * common/gst.supp:
17170           add suppressions from Wim's Debian machine
17171
17172 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17173
17174         * common/gst.supp:
17175           add suppressions from Andy's AMD64 Ubuntu machine
17176
17177 2005-11-14  Andy Wingo  <wingo@pobox.com>
17178
17179         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17180         STATE_LOCK not necessary. Fixes #311489.
17181
17182         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17183         #305291.
17184
17185         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17186         this function is not implemented.
17187
17188 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17189
17190         * gst/base/gstbasetransform.c:
17191         (gst_base_transform_prepare_output_buf):
17192         Ref the source pad caps while we need them.
17193         Fixes (#321386)
17194
17195 2005-11-11  Wim Taymans  <wim@fluendo.com>
17196
17197         * docs/gst/gstreamer-sections.txt:
17198         Added some docs for GstCollectData.
17199
17200         * gst/base/gstadapter.c:
17201         Some small code example fix.
17202
17203         * gst/base/gstcollectpads.c:
17204         * gst/base/gstcollectpads.h:
17205         Document some more.
17206
17207 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17208
17209         * configure.ac: back to HEAD
17210
17211 === release 0.9.5 ===
17212
17213 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17214
17215         * configure.ac:
17216           releasing 0.9.5, "Bike Lunch Day"
17217
17218 2005-11-11  Wim Taymans  <wim@fluendo.com>
17219
17220         * gst/gstbuffer.c: (_gst_buffer_copy):
17221         Copy more flags.
17222
17223         * gst/gstcaps.c: (gst_caps_is_equal):
17224         Fix some docs.
17225         Make _is_equal fast in the trivial cases.
17226
17227         * gst/gstminiobject.c:
17228         * gst/gstminiobject.h:
17229         More docs. Spifify .h file.
17230
17231         * gst/gstutils.c:
17232         Small doc update.
17233
17234 2005-11-11  Wim Taymans  <wim@fluendo.com>
17235
17236         * gst/base/gstbasetransform.c:
17237         (gst_base_transform_prepare_output_buf),
17238         (gst_base_transform_handle_buffer):
17239         Small cleanups.
17240         If we're processing a buffer and need to allocate an output
17241         buffer, we cannot accept a format change. If we did get a 
17242         format change, we have to alloc a buffer ourselves of the 
17243         right size.
17244
17245 2005-11-11  Wim Taymans  <wim@fluendo.com>
17246
17247         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17248         While checking the flag for reentrancy in the gstcaps function
17249         is nice to detect recursive invocations, it also makes it 
17250         impossible to call getcaps from multiple threads, which must be
17251         possible. So, checking for recursive calls has to go.
17252
17253 2005-11-11  Michael Smith <msmith@fluendo.com>
17254
17255         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17256           Don't sync on buffers that fall partially outside our current
17257           segment. Prevents an assertion failure/abort playing some files.
17258
17259 2005-11-10  Andy Wingo  <wingo@pobox.com>
17260
17261         * check/gst/gstbin.c (test_message_state_changed_children): Style
17262         fix..
17263
17264         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17265         gst_bus_poll with the signal watch. Ensures that poll and a signal
17266         watch see the same messages.
17267
17268         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17269         a poll and a watch at the same time get the same messages.
17270
17271 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17272
17273         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17274         * gst/gstcaps.c: (gst_caps_intersect):
17275           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17276           and it's not needed.
17277
17278 2005-11-10  Wim Taymans  <wim@fluendo.com>
17279
17280         * docs/design/part-TODO.txt:
17281         Updated todo.
17282
17283 2005-11-10  Wim Taymans  <wim@fluendo.com>
17284
17285         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17286         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17287         (gst_base_src_do_sync), (gst_base_src_get_range):
17288         Implement clock sync in base class.
17289
17290 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17291
17292         patch by: Tim-Philipp Müller <tim at centricular dot net>
17293
17294         * gst/gststructure.c: (gst_structure_parse_field),
17295         (gst_structure_from_string):
17296           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17297           so that gst_parse_launch() can deal with spaces in filtered link
17298           caps (fixes #164479)
17299         * check/gst/capslist.h:
17300         * check/gst/gststructure.c: (GST_START_TEST):
17301           add unit tests for this change
17302
17303 2005-11-10  Wim Taymans  <wim@fluendo.com>
17304
17305         * docs/gst/gstreamer-sections.txt:
17306         * gst/gstelement.c:
17307         * gst/gstelement.h:
17308         Fix docs, move some STATE macros to private.
17309
17310 2005-11-10  Wim Taymans  <wim@fluendo.com>
17311
17312         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17313         Added check for bug #317341
17314
17315         * gst/gstbuffer.c:
17316         * gst/gstbuffer.h:
17317         Some more spiffifying.
17318
17319         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17320         Call peer linkfunction if we are a source pad. Totally fixes
17321         #317341
17322
17323         * gst/gstpad.c:
17324         Update docs, source pads should call the peer linkfunction
17325         so they can atomically perform the pad link.
17326
17327 2005-11-09  Wim Taymans  <wim@fluendo.com>
17328
17329         * gst/gstbuffer.c:
17330         * gst/gstbuffer.h:
17331         Uber-spiffy-spiffify some more.
17332
17333 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17334
17335         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17336         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17337         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17338         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17339         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17340         * gst/gstpad.c: (gst_pad_init):
17341           Use GST_DEBUG_FUNCPTR() more extensively.
17342
17343 2005-11-09  Wim Taymans  <wim@fluendo.com>
17344
17345         * gst/gstobject.c: (gst_object_class_init):
17346         * gst/gstobject.h:
17347         Documentation fixes.
17348
17349 2005-11-09  Edward Hervey  <edward@fluendo.com>
17350
17351         * gst/gsttypefindfactory.c:
17352         Fix docs.
17353         
17354 2005-11-09  Edward Hervey  <edward@fluendo.com>
17355
17356         * gst/base/gsttypefindhelper.c:
17357         * gst/gsttypefind.c:
17358         * gst/gsttypefind.h:
17359         Fix docs.
17360
17361 2005-11-09  Wim Taymans  <wim@fluendo.com>
17362
17363         * gst/gstiterator.c:
17364         Fix revision data.
17365
17366         * gst/gsttask.c:
17367         * gst/gsttask.h:
17368         Fix docs.
17369
17370 2005-11-09  Wim Taymans  <wim@fluendo.com>
17371
17372         * gst/gstevent.h:
17373         * gst/gsturi.h:
17374         Fix docs.
17375
17376 2005-11-09  Wim Taymans  <wim@fluendo.com>
17377
17378         * docs/gst/gstreamer-sections.txt:
17379         Moved the message async delivery private lock and cond
17380         to the private section.
17381
17382         * gst/gstmessage.c:
17383         * gst/gstmessage.h:
17384         Fixed docs.
17385
17386 2005-11-09  Edward Hervey  <edward@fluendo.com>
17387
17388         * docs/gst/gstreamer-sections.txt:
17389         * gst/gsturi.c:
17390         * gst/gsturi.h:
17391         Document GstURIHandler
17392
17393 2005-11-09  Wim Taymans  <wim@fluendo.com>
17394
17395         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17396         (gst_iterator_find_custom):
17397         * gst/gstiterator.h:
17398         Fix iterator docs.
17399
17400 2005-11-09  Wim Taymans  <wim@fluendo.com>
17401
17402         * gst/gstbin.h:
17403         Document another field.
17404
17405         * gst/gststructure.c:
17406         * gst/gststructure.h:
17407         Document.
17408
17409 2005-11-09  Wim Taymans  <wim@fluendo.com>
17410
17411         * gst/gstbin.h:
17412         Documented structs.
17413
17414 2005-11-09  Wim Taymans  <wim@fluendo.com>
17415
17416         * docs/gst/gstreamer-sections.txt:
17417         Added some new macros.
17418
17419         * gst/gstclock.c:
17420         * gst/gstclock.h:
17421         * gst/gstobject.h:
17422         Docs updates.
17423
17424 2005-11-09  Wim Taymans  <wim@fluendo.com>
17425
17426         * docs/design/part-TODO.txt:
17427         Some more items for the TODO
17428
17429         * gst/gstcaps.c:
17430         * gst/gstcaps.h:
17431         Document GstCaps.
17432
17433 2005-11-09  Andy Wingo  <wingo@pobox.com>
17434
17435         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17436         to work on something else now tho...
17437
17438         * gst/base/gstadapter.c: More adapter docs.
17439
17440         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17441         (gst_file_sink_stop): New functions, replace the state change
17442         handler.
17443         (gst_file_sink_class_init): Hook up the start and stop functions.
17444         (gst_file_sink_base_init): Don't set the state change handler any
17445         more. It was a bit ugly too, being set from here...
17446         (gst_file_sink_get_property, gst_file_sink_set_property):
17447         Cleanups...
17448         (gst_file_sink_set_location): More robust check that doesn't call
17449         GST_STATE. Ugggggg.
17450
17451 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17452
17453         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17454           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17455
17456 2005-11-08  Wim Taymans  <wim@fluendo.com>
17457
17458         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17459         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17460         (gst_base_sink_chain), (gst_base_sink_change_state):
17461         * gst/base/gstbasesink.h:
17462         * gst/base/gstbasesrc.h:
17463         * gst/gstelement.h:
17464         * gst/gstevent.h:
17465         Avoid excessive typechecking in macros.
17466
17467         * gst/gstminiobject.c: (gst_mini_object_get_type),
17468         (gst_mini_object_init), (gst_mini_object_new),
17469         (gst_mini_object_free):
17470         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17471         (gst_object_finalize):
17472         Remove cruft code, optimize alloc_trace.
17473
17474 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17475
17476         * docs/faq/gst-uninstalled:
17477           fix up PS1 for systems that try to reset it
17478
17479 2005-11-07  Wim Taymans  <wim@fluendo.com>
17480
17481         * gst/base/gstbasesrc.c: (gst_base_src_init),
17482         (gst_base_src_get_range):
17483         Set the segment_end to -1 initially. Fixed typefind.
17484
17485 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
17486
17487         * gst/base/gstadapter.c:
17488           Debug category should be 'adapter', not 'GstAdapter'.
17489           
17490         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
17491         (gst_collectpads_class_init), (gst_collectpads_init),
17492         (gst_collectpads_peek), (gst_collectpads_pop),
17493         (gst_collectpads_event), (gst_collectpads_chain):
17494           Add debug category and some debugging output. Use boilerplate
17495           macros. Remove some extraneous words from docs.
17496
17497 2005-11-05  Andy Wingo  <wingo@pobox.com>
17498
17499         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
17500         macro.
17501
17502 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17503
17504         * docs/gst/gstreamer-sections.txt:
17505         * gst/gstcaps.h:
17506         * gst/gstinfo.c:
17507         * gst/gstminiobject.h:
17508         * gst/gstobject.h:
17509         * gst/gstutils.h:
17510           more docs added
17511
17512 2005-11-04  Wim Taymans  <wim@fluendo.com>
17513
17514         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17515         Small update to stop at the configured segment_end
17516         position.
17517
17518 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17519
17520         * gst/gstregistry.c:
17521         * gst/gstregistry.h:
17522           added missing docs
17523
17524 2005-11-04  Edward Hervey  <edward@fluendo.com>
17525
17526         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17527         Check if we are doing a segment seek and have arrived at the
17528         end of that segment.
17529
17530 2005-11-04  Wim Taymans  <wim@fluendo.com>
17531
17532         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
17533         Don't leak a mutex unlock in case of an error.
17534
17535         * gst/gstbus.h:
17536         Doc fixes.
17537
17538 2005-11-04  Wim Taymans  <wim@fluendo.com>
17539
17540         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
17541         (gst_bus_post):
17542         Get the context to wake up only once.
17543
17544 2005-11-03  Wim Taymans  <wim@fluendo.com>
17545
17546         * check/states/sinks.c: (GST_START_TEST):
17547         Uncomment fixed check.
17548
17549         * docs/design/part-TODO.txt:
17550         Updated TODO.
17551
17552         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17553         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17554         (gst_base_sink_get_position):
17555         If we are going to PLAYING, post the right pending state
17556         when we post the intermediate paused message.
17557
17558         * gst/gstelement.c: (gst_element_continue_state),
17559         (gst_element_set_state_func), (gst_element_change_state):
17560         Don't post state changes that were between the same state
17561         and were not ASYNC.
17562
17563 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17564
17565         * docs/gst/gstreamer-sections.txt:
17566         * gst/gstcaps.h:
17567         * gst/gstinfo.c:
17568         * gst/gstminiobject.h:
17569         * gst/gstobject.h:
17570         * gst/gstutils.h:
17571           more docs and doc style fixes
17572
17573 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17574
17575         * docs/gst/gstreamer-sections.txt:
17576         * gst/gstelement.c:
17577         * gst/gstminiobject.c:
17578         doc fixes
17579
17580 2005-11-03  Andy Wingo  <wingo@pobox.com>
17581
17582         * check/states/sinks.c (test_livesrc_sink): Add checks that the
17583         state-changed messages actually have the right order and the right
17584         values.
17585
17586 2005-11-03  Wim Taymans  <wim@fluendo.com>
17587
17588         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17589         Added some more checks. Specifically the case where NO_PREROLL
17590         elements are in the pipeline.
17591
17592         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17593         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17594         (gst_base_sink_get_position):
17595         Post READY->PAUSED state change messages too.
17596         Fix bug where VOID was posted as pending state...
17597
17598         * gst/gstbin.c: (gst_bin_recalc_state):
17599         use _element_continue_state() to continue the state change.
17600
17601         * gst/gstelement.c: (gst_element_continue_state),
17602         (gst_element_commit_state), (gst_element_set_state_func),
17603         (gst_element_change_state), (gst_element_change_state_func):
17604         Lots of state change cleanups, assign the STATE_RETURN in
17605         a new continue_state() function that also propagates the
17606         last return value from a state change to the app.
17607         Update some debug statements with proper category.
17608
17609 2005-11-03  Wim Taymans  <wim@fluendo.com>
17610
17611         * docs/design/part-events.txt:
17612         * docs/design/part-gstpipeline.txt:
17613         * docs/design/part-messages.txt:
17614         * docs/design/part-overview.txt:
17615         * docs/design/part-seeking.txt:
17616         * docs/design/part-states.txt:
17617         * docs/design/part-trickmodes.txt:
17618         * docs/manual/advanced-position.xml:
17619         Small docs updates.
17620
17621         * gst/gstobject.h:
17622         People think !! is ugly, this looks better.
17623
17624         * gst/gstpad.c: (gst_pad_set_blocked_async):
17625         Remove !! since it's fixed elsewhere now.
17626
17627 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17628
17629         * gst/gstminiobject.h:
17630         * gst/gstobject.h:
17631           Add !! to _FLAG_IS_SET macros to make the result boolean.
17632
17633 2005-11-03  Edward Hervey  <edward@fluendo.com>
17634
17635         * gst/gstpad.c: (gst_pad_set_blocked_async):
17636         comparing a flag and a gboolean rarely returns coherent results...
17637         Added two characters (!!) to make that work correctly.
17638         
17639 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17640
17641         * gst/gstbus.c: (gst_bus_class_init):
17642           Fix some typos.
17643           
17644         * gst/gstqueue.c: (gst_queue_loop):
17645           Don't assume a miniobject that isn't a buffer is an
17646           event (it could be that there is a refcounting
17647           problem somewhere and the pointer is stale and
17648           refers to an already destroyed miniobject).
17649
17650 2005-11-03  Julien MOUTTE  <julien@moutte.net>
17651
17652         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
17653
17654 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17655
17656         * docs/manual/advanced-position.xml:
17657           Update seek example and explanations to current 0.9 API.
17658
17659         * gst/elements/gsttypefindelement.c:
17660         (gst_type_find_element_activate):
17661           Remove FIXME comment now that the found caps
17662           are unreffed.
17663
17664 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17665
17666         * gst/gstregistryxml.c: (load_feature):
17667           Add another GST_STR_NULL instance
17668
17669 2005-11-02  Edward Hervey  <edward@fluendo.com>
17670
17671         * gst/gstpad.c: (handle_pad_block):
17672         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
17673         
17674 2005-11-02  Wim Taymans  <wim@fluendo.com>
17675
17676         * gst/gstbin.c:
17677         Fix typo in docs.
17678
17679         * gst/gstelement.c: (gst_element_commit_state):
17680         Remove unused value.
17681
17682         * gst/gstiterator.c:
17683         Mention that the returned element is reffed in the docs.
17684
17685 2005-11-02  Wim Taymans  <wim@fluendo.com>
17686
17687         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
17688         (gst_pad_push), (gst_pad_push_event):
17689         Unlock blocked pads when they are flushed.
17690
17691 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17692
17693         * docs/README:
17694         * docs/gst/gstreamer-sections.txt:
17695         * gst/gstbin.c:
17696           doc updates
17697         * gst/gstregistry.c: (gst_registry_scan_path_level):
17698           fix for a nasty little missed situation where an installed plug-in
17699           which was in the cache did not get overridden by an uninstalled one
17700           which was earlier in the plugin path because the newly created plugin
17701           for the uninstalled one (not in the registry) didn't get its
17702           ->registered set to TRUE
17703
17704 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17705
17706         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
17707         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
17708         (gst_collectpads_is_active), (gst_collectpads_collect),
17709         (gst_collectpads_collect_range), (gst_collectpads_start),
17710         (gst_collectpads_stop), (gst_collectpads_peek),
17711         (gst_collectpads_pop), (gst_collectpads_available),
17712         (gst_collectpads_read), (gst_collectpads_flush):
17713           Guard public API with assertions.
17714         
17715         * gst/gstpad.c:
17716           Fix docs for gst_pad_set_link_function().
17717
17718 2005-11-02  Johan Dahlin  <johan@gnome.org>
17719
17720         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
17721         Unref found_caps after we used it.
17722
17723 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17724
17725         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
17726           Don't try to ref NULL.
17727
17728 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17729
17730         * win32/common/config.h.in:
17731           provide a GST_FUNCTION that just gives a string for now
17732
17733 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17734
17735         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17736         (gst_object_flags_get_type), (register_gst_bin_flags),
17737         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17738         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17739         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17740         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
17741         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17742         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17743         (gst_clock_flags_get_type), (register_gst_state),
17744         (gst_state_get_type), (register_gst_state_change_return),
17745         (gst_state_change_return_get_type), (register_gst_state_change),
17746         (gst_state_change_get_type), (register_gst_element_flags),
17747         (gst_element_flags_get_type), (register_gst_core_error),
17748         (gst_core_error_get_type), (register_gst_library_error),
17749         (gst_library_error_get_type), (register_gst_resource_error),
17750         (gst_resource_error_get_type), (register_gst_stream_error),
17751         (gst_stream_error_get_type), (register_gst_event_type),
17752         (gst_event_type_get_type), (register_gst_seek_type),
17753         (gst_seek_type_get_type), (register_gst_seek_flags),
17754         (gst_seek_flags_get_type), (register_gst_format),
17755         (gst_format_get_type), (register_gst_index_certainty),
17756         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17757         (gst_index_entry_type_get_type),
17758         (register_gst_index_lookup_method),
17759         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17760         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17761         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17762         (gst_index_flags_get_type), (register_gst_debug_level),
17763         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17764         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17765         (gst_iterator_result_get_type), (register_gst_iterator_item),
17766         (gst_iterator_item_get_type), (register_gst_message_type),
17767         (gst_message_type_get_type), (register_gst_mini_object_flags),
17768         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17769         (gst_pad_link_return_get_type), (register_gst_flow_return),
17770         (gst_flow_return_get_type), (register_gst_activate_mode),
17771         (gst_activate_mode_get_type), (register_gst_pad_direction),
17772         (gst_pad_direction_get_type), (register_gst_pad_flags),
17773         (gst_pad_flags_get_type), (register_gst_pad_presence),
17774         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17775         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17776         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17777         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17778         (gst_plugin_flags_get_type), (register_gst_rank),
17779         (gst_rank_get_type), (register_gst_query_type),
17780         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17781         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17782         (gst_tag_flag_get_type), (register_gst_task_state),
17783         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17784         (gst_alloc_trace_flags_get_type),
17785         (register_gst_type_find_probability),
17786         (gst_type_find_probability_get_type), (register_gst_uri_type),
17787         (gst_uri_type_get_type), (register_gst_parse_error),
17788         (gst_parse_error_get_type):
17789         * win32/common/gstversion.h:
17790           update win32 copies
17791
17792 2005-11-01  Luca Ognibene  <luogni@tin.it>
17793
17794         * gst/gst.c:
17795           fix docs. popt is dead, long live GOption.
17796
17797 2005-10-31  Wim Taymans  <wim@fluendo.com>
17798
17799         * gst/gstbuffer.h:
17800         Small doc fix.
17801
17802 2005-10-31  Andy Wingo  <wingo@pobox.com>
17803
17804         * Boo!
17805
17806         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
17807
17808         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
17809         need to serialize property notifications on GLib 2.8. GLib 2.6 has
17810         the possibility of deadlocks here if code calling notify() or
17811         set() has a lock that can be taken in another notify handler (ABBA
17812         with class lock and e.g. python GIL state lock).
17813
17814 2005-10-28  Julien MOUTTE  <julien@moutte.net>
17815
17816         * gst/gstbus.c: Doc updates.
17817
17818 2005-10-28  Wim Taymans  <wim@fluendo.com>
17819
17820         * docs/design/part-TODO.txt:
17821         * gst/gstiterator.c:
17822         * gst/gstsystemclock.c:
17823         * gst/gstsystemclock.h:
17824         Doc updates.
17825
17826 2005-10-28  Edward Hervey  <edward@fluendo.com>
17827
17828         * docs/gst/gstreamer-docs.sgml:
17829         * docs/gst/gstreamer-sections.txt:
17830         the GstURIType documentation page is private, it only defines GstURIType
17831         which should be defined in the GstURIHandler page
17832         
17833 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17834
17835         * gst/gstbin.c: (gst_bin_class_init):
17836         * gst/gstbin.h:
17837         * gst/gstutils.c:
17838         Documentation updates.
17839
17840 2005-10-28  Wim Taymans  <wim@fluendo.com>
17841
17842         * docs/gst/gstreamer-sections.txt:
17843         * gst/gstclock.c:
17844         * gst/gstclock.h:
17845         Documented the clocks.
17846
17847 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
17848
17849         * docs/gst/gstreamer-sections.txt:
17850           move some macros to private sections
17851         * gst/gstminiobject.c:
17852         * gst/gstminiobject.h:
17853           add descriptions provided by ds and some more
17854         * gst/gstpad.h:
17855           mark macro as to be removed
17856
17857 2005-10-28  Wim Taymans  <wim@fluendo.com>
17858
17859         * docs/design/part-TODO.txt:
17860         Add an item to TODO.
17861
17862         * gst/gstiterator.c: (gst_iterator_fold),
17863         (gst_iterator_find_custom):
17864         * gst/gstiterator.h:
17865         Add iterator docs.
17866
17867 2005-10-28  Wim Taymans  <wim@fluendo.com>
17868
17869         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17870         (gst_base_transform_init):
17871         Don't leak class.
17872
17873         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
17874         An EOS event marks the queue as completely filled.
17875
17876 2005-10-27  Wim Taymans  <wim@fluendo.com>
17877
17878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17879         (gst_base_sink_do_sync), (gst_base_sink_get_position):
17880         Some more debugging.
17881
17882         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
17883         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
17884         (gst_base_transform_event), (gst_base_transform_getrange),
17885         (gst_base_transform_chain):
17886         * gst/base/gstbasetransform.h:
17887         Fix debugging,
17888         Protect transform and concurrent buffer alloc with a new lock.
17889         Try not to break ABI/API.
17890
17891 2005-10-27  Wim Taymans  <wim@fluendo.com>
17892
17893         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17894         (gst_base_src_init), (gst_base_src_query),
17895         (gst_base_src_default_newsegment),
17896         (gst_base_src_configure_segment), (gst_base_src_do_seek),
17897         (gst_base_src_send_event), (gst_base_src_event_handler),
17898         (gst_base_src_pad_get_range), (gst_base_src_loop),
17899         (gst_base_src_unlock), (gst_base_src_default_negotiate),
17900         (gst_base_src_start), (gst_base_src_deactivate),
17901         (gst_base_src_activate_push), (gst_base_src_change_state):
17902         Move some stuff around and cleanup things.
17903
17904 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
17905
17906         * gst/base/gstbasesrc.c: (gst_base_src_query):
17907           Add missing break statements.
17908
17909 2005-10-27  Wim Taymans  <wim@fluendo.com>
17910
17911         * check/gst/gstbin.c: (GST_START_TEST):
17912         An extra refcount is taken in basesrc.
17913
17914         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17915         (gst_base_src_get_range), (gst_base_src_pad_get_range),
17916         (gst_base_src_loop):
17917         Small cleanups, check for flushing after being unlocked from the 
17918         LIVE_LOCK. take refcounts correctly (not yet everywhere).
17919         Don't send out EOS when going to READY.
17920
17921 2005-10-27  Wim Taymans  <wim@fluendo.com>
17922
17923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17924         (gst_base_sink_get_position):
17925         Some more debug.
17926
17927         * gst/gstbin.c: (message_check), (bin_replace_message),
17928         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17929         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17930         (bin_query_duration_init), (bin_query_duration_fold),
17931         (bin_query_duration_done), (bin_query_generic_fold),
17932         (gst_bin_query):
17933         * tools/gst-launch.c: (main):
17934         Remove old option.
17935
17936 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
17937
17938         * examples/controller/audio-example.c: (main):
17939         * examples/queue/queue.c: (event_loop):
17940         * gst/base/gstbasetransform.h:
17941         * gst/gstelement.c: (gst_element_send_event):
17942         * gst/gstevent.h:
17943         * gst/gstpad.c: (gst_pad_send_event):
17944           fixing examples
17945           fixing docs typos
17946           changing log priority in error situations
17947
17948 2005-10-25  Wim Taymans  <wim@fluendo.com>
17949
17950         * gst/gstbin.c: (message_check), (bin_replace_message),
17951         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17952         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17953         (bin_query_duration_init), (bin_query_duration_fold),
17954         (bin_query_duration_done), (bin_query_generic_fold),
17955         (gst_bin_query):
17956         Some doc and debug updates.
17957         Cache previously requested query DURATION for speed. invalidate
17958         cached duration if element posts a DURATION message.
17959
17960 2005-10-25  Wim Taymans  <wim@fluendo.com>
17961
17962         * docs/design/part-TODO.txt:
17963         Update TODO.
17964
17965         * gst/gstbin.c: (message_check), (bin_replace_message),
17966         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17967         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17968         (bin_query_duration_init), (bin_query_duration_fold),
17969         (bin_query_duration_done), (bin_query_generic_fold),
17970         (gst_bin_query):
17971         Handle SEGMENT_START/DONE messages correctly.
17972         More evolved query algorithm that handles duration queries
17973         correctly.
17974
17975         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
17976         (gst_element_get_state_func), (gst_element_abort_state),
17977         (gst_element_commit_state), (gst_element_lost_state):
17978         Some more debugging.
17979
17980         * gst/gstmessage.h:
17981         Added doc.
17982
17983 2005-10-25  Wim Taymans  <wim@fluendo.com>
17984
17985         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17986         Don't use invalid stream_time.
17987
17988         * gst/gstevent.c: (gst_event_new_newsegment):
17989         stream_time in newsegment cannot be undefined.
17990
17991 2005-10-24  Wim Taymans  <wim@fluendo.com>
17992
17993         * gst/gstbus.c:
17994         Doc fix.
17995
17996         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17997         (gst_queue_loop):
17998         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
17999
18000 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18001
18002         * docs/libs/tmpl/gstdparam.sgml:
18003         * docs/libs/tmpl/gstdplinint.sgml:
18004         * docs/libs/tmpl/gstdpman.sgml:
18005         * docs/libs/tmpl/gstdpsmooth.sgml:
18006         * docs/libs/tmpl/gstunitconvert.sgml:
18007           these are obsolete
18008
18009 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18010
18011         * configure.ac:
18012           back to HEAD
18013
18014 === release 0.9.4 ===
18015
18016 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18017
18018         * configure.ac:
18019           releasing 0.9.4, "Tyrannosaurus Rex"
18020
18021 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18022
18023         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18024         (gst_file_sink_get_current_offset):
18025           Use fseeko() and ftello() if available. When falling back on
18026           lseek() to get the current offset, fflush() first to make sure
18027           everything is up-to-date and we get the right offset.
18028
18029 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18030
18031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18032         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18033         * gst/gsterror.c: (_gst_stream_errors_init):
18034         * gst/gsterror.h:
18035         * gst/gstqueue.c: (gst_queue_loop):
18036         * po/POTFILES.in:
18037           remove prematurely added error category and clean up the instances
18038
18039 2005-10-21  Wim Taymans  <wim@fluendo.com>
18040
18041         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18042         (gst_base_sink_get_position), (gst_base_sink_query),
18043         (gst_base_sink_change_state):
18044         Simply set the right flag when going to playing, that's all
18045         we need to do instead of calling a function inside the object
18046         lock (that could take the lock as well and deadlock)
18047
18048 2005-10-21  Wim Taymans  <wim@fluendo.com>
18049
18050         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18051         (gst_base_src_loop):
18052         Don't warn, the peer element knows what to do best when
18053         the seek failed, it might try something else.
18054
18055 2005-10-21  Wim Taymans  <wim@fluendo.com>
18056
18057         * gst/base/gstbasesrc.c: (gst_base_src_init),
18058         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18059         Fix seeking.
18060
18061 2005-10-21  Wim Taymans  <wim@fluendo.com>
18062
18063         * docs/design/part-segments.txt:
18064         More docs.
18065
18066         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18067         Correctly set caps, even on the subbufer.
18068
18069 2005-10-21  Wim Taymans  <wim@fluendo.com>
18070
18071         * docs/gst/gstreamer-docs.sgml:
18072         * docs/gst/gstreamer-sections.txt:
18073         * gst/gstelement.h:
18074         * gst/gstevent.c:
18075         * gst/gstevent.h:
18076         * gst/gstmessage.h:
18077         * gst/gstpad.h:
18078         * gst/gstparse.h:
18079         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18080         * gst/gsttask.h:
18081         * gst/gstutils.c:
18082         * gst/gstutils.h:
18083         And 2% more doc coverage.
18084
18085 2005-10-21  Andy Wingo  <wingo@pobox.com>
18086
18087         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18088         position reporting.
18089
18090 2005-10-20  Wim Taymans  <wim@fluendo.com>
18091
18092         * gst/gsterror.c: (gst_error_get_message):
18093         * gst/gstparse.h:
18094         * gst/gstquery.h:
18095         * gst/gststructure.c:
18096         * gst/gsttrace.c:
18097         * gst/gstutils.c:
18098         More docs.
18099
18100 2005-10-20  Wim Taymans  <wim@fluendo.com>
18101
18102         * gst/gstbuffer.h:
18103         * gst/gstpad.c:
18104         * gst/gstparse.c:
18105         Another 1% more coverage.
18106
18107 2005-10-20  Wim Taymans  <wim@fluendo.com>
18108
18109         * docs/gst/gstreamer-sections.txt:
18110         * gst/gstelement.c: (gst_element_get_state_func),
18111         (gst_element_abort_state), (gst_element_commit_state),
18112         (gst_element_lost_state):
18113         * gst/gstevent.h:
18114         * gst/gstquery.c: (gst_query_set_position),
18115         (gst_query_parse_position), (gst_query_set_duration),
18116         (gst_query_parse_duration), (gst_query_new_convert):
18117         * gst/gstutils.c:
18118         Yay! 1% more docs coverage.
18119
18120 2005-10-20  Wim Taymans  <wim@fluendo.com>
18121
18122         * gst/gstpad.h:
18123         * gst/gstquery.c: (gst_query_set_position),
18124         (gst_query_parse_position), (gst_query_set_duration),
18125         (gst_query_parse_duration), (gst_query_new_convert):
18126         * gst/gstquery.h:
18127         * gst/gstutils.c: (gst_element_query_convert):
18128         * gst/gstutils.h:
18129         Docs and consistency fixes.
18130
18131 2005-10-20  Wim Taymans  <wim@fluendo.com>
18132
18133         * gst/gsttask.c:
18134         * gst/gsttask.h:
18135         More docs.
18136
18137 2005-10-20  Wim Taymans  <wim@fluendo.com>
18138
18139         * gst/gstbin.c: (message_check), (bin_replace_message),
18140         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18141         (update_degree), (gst_bin_sort_iterator_next),
18142         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18143         Reworked the message handling a bit, cache the messages instead of
18144         only the senders. alows us to do more in the future.
18145
18146 2005-10-20  Wim Taymans  <wim@fluendo.com>
18147
18148         * docs/design/part-TODO.txt:
18149         Update TODO
18150
18151         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18152         (gst_base_sink_query):
18153         Don't use clock time to report position when in EOS.
18154
18155 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18156
18157         * tools/gst-inspect.c: (print_interfaces),
18158         (print_element_properties_info), (print_element_info):
18159           Fix interface output with gst-inspect -a; don't print
18160           newlines after double/float properties.
18161
18162 2005-10-20  Wim Taymans  <wim@fluendo.com>
18163
18164         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18165         (gst_base_sink_query):
18166         Speed up current position calculation.
18167
18168         * gst/base/gstbasesrc.c: (gst_base_src_query),
18169         (gst_base_src_default_newsegment):
18170         Correctly set stream position in newsegment.
18171
18172         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18173         (update_degree), (gst_bin_sort_iterator_next),
18174         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18175         * gst/gstmessage.c: (gst_message_new_custom):
18176         Clean up debugging info
18177
18178         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18179         (gst_queue_loop), (gst_queue_handle_src_query):
18180         Pause task faster.
18181
18182 2005-10-19  Wim Taymans  <wim@fluendo.com>
18183
18184         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18185         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18186         Fix query handling again.
18187
18188 2005-10-19  Wim Taymans  <wim@fluendo.com>
18189
18190         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18191         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18192         * gst/base/gstbasesrc.c: (gst_base_src_query):
18193         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18194         * gst/elements/gsttypefindelement.c:
18195         (gst_type_find_handle_src_query), (find_element_get_length),
18196         (gst_type_find_element_activate):
18197         API change fix.
18198
18199         * gst/gstquery.c: (gst_query_new_position),
18200         (gst_query_set_position), (gst_query_parse_position),
18201         (gst_query_new_duration), (gst_query_set_duration),
18202         (gst_query_parse_duration), (gst_query_set_segment),
18203         (gst_query_parse_segment):
18204         * gst/gstquery.h:
18205         Bundling query position/duration is not a good idea since duration
18206         does not change much and we don't want to recalculate it for every
18207         position query, so they are separated again..
18208         Base value in segment query is not needed.
18209
18210         * gst/gstqueue.c: (gst_queue_handle_src_query):
18211         * gst/gstutils.c: (gst_element_query_position),
18212         (gst_element_query_duration), (gst_pad_query_position),
18213         (gst_pad_query_duration):
18214         * gst/gstutils.h:
18215         Updates for query API change.
18216         Added some docs here and there.
18217
18218 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18219
18220         * check/gst/gstbin.c: (GST_START_TEST):
18221         * check/gst/gstghostpad.c: (GST_START_TEST):
18222         * check/pipelines/cleanup.c: (GST_START_TEST):
18223           wait on thread to die so we can check refcount correctly
18224
18225 2005-10-18  Wim Taymans  <wim@fluendo.com>
18226
18227         * check/pipelines/stress.c: (GST_START_TEST):
18228         Make check a little more time consuming.
18229
18230 2005-10-18  Wim Taymans  <wim@fluendo.com>
18231
18232         * check/Makefile.am:
18233         * check/pipelines/stress.c: (GST_START_TEST),
18234         (simple_launch_lines_suite), (main):
18235         Small state change torture test.
18236
18237         * docs/design/part-states.txt:
18238         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18239         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18240         (gst_base_sink_change_state):
18241         Never take state lock from streaming thread, clean up ugly
18242         hacks. Unfortunatly core does not yet support nice ways to
18243         async commit state.
18244         
18245         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18246         (bin_bus_handler):
18247         Start state recalc if a STATE_DIRTY message is posted, but only
18248         on the toplevel bin.
18249
18250         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18251         (gst_element_get_state_func), (gst_element_abort_state),
18252         (gst_element_commit_state), (gst_element_lost_state),
18253         (gst_element_set_state_func), (gst_element_change_state):
18254         * gst/gstelement.h:
18255         State variables are now protected with the LOCK, the state
18256         lock is only used to serialize _set_state().
18257
18258 2005-10-18  Wim Taymans  <wim@fluendo.com>
18259
18260         * check/gst/gstbin.c: (GST_START_TEST):
18261         * check/gst/gstmessage.c: (GST_START_TEST):
18262         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18263         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18264         (bin_bus_handler):
18265         * gst/gstelement.c: (gst_element_abort_state),
18266         (gst_element_commit_state), (gst_element_lost_state):
18267         * gst/gstmessage.c: (gst_message_new_state_changed),
18268         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18269         (gst_message_new_segment_done), (gst_message_new_duration),
18270         (gst_message_parse_state_changed),
18271         (gst_message_parse_segment_start),
18272         (gst_message_parse_segment_done), (gst_message_parse_duration):
18273         * gst/gstmessage.h:
18274         * tools/gst-launch.c: (event_loop):
18275         Seriously, this is better than a previous commit as we only need
18276         to notify the fact that an element changed state in a streaming
18277         thread, marking the state of the parents dirty, hence the 
18278         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18279         message.
18280
18281 2005-10-18  Wim Taymans  <wim@fluendo.com>
18282
18283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18284         (gst_bin_recalc_func):
18285         * gst/gstelement.c: (gst_element_set_clock),
18286         (gst_element_abort_state), (gst_element_lost_state):
18287         Cleanups, prepare for state change fixes.
18288
18289 2005-10-18  Wim Taymans  <wim@fluendo.com>
18290
18291         * gst/gstbin.h:
18292         * gst/gstelement.c: (gst_element_class_init),
18293         (gst_element_set_state), (gst_element_set_state_func):
18294         * gst/gstelement.h:
18295         Pending ABI changes.
18296         GThreadPool in GstBinClass to monitor async state changes.
18297         state_cookie in GstElement to detect concurrent gst/set state.
18298         set_state is now virtual too in case a very complicated element
18299         has to be constructed.
18300
18301 2005-10-18  Wim Taymans  <wim@fluendo.com>
18302
18303         * check/gst/gstbin.c: (GST_START_TEST):
18304         * check/gst/gstmessage.c: (GST_START_TEST):
18305         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18306         * gst/gstbin.c: (bin_bus_handler):
18307         * gst/gstelement.c: (gst_element_commit_state),
18308         (gst_element_lost_state):
18309         * gst/gstmessage.c: (gst_message_new_state_changed),
18310         (gst_message_new_segment_start), (gst_message_new_segment_done),
18311         (gst_message_new_duration), (gst_message_parse_state_changed),
18312         (gst_message_parse_segment_start),
18313         (gst_message_parse_segment_done), (gst_message_parse_duration):
18314         * gst/gstmessage.h:
18315         * tools/gst-launch.c: (event_loop):
18316         Make messages future proof.
18317         state-change gets a flag if it was a message comming from the
18318         streaming thread.
18319         segment-start/stop can also be specified in other formats.
18320         A message to notify an app that a pipeline changed playback 
18321         duration.
18322         Also fix a GstMessage leak in -launch
18323
18324 2005-10-18  Andy Wingo  <wingo@pobox.com>
18325
18326         * gst/gstelement.c (gst_element_dispose): More helpful message.
18327
18328 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18329
18330         reviewed by: <delete if not using a buddy>
18331
18332         * common/gtk-doc.mak:
18333
18334 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18335
18336         * gst/gstregistry.c: (gst_registry_scan_path_level):
18337           unref a plug-in we get that was already initialized
18338
18339 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18340
18341         * docs/gst/gstreamer-sections.txt:
18342         * docs/libs/gstreamer-libs-sections.txt:
18343         * gst/gstelement.h:
18344           add new api entries
18345           hide internal macro
18346
18347 2005-10-17  Andy Wingo  <wingo@pobox.com>
18348
18349         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18350         cleanup.
18351
18352         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18353
18354         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18355
18356         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18357         (gst_element_get_state_func): Better debug message.
18358         (gst_element_commit_state): s/INFO/DEBUG/.
18359         (gst_element_lost_state, gst_element_change_state): 
18360
18361         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18362         (gst_message_new_custom): s/INFO/LOG/.
18363
18364 2005-10-17  Michael Smith <msmith@fluendo.com>
18365
18366         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18367           Check if end time is valid using end time, not start time.
18368
18369 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18370
18371         * check/gst-libs/controller.c: (GST_START_TEST),
18372         (gst_controller_suite):
18373         * libs/gst/controller/gstcontroller.c:
18374         (gst_controlled_property_set_interpolation_mode):
18375         * libs/gst/controller/gstcontroller.h:
18376         * libs/gst/controller/gstinterpolation.c:
18377         * testsuite/controller/.cvsignore:
18378         * testsuite/controller/Makefile.am:
18379         * testsuite/controller/interpolator.c:
18380           merge controller testsuites
18381           fix broken tests
18382           remove mem-chunk from docs
18383
18384 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18385
18386         * gst/gstmemchunk.c:
18387         * gst/gstmemchunk.h:
18388         * gst/gsttrashstack.c:
18389         * gst/gsttrashstack.h:
18390           out.  get out.  you're fired.  to the Attic !
18391
18392 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18393
18394         * gst/gstcaps.c: (gst_caps_intersect):
18395           fix signedness issues in a (hopefully) correct way
18396         * gst/gstelement.c: (gst_element_pads_activate):
18397           some debugging
18398         * gst/gstobject.c: (gst_object_set_parent):
18399           some debugging
18400
18401 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18402
18403         * gst/gstvalue.h: Fix prototypes.
18404
18405 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18406
18407         * docs/gst/gstreamer-sections.txt:
18408         * gst/gst.c: (gst_version_string):
18409         * gst/gst.h:
18410         * gst/gstversion.h.in:
18411         * win32/common/libgstreamer.def:
18412           add gst_version_string ()
18413
18414 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18415
18416         * configure.ac:
18417           clean up further
18418         * gst/gst.c: (init_post):
18419         * win32/common/config.h.in:
18420           it's PLUGINDIR now
18421         * gst/gstcaps.c: (gst_caps_intersect):
18422           use gint64, the range could be bigger than a guint
18423
18424 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18425
18426         * gst/gstclock.h:
18427           document potential problem in 2038
18428
18429 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * gst/gstcaps.c: (gst_caps_intersect):
18432           Fix guint j diving under 0
18433
18434 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18435
18436         * configure.ac:
18437         * win32/common/config.h:
18438         * win32/common/config.h.in:
18439           check for process.h, declares getpid() on Windows
18440         * gst/gstinfo.c:
18441           include process.h if we have it
18442         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18443         * gst/gstmemchunk.h:
18444           fix signedness issues
18445         * win32/common/libgstreamer.def:
18446           fix get_type's
18447
18448 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18449
18450         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18451         fix. Because of unsigned ints, caps intersection was going nuts and
18452         trying to access structures with G_MAXUINT index. That fixes
18453         videotestsrc ! ffmpegcolorspace ! fakesink
18454         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18455         consistency.
18456
18457 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18458
18459         * configure.ac:
18460           use the gettext macro
18461         * gst/elements/gstelements.c:
18462         * gst/gst.c:
18463         * gst/indexers/gstindexers.c:
18464           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18465         * win32/common/config.h:
18466           updated config.h
18467         * win32/common/config.h.in:
18468           add the template to generate config.h
18469         * win32/common/gstenumtypes.c:
18470         * win32/common/gstversion.h:
18471           updated copies
18472
18473 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18474
18475         * gst/gst.c: (gst_version):
18476         * gst/gstversion.h.in:
18477           add the nano
18478
18479 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18480
18481         * gst/gstevent.h:
18482           Oops, add missing closing bracket.
18483
18484 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18485
18486         * configure.ac:
18487           use common m4's for argument checking
18488
18489 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18490
18491         * docs/gst/gstreamer-sections.txt:
18492         * gst/gstevent.h:
18493           Add GST_EVENT_TYPE_NAME() macro.
18494
18495 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18496
18497         * gst/gstinfo.c:
18498         * gst/gstpluginfeature.c:
18499         * gst/gsttask.c:
18500           privatize more symbols
18501
18502 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18503
18504         * configure.ac:
18505           add srcdir, builddir includes to GST_ALL_CFLAGS, since
18506           everything that uses GStreamer API should have the includes
18507
18508 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18509
18510         * docs/gst/gstreamer-sections.txt:
18511         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
18512         * gst/gstvalue.h:
18513           give each value a _get_type, removes the DATA exports
18514
18515 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18516
18517         * gst/gst.c:
18518         * gst/gst.h:
18519           remove _gst_registry_auto_load, not used anymore
18520         * gst/gstbin.c: (gst_bin_get_type):
18521         * gst/gstbin.h:
18522         * gst/gstelement.c: (gst_element_get_type):
18523         * gst/gstelement.h:
18524         * gst/gstobject.c: (gst_object_get_type):
18525         * gst/gstobject.h:
18526         * gst/gstpad.c: (gst_pad_get_type):
18527         * gst/gstpad.h:
18528           make _get_type functions similar, fixes data export from library
18529
18530 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18531
18532         * configure.ac:
18533           correctly make conditionals
18534         * gst/elements/Makefile.am:
18535         * gst/elements/gstelements.c:
18536           fix typo causing fdsrc not to build
18537
18538 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18539
18540         * testsuite/Makefile.am:
18541         * testsuite/bytestream/.cvsignore:
18542         * testsuite/bytestream/Makefile.am:
18543         * testsuite/bytestream/filepadsink.c:
18544         * testsuite/bytestream/gstbstest.c:
18545         * testsuite/bytestream/test1.c:
18546         * testsuite/bytestream/testfile1:
18547         * testsuite/caps/normalisation.c:
18548         * testsuite/caps/random.c: (main):
18549         * testsuite/cleanup/.cvsignore:
18550         * testsuite/cleanup/Makefile.am:
18551         * testsuite/cleanup/cleanup1.c:
18552         * testsuite/cleanup/cleanup2.c:
18553         * testsuite/cleanup/cleanup3.c:
18554         * testsuite/cleanup/cleanup4.c:
18555         * testsuite/cleanup/cleanup5.c:
18556         * testsuite/controller/interpolator.c:
18557         * testsuite/debug/printf_extension.c: (main):
18558         * testsuite/elements/tee.c:
18559         * testsuite/negotiation/.cvsignore:
18560         * testsuite/negotiation/Makefile.am:
18561         * testsuite/negotiation/pad_link.c:
18562         * testsuite/pad/Makefile.am:
18563         * testsuite/pad/chainnopull.c:
18564         * testsuite/pad/getnopush.c:
18565         * testsuite/pad/link.c:
18566         * testsuite/refcounting/sched.c: (create_pipeline):
18567         * testsuite/registry/Makefile.am:
18568         * testsuite/registry/gst-print-formats.c:
18569         * testsuite/schedulers/.cvsignore:
18570         * testsuite/schedulers/142183-2.c:
18571         * testsuite/schedulers/142183.c:
18572         * testsuite/schedulers/143777-2.c:
18573         * testsuite/schedulers/143777.c:
18574         * testsuite/schedulers/147713.c:
18575         * testsuite/schedulers/147819.c:
18576         * testsuite/schedulers/147894-2.c:
18577         * testsuite/schedulers/147894.c:
18578         * testsuite/schedulers/Makefile.am:
18579         * testsuite/schedulers/group_link.c:
18580         * testsuite/schedulers/queue_link.c:
18581         * testsuite/schedulers/relink.c:
18582         * testsuite/schedulers/unlink.c:
18583         * testsuite/schedulers/unref.c:
18584         * testsuite/schedulers/useless_iteration.c:
18585         * testsuite/states/bin.c:
18586           clean out/remove some stuff from the testsuite directories
18587
18588 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18589
18590         * configure.ac:
18591           check for some headers
18592         * gst/elements/Makefile.am:
18593         * gst/elements/gstelements.c:
18594           don't compile fdsrc without sys/socket.h
18595         * gst/indexers/Makefile.am:
18596         * gst/indexers/gstindexers.c: (plugin_init):
18597           don't compile fileindex without mmap
18598
18599 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18600
18601         * configure.ac:
18602           reorganize
18603           clean up
18604           document more
18605           remove cruft
18606         * check/Makefile.am:
18607         * docs/gst/Makefile.am:
18608         * examples/helloworld/Makefile.am:
18609         * gst/Makefile.am:
18610         * gst/base/Makefile.am:
18611         * gst/check/Makefile.am:
18612         * gst/elements/Makefile.am:
18613         * gst/indexers/Makefile.am:
18614         * gst/parse/Makefile.am:
18615         * libs/gst/controller/Makefile.am:
18616         * libs/gst/dataprotocol/Makefile.am:
18617         * examples/helloworld/helloworld.c: (event_loop):
18618           compile fixes, though it's not being compiled currently
18619
18620 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18621
18622         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
18623           Add some simple tests for the new taglist date API.
18624
18625 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18626
18627         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
18628         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
18629           Beautify 'last-message' output: print 'none' for buffer timestamps
18630           and durations if none is set; improve alignment with next messages.
18631
18632 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18633
18634         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
18635         * gst/gstpluginfeature.h:
18636         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
18637         * gst/gstregistry.h:
18638         * docs/gst/gstreamer-sections.txt:
18639           Add new API to check plugin feature version requirements.
18640
18641         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
18642           Some basic tests for the above.         
18643
18644 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18645
18646         * gst/gststructure.c: (gst_structure_to_string):
18647           guard against NULL printf - happens when for example
18648           a message structure with GstClock gets serialized
18649
18650 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18651
18652         * gst/base/gstcollectpads.c: (gst_collectpads_event):
18653           Fix presumable copy'n'pasto.
18654
18655 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18656
18657         * gst/elements/gstfakesrc.h:
18658         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
18659         * gst/elements/gsttypefindelement.c:
18660           fix some signedness
18661         * gst/elements/gstfilesink.c: (gst_file_sink_render):
18662           I wonder if this could actually write +2GB files before
18663
18664 2005-10-13  Andy Wingo  <wingo@pobox.com>
18665
18666         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
18667         Fix Timmeke Waymans bug.
18668         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
18669         string of the proper length to gst_caps_from_string. There's a
18670         potential for, before this fix, that this could cause someone
18671         connecting over the network to cause a segfault if the payload is
18672         not NUL-terminated.
18673
18674 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18675
18676         * docs/design/draft-push-pull.txt:
18677         * docs/design/part-overview.txt:
18678         * docs/random/TODO-pre-0.9:
18679         * docs/random/old/ChangeLog.gstreamer:
18680         * gst/base/gstpushsrc.c:
18681         * gst/gstclock.c:
18682           fixed typos
18683
18684 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18685
18686         * gst/glib-compat.c: (gst_flags_get_first_value):
18687         * gst/glib-compat.h:
18688         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
18689         (gst_value_compare_double), (gst_value_serialize_flags):
18690           GLib 2.6 g_flags_get_first_value has a bug that triggers an
18691           infinite loop
18692
18693 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18694
18695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18696         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18697           fix up debugging
18698         * tools/gst-launch.c: (event_loop):
18699           print out clock nicely
18700
18701 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18702
18703         * docs/gst/gstreamer-sections.txt:
18704         * gst/gsttaglist.h:
18705         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
18706         (gst_tag_list_get_date_index):
18707           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
18708           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
18709
18710 2005-10-13  Julien MOUTTE  <julien@moutte.net>
18711
18712         * gst/base/gstcollectpads.c: (gst_collectpads_event),
18713         (gst_collectpads_chain):
18714         * gst/base/gstcollectpads.h: Handle newsegment and store informations
18715         in CollectData.
18716
18717 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18718
18719         * docs/gst/gstreamer-sections.txt:
18720         * gst/gst.c:
18721         * gst/gsterror.h:
18722         * tools/gst-inspect.c: (main):
18723         * tools/gst-launch.c: (main):
18724         * tools/gst-run.c: (main):
18725         * tools/gst-xmlinspect.c: (main):
18726           fix GOption context leaks
18727           doc fixes
18728
18729 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18730
18731         * gst/gstbus.c:
18732           use HAVE_UNISTD_H
18733         * win32/common/config.h:
18734           update config
18735         * win32/vs6/grammar.dsp:
18736         * win32/vs6/libgstelements.dsp:
18737         * win32/vs6/libgstreamer.dsp:
18738           update vs6 files
18739
18740 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18741
18742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18743         * gst/base/gstbasesrc.c: (gst_base_src_query):
18744           fix more guint64<->gdouble conversions
18745
18746 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18747
18748         * Makefile.am:
18749           add win32-update target
18750         * win32/common/gstconfig.h:
18751         * win32/common/gstenumtypes.c:
18752         * win32/common/gstenumtypes.h:
18753         * win32/common/gstversion.h:
18754           add files that visual studio can't generate
18755
18756 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18757
18758         * Makefile.am:
18759           add a win32-update target
18760         * configure.ac:
18761
18762 2005-10-12  Wim Taymans  <wim@fluendo.com>
18763
18764         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18765         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
18766         * gst/gstelement.c: (gst_element_commit_state),
18767         (gst_element_set_state):
18768         Protect flags with proper lock.
18769         unref provided cached clock in dispose.
18770
18771 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18772
18773         * gst/gst.c:
18774         * gst/gstminiobject.h:
18775         * gst/gstpad.h:
18776         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
18777           removed unused flags from miniobject
18778           doc fixes
18779
18780 2005-10-12  Wim Taymans  <wim@fluendo.com>
18781
18782         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18783         (gst_file_sink_event), (gst_file_sink_render):
18784         Flush before seeking.
18785
18786 2005-10-12  Andy Wingo  <wingo@pobox.com>
18787
18788         * gst/gst.c (gst_init_check): Ignore unknown options, as has
18789         always been the case.
18790
18791 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18792
18793         * check/gst/gstbin.c: (GST_START_TEST):
18794         * docs/gst/gstreamer-sections.txt:
18795         * gst/base/gstbasesink.c: (gst_base_sink_init):
18796         * gst/base/gstbasesrc.c: (gst_base_src_init),
18797         (gst_base_src_get_range), (gst_base_src_check_get_range),
18798         (gst_base_src_start), (gst_base_src_stop):
18799         * gst/base/gstbasesrc.h:
18800         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
18801         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18802         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
18803         (bin_bus_handler):
18804         * gst/gstbin.h:
18805         * gst/gstbuffer.h:
18806         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
18807         * gst/gstbus.h:
18808         * gst/gstelement.c: (gst_element_is_locked_state),
18809         (gst_element_set_locked_state), (gst_element_commit_state),
18810         (gst_element_set_state):
18811         * gst/gstelement.h:
18812         * gst/gstindex.c: (gst_index_init):
18813         * gst/gstindex.h:
18814         * gst/gstminiobject.h:
18815         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
18816         (gst_object_set_parent):
18817         * gst/gstobject.h:
18818         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
18819         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
18820         * gst/gstpad.h:
18821         * gst/gstpadtemplate.h:
18822         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
18823         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
18824         * gst/gstpipeline.h:
18825         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18826         (gst_file_index_commit):
18827         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
18828         * testsuite/pad/link.c: (gst_test_src_init),
18829         (gst_test_filter_init), (gst_test_sink_init):
18830         * testsuite/states/locked.c: (main):
18831           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
18832           moved bitshift from macro to enum definition
18833
18834 2005-10-12  Wim Taymans  <wim@fluendo.com>
18835
18836         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
18837         * gst/elements/gstfilesink.c: (gst_file_sink_event),
18838         (gst_file_sink_render):
18839         Some more debugging info.
18840
18841 2005-10-12  Wim Taymans  <wim@fluendo.com>
18842
18843         * docs/design/part-states.txt:
18844         * tools/gst-launch.c: (main):
18845         Some doc updates.
18846         Revert non-intentional change.
18847
18848 2005-10-12  Wim Taymans  <wim@fluendo.com>
18849
18850         * check/gst/gstbin.c: (GST_START_TEST):
18851         * check/gst/gstelement.c: (GST_START_TEST):
18852         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
18853         * check/gst/gstghostpad.c: (GST_START_TEST):
18854         * check/gst/gstpipeline.c: (GST_START_TEST):
18855         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18856         * check/states/sinks.c: (GST_START_TEST):
18857         * gst/elements/gsttypefindelement.c: (stop_typefinding):
18858         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18859         (gst_bin_remove_func), (gst_bin_get_state_func),
18860         (gst_bin_recalc_state), (gst_bin_change_state_func),
18861         (bin_bus_handler):
18862         * gst/gstelement.c: (gst_element_get_state_func),
18863         (gst_element_get_state), (gst_element_abort_state),
18864         (gst_element_commit_state), (gst_element_set_state),
18865         (gst_element_change_state), (gst_element_change_state_func):
18866         * gst/gstelement.h:
18867         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
18868         (gst_pipeline_provide_clock_func):
18869         * gst/gstutils.c: (gst_element_link_pads_filtered):
18870         * tools/gst-launch.c: (main):
18871         * tools/gst-typefind.c: (main):
18872         Use GstClockTime in _get_state() instead of GTimeVal.
18873         Remove old code in gstutils.c
18874
18875 2005-10-12  Andy Wingo  <wingo@pobox.com>
18876
18877         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
18878         removed.
18879
18880         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
18881         there is no task. Shouldn't affect any code, as nothing in our
18882         plugins checks this return value.
18883         (gst_pad_stop_task): Also take the stream lock if the pad has no
18884         task. Docs updated.
18885
18886 2005-10-12  Wim Taymans  <wim@fluendo.com>
18887
18888         * gst/gstpad.c: (pre_activate), (post_activate),
18889         (gst_pad_activate_pull), (gst_pad_activate_push):
18890         Cleanup activation code. Reset old state if
18891         activation failed.
18892
18893 2005-10-12  Wim Taymans  <wim@fluendo.com>
18894
18895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18896         (gst_base_sink_change_state):
18897         No need to prerol after receiving EOS.
18898
18899         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18900         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
18901         * gst/elements/gstidentity.c: (gst_identity_event):
18902         Print events more verbosely.
18903
18904 2005-10-12  Wim Taymans  <wim@fluendo.com>
18905
18906         * check/Makefile.am:
18907         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18908         * check/states/sinks2.c:
18909         Moved sinks2 testcode in sinks check.
18910
18911         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18912         (gst_bin_remove_func), (gst_bin_recalc_state),
18913         (gst_bin_change_state_func), (bin_bus_handler):
18914         Fix potential race condition when _get_state() iterated over an
18915         ASYNC element right before it posted a state completion.
18916
18917         * gst/gstclock.h:
18918         Do proper cast here.
18919
18920         * gst/gstevent.c: (gst_event_new_newsegment),
18921         (gst_event_parse_newsegment):
18922         A playback rate of 0.0 is not allowed.
18923
18924 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18925
18926         * win32/common/config.h:
18927         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
18928         (_trewinddir), (_ttelldir), (_tseekdir):
18929         * win32/common/dirent.h:
18930         * win32/common/gtchar.h:
18931         * win32/common/libgstbase.def:
18932         * win32/common/libgstreamer.def:
18933         * win32/vs6/grammar.dsp:
18934         * win32/vs6/gst_inspect.dsp:
18935         * win32/vs6/gst_launch.dsp:
18936         * win32/vs6/gstreamer.dsw:
18937         * win32/vs6/libgstbase.dsp:
18938         * win32/vs6/libgstelements.dsp:
18939         * win32/vs6/libgstreamer.dsp:
18940           Visual Studio 6 project files, and a new common directory.
18941           Phear.
18942
18943 2005-10-11  Wim Taymans  <wim@fluendo.com>
18944
18945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18946         (gst_base_sink_do_sync), (gst_base_sink_query),
18947         (gst_base_sink_change_state):
18948         * gst/base/gstbasesink.h:
18949         Correctly parse newsegment info.
18950
18951 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18952
18953         * gst/gst.c: (init_post):
18954           split plugin paths correctly
18955
18956 2005-10-11  Wim Taymans  <wim@fluendo.com>
18957
18958         * check/gst/gstevent.c: (GST_START_TEST):
18959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18960         (gst_base_sink_change_state):
18961         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
18962         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18963         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18964         * gst/gstevent.c: (gst_event_new_newsegment),
18965         (gst_event_parse_newsegment):
18966         * gst/gstevent.h:
18967         Added extra flag to newsegment for future API freeze.
18968         Updated check and base elements.
18969
18970 2005-10-11  Julien MOUTTE  <julien@moutte.net>
18971
18972         * gst/base/gstcollectpads.c: (gst_collectpads_init),
18973         (gst_collectpads_add_pad), (gst_collectpads_pop),
18974         (gst_collectpads_event), (gst_collectpads_chain):
18975         * gst/base/gstcollectpads.h: Handle EOS correctly.
18976
18977 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18978
18979         * tools/gst-launch.c: (main):
18980           more null protecting
18981
18982 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18983
18984         * gst/gst-i18n-lib.h:
18985           check for ENABLE_NLS, not GETTEXT_PACKAGE
18986         * gst/gstregistry.c: (gst_registry_add_plugin),
18987         (gst_registry_scan_path_level),
18988         (_gst_registry_remove_cache_plugins):
18989           protect possibly NULL strings
18990         * gst/parse/types.h:
18991           config.h already included before
18992         * tools/gst-inspect.c: (main):
18993           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
18994           check for ENABLE_NLS, not GETTEXT_PACKAGE
18995         * tools/gst-launch.c: (main):
18996           check for ENABLE_NLS, not GETTEXT_PACKAGE
18997
18998 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18999
19000         * configure.ac:
19001           if we don't have glib, fail before testing 2.8
19002         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19003           fix a leak, should fix plugins-base testsuite
19004
19005 2005-10-11  Andy Wingo  <wingo@pobox.com>
19006
19007         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19008         take the mode we're going to as an arg. Go head and set the mode
19009         and flushing flags now, so that if the activate function starts a
19010         thread all the flags will be in the right state.
19011         (post_activate): Renamed also. Just handle making sure streaming
19012         finishes for the deactivation case, and setting the deactivated
19013         mode.
19014         (gst_pad_set_active): Complain loudly if deactivation fails.
19015         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19016         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19017         remove the terrible hack.
19018
19019 2005-10-11  Wim Taymans  <wim@fluendo.com>
19020
19021         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19022         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19023         (gst_bin_recalc_state), (gst_bin_change_state_func),
19024         (gst_bin_dispose), (bin_bus_handler):
19025         * gst/gstbin.h:
19026         Prepare to make current EOS message queue more generic.
19027         Fix some typos.
19028
19029         * gst/gstevent.c: (gst_event_new_newsegment),
19030         (gst_event_parse_newsegment):
19031         * gst/gstevent.h:
19032         Rename base to stream_time.
19033
19034         * gst/gstmessage.h:
19035         Fix typo in docs.
19036
19037 2005-10-11  Wim Taymans  <wim@fluendo.com>
19038
19039         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19040         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19041         (gst_bin_change_state_func), (bin_bus_handler):
19042         * gst/gstbin.h:
19043         Work on proper clock selection.
19044
19045 2005-10-11  Edward Hervey  <edward@fluendo.com>
19046
19047         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19048         * libs/gst/controller/gstcontroller.h:
19049         Added GList* version of _remove_properties() in order to be able to wrap
19050         it in bindings.
19051
19052 2005-10-11  Wim Taymans  <wim@fluendo.com>
19053
19054         * docs/design/part-states.txt:
19055         Some more docs.
19056
19057         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19058         (gst_bin_change_state_func), (bin_bus_handler):
19059         Doc updates. Don't distribute the same clock over and over again.
19060
19061         * gst/gstclock.c:
19062         * gst/gstclock.h:
19063         Doc updates.
19064
19065         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19066         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19067         (gst_pad_send_event):
19068         * gst/gstpad.h:
19069         Make probe emission threadsafe again.
19070         Register quarks and move _get_name() from utils.
19071         Doc updates.
19072
19073         * gst/gstpipeline.c: (gst_pipeline_class_init),
19074         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19075         Only redistribute the clock of it changed.
19076
19077         * gst/gstsystemclock.h:
19078         Doc updates. 
19079
19080         * gst/gstutils.c:
19081         * gst/gstutils.h:
19082         Moved the _flow_get_name() to GstPad.
19083
19084 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19085
19086         * check/gst-libs/gdp.c: (GST_START_TEST):
19087         * check/gst/gstcaps.c: (GST_START_TEST):
19088         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19089         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19090         (gst_dp_packet_from_caps):
19091           fix more valgrind warnings before turning up the heat
19092
19093 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19094
19095         * gst/parse/grammar.y:
19096           some cleanup before the hacking
19097
19098 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19099
19100         * gst/base/gstbasesrc.c: (gst_base_src_query):
19101           use conversions
19102         * gst/gstutils.c: (gst_guint64_to_gdouble),
19103         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19104         * gst/gstutils.h:
19105           externalize, basesrc uses it
19106           obviously the implementation needs testing
19107
19108 2005-10-10  Wim Taymans  <wim@fluendo.com>
19109
19110         * tests/sched/Makefile.am:
19111         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19112         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19113
19114 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19115
19116         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19117           apparently converting from guint64 to double is not implemented
19118           on MSVC
19119
19120 2005-10-10  Wim Taymans  <wim@fluendo.com>
19121
19122         * check/Makefile.am:
19123         * check/generic/states.c: (GST_START_TEST):
19124         * check/gst/gstbin.c: (GST_START_TEST):
19125         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19126         * check/states/sinks.c: (GST_START_TEST):
19127         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19128         (main):
19129         Check fixes, use API as stated in design docs, remove hacks.
19130
19131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19132         (gst_base_sink_change_state):
19133         Catch stopping our task while we're shutting down.
19134
19135         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19136         (gst_bin_remove_func), (gst_bin_get_state_func),
19137         (gst_bin_recalc_state), (gst_bin_change_state_func),
19138         (bin_bus_handler):
19139         * gst/gstbin.h:
19140         * gst/gstelement.c: (gst_element_init),
19141         (gst_element_get_state_func), (gst_element_abort_state),
19142         (gst_element_commit_state), (gst_element_lost_state),
19143         (gst_element_set_state), (gst_element_change_state),
19144         (gst_element_change_state_func):
19145         * gst/gstelement.h:
19146         New state change algorithm (see #318116)
19147
19148         * gst/gstpipeline.c: (gst_pipeline_class_init),
19149         (gst_pipeline_init), (gst_pipeline_set_property),
19150         (gst_pipeline_get_property), (do_pipeline_seek),
19151         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19152         * gst/gstpipeline.h:
19153         Remove crude state change hacks.
19154
19155         * gst/gstutils.h:
19156         Remove crude hacks.
19157
19158         * tools/gst-launch.c: (main):
19159         Fixes for state change. Needs some more work to fully use the
19160         new stuff.
19161
19162 2005-10-10  Andy Wingo  <wingo@pobox.com>
19163
19164         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19165
19166         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19167         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19168         issue.
19169
19170 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19171
19172         * gst/gstiterator.c: (gst_iterator_new):
19173           Fix my previous commit: GTypes passed to gst_iterator_new()
19174           can be fundamental types.
19175
19176 2005-10-10  Wim Taymans  <wim@fluendo.com>
19177
19178         * gst/gstelement.c: (gst_element_iterate_pad_list),
19179         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19180         (gst_element_iterate_sink_pads):
19181         Use src/sink pads lists for the respective iterators instead
19182         of filtering.
19183
19184 2005-10-10  Andy Wingo  <wingo@pobox.com>
19185
19186         Merged in popt removal + GOption addition patch from Ronald, bug
19187         #169772.
19188
19189         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19190         GstElement macros around, remove popt-related symbols, add goption
19191         stuff.
19192
19193         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19194         
19195         * docs/gst/Makefile.am:
19196         * docs/libs/Makefile.am: No POPT_CFLAGS.
19197         
19198         * examples/manual/Makefile.am:
19199         * docs/manual/basics-init.xml: Doc updates with an example.
19200         
19201         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19202         (gst_init), (parse_one_option), (parse_goption_arg):
19203         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19204         bit of hand merging and debugging to get the GOption stuff working
19205         tho.
19206         
19207         * tests/Makefile.am:
19208         * tools/Makefile.am:
19209         * tools/gst-inspect.c: (main):
19210         * tools/gst-launch.c: (main):
19211         * tools/gst-run.c: (main):
19212         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19213
19214 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19215
19216         * gst/gstiterator.c: (gst_iterator_new):
19217           Add assertions to make sure passed GType is likely to really
19218           be a GType (as the compiler won't catch it if the size and
19219           GType arguments get mixed up, see #318447).
19220
19221 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19222
19223         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19224
19225         * gst/gstbin.c: (gst_bin_iterate_sorted):
19226           Pass GType and size arguments to gst_iterator_new() in the right
19227           order (maybe we should make _new() take the GType as first argument
19228           just like _new_list()?) (#318447).
19229           
19230
19231 2005-10-10  Wim Taymans  <wim@fluendo.com>
19232
19233         * gst/gstelement.c: (gst_element_finalize):
19234         And free the GStaticRecMutex too
19235
19236 2005-10-10  Andy Wingo  <wingo@pobox.com>
19237
19238         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19239         Allocate and free the mutex properly.
19240
19241         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19242         New macros.
19243         (GstElement): The state_lock is now recursive. Rebuild your
19244         plugins, suckers. Old macros adapted.
19245
19246         * docs/gst/gstreamer-sections.txt: Doc updates.
19247
19248         * gst/gstutils.h:
19249         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19250         (g_static_rec_cond_wait): Ported from state changes patch, while
19251         we wait on bug #317802 to be solved in a well-distributed GLib.
19252
19253         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19254         gst_element_change_state, variable name changes.
19255         (gst_element_change_state): Split out of gst_element_set_state in
19256         preparation for the state change merge. Doesn't pay attention to
19257         the 'transition' argument.
19258         (gst_element_set_state): Updates, hopefully purely cosmetic.
19259         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19260         state change patch.
19261         (gst_element_get_state_func): Renamed from get_state, cosmetic
19262         changes.
19263
19264 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19265
19266         * gst/elements/gstelements.c:
19267         * win32/GStreamer.vcproj:
19268         * win32/config.h:
19269         * win32/dirent.c: (_tseekdir):
19270         * win32/gst-inspect.vcproj:
19271         * win32/gst-launch.vcproj:
19272         * win32/gstconfig.h:
19273         * win32/gstelements.vcproj:
19274         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19275         * win32/gstreamer.def:
19276         * win32/msvc71.sln:
19277           updates for the win32 build (patch from Sebastien Moutte)
19278
19279 2005-10-10  Andy Wingo  <wingo@pobox.com>
19280
19281         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19282         gst_bin_get_state, cleaned up (but no logic changes).
19283         (bin_element_is_sink): Comment updates.
19284         (sink_iterator_filter): Remove needless cast.
19285         (gst_bin_iterate_sinks): Doc update.
19286         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19287         cleaned up (but no logic changes).
19288
19289         * check/states/sinks.c (test_src_sink): Cleanups from the state
19290         change patch.
19291         (test_livesrc_sink): Sync on the state.
19292
19293         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19294         the state change patch.
19295
19296         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19297         change patch.
19298
19299         * check/gst/gstbin.c: Merge in some style fixes and additional
19300         checks from Wim's state change patch.
19301
19302 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19303
19304         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19305         (gst_type_find_helper):
19306           Check whether we have the requested data already in our list of
19307           cached buffers before pulling a new buffer; also make the buffer
19308           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19309
19310 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19311
19312         * gst/gstcaps.c:
19313         * gst/gstevent.c:
19314           doc updates
19315         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19316           don't use long long, it's not portable.  Replacing with
19317           gint64 seems to work; let's hope no skeletons fall out of the closet.
19318
19319 2005-10-10  Andy Wingo  <wingo@pobox.com>
19320
19321         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19322
19323 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19324
19325         * docs/gst/gstreamer-sections.txt:
19326         * gst/gstevent.c:
19327         * gst/gstevent.h:
19328         * gst/gstinfo.c:
19329         * gst/gstinfo.h:
19330         * gst/gstmessage.c: (gst_message_parse_state_changed):
19331         * gst/gstpad.c:
19332         * gst/gstpad.h:
19333           more docs, fix compilation
19334
19335 2005-10-09  Philippe Khalaf <burger@speedy.org>
19336         * gst/gstmessage.c:
19337           Fixed a few forgotten variables on previous commit
19338
19339 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19340
19341         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19342           Fix evil typefind crasher: getrange() might return a short
19343           buffer at the end of a file, but gst_type_find_peek() must
19344           either return the full data as requested or NULL, but
19345           never a short buffer.
19346
19347 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19348
19349         * gst/gstmessage.c: (gst_message_new_state_changed),
19350         (gst_message_parse_state_changed):
19351         * gst/gstmessage.h:
19352           don't use "new", it's a C++ keyword
19353
19354 2005-10-08  Wim Taymans  <wim@fluendo.com>
19355
19356         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19357         * gst/gstelement.c: (gst_element_post_message):
19358         * gst/gstpipeline.c: (gst_pipeline_change_state):
19359         Small docs and debug updates.
19360
19361 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19362
19363         * docs/gst/gstreamer-sections.txt:
19364         * gst/gstelementfactory.c:
19365         * gst/gstevent.c:
19366         * gst/gsttaglist.c:
19367           more docs
19368
19369 2005-10-08  Wim Taymans  <wim@fluendo.com>
19370
19371         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19372         (gst_bin_dispose), (bin_bus_handler):
19373         Fix typos, add comments.
19374         Clear EOS list when going to PAUSED from any direction and do it
19375         in a threadsafe way.
19376         Get base time in a threadsafe way too.
19377         Fix confusing debug in the change_state function.
19378         Various other small cleanups.
19379         
19380         * gst/gstelement.c: (gst_element_post_message):
19381         Fix very verbose bus posting code.
19382
19383         * gst/gstpipeline.c: (gst_pipeline_class_init),
19384         (gst_pipeline_set_property), (gst_pipeline_get_property),
19385         (gst_pipeline_change_state):
19386         Small ARG_ -> PROP_ cleanup
19387
19388 2005-10-08  Wim Taymans  <wim@fluendo.com>
19389
19390         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19391         Do a less CPU demanding EOS check because we can.
19392
19393 2005-10-08  Wim Taymans  <wim@fluendo.com>
19394
19395         * libs/gst/dataprotocol/dataprotocol.c:
19396         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19397         (gst_dp_packet_from_event):
19398         * libs/gst/dataprotocol/dataprotocol.h:
19399         * libs/gst/dataprotocol/dp-private.h:
19400         It's about time we bump the version number.
19401         Since event types don't fit in the guint8 anymore describing
19402         the payload type, make payload type 16 bits wide.
19403
19404 2005-10-08  Wim Taymans  <wim@fluendo.com>
19405
19406         * docs/design/part-TODO.txt:
19407         * docs/design/part-clocks.txt:
19408         * docs/design/part-events.txt:
19409         * docs/design/part-gstbin.txt:
19410         * docs/design/part-gstelement.txt:
19411         * docs/design/part-gstpipeline.txt:
19412         * docs/design/part-live-source.txt:
19413         * docs/design/part-messages.txt:
19414         * docs/design/part-overview.txt:
19415         * docs/design/part-states.txt:
19416         Many doc updates.
19417
19418 2005-10-08  Wim Taymans  <wim@fluendo.com>
19419
19420         * gst/gstevent.c:
19421         * gst/gstevent.h:
19422         Fix event quark registration.
19423         Add some space between events so we can insert them in the
19424         right groups.
19425
19426 2005-10-08  Wim Taymans  <wim@fluendo.com>
19427
19428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19429         (gst_base_sink_handle_buffer):
19430         Better log message.
19431
19432         * gst/gstbus.h:
19433         * gst/gstelement.h:
19434         More docs.
19435
19436         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19437         (gst_queue_set_property), (gst_queue_get_property):
19438         * gst/gstqueue.h:
19439         Remove old unused properties.
19440
19441 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19442         * docs/gst/gstreamer-sections.txt:
19443         * gst/gstmessage.c:
19444         * gst/gstmessage.h:
19445         * gst/gstminiobject.c:
19446         * gst/gstminiobject.h:
19447         * gst/gstobject.h:
19448         * gst/gstpad.h:
19449         * gst/gstutils.h:
19450           lots of new docs and doc fixes
19451
19452 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19453
19454         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19455         * gst/gstplugin.h:
19456         * gst/gstregistry.c: (gst_registry_lookup_locked),
19457         (gst_registry_scan_path_level):
19458         * gst/gstregistryxml.c: (load_plugin):
19459           Only ever load one plugin for a given plugin basename.
19460           This ensures correct overriding of GST_PLUGIN_PATH over
19461           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19462           system installed plugins.
19463
19464 2005-10-08  Wim Taymans  <wim@fluendo.com>
19465
19466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19467         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19468         Prepare for doing QOS.
19469
19470 2005-10-08  Wim Taymans  <wim@fluendo.com>
19471
19472         * check/gst/gstbin.c: (GST_START_TEST):
19473         * check/pipelines/cleanup.c: (GST_START_TEST):
19474         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19475         Allow new clock message too.
19476
19477 2005-10-08  Wim Taymans  <wim@fluendo.com>
19478
19479         * gst/gstmessage.c: (gst_message_new_error),
19480         (gst_message_new_warning), (gst_message_new_tag),
19481         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19482         (gst_message_new_clock_lost), (gst_message_new_new_clock),
19483         (gst_message_new_segment_start), (gst_message_new_segment_done),
19484         (gst_message_parse_state_changed),
19485         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
19486         (gst_message_parse_new_clock):
19487         * gst/gstmessage.h:
19488         Also carry the clock in question.
19489
19490 2005-10-08  Wim Taymans  <wim@fluendo.com>
19491
19492         * gst/gstmessage.c: (gst_message_new_custom),
19493         (gst_message_new_eos), (gst_message_new_error),
19494         (gst_message_new_warning), (gst_message_new_tag),
19495         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19496         (gst_message_new_new_clock), (gst_message_new_segment_start),
19497         (gst_message_new_segment_done), (gst_message_parse_state_changed),
19498         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
19499         * gst/gstmessage.h:
19500         Clean up.
19501         Added clock related messages.
19502
19503         * gst/gstpipeline.c: (gst_pipeline_change_state):
19504         Post message when the clock changed.
19505
19506         * tools/gst-launch.c: (event_loop):
19507         Print new clock.
19508
19509 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
19510
19511         * tools/gst-inspect.c: (print_element_properties_info):
19512           Can't pass NULL strings to g_print() on windows.
19513
19514 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19515
19516         * docs/Makefile.am:
19517         * docs/gst/Makefile.am:
19518         * docs/gst/gstreamer-docs.sgml:
19519         * docs/gst/running.xml:
19520         * docs/version.entities.in:
19521           add a chapter on running GStreamer.
19522           document GST_DEBUG and GST_PLUGIN* env vars
19523
19524 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19525
19526         * Makefile.am:
19527           remove include dir
19528         * configure.ac:
19529           remove PLUGINS_BUILDDIR stuff
19530         * gst/gst.c: (init_post):
19531           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
19532         * idiottest.mak:
19533           remove, it was condescending and not needed
19534
19535 2005-10-08  Wim Taymans  <wim@fluendo.com>
19536
19537         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
19538         (gst_base_sink_handle_object), (gst_base_sink_event),
19539         (gst_base_sink_wait), (gst_base_sink_handle_event),
19540         (gst_base_sink_change_state):
19541         * gst/base/gstbasesink.h:
19542         Repost EOS message while going to PLAYING if still EOS.
19543         Make sure that when receiving a FLUSH_START we don't attempt
19544         to sync on the clock anymore.
19545
19546 2005-10-08  Wim Taymans  <wim@fluendo.com>
19547
19548         * tools/gst-launch.c: (event_loop):
19549         Better message printout.
19550
19551 2005-10-08  Wim Taymans  <wim@fluendo.com>
19552
19553         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
19554         (gst_bin_child_proxy_get_children_count):
19555         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19556         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
19557         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
19558         (gst_child_proxy_set_valist):
19559         * gst/parse/grammar.y:
19560         Make ChildProxy threadsafe and fix mem leaks.
19561
19562 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19563
19564         * gst/gst.c: (init_post):
19565           debug the GST_PLUGIN_ env vars
19566
19567 2005-10-08  Wim Taymans  <wim@fluendo.com>
19568
19569         * check/gst/gstbin.c: (GST_START_TEST):
19570         * check/gst/gstmessage.c: (GST_START_TEST):
19571         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19572         * gst/gstelement.c: (gst_element_commit_state),
19573         (gst_element_lost_state):
19574         * gst/gstmessage.c: (gst_message_new_state_changed),
19575         (gst_message_parse_state_changed):
19576         * gst/gstmessage.h:
19577         * tools/gst-launch.c: (event_loop):
19578         Added extra field to STATE_CHANGE message with the pending
19579         state, which will be different from the new state soon.
19580
19581 2005-10-08  Wim Taymans  <wim@fluendo.com>
19582
19583         * gst/gstbus.c: (gst_bus_pop):
19584         * gst/gstclock.c:
19585         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19586         Small cleanups and doc updates.
19587
19588 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19589
19590         * gst/gst.c: (init_pre):
19591         * gst/gstbin.c: (gst_bin_add_func):
19592           log distributing clocks and base time
19593         * gst/gstregistry.c: (gst_registry_add_plugin),
19594         (gst_registry_scan_path_level), (gst_registry_scan_path):
19595           clean up the debugging output a little
19596         * gst/gstutils.c: (gst_element_state_get_name):
19597           warn about a memleak (I've actually seen this be used, though
19598           it was probably a bug)
19599
19600 2005-10-07  Wim Taymans  <wim@fluendo.com>
19601
19602         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19603         (gst_base_src_init), (gst_base_src_default_newsegment),
19604         (gst_base_src_newsegment), (gst_base_src_do_seek),
19605         (gst_base_src_loop), (gst_base_src_start):
19606         * gst/base/gstbasesrc.h:
19607         Make the newsegment event customizable by subclasses.
19608
19609 2005-10-07  Wim Taymans  <wim@fluendo.com>
19610
19611         * gst/gstevent.c: (gst_event_new_buffersize),
19612         (gst_event_parse_buffersize):
19613         * gst/gstevent.h:
19614         New event for future idea.
19615
19616 2005-10-07  Andy Wingo  <wingo@pobox.com>
19617
19618         * gst/gstelement.c (gst_element_post_message): Doc update.
19619
19620         * docs/gst/gstreamer-sections.txt: Update.
19621
19622         * gst/gstmessage.c (gst_message_new_application): Made into a
19623         function like honest API calls.
19624         (gst_message_new_element): New message type.
19625
19626         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
19627
19628         * check/elements/fakesrc.c (test_no_preroll): New check, checks
19629         that setting a live fakesrc to PAUSED returns NO_PREROLL both
19630         times.
19631
19632         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
19633         NO_PREROLL from gst_element_change_state to fall through.
19634
19635 2005-10-07  Wim Taymans  <wim@fluendo.com>
19636
19637         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
19638         (gst_ghost_pad_do_activate_push):
19639         Activating a ghostpad with no internal pad in push mode
19640         is ok.
19641
19642 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19643
19644         * gst/gstobject.h:
19645           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
19646           Fixes compilation on Windows.
19647
19648 2005-10-07  Michael Smith <msmith@fluendo.com>
19649
19650         * tools/gst-inspect.c:
19651           Print out feature and plugin count at the end when printing out
19652           all features.
19653
19654 2005-10-04  Michael Smith <msmith@fluendo.com>
19655
19656         * gst/gsterror.c: (_gst_stream_errors_init):
19657           Add another error string used in a few existing plugins.
19658
19659         * gst/gstplugin.c:
19660         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19661         * tools/gst-inspect.c: (print_element_info):
19662           When a feature disappears from a plugin (and the feature exists in
19663           the cached registry file), things went horribly wrong. This isn't a
19664           complete fix, we should actually be removing the 'missing' features
19665           from the features list when we load the actual plugin. That's not
19666           yet implemented. 
19667
19668 2005-10-04  Johan Dahlin  <johan@gnome.org>
19669
19670         * check/gst/gstiterator.c: (GST_START_TEST):
19671         * gst/gstbin.c: (gst_bin_iterate_elements),
19672         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
19673         * gst/gstelement.c: (gst_element_iterate_pads):
19674         * gst/gstformat.c: (gst_format_iterate_definitions):
19675         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19676         (gst_iterator_new_list), (gst_iterator_filter):
19677         * gst/gstiterator.h:
19678         * gst/gstquery.c: (gst_query_type_iterate_definitions):
19679         Add a GType to GstIterator, update callsites and tests.
19680
19681 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19682
19683         * gst/gstpad.c: (gst_pad_event_default_dispatch):
19684           give events a chance to be handled by event probes when the pad
19685           is not linked
19686
19687 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19688
19689         * gst/gstevent.c: (gst_event_type_get_name),
19690         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
19691         * gst/gstevent.h:
19692           add string representations for event types
19693
19694 2005-10-06  Wim Taymans  <wim@fluendo.com>
19695
19696         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
19697         Don't use NULL pointers.
19698
19699 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19700
19701         * gst/gst_private.h:
19702         * gst/gstbus.c:
19703         * gst/gstelement.c:
19704         * gst/gstinfo.c:
19705         * gst/gstpluginfeature.c:
19706           widen the debug category in output to fit the biggest one we have
19707           add a bus category and use it
19708           play with the colors
19709           fix up some categories
19710
19711 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19712
19713         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
19714           add push activation of sink ghost pads.
19715           Andye, please verify
19716
19717 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19718
19719         * gst/gstutils.c: (gst_element_link_pads):
19720           fix a bug in the case where neither element has a pad
19721         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19722           add a test for that case
19723
19724 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19725
19726         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
19727           emit have-data before checking for peers.  This allows
19728           for probe handlers to connect elements.  This helps autopluggers.
19729         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
19730         (gst_pad_suite):
19731           add six checks, linked/unlinked with no/true/false probe
19732
19733 2005-10-04  Wim Taymans  <wim@fluendo.com>
19734
19735         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
19736         (gst_fake_sink_event), (gst_fake_sink_preroll),
19737         (gst_fake_sink_render), (gst_fake_sink_change_state):
19738         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
19739         (gst_fake_src_get_property), (gst_fake_src_create),
19740         (gst_fake_src_stop):
19741         * gst/elements/gstidentity.c: (gst_identity_stop):
19742         Protect last_message with lock.
19743
19744 2005-10-04  Edward Hervey  <edward@fluendo.com>
19745
19746         * gst/gstformat.h: 
19747         Added precision in the comments for GST_FORMAT_DEFAULT
19748
19749 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
19750
19751         * tools/gst-launch.c: (main):
19752           Don't try to run erroneous pipelines.
19753
19754 2005-10-04  Julien MOUTTE  <julien@moutte.net>
19755
19756         * gst/gstbus.c: We don't need this header.
19757
19758 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19759
19760         * configure.ac:
19761           back to development
19762
19763 === release 0.9.3 ===
19764
19765 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19766
19767         * README:
19768         * configure.ac:
19769           Releasing 0.9.3, "Unregistered"
19770
19771 2005-10-03  Andy Wingo  <wingo@pobox.com>
19772
19773         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
19774         whereby calling a pad's activatepush() function can start a thread
19775         that starts to push or pull before the pad gets the FLUSHING flag
19776         unset. Hack around it by holding the stream lock until the flag is
19777         set. Need to replace this with a proper solution. Together with
19778         the ghost pad fixes, this fixes mp3 playing/tagreading.
19779
19780         * docs/design/part-gstghostpad.txt: Add a note about activation of
19781         proxy pads outside of ghost pads.
19782
19783         * gst/gstghostpad.c: Implement the ghost pad activation design.
19784
19785 2005-10-02  Andy Wingo  <wingo@pobox.com>
19786
19787         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
19788         It is volatile, after all.
19789
19790         * docs/design/part-gstghostpad.txt: Flesh out activation with
19791         ghost pads.
19792
19793         * gst/base/gstbasesrc.c (gst_base_src_init): Use
19794         GST_DEBUG_FUNCPTR.
19795
19796 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
19797
19798         * configure.ac:
19799           Fix (unused) AM_CONDITIONAL tests.
19800
19801 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
19802
19803         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19804
19805         * gst/gstutils.c: (gst_pad_query_convert):
19806           Add assertion that makes sure src_val is >=0, just like
19807           gst_query_new_convert() has. (#315895)
19808
19809 2005-09-30  Edward Hervey  <edward@fluendo.com>
19810
19811         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
19812         Let's not iterate pads we're not interested in, it avoids getting 
19813         sky-high refcounts on sinkpad.
19814
19815 2005-09-30  Wim Taymans  <wim@fluendo.com>
19816
19817         * gst/gstelement.c: (gst_element_set_state),
19818         (gst_element_change_state):
19819         Small tweak, element in ASYNC remains ASYNC.
19820
19821 2005-09-30  Wim Taymans  <wim@fluendo.com>
19822
19823         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19824         Only error is an error.
19825
19826         * gst/gstbin.c: (gst_bin_change_state):
19827         Better debugging.
19828
19829         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
19830         Also call pad_block in pad alloc.
19831
19832         * gst/gstutils.c: (gst_flow_get_name):
19833         Better debugging.
19834
19835 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19836
19837         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19838         (gst_base_src_get_range):
19839           Fix documentation typos. Add some more debug info.
19840
19841 2005-09-29  David Schleef  <ds@schleef.org>
19842
19843         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
19844           more end-user friendly.
19845         * tools/gst-inspect.c: (main): Check if command-line argument is
19846           a file and attempt to load that file as a plugin.
19847
19848 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19849
19850         * check/gst/gstbin.c:
19851         * check/states/sinks.c:
19852           fix tests for the new warning
19853         * check/gst/gstpipeline.c:
19854           add a test for pipeline and bus interaction
19855         * gst/gstelement.c:
19856           elements should be NULL if they get disposed; add a warning if not
19857
19858 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19859
19860         * gst/gstobject.c:
19861           for 2.6 refcounting, make debug log more correct by printing
19862           the actual refcounts at the time of swap (Wim)
19863
19864 2005-09-29  Andy Wingo  <wingo@pobox.com>
19865
19866         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
19867         removes signal watches previously added via
19868         gst_bus_add_signal_watch.
19869         (gst_bus_add_signal_watch): Don't return the source id, just store
19870         it on the bus if there wasn't an id already.
19871
19872         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
19873         add_signal_watch and remove_signal_watch.
19874
19875 2005-09-29  Edward Hervey  <edward@fluendo.com>
19876
19877         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
19878         Better if we actually iterate the list :)
19879
19880 2005-09-29  Wim Taymans  <wim@fluendo.com>
19881
19882         * check/gst/gstbin.c: (GST_START_TEST):
19883         Change for new bus API.
19884
19885         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19886         (send_messages), (GST_START_TEST), (gstbus_suite):
19887         Change for new bus signal API.
19888
19889         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
19890         (gst_bus_source_prepare), (gst_bus_source_check),
19891         (gst_bus_create_watch), (gst_bus_add_watch_full),
19892         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
19893         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
19894         * gst/gstbus.h:
19895         Remove support for multiple GSources operating on different
19896         message types as it is too complex and unneeded when using
19897         signals.
19898         Added support for receiving signals from the bus.
19899
19900 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19901
19902         * docs/libs/tmpl/gstdataprotocol.sgml:
19903         * docs/manual/advanced-dataaccess.xml:
19904         * gst/elements/gstcapsfilter.c:
19905         * gst/gstutils.c:
19906           rename filter-caps to caps property
19907
19908 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19909
19910         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19911           More robust fraction string parsing.
19912
19913         * docs/pwg/appendix-porting.xml:
19914           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
19915
19916 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19917
19918         * gst/gstcaps.c: (gst_caps_do_simplify):
19919           Thou shalt not free a structure and then continue using it
19920           in the next loop iteration.
19921
19922         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
19923         (gst_caps_suite):
19924           Add test case for caps simplification.
19925
19926 2005-09-29  Wim Taymans  <wim@fluendo.com>
19927
19928         * check/gst/gstbin.c: (GST_START_TEST):
19929         Oops.
19930
19931 2005-09-29  Wim Taymans  <wim@fluendo.com>
19932
19933         * check/gst/gstbin.c: (GST_START_TEST):
19934         Add bus to bin.
19935
19936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
19937         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19938         (find_element), (gst_bin_sort_iterator_next),
19939         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19940         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19941         (gst_bin_change_state), (gst_bin_dispose):
19942         A bin does not have a bus, it gets the bus from the parent.
19943
19944         * gst/gstelement.c: (gst_element_requires_clock),
19945         (gst_element_provides_clock), (gst_element_is_indexable),
19946         (gst_element_is_locked_state), (gst_element_change_state),
19947         (gst_element_set_bus_func):
19948         Small cleanups.
19949
19950         * gst/gstpipeline.c: (gst_pipeline_class_init),
19951         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
19952         The pipeline provides a bus.
19953
19954 2005-09-28  Johan Dahlin  <johan@gnome.org>
19955
19956         * gst/gstmessage.c (gst_message_parse_state_changed): Use
19957         gst_structure_get_enum instead of gst_structure_get_int
19958
19959         * gst/gststructure.c (gst_structure_get_enum): Impl.
19960
19961         * gst/gststructure.h (gst_structure_get_enum): Add
19962
19963         * docs/gst/gstreamer-sections.txt: Ditto
19964
19965         * gst/gstmessage.c (gst_message_new_state_changed): Use
19966         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
19967         which does introspection.
19968         Reviewed by Christian Schaller
19969
19970 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
19971
19972         * gst/gstinfo.c: (gst_debug_log_default):
19973           don't do dummy g_strdup()s
19974         * libs/gst/controller/gstcontroller.c:
19975         (on_object_controlled_property_changed),
19976         (gst_controlled_property_new), (gst_controller_new_valist),
19977         (gst_controller_new_list),
19978         (gst_controller_remove_properties_valist), (gst_controller_set),
19979         (gst_controller_get), (gst_controller_sync_values),
19980         (gst_controller_get_value_array), (_gst_controller_class_init),
19981         (gst_controller_get_type):
19982         * libs/gst/controller/gstcontroller.h:
19983         * libs/gst/controller/gstinterpolation.c:
19984         (gst_controlled_property_find_timed_value_node):
19985           convert // to /**/ comments
19986
19987 2005-09-28  Wim Taymans  <wim@fluendo.com>
19988
19989         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
19990         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
19991         (gst_bus_sync_signal_handler):
19992         * gst/gstbus.h:
19993         Added async-message and sync-message signals to the bus.
19994         Added helper BusFunc to emit signals for all posted messages.
19995
19996         * gst/gstmessage.c: (gst_message_type_get_name),
19997         (gst_message_type_to_quark), (gst_message_get_type):
19998         * gst/gstmessage.h:
19999         Register quarks for message names.
20000
20001 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20002
20003         * docs/libs/gstreamer-libs-sections.txt:
20004         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20005         (gst_controller_new_list):
20006         * libs/gst/controller/gstcontroller.h:
20007           added another constructor for language bindings
20008
20009 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20010
20011         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20012           add another check
20013         * gst/gstbus.c:
20014           add some doc
20015         * gst/gstinfo.c: (_gst_debug_init):
20016           slightly more readable color for refcount debugging
20017
20018 2005-09-28  Wim Taymans  <wim@fluendo.com>
20019
20020         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20021         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20022         (find_element), (gst_bin_sort_iterator_next),
20023         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20024         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20025         (gst_bin_change_state), (gst_bin_dispose):
20026         Small doc fixes. get_clock -> provide_clock.
20027
20028         * gst/gstelement.c: (gst_element_class_init),
20029         (gst_element_provides_clock), (gst_element_provide_clock),
20030         (gst_element_get_clock), (gst_element_commit_state),
20031         (gst_element_lost_state):
20032         * gst/gstelement.h:
20033         Make get/set_clock() symetric. Add provide_clock vmethod since
20034         that is actually what this function does.
20035
20036         * gst/gstpipeline.c: (gst_pipeline_class_init),
20037         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20038         (gst_pipeline_get_clock):
20039         get_clock -> provide_clock.
20040
20041 2005-09-28  Andy Wingo  <wingo@pobox.com>
20042
20043         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20044         lieu of real docs...
20045
20046         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20047
20048 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20049
20050         * gst/elements/gstcapsfilter.c:
20051         * gst/elements/gstfakesink.c:
20052         * gst/elements/gstfakesrc.c:
20053         * gst/elements/gstfdsink.c:
20054         * gst/elements/gstfdsrc.c:
20055         * gst/elements/gstfilesink.c:
20056         * gst/elements/gstfilesrc.c:
20057         * gst/elements/gstidentity.c:
20058         * gst/elements/gsttee.c:
20059         * gst/elements/gsttypefindelement.c:
20060           Make element details static.
20061
20062 2005-09-28  Wim Taymans  <wim@fluendo.com>
20063
20064         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20065         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20066         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20067         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20068         (gst_bin_change_state), (gst_bin_dispose):
20069         Some documentation updates.
20070         Clean up dispose handlers.
20071
20072         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20073         * gst/gstpad.c: (gst_pad_dispose):
20074         Clean up dispose handler.
20075
20076         * gst/gstpipeline.c: (gst_pipeline_change_state):
20077         Removed spurious UNLOCK.
20078
20079 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20080
20081         * docs/gst/gstreamer-sections.txt:
20082         * gst/base/gstbasesrc.h:
20083         * gst/gstelement.h:
20084         * gst/gstevent.h:
20085         * gst/gstobject.h:
20086         * gst/gstpad.h:
20087         * gst/gstpipeline.c:
20088         * gst/gstpipeline.h:
20089         * gst/gstutils.h:
20090         * gst/gstxml.h:
20091           added two new functions to the docs
20092                 documents all undocumented GstXXXFlags
20093                 completed some incomplete docs 
20094
20095 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20096
20097         * gst/gstbin.c: (gst_bin_dispose):
20098         * gst/gstelement.c: (gst_element_dispose):
20099           remove now useless and leaky resurrection code in dispose
20100         * gst/base/gstbasesrc.c: (gst_base_src_init):
20101         * gst/gstelementfactory.c: (gst_element_factory_create):
20102         * gst/gstobject.c: (gst_object_set_parent):
20103           add some debugging
20104
20105 2005-09-27  Wim Taymans  <wim@fluendo.com>
20106
20107         * docs/design/part-TODO.txt:
20108         Update TODO.
20109
20110         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20111         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20112         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20113         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20114         (gst_bin_change_state):
20115         * gst/gstelement.h:
20116         Remove element variable, we keep element info in the iterator now.
20117
20118 2005-09-27  Andy Wingo  <wingo@pobox.com>
20119
20120         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20121         values.
20122
20123 2005-09-27  Wim Taymans  <wim@fluendo.com>
20124
20125         * check/gst/gstbin.c: (GST_START_TEST):
20126         Enable check that works now.
20127
20128         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20129         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20130         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20131         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20132         (gst_bin_change_state):
20133         * gst/gstbin.h:
20134         Redid the state change algorithm using a topological sort algo.
20135         Handles all cases correctly.
20136         Exposed iterator for state change order.
20137
20138         * gst/gstelement.h:
20139         Temp storage for state changes. Need to get rid of this soon.
20140
20141 2005-09-27  Wim Taymans  <wim@fluendo.com>
20142
20143         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20144         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20145         (link_fold_func), (gst_pad_proxy_setcaps):
20146         Leak fixes, the fold functions need to unref the passed object and
20147         _get_parent_*() returns ref to parent.
20148
20149 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20150
20151         * check/gst/gstbuffer.c: (test_make_writable):
20152           Plug leak in test case and fix 'make check-valgrind'
20153
20154 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20155
20156         * gst/gstbuffer.c: (gst_subbuffer_init):
20157           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20158           works correctly in all circumstances (we could have just copied
20159           the parent buffer's readonly flag, but conceptually it seems
20160           cleaner to mark all subbuffers as read-only). (based on patch
20161           by Alessandro Decina, #314710).
20162         
20163         * check/gst/gstbuffer.c: (create_read_only_buffer),
20164         (test_make_writable), (test_subbuffer_make_writable),
20165         (gst_test_suite):
20166           Add some tests for gst_buffer_make_writable().
20167
20168 2005-09-27  Wim Taymans  <wim@fluendo.com>
20169
20170         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20171         use gst_object_has_ancestor().
20172
20173         * gst/gstobject.c: (gst_object_has_ancestor):
20174         * gst/gstobject.h:
20175         gst_object_has_ancestor() copied from gstbin.c as it is a
20176         useful function.
20177
20178         * tests/instantiate/create.c: (create_all_elements):
20179         * tests/lat.c: (handoff_src), (handoff_sink):
20180         * tests/sched/runxml.c: (main):
20181         * tests/seeking/seeking1.c: (main):
20182         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20183         (main):
20184         Fix compilation of some tests.
20185
20186 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20187
20188         * gst/gsterror.h:
20189           Remove comment. GST_TYPE_G_ERROR is here to stay,
20190           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20191           (#316961, #300610).
20192
20193 2005-09-26  Wim Taymans  <wim@fluendo.com>
20194
20195         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20196         Added check that shows error in state change order.
20197
20198 2005-09-26  Wim Taymans  <wim@fluendo.com>
20199
20200         * gst/gstbin.c: (gst_bin_change_state):
20201         Make state change function use 3 queues again, we were
20202         adding elements in the wrong order.
20203
20204         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20205         Some debug info,
20206
20207         * gst/gstpad.c: (gst_pad_dispose):
20208         Added some debug info first.
20209
20210 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20211
20212         * docs/design/draft-push-pull.txt:
20213         * docs/design/part-events.txt:
20214         * docs/design/part-overview.txt:
20215         * docs/design/part-scheduling.txt:
20216           Replace all _pull_region() with _pull_range()
20217           
20218 2005-09-26  Andy Wingo  <wingo@pobox.com>
20219
20220         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20221
20222         * check/gst-libs/controller.c: Update for controller api change.
20223
20224         * configure.ac: 
20225         * tests/Makefile.am:
20226         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20227         over by GLib bug 118439.
20228         
20229         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20230         routines to a function.
20231
20232         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20233
20234         * libs/gst/controller/gsthelper.c:
20235         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20236         (gst_object_sync_values): Renamed from sink_values. Ugh.
20237
20238         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20239
20240         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20241         Renamed from controller_key, as it is exported.
20242
20243         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20244
20245 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20246
20247         * gst/Makefile.am:
20248         * gst/gst.h:
20249         * gst/gstpad.h:
20250         * gst/gstpadtemplate.h:
20251         * gst/gstquery.c:
20252         * gst/gstquery.h:
20253         * gst/gstqueryutils.c:
20254         * gst/gstqueryutils.h:
20255           remove queryutils headers after moving the two used functions
20256           to gstquery.  also fixes build problem for gstsiddec
20257
20258 2005-09-26  Michael Smith <msmith@fluendo.com>
20259
20260         * tools/gst-launch.1.in:
20261         Correct documentation in manpage of debug syntax
20262
20263 2005-09-26  Wim Taymans  <wim@fluendo.com>
20264
20265         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20266         (gst_base_src_is_seekable), (gst_base_src_change_state):
20267         Some more debugging info.
20268
20269 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20270
20271         * docs/gst/gstreamer-sections.txt:
20272         * gst/base/gstbasetransform.h:
20273         * gst/gstindex.h:
20274           added more docs
20275
20276 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20277
20278         * docs/gst/.cvsignore:
20279         * docs/gst/tmpl/.cvsignore:
20280         * docs/gst/tmpl/gstpipeline.sgml:
20281         * docs/gst/tmpl/gstplugin.sgml:
20282         * gst/gstpipeline.c:
20283         * gst/gstplugin.c:
20284         * gst/gstplugin.h:
20285           inlined the last two docs files
20286           removed the tmpl directory from cvs (no more conflicts here!)
20287
20288 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20289
20290         * docs/gst/gstreamer-sections.txt:
20291         * docs/gst/tmpl/.cvsignore:
20292         * docs/gst/tmpl/gstpad.sgml:
20293         * docs/gst/tmpl/gstpadtemplate.sgml:
20294         * gst/Makefile.am:
20295         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20296         (gst_pad_finalize), (gst_pad_set_pad_template):
20297         * gst/gstpad.h:
20298         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20299         (gst_pad_template_class_init), (gst_pad_template_init),
20300         (gst_pad_template_dispose), (name_is_valid),
20301         (gst_static_pad_template_get), (gst_pad_template_new),
20302         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20303         (gst_pad_template_pad_created):
20304         * gst/gstpadtemplate.h:
20305           inlined two more docs
20306           factored gstpadtemplate out of gstpad
20307
20308 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20309
20310         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20311         (test_children_state_change_order_semi_sink):
20312           Fix test case: we can't rely on a fixed state change order when
20313           going from READY => PAUSED because the sink might commit its 
20314           new state first when the first buffer created by the source 
20315           reaches the sink before the source has finished its change state.
20316           (Test case still fails at times, see #316856, comment 5 onwards)
20317
20318 2005-09-24  Wim Taymans  <wim@fluendo.com>
20319
20320         * docs/design/part-events.txt:
20321         * docs/design/part-gstbus.txt:
20322         * docs/design/part-gstpipeline.txt:
20323         * docs/design/part-messages.txt:
20324         * docs/design/part-overview.txt:
20325         * docs/design/part-segments.txt:
20326         * gst/gstbin.c:
20327         * gst/gstbuffer.c:
20328         * gst/gstclock.c:
20329         * gst/gstelement.c:
20330         * gst/gstevent.c:
20331         * gst/gstfilter.c:
20332         * gst/gstiterator.c:
20333         Various documentation updates.
20334
20335 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20336
20337         * gst/gstclock.h:
20338           Well, that's embarassing.  Luckily we weren't using
20339           GST_CLOCK_DIFF anywhere.
20340
20341 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20342
20343         * common/gtk-doc.mak:
20344           don't fail on building XML, FC4 slave shows a bunch of doc
20345           missing bits that I don't get
20346         * gst/gstpad.c:
20347         * gst/gstpipeline.c:
20348         * gst/gststructure.c:
20349           some doc updates
20350
20351 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20352
20353         * docs/design/part-gstbin.txt:
20354         * docs/design/part-gstbus.txt:
20355         * gst/gstbus.c:
20356           Add blurb about how the bus goes into flushing mode and
20357           drops all messages when its bin goes from READY into NULL 
20358           state.
20359
20360 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20361
20362         * docs/gst/gstreamer-sections.txt:
20363         * gst/gststructure.c: (gst_structure_get_clock_time):
20364         * gst/gststructure.h:
20365           add a method to get a GstClockTime out of a structure
20366
20367 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20368
20369         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20370         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20371           Added test to check state change order in bins (can still be made
20372           to fail here under heavy disk load; bails out with 'Push on pad
20373           fakesink:sink0, but it was not activated in push mode').
20374
20375         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20376           Fix state change order when there is only a semi sink (#316856)
20377
20378         * gst/gstbus.c: (gst_bus_class_init):
20379           Use _class_peek_parent(), not _class_ref(); fix docs to say
20380           'default main context' instead of 'mainloop' where that is
20381           what's meant.
20382
20383         * gst/gstelement.c: (gst_element_commit_state),
20384         (gst_element_set_state):
20385           Fix typos in debug messages
20386
20387 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20388
20389         * docs/README:
20390         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20391         * gst/gstpluginfeature.c:
20392         * gst/gstutils.c:
20393           various doc updates
20394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20395           change an assert into an error until it gets fixed properly
20396
20397 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20398
20399         * docs/gst/gstreamer-sections.txt:
20400         * docs/gst/tmpl/.cvsignore:
20401         * docs/gst/tmpl/gstelement.sgml:
20402         * docs/gst/tmpl/gstinfo.sgml:
20403         * docs/gst/tmpl/gstobject.sgml:
20404         * gst/gstelement.c:
20405         * gst/gstelement.h:
20406         * gst/gstinfo.c:
20407         * gst/gstinfo.h:
20408         * gst/gstobject.c: (gst_object_class_init):
20409         * gst/gstobject.h:
20410           inlined 3 more biiiig doc files and added some missing docs on the fly
20411
20412 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20413
20414         * check/gst/.cvsignore:
20415         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20416         * gst/gstregistryxml.c: (load_plugin),
20417         (gst_registry_xml_save_plugin):
20418           put back source in registry.  add checks for find_plugin.
20419         * testsuite/states/bin.c: (assert_state), (empty_bin),
20420         (test_adding_one_element), (main):
20421         * testsuite/states/locked.c: (main):
20422           some compile/run fixes
20423
20424 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20425
20426         * check/gst/gstvalue.c: (GST_START_TEST):
20427           fix leaks in the test itself
20428
20429 2005-09-22  Wim Taymans  <wim@fluendo.com>
20430
20431         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20432         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20433         (gst_base_sink_query):
20434         Prepare for more accurate position reporting and query
20435         handling.
20436
20437         * gst/gstelement.c: (gst_element_send_event),
20438         (gst_element_set_state):
20439         Add some comment.
20440
20441 2005-09-22  Wim Taymans  <wim@fluendo.com>
20442
20443         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20444         (gst_query_parse_segment):
20445         * gst/gstquery.h:
20446         More documentation.
20447         Add segment query for future use.
20448
20449 2005-09-22  Wim Taymans  <wim@fluendo.com>
20450
20451         * gst/gstbin.c: (gst_bin_add_func):
20452         Some more debug info.
20453
20454         * gst/gstelement.c: (gst_element_send_event):
20455         Simplify send_event
20456
20457         * gst/gstelement.h:
20458         Don't know how flags got broken.
20459
20460         * gst/gstquery.h:
20461         Added new query.
20462
20463 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20464
20465         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20466           Add simplistic test suite for GST_TYPE_DATE serialisation and
20467           deserialisation.
20468
20469 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20470
20471         * docs/gst/gstreamer-sections.txt:
20472         * gst/gststructure.c: (gst_structure_set_valist),
20473         (gst_structure_get_date):
20474         * gst/gststructure.h:
20475         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
20476         (gst_date_copy), (gst_value_compare_date),
20477         (gst_value_serialize_date), (gst_value_deserialize_date),
20478         (gst_value_transform_date_string),
20479         (gst_value_transform_string_date), (_gst_value_initialize):
20480         * gst/gstvalue.h:
20481           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
20482           bunch of utility functions along with a hack that checks that
20483           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
20484           is required. Part of the grand scheme in #170777.
20485
20486 2005-09-22  Andy Wingo  <wingo@pobox.com>
20487
20488         * gst/gstconfig.h.in: Psych out gtk-doc.
20489
20490         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
20491
20492         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
20493
20494         * tools/gst-inspect.c (print_element_list): Plug some
20495         inconsequential leaks.
20496
20497         * gst/gstregistry.c (gst_registry_get_default): Doc.
20498
20499         * check/gst/gstplugin.c: 
20500         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
20501         * gst/gstelementfactory.c (gst_element_factory_create): 
20502         * gst/gstindexfactory.c (gst_index_factory_create): Update for
20503         refcount changes.
20504
20505         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
20506         (gst_plugin_feature_load): Doc, don't eat refs.
20507
20508         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
20509         (gst_plugin_list_free): Doc.
20510         (gst_plugin_load_file): Doc updates.
20511
20512         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
20513         accessors returning refcounted objects, return a ref.
20514
20515         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
20516         accessor for caps. IDEMPOTENCE. Oh yes.
20517
20518 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
20519
20520         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20521
20522         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20523         (_gst_debug_register_funcptr):
20524           Add mutex to serialise access to the hash table with
20525           the function pointer => function name string mapping;
20526           make that hash table static scope (#316809).
20527
20528         * gst/registries/.cvsignore:
20529           Remove left-over file.
20530
20531 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20532
20533         * docs/pwg/appendix-porting.xml:
20534           And something about newsegment events and caps-on-buffers to
20535           the porting guide (feel free to improve).
20536
20537 2005-09-21  Andy Wingo  <wingo@pobox.com>
20538
20539         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
20540         data and event probes on the same pad.
20541         (test_buffer_probe_once): Test that removing probes from within
20542         the probe functions works.
20543
20544 2005-09-21  Andy Wingo  <wingo@pobox.com>
20545
20546         * check/gst/gstutils.c: New file.
20547         (test_buffer_probe_n_times): A simple buffer probe test. More to
20548         come, foolios.
20549
20550         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
20551         have-data::buffer, not have-data.
20552         (gst_pad_add_event_probe): Likewise for have-data::event.
20553         (gst_pad_add_data_probe): More docs. The part about 'resolving the
20554         peer' isn't quite right yet though.
20555         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
20556         (gst_pad_remove_data_probe): Change to take the guint handler_id
20557         as their arg, not the function+data, which is more glib-like.
20558
20559         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
20560         the signal emission to indicate if the data is a buffer or an
20561         event.
20562         (gst_pad_get_type): Initialize buffer and event quarks.
20563         (gst_pad_class_init): have-data is now a detailed signal, yes it
20564         is.
20565
20566 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20567
20568         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20569         * gst/gstutils.c: (gst_util_set_value_from_string),
20570         (gst_util_set_object_arg):
20571           Don't put functional code in g_return_if_fail() or
20572           g_return_val_if_fail() statements, otherwise things will 
20573           break when G_DISABLE_CHECKS is defined during compilation.
20574
20575 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20576
20577         * docs/gst/tmpl/.cvsignore:
20578         * docs/gst/tmpl/gstvalue.sgml:
20579         * gst/gstvalue.c:
20580         * gst/gstvalue.h:
20581           inlied another one and added  some obvious docs
20582
20583 2005-09-21  Wim Taymans  <wim@fluendo.com>
20584
20585         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20586         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
20587         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
20588         (gst_fdsrc_get_property), (gst_fdsrc_create):
20589         * gst/elements/gstfdsrc.h:
20590         Properly implement fdsrc. Removed signal and timeout,
20591         better implemented somewhere else.
20592
20593 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20594
20595         * docs/gst/tmpl/.cvsignore:
20596         * docs/gst/tmpl/gstimplementsinterface.sgml:
20597         * gst/gstinterface.c:
20598           inlined more docs
20599
20600 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20601
20602         * docs/gst/gstreamer-sections.txt:
20603         * docs/gst/tmpl/.cvsignore:
20604         * docs/gst/tmpl/gstenumtypes.sgml:
20605           remove obsolete doc file
20606
20607 2005-09-21  David Schleef  <ds@schleef.org>
20608
20609         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
20610         little beer, fix a little leak.
20611
20612 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20613
20614         * docs/gst/gstreamer-docs.sgml:
20615         * docs/gst/gstreamer-sections.txt:
20616         * docs/gst/tmpl/.cvsignore:
20617         * gst/Makefile.am:
20618         * gst/gst.h:
20619         * gst/gstbin.c:
20620         * gst/gstelement.h:
20621         * gst/gstindex.c: (gst_index_class_init):
20622         * gst/gstindex.h:
20623         * gst/gstindexfactory.c: (gst_index_factory_get_type),
20624         (gst_index_factory_class_init), (gst_index_factory_init),
20625         (gst_index_factory_finalize), (gst_index_factory_new),
20626         (gst_index_factory_destroy), (gst_index_factory_find),
20627         (gst_index_factory_create), (gst_index_factory_make):
20628         * gst/gstindexfactory.h:
20629         * gst/gstpluginfeature.c:
20630         * gst/gstpluginfeature.h:
20631         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20632           more docs inlined, splitted gstindex.{c,h}
20633
20634 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20635
20636         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20637           fix a leak
20638
20639 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20640
20641         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20642           Set sync to FALSE by default.
20643
20644 2005-09-20  Wim Taymans  <wim@fluendo.com>
20645
20646         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20647         (gst_base_sink_init):
20648         Make sync property settable from subclass.
20649
20650         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20651         (gst_fake_sink_change_state):
20652         Set sync to FALSE by default.
20653
20654 2005-09-20  Wim Taymans  <wim@fluendo.com>
20655
20656         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
20657         * tools/gst-launch.c: (main):
20658         The timeout handler should have lower priority than the source
20659         so we don't timeout before popping a message with 0 timeout.
20660         Dump error messages after failed state change.
20661
20662 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20663
20664         * tools/gst-inspect.c: (print_element_properties_info):
20665           Fix two typos.
20666
20667 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20668
20669         * check/gst/gstevent.c:
20670         * gst/elements/gstfakesink.c:
20671         * gst/elements/gstfakesink.h:
20672           remove the sync property from fakesink.
20673           has the side effect of setting sync TRUE
20674           for fakesink, which is a change.  Anyone who knows how
20675           to fix this nicely in a GObject-y way, feel free.
20676
20677 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20678
20679         * docs/gst/gstreamer-docs.sgml:
20680           remove probe refsection
20681
20682 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20683
20684         * check/Makefile.am:
20685           disable valgrinding the controller test again
20686         * docs/gst/gstreamer-sections.txt:
20687           update for api-changes
20688
20689 2005-09-20  Wim Taymans  <wim@fluendo.com>
20690
20691         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20692         (gst_base_sink_set_property), (gst_base_sink_get_property),
20693         (gst_base_sink_do_sync):
20694         * gst/base/gstbasesink.h:
20695         Added sync property to basesink to disable clock sync.
20696
20697 2005-09-20  Andy Wingo  <wingo@pobox.com>
20698
20699         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
20700         eating the caller's refcount.
20701
20702         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
20703         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
20704         refcount.
20705
20706         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
20707         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
20708         of GLib 2.8 public, so we can know which refcount to check in
20709         tests.
20710
20711         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
20712         (gst_object_init): Only set the gst refcount if we're going ahead
20713         with the refcount hack.
20714
20715 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20716
20717         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20718         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20719           more leaks plumbed, added more debug-logging
20720         * gst/gstmacros.h:
20721           whitespace fix
20722
20723 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20724
20725         * gst/gstmessage.c:
20726           remove include of gstmemchunk.h
20727
20728 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20729
20730         * gst/gstclock.c: (_gst_clock_id_free):
20731           Commit from the Political Party For More Atomic CVS Commits,
20732           so that people don't waste too much of their day fishing
20733           out obvious leaks out of massive commits.
20734           Oh, and fix a pretty damn obvious leak in the memchunk
20735           removal code.
20736
20737 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20738
20739         * check/Makefile.am:
20740         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20741           plug mem-leak, re-add to valgrindable tests
20742
20743 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20744
20745         * gst/gstplugin.h:
20746           unbreak the build for those who have chronic arthritis
20747           and typing "make check" is just too taxing on the hands
20748
20749 2005-09-20  Andy Wingo  <wingo@pobox.com>
20750
20751         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
20752         really want it out, you should fix plugins at the same time.
20753
20754 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
20755
20756         * configure.ac:
20757         * docs/gst/gstreamer-sections.txt:
20758         * gst/gstobject.c:
20759           added missing symbols to api docs
20760           disable ref-count hack if we have glib >= 2.8
20761
20762 2005-09-19  David Schleef  <ds@schleef.org>
20763
20764         * docs/gst/Makefile.am: Ignore a few more internal headers
20765         * docs/gst/gstreamer-docs.sgml: Remove old sections
20766         * docs/gst/gstreamer-sections.txt: Remove old sections
20767         * docs/gst/tmpl/gstobject.sgml: update
20768         * docs/gst/tmpl/gstplugin.sgml: update
20769         * docs/gst/tmpl/gstpluginfeature.sgml: update
20770         * docs/random/ds/0.9-suggested-changes: update.
20771         * gst/Makefile.am: remove memchunk and trashstack, since they're
20772           not used.
20773         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
20774         * gst/gst.h: don't include some headers
20775         * gst/gstchildproxy.c: add gstmarshal.h
20776         * gst/gstclock.c: Don't use memchunks
20777         * gst/gstminiobject.c: Add some docs
20778         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
20779         * gst/gstobject.h: same
20780         * gst/gstplugin.c: include gstmacros.h
20781         * gst/gstplugin.h: don't include gstmacros.h, since it's private
20782         * gst/gstquery.c: don't use memchunks
20783         * gst/gstregistry.c: rename gst_registry_deinit()
20784         * gst/gstregistry.h: same
20785
20786 2005-09-19  David Schleef  <ds@schleef.org>
20787
20788         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
20789         * docs/libs/gstreamer-libs-sections.txt:
20790         * docs/libs/tmpl/gstgetbits.sgml:
20791         * docs/libs/tmpl/gstputbits.sgml:
20792
20793 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
20794
20795         * win32/gstenumtypes.c:
20796         * win32/gstenumtypes.h:
20797           Update.
20798
20799 2005-09-19  Wim Taymans  <wim@fluendo.com>
20800
20801         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
20802         Automatically PAUSE and RESUME a pipeline when a flushing seek
20803         is performed.
20804
20805 2005-09-19  Andy Wingo  <wingo@pobox.com>
20806
20807         * gst/gstregistry.h: Spacing fixen.
20808
20809 2005-09-19  Wim Taymans  <wim@fluendo.com>
20810
20811         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
20812         Handle state change failure more correctly.
20813
20814 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20815
20816         * check/Makefile.am:
20817         * check/pipelines/cleanup.c: (run_pipeline):
20818         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20819         (GST_START_TEST):
20820           enable cleanup again after fixing the leak
20821         * docs/README:
20822           some more info on docs
20823
20824 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20825
20826         * check/Makefile.am:
20827           re-enable tests now that leaks are plugged
20828         * check/gst/gst.c:
20829         * check/gst/gstbin.c:
20830         * check/gst/gstpipeline.c:
20831           add some more tests while fixing leaks
20832         * common/check.mak:
20833           make sure binaries are uptodate when valgrinding/gdbing
20834         * gst/gst.c:
20835         * gst/gstelementfactory.c:
20836           remove a ref too many, and add a FIXME for when we get
20837           round to disposing of classes
20838         * gst/gstplugin.c:
20839           fix the refcounting when loading a plugin from a file and
20840           the code pretends that the pointer is the same even though
20841           of course it can change
20842         * gst/gstpluginfeature.c:
20843           unref plugins marked cached (a bit confusing as a name)
20844           as the docs state should be done
20845           various doc additions to explain refcounting
20846         * gst/gstregistry.c:
20847         * gst/gstregistryxml.c:
20848           debugging
20849
20850 2005-09-19  Wim Taymans  <wim@fluendo.com>
20851
20852         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20853         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20854         (send_messages), (GST_START_TEST), (gstbus_suite):
20855         * check/gst/gstpipeline.c: (GST_START_TEST):
20856         * check/pipelines/cleanup.c: (run_pipeline):
20857         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20858         (GST_START_TEST):
20859         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
20860         (gst_bus_source_check), (gst_bus_source_dispatch),
20861         (gst_bus_create_watch), (gst_bus_add_watch_full),
20862         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
20863         * gst/gstbus.h:
20864         * tools/gst-launch.c: (event_loop):
20865         * tools/gst-md5sum.c: (event_loop):
20866         GstBusHandler -> GstBusFunc, return value has the same meaning as
20867         any other GSource (FALSE == remove source).
20868         _add_watch() and _add_watch_full() now take a MessageType mask to
20869         only handle specific types of messages.
20870         _poll() returns the GstMessage instead of the message type to avoid
20871         race conditions.
20872         _have_pending() takes a MessageType mask now too.
20873         Added testsuite for multiple bus watches.
20874         Fix testsuites and applications for new bus API.
20875
20876 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20877
20878         * check/Makefile.am:
20879           mark a bunch of the tests as to fix until we fix them
20880
20881 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20882
20883         * common/check.mak:
20884           use GST_PLUGIN settings for valgrind tests as well, so we're
20885           valgrinding the correct thing
20886         * gst/gst.c: (init_post):
20887           plug another leak
20888
20889 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20890
20891         * gst/gst.c: (init_post), (gst_deinit):
20892         * gst/gstelementfactory.c: (gst_element_factory_class_init),
20893         (gst_element_factory_finalize), (gst_element_factory_cleanup):
20894         * gst/gstindex.c: (gst_index_factory_class_init),
20895         (gst_index_factory_finalize):
20896         * gst/gstobject.c: (gst_object_dispose):
20897         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
20898         (gst_plugin_load_file), (gst_plugin_desc_free):
20899         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
20900         (gst_plugin_feature_finalize):
20901         * gst/gstregistry.c: (gst_registry_class_init),
20902         (gst_registry_init), (gst_registry_finalize),
20903         (gst_registry_get_default), (gst_registry_deinit):
20904         * gst/gstregistry.h:
20905         * gst/gstregistryxml.c: (load_feature), (load_plugin):
20906           various cleanups and memleak plugging.  make valgrind is happy now.
20907
20908 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20909
20910         * common/check.mak:
20911           add a check-valgrind target
20912
20913 2005-09-18  David Schleef  <ds@schleef.org>
20914
20915         * tools/gst-inspect.c: Revert the GOption code.
20916
20917 2005-09-17  David Schleef  <ds@schleef.org>
20918
20919         * check/Makefile.am: Fix environment variables.
20920         * check/gst/gstplugin.c: Fix for API changes.
20921         * tools/gst-inspect.c: Fix for API changes.
20922         * tools/gst-xmlinspect.c: Fix for API changes.
20923         * gst/gstelementfactory.c:
20924         * gst/gstplugin.c:
20925         * gst/gstplugin.h:
20926         * gst/gstpluginfeature.c:
20927         * gst/gstpluginfeature.h:
20928         * gst/gstregistry.c:
20929         * gst/gstregistry.h:
20930         * gst/gstregistryxml.c:
20931         * gst/gsttypefind.c:
20932         * gst/gsttypefindfactory.c:
20933         * gst/indexers/gstfileindex.c:
20934         * gst/indexers/gstmemindex.c:
20935         * gst/schedulers/Makefile.am:
20936           Change registry to keep track of both plugins and features,
20937           removing the feature tracking from plugins themselves.
20938
20939 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20940
20941         * check/Makefile.am:
20942         * tools/gst-register.1.in:
20943           remove gst-register
20944
20945 2005-09-15  David Schleef  <ds@schleef.org>
20946
20947         * check/gst/gstplugin.c:
20948         * gst/gstelementfactory.c:
20949         * gst/gstplugin.c:
20950         * gst/gstpluginfeature.c:
20951         * gst/gstregistry.c:
20952           Getting tired of debugging.  Disabled all the unreffing of
20953           plugins and features, which fixes the segfaults, but of
20954           course leaks like crazy.  At least playbin works.
20955
20956 2005-09-15  David Schleef  <ds@schleef.org>
20957
20958         * check/gst/gstplugin.c: (register_check_elements),
20959         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
20960         More testing
20961         * gst/elements/gsttypefindelement.c: Fix refcounting.
20962         * gst/gsttypefind.c:
20963         * gst/gsttypefindfactory.c:
20964         * gst/gsttypefindfactory.h:
20965
20966 2005-09-15  David Schleef  <ds@schleef.org>
20967
20968         * gst/gstindex.c: get refcounting correct.
20969         * gst/gstregistry.c: Handle the case where a feature/plugin is
20970           not found.
20971
20972 2005-09-15  David Schleef  <ds@schleef.org>
20973
20974         * check/Makefile.am:
20975         * check/gst/gstplugin.c: Add test
20976         * gst/gstplugin.c: Fix problems noticed by testsuite
20977         * gst/gstplugin.h:
20978         * gst/gstregistry.c: 
20979         * gst/gstregistry.h:
20980
20981 2005-09-15  David Schleef  <ds@schleef.org>
20982
20983         * gst/gstplugin.c: Implement semi-decent recounting and locking
20984           in plugins and plugin features.
20985         * gst/gstplugin.h:
20986         * gst/gstpluginfeature.c:
20987         * gst/gstpluginfeature.h:
20988         * gst/gstregistry.c:
20989
20990 2005-09-15  Michael Smith <msmith@fluendo.com>
20991
20992         * gst/gstregistry.c: (gst_registry_get_feature_list):
20993           Implement this. Makes oggdemux work; decodebin still broken.
20994
20995 2005-09-14  David Schleef  <ds@schleef.org>
20996
20997         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
20998           #316076)
20999         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21000         * gst/check/Makefile.am:
21001         * libs/gst/controller/Makefile.am:
21002         * libs/gst/dataprotocol/Makefile.am:
21003
21004 2005-09-14  David Schleef  <ds@schleef.org>
21005
21006         * configure.ac: Remove getbits library.  Nothing uses it, and
21007           it should be in something like liboil if someone did want
21008           to use it.
21009         * libs/gst/Makefile.am:
21010         * libs/gst/getbits/Makefile.am:
21011         * libs/gst/getbits/gbtest.c:
21012         * libs/gst/getbits/getbits.c:
21013         * libs/gst/getbits/getbits.h:
21014         * libs/gst/getbits/gstgetbits_generic.c:
21015         * libs/gst/getbits/gstgetbits_i386.s:
21016         * libs/gst/getbits/gstgetbits_inl.h:
21017
21018 2005-09-14  David Schleef  <ds@schleef.org>
21019
21020         * gst/Makefile.am: Dist glib-compat.h
21021
21022 2005-09-14  David Schleef  <ds@schleef.org>
21023
21024         * configure.ac: Remove gst/registries, since it's no longer used.
21025         * gst/registries/Makefile.am:
21026         * gst/registries/gstlibxmlregistry.c:
21027         * gst/registries/gstlibxmlregistry.h:
21028         * gst/registries/gstxmlregistry.c:
21029         * gst/registries/gstxmlregistry.h:
21030         * gst/registries/registrytest.c:
21031
21032 2005-09-14  David Schleef  <ds@schleef.org>
21033
21034         * gst/glib-compat.h:
21035         * gst/gstregistryxml.c:
21036           Convergence is near.  Seriously.
21037
21038 2005-09-14  David Schleef  <ds@schleef.org>
21039
21040         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21041         * gst/glib-compat.h:
21042           Attempt #4 to appease the buildbots.
21043
21044 2005-09-14  David Schleef  <ds@schleef.org>
21045
21046         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21047           Attempt #3.
21048
21049 2005-09-14  David Schleef  <ds@schleef.org>
21050
21051         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21052         Attempt #2.
21053
21054 2005-09-14  David Schleef  <ds@schleef.org>
21055
21056         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21057           the new functions.
21058
21059 2005-09-14  David Schleef  <ds@schleef.org>
21060
21061         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21062         * gst/glib-compat.h: Add some functions that are in newer versions
21063           of glib than we care to require.
21064         * gst/gstregistryxml.c: Use them.
21065
21066 2005-09-14  David Schleef  <ds@schleef.org>
21067
21068         * po/POTFILES.in: remove gst-register.c
21069
21070 2005-09-14  David Schleef  <ds@schleef.org>
21071
21072         * docs/gst/gstreamer-docs.sgml:
21073         * docs/gst/gstreamer-sections.txt:
21074         * docs/gst/gstreamer.types:
21075         * docs/gst/tmpl/gstelement.sgml:
21076         * docs/gst/tmpl/gstplugin.sgml:
21077         * docs/gst/tmpl/gstpluginfeature.sgml:
21078           Documentation updates for registry changes.
21079
21080 2005-09-14  David Schleef  <ds@schleef.org>
21081
21082         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21083           because we don't require glib-2.8.
21084
21085 2005-09-14  David Schleef  <ds@schleef.org>
21086
21087         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21088           registries directory.
21089
21090 2005-09-14  David Schleef  <ds@schleef.org>
21091
21092         * check/Makefile.am:
21093         * check/generic/states.c:
21094         * gst/Makefile.am:
21095         * gst/gst.c:
21096         * gst/gst.h:
21097         * gst/gst_private.h:
21098         * gst/gstelementfactory.c:
21099         * gst/gstindex.c:
21100         * gst/gstinfo.c:
21101         * gst/gstplugin.c:
21102         * gst/gstplugin.h:
21103         * gst/gstpluginfeature.c:
21104         * gst/gstpluginfeature.h:
21105         * gst/gstregistry.c:
21106         * gst/gstregistry.h:
21107         * gst/gstregistrypool.c: remove
21108         * gst/gstregistrypool.h: remove
21109         * gst/gsttypefind.c:
21110         * gst/gsttypefindfactory.c:
21111         * gst/gsturi.c:
21112         * tools/Makefile.am:
21113         * tools/gst-compprep.c:
21114         * tools/gst-inspect.c:
21115         * tools/gst-register.c: remove
21116         * tools/gst-xmlinspect.c:
21117           Registry rewrite.  Changes registry from being a file created
21118           by a tool into a simple cache file created automatically by 
21119           libgstreamer.  Removed gst-register (because it's no longer
21120           needed).  Remove registry pools, because we only have one
21121           registry implementation (XML).  Fix up other subsystems as
21122           necessary.
21123
21124 2005-09-13  Michael Smith <msmith@fluendo.com>
21125
21126         * gst/gstconfig.h.in:
21127           Don't Use windows linking attributes for MinGW. Fixes #316157
21128
21129 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21130
21131         * gst/gstutils.c: (set_state_async_thread_func),
21132         (gst_element_set_state_async):
21133           Apparently people think it's better if this function doesn't
21134           try to set the state to whatever state was asked for on the first
21135           call to this function for any object.  Seriously.
21136
21137 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21138
21139         * check/gst/gstpipeline.c: (GST_START_TEST):
21140         * docs/gst/gstreamer-sections.txt:
21141         * gst/gstutils.c: (set_state_async_thread_func),
21142         (gst_element_set_state_async):
21143         * gst/gstutils.h:
21144           add a "gst_element_set_state_async" method that
21145           sets the state and starts a thread to make sure the state
21146           change completes as best as it can
21147
21148 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21149
21150         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21151           codify design+behaviour in testsuite after discussion
21152
21153 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21154
21155         * docs/gst/tmpl/gstelement.sgml:
21156         * docs/manual/appendix-quotes.xml:
21157           add a quote
21158         * gst/gstelement.c: (gst_element_set_state):
21159           add some debug
21160
21161 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21162
21163         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21164         (gst_base_transform_prepare_output_buf),
21165         (gst_base_transform_handle_buffer):
21166         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21167         (gst_capsfilter_prepare_buf):
21168           Remove the requirement for sub-classes to call the parent
21169           implementation of prepare_output_buffer with a wrapper function.
21170           
21171         * gst/gsttaglist.h:
21172         * gst/gsttagsetter.h:
21173           Fix #define wrapper
21174
21175 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21176
21177         * docs/gst/gstreamer-sections.txt:
21178           more doc cleanups
21179
21180 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21181
21182         * docs/gst/gstreamer-sections.txt:
21183         * docs/gst/tmpl/gstelement.sgml:
21184         * docs/gst/tmpl/gstplugin.sgml:
21185         * gst/gstminiobject.c:
21186         * gst/gstvalue.h:
21187           docs now stop throwing warnings
21188
21189 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21190
21191         * docs/gst/gstreamer-sections.txt:
21192         * docs/gst/gstreamer.types:
21193         * docs/gst/tmpl/gstpad.sgml:
21194         * docs/gst/tmpl/gsttypes.sgml:
21195         * gst/base/gstadapter.h:
21196         * gst/base/gstbasesink.h:
21197         * gst/base/gstbasesrc.h:
21198         * gst/gstbin.h:
21199         * gst/gstbuffer.h:
21200         * gst/gstbus.h:
21201         * gst/gstcaps.h:
21202         * gst/gstclock.h:
21203         * gst/gstelement.h:
21204         * gst/gstevent.h:
21205         * gst/gstmessage.h:
21206         * gst/gstpad.h:
21207         * gst/gststructure.c:
21208         * gst/registries/gstlibxmlregistry.h:
21209           various documentation fixes
21210
21211 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21212
21213         * docs/gst/gstreamer-sections.txt:
21214         * docs/gst/tmpl/gstvalue.sgml:
21215           rearrange gstvalue section
21216         * gst/gstutils.c: (gst_element_state_get_name):
21217           NONE -> VOID
21218         * gst/gstvalue.c: (_gst_value_initialize):
21219         * gst/gstvalue.h:
21220           doc updates
21221
21222 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21223
21224         * check/gst-libs/controller.c:
21225           Header include fix.
21226         * gst/base/gstbasetransform.c:
21227         (gst_base_transform_default_prepare_buf),
21228         (gst_base_transform_handle_buffer):
21229         * gst/base/gstbasetransform.h:
21230           Some more basetransform changes and fixes to enable sub-classes
21231           that modify buffer metadata only.
21232         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21233         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21234         (gst_capsfilter_prepare_buf):
21235           If the output pad has fixed allowed caps and input buffers 
21236           don't have any, set the fixed caps on outgoing buffers.
21237
21238 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21239         * check/elements/identity.c: (GST_START_TEST):
21240           Make the error a little clearer when the test fails because
21241           identity made a copy of the buffer.
21242         * docs/gst/gstreamer-sections.txt:
21243           New symbols in gstbasetransform.h
21244         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21245         (gst_base_transform_init), (gst_base_transform_transform_size),
21246         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21247         (gst_base_transform_default_prepare_buf),
21248         (gst_base_transform_get_unit_size),
21249         (gst_base_transform_buffer_alloc),
21250         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21251         (gst_base_transform_change_state),
21252         (gst_base_transform_set_passthrough),
21253         (gst_base_transform_set_in_place),
21254         (gst_base_transform_is_in_place):
21255         * gst/base/gstbasetransform.h:
21256           Change BaseTransform to separate in_place operate from same_caps
21257           output. in_place implies that the element can perform the transform
21258           on incoming buffers in-place, even if the caps on the output are
21259           different.
21260           Sub-class elements can now implement special buffer allocation
21261           methods for outgoing buffers if they wish to.
21262           Big documentation addition.
21263         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21264         * gst/elements/gstelements.c:
21265           Changes for basetransform modifications.
21266         * gst/elements/Makefile.am:
21267         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21268           Compile fix. Extra debug output.
21269
21270 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21271
21272         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21273         (gst_pad_suite):
21274           add tests for valid pad naming
21275         * gst/check/gstcheck.c: (gst_check_log_message_func),
21276         (gst_check_log_critical_func):
21277           add ASSERT_WARNING
21278           remove printing of code, it is fragile when the code contains
21279           % and the line number is enough info
21280         * gst/check/gstcheck.h:
21281         * gst/gstpad.c: (gst_pad_template_new):
21282           fix memleaks
21283
21284 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21285
21286         * configure.ac:
21287           say what CHECK flags we use
21288         * docs/libs/gstreamer-libs.types:
21289         * libs/gst/controller/Makefile.am:
21290         * libs/gst/controller/gst-controller.c:
21291         * libs/gst/controller/gst-controller.h:
21292         * libs/gst/controller/gst-helper.c:
21293         * libs/gst/controller/gst-interpolation.c:
21294         * libs/gst/controller/gstcontroller.c:
21295         * libs/gst/controller/gsthelper.c:
21296         * libs/gst/controller/gstinterpolation.c:
21297         * tools/gst-inspect.c: (print_plugin_info):
21298           we don't use dashes in header names
21299
21300 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21301
21302         * check/Makefile.am:
21303         * check/gst/.cvsignore:
21304         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21305         (gst_pipeline_suite), (main):
21306           adding a test for pipelines and state changes
21307         * gst/gstutils.c: (get_state_func):
21308           add some debugging
21309         * gstreamer.spec.in:
21310           fix up spec file
21311
21312 2005-09-08  Michael Smith <msmith@fluendo.com>
21313
21314         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21315         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21316         (gst_file_src_is_seekable), (gst_file_src_get_size),
21317         (gst_file_src_start):
21318         * gst/elements/gstfilesrc.h:
21319           Various fixes for unseekable, unmmapable, and non-normal files, so
21320           that fallback to read() rather than mmap() works.
21321         * gst/gstevent.c: (gst_event_new_newsegment):
21322           Allow newsegment events with segment_start == segment_end, as will
21323           correctly happen if you use filesrc on a zero-size file, for
21324           example.
21325
21326 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21327
21328         * gst/gstplugin.c: (gst_plugin_load_file):
21329           Call g_module_close when we don't load the module
21330
21331         * gst/registries/gstlibxmlregistry.c:
21332         (gst_xml_registry_get_property):
21333           Port leak fix from 0.8
21334
21335 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21336
21337         * docs/gst/gstreamer-docs.sgml:
21338         * docs/gst/tmpl/.cvsignore:
21339         * docs/gst/tmpl/gsttrace.sgml:
21340         * docs/gst/tmpl/gsttrashstack.sgml:
21341         * gst/Makefile.am:
21342         * gst/gst.h:
21343         * gst/gstelement.h:
21344         * gst/gstevent.h:
21345         * gst/gstmessage.c:
21346         * gst/gstmessage.h:
21347         * gst/gsttag.c:
21348         * gst/gsttag.h:
21349         * gst/gsttaginterface.c:
21350         * gst/gsttaginterface.h:
21351         * gst/gsttaglist.c:
21352         * gst/gsttaglist.h:
21353         * gst/gsttagsetter.c:
21354         * gst/gsttagsetter.h:
21355         * gst/gsttrace.c:
21356         * gst/gsttrace.h:
21357         * gst/gsttrashstack.c:
21358           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21359           inlined docs for gsttrace, gsttrashstack
21360
21361 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21362
21363         * gst/Makefile.am:
21364         * gst/elements/gstbufferstore.h:
21365         * gst/elements/gsttypefindelement.c:
21366         * gst/elements/gsttypefindelement.h:
21367         * gst/gst.h:
21368         * gst/gsttypefind.c:
21369         * gst/gsttypefind.h:
21370         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21371         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21372         (gst_type_find_factory_dispose),
21373         (gst_type_find_factory_unload_thyself),
21374         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21375         (gst_type_find_factory_get_caps),
21376         (gst_type_find_factory_get_extensions),
21377         (gst_type_find_factory_call_function):
21378         * gst/gsttypefindfactory.h:
21379         * gst/registries/gstlibxmlregistry.c:
21380         * gst/registries/gstxmlregistry.c:
21381           splitted gsttypefind into gsttypefind, gsttypefindfactory
21382
21383 2005-09-07  Andy Wingo  <wingo@pobox.com>
21384
21385         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21386         condition whereby the pad's task function is entered before the
21387         pad_mode variable was set.
21388
21389 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21390
21391         * gst/gstpad.c: (gst_pad_alloc_buffer):
21392           Catch misbehaving pad_alloc functions that don't
21393           set up caps and do it for them.
21394
21395 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21396
21397         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21398           test for pipe!=NULL
21399         * docs/gst/tmpl/.cvsignore:
21400         * docs/gst/tmpl/gstmemchunk.sgml:
21401         * docs/gst/tmpl/gstparse.sgml:
21402         * docs/gst/tmpl/gsttaglist.sgml:
21403         * docs/gst/tmpl/gsttagsetter.sgml:
21404         * docs/gst/tmpl/gsttypefind.sgml:
21405         * docs/gst/tmpl/gsttypefindfactory.sgml:
21406         * gst/gstmemchunk.c:
21407         * gst/gstparse.c:
21408         * gst/gsttag.c:
21409         * gst/gsttaginterface.c:
21410         * gst/gsttypefind.c:
21411         * gst/gsttypefind.h:
21412           inlined more docs
21413
21414 === release 0.9.2 ===
21415
21416 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21417
21418         * NEWS:
21419         * RELEASE:
21420         * configure.ac:
21421           releasing 0.9.2, "South"
21422
21423 2005-09-05  Andy Wingo  <wingo@pobox.com>
21424
21425         * gst/registries/gstxmlregistry.h:
21426         * gst/registries/gstxmlregistry.c: Um... resurrect...
21427         
21428         * gst/registries/gstxmlregistry.h:
21429         * gst/registries/gstxmlregistry.c: and update to newer API.
21430         Incidentally they should be a bit faster now that they don't have
21431         to parse the caps.
21432         
21433 2005-09-05  Andy Wingo  <wingo@pobox.com>
21434
21435         * gst/registries/gstxmlregistry.h:
21436         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21437         replaced by the libxml registry a while back
21438
21439 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21440
21441         * docs/gst/tmpl/gstplugin.sgml:
21442         * gst/elements/gstelements.c:
21443         * gst/gst.c:
21444         * gst/gstplugin.c: (gst_plugin_register_func),
21445         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21446         (gst_plugin_get_source):
21447         * gst/gstplugin.h:
21448         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21449         (gst_xml_registry_save_plugin):
21450         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21451         (gst_xml_registry_save_plugin):
21452         * tools/gst-inspect.c: (print_plugin_info):
21453           add a "source" plugin description field, to represent the source
21454           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21455           will set it to PACKAGE, which is automake's idea of the name of
21456           the source project.
21457
21458 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21459
21460         * Makefile.am:
21461         * autogen.sh:
21462         * configure.ac:
21463         * docs/Makefile.am:
21464         * docs/faq/Makefile.am:
21465         * docs/gst/tmpl/gstelement.sgml:
21466         * docs/gst/tmpl/gsttypes.sgml:
21467         * docs/htmlinstall.mak:
21468         * docs/manual/Makefile.am:
21469         * docs/pwg/Makefile.am:
21470           reorganize doc build a little
21471           split out docbook and gtk-doc stuff
21472           have two separate --enable's and enable them through autogen
21473           but disable by default in configure (to be similar to other
21474           projects)
21475         * gstreamer.spec.in:
21476           clean up docs install
21477         * po/af.po:
21478         * po/az.po:
21479         * po/ca.po:
21480         * po/cs.po:
21481         * po/de.po:
21482         * po/en_GB.po:
21483         * po/fr.po:
21484         * po/it.po:
21485         * po/nb.po:
21486         * po/nl.po:
21487         * po/ru.po:
21488         * po/sq.po:
21489         * po/sr.po:
21490         * po/sv.po:
21491         * po/tr.po:
21492         * po/uk.po:
21493         * po/vi.po:
21494           translation updates
21495
21496 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
21497
21498         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
21499           Add comment.
21500           
21501         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21502         (gst_fake_sink_change_state):
21503           Make state change function thread-safe.
21504           
21505         * gst/gstpad.c: (gst_pad_alloc_buffer):
21506           Set offset on generic buffer allocated by fallback.
21507
21508 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
21509
21510         * docs/gst/gstreamer-sections.txt:
21511         * docs/gst/tmpl/gstelement.sgml:
21512         * gst/gstpad.c:
21513         * libs/gst/controller/gst-controller.c:
21514         (gst_controlled_property_set_interpolation_mode),
21515         (gst_controlled_property_new),
21516         (gst_controller_find_controlled_property):
21517          run the wingo-magic script against the docs
21518
21519 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21520
21521         * docs/gst/gstreamer-docs.sgml:
21522         * docs/gst/gstreamer-sections.txt:
21523         * docs/gst/tmpl/.cvsignore:
21524         * docs/gst/tmpl/gstelementdetails.sgml:
21525         * docs/gst/tmpl/gstelementfactory.sgml:
21526         * gst/gst.c:
21527         * gst/gstbus.c:
21528         * gst/gstelementfactory.c:
21529         * gst/gstelementfactory.h:
21530           merged elementdetails docs into elementfactory docs
21531           inlined both
21532
21533 2005-09-02  Andy Wingo  <wingo@pobox.com>
21534
21535         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
21536         consider this enum an enum and not a flags.
21537
21538 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21539
21540         * docs/gst/gstreamer-docs.sgml:
21541         * docs/gst/tmpl/.cvsignore:
21542         * docs/gst/tmpl/gstghostpad.sgml:
21543         * docs/gst/tmpl/gstiterator.sgml:
21544         * docs/gst/tmpl/gstmacros.sgml:
21545         * docs/gst/tmpl/gstrealpad.sgml:
21546         * docs/gst/tmpl/gstregistry.sgml:
21547         * docs/gst/tmpl/gstregistrypool.sgml:
21548         * docs/gst/tmpl/gststructure.sgml:
21549         * docs/gst/tmpl/gstsystemclock.sgml:
21550         * docs/gst/tmpl/gsttrace.sgml:
21551         * gst/gstghostpad.c:
21552         * gst/gstmacros.h:
21553         * gst/gstmemchunk.c:
21554         * gst/gstmemchunk.h:
21555         * gst/gstqueue.c:
21556         * gst/gstregistry.c:
21557         * gst/gstregistrypool.c:
21558         * gst/gststructure.c:
21559         * gst/gstsystemclock.c:
21560           more docs inlined
21561
21562 2005-09-02  Andy Wingo  <wingo@pobox.com>
21563
21564         * gst/gstelement.h (GstState): Renamed from GstElementState,
21565         changed to be a normal enum instead of flags.
21566         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
21567         munged to be GST_STATE_CHANGE_*.
21568         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
21569         work with the new state representation.
21570         (GstStateChange): New enumeration of possible state transitions.
21571         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
21572         (GstElementClass::change_state): Pass the GstStateChange along as
21573         an argument. Helps language bindings, so they don't have to use
21574         tricky lock-needing macros like GST_STATE_CHANGE ().
21575
21576         * scripts/update-states (file): New script. Run it on a file to
21577         update it for state naming and API changes. Updates files in
21578         place.
21579
21580         * All files updated for the new API.
21581
21582 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21583
21584         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
21585         * gst/gstutils.c: (gst_util_set_value_from_string),
21586         (gst_util_set_object_arg):
21587           fix a bunch of unchecked return values
21588         * tools/gst-complete.c: (main):
21589         * gstreamer.spec.in:
21590           clean up a little
21591
21592 2005-09-01  Wim Taymans  <wim@fluendo.com>
21593
21594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21595         (gst_base_sink_event), (gst_base_sink_do_sync),
21596         (gst_base_sink_handle_event):
21597         * gst/base/gstbasesink.h:
21598         Handle newsegments more correctly.
21599
21600         * gst/gstbus.c:
21601         Fix docs.
21602
21603         * gst/gstevent.c: (gst_event_new_newsegment):
21604         A newsegment cannot have a start_time of -1
21605
21606 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
21607
21608         * win32/gstenumtypes.c:
21609         * win32/gstenumtypes.h:
21610           Update
21611
21612 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21613
21614         * libs/gst/controller/gst-controller.c:
21615         (gst_controlled_property_set_interpolation_mode),
21616         (gst_controlled_property_new):
21617          fixed boolean again
21618
21619 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
21620
21621         * docs/faq/gst-uninstalled:
21622           add -good
21623         * gst/gstevent.c:
21624         * gst/gstevent.h:
21625           remove wrong docs
21626         * gst/gstutils.c: (gst_element_link_filtered):
21627         * gst/gstutils.h:
21628           add gst_element_link_filtered
21629
21630 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21631
21632         * docs/gst/gstreamer-docs.sgml:
21633         * docs/gst/gstreamer-sections.txt:
21634         * docs/gst/tmpl/.cvsignore:
21635         * docs/gst/tmpl/gsterror.sgml:
21636         * docs/gst/tmpl/gstfilter.sgml:
21637         * docs/gst/tmpl/gsturihandler.sgml:
21638         * docs/gst/tmpl/gsturitype.sgml:
21639         * docs/gst/tmpl/gstutils.sgml:
21640         * docs/gst/tmpl/gstxml.sgml:
21641         * gst/gsterror.c:
21642         * gst/gsterror.h:
21643         * gst/gstfilter.c:
21644         * gst/gsturi.c:
21645         * gst/gsturitype.c:
21646         * gst/gstutils.c:
21647         * gst/gstxml.c:
21648           inlined more docs, fixed double id-ref
21649
21650 2005-08-31  Wim Taymans  <wim@fluendo.com>
21651
21652         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21653         (gst_base_transform_handle_buffer):
21654         Passthrough elements don't need the caps as they don't care.
21655
21656 2005-08-31  Wim Taymans  <wim@fluendo.com>
21657
21658         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21659         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
21660         Don't leak refcounts on buffers.
21661
21662 2005-08-31  Wim Taymans  <wim@fluendo.com>
21663
21664         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
21665         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21666         (gst_base_transform_chain), (gst_base_transform_change_state):
21667         * gst/base/gstbasetransform.h:
21668         Handle the case where we are not negotiated more gracefully.
21669
21670 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
21671
21672         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
21673         (gst_file_src_map_region):
21674           Set READONLY flag on mmap'ed buffers, otherwise
21675           gst_buffer_make_writable() won't work properly (#314708).
21676
21677 2005-08-31  Wim Taymans  <wim@fluendo.com>
21678
21679         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
21680         passthrough elements can even do inplace on non writable
21681         buffers (as they don't touch them).
21682
21683 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21684
21685         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21686         (gst_test_mono_source_set_property),
21687         (gst_test_mono_source_class_init), (GST_START_TEST),
21688         (gst_controller_suite):
21689           more tests (hehe I have the most)
21690         * gst/gstbus.c:
21691           describe popping messages whenusing mulltiple sources
21692         * libs/gst/controller/gst-controller.c:
21693         (gst_controlled_property_set_interpolation_mode),
21694         (gst_controlled_property_new):
21695         * libs/gst/controller/gst-controller.h:
21696         * libs/gst/controller/gst-interpolation.c:
21697           implement boolean properties
21698
21699 2005-08-31  Wim Taymans  <wim@fluendo.com>
21700
21701         * gst/gstminiobject.c: (gst_mini_object_ref):
21702         Cannot assert that the refcount has to be positive
21703         since a disposed object can be resurrected.
21704
21705 2005-08-31  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/gstpad.c: (gst_pad_init):
21708         Revert change, need to first fix badly behaving 
21709         apps.
21710
21711 2005-08-30  Wim Taymans  <wim@fluendo.com>
21712
21713         * check/elements/fakesrc.c: (setup_fakesrc):
21714         * check/elements/identity.c: (setup_identity):
21715         Activate pads before using them.
21716
21717 2005-08-30  Wim Taymans  <wim@fluendo.com>
21718
21719         * gst/base/gstadapter.c: (gst_adapter_flush):
21720         Flushing out 0 bytes is ok for this function.
21721
21722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21723         no newsegment gives a warning and sets the start/stop to 
21724         invalid.
21725
21726         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
21727         (gst_base_transform_set_passthrough):
21728         Some debug info.
21729
21730         * gst/gstminiobject.c: (gst_mini_object_ref):
21731         Check refcount here too.
21732
21733         * gst/gstpad.c: (gst_pad_init):
21734         Pads are initially flushing and refusing data.
21735
21736         * gst/gstutils.c: (gst_element_link_pads_filtered):
21737         When adding a capsfilter element make sure it has the
21738         same state as the parent bin.
21739
21740 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21741
21742         * docs/gst/tmpl/.cvsignore:
21743         * docs/gst/tmpl/gstformat.sgml:
21744         * docs/gst/tmpl/gstversion.sgml:
21745         * gst/gstbus.h:
21746         * gst/gstformat.c:
21747         * gst/gstformat.h:
21748         * gst/gstversion.h.in:
21749           more docs and two more inlined
21750
21751 2005-08-30  Wim Taymans  <wim@fluendo.com>
21752
21753         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
21754         Don't sync to clock.
21755
21756 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21757
21758         * docs/gst/gstreamer-sections.txt:
21759           ultral33t func10ns deserve to appear in the docs actually
21760         * docs/gst/tmpl/.cvsignore:
21761         * docs/gst/tmpl/gstcompat.sgml:
21762         * docs/gst/tmpl/gstconfig.sgml:
21763         * gst/check/gstcheck.c:
21764         * gst/gstcompat.h:
21765         * gst/gstconfig.h.in:
21766           inlined more docs
21767
21768 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21769
21770         * docs/gst/tmpl/.cvsignore:
21771         * docs/gst/tmpl/gstquery.sgml:
21772         * docs/gst/tmpl/gstutils.sgml:
21773         * gst/gstquery.c:
21774         * gst/gstquery.h:
21775           inlined and extended docs
21776
21777 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21778
21779         * check/gst-libs/controller.c: (GST_START_TEST),
21780         (gst_controller_suite):
21781           more tests
21782         * docs/gst/tmpl/gstutils.sgml:
21783         * docs/libs/gstreamer-libs-sections.txt:
21784         * docs/libs/tmpl/gstdataprotocol.sgml:
21785           include path fixes
21786         * examples/controller/audio-example.c: (main):
21787           controller example works now
21788         * gst/gstclock.h:
21789           doc fixes
21790         * tools/gst-inspect.c: (print_element_properties_info):
21791           show param spec flags
21792
21793 2005-08-29  Andy Wingo  <wingo@pobox.com>
21794
21795         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
21796
21797 2005-08-28  Andy Wingo  <wingo@pobox.com>
21798
21799         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
21800         as having two arguments instead of just one. Allows superclasses
21801         to access information on subclasses -- see the terrible for() loop
21802         in gtype.c:g_type_create_instance for the reason why. All callers
21803         changed.
21804
21805 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21806
21807         * docs/design/part-messages.txt:
21808           update info
21809         * docs/gst/tmpl/.cvsignore:
21810         * docs/gst/tmpl/gstcaps.sgml:
21811         * docs/gst/tmpl/gstclock.sgml:
21812         * gst/gstbus.c:
21813         * gst/gstcaps.c:
21814         * gst/gstcaps.h:
21815         * gst/gstclock.c:
21816         * gst/gstclock.h:
21817         * gst/gstmessage.c:
21818           added descriptions for bus and message
21819           inline caps and clock docs
21820
21821 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21822
21823         * gst/gstmessage.c:
21824         * gst/gstmessage.h:
21825           doc fixes
21826
21827 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21828
21829         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21830           fix div-by-zero
21831
21832 2005-08-26  Andy Wingo  <wingo@pobox.com>
21833
21834         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
21835         element_set_state's return val.
21836         (test_2_elements): Add test that's been disabled for months.
21837
21838         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
21839         can-activate-pull properties.
21840
21841         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
21842         can-activate-pull properties. Implement is_seekable so fakesrc can
21843         operate in pull mode.
21844
21845         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
21846         properties.
21847         (gst_base_sink_activate, gst_base_sink_activate_pull)
21848         (gst_base_sink_activate_push): Make activation mode choosing work.
21849         Cleanups.
21850         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
21851         is right. Make pull mode work. Post an eos before pausing in pull
21852         mode.
21853         (gst_base_sink_change_state): Pay attention to the core's
21854         change_state() return val.
21855         
21856         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
21857         has-getrange properties. Cleanups.
21858         
21859         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
21860         has_getrange and replace with can_activate_pull and
21861         can_activate_push.
21862
21863         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
21864         locking comments. Remove has_loop, has_chain and replace with
21865         can_activate_pull and can_activate_push.
21866
21867 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
21868
21869         * configure.ac:
21870         * examples/Makefile.am:
21871         * examples/metadata/Makefile.am:
21872         * examples/metadata/read-metadata.c: (message_loop),
21873         (have_pad_handler), (make_pipeline), (print_tag), (main):
21874           Add metadata reading example that loops over a list of filenames,
21875           dumping any tags found.
21876
21877         * gst/gstbus.c: (gst_bus_dispose):
21878         * gst/gstelement.c: (gst_element_dispose):
21879           Release a few potentially-held references in dispose.
21880
21881 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21882
21883         * docs/gst/tmpl/gstminiobject.sgml:
21884           do *not* add tmpl/*.sgml files to CVS!
21885
21886 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21887
21888         * libs/gst/bytestream/.cvsignore:
21889         * libs/gst/bytestream/Makefile.am:
21890         * libs/gst/bytestream/adapter.c:
21891         * libs/gst/bytestream/adapter.h:
21892         * libs/gst/bytestream/bytestream.c:
21893         * libs/gst/bytestream/bytestream.h:
21894         * libs/gst/bytestream/filepad.c:
21895         * libs/gst/bytestream/filepad.h:
21896           removing obsolete files
21897
21898 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21899
21900         * docs/gst/gstreamer-docs.sgml:
21901         * docs/libs/gstreamer-libs-docs.sgml:
21902           disabed additional index entries again, as this makes docs-gen just
21903           slow and they aren't useful yet
21904         * docs/libs/gstreamer-libs-sections.txt:
21905           little -section.txt cleanup for libs
21906
21907 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
21908
21909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21910         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
21911           fix up some debugging
21912         (gst_base_transform_get_unit_size),
21913         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21914         (gst_base_transform_handle_buffer):
21915         * gst/base/gstbasetransform.h:
21916           handle and store timed NEWSEGMENT events so that subclasses that
21917           calculate time by counting samples have a segment_start time they
21918           need to add to their timestamps - see audioresample
21919
21920 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21921
21922         * gst/gstbin.h:
21923           removed ';' from the end of macro defs
21924         * docs/gst/gstreamer-docs.sgml:
21925         * docs/gst/gstreamer-sections.txt:
21926         * docs/gst/tmpl/.cvsignore:
21927         * gst/gstbus.h:
21928         * gst/gstelement.c: (gst_element_class_init),
21929         (gst_element_set_state), (activate_pads),
21930         (gst_element_save_thyself):
21931         * gst/gstevent.c: (gst_event_new_newsegment):
21932         * gst/gstevent.h:
21933         * gst/gstiterator.c:
21934         * gst/gstiterator.h:
21935         * gst/gstpad.c:
21936         * gst/gstprobe.h:
21937         * gst/gstutils.c: (gst_pad_query_convert):
21938         * gst/gstutils.h:
21939           fixed parameter name mismatches between source, header and docs
21940           added some more docs, resolved the last batch of unused elements in
21941           docs (now someone needs to doc them)
21942
21943 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21944
21945         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
21946         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
21947           don't walk through the plugins backwards.  Where is all this
21948           reversed logic coming from ?
21949
21950 2005-08-25  Wim Taymans  <wim@fluendo.com>
21951
21952         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21953         (gst_base_transform_transform_size),
21954         (gst_base_transform_configure_caps),
21955         (gst_base_transform_get_unit_size),
21956         (gst_base_transform_buffer_alloc),
21957         (gst_base_transform_change_state):
21958         * gst/base/gstbasetransform.h:
21959         Cache caps unit_size.
21960         Make sure we cannot negotiate up and downstream at the
21961         same time.
21962
21963 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21964
21965         * gst/gst.c: (init_pre), (init_post):
21966           register the installed plugin path after the env var
21967         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
21968         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
21969           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
21970           directories, so the tests can prefer uninstalled over installed
21971
21972 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21973
21974         * gst/base/gstbasetransform.h:
21975           comment
21976         * gst/gstpad.c:
21977           add to docs
21978
21979 2005-08-25  Wim Taymans  <wim@fluendo.com>
21980
21981         * gst/gstbin.c: (bin_bus_handler):
21982         Be a bit more conservative about the posted message.
21983         
21984         * gst/gstbus.c: (gst_bus_post):
21985         Some cleanups, warn wrong return values.
21986
21987 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
21988
21989         * check/gst/gstbin.c: (GST_START_TEST):
21990         * gst/gstbin.c: (bin_bus_handler):
21991         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
21992         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
21993         (gst_message_new_warning), (gst_message_new_tag),
21994         (gst_message_new_state_changed), (gst_message_new_segment_start),
21995         (gst_message_new_segment_done), (gst_message_new_custom):
21996         * gst/gstmessage.h:
21997         * tools/gst-launch.c: (event_loop):
21998         * tools/gst-md5sum.c: (event_loop):
21999           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22000
22001 2005-08-25  Wim Taymans  <wim@fluendo.com>
22002
22003         * check/generic/states.c: (GST_START_TEST):
22004         Cleanup can be done at the end.
22005
22006         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22007         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22008         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22009         Oh boy.. Thanks for finding this, Thomas. 
22010
22011 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22012
22013         * docs/gst/gstreamer.types:
22014           added missing types
22015
22016 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22017
22018         * docs/gst/gstreamer-docs.sgml:
22019         * docs/gst/gstreamer-sections.txt:
22020         * docs/gst/tmpl/.cvsignore:
22021         * gst/gstbin.c:
22022         * gst/gstiterator.c:
22023         * gst/gstutils.c:
22024         * gst/registries/gstxmlregistry.h:
22025           added missing classes and symbols (123 more to go)
22026           removed removed symbols from section file
22027           fixed many doc-comments
22028
22029 2005-08-24  Wim Taymans  <wim@fluendo.com>
22030
22031         * check/generic/states.c: (GST_START_TEST):
22032         Make sure all tasks are stopped.
22033
22034         * check/gst/gstbin.c: (GST_START_TEST):
22035         Unref after usage for proper valgrinding.
22036
22037         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22038         Really wait for the task to stop before destroying the
22039         mutex.
22040
22041         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22042         (gst_queue_src_activate_push):
22043         Small cleanups. Don't stop the task when we did not start
22044         it.
22045
22046         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22047         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22048         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22049         (gst_task_join):
22050         * gst/gsttask.h:
22051         Protect the stream lock with the object lock.
22052         Disallow setting the stream lock when running.
22053         Add cleanup_all to wait for the threadpool to finish.
22054         Remove code to autoallocate a mutex if none was provided.
22055         Add _join() to wait for a task to stop.
22056         Protect the thread pool with a global lock.
22057
22058 2005-08-24  Wim Taymans  <wim@fluendo.com>
22059
22060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22061         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22062         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22063         * gst/base/gstbasesink.h:
22064         Handle newsegment events correctly.
22065         Drop buffers out of the segment range.
22066
22067 2005-08-22  Andy Wingo  <wingo@pobox.com>
22068
22069         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22070         macro, implements an interface and gstimplementsinterface for a
22071         new type.
22072
22073 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22074
22075         * check/Makefile.am:
22076         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22077           add a test that does a bunch of state changes on elements
22078           needs some fixing for valgrind
22079         * check/states/sinks.c: (gst_object_suite):
22080           whitespace
22081         * gst/gstcaps.h:
22082           add prototype for gst_caps_is_equal_fixed
22083         * gst/gstplugin.c:
22084         * gst/gstregistrypool.c:
22085           doc fixes
22086
22087 2005-08-24  Andy Wingo  <wingo@pobox.com>
22088
22089         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22090         convert a negative value. Doesn't make much sense. Mostly this is
22091         here to force callers to ensure -1 maps to -1.
22092
22093 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22094
22095         * docs/pwg/advanced-types.xml:
22096           Well done to Michael for catching my deliberate introduction
22097           of this spelling mistake. 
22098         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22099         * gst/gstelement.h:
22100           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22101           unlink pads before removing the element from the bin.
22102
22103 2005-08-24  Andy Wingo  <wingo@pobox.com>
22104
22105         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22106         the same thing as GST_DEBUG=*:4.
22107         (parse_debug_level, parse_debug_category): New helper parsers.
22108
22109 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22110
22111         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22112         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22113         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22114         (gst_base_transform_buffer_alloc),
22115         (gst_base_transform_handle_buffer):
22116           use gboolean return values and pointers to size so we can use the
22117           full GST_BUFFER_SIZE range (guint) for buffer sizes
22118           use GstPadDirection for transform_caps
22119         * gst/base/gstbasetransform.h:
22120           rename get_size to get_unit_size since that's what it is
22121         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22122           use GstPadDirection for transform_caps
22123         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22124         * gst/gstutils.h:
22125           cleanup and debugging
22126
22127 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22128
22129         * gst/gstelement.c: (gst_element_class_init),
22130         (gst_element_set_state), (activate_pads),
22131         (gst_element_save_thyself):
22132         * tools/gst-compprep.c: (main):
22133         * tools/gst-inspect.c: (print_element_properties_info):
22134         * tools/gst-xmlinspect.c: (print_element_properties):
22135           Fixed long standing mem-leak
22136
22137 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22138
22139         * check/gst/gstbin.c: (GST_START_TEST):
22140         * gst/gstbin.c: (bin_bus_handler):
22141         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22142         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22143         (gst_message_new_warning), (gst_message_new_tag),
22144         (gst_message_new_state_changed), (gst_message_new_segment_start),
22145         (gst_message_new_segment_done), (gst_message_new_custom):
22146         * gst/gstmessage.h:
22147         * tools/gst-launch.c: (event_loop):
22148         * tools/gst-md5sum.c: (event_loop):
22149           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22150           that applications can sensibly post custom messages with references
22151           to their own objects.
22152
22153 2005-08-24  Andy Wingo  <wingo@pobox.com>
22154
22155         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22156         already.
22157
22158 2005-08-24  Wim Taymans  <wim@fluendo.com>
22159
22160         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22161         (gst_base_transform_transform_caps),
22162         (gst_base_transform_transform_size),
22163         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22164         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22165         (gst_base_transform_handle_buffer):
22166         * gst/base/gstbasetransform.h:
22167         Many fixes and new features added by Thomas. Can now also do
22168         transforms with variable sizes and a custom fixate_caps function.
22169
22170 2005-08-24  Wim Taymans  <wim@fluendo.com>
22171
22172         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22173         Some debugging.
22174
22175         * gst/gstclock.h:
22176         Cast to ClockTime before formatting to time.
22177
22178         * gst/gstutils.h:
22179         Cleanups.
22180
22181 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22182
22183         * check/gst-libs/controller.c: (GST_START_TEST),
22184         (gst_controller_suite):
22185         * docs/gst/tmpl/gstcaps.sgml:
22186         * docs/gst/tmpl/gstghostpad.sgml:
22187         * docs/gst/tmpl/gstquery.sgml:
22188         * docs/gst/tmpl/gstutils.sgml:
22189         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22190         (gst_object_sink_values), (gst_object_get_value_arrays),
22191         (gst_object_get_value_array):
22192           gracefully handle helper method calls to objects that are not beeing
22193           controlled, added test case for that          
22194
22195 2005-08-23  Wim Taymans  <wim@fluendo.com>
22196
22197         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22198         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22199         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22200         (gst_event_parse_qos), (gst_event_new_seek),
22201         (gst_event_parse_seek):
22202         * gst/gstevent.h:
22203         Some more debugging output and doc cleanups.
22204
22205         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22206         Fix possible deadlock.
22207
22208 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22209
22210         * docs/gst/gstreamer-docs.sgml:
22211         * docs/gst/gstreamer-sections.txt:
22212         * docs/gst/gstreamer.types:
22213         * docs/gst/tmpl/.cvsignore:
22214         * gst/gstbin.h:
22215         * gst/gstbus.c:
22216         * gst/gstelement.c:
22217         * gst/gstevent.h:
22218           added 100 symbols from gstreamer-unused.txt to the right sections
22219           fixed more broken comments
22220           added GstBus to docs
22221
22222 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22223
22224         * docs/gst/gstreamer-sections.txt:
22225         * docs/gst/tmpl/.cvsignore:
22226         * docs/gst/tmpl/gstbin.sgml:
22227         * docs/gst/tmpl/gstbuffer.sgml:
22228         * gst/base/gstbasesrc.c:
22229         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22230         * gst/gstbuffer.c:
22231         * gst/gstbuffer.h:
22232         * tools/gst-launch.1.in:
22233           inlined more doc comments, added missing comments and fixed comments
22234           fixed typos
22235
22236 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22237
22238         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22239           some debugging
22240         * gst/gstcaps.h:
22241           whitespace fixes
22242         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22243           more debugging
22244         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22245         * gst/gststructure.h:
22246           add a fixate function for booleans; add a FIXME that these func
22247           names should probably be gst_structure_fixate_*
22248
22249 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22250
22251         * docs/gst/gstreamer-docs.sgml:
22252         * docs/gst/gstreamer-sections.txt:
22253         * gst/Makefile.am:
22254         * gst/gstbin.c: (gst_bin_get_type),
22255         (gst_bin_child_proxy_get_child_by_index),
22256         (gst_bin_child_proxy_get_children_count),
22257         (gst_bin_child_proxy_init):
22258         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22259         (gst_child_proxy_get_child_by_index),
22260         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22261         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22262         (gst_child_proxy_get), (gst_child_proxy_set_property),
22263         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22264         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22265         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22266         * gst/gstchildproxy.h:
22267         * gst/parse/grammar.y:
22268         * tools/gst-inspect.c: (print_interfaces),
22269         (print_element_properties_info), (print_element_info):
22270           ported gstchildproxy over from 0.8
22271           ported gst-inspect fixes and enhancements over from 0.8
22272
22273 2005-08-22  Wim Taymans  <wim@fluendo.com>
22274
22275         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22276         (gst_base_transform_handle_buffer):
22277         Also call the transform function if we have ANY caps.
22278
22279         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22280         Fix debug info.
22281
22282 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22283
22284         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22285           Don't pretend to handle seek events if the source is not seekable
22286
22287 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22288
22289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22290           Remove extra parameter to debug output
22291
22292         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22293         (gst_base_src_do_seek), (gst_base_src_activate_push):
22294           Fix seek event handling.
22295
22296         * gst/gstpipeline.c: (gst_pipeline_change_state):
22297         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22298         (gst_queue_src_activate_push):
22299           Don't start the src pad task on FLUSH_STOP if the pad
22300           isn't linked.
22301           Debug changes.
22302
22303 2005-08-22  Wim Taymans  <wim@fluendo.com>
22304
22305         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22306         Added check for gst_static_caps_get() refcounting.
22307
22308 2005-08-22  Wim Taymans  <wim@fluendo.com>
22309
22310         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22311         Make _static_caps_get() refcounting sane.
22312         
22313         * gst/gstelement.c: (gst_element_set_state):
22314         Add g_return_val_if_fail() to protect against segfaults.
22315
22316 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22317
22318         * docs/gst/tmpl/gstevent.sgml:
22319         * gst/gstevent.c:
22320         * gst/gstevent.h:
22321           inlined remaining docs, added missing doc comments
22322
22323 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22324
22325         * check/gst/gstbin.c: (GST_START_TEST):
22326           since we don't know when preroll is done, use refcount range
22327           check for the sink
22328         * gst/check/gstcheck.h:
22329           add macro for checking refcount range
22330
22331 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22332
22333         * check/Makefile.am:
22334           clean up environment for when registry gets built versus
22335           when actual tests are run; valgrind seems to not report
22336           leaks if GST_PLUGIN_PATH is set to some specific values
22337         * check/gst/gstbin.c: (GST_START_TEST):
22338           add more refcounting checks; maybe this exposes a
22339           preroll lock bug ?
22340         * common/check.mak:
22341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22342         * gst/check/gstcheck.h:
22343         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22344         (gst_bin_change_state):
22345         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22346           add/fix debugging/whitespace
22347
22348 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22349
22350         * check/gst/gstevent.c: (event_probe), (test_event),
22351         (GST_START_TEST):
22352          Er, don't call gst_bin_watch_for_state_change you idiot.
22353
22354 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22355
22356         * check/Makefile.am:
22357           Use CHECK_CFLAGS and CHECK_LIBS
22358         * check/gst/gstevent.c: (event_probe), (test_event),
22359         (GST_START_TEST):
22360           Don't leak events.
22361         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22362         (gst_base_src_start), (gst_base_src_stop),
22363         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22364         (gst_base_src_change_state):
22365           Sprinkle gst_base_src_stop liberally around error paths to fix
22366           problems reusing a source after failed state changes.
22367         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22368         (helper_find_suggest), (gst_type_find_helper):
22369           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22370         * gst/gstevent.h:
22371         * docs/gst/tmpl/gstevent.sgml:
22372           Migrate part of the docs from the SGML file. Wait for ensonic to
22373           tell me how I did it wrong ;)
22374         * tools/gst-typefind.c: (main):
22375           Extra robustness to state changes between files.
22376
22377 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22378
22379         * check/Makefile.am:
22380           don't valgrind the controller test - it's leaking - Stefan, HELP
22381         * gst/check/gstcheck.c: (gst_check_message_error),
22382         (gst_check_chain_func), (gst_check_setup_element),
22383         (gst_check_teardown_element), (gst_check_setup_src_pad),
22384         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22385         (gst_check_teardown_sink_pad):
22386         * gst/check/gstcheck.h:
22387           add a bunch of methods to set up elements, and src and sink pads
22388         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22389         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22390         (GST_START_TEST):
22391           use them
22392         * gst/gstmessage.c:
22393         * gst/gsttag.h:
22394           whitespace/doc fixes
22395
22396 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22397
22398         * gst/gstelement.h:
22399           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22400           be handled by the application and not always printed as well
22401
22402 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22403
22404         * check/Makefile.am:
22405           set GST_TOOLS_DIR
22406         * gst/check/gstcheck.c: (gst_check_message_error):
22407         * gst/check/gstcheck.h:
22408           add a fail_unless_equals_int
22409           add fail_unless for error messages
22410
22411 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22412
22413         * check/Makefile.am:
22414         * check/gst.supp:
22415         * common/Makefile.am:
22416         * common/check.mak:
22417         * common/gst.supp:
22418           factor out some of the common stuff so we can use it
22419
22420 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22421
22422         * check/Makefile.am:
22423         * check/gst/gstiterator.c: (GST_START_TEST):
22424         * check/gst/gstsystemclock.c: (GST_START_TEST),
22425         (gst_systemclock_suite):
22426         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22427         * gst/gstclock.c:
22428           valgrind more tests
22429
22430 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22431
22432         * check/elements/.cvsignore:
22433         * check/elements/gstfakesrc.c:
22434           rename to name of element
22435         * check/elements/identity.c: (chain_func), (event_func),
22436         (setup_identity), (cleanup_identity), (GST_START_TEST),
22437         (identity_suite), (main):
22438           add a test for identity
22439         * check/Makefile.am:
22440         * pkgconfig/Makefile.am:
22441         * pkgconfig/gstreamer-check.pc.in:
22442         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22443         * gst/check:
22444         * gst/Makefile.am:
22445         * configure.ac:
22446           move the check stuff to a library that gets installed
22447         * check/gst-libs/controller.c: (GST_START_TEST):
22448         * check/gst-libs/gdp.c:
22449         * check/gst/gst.c: (GST_START_TEST):
22450         * check/gst/gstbin.c:
22451         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22452         * check/gst/gstbus.c:
22453         * check/gst/gstcaps.c: (GST_START_TEST):
22454         * check/gst/gstelement.c:
22455         * check/gst/gstghostpad.c:
22456         * check/gst/gstiterator.c:
22457         * check/gst/gstmessage.c:
22458         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22459         * check/gst/gstobject.c:
22460         * check/gst/gstpad.c: (GST_START_TEST):
22461         * check/gst/gststructure.c: (GST_START_TEST):
22462         * check/gst/gstsystemclock.c: (GST_START_TEST),
22463         (gst_systemclock_suite):
22464         * check/gst/gsttag.c: (gst_tag_suite):
22465         * check/gst/gstvalue.c:
22466         * check/pipelines/cleanup.c:
22467         * check/pipelines/simple_launch_lines.c:
22468         * check/states/sinks.c:
22469           change include statement
22470
22471         * docs/gst/gstreamer-sections.txt:
22472         * docs/gst/tmpl/gstpad.sgml:
22473           document more pad stuff
22474         * gst/gstminiobject.c: (gst_mini_object_ref),
22475         (gst_mini_object_unref):
22476           debug refcounting
22477
22478 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
22479
22480         * docs/gst/tmpl/gst.sgml:
22481         * gst/gst.c:
22482           eliminate another tmpl file, fix spelling in the long-description
22483
22484 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22485
22486         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22487         (test_event), (timediff), (gstevents_suite):
22488           Should fix build on 64-bit arch's
22489
22490 2005-08-18  Andy Wingo  <wingo@pobox.com>
22491
22492         Make sure that when a pipeline goes to PLAYING, that data has
22493         actually hit the sink.
22494
22495         * check/states/sinks.c (test_sink): A sink that doesn't get any
22496         data shouldn't return SUCCESS for going to either PLAYING or
22497         PAUSED. Test also the return values on the way back down.
22498
22499         * gst/gstelement.c (gst_element_set_state): When changing the
22500         state of an element currently changing state asynchronously, go to
22501         lost-state after commiting the pending state. Makes future calls
22502         to get_state continue to return ASYNC.
22503
22504         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
22505         ASYNC when going to PLAYING if we still don't have preroll, as can
22506         happen with live sources.
22507
22508 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22509
22510         * docs/pwg/advanced-types.xml:
22511           Hack long paragraph into 2 chunks as a workaround for buggy
22512           jadetex version in sid and breezy that loops infinitely and
22513           eats all RAM.
22514
22515 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22516
22517         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22518         (test_event), (timediff), (gstevents_suite):
22519           Provide more error margin in clock measurements to allow for 
22520           g_get_current_time inaccuracies.
22521
22522 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22523
22524         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22525         (test_event), (timediff), (gstevents_suite):
22526            Fix error message output so I might be able to tell why the
22527            test works here but fails on the build farm.
22528
22529 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22530
22531         * check/Makefile.am:
22532         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22533         (test_event), (timediff), (gstevents_suite), (main):
22534           I wrote a test!
22535
22536         * docs/design/part-seeking.txt:
22537           Spelling correction
22538
22539         * docs/gst/tmpl/gstevent.sgml:
22540         * docs/gst/tmpl/gstfakesrc.sgml:
22541           Docs updates.
22542
22543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22544           Treat a buffer-without-newsegment the same as a receiving 
22545           a newsegment not in time format, and disable syncing to the clock
22546           with a warning.
22547
22548         * gst/gstbus.c: (gst_bus_set_sync_handler):
22549           Assert if anyone tries to replace the existing sync_handler for bus, 
22550           as only the owner should be setting it.
22551
22552         * gst/gstevent.h:
22553           Have a fixed set of custom event enums with events identified by
22554           their structure name (as in 0.8), rather than a free-for-all
22555           allowing collisions between enum values from different plugins.
22556
22557         * gst/gstpad.c: (gst_pad_class_init):
22558           Docs change.
22559           
22560         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22561           Handle out-of-band downstream events from the sending thread.
22562
22563 2005-08-17  Andy Wingo  <wingo@pobox.com>
22564
22565         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
22566         play-timeout==0 to mean no timeout at all. In that case, don't
22567         bother with a get_state or a warning, just return directly, even
22568         if it's ASYNC.
22569
22570         * gst/base/gstbasetransform.c: Debug changes.
22571
22572         * gst/gstutils.h:
22573         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
22574         ensure bins post state change messages. A bit of a hack but I can't
22575         think of a way to avoid it.
22576
22577         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
22578
22579 2005-08-16  Andy Wingo  <wingo@pobox.com>
22580
22581         * gst/base/gstadapter.h:
22582         * gst/base/gstadapter.c (gst_adapter_take): New function, like
22583         peek() but you own the data. Not terribly efficient atm.
22584
22585 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22586
22587         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
22588         (gst_element_found_tags):
22589         * gst/gstutils.h:
22590           Add two utility functions for tag handling.
22591
22592 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22593
22594         * docs/manual/advanced-dataaccess.xml:
22595         * docs/manual/basics-helloworld.xml:
22596           Fix docs to use _bin_add() before _link(), which fixes the examples
22597           with recent core versions (reported by Madhan Raj M
22598           <raj_madan@rediffmail.com>, #313199).
22599
22600 2005-08-16  Wim Taymans  <wim@fluendo.com>
22601
22602         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22603         Added subtract checks.
22604
22605         * docs/design/part-events.txt:
22606         Some more docs about newsegment
22607
22608         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22609         Fix FIXME
22610
22611         * gst/gstcaps.c: (gst_caps_to_string):
22612         Add comments, cleanups.
22613         
22614         * gst/gstelement.c: (gst_element_save_thyself):
22615         cleanups
22616         
22617         * gst/gstvalue.c: (gst_value_collect_int_range),
22618         (gst_string_unwrap), (gst_value_union_int_int_range),
22619         (gst_value_union_int_range_int_range),
22620         (gst_value_intersect_int_int_range),
22621         (gst_value_intersect_int_range_int_range),
22622         (gst_value_intersect_double_double_range),
22623         (gst_value_intersect_double_range_double_range),
22624         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
22625         (gst_value_subtract_int_range_int),
22626         (gst_value_subtract_double_range_double),
22627         (gst_value_subtract_double_range_double_range),
22628         (gst_value_subtract_from_list), (gst_value_subtract_list),
22629         (gst_value_can_compare), (gst_value_compare_fraction):
22630         Cleanups, add comments, remove unneeded asserts.
22631
22632 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22633
22634         * tools/gst-launch.c: (event_loop):
22635           don't convert NULL structures to strings
22636
22637 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
22638
22639         * docs/gst/gstreamer-sections.txt:
22640           made some defines private
22641         * docs/gst/tmpl/gstconfig.sgml:
22642         * docs/gst/tmpl/gstqueue.sgml:
22643         * docs/gst/tmpl/gsttaglist.sgml:
22644         * docs/gst/tmpl/gsttypes.sgml:
22645         * docs/gst/tmpl/gstutils.sgml:
22646         * docs/pwg/appendix-porting.xml:
22647         * gst/base/gstbasesink.h:
22648         * gst/base/gstbasesrc.c:
22649         * gst/base/gstbasesrc.h:
22650         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
22651         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
22652         * gst/gstelement.c: (gst_element_class_init):
22653         * gst/gstpad.c: (gst_pad_class_init):
22654         * gst/gstqueue.c: (gst_queue_class_init):
22655         * gst/gstxml.c: (gst_xml_class_init):
22656           documented all undocumented signal inline
22657         * libs/gst/controller/gst-controller.h:
22658           added padding
22659
22660 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22661
22662         * docs/pwg/appendix-porting.xml:
22663           Document _set_link_function -> _set_setcaps_function.
22664
22665 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22666
22667         * check/Makefile.am:
22668           add a .check target for running the check
22669         * check/gst-libs/controller.c: (GST_START_TEST):
22670           cosmetic fixups
22671         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22672           complete checks for gstbuffer; would be nice if I could get the
22673           gcov stuff to work so I can see if I actually completed gstbuffer.c
22674         * check/gstcheck.h:
22675           add ASSERT_BUFFER_REFCOUNT
22676
22677 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
22678
22679         * docs/gst/gstreamer-sections.txt:
22680         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
22681         * gst/gsttag.h:
22682           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
22683           spew out a warning if a tag that is already registered
22684           is re-registered, unless it is re-registered with a 
22685           different type (#308438).
22686
22687 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
22688
22689         * docs/pwg/appendix-porting.xml:
22690         * docs/pwg/building-state.xml:
22691           Add some paragraphs about state changes in 0.9 to the PWG
22692           and the porting guide, in particular about the new meaning
22693           of GST_STATE_PAUSED and how to write state change functions
22694           with concurrent access by multiple threads in mind.
22695
22696 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
22697
22698         * docs/gst/gstreamer-docs.sgml:
22699         * docs/libs/gstreamer-libs-docs.sgml:
22700           added deprecation and since indexes
22701         * libs/gst/controller/gst-controller.c:
22702         * libs/gst/controller/gst-helper.c:
22703           added since tags
22704
22705
22706 2005-08-11  Wim Taymans  <wim@fluendo.com>
22707
22708         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
22709         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
22710         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
22711         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
22712         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
22713         (gst_ghost_pad_set_target):
22714         Actually implement (re)setting the target on a ghostpad
22715         as described in the docs.
22716
22717 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22718
22719         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
22720           Check whether GST_DEBUG_NO_COLOR environment variable is
22721           set and disable coloured debug output if that is the case.
22722
22723 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22724
22725         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22726         (gst_type_find_helper):
22727           The memory returned by gst_type_find_peek() needs to
22728           stay valid until the end of a typefind function, and
22729           typefind functions may keep results from different 
22730           offsets around, so we can't just unref the buffer from
22731           the previous _peek(), but have to save all buffers 
22732           returned by _peek() until typefinding is done and only
22733           free them then.
22734
22735 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
22736
22737         * docs/gst/gstreamer-sections.txt:
22738         * gst/gstutils.h:
22739           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
22740
22741 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22742
22743         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
22744           Fix a pretty good memleak.
22745
22746 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22747
22748         * gst/gstiterator.h:
22749           Fix wrong include and 'make distcheck'.
22750
22751 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22752
22753         * gst/gstbin.c: (bin_bus_handler):
22754           Use gst_element_post_message() instead.
22755
22756 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22757
22758         * gst/base/gstadapter.h:
22759         * gst/base/gstbasesink.h:
22760         * gst/base/gstbasesrc.h:
22761         * gst/base/gstbasetransform.h:
22762         * gst/base/gstcollectpads.h:
22763         * gst/base/gstpushsrc.h:
22764         * gst/gstiterator.h:
22765           Add padding to our base elements' class and instance structs and
22766           to GstIterator (you will need to rebuild all plugins and apps!)
22767
22768 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22769
22770         * gst/gstbin.c: (bin_bus_handler):
22771           Make default message forwarding from child->bus to bin->bus
22772           threadsafe and make it not emit warnings if the parent has no bus.
22773
22774 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22775
22776         * gst/gstelement.c: (activate_pads):
22777           On paused->ready, set pad->caps to NULL, as is the documented
22778           behaviour in this state change. Fixes playback of series of
22779           media files when visualization is enabled in Totem.
22780
22781 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22782
22783         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22784           Allow NULL as filter-caps (which means "any").
22785
22786 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22787
22788         * docs/libs/gstreamer-libs-sections.txt:
22789         * libs/gst/controller/gst-controller.c:
22790         * libs/gst/controller/gst-controller.h:
22791         * libs/gst/controller/gst-helper.c:
22792           adding more entries to the docs and fix small doc-bugs
22793
22794 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22795
22796         * docs/gst/gstreamer-docs.sgml:
22797         * docs/gst/gstreamer-sections.txt:
22798         * docs/gst/gstreamer.types:
22799         * docs/gst/tmpl/gstbasesink.sgml:
22800         * docs/gst/tmpl/gstbasesrc.sgml:
22801         * docs/gst/tmpl/gstbasetransform.sgml:
22802         * docs/gst/tmpl/gstfakesrc.sgml:
22803         * gst/base/gstcollectpads.c:
22804         * gst/base/gstcollectpads.h:
22805         * libs/gst/controller/gst-controller.c:
22806         * libs/gst/controller/gst-controller.h:
22807         * libs/gst/controller/gst-helper.c:
22808         * libs/gst/controller/gst-interpolation.c:
22809         * libs/gst/controller/lib.c:
22810           added long/short desc for controller docs
22811           added collectpads base class docs
22812           added correct includes to base-class docs
22813
22814 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22815
22816         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22817         (gst_test_mono_source_set_property),
22818         (gst_test_mono_source_class_init), (GST_START_TEST),
22819         (gst_controller_suite):
22820         * docs/gst/gstreamer-docs.sgml:
22821         * docs/gst/gstreamer-sections.txt:
22822         * docs/gst/gstreamer.types:
22823         * docs/libs/gstreamer-libs-docs.sgml:
22824         * docs/libs/gstreamer-libs-sections.txt:
22825         * gst/base/gstadapter.c:
22826         * libs/gst/controller/gst-controller.c:
22827         (gst_controlled_property_new), (gst_controlled_property_free),
22828         (gst_controller_new_valist),
22829         (gst_controller_remove_properties_valist),
22830         (gst_controller_sink_values), (_gst_controller_finalize):
22831         * libs/gst/controller/gst-controller.h:
22832         * libs/gst/controller/gst-helper.c:
22833         (gst_object_control_properties), (gst_object_uncontrol_properties),
22834         (gst_object_get_controller), (gst_object_set_controller),
22835         (gst_object_sink_values), (gst_object_get_value_arrays),
22836         (gst_object_get_value_array):
22837           more tests (and fixes) for the controller
22838           more docs for the controller
22839           integrated companies docs for the adapter 
22840
22841 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22842
22843         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
22844         (GST_START_TEST), (fakesrc_suite):
22845           add tests for sizetype
22846
22847 2005-08-04  Andy Wingo  <wingo@pobox.com>
22848
22849         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
22850         fixes buffer_alloc proxying among other things.
22851
22852         * gst/base/gstbasetransform.c:
22853         * gst/base/gstbasetransform.h:
22854         Revert patch to gstbasetransform from 7-28 removing
22855         delay_configure.
22856
22857         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
22858         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
22859         Semantics changed, should return not the size of the output buffer
22860         but the byte size of a buffer with a given caps.
22861
22862         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
22863         debug object.
22864         (gst_base_transform_configure_caps): Don't set out_size here: (in,
22865         out) are not the pad caps until setcaps finishes.
22866         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
22867         not-in-place case as well. Deal with changing from in-place to
22868         not-in-place within calling pad_alloc_buffer. Still a bit
22869         concerned about the overhead here...
22870
22871 2005-08-03  Andy Wingo  <wingo@pobox.com>
22872
22873         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
22874         fixating is an error.
22875
22876 2005-08-04  Edward Hervey  <edward@fluendo.com>
22877
22878         * gst/base/gstadapter.h: 
22879         Added gst_adapter_get_type() to the header
22880
22881 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22882
22883         * check/Makefile.am:
22884         * check/gst-libs/controller.c:
22885         * libs/gst/controller/gst-controller.c:
22886         (gst_controller_new_valist):
22887           added check test suite for the controller
22888         * gst/base/gstpushsrc.c:
22889           fixed a doc typo
22890
22891 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22892
22893         * docs/gst/Makefile.am:
22894         * docs/gst/gstreamer-docs.sgml:
22895         * docs/gst/gstreamer-sections.txt:
22896         * docs/gst/gstreamer.types:
22897         * docs/gst/tmpl/gstfakesrc.sgml:
22898         * gst/base/README:
22899         * gst/base/gstbasesink.c:
22900         * gst/base/gstbasesink.h:
22901         * gst/base/gstbasesrc.c:
22902         * gst/base/gstbasesrc.h:
22903         * gst/base/gstbasetransform.c:
22904         * gst/base/gstpushsrc.c:
22905         * gst/base/gstpushsrc.h:
22906           add short/long description docs to base classes
22907           add pushsrc to the docs
22908           remove consolidated doc fragments
22909
22910 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22911
22912         * configure.ac:
22913         * docs/libs/Makefile.am:
22914         * docs/libs/gstreamer-libs-docs.sgml:
22915         * docs/libs/gstreamer-libs-sections.txt:
22916         * docs/libs/gstreamer-libs.types:
22917         * examples/Makefile.am:
22918         * examples/controller/.cvsignore:
22919         * examples/controller/Makefile.am:
22920         * examples/controller/audio-example.c: (main):
22921         * libs/gst/Makefile.am:
22922         * libs/gst/controller/.cvsignore:
22923         * libs/gst/controller/Makefile.am:
22924         * libs/gst/controller/gst-controller.c:
22925         (on_object_controlled_property_changed), (gst_timed_value_compare),
22926         (gst_timed_value_find),
22927         (gst_controlled_property_set_interpolation_mode),
22928         (gst_controlled_property_new), (gst_controlled_property_free),
22929         (gst_controller_find_controlled_property),
22930         (gst_controller_new_valist), (gst_controller_new),
22931         (gst_controller_remove_properties_valist),
22932         (gst_controller_remove_properties), (gst_controller_set),
22933         (gst_controller_set_from_list), (gst_controller_unset),
22934         (gst_controller_get), (gst_controller_get_all),
22935         (gst_controller_sink_values), (gst_controller_get_value_arrays),
22936         (gst_controller_get_value_array),
22937         (gst_controller_set_interpolation_mode),
22938         (_gst_controller_finalize), (_gst_controller_init),
22939         (_gst_controller_class_init), (gst_controller_get_type):
22940         * libs/gst/controller/gst-controller.h:
22941         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
22942         (g_object_uncontrol_properties), (g_object_get_controller),
22943         (g_object_set_controller), (g_object_sink_values),
22944         (g_object_get_value_arrays), (g_object_get_value_array):
22945         * libs/gst/controller/gst-interpolation.c:
22946         (gst_controlled_property_find_timed_value_node),
22947         (interpolate_none_get), (interpolate_trigger_get),
22948         (interpolate_trigger_get_value_array):
22949         * libs/gst/controller/lib.c: (gst_controller_init):
22950         * pkgconfig/Makefile.am:
22951         * pkgconfig/gstreamer-control-uninstalled.pc.in:
22952         * pkgconfig/gstreamer-control.pc.in:
22953         * testsuite/Makefile.am:
22954         * testsuite/controller/.cvsignore:
22955         * testsuite/controller/Makefile.am:
22956         * testsuite/controller/interpolator.c: (main):
22957           added controller code
22958           removed dparam pc files
22959
22960 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22961         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
22962         (gst_collectpads_stop):
22963           Broadcast the condition when shutting down, to make sure we wake all
22964           threads up. Shut down pads on finalize, for safety.
22965
22966 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22967         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22968         (gst_base_transform_handle_buffer),
22969         (gst_base_transform_change_state):
22970           Handle PAUSED->READY->PAUSED transition after negotiation
22971           occurred already.
22972         * gst/gstmessage.c: (gst_message_init):
22973           Extra piece of debug for new messages.
22974
22975 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
22976
22977         * configure.ac:
22978         * docs/gst/tmpl/gstbasesrc.sgml:
22979         * docs/gst/tmpl/gstelement.sgml:
22980         * docs/gst/tmpl/gstevent.sgml:
22981         * docs/gst/tmpl/gstfakesrc.sgml:
22982         * docs/gst/tmpl/gstformat.sgml:
22983         * docs/gst/tmpl/gstghostpad.sgml:
22984         * docs/gst/tmpl/gstpad.sgml:
22985         * docs/gst/tmpl/gstquery.sgml:
22986         * docs/gst/tmpl/gststructure.sgml:
22987         * docs/gst/tmpl/gsttaglist.sgml:
22988         * docs/gst/tmpl/gstvalue.sgml:
22989         * docs/libs/gstreamer-libs-docs.sgml:
22990         * docs/libs/gstreamer-libs-sections.txt:
22991         * docs/libs/gstreamer-libs.types:
22992         * libs/gst/Makefile.am:
22993         * libs/gst/control/.cvsignore:
22994         * libs/gst/control/Makefile.am:
22995         * libs/gst/control/control.c:
22996         * libs/gst/control/control.h:
22997         * libs/gst/control/dparam.c:
22998         * libs/gst/control/dparam.h:
22999         * libs/gst/control/dparam_smooth.c:
23000         * libs/gst/control/dparam_smooth.h:
23001         * libs/gst/control/dparamcommon.h:
23002         * libs/gst/control/dparammanager.c:
23003         * libs/gst/control/dparammanager.h:
23004         * libs/gst/control/dplinearinterp.c:
23005         * libs/gst/control/dplinearinterp.h:
23006         * libs/gst/control/unitconvert.c:
23007         * libs/gst/control/unitconvert.h:
23008         * testsuite/Makefile.am:
23009         * testsuite/dynparams/.cvsignore:
23010         * testsuite/dynparams/Makefile.am:
23011         * testsuite/dynparams/dparamstest.c:
23012         * tools/Makefile.am:
23013         * tools/gst-inspect.c: (print_element_info), (main):
23014         * tools/gst-xmlinspect.c: (print_element_info), (main):
23015           deactivate and remove dparams (libgstcontrol)
23016
23017 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23018
23019         * gst/elements/gsttypefindelement.c:
23020         (gst_type_find_element_have_type), (gst_type_find_element_init),
23021         (stop_typefinding), (gst_type_find_element_handle_event),
23022         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23023         * gst/elements/gsttypefindelement.h:
23024           Set caps on all outgoing buffers, not just the first one.
23025
23026 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23027
23028         * gst/elements/gsttypefindelement.c:
23029         (gst_type_find_element_have_type),
23030         (gst_type_find_element_check_set_buffer_caps),
23031         (gst_type_find_element_init), (stop_typefinding),
23032         (gst_type_find_element_handle_event),
23033         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23034         * gst/elements/gsttypefindelement.h:
23035           Set caps on first outgoing buffer when we've found the type.
23036
23037 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23038
23039         * docs/gst/gstreamer-docs.sgml:
23040         * docs/gst/gstreamer-sections.txt:
23041         * docs/gst/tmpl/gstscheduler.sgml:
23042         * docs/gst/tmpl/gstschedulerfactory.sgml:
23043           Remove some old cruft from docs.
23044
23045 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23046
23047         * gst/gstpad.h:
23048           Fix inline docs for GstPadLinkReturn.
23049           
23050         * gst/gststructure.c: (gst_structure_has_name):
23051         * gst/gststructure.h:
23052         * docs/gst/gstreamer-sections.txt:
23053           New API: gst_structure_has_name().
23054
23055 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23056
23057         * configure.ac:
23058           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23059           and _LARGEFILE_SOURCE in config.h as required. Do not 
23060           export those flags in our .pc files any longer (#142209).
23061
23062           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23063
23064         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23065         (gst_file_sink_do_seek), (gst_file_sink_event),
23066         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23067           Redo seek/tell calls with large file support in mind; add some
23068           debugging messages; add log message that tells us when large
23069           file support is unavailable or not enabled for some reason.
23070
23071         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23072           Add log message that tells us when large file support 
23073           is unavailable or not enabled for some reason.
23074
23075 2005-07-29  Wim Taymans  <wim@fluendo.com>
23076
23077         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23078         Added test for removing an element with ghostpad from a bin.
23079         Fixed test as current implementation does the right thing.
23080
23081         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23082         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23083         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23084         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23085         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23086         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23087         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23088         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23089         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23090         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23091         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23092         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23093         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23094         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23095         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23096         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23097         * gst/gstghostpad.h:
23098         Clean up ghostpads, remove properties for internal stuff.
23099         Make threadsafe.
23100         Fix refcounting.
23101         Prepare for switching targets, not all use cases work yet.
23102
23103 2005-07-29  Wim Taymans  <wim@fluendo.com>
23104
23105         * docs/design/part-gstghostpad.txt:
23106         Small update.
23107
23108         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23109         (gst_bin_remove_func):
23110         Unlinking pads while holding the bin LOCK is not a good
23111         idea.
23112
23113         * gst/gstpad.c: (gst_pad_class_init),
23114         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23115         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23116         No prob setting template after creating the pad.
23117
23118 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23119
23120         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23121         (gst_bus_peek), (gst_bus_source_dispatch),
23122         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23123         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23124           gst_bus_poll may be called from other threads. Handle
23125           this nicely by not making poll_data disappear off the
23126           stack once gst_bus_poll returns.
23127           gst_bus_peek now increments the refcount on the returned
23128           message.
23129
23130 2005-07-29  Wim Taymans  <wim@fluendo.com>
23131
23132         * docs/design/part-gstghostpad.txt:
23133         Overview of current GhostPad datastructures and use
23134         cases for changing the target.
23135
23136 2005-07-28  Wim Taymans  <wim@fluendo.com>
23137
23138         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23139         Added checks for hierarchy consistency whan adding linked
23140         elements to bins.
23141
23142         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23143         Added check to test element scheduling without bin/pipeline.
23144
23145         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23146         First add elements to bin, then link.
23147         
23148         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23149         (gst_bin_remove_func):
23150         Unlink pads from elements added/removed from bin to maintain
23151         hierarchy consistency.
23152
23153 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23154
23155         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23156         (gst_base_transform_handle_buffer):
23157         * gst/base/gstbasetransform.h:
23158           Remove broken delay_configure (fixes renegotiation of software
23159           scaling pipelines); remove some leftover printf()s.
23160
23161 2005-07-28  Wim Taymans  <wim@fluendo.com>
23162
23163         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23164         Added some more tests for wrong hierarchy
23165
23166         * docs/design/part-overview.txt:
23167         Some updates.
23168
23169         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23170         Cleanups.
23171
23172         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23173         (gst_element_dispose):
23174         Some more cleanups.
23175
23176         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23177         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23178         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23179         (gst_pad_set_caps), (gst_pad_send_event):
23180         Check for correct hierarchy when linking pads. Moving to
23181         strict requirement for ghostpads when linking elements in
23182         different bins.
23183
23184         * gst/gstpad.h:
23185         Clean ups. Added WRONG_HIERARCHY return value.
23186
23187 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23188
23189         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23190           Better debug if no transform is possible.
23191
23192 2005-07-27  Wim Taymans  <wim@fluendo.com>
23193
23194         * docs/random/wtay/network-transp:
23195         Some old doc I had.
23196
23197 2005-07-27  Wim Taymans  <wim@fluendo.com>
23198
23199         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23200         (gst_dp_event_from_packet):
23201         Fix serialization of seek events.
23202
23203 2005-07-27  Wim Taymans  <wim@fluendo.com>
23204
23205         * check/gst-libs/gdp.c: (GST_START_TEST):
23206         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23207         Fix compilation and fix event serialization.
23208
23209 2005-07-27  Wim Taymans  <wim@fluendo.com>
23210
23211         * CHANGES-0.9:
23212         * docs/design/part-TODO.txt:
23213         * docs/design/part-events.txt:
23214         Some docs updates
23215
23216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23217         (gst_base_sink_event), (gst_base_sink_do_sync),
23218         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23219         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23220         (gst_base_src_do_seek), (gst_base_src_event_handler),
23221         (gst_base_src_loop):
23222         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23223         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23224         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23225         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23226         (gst_base_transform_set_passthrough),
23227         (gst_base_transform_is_passthrough):
23228         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23229         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23230         Event updates.
23231
23232         * gst/gstbuffer.h:
23233         Use faster casts.
23234
23235         * gst/gstelement.c: (gst_element_seek):
23236         * gst/gstelement.h:
23237         Update gst_element_seek.
23238
23239         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23240         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23241         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23242         (gst_event_new_eos), (gst_event_new_newsegment),
23243         (gst_event_parse_newsegment), (gst_event_new_tag),
23244         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23245         (gst_event_parse_qos), (gst_event_new_seek),
23246         (gst_event_parse_seek), (gst_event_new_navigation):
23247         * gst/gstevent.h:
23248         Make GstEvent use GstStructure. Add parsing code, make sure the
23249         API is sufficiently generic.
23250         Mark possible directions of events and serialization.
23251
23252         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23253         (_gst_message_copy), (gst_message_new_segment_start),
23254         (gst_message_new_segment_done), (gst_message_new_custom),
23255         (gst_message_parse_segment_start),
23256         (gst_message_parse_segment_done):
23257         Small cleanups.
23258
23259         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23260         (gst_pad_set_caps), (gst_pad_send_event):
23261         Update for new events. 
23262         Catch events sent in wrong directions.
23263
23264         * gst/gstqueue.c: (gst_queue_link_src),
23265         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23266         (gst_queue_handle_src_query):
23267         Event updates.
23268
23269         * gst/gsttag.c:
23270         * gst/gsttag.h:
23271         Remove event code from this file.
23272
23273         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23274         (gst_dp_event_from_packet):
23275         Event updates.
23276
23277 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23278
23279         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23280         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23281         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23282           Make debugging actually useful.
23283
23284 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23285
23286         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23287         (gst_pad_fixate_caps):
23288           Implement default fixation once again, so that gst_pad_fixate()
23289           actually does anything at all. This probably needs to be some
23290           sort of a last resort, and use profile-based fixation first, but
23291           since that doesn't exist yet, this is the best we have. Fixes
23292           visualization in Totem.
23293
23294 2005-07-22  Wim Taymans  <wim@fluendo.com>
23295
23296         * docs/design/part-events.txt:
23297         Small update.
23298
23299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23300         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23301         (gst_base_sink_activate_pull):
23302         Some more comments.
23303
23304         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23305         (gst_fake_src_create):
23306         Fix handoff marshall.
23307
23308         * gst/elements/gstidentity.c: (gst_identity_class_init),
23309         (gst_identity_transform_ip):
23310         We're a real inplace element.
23311
23312         * gst/gstbus.c: (gst_bus_post):
23313         Added some comments.
23314
23315         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23316         * tests/muxing/case1.c: (main):
23317         * tests/sched/dynamic-pipeline.c: (main):
23318         * tests/sched/interrupt1.c: (main):
23319         * tests/sched/interrupt2.c: (main):
23320         * tests/sched/interrupt3.c: (main):
23321         * tests/sched/runxml.c: (main):
23322         * tests/sched/sched-stress.c: (main):
23323         * tests/seeking/seeking1.c: (event_received), (main):
23324         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23325         (main):
23326         * tests/threadstate/threadstate3.c: (main):
23327         * tests/threadstate/threadstate4.c: (main):
23328         * tests/threadstate/threadstate5.c: (main):
23329         Fix the tests.
23330
23331 2005-07-21  Wim Taymans  <wim@fluendo.com>
23332
23333         * docs/design/part-seeking.txt:
23334         Some small additions.
23335
23336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23337         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23338         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23339         * gst/base/gstbasesink.h:
23340         discont values are gint64, handle the math correctly.
23341
23342         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23343         Make the basesrc report error if the source pad is not linked.
23344
23345         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23346         (gst_queue_loop), (gst_queue_handle_src_query),
23347         (gst_queue_src_activate_push):
23348         Make queue collect data even if the srcpad is not linked.
23349         Start pushing out data as soon as it is linked.
23350
23351         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23352         * gst/gstutils.h:
23353         Added gst_flow_get_name() to ease error reporting.
23354
23355 2005-07-20  Wim Taymans  <wim@fluendo.com>
23356
23357         * gst/gstmessage.c: (gst_message_new_segment_start),
23358         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23359         (gst_message_parse_segment_done):
23360         * gst/gstmessage.h:
23361         Added a bunch of messages for advanced seeking.
23362
23363         * gst/parse/grammar.y:
23364         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23365         (gst_dpman_state_changed):
23366         Fix some new-pad -> pad-added signals
23367
23368 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23369
23370         * docs/manual/appendix-porting.xml:
23371         * docs/pwg/appendix-porting.xml:
23372           Document new-pad/state-change signal renames and the FixedList
23373           type rename.
23374
23375 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23376
23377         * docs/manual/advanced-autoplugging.xml:
23378         * docs/manual/basics-helloworld.xml:
23379         * docs/manual/basics-pads.xml:
23380         * docs/random/ds/0.9-suggested-changes:
23381         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23382         * gst/gstelement.h:
23383         * gst/gstevent.h:
23384         * gst/gstformat.h:
23385         * gst/gstquery.h:
23386         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23387         (gst_structure_parse_array), (gst_structure_parse_value):
23388         * gst/gstvalue.c: (gst_type_is_fixed),
23389         (gst_value_list_prepend_value), (gst_value_list_append_value),
23390         (gst_value_list_get_size), (gst_value_list_get_value),
23391         (gst_value_transform_array_string), (gst_value_serialize_array),
23392         (gst_value_deserialize_array), (gst_value_intersect_array),
23393         (gst_value_is_fixed), (_gst_value_initialize):
23394         * gst/gstvalue.h:
23395           GstElement::new-pad -> pad-added, GstElement::state-change ->
23396           state-changed, GstValueFixedList -> GstValueArray, add format and
23397           flags as their own arguments in gst_element_seek() (should improve
23398           "bindeability"), remove function generators since they don't work
23399           under a whole bunch of compilers (they were deprecated already
23400           anyway).
23401
23402 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23403
23404         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23405         (_gst_debug_register_funcptr):
23406         * gst/gstinfo.h:
23407           Fix illegal cast on some platforms (#309253).
23408
23409 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23410
23411         * gst/gstmessage.c: (gst_message_new_custom):
23412         * gst/gstmessage.h:
23413           Add _new_custom, make _new_application a macro to _new_custom.
23414
23415 2005-07-20  Wim Taymans  <wim@fluendo.com>
23416
23417         * gst/base/gstbasesrc.c: (gst_base_src_init),
23418         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23419         * gst/base/gstbasesrc.h:
23420         Add a gboolean to decide when to push out a discont.
23421
23422         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23423         (gst_queue_loop), (gst_queue_handle_src_query),
23424         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23425         (gst_queue_set_property), (gst_queue_get_property):
23426         Some cleanups.
23427
23428         * tests/threadstate/threadstate1.c: (main):
23429         Make a thread test compile and run... very silly..
23430
23431
23432 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23433
23434         * docs/manual/appendix-porting.xml:
23435           Mention removal of libgstgconf-0.9.la and existence of gconf
23436           elements.
23437
23438 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23439
23440         * docs/pwg/advanced-clock.xml:
23441         * docs/pwg/appendix-porting.xml:
23442         * docs/pwg/intro-preface.xml:
23443         * docs/pwg/other-base.xml:
23444         * docs/pwg/other-manager.xml:
23445         * docs/pwg/other-nton.xml:
23446         * docs/pwg/other-ntoone.xml:
23447         * docs/pwg/other-oneton.xml:
23448         * docs/pwg/pwg.xml:
23449           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23450           demuxer), remove n-to-n (was never written), fix some code examples
23451           and links and update the porting section to include all this.
23452
23453 2005-07-19  Wim Taymans  <wim@fluendo.com>
23454
23455         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23456         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23457         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23458         (gst_queue_src_activate_push), (gst_queue_change_state),
23459         (gst_queue_get_property):
23460         * gst/gstqueue.h:
23461         Propagate GstFlowReturn more intelligently upstream and output
23462         an ERROR/EOS when streaming stopped due to fatal error.
23463
23464 2005-07-19  Wim Taymans  <wim@fluendo.com>
23465
23466         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23467         Don't block forever for the state change to complete, the
23468         pipeline already did with a sensible timeout.
23469
23470 2005-07-19  Wim Taymans  <wim@fluendo.com>
23471
23472         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23473         Make sure we never call the create function is we
23474         got deactivated.
23475
23476 2005-07-19  Andy Wingo  <wingo@pobox.com>
23477
23478         * gst/parse/parse.l: Attempt to solve bug #172815.
23479
23480 2005-07-19  Wim Taymans  <wim@fluendo.com>
23481
23482         * docs/design/part-clocks.txt:
23483         * docs/design/part-events.txt:
23484         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
23485         Small docs updates.
23486         Only update the seeking values when we are not
23487         busy streaming.
23488
23489 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23490
23491         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23492           Oops, ignore the result of gst_pad_push_event here.
23493
23494 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23495
23496         * gst/base/gstbasesrc.c: (gst_base_src_loop),
23497         (gst_base_src_activate_push):
23498           Send discont event from the loop function, as pads
23499           aren't activated yet in the activate_push handler.
23500
23501         * gst/gstbin.c: (bin_bus_handler):
23502           Don't leak element name.
23503
23504 2005-07-18  Andy Wingo  <wingo@pobox.com>
23505
23506         * configure.ac: Use AS_LIBTOOL_TAGS.
23507
23508 2005-07-18  Wim Taymans  <wim@fluendo.com>
23509
23510         * docs/gst/gstreamer.types:
23511         Remove deleted types.
23512
23513 2005-07-18  Wim Taymans  <wim@fluendo.com>
23514
23515         * check/elements/gstfakesrc.c: (GST_START_TEST):
23516         * configure.ac:
23517         * gst/Makefile.am:
23518         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
23519         (init_popt_callback):
23520         * gst/gst.h:
23521         * gst/gst_private.h:
23522         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
23523         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
23524         * gst/gstbin.h:
23525         * gst/gstbus.h:
23526         * gst/gstconfig.h.in:
23527         * gst/gstelement.c: (gst_element_class_init),
23528         (gst_element_set_base_time), (gst_element_get_base_time),
23529         (iterator_fold_with_resync), (gst_element_change_state),
23530         (gst_element_dispose), (gst_element_get_bus):
23531         * gst/gstelement.h:
23532         * gst/gstelementfactory.h:
23533         * gst/gsterror.c: (_gst_core_errors_init):
23534         * gst/gsterror.h:
23535         * gst/gstevent.h:
23536         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23537         * gst/gstindex.c:
23538         * gst/gstinfo.c: (_gst_debug_init):
23539         * gst/gstmessage.c: (_gst_message_copy):
23540         * gst/gstmessage.h:
23541         * gst/gstminiobject.h:
23542         * gst/gstobject.c:
23543         * gst/gstobject.h:
23544         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23545         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
23546         * gst/gstpad.h:
23547         * gst/gstparse.h:
23548         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23549         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23550         (gst_pipeline_get_last_stream_time):
23551         * gst/gstpipeline.h:
23552         * gst/gstpluginfeature.h:
23553         * gst/gstquery.h:
23554         * gst/gstscheduler.c:
23555         * gst/gstscheduler.h:
23556         * gst/gststructure.h:
23557         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23558         (gst_task_finalize), (gst_task_func), (gst_task_create),
23559         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
23560         (gst_task_stop), (gst_task_pause):
23561         * gst/gsttask.h:
23562         * gst/gsttypefind.h:
23563         * gst/gsttypes.h:
23564         * gst/registries/gstlibxmlregistry.c: (load_feature),
23565         (gst_xml_registry_load), (gst_xml_registry_save_feature):
23566         * gst/registries/gstxmlregistry.c:
23567         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
23568         * gst/schedulers/threadscheduler.c:
23569         * libs/gst/control/dparammanager.h:
23570         * tools/gst-inspect.c: (print_element_list),
23571         (print_plugin_features), (print_element_features):
23572         * tools/gst-xmlinspect.c: (print_element_list),
23573         (print_plugin_info), (main):
23574         Removed plugable schedulers.
23575         Removed Scheduler/Manager from elements.
23576         Removed gsttypes.h, rearranged includes.
23577         Removed dependency pad<->element, element<>pipeline, and
23578         various others,  fix includes.
23579         implement gst_pad_get_parent() with gst_object_get_parent()
23580         Make GstTask sefcontained.
23581         Fix _get_state() on GstBin, it did not return ASYNC with a 0
23582         timeout.
23583         Fix endless loop in iterator_fold_with_resync.
23584
23585
23586 2005-07-18  Wim Taymans  <wim@fluendo.com>
23587
23588         * gst/Makefile.am:
23589         * gst/gstarch.h:
23590         Remove old file.
23591
23592 2005-07-18  Wim Taymans  <wim@fluendo.com>
23593
23594         * gst/Makefile.am:
23595         No more cothreads.h
23596
23597 2005-07-18  Wim Taymans  <wim@fluendo.com>
23598
23599         * gst/cothreads.c:
23600         * gst/cothreads.h:
23601         Let's remove these.
23602
23603 2005-07-18  Wim Taymans  <wim@fluendo.com>
23604
23605         * docs/design/part-dynamic.txt:
23606         * docs/design/part-events.txt:
23607         * docs/design/part-seeking.txt:
23608         Some more docs in the works.
23609
23610         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23611         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
23612         (gst_base_transform_setcaps), (gst_base_transform_get_size),
23613         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23614         (gst_base_transform_handle_buffer),
23615         (gst_base_transform_sink_activate_push),
23616         (gst_base_transform_src_activate_pull),
23617         (gst_base_transform_set_passthrough),
23618         (gst_base_transform_is_passthrough):
23619         Refcounting fixes.
23620
23621         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
23622         Cleanups.
23623
23624         * gst/gstevent.c: (gst_event_finalize):
23625         Set SRC to NULL.
23626
23627         * gst/gstutils.c: (gst_element_unlink),
23628         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
23629         (gst_pad_proxy_setcaps):
23630         * gst/gstutils.h:
23631         Add _get_parent_element() to get a pads parent as an element.
23632
23633 2005-07-18  Wim Taymans  <wim@fluendo.com>
23634
23635         * check/gst/gstbin.c: (GST_START_TEST):
23636         Remove bogus test.
23637
23638 2005-07-18  Wim Taymans  <wim@fluendo.com>
23639
23640         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23641         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23642         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23643         (gst_base_sink_event), (gst_base_sink_do_sync),
23644         (gst_base_sink_chain), (gst_base_sink_loop),
23645         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
23646         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
23647         Refcounting fixes.
23648         Fix logic for returning ASYNC when not prerolled.
23649
23650 2005-07-18  Wim Taymans  <wim@fluendo.com>
23651
23652         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23653         Fix nasty refcount bug.
23654
23655 2005-07-16 Philippe Khalaf <burger@speedy.org>
23656
23657         * gst/elements/gstfdsrc.c:
23658         * gst/elements/gstfdsrc.h:
23659         * gst/elements/gstelements.c:
23660         * gst/elements/Makefile.am:
23661         Ported fdsrc to 0.9.
23662
23663 2005-07-16  Wim Taymans  <wim@fluendo.com>
23664
23665         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23666         (gst_base_sink_do_sync):
23667         Fix compile error.
23668
23669 2005-07-16  Wim Taymans  <wim@fluendo.com>
23670
23671         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23672         (gst_base_sink_event), (gst_base_sink_get_times),
23673         (gst_base_sink_do_sync), (gst_base_sink_change_state):
23674         * gst/base/gstbasesink.h:
23675         Store and use discont values when syncing buffers as described
23676         in design docs.
23677         
23678         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23679         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
23680         (gst_base_src_activate_push):
23681         Push discont event when starting.
23682
23683         * gst/elements/gstidentity.c: (gst_identity_transform):
23684         Small cleanups.
23685
23686         * gst/gstbin.c: (gst_bin_change_state):
23687         Small cleanups in base_time  distribution.
23688
23689         * gst/gstelement.c: (gst_element_set_base_time),
23690         (gst_element_get_base_time), (gst_element_change_state):
23691         * gst/gstelement.h:
23692         Added methods for the base_time of the element.
23693         Some MT fixes.
23694
23695         * gst/gstpipeline.c: (gst_pipeline_send_event),
23696         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23697         (gst_pipeline_get_last_stream_time):
23698         * gst/gstpipeline.h:
23699         MT fixes.
23700         Handle seeking as described in design doc, remove stream_time
23701         hack.
23702         Cleanups clock and stream_time selection code. Added accessors
23703         for the stream_time.
23704         
23705
23706 2005-07-16  Andy Wingo  <wingo@pobox.com>
23707
23708         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
23709         (#305291).
23710
23711 2005-07-16  Wim Taymans  <wim@fluendo.com>
23712
23713         * check/gst/gstbin.c: (GST_START_TEST):
23714         Make elements silent as the deep_notify refs the
23715         parent, which might make the test fail.
23716
23717         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23718         Don't hold the lock for too long.
23719
23720 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
23721
23722         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
23723           Don't unref the caps we passed to gst_caps_make_writable() after
23724           passing them. gst_caps_make_writable() will do that for us.
23725
23726 2005-07-15  Andy Wingo  <wingo@pobox.com>
23727
23728         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
23729         (#157311).
23730
23731         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
23732         own marshalling function for the handoff signal. Properly type the
23733         buffer as a buffer. Fixes some warnings. Should do a more general
23734         solution.
23735         (gst_identity_class_init): Plug into the right marshaller.
23736
23737 2005-07-15  Wim Taymans  <wim@fluendo.com>
23738
23739         * docs/design/part-TODO.txt:
23740         * docs/design/part-clocks.txt:
23741         * docs/design/part-element-sink.txt:
23742         * docs/design/part-events.txt:
23743         * docs/design/part-gstpipeline.txt:
23744         Updated docs, mostly DISCONT related.
23745
23746 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
23747
23748         * docs/pwg/building-pads.xml:
23749           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
23750
23751 2005-07-15  Andy Wingo  <wingo@pobox.com>
23752
23753         * tools/gst-typefind.c: Update, add copyright block.
23754
23755         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
23756         Normalize and truncate caps before fixation.
23757
23758         * gst/gstcaps.h:
23759         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
23760         discards all but the first structure from its argument.
23761
23762 2005-07-15  Wim Taymans  <wim@fluendo.com>
23763
23764         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23765         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
23766         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23767         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23768         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
23769         (gst_base_transform_chain), (gst_base_transform_change_state),
23770         (gst_base_transform_set_passthrough),
23771         (gst_base_transform_is_passthrough):
23772         * gst/base/gstbasetransform.h:
23773         Make passthrough work using the bufferpools.
23774         Changed API a bit, subclasses have to write into a buffer
23775         provided by the base class.
23776         More debug info in nego functions.
23777         
23778         * gst/elements/gstidentity.c: (gst_identity_init),
23779         (gst_identity_transform):
23780         Port to new base class.
23781
23782 2005-07-15  Wim Taymans  <wim@fluendo.com>
23783
23784         * gst/gstmessage.c: (gst_message_new_state_changed):
23785         * tools/gst-launch.c: (event_loop), (main):
23786         Totally dump messages in -launch with the -m option.
23787         Fix message name for State messages,
23788
23789 2005-07-14  Wim Taymans  <wim@fluendo.com>
23790
23791         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23792         Post error messages on errors.
23793
23794 2005-07-14  Wim Taymans  <wim@fluendo.com>
23795
23796         * gst/gstcaps.c: (gst_caps_do_simplify):
23797         Remove debug info.
23798
23799         * gst/gsterror.h:
23800         Define error for stream stopped.
23801
23802         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23803         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
23804         Do proper return values.
23805
23806         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23807         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
23808         (gst_pad_get_range):
23809         Better return values.
23810
23811         * gst/gstpad.h:
23812         Reorganise return values, add macro to check for fatal errors.
23813
23814         * gst/gstqueue.c: (gst_queue_chain):
23815         Return proper GstFlowReturn values,
23816
23817 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
23818
23819         * docs/gst/gstreamer-sections.txt:
23820         * docs/gst/gstreamer.types:
23821         * docs/gst/tmpl/gst.sgml:
23822         * docs/gst/tmpl/gstbasesink.sgml:
23823         * docs/gst/tmpl/gstbasesrc.sgml:
23824         * docs/gst/tmpl/gstbasetransform.sgml:
23825         * docs/gst/tmpl/gstbin.sgml:
23826         * docs/gst/tmpl/gstbuffer.sgml:
23827         * docs/gst/tmpl/gstcaps.sgml:
23828         * docs/gst/tmpl/gstclock.sgml:
23829         * docs/gst/tmpl/gstcompat.sgml:
23830         * docs/gst/tmpl/gstconfig.sgml:
23831         * docs/gst/tmpl/gstelement.sgml:
23832         * docs/gst/tmpl/gstelementdetails.sgml:
23833         * docs/gst/tmpl/gstelementfactory.sgml:
23834         * docs/gst/tmpl/gstenumtypes.sgml:
23835         * docs/gst/tmpl/gsterror.sgml:
23836         * docs/gst/tmpl/gstevent.sgml:
23837         * docs/gst/tmpl/gstfakesink.sgml:
23838         * docs/gst/tmpl/gstfakesrc.sgml:
23839         * docs/gst/tmpl/gstfilesink.sgml:
23840         * docs/gst/tmpl/gstfilesrc.sgml:
23841         * docs/gst/tmpl/gstfilter.sgml:
23842         * docs/gst/tmpl/gstformat.sgml:
23843         * docs/gst/tmpl/gstghostpad.sgml:
23844         * docs/gst/tmpl/gstimplementsinterface.sgml:
23845         * docs/gst/tmpl/gstindex.sgml:
23846         * docs/gst/tmpl/gstindexfactory.sgml:
23847         * docs/gst/tmpl/gstinfo.sgml:
23848         * docs/gst/tmpl/gstiterator.sgml:
23849         * docs/gst/tmpl/gstmacros.sgml:
23850         * docs/gst/tmpl/gstmemchunk.sgml:
23851         * docs/gst/tmpl/gstminiobject.sgml:
23852         * docs/gst/tmpl/gstobject.sgml:
23853         * docs/gst/tmpl/gstpad.sgml:
23854         * docs/gst/tmpl/gstpadtemplate.sgml:
23855         * docs/gst/tmpl/gstparse.sgml:
23856         * docs/gst/tmpl/gstpipeline.sgml:
23857         * docs/gst/tmpl/gstplugin.sgml:
23858         * docs/gst/tmpl/gstpluginfeature.sgml:
23859         * docs/gst/tmpl/gstquery.sgml:
23860         * docs/gst/tmpl/gstqueue.sgml:
23861         * docs/gst/tmpl/gstregistry.sgml:
23862         * docs/gst/tmpl/gstregistrypool.sgml:
23863         * docs/gst/tmpl/gstscheduler.sgml:
23864         * docs/gst/tmpl/gstschedulerfactory.sgml:
23865         * docs/gst/tmpl/gststructure.sgml:
23866         * docs/gst/tmpl/gstsystemclock.sgml:
23867         * docs/gst/tmpl/gsttaglist.sgml:
23868         * docs/gst/tmpl/gsttagsetter.sgml:
23869         * docs/gst/tmpl/gsttrace.sgml:
23870         * docs/gst/tmpl/gsttrashstack.sgml:
23871         * docs/gst/tmpl/gsttypefind.sgml:
23872         * docs/gst/tmpl/gsttypefindfactory.sgml:
23873         * docs/gst/tmpl/gsttypes.sgml:
23874         * docs/gst/tmpl/gsturihandler.sgml:
23875         * docs/gst/tmpl/gsturitype.sgml:
23876         * docs/gst/tmpl/gstutils.sgml:
23877         * docs/gst/tmpl/gstvalue.sgml:
23878         * docs/gst/tmpl/gstversion.sgml:
23879         * docs/gst/tmpl/gstxml.sgml:
23880         * docs/libs/tmpl/gstcontrol.sgml:
23881         * docs/libs/tmpl/gstdataprotocol.sgml:
23882         * docs/libs/tmpl/gstdparam.sgml:
23883         * docs/libs/tmpl/gstdplinint.sgml:
23884         * docs/libs/tmpl/gstdpman.sgml:
23885         * docs/libs/tmpl/gstdpsmooth.sgml:
23886         * docs/libs/tmpl/gstgetbits.sgml:
23887         * docs/libs/tmpl/gstunitconvert.sgml:
23888         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
23889         (gst_push_src_base_init), (gst_push_src_class_init),
23890         (gst_push_src_init), (gst_push_src_create):
23891         * gst/base/gstpushsrc.h:
23892         * gst/elements/gstelements.c:
23893         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
23894         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
23895         (gst_fake_sink_init), (gst_fake_sink_set_property),
23896         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
23897         (gst_fake_sink_event), (gst_fake_sink_preroll),
23898         (gst_fake_sink_render), (gst_fake_sink_change_state):
23899         * gst/elements/gstfakesink.h:
23900         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
23901         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
23902         (gst_fake_src_base_init), (gst_fake_src_class_init),
23903         (gst_fake_src_init), (gst_fake_src_event_handler),
23904         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
23905         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
23906         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
23907         (gst_fake_src_create_buffer), (gst_fake_src_create),
23908         (gst_fake_src_start), (gst_fake_src_stop):
23909         * gst/elements/gstfakesrc.h:
23910         * gst/elements/gstfilesink.c: (_do_init),
23911         (gst_file_sink_base_init), (gst_file_sink_class_init),
23912         (gst_file_sink_init), (gst_file_sink_dispose),
23913         (gst_file_sink_set_location), (gst_file_sink_set_property),
23914         (gst_file_sink_get_property), (gst_file_sink_open_file),
23915         (gst_file_sink_close_file), (gst_file_sink_query),
23916         (gst_file_sink_event), (gst_file_sink_render),
23917         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
23918         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
23919         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
23920         * gst/elements/gstfilesink.h:
23921         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
23922         (gst_file_src_class_init), (gst_file_src_init),
23923         (gst_file_src_finalize), (gst_file_src_set_location),
23924         (gst_file_src_set_property), (gst_file_src_get_property),
23925         (gst_file_src_map_region), (gst_file_src_map_small_region),
23926         (gst_file_src_create_mmap), (gst_file_src_create_read),
23927         (gst_file_src_create), (gst_file_src_is_seekable),
23928         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
23929         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
23930         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
23931         (gst_file_src_uri_handler_init):
23932         * gst/elements/gstfilesrc.h:
23933           more autistic cleanliness in functions/names/defines
23934
23935 2005-07-13  Andy Wingo  <wingo@pobox.com>
23936
23937         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
23938         source couldn't negotiate.
23939
23940         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
23941         connections again.
23942
23943         * gst/gstutils.h:
23944         * gst/gstutils.c (gst_element_link_pads_filtered): New old
23945         function. I am channeling Hades. Put your boots on suckers!!!
23946
23947 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23948
23949         * testsuite/caps/Makefile.am:
23950         * testsuite/caps/value_compare.c:
23951         * testsuite/caps/value_intersect.c:
23952         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23953           move two testsuite apps over to the check dir
23954
23955 2005-07-12  Wim Taymans  <wim@fluendo.com>
23956
23957         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23958         Added more debug info in the negotiate process.
23959
23960         * gst/gstmessage.h:
23961         Prepare for segment playback.
23962
23963         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
23964         Better debugging.
23965
23966         * gst/gstutils.c:
23967         Some more docs.
23968
23969         * tools/gst-launch.c: (main):
23970         NULL pipeline on errors.
23971
23972 2005-07-12  Andy Wingo  <wingo@pobox.com>
23973
23974         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
23975         not it comes from a malloc region. Make sure our copy gets freed.
23976
23977 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23978
23979         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23980         * check/gst/gstmessage.c: (GST_START_TEST):
23981         * check/gst/gststructure.c: (GST_START_TEST),
23982         (gst_structure_suite), (main):
23983           more testing
23984         * gst/gstelement.c: (gst_element_message_full):
23985           clean up GError and debug string now that they get copied
23986         * gst/gstmessage.c: (gst_message_new_error),
23987         (gst_message_new_warning), (gst_message_parse_error),
23988         (gst_message_parse_warning):
23989           use GST_TYPE_G_ERROR for structure_new, and take copies of
23990           arguments, so that we don't mess up refcounting
23991
23992 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23993
23994         * check/Makefile.am:
23995           add per-test valgrind targets
23996         * check/gst-libs/gdp.c: (GST_START_TEST),
23997         (gst_data_protocol_suite), (main):
23998           clean up
23999
24000 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24001
24002         * check/Makefile.am:
24003           instate more valgrindable tests
24004         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24005         (GST_START_TEST), (fakesrc_suite):
24006         * check/gst/gstpad.c: (GST_START_TEST):
24007         * check/gst/gststructure.c: (GST_START_TEST):
24008           fix test leaks
24009         * docs/gst/tmpl/gstminiobject.sgml:
24010         * gst/gstpad.c: (gst_pad_finalize):
24011           fix the static mutex leak
24012
24013 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24014
24015         * check/Makefile.am:
24016           add two more tests for valgrinding
24017         * check/gst/gstvalue.c: (GST_START_TEST):
24018           test refcount of deserialized buffer, found a leak
24019         * docs/gst/gstreamer-docs.sgml:
24020         * docs/gst/gstreamer-sections.txt:
24021         * docs/gst/gstreamer.types:
24022         * docs/gst/tmpl/gstminiobject.sgml:
24023           add miniobject to docs
24024         * gst/gstminiobject.c:
24025           add some docs
24026         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24027         (gst_string_unwrap):
24028           fix a hard-to-find invalid write for one of the tests
24029           fix a leak for deserialized buffers
24030
24031 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24032
24033         * docs/pwg/advanced-events.xml:
24034         * docs/pwg/advanced-request.xml:
24035         * docs/pwg/advanced-scheduling.xml:
24036         * docs/pwg/appendix-porting.xml:
24037         * docs/pwg/building-boiler.xml:
24038         * docs/pwg/intro-preface.xml:
24039         * docs/pwg/other-ntoone.xml:
24040           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24041           of example code and explanation for pad activation, loop() and
24042           getrange() functions and a bit more. Remove old comments pointing
24043           to loop-functions.
24044         * examples/pwg/Makefile.am:
24045           Add loop/getrange examples.
24046
24047 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24048
24049         * configure.ac:
24050           check for valgrind binary + some fixes
24051         * check/gst.supp:
24052           valgrind suppressions for the tests
24053         * check/Makefile.am:
24054           add a valgrind: target that valgrinds the unit tests
24055         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24056         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24057         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24058         * check/gst/gstghostpad.c:
24059           added some cleanup
24060         * check/gst/gstdata.c:
24061           removed
24062         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24063         (thread_unref), (gst_mini_object_suite), (main):
24064           added
24065         * gst/gst.c: (gst_deinit):
24066         * gst/gst.h:
24067           add a method to clean up.
24068         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24069         (gst_system_clock_obtain):
24070           allow for disposing the system clock.
24071         * tools/gst-launch.c: (main):
24072           deinit
24073
24074 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24075
24076         * docs/gst/tmpl/gstbasesrc.sgml:
24077         * docs/gst/tmpl/gstfakesrc.sgml:
24078         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24079         (gst_base_src_init), (gst_base_src_set_property),
24080         (gst_base_src_get_property), (gst_base_src_get_range),
24081         (gst_base_src_start):
24082         * gst/base/gstbasesrc.h:
24083           add num-buffers property
24084         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24085         (gst_fakesrc_init), (gst_fakesrc_set_property),
24086         (gst_fakesrc_get_property), (gst_fakesrc_create),
24087         (gst_fakesrc_start):
24088           remove num-buffers property
24089
24090 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24091
24092         * docs/gst/gstreamer-sections.txt:
24093         * docs/gst/tmpl/gstbasesink.sgml:
24094         * docs/gst/tmpl/gstbasesrc.sgml:
24095         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24096         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24097         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24098         (gst_base_sink_set_property), (gst_base_sink_get_property),
24099         (gst_base_sink_handle_object), (gst_base_sink_event),
24100         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24101         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24102         (gst_base_sink_loop), (gst_base_sink_deactivate),
24103         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24104         (gst_base_sink_change_state):
24105         * gst/base/gstbasesink.h:
24106         * gst/base/gstbasesrc.h:
24107         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24108         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24109         (gst_filesink_init):
24110           more macro splitting
24111
24112 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24113
24114         * gst/gstelement.c: (gst_element_get_bus):
24115           add debug
24116         * tools/gst-launch.c: (check_intr), (event_loop):
24117           fix bus leaks
24118
24119 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24120
24121         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24122           fix a caps leak
24123
24124 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24125
24126         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24127         (gst_base_src_finalize):
24128           add finalize method and clean up properly
24129         * gst/gstpipeline.c: (gst_pipeline_dispose):
24130           add debug
24131
24132 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24133
24134         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24135         (gst_bin_suite):
24136           add more things to check
24137         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24138         * gst/gstelement.c:
24139           more debug
24140
24141 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24142
24143         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24144         (GST_START_TEST), (fakesrc_suite):
24145         * check/gst-libs/gdp.c: (GST_START_TEST):
24146         * check/gst/gst.c: (GST_START_TEST):
24147         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24148         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24149         * check/gst/gstbus.c: (GST_START_TEST):
24150         * check/gst/gstcaps.c: (GST_START_TEST):
24151         * check/gst/gstdata.c: (GST_START_TEST):
24152         * check/gst/gstelement.c: (GST_START_TEST):
24153         * check/gst/gstghostpad.c: (GST_START_TEST):
24154         * check/gst/gstiterator.c: (GST_START_TEST):
24155         * check/gst/gstmessage.c: (GST_START_TEST):
24156         * check/gst/gstobject.c: (GST_START_TEST):
24157         * check/gst/gstpad.c: (GST_START_TEST):
24158         * check/gst/gststructure.c: (GST_START_TEST):
24159         * check/gst/gstsystemclock.c: (GST_START_TEST),
24160         (gst_systemclock_suite):
24161         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24162         * check/gst/gstvalue.c: (GST_START_TEST):
24163         * check/pipelines/cleanup.c: (GST_START_TEST):
24164         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24165         * check/states/sinks.c: (GST_START_TEST):
24166         * check/gstcheck.c: (gst_check_init):
24167         * check/gstcheck.h:
24168           add debugging category
24169           use GST_START_TEST now, so we add a debug line
24170
24171 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24172
24173         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24174           add test for state change message on a bin
24175         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24176           add another test
24177         * gst/gstbin.c: (gst_bin_init):
24178         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24179         * gst/gstelement.c: (gst_element_post_message),
24180         (gst_element_set_state):
24181         * gst/gstelementfactory.c: (gst_element_factory_create):
24182         * gst/gstmessage.c: (gst_message_new):
24183         * gst/gstscheduler.c:
24184           various debugging additions and cleanups
24185
24186 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24187
24188         * check/Makefile.am:
24189         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24190         (main):
24191           adding tests for elements
24192         * gst/gstelement.c: (gst_element_dispose):
24193
24194 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24195
24196         * gst/registries/gstlibxmlregistry.c: (load_feature):
24197           plug more leaks.  A simple gst_init() now is leakfree, yay.
24198
24199 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24200
24201         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24202         (gst_xml_registry_load):
24203           plug another memleak
24204
24205 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24206
24207         * configure.ac:
24208           use GST_SET_ERROR_CFLAGS
24209         * docs/faq/cvs.xml:
24210           change to ERROR_CFLAGS
24211
24212 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24213
24214         * configure.ac:
24215           make GST_ERROR_CFLAGS overridable and re-enable Werror
24216         * docs/faq/cvs.xml:
24217           add a note about error CFLAGS
24218         * docs/gst/tmpl/gstfakesrc.sgml:
24219         * gst/elements/gstfakesrc.c:
24220           comment out some unused code
24221         * gst/gst.c: (split_and_iterate):
24222         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24223         (load_feature):
24224           plug some memleaks
24225
24226 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24227
24228         * common/Makefile.am:
24229         * common/gtk-doc.mak:
24230         * docs/gst/Makefile.am:
24231           factor out gtk-doc.mak
24232
24233 2005-07-07  Wim Taymans  <wim@fluendo.com>
24234
24235         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24236         (gst_thread_scheduler_dispose):
24237         Unlock the STREAM_LOCK completely.
24238
24239 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24240
24241         * check/Makefile.am:
24242         * check/elements/.cvsignore:
24243         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24244         (START_TEST), (fakesrc_suite), (main):
24245         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24246         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24247         (gst_fakesrc_create), (gst_fakesrc_start):
24248         * gst/elements/gstfakesrc.h:
24249           adding a first element test
24250
24251 2005-07-07  Andy Wingo  <wingo@pobox.com>
24252
24253         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24254         debug message.
24255
24256 2005-07-07  Wim Taymans  <wim@fluendo.com>
24257
24258         * gst/gstquery.c:
24259         * gst/gstquery.h:
24260         Remove old types
24261
24262 2005-07-07  Wim Taymans  <wim@fluendo.com>
24263
24264         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24265         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24266         Allow subclasses to implement their own negotiation.
24267
24268 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24269
24270         * docs/design/part-gstbin.txt:
24271         * docs/design/part-gstpipeline.txt:
24272           Update design notes to reflect the movement of
24273           responsibility for bus handling from GstPipeline to
24274           GstBin
24275
24276 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24277
24278         * configure.ac:
24279           Remove unnecessary queue2/3/4 examples.
24280
24281 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24282
24283         * examples/Makefile.am:
24284         * examples/helloworld/helloworld.c: (event_loop), (main):
24285         * examples/queue/queue.c: (event_loop), (main):
24286         * examples/queue2/queue2.c: (main):
24287           Update a couple of the examples to work again.
24288
24289         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24290         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24291          Spelling corrections and extra debug.
24292         
24293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24294         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24295         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24296         * gst/gstbin.h:
24297         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24298         (gst_pipeline_change_state):
24299         * gst/gstpipeline.h:
24300           Move the bus handler for children to the GstBin, and create a
24301           separate bus for receiving messages from children to the one the
24302           bus sends 'upwards' on.
24303
24304 2005-07-06  Wim Taymans  <wim@fluendo.com>
24305
24306         * gst/base/README:
24307         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24308         (gst_base_sink_handle_object), (gst_base_sink_loop),
24309         (gst_base_sink_change_state):
24310         * gst/base/gstbasesink.h:
24311         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24312         (gst_base_src_init), (gst_base_src_setcaps),
24313         (gst_base_src_getcaps), (gst_base_src_loop),
24314         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24315         (gst_base_src_start), (gst_base_src_change_state):
24316         * gst/base/gstbasesrc.h:
24317         Make basesrc negotiate.
24318         Handle the case where preroll fails in basesink.
24319         Update README.
24320
24321 2005-07-06  Wim Taymans  <wim@fluendo.com>
24322
24323         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24324         Implement the fixate function.
24325         Clean up acceptcaps.
24326
24327 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24328
24329         * docs/pwg/building-filterfactory.xml:
24330         * docs/pwg/pwg.xml:
24331           Remove never-written filter-factory chapter; I'll add the various
24332           base classes to part 4 ("other element types") later on.
24333
24334 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24335
24336         * docs/pwg/advanced-negotiation.xml:
24337         * docs/pwg/building-boiler.xml:
24338         * docs/pwg/building-pads.xml:
24339         * docs/pwg/pwg.xml:
24340         * examples/pwg/Makefile.am:
24341           Add a chapter on caps negotiation, simplify the original code
24342           samples a bit w.r.t. caps negotiation, add link to the advanced
24343           section. Add a bunch of examples showing different use cases of
24344           different types of caps negotiation. Upstream renegotiation isn't
24345           fully documented yet since nobody knows how that works.
24346
24347 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24348
24349         * check/gst/gstpad.c:
24350         * check/gstcheck.c:
24351         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24352           if pad has no parent, return NULL as list of internal links
24353
24354 2005-07-05  Andy Wingo  <wingo@pobox.com>
24355
24356         * gst/elements/gstfilesrc.c:
24357         * gst/elements/gstfakesrc.c: 
24358         * gst/base/gstpushsrc.c:
24359         * gst/base/gstbasesrc.h: 
24360         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24361         
24362 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24363
24364         * Makefile.am:
24365           better report generation target (lcov needs a patch)
24366
24367 2005-07-05  Andy Wingo  <wingo@pobox.com>
24368
24369         * gst/elements, testsuite: Null if we got it...
24370
24371 2005-07-05  Wim Taymans  <wim@fluendo.com>
24372
24373         * configure.ac:
24374         * libs/gst/dataprotocol/Makefile.am:
24375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24376         * libs/gst/dataprotocol/dataprotocol.h:
24377         * pkgconfig/Makefile.am:
24378         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24379         * pkgconfig/gstreamer-dataprotocol.pc.in:
24380         Ported dataprotol to 0.9. 
24381         Added pkgconfig files.
24382
24383 2005-07-05  Andy Wingo  <wingo@pobox.com>
24384
24385         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24386         Default to returning TRUE for the case when tranform_caps returns
24387         a fixed caps, like for identity or volume.
24388
24389         * check/gst/gstbus.c (pound_bus_with_messages): 
24390         * check/gst/gstmessage.c (START_TEST): 
24391         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24392         message API change.
24393
24394         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24395         logic weaks here: always run transform_caps, trying passthrough
24396         operation only if the original caps intersects with the transform.
24397
24398         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24399         source and sink caps.
24400
24401         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24402         Intersect the peer caps with the pad template before going into
24403         transform_caps.
24404         (gst_base_transform_transform_caps): More debugging.
24405
24406         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24407         src argument.
24408
24409 2005-07-04  Edward Hervey  <edward@fluendo.com>
24410
24411         * gst/gstutils.c:
24412         * gst/gstutils.h:
24413         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24414         in bindings.
24415
24416 2005-07-04  Andy Wingo  <wingo@pobox.com>
24417
24418         * check/gst/gstpad.c: Only set explicit caps on pads.
24419
24420 2005-07-01  Andy Wingo  <wingo@pobox.com>
24421
24422         * tests/network-clock.scm: Commentary update.
24423
24424         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24425         Didn't really make sense, not implementable with basetransform,
24426         etc.
24427         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24428         attempt at implementing the sync property, needs an unlock method.
24429
24430         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24431         New func, by default returns the same caps (the identity
24432         transformation).
24433         (gst_base_transform_getcaps): Uses transform_caps to return
24434         something sensible.
24435         (gst_base_transform_setcaps): Complicated logic to get caps on
24436         both pads, even if they are different, and to call set_caps once
24437         for every time both pads get their caps set.
24438         (gst_base_transform_handle_buffer): Give the ref to the transform
24439         function. Allows in-place modification of the buffer.
24440
24441         * gst/base/gstbasetransform.h (transform_caps): New class method.
24442         Given caps on one side, what can I do on the other.
24443         (set_caps): Take two caps, one for each side of the element.
24444
24445         * gst/gstpad.h:
24446         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24447         caps in place. This is safe because we can check the mutability of
24448         the caps, and a good idea because fixate functions are just called
24449         as a matter of last resort. (Not actually implemented.)
24450         (gst_pad_set_caps): If the caps we're setting is actually the same
24451         as the existing pad caps, just update the pointer without calling
24452         setcaps. Assert that caps is either NULL or fixed, as per the
24453         docs.
24454
24455         * gst/gstghostpad.c: Update for fixate changes.
24456
24457 2005-07-02  Andy Wingo  <wingo@pobox.com>
24458
24459         * gst/gstcaps.c:
24460         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24461         two refcounts makes it immutable, which is enough. Doc more.
24462
24463 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24464
24465         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24466           Put the mini_object into GValue as a mini_object,
24467           not a gpointer, since that's how we declared
24468           the signal.
24469
24470 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24471
24472         * examples/pwg/Makefile.am:
24473           Fix buildbot again.
24474
24475 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24476
24477         * docs/pwg/building-testapp.xml:
24478           Add extra check.
24479         * examples/pwg/Makefile.am:
24480           Fix buildbot.
24481
24482 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24483
24484         * configure.ac:
24485         * examples/Makefile.am:
24486         * examples/pwg/Makefile.am:
24487         * examples/pwg/extract.pl:
24488           Enable building the PWG examples.
24489         * docs/pwg/advanced-interfaces.xml:
24490           Add URI interface stub.
24491         * docs/pwg/advanced-types.xml:
24492         * docs/pwg/other-autoplugger.xml:
24493         * docs/pwg/appendix-porting.xml:
24494         * docs/pwg/pwg.xml:
24495           Add porting guide (mostly stubs), remove autoplugging (see ADM).
24496         * docs/pwg/building-boiler.xml:
24497         * docs/pwg/building-chainfn.xml:
24498         * docs/pwg/building-pads.xml:
24499         * docs/pwg/building-props.xml:
24500         * docs/pwg/building-state.xml:
24501         * docs/pwg/building-testapp.xml:
24502           Update the building-*.xml parts for 0.9 changes. All examples
24503           code blocks compile in examples/pwg/*.
24504
24505 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24506
24507         * docs/manual/advanced-autoplugging.xml:
24508         * docs/manual/appendix-checklist.xml:
24509         * docs/manual/appendix-integration.xml:
24510         * docs/manual/highlevel-components.xml:
24511           Fix playbin/decodebin examples, update docs a bit, mention bus
24512           instead of signals in various places, mention kmplayer and
24513           kaffeine since they have a working GStreamer backend in the KDE
24514           section.
24515
24516 2005-06-30  Wim Taymans  <wim@fluendo.com>
24517
24518         * CHANGES-0.9:
24519         * docs/design/draft-ghostpads.txt:
24520         * docs/design/draft-push-pull.txt:
24521         * docs/design/draft-query.txt:
24522         * docs/design/part-TODO.txt:
24523         * docs/design/part-query.txt:
24524         Added CHANGES-0.9 doc, updated status of other docs.
24525         
24526         * gst/gstquery.h:
24527         Remove "hmm" macro
24528
24529 2005-06-30  Wim Taymans  <wim@fluendo.com>
24530
24531         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24532         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24533         (gst_base_sink_change_state):
24534         * gst/base/gstbasesink.h:
24535         Some tweaks, only EOS and a buffer complete a preroll.
24536
24537 2005-06-30  Andy Wingo  <wingo@pobox.com>
24538
24539         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
24540         activate_push down to the internal pad as well.
24541
24542 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
24543
24544         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24545
24546         * gst/gsttaginterface.c:
24547           Some documentation fixes (#307394 and #307397).
24548
24549 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
24550
24551         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24552
24553         * gst/gstvalue.c: (gst_value_intersect_list):
24554           Fix memleak (#309125).
24555
24556 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24557
24558         * docs/manual/advanced-dataaccess.xml:
24559           Fix fakesrc example to compile; doesn't work, bug somewhere...?
24560         * docs/manual/basics-pads.xml:
24561           Add reference for filtered caps to above chapter.
24562
24563 2005-06-30  Wim Taymans  <wim@fluendo.com>
24564
24565         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
24566         (gst_bin_change_state):
24567         Probes are gone.
24568         Lame attempt at making the state change function a bit
24569         more readable.
24570
24571 2005-06-30  Wim Taymans  <wim@fluendo.com>
24572
24573         * docs/design/part-clocks.txt:
24574         * docs/design/part-element-sink.txt:
24575         * docs/design/part-events.txt:
24576         * docs/design/part-preroll.txt:
24577         * docs/design/part-states.txt:
24578         Some more tweeks and additions to the docs.
24579
24580 2005-06-30  Wim Taymans  <wim@fluendo.com>
24581
24582         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24583         (default_have_data), (gst_pad_class_init), (gst_pad_init),
24584         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24585         (gst_pad_check_pull_range), (gst_pad_get_range),
24586         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
24587         * gst/gstpad.h:
24588         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
24589         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24590         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24591         (gst_pad_remove_buffer_probe):
24592         Removed atomic operations, use existing LOCK.
24593         Move exception handling out of main code path.
24594
24595 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24596
24597         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24598         (silly_return_true_function), (gst_pad_class_init),
24599         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24600         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
24601         (gst_pad_send_event):
24602           Fix accumulator, add default value by using _emitv() instead
24603           of _emit() for signal emission.
24604
24605 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24606
24607         * docs/manual/advanced-dataaccess.xml:
24608         * examples/manual/Makefile.am:
24609           Add probe example.
24610         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
24611           Make work (??).
24612
24613 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
24614
24615         * gst/elements/gstfilesink.c: (gst_filesink_render):
24616           Simplify code so that we don't have to handle short
24617           writes and return GST_FLOW_ERROR if an error occured.
24618
24619 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24620
24621         * docs/gst/gstreamer-docs.sgml:
24622           Remove probes more.
24623
24624 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24625
24626         * docs/gst/gstreamer-sections.txt:
24627         * docs/gst/tmpl/gstpad.sgml:
24628         * docs/gst/tmpl/gstprobe.sgml:
24629         * gst/Makefile.am:
24630         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24631         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
24632         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24633         (gst_pad_push_event), (gst_pad_send_event):
24634         * gst/gstpad.h:
24635         * gst/gstutils.c: (gst_pad_add_data_probe),
24636         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24637         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24638         (gst_pad_remove_buffer_probe):
24639         * gst/gstutils.h:
24640           Remove old probes, add new g-signal-based probes and some utility
24641           functions.
24642
24643 2005-06-29  Edward Hervey  <edward@fluendo.com>
24644
24645         * gst/gstelementfactory.c:
24646         * gst/gstutils.h:
24647         * gst/gstutils.c:
24648         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
24649         the definition to the header file.
24650
24651 2005-06-29  Andy Wingo  <wingo@pobox.com>
24652
24653         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
24654         plugins from the source directory.
24655
24656 2005-06-29  Wim Taymans  <wim@fluendo.com>
24657
24658         * docs/gst/tmpl/gstbuffer.sgml:
24659         * docs/gst/tmpl/gstclock.sgml:
24660         Some fixings for blantently wrong text.
24661
24662 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24663
24664         * check/Makefile.am:
24665         * gst/gst.c: (add_path_func), (init_pre):
24666         * gst/gstregistry.c: (gst_registry_add_path):
24667           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
24668           only scan the GST_PLUGIN_PATH locations, and not add
24669           system locations
24670
24671 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24672
24673         * docs/gst/gstreamer-sections.txt:
24674         * docs/gst/tmpl/gstbasesrc.sgml:
24675         * gst/gstelement.c:
24676         * gst/gstelement.h:
24677         * gst/gstevent.c:
24678         * gst/gstutils.c:
24679           doc fixes
24680
24681 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24682
24683         * docs/manual/advanced-autoplugging.xml:
24684           Fix autoplugging example.
24685
24686 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24687
24688         * docs/manual/advanced-autoplugging.xml:
24689         * docs/manual/mime-world.fig:
24690           Try to get autoplugging working, fix type detection. Fix text
24691           in hello-world image.
24692
24693 2005-06-29  Wim Taymans  <wim@fluendo.com>
24694
24695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24696         (gst_base_sink_change_state):
24697         Small debug line.
24698
24699         * gst/gstclock.h:
24700         map SIGNAL and BROADCAST to the right function.
24701
24702         * gst/gstobject.h:
24703         Remove redundant braces.
24704
24705         * gst/gstpad.c: (gst_pad_set_caps):
24706         Don't call setcaps function when reseting caps to NULL.
24707
24708         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24709         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
24710         (gst_system_clock_id_unschedule):
24711         Use BROADCAST as this is what we do.
24712
24713 2005-06-29  Wim Taymans  <wim@fluendo.com>
24714
24715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24716         We are actually prerolling before commiting the state
24717         change. 
24718
24719 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24720
24721         * docs/manual/advanced-clocks.xml:
24722         * docs/manual/advanced-interfaces.xml:
24723         * docs/manual/advanced-metadata.xml:
24724         * docs/manual/advanced-position.xml:
24725         * docs/manual/advanced-schedulers.xml:
24726         * docs/manual/advanced-threads.xml:
24727         * docs/manual/appendix-porting.xml:
24728         * docs/manual/basics-bins.xml:
24729         * docs/manual/basics-bus.xml:
24730         * docs/manual/basics-elements.xml:
24731         * docs/manual/basics-helloworld.xml:
24732         * docs/manual/basics-pads.xml:
24733         * docs/manual/highlevel-components.xml:
24734         * docs/manual/manual.xml:
24735         * docs/manual/thread.fig:
24736           Update (until threads/scheduling) Application Development Manual;
24737           remove GstThread, add GstBus, add simple porting checklist, add
24738           documentation for tag writing, clocks, make all examples until this
24739           part compile and run.
24740         * examples/manual/Makefile.am:
24741           Update from changes to Application Development Manual; add bus
24742           example, remove thread example.
24743
24744 2005-06-28  Wim Taymans  <wim@fluendo.com>
24745
24746         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
24747         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
24748         (gst_bus_source_dispatch):
24749         Add debugging messages.
24750         Make internal methods static.
24751         Handle the case where the bus is flushed in the handler.
24752         
24753         * gst/gstelement.c: (gst_element_get_bus):
24754         Fix refcount in _get_bus();
24755
24756         * gst/gstpipeline.c: (gst_pipeline_change_state),
24757         (gst_pipeline_get_clock_func):
24758         Clock refcounting fixes.
24759         Handle the case where preroll timed out more gracefully.
24760         
24761         * gst/gstsystemclock.c: (gst_system_clock_dispose):
24762         Clean up the internal thread in dispose. This is needed
24763         for subclasses that actually get disposed.
24764         
24765         * gst/schedulers/threadscheduler.c:
24766         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24767         (gst_thread_scheduler_dispose):
24768         Free thread pool in dispose.
24769
24770 2005-06-28  Andy Wingo  <wingo@pobox.com>
24771
24772         * tests/network-clock-utils.scm (debug, print-event): New utils.
24773
24774         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
24775         (*packet-loss*): Unified loss probability.
24776         (network-time): Report out-of-band events.
24777
24778         * tests/plot-data: Add support for out-of-band events. Hack it
24779         into this script instead of passing it down the pipe; should fix
24780         this later.
24781
24782 2005-06-28  Wim Taymans  <wim@fluendo.com>
24783
24784         * docs/gst/gstreamer.types:
24785         * docs/gst/tmpl/gstbasesrc.sgml:
24786         * docs/gst/tmpl/gstpad.sgml:
24787         Docs fixes.
24788
24789 2005-06-28  Wim Taymans  <wim@fluendo.com>
24790
24791         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24792         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
24793         (gst_proxy_pad_do_fixatecaps):
24794         Correctly proxy the check_pull_range function.
24795
24796 2005-06-28  Andy Wingo  <wingo@pobox.com>
24797
24798         * tests/network-clock.scm: Removed need for slib.
24799         
24800 2005-06-28  Wim Taymans  <wim@fluendo.com>
24801
24802         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
24803         (gst_basesink_preroll_queue_flush):
24804         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
24805         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
24806         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24807         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24808         (gst_proxy_pad_set_property):
24809         * gst/gstpad.c:
24810         * gst/gstpad.h:
24811         * gst/gstqueue.c: (gst_queue_init):
24812         The deprecated pad loop function is removed now.
24813
24814 2005-06-28  Andy Wingo  <wingo@pobox.com>
24815
24816         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
24817         New parameters, simulate network packet loss.
24818
24819         * tests/network-clock-utils.scm: Initialize the RNG.
24820
24821 2005-06-28  Wim Taymans  <wim@fluendo.com>
24822
24823         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
24824         (gst_basesink_event), (gst_basesink_deactivate):
24825         Flushing the preroll queue always needs to unlock the waiters.
24826
24827 2005-06-28  Edward Hervey  <edward@fluendo.com>
24828
24829         * gst/gstpipeline.c: (gst_pipeline_send_event): 
24830         Wheen a seek was successful on a pipeline, set the stream_time to the
24831         seek offset in order to have a synchronized stream_time.
24832
24833 2005-06-28  Wim Taymans  <wim@fluendo.com>
24834
24835         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24836         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
24837         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
24838         (gst_proxy_pad_do_fixatecaps):
24839         Call wrapper function instead of just calling the function
24840         pointers. This takes care of any locking and whatmore.
24841
24842 2005-06-28  Wim Taymans  <wim@fluendo.com>
24843
24844         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
24845         (gst_pad_pull_range):
24846         * gst/gstpad.h:
24847         CONNECTED -> LINKED.
24848
24849 2005-06-28  Andy Wingo  <wingo@pobox.com>
24850
24851         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
24852         source-munging commit!!!
24853
24854         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
24855         (gst_object_sink): Take gpointer arguments, not GstObject --
24856         avoids casts. Like GLib.
24857
24858         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
24859         activate.
24860
24861 2005-06-27  Andy Wingo  <wingo@pobox.com>
24862
24863         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
24864         remaining buffer.
24865
24866         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
24867         returns a sorted copy of the trace list.
24868         (gst_alloc_trace_print_live): New API, only prints traces with
24869         live objects. Sort the list.
24870         (gst_alloc_trace_print_all): Sort the list.
24871         (gst_alloc_trace_print): Align columns.
24872
24873         * gst/elements/gstttypefindelement.c:
24874         * gst/elements/gsttee.c:
24875         * gst/base/gstbasesrc.c:
24876         * gst/base/gstbasesink.c:
24877         * gst/base/gstbasetransform.c:
24878         * gst/gstqueue.c: Adapt for pad activation changes.
24879
24880         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
24881         sched.
24882         (gst_pipeline_dispose): Drop ref on sched.
24883
24884         * gst/gstpad.c (gst_pad_init): Set the default activate func.
24885         (gst_pad_activate_default): Push mode by default.
24886         (pre_activate_switch, post_activate_switch): New stubs, things to
24887         do before and after switching activation modes on pads.
24888         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
24889         the pad's activate function to choose which mode to activate.
24890         Shortcut on deactivation and call the right function directly.
24891         (gst_pad_activate_pull): New API, (de)activates a pad in pull
24892         mode.
24893         (gst_pad_activate_push): New API, same for push mode.
24894         (gst_pad_set_activate_function) 
24895         (gst_pad_set_activatepull_function) 
24896         (gst_pad_set_activatepush_function): Setters for new API.
24897
24898         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
24899         Trace all miniobjects.
24900         (gst_mini_object_make_writable): Unref the arg if we copy, like
24901         gst_caps_make_writable.
24902
24903         * gst/gstmessage.c (_gst_message_initialize): No trace init.
24904
24905         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
24906         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
24907         Adapt for new pad API.
24908
24909         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
24910
24911         * gst/gstelement.h:
24912         * gst/gstelement.c (gst_element_iterate_src_pads) 
24913         (gst_element_iterate_sink_pads): New API functions.
24914         
24915         * gst/gstelement.c (iterator_fold_with_resync): New utility,
24916         should fold into gstiterator.c in some form.
24917         (gst_element_pads_activate): Simplified via use of fold and
24918         delegation of decisions to gstpad->activate.
24919
24920         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
24921         help in debugging.
24922
24923         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
24924         class once in init, like gstmessage. Didn't run into this issue
24925         but it seems correct. Don't initialize a trace, gstminiobject does
24926         that.
24927
24928         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
24929         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
24930         to the bus.
24931         (assert_live_count): New util function, uses alloc traces to check
24932         cleanup.
24933
24934         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
24935         To be modified when unlink drops the internal pad.
24936
24937 2005-06-27  Wim Taymans  <wim@fluendo.com>
24938
24939         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
24940         (gst_bin_change_state):
24941         Cleanup the get_state() function a little, make sure it
24942         iterates the same set of elements.
24943         Added stub iterate_state_order().
24944
24945 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24946
24947         * docs/gst/gstreamer-docs.sgml:
24948         * docs/gst/gstreamer-sections.txt:
24949         * docs/gst/gstreamer.types:
24950         * docs/gst/tmpl/gstbasesink.sgml:
24951         * docs/gst/tmpl/gstbasesrc.sgml:
24952         * docs/gst/tmpl/gstbasetransform.sgml:
24953         * docs/gst/tmpl/gstelement.sgml:
24954         * docs/gst/tmpl/gstiterator.sgml:
24955         * gst/base/gstbasesrc.c:
24956         * gst/base/gstbasesrc.h:
24957         * gst/base/gstbasetransform.h:
24958         * gst/gstelement.c:
24959         * gst/gstiterator.h:
24960           adding basetransform and iterator docs
24961
24962 2005-06-27  Andy Wingo  <wingo@pobox.com>
24963
24964         * docs/design/part-activation.txt: Notes on how activation should
24965         work -- not quite implemented yet.
24966
24967 2005-06-25  Wim Taymans  <wim@fluendo.com>
24968
24969         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
24970         At least get the chain function correct, needs more
24971         fixing.
24972
24973 2005-06-25  Wim Taymans  <wim@fluendo.com>
24974
24975         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24976         (gst_basesink_handle_object), (gst_basesink_event),
24977         (gst_basesink_do_sync), (gst_basesink_handle_event),
24978         (gst_basesink_change_state):
24979         * gst/gsttask.h:
24980         Right, two problems here: ghostpads don't take locks and
24981         glib _rec_mutex_lock_full() with depth==0 still locks.
24982         Catch illegal locking and g_warn them.
24983
24984 2005-06-25  Wim Taymans  <wim@fluendo.com>
24985
24986         * check/states/sinks.c: (START_TEST), (gst_object_suite):
24987         Have to check for completion now...
24988
24989 2005-06-25  Wim Taymans  <wim@fluendo.com>
24990
24991         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24992         (gst_basesink_handle_object), (gst_basesink_event),
24993         (gst_basesink_do_sync), (gst_basesink_handle_event),
24994         (gst_basesink_change_state):
24995         * gst/gstpad.h:
24996         Unlock STREAM_LOCK whatever the recursion was.
24997
24998 2005-06-25  Wim Taymans  <wim@fluendo.com>
24999
25000         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25001         (gst_basesink_preroll_queue_empty),
25002         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25003         (gst_basesink_event), (gst_basesink_do_sync),
25004         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25005         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25006         (gst_basesink_change_state):
25007         Reworked the base sink, handle event and buffer serialisation
25008         correctly and removed possible deadlock.
25009         Handle EOS correctly.
25010
25011 2005-06-25  Wim Taymans  <wim@fluendo.com>
25012
25013         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25014         (gst_pipeline_change_state):
25015         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25016         Allow elements to post EOS in the state change function.
25017         Fix up -launch, make it exit the poll loop when the
25018         pipeline actually changed state.
25019         Fix up warning parsing in -launch.
25020
25021 2005-06-25  Wim Taymans  <wim@fluendo.com>
25022
25023         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25024         (gst_tee_sink_activate):
25025         Core takes STREAM_LOCK for us now.
25026
25027 2005-06-25  Wim Taymans  <wim@fluendo.com>
25028
25029         * gst/gstelement.c: (gst_element_get_state_func),
25030         (gst_element_set_state):
25031         * gst/gstelement.h:
25032         * gst/gstmessage.c: (gst_message_parse_error),
25033         (gst_message_parse_warning):
25034         Keep track of current target state while performing a state
25035         change so that subclasses can do something interesting.
25036         Fix parsing of warning/error messages when GError is NULL.
25037
25038 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25039
25040         * docs/gst/Makefile.am:
25041         * docs/gst/gstreamer-docs.sgml:
25042         * docs/gst/gstreamer-sections.txt:
25043         * docs/gst/gstreamer.types:
25044         * docs/gst/tmpl/gstbasesink.sgml:
25045         * docs/gst/tmpl/gstbasesrc.sgml:
25046         * docs/gst/tmpl/gstbin.sgml:
25047         * docs/gst/tmpl/gstcompat.sgml:
25048         * docs/gst/tmpl/gstfakesink.sgml:
25049         * docs/gst/tmpl/gstfakesrc.sgml:
25050         * docs/gst/tmpl/gstfilesink.sgml:
25051         * docs/gst/tmpl/gstfilesrc.sgml:
25052         * docs/gst/tmpl/gstindex.sgml:
25053         * docs/manual/appendix-quotes.xml:
25054         * gst/base/gstbasesrc.h:
25055         * gst/elements/gstfakesrc.h:
25056         * gst/gstmessage.h:
25057           start pulling in base classes and elements in our docs
25058
25059 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25060
25061         * docs/gst/Makefile.am:
25062         * docs/libs/Makefile.am:
25063           fixed make distcheck with gtk-doc 1.3
25064
25065 2005-06-23  Wim Taymans  <wim@fluendo.com>
25066
25067         * gst/gstelement.c: (gst_element_get_state_func),
25068         (gst_element_set_state), (gst_element_change_state):
25069         When the state did not change, also report NO_PREROLL
25070         when it matters.
25071
25072 2005-06-23  Wim Taymans  <wim@fluendo.com>
25073
25074         * gst/gstpad.c: (gst_pad_event_default):
25075         * gst/gstqueue.c: (gst_queue_loop):
25076         No unsafe task pausing please.
25077
25078 2005-06-23  Wim Taymans  <wim@fluendo.com>
25079
25080         * gst/schedulers/threadscheduler.c:
25081         (gst_thread_scheduler_task_start),
25082         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25083         Ref the task before pushing it on the threadpool. This
25084         makes sure that we have a ref when the threadfunction is
25085         actually called.
25086
25087 2005-06-23  Andy Wingo  <wingo@pobox.com>
25088
25089         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25090         offset is greater than the file's size.
25091
25092         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25093         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25094         * gst/gstobject.c (gst_object_class_init): Make the class lock
25095         recursive. Wim won't let me drop deep_notify. Decodebin works
25096         again, whoopdy doo.
25097
25098         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25099         internal pad, and hacks accordingly. Doesn't do it on the target
25100         pad because we change its caps. Probably catches all cases of
25101         interest tho.
25102         (gst_ghost_pad_set_property): Connect to notify::caps as
25103         appropritate.
25104
25105         * tests/network-clock.scm (plot-simulation): Pipe data to the
25106         elite python skript.
25107
25108         * tests/network-clock-utils.scm (define-parameter): New macro,
25109         defines a parameter that can be set via the command line.
25110         (set-parameter!, parse-parameter-arguments): Command line args
25111         parser.
25112
25113         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25114         stdin.
25115
25116 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25117
25118         * gst/elements/gsttypefindelement.c:
25119         (gst_type_find_element_handle_event):
25120           Don't restart typefinding on a discont.
25121         * gst/gstelement.c: (gst_element_set_state):
25122           Debug spelling fix.
25123         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25124           Allow changing mode of an active pad.
25125           Debug output fixes.
25126         * gst/registries/gstlibxmlregistry.c: (load_feature):
25127           Don't cast a static pad template to a normal pad template.
25128
25129 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25130
25131         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25132         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25133           remove gst_strtoll completely, since it didn't actually do
25134           anything more than what g_ascii_strtoull already does.
25135           check for range errors when deserializing
25136           do a cast for the unsigned cases; but further fixing needs
25137           a decision on what the interpretation of "(int)" and
25138           deserialization should be for values that fall outside the
25139           type's boundaries (ie, refuse, or interpret as casting)
25140
25141 2005-06-23  Wim Taymans  <wim@fluendo.com>
25142
25143         * check/Makefile.am:
25144         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25145         * docs/design/part-live-source.txt:
25146         * docs/design/part-states.txt:
25147         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25148         (gst_basesrc_set_live), (gst_basesrc_is_live),
25149         (gst_basesrc_get_range), (gst_basesrc_activate),
25150         (gst_basesrc_change_state):
25151         * gst/base/gstbasesrc.h:
25152         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25153         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25154         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25155         * gst/gstelement.c: (gst_element_get_state_func),
25156         (gst_element_set_state):
25157         * gst/gstelement.h:
25158         * gst/gsttypes.h:
25159         * tools/gst-launch.c: (event_loop), (main):
25160         Added support for live sources and other elements that
25161         cannot do preroll.
25162         Updated design docs, added live-source design doc.
25163         Implemented live source functionality in basesrc
25164         Fix error condition in _bin_get_state()
25165         Implement live source handling in -launch.
25166         Added check for live sources.
25167         Fixed case in GstBin where elements were changed state
25168         multiple times.
25169
25170
25171 2005-06-23  Andy Wingo  <wingo@pobox.com>
25172
25173         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25174         borken refcounting.
25175
25176         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25177         gst_caps_replace takes care of this for us.
25178
25179         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25180         gst_pad_set_caps on the target, not just its setcaps() function.
25181
25182         * tests/network-clock.scm: 
25183         * tests/network-clock-utils.scm: A network clock simulator.
25184         Something of an algorithmic testbed before doing something in C.
25185
25186 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25187
25188         * check/Makefile.am:
25189         * check/gst/capslist.h:
25190           copy over from 0.8, and add two with bitmasks specified with
25191           (int) 0xFF...
25192         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25193           add test to parse everything from capslist.h
25194         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25195         (main):
25196           add test for structure deserialization
25197         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25198           add tests for deserialization of strings to int types
25199         * gst/gststructure.c: (gst_structure_nth_field_name):
25200         * gst/gststructure.h:
25201           add a way to get the name of a field referenced by index
25202         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25203           instead of checking if the resulting long long lies between
25204           min and max, we check if the long long would fit into
25205           a number of bytes for the final type.
25206           This fixes cases where a string represents 2^32 - 1, which
25207           when cast to int would be the (valid) -1, but is bigger than
25208           G_MAXINT
25209
25210 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25211
25212         * gst/parse/grammar.y:
25213           add a log line for type deserialization
25214
25215 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25216
25217         * check/gst/gstvalue.c: (START_TEST):
25218         * gst/gstvalue.c: (gst_value_deserialize):
25219           return long long, not int, so gint64 deserialization actually
25220           works.  Is there any flag that makes the compiler check this ?
25221           Fixes #308559
25222
25223 2005-06-22  Wim Taymans  <wim@fluendo.com>
25224
25225         * gst/gstbuffer.h:
25226         Added convenience macros for setting buffers in GValue.
25227
25228 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25229
25230         * check/gst/.cvsignore:
25231         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25232           add a test deserializing int64, and comment part out because
25233           it fails, yay !
25234
25235 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25236
25237         * check/Makefile.am:
25238         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25239         * testsuite/Makefile.am:
25240         * testsuite/caps/Makefile.am:
25241         * testsuite/caps/value_serialize.c:
25242         * testsuite/test_gst_init.c:
25243           move a value_serialize test over
25244
25245 2005-06-20  Wim Taymans  <wim@fluendo.com>
25246
25247         * gst/gstpad.c:
25248         Small doc updates.
25249         
25250         * gst/gstvalue.c: (gst_value_compare_buffer),
25251         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25252         (gst_value_compare_flags), (gst_value_serialize_flags),
25253         (gst_value_deserialize_flags), (_gst_value_initialize):
25254         Fix serialisation of buffers, they are not boxed types anymore
25255
25256 2005-06-20  Wim Taymans  <wim@fluendo.com>
25257
25258         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25259         Testcase to show error in buffer-on-caps serialisation.
25260
25261 2005-06-20  Andy Wingo  <wingo@pobox.com>
25262
25263         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25264         will be adding to later.
25265
25266         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25267         if its socks fill with rocks.
25268         (gst_system_clock_obtain): Set the name on object construction.
25269         Avoid double-checked locking.
25270
25271 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25272
25273         * gst/gsturi.c: (gst_element_make_from_uri):
25274           Fix potential endless loop.
25275
25276 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25277
25278         * check/Makefile.am:
25279           add gsttag
25280         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25281         (main):
25282           move over from testsuite dir and clean up
25283         * configure.ac:
25284         * gst/gsttag.c:
25285         * testsuite/Makefile.am:
25286         * testsuite/tags/.cvsignore:
25287         * testsuite/tags/Makefile.am:
25288         * testsuite/tags/merge.c:
25289           remove testsuite/tags
25290
25291 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25292
25293         * docs/gst/gstreamer-sections.txt:
25294         * docs/gst/tmpl/gstenumtypes.sgml:
25295         * win32/gstenumtypes.c:
25296           clean up documentation build a little
25297
25298 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25299
25300         * check/gstcheck.h:
25301           add macros for checking refcounts on objects and caps
25302         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25303           add some more unit tests
25304         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25305         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25306           fix leaked refcounts (I hope :)) so unittest works
25307         * gst/gstpad.h:
25308           whitespace removal
25309
25310 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25311
25312         * configure.ac: back to HEAD
25313
25314 === release 0.9.1 ===
25315
25316 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25317
25318         * NEWS:
25319         * RELEASE:
25320           updated
25321
25322 2005-06-17  Andy Wingo  <wingo@pobox.com>
25323
25324         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25325         assert; it's always possible that the pad gets deactivated in
25326         between the checks in gstpad.c and the implementation. Rely on
25327         finish_preroll() to return a FLUSHING or similar instead of on the
25328         assert.
25329         
25330         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25331         clock and post an EOS message if we come out of finish_preroll in
25332         the playing state.
25333
25334 2005-06-16  David Schleef  <ds@schleef.org>
25335
25336         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25337         (gst_capsfilter_set_property): Allow NULL as possible value
25338         for filter_caps property, indicating GST_CAPS_ANY.
25339
25340 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25341
25342         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25343           fix debug output
25344         * gst/schedulers/Makefile.am:
25345           use libgst prefix
25346         * gstreamer.spec.in:
25347           fix spec for it
25348
25349 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25350
25351         * gstreamer.spec.in:
25352           clean up
25353
25354 2005-06-08  Andy Wingo  <wingo@pobox.com>
25355
25356         * gst/gstutils.c: RPAD fixes all around.
25357         (gst_element_link_pads): Refcounting fixes.
25358
25359         * tools/gst-inspect.c:
25360         * tools/gst-xmlinspect.c:
25361         * parse/grammar.y:
25362         * gst/base/gsttypefindhelper.c:
25363         * gst/base/gstbasesink.c:
25364         * gst/gstqueue.c: RPAD fixes.
25365
25366         * gst/gstghostpad.h:
25367         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25368         pads. The tricky thing is they provide both source and sink
25369         interfaces, since they proxy the internal pad for the external
25370         pad, and vice versa. Implement with lower-level ProxyPad objects,
25371         with the interior proxy pad as a child of the exterior ghost pad.
25372         Should write a doc on this.
25373         
25374         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25375         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25376         gst_object API.
25377         
25378         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25379         pads are real pads. No ghost pads in this file. Not documenting
25380         the myriad s/RPAD/PAD/ and REALIZE fixes.
25381         (gst_pad_class_init): Add properties for "direction" and
25382         "template". Both are construct-only, so they can't change during
25383         the life of the pad. Fixes properly deriving from GstPad.
25384         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25385         derived objects, just set properties when creating the objects via
25386         g_object_new.
25387         (gst_pad_get_parent): Implement as a function, return NULL if the
25388         parent is not an element.
25389         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25390         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25391         
25392         * gst/gstobject.c (gst_object_class_init): Make name a construct
25393         property. Don't set it in the object init.
25394
25395         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25396         with UNKNOWN direction.
25397         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25398         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25399         (gst_element_remove_pad): Remove ghost-pad special cases.
25400         (gst_element_pads_activate): Remove rpad cruft.
25401
25402         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25403         catch the pad's-parent-not-an-element case.
25404
25405         * gst/gst.h: Include gstghostpad.h.
25406
25407         * gst/gst.c (init_post): No more real, ghost pads.
25408
25409         * gst/Makefile.am: Add gstghostpad.[ch].
25410
25411         * check/Makefile.am:
25412         * check/gst/gstbin.c:
25413         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25414         into a bin creates ghost pads, and that the refcounts are right.
25415         Partly moved from gstbin.c.
25416
25417 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25418
25419         * check/gst-libs/.cvsignore:
25420         * check/gst/.cvsignore:
25421         * check/pipelines/.cvsignore:
25422           ignore more
25423         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25424         (START_TEST), (cleanup_suite), (main):
25425           add some tests related to cleanup after running pipelines
25426
25427 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25428
25429         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25430           add a testsuite for GstBuffer
25431
25432 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25433
25434         * gst/gstminiobject.h:
25435           add defines for accessing the refcount
25436
25437 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25438
25439         * Makefile.am: added support for html unit test coverage reports
25440
25441 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25442
25443         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25444           Free existing caps if the capsfilter changes. Add a FIXME about
25445           setting those caps on the pads.
25446
25447         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25448           Before adding a ghost pad to a parent bin, check that there isn't
25449           already one for the element on the bin. Prevents infinite recursion
25450           when using decodebin in parse pipelines. Andy says he'll rewrite the
25451           way this works anyway, so ignore the hack.
25452
25453 2005-06-02  Andy Wingo  <wingo@pobox.com>
25454
25455         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25456         file size, pass it on to the type find helper.
25457
25458         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25459         segment_start and segment_end properly according to the seek
25460         method. Segment_end is still a bit flaky because offset can be
25461         negative for CUR and END cases, but it takes -1 as an "unset"
25462         value.
25463
25464 2005-06-02  Wim Taymans  <wim@fluendo.com>
25465
25466         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25467         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25468         (gst_basesink_activate):
25469         * gst/base/gstbasesink.h:
25470         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25471         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25472         (gst_pad_query), (gst_pad_start_task):
25473         * gst/gstpad.h:
25474         * gst/gstqueue.c: (gst_queue_bufferalloc),
25475         (gst_queue_handle_sink_event), (gst_queue_chain):
25476         Bufferalloc: return GstFlowReturn to more accuratly report
25477         why allocation failed.
25478
25479 2005-06-02  Wim Taymans  <wim@fluendo.com>
25480
25481         * gst/gstpipeline.c: (gst_pipeline_send_event):
25482         Take snapshot of state without blocking.
25483
25484 2005-06-02  Wim Taymans  <wim@fluendo.com>
25485
25486         * docs/design/part-TODO.txt:
25487         * docs/design/part-caps.txt:
25488         * docs/design/part-clocks.txt:
25489         * docs/design/part-negotiation.txt:
25490         * docs/design/part-preroll.txt:
25491         Small doc updates 
25492
25493 2005-05-30  Wim Taymans  <wim@fluendo.com>
25494
25495         * gst/elements/gstidentity.c: (gst_identity_event),
25496         (gst_identity_transform), (gst_identity_get_property):
25497         Protect last_message property as it is accessed from
25498         multiple threads.
25499
25500 2005-05-30  Wim Taymans  <wim@fluendo.com>
25501
25502         * gst/gstelement.c: (gst_element_init),
25503         (gst_element_pads_activate), (gst_element_change_state):
25504         Slicker pad activation code.
25505
25506 2005-05-30  Wim Taymans  <wim@fluendo.com>
25507
25508         * gst/Makefile.am:
25509         * gst/gstelement.h:
25510         * gst/gstelementfactory.h:
25511         * gst/gsttypes.h:
25512         Move elementfactory methods to separate .h file.
25513
25514 2005-05-30  Wim Taymans  <wim@fluendo.com>
25515
25516         * docs/design/part-overview.txt:
25517         * gst/gstsystemclock.h:
25518         Small typo fixes, doc updates.
25519
25520 2005-05-30  Wim Taymans  <wim@fluendo.com>
25521
25522         * gst/gst.c: (gst_init_get_popt_table), (init_post),
25523         (init_popt_callback):
25524         Remove cpu-opt flag.
25525
25526 2005-05-30  Wim Taymans  <wim@fluendo.com>
25527
25528         * gst/gstbuffer.c: (gst_subbuffer_finalize),
25529         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
25530         * gst/gstbuffer.h:
25531         Avoid typechecking in places where not needed.
25532         Added accessor for malloc_data.
25533
25534 2005-05-30  Wim Taymans  <wim@fluendo.com>
25535
25536         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
25537         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
25538         (gst_pad_configure_sink), (gst_pad_configure_src),
25539         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
25540         (gst_pad_start_task):
25541         Propagate errors from _set_caps() in configure_src/sink
25542         functions instead of returning TRUE.
25543         FLUSH events can travel up and downstream
25544
25545
25546 2005-05-30  Wim Taymans  <wim@fluendo.com>
25547
25548         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25549         (gst_basesink_activate):
25550         Handle EOS in preroll.
25551
25552 2005-05-30  Wim Taymans  <wim@fluendo.com>
25553
25554         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25555         (gst_queue_loop), (gst_queue_handle_src_event):
25556         Remove old pieces of code
25557         Flushing the queue in an upstream event is a very bad idea.
25558
25559 2005-05-26  Andy Wingo  <wingo@pobox.com>
25560
25561         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
25562         gst_value_set_mini_object so as to add a ref on the object (which
25563         will be removed when the value is unset).
25564
25565         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
25566         arg type in ::handoff.
25567
25568         * gst/gstelement.c (gst_element_change_state): Also deactivate
25569         pads in READY->NULL, just in case the element didn't make it to
25570         PAUSED. Wingo tested, Wim approved.
25571
25572 2005-05-26  Wim Taymans  <wim@fluendo.com>
25573
25574         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25575         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25576         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
25577         A flushing pad cannot be used to alloc_buffer from.
25578
25579 2005-05-26  Wim Taymans  <wim@fluendo.com>
25580
25581         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
25582         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
25583         (gst_bus_source_dispatch), (gst_bus_source_finalize),
25584         (gst_bus_create_watch), (gst_bus_add_watch_full):
25585         * gst/gstbus.h:
25586         Implement a real GSource and use g_main_context_wakeup() to
25587         signal new messages instead of the socketpair.
25588
25589 2005-05-25  Wim Taymans  <wim@fluendo.com>
25590
25591         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
25592         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
25593         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25594         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25595         (gst_pad_send_event), (gst_pad_start_task):
25596         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
25597         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25598         (gst_queue_sink_activate), (gst_queue_src_activate),
25599         (gst_queue_change_state):
25600         * gst/gstqueue.h:
25601         Fix state changes for non sinks. We now change sinks, then elements
25602         with unconnected srcpads, then the rest.
25603         More efficient queue unlocking in flush and state changes.
25604         Set the pad activate mode even if it does not have an activate
25605         function.
25606
25607 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25608
25609         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
25610           Don't go in pull mode for non-seekable sources.
25611         * gst/elements/gsttypefindelement.h:
25612         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25613         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
25614         (free_entry), (stop_typefinding),
25615         (gst_type_find_element_handle_event), (find_peek),
25616         (gst_type_find_element_chain), (do_pull_typefind),
25617         (gst_type_find_element_change_state):
25618           Allow typefinding (w/o seeking) in push-mode, simplified version
25619           of what was in 0.8.
25620         * gst/gstutils.c: (gst_buffer_join):
25621         * gst/gstutils.h:
25622           gst_buffer_join() from 0.8.
25623
25624 2005-05-25  Wim Taymans  <wim@fluendo.com>
25625
25626         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25627         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25628         (gst_pad_send_event), (gst_pad_start_task):
25629         Disable attempt at mode switching until it is figured out.
25630
25631 2005-05-25  Wim Taymans  <wim@fluendo.com>
25632
25633         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
25634         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25635         (gst_basesink_finish_preroll), (gst_basesink_chain),
25636         (gst_basesink_loop), (gst_basesink_activate),
25637         (gst_basesink_change_state):
25638         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
25639         (gst_basesrc_get_range), (gst_basesrc_loop),
25640         (gst_basesrc_activate):
25641         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25642         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25643         (gst_real_pad_init), (gst_real_pad_set_property),
25644         (gst_real_pad_get_property), (gst_pad_set_active),
25645         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
25646         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
25647         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
25648         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
25649         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25650         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
25651         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
25652         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25653         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
25654         (gst_pad_stop_task):
25655         * gst/gstpad.h:
25656         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25657         (gst_queue_loop), (gst_queue_src_activate):
25658         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
25659         (gst_task_get_state):
25660         * gst/gsttask.h:
25661         * gst/schedulers/threadscheduler.c:
25662         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
25663         Implement gst_pad_pause/start/stop_task(), take STREAM lock
25664         in task function.
25665         Remove ACTIVE pad flag, use FLUSHING everywhere
25666         Added _pad_chain(), _pad_get_range() to call chain/getrange 
25667         functions.
25668         Add locks around IS_FLUSHING when reading.
25669         Take STREAM lock in chain(), get_range() functions so plugins
25670         don't need to take it anymore.
25671         
25672
25673
25674 2005-05-25  Wim Taymans  <wim@fluendo.com>
25675
25676         * tools/gst-launch.c: (event_loop):
25677         Unref message after using its contents instead of
25678         before.
25679
25680 2005-05-24  Wim Taymans  <wim@fluendo.com>
25681
25682         * docs/design/draft-ghostpads.txt:
25683         * docs/design/draft-push-pull.txt:
25684         * docs/design/draft-query.txt:
25685         * docs/design/part-overview.txt:
25686         Docs updates, added general overview doc.
25687
25688 2005-05-21  David Schleef  <ds@schleef.org>
25689
25690         * docs/gst/tmpl/old/GstBin.sgml:
25691         * docs/gst/tmpl/old/GstBuffer.sgml:
25692         * docs/gst/tmpl/old/GstCaps.sgml:
25693         * docs/gst/tmpl/old/GstClock.sgml:
25694         * docs/gst/tmpl/old/GstCompat.sgml:
25695         * docs/gst/tmpl/old/GstData.sgml:
25696         * docs/gst/tmpl/old/GstElement.sgml:
25697         * docs/gst/tmpl/old/GstEvent.sgml:
25698         * docs/gst/tmpl/old/GstIndex.sgml:
25699         * docs/gst/tmpl/old/GstStructure.sgml:
25700         * docs/gst/tmpl/old/GstTag.sgml:
25701         * docs/gst/tmpl/old/cothreads.sgml:
25702         * docs/gst/tmpl/old/cothreads_compat.sgml:
25703         * docs/gst/tmpl/old/gettext.sgml:
25704         * docs/gst/tmpl/old/gobject2gtk.sgml:
25705         * docs/gst/tmpl/old/grammar.tab.sgml:
25706         * docs/gst/tmpl/old/gst-i18n-app.sgml:
25707         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
25708         * docs/gst/tmpl/old/gst_private.sgml:
25709         * docs/gst/tmpl/old/gstaggregator.sgml:
25710         * docs/gst/tmpl/old/gstarch.sgml:
25711         * docs/gst/tmpl/old/gstatomic_impl.sgml:
25712         * docs/gst/tmpl/old/gstbufferstore.sgml:
25713         * docs/gst/tmpl/old/gstdata_private.sgml:
25714         * docs/gst/tmpl/old/gstdisksink.sgml:
25715         * docs/gst/tmpl/old/gstdisksrc.sgml:
25716         * docs/gst/tmpl/old/gstelementfactory.sgml:
25717         * docs/gst/tmpl/old/gstextratypes.sgml:
25718         * docs/gst/tmpl/old/gstfakesink.sgml:
25719         * docs/gst/tmpl/old/gstfakesrc.sgml:
25720         * docs/gst/tmpl/old/gstfdsink.sgml:
25721         * docs/gst/tmpl/old/gstfdsrc.sgml:
25722         * docs/gst/tmpl/old/gstfilesink.sgml:
25723         * docs/gst/tmpl/old/gstfilesrc.sgml:
25724         * docs/gst/tmpl/old/gsthttpsrc.sgml:
25725         * docs/gst/tmpl/old/gstidentity.sgml:
25726         * docs/gst/tmpl/old/gstindexfactory.sgml:
25727         * docs/gst/tmpl/old/gstmarshal.sgml:
25728         * docs/gst/tmpl/old/gstmd5sink.sgml:
25729         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
25730         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
25731         * docs/gst/tmpl/old/gstpadtemplate.sgml:
25732         * docs/gst/tmpl/old/gstpipefilter.sgml:
25733         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
25734         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
25735         * docs/gst/tmpl/old/gstshaper.sgml:
25736         * docs/gst/tmpl/old/gstspider.sgml:
25737         * docs/gst/tmpl/old/gstspideridentity.sgml:
25738         * docs/gst/tmpl/old/gststatistics.sgml:
25739         * docs/gst/tmpl/old/gsttee.sgml:
25740         * docs/gst/tmpl/old/gsttimecache.sgml:
25741         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
25742         * docs/gst/tmpl/old/gstxmlregistry.sgml:
25743         * docs/gst/tmpl/old/gthread-cothreads.sgml:
25744         * docs/gst/tmpl/old/types.sgml:
25745           I didn't intend to add these or check them in.
25746
25747 2005-05-19  David Schleef  <ds@schleef.org>
25748
25749         * configure.ac: Use -no-common everywhere.  In a sane world, it
25750           would be the default in libtool, because without it, you can't
25751           build DLLs on Windows.
25752         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
25753         * docs/gst/gstreamer-sections.txt:
25754         * docs/gst/tmpl/gstcpu.sgml:
25755         * docs/gst/tmpl/gstdata.sgml:
25756         * docs/gst/tmpl/gstthread.sgml:
25757
25758 2005-05-19  David Schleef  <ds@schleef.org>
25759
25760         * gst/gstminiobject.c: (gst_value_set_mini_object),
25761         (gst_value_take_mini_object), (gst_value_get_mini_object):
25762         * gst/gstminiobject.h: Add GValue set/get functions.
25763
25764 2005-05-19  Wim Taymans  <wim@fluendo.com>
25765
25766         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
25767         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
25768         (gst_subbuffer_init), (gst_buffer_is_span_fast):
25769         * gst/gstbuffer.h:
25770         * gst/gstbus.c: (gst_bus_post):
25771         * gst/gstelement.c: (gst_element_get_random_pad):
25772         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
25773         Make subbufer unref the parent in finalize.
25774         some more debugging info.
25775
25776
25777 2005-05-19  Wim Taymans  <wim@fluendo.com>
25778
25779         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25780         (gst_basesink_init), (gst_basesink_finalize),
25781         (gst_basesink_activate), (gst_basesink_change_state):
25782         Don't free preroll queue too early.
25783
25784 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25785
25786         * gst/Makefile.am:
25787         * gst/ROADMAP:
25788           Hi, I'm outdated. Please shoot me.
25789
25790 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25791
25792         * gst/gstpipeline.c: (gst_pipeline_send_event):
25793           Do not access variables after they have been deleted.
25794
25795 2005-05-19  Wim Taymans  <wim@fluendo.com>
25796
25797         * tools/gst-inspect.c: (print_plugin_features):
25798         A plugin feature does unfortunatly not use the
25799         object name yet...
25800
25801 2005-05-18  Wim Taymans  <wim@fluendo.com>
25802
25803         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
25804         Port _span() functions to new subbuffers.
25805
25806 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25807
25808         * gst/gstbin.c: (gst_bin_add_func):
25809           Fix clock settery in bins when adding kids after the clock has
25810           been selected.
25811
25812 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25813
25814         * gst/elements/gstidentity.c: (gst_identity_class_init):
25815           Workaround until signals support GstMiniObject.
25816
25817 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
25818
25819         * gst/gstbuffer.c:
25820         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
25821
25822 2005-05-18  Wim Taymans  <wim@fluendo.com>
25823
25824         * gst/base/Makefile.am:
25825         * gst/base/gstadapter.c: (gst_adapter_base_init),
25826         (gst_adapter_class_init), (gst_adapter_init),
25827         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
25828         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
25829         (gst_adapter_flush), (gst_adapter_available),
25830         (gst_adapter_available_fast):
25831         * gst/base/gstadapter.h:
25832         Ported and added adapter to the base classes.
25833
25834 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25835
25836         * gst/gst.c:
25837         * gst/gstmessage.c:
25838           Make sure the class is reffed/unreffed once before threads can be
25839           used.  Fixes #304551.
25840
25841 2005-05-17  Wim Taymans  <wim@fluendo.com>
25842
25843         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
25844         (gst_basesink_chain_unlocked), (gst_basesink_activate):
25845         * gst/gstminiobject.c: (gst_mini_object_get_type),
25846         (gst_mini_object_free):
25847         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
25848         (gst_pad_push), (gst_pad_push_event):
25849         * gst/gstqueue.c: (gst_queue_change_state):
25850         Don't queue buffers in basesink when we are flushing.
25851         Unref buffer when flushing in basesink.
25852         Flush queue when going to READY
25853         Unref buffer when _push() returns an error.
25854         Don't free MiniObject instance when refcount is incremented
25855         in _finalize() so that we can recover objects.
25856
25857 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25858
25859         * docs/manual/advanced-schedulers.xml:
25860         * docs/manual/appendix-checklist.xml:
25861         * docs/pwg/advanced-clock.xml:
25862         * docs/pwg/advanced-interfaces.xml:
25863         * docs/pwg/advanced-request.xml:
25864         * docs/pwg/advanced-types.xml:
25865         * docs/pwg/intro-preface.xml:
25866         * examples/plugins/example.c: (gst_example_get_type),
25867         (gst_example_class_init), (gst_example_chain),
25868         (gst_example_set_property), (gst_example_get_property),
25869         (gst_example_change_state), (plugin_init):
25870         * examples/plugins/example.h:
25871           small doc fixes
25872
25873 2005-05-17  Wim Taymans  <wim@fluendo.com>
25874
25875         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
25876         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
25877         * gst/gstqueue.c: (gst_queue_change_state):
25878         Clear queue when going to READY.
25879         Remove IN_SETCAPS flag too.
25880
25881 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
25882
25883         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
25884           Remove implicit cast from gboolean to GstElementStateReturn;
25885           make sure we still return failure in paused => ready case if
25886           the parent class fails to change state and our own stop 
25887           vfunc succeeds.
25888
25889 2005-05-17  Wim Taymans  <wim@fluendo.com>
25890
25891         * tools/gst-launch.c: (event_loop):
25892         Message was unreffed too soon.
25893
25894 2005-05-16  Andy Wingo  <wingo@pobox.com>
25895
25896         * gst/gstbin.c (sink_iterator_filter): Err... um...
25897
25898         * check/gst/gstbin.c (test_ghost_pads): New test for the
25899         ghosting-if-elements-not-in-same-bin behavior.
25900
25901 2005-05-16  David Schleef  <ds@schleef.org>
25902
25903         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
25904         accessing refcount directly.
25905
25906 2005-05-15  David Schleef  <ds@schleef.org>
25907
25908         * check/Makefile.am: remove GstData checks
25909         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
25910         * gst/Makefile.am: add miniobject, remove data
25911         * gst/gst.h: add miniobject, remove data
25912         * gst/gstdata.c: remove
25913         * gst/gstdata.h: remove
25914         * gst/gstdata_private.h: remove
25915         * gst/gsttypes.h: remove GstEvent and GstMessage
25916         * gst/gstelement.c: (gst_element_post_message): fix for API changes
25917         * gst/gstmarshal.list: change BOXED -> OBJECT
25918
25919         Implement GstMiniObject.
25920         * gst/gstminiobject.c:
25921         * gst/gstminiobject.h:
25922
25923         Modify to be subclasses of GstMiniObject.
25924         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
25925         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
25926         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
25927         (gst_subbuffer_get_type), (gst_subbuffer_init),
25928         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
25929         (gst_buffer_span):
25930         * gst/gstbuffer.h:
25931         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
25932         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
25933         (_gst_event_copy), (gst_event_new):
25934         * gst/gstevent.h:
25935         * gst/gstmessage.c: (_gst_message_initialize),
25936         (gst_message_get_type), (gst_message_class_init),
25937         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
25938         (gst_message_new), (gst_message_new_error),
25939         (gst_message_new_warning), (gst_message_new_tag),
25940         (gst_message_new_state_changed), (gst_message_new_application):
25941         * gst/gstmessage.h:
25942         * gst/gstprobe.c: (gst_probe_perform),
25943         (gst_probe_dispatcher_dispatch):
25944         * gst/gstprobe.h:
25945         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
25946         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
25947         (_gst_query_copy), (gst_query_new):
25948
25949         Update elements for GstData -> GstMiniObject changes
25950         * gst/gstquery.h:
25951         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
25952         (gst_queue_chain), (gst_queue_loop):
25953         * gst/elements/gstbufferstore.c:
25954         (gst_buffer_store_add_buffer_func),
25955         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
25956         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25957         (gst_fakesink_render):
25958         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25959         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
25960         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
25961         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
25962         (gst_filesrc_create_read):
25963         * gst/elements/gstidentity.c: (gst_identity_class_init):
25964         * gst/elements/gsttypefindelement.c:
25965         (gst_type_find_element_src_event), (free_entry_buffers),
25966         (gst_type_find_element_handle_event):
25967         * libs/gst/dataprotocol/dataprotocol.c:
25968         (gst_dp_header_from_buffer):
25969         * libs/gst/dataprotocol/dataprotocol.h:
25970         * libs/gst/dataprotocol/dp-private.h:
25971
25972 2005-05-15  David Schleef  <ds@schleef.org>
25973
25974         * gst/elements/gstelements.c: Don't include headers that were
25975         just removed.
25976
25977 2005-05-15  David Schleef  <ds@schleef.org>
25978
25979         * gst/elements/Makefile.am: Remove some elements that don't
25980         need to be in the core (or even exist at all).
25981         * gst/elements/gstaggregator.c:
25982         * gst/elements/gstaggregator.h:
25983         * gst/elements/gstmd5sink.c:
25984         * gst/elements/gstmd5sink.h:
25985         * gst/elements/gstmultifilesrc.c:
25986         * gst/elements/gstmultifilesrc.h:
25987         * gst/elements/gstpipefilter.c:
25988         * gst/elements/gstpipefilter.h:
25989         * gst/elements/gstshaper.c:
25990         * gst/elements/gstshaper.h:
25991         * gst/elements/gststatistics.c:
25992         * gst/elements/gststatistics.h:
25993         * po/POTFILES.in: Remove above files.
25994
25995 2005-05-14  Andy Wingo  <wingo@pobox.com>
25996
25997         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
25998         so as to get the refs right.
25999         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26000         unreffing objects that don't pass the filter.
26001
26002         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26003         gst_element_set_bus.
26004         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26005         normal cases, this will destroy the bus.
26006
26007         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26008         object.
26009
26010         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26011         has no sinks.
26012
26013 2005-05-13  Andy Wingo  <wingo@pobox.com>
26014
26015         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26016         gst_pad_link, call pad_link_maybe_ghosting,
26017         (pad_link_maybe_ghosting): Links pads, making sure that the
26018         elements being linked are in the same bin.
26019         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26020         Helpers for pad_link_maybe_ghosting.
26021
26022 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26023
26024         * configure.ac:
26025           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26026
26027 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26028
26029         * docs/design/part-element-source.txt:
26030           Mention GstPushSrc
26031
26032 2005-05-12  Wim Taymans  <wim@fluendo.com>
26033
26034         * gst/base/gstbasesink.c: (gst_basesink_init),
26035         (gst_basesink_activate):
26036         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26037         (gst_basesrc_is_seekable):
26038         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26039         (bin_element_is_sink), (gst_bin_change_state):
26040         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26041         * gst/gstelement.h:
26042         Identify sinks by their flag to avoid overly complicated
26043         checks (fow now).
26044         Do state changes even for elements not reachable from the
26045         sinks.
26046         BaseSink is a sink now :)
26047         Some more debugging info in the basesrc.
26048
26049
26050 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26051
26052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26053           Implement _query on a bin, similar to _send_event.
26054
26055 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26056
26057         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26058           Discont event offset format should be GST_FORMAT_BYTES,
26059           not GST_FORMAT_TIME.
26060
26061 2005-05-12  Wim Taymans  <wim@fluendo.com>
26062
26063         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26064         Same fix as Ronald's but without the signal. 
26065
26066 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26067
26068         * gst/gstutils.c: (gst_element_query_position):
26069           No, an element is not a pad.
26070
26071 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26072
26073         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26074         (gst_bin_get_state):
26075           If a child is removed from a bin while we remove the child from
26076           the bin and while we're retrieving its state, signal this to the
26077           get_state function so we abort the wait (instead of waiting for
26078           a timeout) and can immediately re-iterate over all other elements.
26079
26080 2005-05-12  Wim Taymans  <wim@fluendo.com>
26081
26082         * gst/base/Makefile.am:
26083         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26084         (gst_basesrc_start):
26085         * gst/base/gstbasesrc.h:
26086         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26087         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26088         (gst_pushsrc_init), (gst_pushsrc_create):
26089         * gst/base/gstpushsrc.h:
26090         Added is_seekable to BaseSrc
26091         Added simple PushSrc.
26092
26093 2005-05-11  Wim Taymans  <wim@fluendo.com>
26094
26095         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26096         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26097         (gst_element_link_pads), (gst_element_query_position),
26098         (gst_element_query_convert), (intersect_caps_func),
26099         (gst_pad_query_position), (gst_pad_query_convert):
26100         Fix refcounting in utils function.
26101         No point in trying to activate a pad when it's added, it could
26102         be added from the state change function and then we deadlock, the
26103         element has to decide what to do.
26104
26105 2005-05-10  Andy Wingo  <wingo@pobox.com>
26106
26107         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26108         *all* the arguments.
26109
26110         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26111         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26112         lock (according to the docs -- if this is wrong change the docs).
26113
26114         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26115         flush messages in the NULL state.
26116
26117         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26118         message immediately and return.
26119         (gst_bus_set_flushing): New function. If a bus is flushing, it
26120         flushes out any queued messages and immediately unrefs new
26121         messages. This is so when an element goes to NULL, all of the
26122         unhandled messages coming from it can be freed, and their
26123         references to the element dropped. In other words: message source
26124         ref considered harmful :P
26125
26126         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26127         we're finished with it.
26128
26129         * gst/gstmessage.c (gst_message_new_state_changed): 
26130
26131 2005-05-10  Wim Taymans  <wim@fluendo.com>
26132
26133         * gst/gstvalue.c: (gst_value_compare_flags),
26134         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26135         (_gst_value_initialize):
26136         Added flags serialize/deserialize/compare code.
26137
26138 2005-05-09  Andy Wingo  <wingo@pobox.com>
26139
26140         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26141         Intersect the peer's caps with our caps.
26142
26143 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26144
26145         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26146         * gst/elements/gsttypefindelement.c: (find_peek):
26147           Handle negative offsets better. Fixes decodebin.
26148
26149 2005-05-09  Wim Taymans  <wim@fluendo.com>
26150
26151         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26152         (gst_base_transform_event):
26153         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26154         Implement accept_caps.
26155         Fix silly lock/unlock mismatch in base class.
26156
26157 2005-05-09  Wim Taymans  <wim@fluendo.com>
26158
26159         * docs/design/draft-push-pull.txt:
26160         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26161         * gst/elements/gstfilesink.c: (gst_filesink_init),
26162         (gst_filesink_query):
26163         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26164         (gst_type_find_handle_src_query), (find_element_get_length):
26165         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26166         * gst/gstelement.h:
26167         * gst/gstmessage.c:
26168         * gst/gstmessage.h:
26169         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26170         (gst_real_pad_get_caps_unlocked),
26171         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26172         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26173         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26174         (gst_real_pad_dispose), (gst_real_pad_finalize),
26175         (gst_pad_load_and_link), (gst_pad_save_thyself),
26176         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26177         (gst_pad_check_pull_range), (gst_pad_pull_range),
26178         (gst_pad_template_get_type), (gst_pad_template_class_init),
26179         (gst_pad_template_init), (gst_pad_template_dispose),
26180         (name_is_valid), (gst_static_pad_template_get),
26181         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26182         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26183         (gst_pad_get_element_private), (gst_pad_start_task),
26184         (gst_pad_pause_task), (gst_pad_stop_task),
26185         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26186         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26187         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26188         (gst_ghost_pad_new):
26189         * gst/gstpad.h:
26190         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26191         (gst_query_new_position), (gst_query_set_position),
26192         (gst_query_parse_position), (gst_query_new_convert),
26193         (gst_query_set_convert), (gst_query_parse_convert):
26194         * gst/gstquery.h:
26195         * gst/gstqueryutils.c:
26196         * gst/gstqueryutils.h:
26197         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26198         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26199         (gst_queue_handle_src_query):
26200         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26201         (gst_element_query_position), (gst_element_query_convert),
26202         (intersect_caps_func), (gst_pad_query_position),
26203         (gst_pad_query_convert):
26204         * gst/gstutils.h:
26205         * tools/gst-inspect.c: (print_pad_info):
26206         * tools/gst-xmlinspect.c: (print_element_info):
26207         Remove old query functions. Ported old code.
26208         Added position/convert helper functions to gstutils.
26209         Reordered gstpad.c code, grouping relevant things.
26210         Remove gst_message_new(), always need to speficy a specific
26211         message.
26212
26213
26214 2005-05-09  Andy Wingo  <wingo@pobox.com>
26215
26216         * gst/gstiterator.h: Add some includes.
26217
26218         * gst/gstqueryutils.h: Include more headers.
26219
26220         * gst/gstpad.h:
26221         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26222         some uses of gst_pad_query.
26223
26224         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26225         NULL out parameters.
26226         (gst_query_new_position): New proc, allocates a new position
26227         query.
26228
26229         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26230         gstqueryutils.c to the build.
26231
26232         * gst/gststructure.c (gst_structure_set_valist): Implement with
26233         the generic G_VALUE_COLLECT.
26234         
26235 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26236
26237         * gst/Makefile.am: (gst_headers):
26238         Added gstqueryutils.h to the list of headers to install, that was
26239         a 'nachty' move wingo :)
26240
26241 2005-05-06  Andy Wingo  <wingo@pobox.com>
26242
26243         * gst/gstquery.h
26244         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26245         GstData, init a memchunk.
26246         (standard_definitions): Add a few query types, deprecate a few.
26247         (gst_query_get_type): New proc.
26248         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26249         implementation.
26250         (gst_query_new_application, gst_query_get_structure): New public
26251         procs.
26252
26253         * docs/design/draft-query.txt: Removed LINKS from the query types,
26254         because all the rest can be dispatched to other pads -- seemed
26255         ugly to have a query that couldn't be dispatched. internal_links
26256         is fine as a pad method.
26257
26258         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26259         in gstpad.c, but maintain binary compatibility for the moment.
26260         Will fix before 0.9 is out.
26261
26262         * gst/gstqueryutils.c: 
26263         * gst/gstqueryutils.h: New files, implement 3 methods for each
26264         query type: parse_query, parse_response, and set. Probably need an
26265         allocator as well.
26266
26267         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26268
26269         * gst/elements/gstfilesink.c (gst_filesink_query2):
26270         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26271         query_types, and formats methods.
26272
26273         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26274         (gst_pad_set_query2_function): New functions.
26275         (gst_real_pad_init): Set query2_default as the default query2
26276         function. Basically just dispatches to internally linked pads.
26277
26278         Needs review!
26279         
26280         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26281         without using the atomic operations. Only one thread can possibly
26282         be accessing the data at this point. Changed so as to avoid
26283         gst_atomic operations.
26284
26285 2005-05-06  Wim Taymans  <wim@fluendo.com>
26286
26287         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26288         Also set caps if we use the fallback buffer alloc.
26289
26290 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26291
26292         * docs/gst/Makefile.am:
26293         * docs/gst/gstreamer-docs.sgml:
26294         * docs/gst/gstreamer-sections.txt:
26295         * docs/gst/tmpl/gstatomic.sgml:
26296         * docs/gst/tmpl/gstmemchunk.sgml:
26297         * testsuite/elements/struct_i386.h:
26298         * win32/GStreamer.vcproj:
26299         * win32/Makefile:
26300           Purge GstAtomic stuff from docs and win32 makefiles as well
26301
26302 2005-05-06  Wim Taymans  <wim@fluendo.com>
26303
26304         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26305         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26306         * gst/gstpad.c: (gst_pad_peer_get_caps):
26307         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26308         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26309         (gst_queue_src_activate), (gst_queue_change_state):
26310         * gst/gstqueue.h:
26311         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26312         (intersect_caps_func):
26313         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26314         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26315         Some fixes for the peer_get_caps() change.
26316
26317 2005-05-06  Wim Taymans  <wim@fluendo.com>
26318
26319         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26320         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26321         (gst_basesink_activate):
26322         Actually do something with error codes returned from the push
26323         functions.
26324
26325 2005-05-06  Wim Taymans  <wim@fluendo.com>
26326
26327         * docs/design/part-element-sink.txt:
26328         * docs/design/part-element-source.txt:
26329         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26330         (gst_basesink_event), (gst_basesink_activate):
26331         * gst/base/gstbasesink.h:
26332         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26333         (gst_basesrc_activate):
26334         * gst/base/gstbasesrc.h:
26335         * gst/gstelement.c: (gst_element_pads_activate):
26336         Some more documentation.
26337         Fixed scheduling decision in _pads_activate().
26338
26339 2005-05-05  Andy Wingo  <wingo@pobox.com>
26340
26341         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26342         the test suite.
26343
26344 2005-05-05  Wim Taymans  <wim@fluendo.com>
26345
26346         * gst/base/Makefile.am:
26347         * gst/base/gstbasesink.h:
26348         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26349         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26350         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26351         (gst_collectpads_class_init), (gst_collectpads_init),
26352         (gst_collectpads_finalize), (gst_collectpads_new),
26353         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26354         (find_pad), (gst_collectpads_remove_pad),
26355         (gst_collectpads_is_active), (gst_collectpads_collect),
26356         (gst_collectpads_collect_range), (gst_collectpads_start),
26357         (gst_collectpads_stop), (gst_collectpads_peek),
26358         (gst_collectpads_pop), (gst_collectpads_available),
26359         (gst_collectpads_read), (gst_collectpads_flush),
26360         (gst_collectpads_chain):
26361         * gst/base/gstcollectpads.h:
26362         * gst/elements/Makefile.am:
26363         * gst/elements/gstelements.c:
26364         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26365         (gst_fakesink_get_times), (gst_fakesink_event),
26366         (gst_fakesink_preroll), (gst_fakesink_render):
26367         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26368         (gst_filesink_init), (gst_filesink_set_location),
26369         (gst_filesink_open_file), (gst_filesink_close_file),
26370         (gst_filesink_pad_query), (gst_filesink_event),
26371         (gst_filesink_render), (gst_filesink_change_state):
26372         * gst/elements/gstfilesink.h:
26373         Added object to help in making collect pad based elements.
26374         Ported filesink.
26375         Make event function in sink baseclass return gboolean.
26376
26377 2005-05-05  Wim Taymans  <wim@fluendo.com>
26378
26379         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26380         (gst_bin_get_by_name):
26381         * gst/gstbuffer.h:
26382         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26383         (gst_clock_finalize):
26384         * gst/gstdata.c: (gst_data_replace):
26385         * gst/gstdata.h:
26386         * gst/gstelement.c: (gst_element_request_pad),
26387         (gst_element_pads_activate):
26388         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26389         (gst_object_unref):
26390         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26391         (gst_pad_set_checkgetrange_function),
26392         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26393         (gst_pad_check_pull_range), (gst_pad_pull_range),
26394         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26395         (gst_pad_pause_task), (gst_pad_stop_task):
26396         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26397         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26398         Fix name lookup in GstBin.
26399         Added _data_replace() function and _buffer_replace()
26400         Use finalize method to clean up clock.
26401         Fix refcounting on request pads.
26402         Fix pad schedule mode error.
26403         Some more object refcounting debug info,
26404
26405
26406 2005-05-04  Andy Wingo <wingo@pobox.com>
26407
26408         * check/Makefile.am:
26409         * docs/gst/tmpl/gstatomic.sgml:
26410         * docs/gst/tmpl/gstplugin.sgml:
26411         * gst/base/gstbasesink.c: (gst_basesink_activate):
26412         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26413         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26414         (gst_basesrc_query), (gst_basesrc_set_property),
26415         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26416         (gst_basesrc_activate):
26417         * gst/base/gstbasesrc.h:
26418         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26419         (gst_base_transform_src_activate):
26420         * gst/elements/gstelements.c:
26421         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26422         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26423         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26424         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26425         (gst_type_find_element_checkgetrange),
26426         (gst_type_find_element_activate):
26427         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26428         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26429         (gst_caps_load_thyself):
26430         * gst/gstelement.c: (gst_element_pads_activate),
26431         (gst_element_save_thyself), (gst_element_restore_thyself):
26432         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26433         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26434         * gst/gstpad.h:
26435         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26436         (gst_xml_parse_file), (gst_xml_parse_memory),
26437         (gst_xml_get_element), (gst_xml_make_element):
26438         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26439         (_file_index_id_save_xml), (gst_file_index_commit):
26440         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26441         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26442         (load_paths):
26443         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26444         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26445         * tools/gst-complete.c: (main):
26446         * tools/gst-compprep.c: (main):
26447         * tools/gst-inspect.c: (print_element_properties_info):
26448         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26449         * tools/gst-xmlinspect.c: (print_element_properties):
26450         GCC 4 fixen.
26451         
26452 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26453
26454         * gst/gstplugin.c: (gst_plugin_check_module),
26455         (gst_plugin_check_file), (gst_plugin_load_file):
26456             apply patch from #172526 to make register work on MacOSX
26457
26458 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26459
26460         * docs/gst/tmpl/gstconfig.sgml:
26461         * gst/gstconfig.h.in:
26462           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26463         * testsuite/debug/printf_extension.c: (main):
26464           Do not use GST_PTR_FORMAT on pointers to types with
26465           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26466         * testsuite/elements/property.h:
26467           use correct printf format
26468
26469 2005-05-02  Wim Taymans  <wim@fluendo.com>
26470
26471         * docs/design/draft-push-pull.txt:
26472         * docs/design/draft-query.txt:
26473         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
26474         (gst_basesrc_start):
26475         Added draft for new query API.
26476         Added draft for better selecting scheduling methods.
26477         Make basesrc ignore length if the subclass does not support
26478         it.
26479
26480 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26481
26482         * gst/Makefile.am:
26483           possible fixes for automake-1.5 - _LIBADD is reserved
26484
26485 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26486
26487         * docs/faq/Makefile.am:
26488         * docs/manual/Makefile.am:
26489         * docs/manuals.mak:
26490         * docs/pwg/Makefile.am:
26491         * gst/Makefile.am:
26492           possible fixes for automake-1.5
26493
26494 2005-04-28  Wim Taymans  <wim@fluendo.com>
26495
26496         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26497         (gst_basesink_pad_getcaps), (gst_basesink_init),
26498         (gst_basesink_do_sync):
26499         * gst/gstclock.c: (gst_clock_entry_new):
26500         * gst/gstevent.c: (gst_event_discont_get_value):
26501         * gst/gstpipeline.c: (pipeline_bus_handler),
26502         (gst_pipeline_change_state):
26503         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
26504         Better debugging of clocking info.
26505         Allow NULL values when getting discont values.
26506
26507 2005-04-27  Wim Taymans  <wim@fluendo.com>
26508
26509         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26510         * check/gst/gstpad.c: (gst_pad_suite):
26511         Increase timeout for checks.
26512
26513 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26514
26515         * check/Makefile.am:
26516           fix the broken rule for cleanup.  Apparently this rule is
26517           only needed on FC2, so maybe this warrants further autotool
26518           inspection.
26519
26520 2005-04-26  Wim Taymans  <wim@fluendo.com>
26521
26522         * gst/gsttrashstack.h:
26523         Ooohh. a nasty one! After having a failed pop() from the stack,
26524         it's possible that the stack is empty. In that case, don't
26525         follow the NULL pointer.
26526
26527 2005-04-25  Wim Taymans  <wim@fluendo.com>
26528
26529         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26530         (gst_pad_set_checkgetrange_function),
26531         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
26532         (gst_pad_check_pull_range), (gst_pad_pull_range),
26533         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26534         (gst_pad_pause_task), (gst_pad_stop_task):
26535         * gst/gstplugin.c: (gst_plugin_load):
26536         * gst/gstplugin.h:
26537         Remove gst_library_load as it does more harm than good with
26538         the new g_module flags.
26539         Revert bogus caps template check in pad linking, pad caps
26540         are important when linking not the template, which is more
26541         general than the current caps.
26542
26543 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26544
26545         * gst/autoplug/.cvsignore:
26546         * gst/autoplug/Makefile.am:
26547         * gst/autoplug/gstsearchfuncs.c:
26548         * gst/autoplug/gstsearchfuncs.h:
26549         * gst/autoplug/gstspider.c:
26550         * gst/autoplug/gstspider.h:
26551         * gst/autoplug/gstspideridentity.c:
26552         * gst/autoplug/gstspideridentity.h:
26553         * gst/autoplug/spidertest.c:
26554           Die, spider, die.
26555
26556 2005-04-25  Wim Taymans  <wim@fluendo.com>
26557
26558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26559         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26560         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
26561         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
26562         * gst/gstpad.h:
26563         Added stubs for unimplemented functions. 
26564
26565 2005-04-24  David Schleef  <ds@schleef.org>
26566
26567         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
26568         please fix.
26569
26570 2005-04-24  David Schleef  <ds@schleef.org>
26571
26572         Convert everything from GstAtomicInt to g_atomic_int_*, and
26573         remove gstatomic.
26574         * gst/Makefile.am:
26575         * gst/gstatomic.c:
26576         * gst/gstatomic.h:
26577         * gst/gstatomic_impl.h:
26578         * gst/gstbuffer.c:
26579         * gst/gstcaps.c:
26580         * gst/gstcaps.h:
26581         * gst/gstclock.c:
26582         * gst/gstclock.h:
26583         * gst/gstdata.c:
26584         * gst/gstdata.h:
26585         * gst/gstdata_private.h:
26586         * gst/gstevent.c:
26587         * gst/gstinfo.c:
26588         * gst/gstinfo.h:
26589         * gst/gstmessage.c:
26590         * gst/gstobject.c:
26591         * gst/gstobject.h:
26592         * gst/gststructure.c:
26593         * gst/gststructure.h:
26594         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
26595         * gst/gstutils.h:
26596
26597 2005-04-24  David Schleef  <ds@schleef.org>
26598
26599         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
26600         make the regressions tests work.  Remove some code that is no
26601         longer true.
26602         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
26603         Disable warning for pads without templates.
26604
26605 2005-04-24  David Schleef  <ds@schleef.org>
26606
26607         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
26608         functions that handle filtered links.
26609         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
26610         removed functions.
26611         * gst/gstutils.c: Fix/remove utility functions that handle
26612         filtered caps.
26613         * gst/gstutils.h:
26614         * gst/gstvalue.c: Add serialization/deserialization of caps
26615         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
26616         requires fixing so that the filter caps notation creates
26617         a capsfilter element and sets the filter_caps property.  I
26618         think everyone probably wants to keep the shorthand notation.
26619         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
26620         * docs/gst/tmpl/gstpad.sgml:
26621
26622         * gst/elements/gstelements.c: Register capsfilter element.
26623         * gst/Makefile.am: fix spacing
26624         * docs/random/ds/0.9-suggested-changes: random
26625
26626 2005-04-23  David Schleef  <ds@schleef.org>
26627
26628         * gst/elements/Makefile.am:
26629         * gst/elements/gstcapsfilter.c: New element that acts like an
26630         identity, but filters caps.  Will eventually replace filtered
26631         caps in pad linking.
26632         * gst/gstutils.c: (gst_element_create_all_pads): New function
26633         to create all the ALWAYS pads that are registered with an
26634         element class.  This functionality should eventually be
26635         merged in with GstElement initialization.
26636         * gst/gstutils.h:
26637         * testsuite/trigger/README: part of trigger test code that should
26638         have been checked in a long time ago.
26639
26640 2005-04-23  David Schleef  <ds@schleef.org>
26641
26642         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
26643         needed with new versions of libtool (nobody will confirm this),
26644         and hard to carry around.
26645         * gst/autoplug/Makefile.am:
26646         * gst/base/Makefile.am:
26647         * gst/elements/Makefile.am:
26648         * gst/indexers/Makefile.am:
26649         * gst/schedulers/Makefile.am:
26650         * libs/gst/bytestream/Makefile.am:
26651         * libs/gst/control/Makefile.am:
26652         * libs/gst/dataprotocol/Makefile.am:
26653         * libs/gst/getbits/Makefile.am:
26654
26655 2005-04-21  Wim Taymans  <wim@fluendo.com>
26656
26657         * docs/design/draft-push-pull.txt:
26658         * docs/design/part-MT-refcounting.txt:
26659         * docs/design/part-TODO.txt:
26660         * docs/design/part-caps.txt:
26661         * docs/design/part-events.txt:
26662         * docs/design/part-gstbus.txt:
26663         * docs/design/part-gstpipeline.txt:
26664         * docs/design/part-messages.txt:
26665         * docs/design/part-push-pull.txt:
26666         * docs/design/part-query.txt:
26667         Some more docs.
26668
26669 2005-04-21  Wim Taymans  <wim@fluendo.com>
26670
26671         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
26672         (gst_message_new), (gst_message_new_error),
26673         (gst_message_new_warning), (gst_message_new_tag),
26674         (gst_message_new_state_changed), (gst_message_new_application),
26675         (gst_message_get_structure):
26676         * gst/gstmessage.h:
26677         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26678         (gst_structure_copy_conditional):
26679         Use parent refcount in GstMessage to ensure GstStructure
26680         consistency.
26681         Cleaned up headers a bit.
26682         
26683
26684 2005-04-20  Wim Taymans  <wim@fluendo.com>
26685
26686         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26687         (gst_basesink_pad_getcaps), (gst_basesink_init),
26688         (gst_basesink_chain_unlocked):
26689         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
26690         (gst_type_find_helper):
26691         * gst/elements/gsttypefindelement.c:
26692         (gst_type_find_element_have_type), (gst_type_find_element_init),
26693         (stop_typefinding), (gst_type_find_element_handle_event),
26694         (find_suggest), (gst_type_find_element_chain),
26695         (gst_type_find_element_checkgetrange),
26696         (gst_type_find_element_getrange), (do_typefind),
26697         (gst_type_find_element_activate):
26698         * gst/gstbuffer.c: (_gst_buffer_sub_free),
26699         (gst_buffer_default_free), (gst_buffer_default_copy),
26700         (gst_buffer_set_caps):
26701         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
26702         (gst_caps_replace):
26703         * gst/gstmessage.c: (gst_message_new),
26704         (gst_message_new_state_changed):
26705         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26706         (gst_pad_set_checkgetrange_function),
26707         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
26708         (gst_pad_set_caps), (gst_pad_check_pull_range),
26709         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
26710         * gst/gstpad.h:
26711         * gst/gsttypefind.c: (gst_type_find_register):
26712         Make gst_caps_replace() work like other _replace() functions.
26713         Use _caps_replace() where possible.
26714         Make sure _message_new() initialises its field.
26715         Add gst_static_pad_template_get_caps()
26716
26717
26718 2005-04-18  Andy Wingo  <wingo@pobox.com>
26719
26720         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
26721         on the peer, not the pad. I think that was a typo. Pass an extra
26722         arg to see if random access is possible. Activate the pads as
26723         PULL_RANGE if possible.
26724
26725         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
26726
26727         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
26728         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
26729         to PROP_....
26730
26731 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26732
26733         * docs/faq/using.xml:
26734           Add note on gstreamer-properties (#154996).
26735
26736 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26737
26738         * docs/random/bbb/optional-properties:
26739           Some analysis on optional properties.
26740
26741 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26742
26743         * docs/gst/tmpl/gstelementfactory.sgml:
26744         * gst/gstelement.h:
26745         * gst/gstelementfactory.c: (gst_element_factory_init),
26746         (gst_element_factory_cleanup), (gst_element_register),
26747         (__gst_element_factory_add_static_pad_template),
26748         (gst_element_factory_get_static_pad_templates),
26749         (gst_element_factory_can_src_caps),
26750         (gst_element_factory_can_sink_caps):
26751         * gst/registries/Makefile.am:
26752         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
26753         (gst_xml_registry_class_init), (gst_xml_registry_init),
26754         (gst_xml_registry_new), (gst_xml_registry_set_property),
26755         (gst_xml_registry_get_property), (get_time), (make_dir),
26756         (gst_xml_registry_get_perms_func),
26757         (plugin_times_older_than_recurse), (plugin_times_older_than),
26758         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
26759         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
26760         (add_to_char_array), (read_string), (read_uint), (read_enum),
26761         (load_pad_template), (load_feature), (load_plugin), (load_paths),
26762         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
26763         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
26764         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
26765         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
26766         (gst_xml_registry_rebuild):
26767         * gst/registries/gstlibxmlregistry.h:
26768         * tools/gst-compprep.c: (main):
26769         * tools/gst-inspect.c: (print_pad_templates_info):
26770         * tools/gst-xmlinspect.c: (print_element_info):
26771           Use libxml2 for registry parsing, use staticpadtemplates in
26772           elementfactories. Makes gst_init() +/- 10x faster.
26773
26774 2005-04-12  Wim Taymans  <wim@fluendo.com>
26775
26776         * gst/base/Makefile.am:
26777         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26778         (gst_basesink_pad_getcaps), (gst_basesink_init),
26779         (gst_basesink_event), (gst_basesink_change_state):
26780         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26781         (gst_basesrc_init), (gst_basesrc_query),
26782         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26783         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26784         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26785         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26786         (gst_basesrc_stop), (gst_basesrc_activate),
26787         (gst_basesrc_change_state):
26788         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26789         (helper_find_suggest), (gst_type_find_helper):
26790         * gst/base/gsttypefindhelper.h:
26791         * gst/elements/Makefile.am:
26792         * gst/elements/gstelements.c:
26793         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26794         (gst_fakesink_get_times), (gst_fakesink_event),
26795         (gst_fakesink_preroll), (gst_fakesink_render):
26796         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26797         (gst_fakesrc_init), (gst_fakesrc_event_handler),
26798         (gst_fakesrc_get_property), (gst_fakesrc_create),
26799         (gst_fakesrc_start), (gst_fakesrc_stop):
26800         * gst/elements/gstfakesrc.h:
26801         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
26802         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26803         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26804         (gst_filesrc_create_read), (gst_filesrc_create),
26805         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
26806         (gst_filesrc_start):
26807         * gst/elements/gsttypefindelement.c:
26808         (gst_type_find_element_have_type), (gst_type_find_element_init),
26809         (start_typefinding), (stop_typefinding), (push_buffer_store),
26810         (gst_type_find_element_handle_event),
26811         (gst_type_find_element_chain),
26812         (gst_type_find_element_checkgetrange),
26813         (gst_type_find_element_getrange), (do_typefind),
26814         (gst_type_find_element_activate),
26815         (gst_type_find_element_change_state):
26816         * gst/elements/gsttypefindelement.h:
26817         * gst/gstpipeline.c: (pipeline_bus_handler):
26818         Added typefind helper.
26819         Small preroll fix in the base sink.
26820         Disable typefind code in basesrc.
26821         Crude port of typefindelement.
26822         Fakesrc cleanups.
26823
26824
26825 2005-04-11  Wim Taymans  <wim@fluendo.com>
26826
26827         * check/gst/gstbus.c: (gstbus_suite):
26828         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
26829         * check/gstcheck.h:
26830           Fix up the timeout so that the test does not fail.
26831
26832 2005-04-06  Wim Taymans  <wim@fluendo.com>
26833
26834         * gst/base/README:
26835         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26836         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
26837         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26838         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26839         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26840         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26841         (gst_basesrc_stop), (gst_basesrc_activate),
26842         (gst_basesrc_change_state), (basesrc_find_peek),
26843         (basesrc_find_suggest), (gst_basesrc_type_find):
26844         * gst/base/gstbasesrc.h:
26845         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
26846         (gst_filesrc_class_init), (gst_filesrc_init),
26847         (gst_filesrc_finalize), (gst_filesrc_set_location),
26848         (gst_filesrc_set_property), (gst_filesrc_get_property),
26849         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26850         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26851         (gst_filesrc_create_read), (gst_filesrc_create),
26852         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
26853         * gst/elements/gstfilesrc.h:
26854         * gst/gstelement.c: (gst_element_get_state_func),
26855         (gst_element_lost_state), (gst_element_pads_activate):
26856         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26857         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26858         (gst_pad_pull_range):
26859         * gst/gstpad.h:
26860         More work on the generic source base class, implement seeking,
26861         query.
26862         Make filesrc extend the base source class.
26863         Added gst_pad_set_checkgetrange_function to GstPad.
26864
26865 2005-04-06  Andy Wingo  <wingo@pobox.com>
26866
26867         * pkgconfig/gstreamer-base.pc.in:
26868         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
26869
26870         * pkgconfig/Makefile.am:
26871         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
26872
26873 2005-04-04  Wim Taymans  <wim@fluendo.com>
26874
26875         * gst/base/Makefile.am:
26876         * gst/base/README:
26877         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26878         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26879         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26880         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
26881         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26882         (gst_basesrc_base_init), (gst_basesrc_class_init),
26883         (gst_basesrc_init), (gst_basesrc_get_formats),
26884         (gst_basesrc_get_query_types), (gst_basesrc_query),
26885         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
26886         (gst_basesrc_set_property), (gst_basesrc_get_property),
26887         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
26888         (gst_basesrc_loop), (gst_basesrc_activate),
26889         (gst_basesrc_change_state):
26890         * gst/base/gstbasesrc.h:
26891         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
26892         (gst_fakesrc_class_init), (gst_fakesrc_init),
26893         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
26894         (gst_fakesrc_get_property), (gst_fakesrc_create):
26895         * gst/elements/gstfakesrc.h:
26896         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
26897         (gst_filesrc_open_file), (gst_filesrc_loop),
26898         (gst_filesrc_activate), (filesrc_find_peek),
26899         (gst_filesrc_type_find):
26900         Made base source class, make fakesrc extend it.
26901         Add comments to basesink class.
26902         Some filesrc cleanup.
26903
26904 2005-03-31  David Schleef  <ds@schleef.org>
26905
26906         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
26907         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
26908         expected to link against libgstreamer.
26909         * gst/base/Makefile.am: link against libgstreamer
26910         * gst/elements/Makefile.am: same
26911
26912 2005-03-31  Andy Wingo  <wingo@pobox.com>
26913
26914         * tests/instantiate/Makefile.am:
26915         * tests/instantiate/caps.c: Add test to test speed of caps copy
26916         and free.
26917
26918         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
26919         GMemChunk to be fair.
26920
26921         * gst/gsttrashstack.h: Remove warning about using the fallback
26922         trash stack implementation, it's still faster than malloc.
26923
26924 2005-03-30  Andy Wingo  <wingo@pobox.com>
26925
26926         * tests/complexity.c: Add a copyright.
26927
26928 2005-03-31  Wim Taymans  <wim@fluendo.com>
26929
26930         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
26931         (gst_base_transform_class_init), (gst_base_transform_init),
26932         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26933         (gst_base_transform_get_property),
26934         (gst_base_transform_sink_activate),
26935         (gst_base_transform_src_activate),
26936         (gst_base_transform_change_state):
26937         * gst/base/gstbasetransform.h:
26938         * gst/elements/gstidentity.c: (gst_identity_class_init),
26939         (gst_identity_event), (gst_identity_check_perfect),
26940         (gst_identity_transform), (gst_identity_start),
26941         (gst_identity_stop):
26942         Added start/stop methods to transform base class so subclasses 
26943         don't need to deal with state changes even.
26944
26945 2005-03-31  Wim Taymans  <wim@fluendo.com>
26946
26947         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
26948         (gst_event_new_discontinuous), (gst_event_discont_get_value):
26949         * gst/gstevent.h:
26950         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26951         (gst_pad_pull_range):
26952         Added rate to the discont event to prepare for variable speed
26953         and reverse playback.
26954
26955 2005-03-29  David Schleef  <ds@schleef.org>
26956
26957         * configure.ac:
26958         * testsuite/trigger/Makefile.am:
26959         * testsuite/trigger/trigger.c: A little example program to show
26960         how trigger-based elements can work.
26961
26962 2005-03-29  Wim Taymans  <wim@fluendo.com>
26963
26964         * gst/base/Makefile.am:
26965         * gst/base/README:
26966         * gst/base/gstbasesink.c: (gst_basesink_get_type),
26967         (gst_basesink_base_init), (gst_basesink_class_init),
26968         (gst_basesink_pad_getcaps), (gst_basesink_init),
26969         (gst_basesink_activate), (gst_basesink_change_state):
26970         * gst/base/gstbasesink.h:
26971         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
26972         (gst_base_transform_base_init), (gst_base_transform_finalize),
26973         (gst_base_transform_class_init), (gst_base_transform_init),
26974         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
26975         (gst_base_transform_event), (gst_base_transform_getrange),
26976         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
26977         (gst_base_transform_set_property),
26978         (gst_base_transform_get_property),
26979         (gst_base_transform_sink_activate),
26980         (gst_base_transform_src_activate),
26981         (gst_base_transform_change_state):
26982         * gst/base/gstbasetransform.h:
26983         * gst/elements/gstidentity.c: (gst_identity_finalize),
26984         (gst_identity_class_init), (gst_identity_init),
26985         (gst_identity_event), (gst_identity_check_perfect),
26986         (gst_identity_transform), (gst_identity_set_property),
26987         (gst_identity_get_property), (gst_identity_change_state):
26988         * gst/elements/gstidentity.h:
26989         * gst/gstelement.c: (gst_element_get_state_func),
26990         (gst_element_lost_state), (gst_element_pads_activate):
26991         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26992         (gst_pad_check_pull_range), (gst_pad_pull_range):
26993         * gst/gstpad.h:
26994         Simplify pad activation.
26995         Added function to check if pull_range can be performed.
26996         Error out when pulling inactive or flushing pads.
26997         Removed const from refcounted types as it does not make sense.
26998         Simplify pad templates in basesink
26999         Added base class for simple 1-to-1 transforms.
27000         Make identity subclass the base transform.
27001
27002 2005-03-29  Andy Wingo  <wingo@pobox.com>
27003
27004         * docs/libs/gstreamer-libs-overrides.txt: 
27005         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27006         really don't understand what's going on, but like whatever. I want
27007         green buildbot!
27008
27009         * docs/gst/Makefile.am:
27010         * docs/libs/Makefile.am: Dist the overrides files.
27011
27012         * check/Makefile.am (clean-local): Remove .libs directories.
27013
27014         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27015         elements to EXTRA_DIST, so po/ files are happy.
27016
27017         * po/POTFILES.in: Er, remove it here.
27018
27019         * po/POTFILES: Remove gstspider.c.
27020
27021         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27022
27023         * docs/libs/gstreamer-libs-docs.sgml: 
27024         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27025         bytestream.
27026
27027         * tests/complexity.c (main): Set the length of the preroll queue
27028         on the sinks to prevent a lockup.
27029
27030         * libs/gst/dataprotocol/Makefile.am: 
27031         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27032         the same as the one in check/gst-libs/gdp.c.
27033
27034         * po/, docs/gst/: Commit automatic changes to docs and po files.
27035
27036         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27037         the versioned libgstbase.
27038
27039         * check/Makefile.am: Depend on an unversioned gst-register, seems
27040         to make autoconf happier.
27041
27042         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27043
27044 2005-03-28  Wim Taymans  <wim@fluendo.com>
27045
27046         * configure.ac:
27047         * docs/design/part-gstelement.txt:
27048         * docs/design/part-negotiation.txt:
27049         * docs/design/part-preroll.txt:
27050         * docs/design/part-scheduling.txt:
27051         * docs/design/part-states.txt:
27052         * gst/Makefile.am:
27053         * gst/base/Makefile.am:
27054         * gst/base/README:
27055         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27056         (gst_basesink_base_init), (gst_basesink_class_init),
27057         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27058         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27059         (gst_basesink_set_pad_functions),
27060         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27061         (gst_basesink_set_property), (gst_basesink_get_property),
27062         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27063         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27064         (gst_basesink_preroll_queue_push),
27065         (gst_basesink_preroll_queue_empty),
27066         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27067         (gst_basesink_event), (gst_basesink_get_times),
27068         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27069         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27070         (gst_basesink_loop), (gst_basesink_activate),
27071         (gst_basesink_change_state):
27072         * gst/base/gstbasesink.h:
27073         * gst/elements/Makefile.am:
27074         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27075         (gst_fakesink_class_init), (gst_fakesink_init),
27076         (gst_fakesink_set_property), (gst_fakesink_get_property),
27077         (gst_fakesink_get_times), (gst_fakesink_event),
27078         (gst_fakesink_preroll), (gst_fakesink_render),
27079         (gst_fakesink_change_state):
27080         * gst/elements/gstfakesink.h:
27081         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27082         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27083         * gst/gstelement.c: (gst_element_add_pad),
27084         (gst_element_get_state_func), (gst_element_abort_state),
27085         (gst_element_commit_state), (gst_element_lost_state),
27086         (gst_element_set_state), (gst_element_pads_activate):
27087         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27088         * gst/gstpipeline.c: (gst_pipeline_send_event),
27089         (gst_pipeline_change_state):
27090         Added state change code.
27091         Added/updated docs.
27092         Added sink base class, make fakesink extend the base class.
27093         Small cleanups in GstPipeline.
27094
27095 2005-03-26  David Schleef  <ds@schleef.org>
27096
27097         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27098         is broken and should be implemented in a different library.
27099         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27100         * gst/gst.h: remove gstcpu.h
27101         * gst/gstcpu.c: remove
27102         * gst/gstcpu.h: remove
27103         * gst/Makefile.am.future: Remove this file.  It's ancient.
27104
27105 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27106
27107         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27108         (gst_bin_send_event):
27109           Add default event/set_manager handlers. The set_manager handler
27110           takes care that the manager is distributed over kids that were
27111           already in the bin before the manager was set. The event handler
27112           is a utility virtual function that sends the event over all sinks,
27113           so that gst_element_send_event (bin, event); has the expected
27114           behaviour.
27115         * gst/gstpad.c: (gst_pad_event_default):
27116           Re-install default event handling for discontinuities, so that
27117           seeking works without requiring hacks in applications or extra
27118           code in sinks.
27119         * gst/gstpipeline.c: (gst_pipeline_class_init),
27120         (gst_pipeline_send_event):
27121           Half hack, half utility: set a pipeline to PAUSED for seek events,
27122           since that is the only way we can guarantee a/v sync. Means that
27123           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27124           and it "just works".
27125
27126 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27127
27128         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27129           Lock/unlock mismatch.
27130
27131 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27132
27133         * docs/faq/gst-uninstalled:
27134           add gst-plugins-base
27135         * docs/gst/Makefile.am:
27136           don't error out until docs are fixed
27137         * docs/gst/gstreamer.types:
27138           remove thread
27139
27140 2005-03-22  Wim Taymans  <wim@fluendo.com>
27141
27142         * check/Makefile.am:
27143         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27144         * gst/gststructure.c: (gst_structure_set_valist),
27145         (gst_structure_copy_conditional):
27146         Activated more tests.
27147         Added message test.
27148         Added G_TYPE_POINTER to GstStructure.
27149         
27150
27151 2005-03-22  Wim Taymans  <wim@fluendo.com>
27152
27153         * docs/design/part-TODO.txt:
27154         * docs/design/part-events.txt:
27155         * docs/design/part-gstbin.txt:
27156         * docs/design/part-gstbus.txt:
27157         * docs/design/part-gstpipeline.txt:
27158         * docs/design/part-messages.txt:
27159         * gst/gstbus.c:
27160         * gst/gstmessage.c:
27161         Docs updates
27162
27163 2005-03-21  Wim Taymans  <wim@fluendo.com>
27164
27165         * gst/gstbus.c: (gst_bus_post):
27166         Fix copy-and-paste error.
27167
27168 2005-03-21  Wim Taymans  <wim@fluendo.com>
27169
27170         * check/Makefile.am:
27171         * gst/Makefile.am:
27172         * gst/elements/Makefile.am:
27173         * gst/elements/gstelements.c:
27174         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27175         (gst_fakesink_event), (gst_fakesink_chain):
27176         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27177         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27178         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27179         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27180         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27181         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27182         (gst_fakesrc_loop), (gst_fakesrc_activate),
27183         (gst_fakesrc_change_state):
27184         * gst/elements/gstfakesrc.h:
27185         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27186         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27187         (gst_filesrc_open_file), (gst_filesrc_loop),
27188         (gst_filesrc_activate), (gst_filesrc_change_state),
27189         (filesrc_find_peek), (filesrc_find_suggest),
27190         (gst_filesrc_type_find):
27191         * gst/elements/gstidentity.c: (gst_identity_finalize),
27192         (gst_identity_class_init), (gst_identity_init),
27193         (gst_identity_proxy_getcaps), (identity_queue_push),
27194         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27195         (gst_identity_getrange), (gst_identity_chain),
27196         (gst_identity_sink_loop), (gst_identity_src_loop),
27197         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27198         (gst_identity_set_property), (gst_identity_get_property),
27199         (gst_identity_change_state):
27200         * gst/elements/gstidentity.h:
27201         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27202         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27203         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27204         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27205         (gst_tee_sink_activate):
27206         * gst/elements/gsttee.h:
27207         * gst/gst.c: (gst_register_core_elements), (init_post):
27208         * gst/gst.h:
27209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27210         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27211         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27212         (gst_bin_change_state):
27213         * gst/gstbin.h:
27214         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27215         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27216         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27217         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27218         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27219         (bus_watch_callback), (bus_watch_destroy),
27220         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27221         (poll_timeout), (gst_bus_poll):
27222         * gst/gstbus.h:
27223         * gst/gstcaps.h:
27224         * gst/gstdata.h:
27225         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27226         (gst_element_post_message), (gst_element_message_full),
27227         (gst_element_get_state_func), (gst_element_get_state),
27228         (gst_element_abort_state), (gst_element_commit_state),
27229         (gst_element_lost_state), (gst_element_set_state),
27230         (gst_element_pads_activate), (gst_element_change_state),
27231         (gst_element_dispose), (gst_element_set_manager_func),
27232         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27233         (gst_element_set_manager), (gst_element_get_manager),
27234         (gst_element_set_bus), (gst_element_get_bus),
27235         (gst_element_set_scheduler), (gst_element_get_scheduler):
27236         * gst/gstelement.h:
27237         * gst/gstevent.c: (gst_event_new_segment_seek),
27238         (gst_event_new_flush):
27239         * gst/gstevent.h:
27240         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27241         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27242         (gst_message_new_eos), (gst_message_new_error),
27243         (gst_message_new_warning), (gst_message_new_tag),
27244         (gst_message_new_state_changed), (gst_message_new_application),
27245         (gst_message_get_structure), (gst_message_parse_tag),
27246         (gst_message_parse_state_changed), (gst_message_parse_error),
27247         (gst_message_parse_warning):
27248         * gst/gstmessage.h:
27249         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27250         (gst_real_pad_set_property), (gst_pad_set_active),
27251         (gst_pad_is_active), (gst_pad_set_blocked_async),
27252         (gst_pad_set_blocked), (gst_pad_is_blocked),
27253         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27254         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27255         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27256         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27257         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27258         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27259         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27260         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27261         (gst_pad_set_caps), (gst_pad_configure_sink),
27262         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27263         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27264         (gst_real_pad_dispose), (gst_real_pad_finalize),
27265         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27266         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27267         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27268         * gst/gstpad.h:
27269         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27270         (pipeline_bus_handler), (gst_pipeline_change_state),
27271         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27272         * gst/gstpipeline.h:
27273         * gst/gstprobe.h:
27274         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27275         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27276         (gst_queue_link_src), (gst_queue_bufferalloc),
27277         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27278         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27279         (gst_queue_loop), (gst_queue_handle_src_event),
27280         (gst_queue_handle_src_query), (gst_queue_src_activate),
27281         (gst_queue_change_state):
27282         * gst/gstqueue.h:
27283         * gst/gstscheduler.c: (gst_scheduler_init),
27284         (gst_scheduler_dispose), (gst_scheduler_create_task),
27285         (gst_scheduler_factory_create):
27286         * gst/gstscheduler.h:
27287         * gst/gststructure.c: (gst_structure_get_type),
27288         (gst_structure_copy_conditional):
27289         * gst/gststructure.h:
27290         * gst/gsttaginterface.h:
27291         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27292         (gst_task_init), (gst_task_dispose), (gst_task_create),
27293         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27294         (gst_task_pause):
27295         * gst/gsttask.h:
27296         * gst/gstthread.c:
27297         * gst/gstthread.h:
27298         * gst/gsttypes.h:
27299         * gst/schedulers/Makefile.am:
27300         * gst/schedulers/cothreads_compat.h:
27301         * gst/schedulers/entryscheduler.c:
27302         * gst/schedulers/faircothreads.c:
27303         * gst/schedulers/faircothreads.h:
27304         * gst/schedulers/fairscheduler.c:
27305         * gst/schedulers/gstbasicscheduler.c:
27306         * gst/schedulers/gstoptimalscheduler.c:
27307         * gst/schedulers/gthread-cothreads.h:
27308         * gst/schedulers/threadscheduler.c:
27309         (gst_thread_scheduler_task_get_type),
27310         (gst_thread_scheduler_task_class_init),
27311         (gst_thread_scheduler_task_init),
27312         (gst_thread_scheduler_task_start),
27313         (gst_thread_scheduler_task_stop),
27314         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27315         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27316         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27317         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27318         (plugin_init):
27319         * libs/gst/Makefile.am:
27320         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27321         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27322         (gst_file_pad_parent_set):
27323         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27324         (gst_dp_event_from_packet):
27325         * tests/complexity.c: (main):
27326         * tests/mass_elements.c: (main):
27327         * testsuite/states/locked.c: (message_received), (main):
27328         * testsuite/states/parent.c: (main):
27329         * tools/gst-inspect.c: (print_element_flag_info),
27330         (print_implementation_info), (print_pad_info):
27331         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27332         (main):
27333         * tools/gst-md5sum.c: (event_loop), (main):
27334         * tools/gst-typefind.c: (main):
27335         * tools/gst-xmlinspect.c: (print_element_info):
27336         Next big merge.
27337         Added GstBus for mainloop integration.
27338         Added GstMessage for sending notifications on the bus.
27339         Added GstTask as an abstraction for pipeline entry points.
27340         Removed GstThread.
27341         Removed Schedulers.
27342         Simplified GstQueue for multithreaded core.
27343         Made _link threadsafe, removed old capsnego.
27344         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27345         Added pad blocking functions.
27346         Reworked scheduling functions in GstPad to prepare for
27347         scheduling updates soon.
27348         Moved events out of data stream.
27349         Simplified GstEvent types.
27350         Added return values to push/pull.
27351         Removed clocking from GstElement.
27352         Added prototypes for state change function for next merge.
27353         Removed iterate from bins and state change management.
27354         Fixed some elements, disabled others for now.
27355         Fixed -inspect and -launch.
27356         Added check for GstBus.
27357
27358 2005-03-10  Wim Taymans  <wim@fluendo.com>
27359
27360         * docs/design/part-MT-refcounting.txt:
27361         * docs/design/part-clocks.txt:
27362         * docs/design/part-gstelement.txt:
27363         * docs/design/part-gstobject.txt:
27364         * docs/design/part-standards.txt:
27365         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27366         (gst_bin_remove_func), (gst_bin_remove):
27367         * gst/gstbin.h:
27368         * gst/gstbuffer.c:
27369         * gst/gstcaps.h:
27370         * testsuite/clock/clock1.c: (main):
27371         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27372         (main):
27373         * testsuite/dlopen/loadgst.c: (do_test):
27374         * testsuite/refcounting/bin.c: (add_remove_test1),
27375         (add_remove_test2), (main):
27376         * testsuite/refcounting/element.c: (main):
27377         * testsuite/refcounting/element_pad.c: (main):
27378         * testsuite/refcounting/pad.c: (main):
27379         * tools/gst-launch.c: (sigint_handler_sighandler):
27380         * tools/gst-typefind.c: (main):
27381         Doc updates.
27382         Added doc about clock.
27383         removed gst_bin_iterate_recurse_up(), marked methods
27384         for removal.
27385         Fix more testsuites.
27386
27387 2005-03-09  Wim Taymans  <wim@fluendo.com>
27388
27389         * gst/gstpad.c: (gst_pad_get_direction),
27390         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27391         (gst_pad_collect_valist):
27392         * testsuite/bins/interface.c: (main):
27393         * testsuite/caps/audioscale.c: (test_caps):
27394         * testsuite/caps/caps.c: (test1), (test2), (test3):
27395         * testsuite/caps/deserialize.c: (main):
27396         * testsuite/caps/enumcaps.c: (main):
27397         * testsuite/caps/filtercaps.c: (main):
27398         * testsuite/caps/intersect2.c: (main):
27399         * testsuite/caps/random.c: (main):
27400         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27401         * testsuite/caps/sets.c: (check_caps):
27402         * testsuite/caps/simplify.c: (check_caps), (main):
27403         * testsuite/caps/subtract.c: (check_caps):
27404         Fix _pad_get_direction wrt ghostpads.
27405         Fix caps testsuite.
27406
27407 2005-03-09  Wim Taymans  <wim@fluendo.com>
27408
27409         * check/Makefile.am:
27410         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27411         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27412         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27414         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27415         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27416         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27417         (bin_element_is_sink), (gst_bin_iterate_sinks),
27418         (gst_bin_iterate_all_by_interface):
27419         * gst/gstbin.h:
27420         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27421         (gst_element_change_state), (gst_element_dispose),
27422         (gst_element_finalize), (gst_element_set_loop_function):
27423         * gst/gstelement.h:
27424         * gst/gstiterator.c: (find_custom_fold_func):
27425         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27426         (gst_pad_collectv), (gst_pad_collect_valist),
27427         (gst_pad_template_new):
27428         * gst/gstpipeline.c: (gst_pipeline_class_init),
27429         (gst_pipeline_dispose), (gst_pipeline_set_property),
27430         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27431         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27432         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27433         * gst/gstutils.h:
27434         * gst/schedulers/entryscheduler.c:
27435         * gst/schedulers/gstbasicscheduler.c:
27436         (gst_basic_scheduler_cothreaded_chain),
27437         (gst_basic_scheduler_chain_add_element):
27438         * testsuite/bins/interface.c: (main):
27439         Added GstBin test.
27440         Added GstSystemClock test.
27441         Implemented clock distribution code in GstBin.
27442         Implemented iterate sinks method for future use.
27443         Rearranged gstelement.h
27444         Fix GstIterator comparison bug.
27445         Moved some code to GstPipeline, mostly clocking related.
27446
27447 2005-03-09  Wim Taymans  <wim@fluendo.com>
27448
27449         * configure.ac:
27450         * gst/gst_private.h:
27451         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27452         (gst_bin_remove_func), (gst_bin_remove),
27453         (gst_bin_get_by_name_recurse_up):
27454         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27455         (gst_clock_id_compare_func), (gst_clock_id_wait),
27456         (gst_clock_id_wait_async), (gst_clock_init),
27457         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27458         * gst/gstelement.h:
27459         * gst/gstinfo.c: (_gst_debug_init):
27460         * gst/gstobject.h:
27461         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27462         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27463         * gst/gstpad.h:
27464         Bump version number, we're now 0.9.0
27465         Add future debugging category.
27466         Fix NULL _unref() in _get_by_name_recurse_up
27467         Rearrange gstpad.h.
27468         Update some docs.
27469
27470 2005-03-08  Wim Taymans  <wim@fluendo.com>
27471
27472         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
27473         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
27474         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27475         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
27476         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
27477         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
27478         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
27479         * gst/elements/gstidentity.c: (gst_identity_class_init):
27480         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
27481         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
27482         * gst/elements/gstshaper.c: (gst_shaper_class_init):
27483         * gst/elements/gststatistics.c: (gst_statistics_class_init):
27484         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
27485         (gst_tee_link):
27486         * gst/gstelement.c: (gst_element_class_init),
27487         (gst_element_base_class_init), (gst_element_init),
27488         (gst_element_get_random_pad), (gst_element_wait_state_change),
27489         (gst_element_change_state), (gst_element_dispose),
27490         (gst_element_finalize), (gst_element_set_loop_function):
27491         * gst/gstelement.h:
27492         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
27493         * gst/gstthread.c: (gst_thread_class_init),
27494         (gst_thread_release_children_locks), (gst_thread_change_state):
27495         * gst/schedulers/gstbasicscheduler.c:
27496         (gst_basic_scheduler_loopfunc_wrapper),
27497         (gst_basic_scheduler_chain_wrapper),
27498         (gst_basic_scheduler_src_wrapper),
27499         (gst_basic_scheduler_remove_element):
27500         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
27501         Remove threadsafe properties. Fix elements because GObject
27502         complains when installing a property before declaring a
27503         set/get_property handler.
27504         Rearrange gstelement.h file, use STATE macros for state locks.
27505         Free mutexes in the finalize method instead of dispose.
27506
27507 2005-03-08  Wim Taymans  <wim@fluendo.com>
27508
27509         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27510         * gst/gstthread.c: (gst_thread_release_children_locks):
27511         Added parentage check.
27512         Fix build og GstThread again.
27513
27514 2005-03-08  Wim Taymans  <wim@fluendo.com>
27515
27516         * docs/design/part-MT-refcounting.txt:
27517         * docs/design/part-conventions.txt:
27518         * docs/design/part-gstobject.txt:
27519         * docs/design/part-relations.txt:
27520         * docs/design/part-standards.txt:
27521         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27522         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
27523         (gst_bin_get_by_name), (gst_bin_get_by_interface),
27524         (gst_bin_iterate_all_by_interface):
27525         * gst/gstbuffer.h:
27526         * gst/gstclock.h:
27527         * gst/gstelement.c: (gst_element_class_init),
27528         (gst_element_change_state), (gst_element_set_loop_function):
27529         * gst/gstelement.h:
27530         * gst/gstiterator.c:
27531         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
27532         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
27533         (gst_object_dispatch_properties_changed), (gst_object_set_name),
27534         (gst_object_set_parent), (gst_object_unparent),
27535         (gst_object_check_uniqueness):
27536         * gst/gstobject.h:
27537         Docs updates, clean up some headers.
27538
27539 2005-03-07  Wim Taymans  <wim@fluendo.com>
27540
27541         * check/.cvsignore:
27542         * check/Makefile.am:
27543         * check/gst-libs/.cvsignore:
27544         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
27545         * check/gst/.cvsignore:
27546         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
27547         (START_TEST), (gstbus_suite), (main):
27548         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
27549         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
27550         (gst_data_suite), (main):
27551         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
27552         (add_fold_func), (gstiterator_suite), (main):
27553         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
27554         (thread_name_object), (thread_name_object_default),
27555         (gst_object_name_compare), (gst_object_suite), (main):
27556         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
27557         (gst_pad_suite), (main):
27558         * check/gstcheck.c: (gst_check_log_message_func),
27559         (gst_check_log_critical_func), (gst_check_init):
27560         * check/gstcheck.h:
27561         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
27562         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
27563         Added checks.
27564
27565 2005-03-07  Wim Taymans  <wim@fluendo.com>
27566
27567         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
27568         (gst_list_iterator_next), (gst_list_iterator_resync),
27569         (gst_list_iterator_free), (gst_iterator_new_list),
27570         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
27571         (gst_iterator_free), (gst_iterator_push), (filter_next),
27572         (filter_resync), (filter_uninit), (filter_free),
27573         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
27574         (gst_iterator_foreach), (find_custom_fold_func),
27575         (gst_iterator_find_custom):
27576         * gst/gstiterator.h:
27577         Added missing files.
27578
27579 2005-03-07  Wim Taymans  <wim@fluendo.com>
27580
27581         * Makefile.am:
27582         * configure.ac:
27583         * docs/design/part-MT-refcounting.txt:
27584         * docs/design/part-conventions.txt:
27585         * docs/design/part-gstobject.txt:
27586         * docs/design/part-relations.txt:
27587         * examples/mixer/mixer.c: (main):
27588         * examples/thread/thread.c: (eos), (main):
27589         * gst/Makefile.am:
27590         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
27591         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
27592         (gst_spider_plug_from_srcpad):
27593         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
27594         (gst_spider_identity_change_state),
27595         (gst_spider_identity_sink_loop_type_finding):
27596         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
27597         * gst/elements/gstidentity.c: (gst_identity_init):
27598         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
27599         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
27600         * gst/elements/gsttypefindelement.c: (free_entry):
27601         * gst/gst.c:
27602         * gst/gst.h:
27603         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
27604         (gst_bin_set_clock_func), (gst_bin_auto_clock),
27605         (gst_bin_set_index), (gst_bin_set_element_sched),
27606         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
27607         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
27608         (gst_bin_iterate_elements), (iterate_child_recurse),
27609         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
27610         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
27611         (compare_interface), (gst_bin_get_by_interface),
27612         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
27613         * gst/gstbin.h:
27614         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
27615         (gst_buffer_default_free), (gst_buffer_default_copy),
27616         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
27617         (gst_buffer_create_sub):
27618         * gst/gstbuffer.h:
27619         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
27620         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
27621         (gst_caps_unref), (gst_static_caps_get),
27622         (gst_caps_remove_and_get_structure), (gst_caps_append),
27623         (gst_caps_append_structure), (gst_caps_remove_structure),
27624         (gst_caps_copy_nth), (gst_caps_set_simple),
27625         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
27626         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
27627         (gst_caps_structure_intersect_field), (gst_caps_intersect),
27628         (gst_caps_structure_subtract_field), (gst_caps_subtract),
27629         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
27630         (gst_caps_structure_figure_out_union),
27631         (gst_caps_switch_structures), (gst_caps_do_simplify),
27632         (gst_caps_replace), (gst_caps_from_string),
27633         (gst_caps_copy_conditional):
27634         * gst/gstcaps.h:
27635         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
27636         (_gst_clock_id_free), (gst_clock_id_unref),
27637         (gst_clock_id_compare_func), (gst_clock_id_wait),
27638         (gst_clock_id_wait_async), (gst_clock_class_init),
27639         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
27640         (gst_clock_get_time), (gst_clock_set_time_adjust),
27641         (gst_clock_set_property), (gst_clock_get_property):
27642         * gst/gstclock.h:
27643         * gst/gstcompat.h:
27644         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
27645         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
27646         * gst/gstdata.h:
27647         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27648         (gst_element_requires_clock), (gst_element_provides_clock),
27649         (gst_element_set_clock), (gst_element_clock_wait),
27650         (gst_element_wait), (gst_element_set_time_delay),
27651         (gst_element_is_indexable), (gst_element_add_pad),
27652         (gst_element_add_ghost_pad), (gst_element_remove_pad),
27653         (pad_compare_name), (gst_element_get_static_pad),
27654         (gst_element_request_pad), (gst_element_get_request_pad),
27655         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
27656         (gst_element_class_get_pad_template_list),
27657         (gst_element_class_get_pad_template), (gst_element_error_func),
27658         (gst_element_get_random_pad), (gst_element_get_event_masks),
27659         (gst_element_send_event), (gst_element_seek),
27660         (gst_element_get_query_types), (gst_element_query),
27661         (gst_element_get_formats), (gst_element_convert),
27662         (gst_element_is_locked_state), (gst_element_set_locked_state),
27663         (gst_element_sync_state_with_parent), (gst_element_change_state),
27664         (gst_element_finalize), (gst_element_yield),
27665         (gst_element_interrupt), (gst_element_set_scheduler),
27666         (gst_element_get_scheduler), (gst_element_set_loop_function):
27667         * gst/gstelement.h:
27668         * gst/gstevent.h:
27669         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
27670         (gst_format_get_by_nick), (gst_format_get_details),
27671         (gst_format_iterate_definitions):
27672         * gst/gstformat.h:
27673         * gst/gstindex.c: (gst_index_gtype_resolver):
27674         * gst/gstinfo.c:
27675         * gst/gstinfo.h:
27676         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
27677         (gst_mem_chunk_free):
27678         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
27679         (gst_object_ref), (gst_object_unref), (gst_object_sink),
27680         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
27681         (gst_object_dispatch_properties_changed),
27682         (gst_object_set_name_default), (gst_object_set_name),
27683         (gst_object_get_name), (gst_object_set_name_prefix),
27684         (gst_object_get_name_prefix), (gst_object_set_parent),
27685         (gst_object_get_parent), (gst_object_unparent),
27686         (gst_object_check_uniqueness), (gst_object_save_thyself),
27687         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
27688         (gst_object_set_property), (gst_object_get_property),
27689         (gst_object_get_path_string):
27690         * gst/gstobject.h:
27691         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27692         (gst_real_pad_init), (gst_real_pad_get_property),
27693         (gst_pad_custom_new), (gst_pad_get_direction),
27694         (gst_pad_set_active), (gst_pad_is_active),
27695         (gst_pad_set_event_function), (gst_pad_is_linked),
27696         (gst_pad_link_free), (gst_pad_link_intersect),
27697         (gst_pad_link_fixate), (gst_pad_set_caps),
27698         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
27699         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
27700         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
27701         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
27702         (gst_pad_get_caps), (gst_pad_peer_get_caps),
27703         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
27704         (gst_pad_realize), (gst_pad_get_allowed_caps),
27705         (gst_real_pad_dispose), (gst_real_pad_finalize),
27706         (gst_pad_collectv), (gst_pad_collect_valist),
27707         (gst_pad_template_dispose), (gst_pad_template_new),
27708         (gst_pad_get_internal_links):
27709         * gst/gstpad.h:
27710         * gst/gstpipeline.c: (gst_pipeline_dispose),
27711         (gst_pipeline_change_state):
27712         * gst/gstpipeline.h:
27713         * gst/gstplugin.c:
27714         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
27715         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
27716         * gst/gstpluginfeature.h:
27717         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
27718         * gst/gstquery.c: (_gst_query_type_initialize),
27719         (gst_query_type_register), (gst_query_type_get_by_nick),
27720         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
27721         * gst/gstquery.h:
27722         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
27723         * gst/gstscheduler.c: (gst_scheduler_add_element),
27724         (gst_scheduler_factory_create):
27725         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27726         (gst_structure_free), (gst_structure_set_name),
27727         (gst_structure_id_set_value), (gst_structure_set_value),
27728         (gst_structure_set_valist), (gst_structure_remove_field),
27729         (gst_structure_remove_fields),
27730         (gst_structure_remove_fields_valist),
27731         (gst_structure_remove_all_fields), (gst_structure_foreach),
27732         (gst_structure_map_in_place),
27733         (gst_caps_structure_fixate_field_nearest_int),
27734         (gst_caps_structure_fixate_field_nearest_double):
27735         * gst/gststructure.h:
27736         * gst/gstsystemclock.c: (gst_system_clock_class_init),
27737         (gst_system_clock_init), (gst_system_clock_dispose),
27738         (gst_system_clock_async_thread),
27739         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
27740         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
27741         * gst/gstsystemclock.h:
27742         * gst/gsttag.c: (gst_tag_list_add_value_internal),
27743         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
27744         * gst/gsttaginterface.c:
27745         * gst/gstthread.c: (gst_thread_dispose),
27746         (gst_thread_release_children_locks), (gst_thread_change_state),
27747         (gst_thread_main_loop):
27748         * gst/gsttrashstack.h:
27749         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
27750         * gst/gsttypes.h:
27751         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27752         (gst_element_request_pad), (gst_element_get_pad_from_template),
27753         (gst_element_request_compatible_pad),
27754         (gst_element_get_compatible_pad_filtered),
27755         (gst_element_get_compatible_pad), (gst_element_state_get_name),
27756         (gst_element_link_pads_filtered), (gst_element_link_filtered),
27757         (gst_element_link_many), (gst_element_link),
27758         (gst_element_link_pads), (gst_element_unlink_pads),
27759         (gst_element_unlink_many), (gst_element_unlink),
27760         (gst_pad_can_link_filtered), (gst_pad_can_link),
27761         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
27762         (gst_object_default_error), (gst_bin_add_many),
27763         (gst_bin_remove_many), (gst_element_populate_std_props),
27764         (gst_element_class_install_std_props), (gst_buffer_merge),
27765         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
27766         (link_fold_func), (gst_pad_proxy_setcaps):
27767         * gst/gstutils.h:
27768         * gst/gstvalue.c: (gst_value_deserialize_string):
27769         * gst/parse/grammar.y:
27770         * gst/schedulers/gstbasicscheduler.c:
27771         (gst_basic_scheduler_cothreaded_chain),
27772         (gst_basic_scheduler_chain_recursive_add),
27773         (gst_basic_scheduler_pad_link):
27774         * gst/schedulers/gstoptimalscheduler.c:
27775         (get_group_schedule_function),
27776         (gst_opt_scheduler_state_transition),
27777         (gst_opt_scheduler_add_element), (element_get_reachables_func):
27778         * libs/gst/bytestream/bytestream.c:
27779         * libs/gst/dataprotocol/dataprotocol.c:
27780         (gst_dp_header_from_buffer):
27781         * po/nb.po:
27782         * po/ru.po:
27783         * tests/threadstate/threadstate2.c: (eos):
27784         * tools/gst-compprep.c: (main):
27785         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
27786         (print_pad_info), (print_children_info):
27787         * tools/gst-launch.c: (idle_func), (main):
27788         * tools/gst-md5sum.c: (idle_func), (main):
27789         * tools/gst-xmlinspect.c: (print_element_info):
27790         First THREADED backport attempt, focusing on adding locks and
27791         making sure the API is threadsafe. Needs more work. More docs
27792         follow this week.
27793
27794 2005-02-24  Andy Wingo  <wingo@pobox.com>
27795
27796         * tests/bench-complexity.scm:
27797         * tests/complexity.gnuplot: New files, good for running complexity
27798         benchmarks.
27799
27800         * tests/Makefile.am:
27801         * tests/complexity.c: New test, sets up N elements, at each level
27802         teeing into M streams per element. Eeeenteresting.
27803
27804         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
27805         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
27806         running bench-mass_elements.scm.
27807
27808         * tests/bench-mass_elements.scm: New script, runs mass_elements
27809         for various numbers of identities, outputting the results to a
27810         file. Requires guile 1.6. Just for testing.
27811
27812 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27813
27814         * gst/schedulers/fairscheduler.c:
27815           compile with debug disabled
27816
27817 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27818
27819         * configure.ac:
27820           hunting season on 0.9 is now OPEN