6ce9b0d9ae83ac309dd727905d839f8a6bf58eac
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2
3         * docs/manual/intro-motivation.xml:
4         * docs/manual/manual.xml:
5         Avoid CORBA & Bonobo references (#340598)
6
7 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
8
9         * docs/manual/basics-bus.xml:
10         * docs/manual/basics-pads.xml:
11         Fix up some inaccuracies and omissions (#340609)
12 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13
14         * gst/gstghostpad.c:
15           Small typo in docs (#340625)
16
17 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
18
19         * gst/parse/Makefile.am:
20           Make 'make -j' proof (see #340698).
21
22 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
23
24         * configure.ac:
25           Require GLib-2.8 here as well.
26
27 2006-05-05  Wim Taymans  <wim@fluendo.com>
28
29         * gst/glib-compat.c:
30         * gst/gst.c: (init_pre):
31         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
32         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
33         (gst_object_dispatch_properties_changed):
34         * gst/gstobject.h:
35         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
36         * gst/gststructure.c: (gst_structure_set_valist):
37         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
38         Remove pre glib2.8 compatibility, fixes #340508
39
40 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
41
42         * gst/gsttaglist.h:
43           Mention type of tags in doc blurbs.
44
45 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
46
47         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
48         (gst_pad_configure_src), (gst_pad_push):
49         Restore acceptcaps checking behaviour now that good plugins have
50         been released.
51
52 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
53
54         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
55
56         * gst/gst.c:
57         * gst/gstbus.c:
58         * gst/gstclock.c:
59         * gst/gstevent.c:
60         * gst/gstformat.c:
61         * gst/gstmessage.c:
62         * gst/gstparse.c:
63         * gst/gstquery.c:
64         * gst/gstutils.c:
65         * gst/parse/Makefile.am:
66         * libs/gst/base/gstadapter.c:
67         * libs/gst/base/gstbasesrc.c:
68         * libs/gst/base/gstpushsrc.c:
69         * libs/gst/base/gsttypefindhelper.c:
70         * plugins/elements/gstfakesrc.c:
71         * plugins/elements/gstidentity.c:
72           Make sure gstprivate.h and/or config.h are
73           always included first, otherwise some of our
74           defines (like _FILE_OFFSET_BITS) might be
75           redefined in the system headers. Fixes build
76           on opensolaris (#340016).
77
78 2006-05-04  Wim Taymans  <wim@fluendo.com>
79
80         * docs/libs/gstreamer-libs-sections.txt:
81         API: addition: gst_adapter_take_buffer()
82         
83         * libs/gst/base/gstadapter.c: (gst_adapter_push),
84         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
85         (gst_adapter_available_fast):
86         * libs/gst/base/gstadapter.h:
87         Prepare for optimizing the hell out of this hugely inefficient
88         piece of code. 
89         Added gst_adapter_take_buffer() so we can at least start thinking
90         about subbuffering and merging.
91         Added some comments.
92
93         * tests/check/Makefile.am:
94         * tests/check/libs/adapter.c: (GST_START_TEST),
95         (gst_adapter_suite), (main):
96         Added GstAdapter check.
97
98 2006-05-04  Wim Taymans  <wim@fluendo.com>
99
100         * docs/design/part-overview.txt:
101         Fix some typos, add blurb about buffer flags.
102
103 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
104
105         * docs/libs/gstreamer-libs-sections.txt:
106           make sure GstBaseTransformClass shows up in the docs
107         * libs/gst/base/gstbasetransform.c:
108         * libs/gst/base/gstbasetransform.h:
109           move docs so gtk-doc picks it up now
110
111 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
112
113         * docs/libs/gstreamer-libs-sections.txt:
114           add missing symbols to docs
115
116 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
117
118         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
119           back out the newsegment handling change, see #340060 for ongoing
120           discussion
121
122 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
123
124         * tools/gst-run.c: (get_candidates), (main):
125           Fix wrong g_file_test() usage (see glib docs for why it doesn't
126           work); fix typo in error message. Fixes #340079.
127
128 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
129
130         * common/Makefile.am:
131         * docs/Makefile.am:
132         * docs/faq/Makefile.am:
133         * docs/gst/Makefile.am:
134         * docs/libs/Makefile.am:
135         * docs/manual/Makefile.am:
136         * docs/plugins/Makefile.am:
137         * docs/pwg/Makefile.am:
138         * docs/slides/Makefile.am:
139         * docs/upload.mak:
140         * common/upload.mak:
141           move upload.mak to common
142
143 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
144
145         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
146           add more asserts on refcounts
147           do more cleanup at end of tests
148           fix test leaks showing in FC5
149
150 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
151
152         * plugins/elements/gsttypefindelement.c:
153         (gst_type_find_element_handle_event):
154         reverted wrong change and reflowed code to avoid others falling into
155         this trap
156
157 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
158
159         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
160           fix changelog entry about last collectpads change,
161           add notes about proper fix
162
163 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
164
165         * gst/gst.c:
166         * gst/gstregistry.c: (gst_registry_scan_path_level),
167         (gst_registry_scan_path):
168         * gst/gstregistry.h:
169           only write out registry if it has changed, fixes #338339
170
171 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
172
173         * gst/gstbin.c:
174         * gst/gstpipeline.c:
175         * plugins/elements/gstcapsfilter.c:
176         * plugins/elements/gstfakesink.c:
177         * plugins/elements/gstfakesrc.c:
178         * plugins/elements/gstfdsink.c:
179         * plugins/elements/gstfdsrc.c:
180         * plugins/elements/gstfilesink.c:
181         * plugins/elements/gstfilesrc.c:
182         * plugins/elements/gstidentity.c:
183         * plugins/elements/gstqueue.c:
184         * plugins/elements/gsttee.c:
185         * plugins/elements/gsttypefindelement.c:
186         (gst_type_find_element_handle_event):
187           make GstElementDetails const
188
189 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
190
191         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
193         (gst_collect_pads_is_collected), (gst_collect_pads_event):
194           more detailed debug and formatting cleanup,
195           forward newsegments to src-pad (so that e.g. adder not eats them)
196
197 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
198
199         * gst/gstutils.c: (gst_element_link_pads):
200           cleanup double code
201
202 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
203
204         * libs/gst/controller/gstcontroller.c:
205         (gst_controller_sync_values):
206           some little tuning
207         * tests/check/libs/controller.c: (GST_START_TEST),
208         (gst_controller_suite):
209           a new test for live value handling
210
211 2006-04-28  Wim Taymans  <wim@fluendo.com>
212
213         * gst/gstutils.c: (push_and_ref):
214         Added some more docs.
215         Fix refcount issue whith gst_element_found_tags() helper 
216         function. Fixes #338335
217
218         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
219         Added testsuite for gst_element_found_tags().
220
221 2006-04-28  Michael Smith  <msmith@fluendo.com>
222
223         * gst/gstvalue.c: (gst_value_serialize_flags):
224           Avoid NULL dereference when trying to serialize flags containing
225           invalid values.
226
227 2006-04-28  Michael Smith  <msmith@fluendo.com>
228
229         * plugins/elements/gsttypefindelement.c:
230         (gst_type_find_element_handle_event):
231           If we get EOS before any data is accumulated, don't use
232           uninitialised local variables.
233
234 2006-04-28  Michael Smith  <msmith@fluendo.com>
235
236         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
237         (gst_dp_event_from_packet):
238           Fixes in reading/writing events over GDP (not currently used?) - 
239           dereferencing NULL events for unknown/invalid event types, memory
240           leak, and change g_warning to GST_WARNING.
241
242 2006-04-28  Wim Taymans  <wim@fluendo.com>
243
244         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
245         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
246         (gst_base_sink_get_position), (gst_base_sink_change_state):
247         When frame dropping is enabled, we should not ignore frames
248         without a duration.
249         Update some documentation.
250
251 2006-04-28  Wim Taymans  <wim@fluendo.com>
252
253         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
254         (gst_base_src_send_event), (gst_base_src_change_state):
255         Documentation updates.
256
257 2006-04-28  Wim Taymans  <wim@fluendo.com>
258
259         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
260         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
261         handle EAGAIN, EINTR and short writes correctly. Also clean
262         up some error cases, avoid a deadlock on bad file descriptors and
263         use GST_DEBUG_OBJECT.
264         Fixes #339843
265
266 2006-04-28  Wim Taymans  <wim@fluendo.com>
267
268         * gst/gstvalue.c: (gst_value_serialize_buffer),
269         (gst_value_deserialize_buffer):
270         Don't try to serialize a GValue with a NULL buffer. 
271         Fixes #339821.
272
273         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
274         Added check for serialisation of NULL buffers.
275
276 2006-04-28  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstminiobject.c: (gst_value_take_mini_object):
279         Taking a NULL miniobject is valid, fix the case where
280         we try to unref the NULL miniobject.
281
282 2006-04-28  Wim Taymans  <wim@fluendo.com>
283
284         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
285
286         * gst/gstbin.c: (gst_bin_handle_message_func):
287         Update docs.
288         Don't leak bin refcount when a state recalc is
289         in progress and we delay another one #339808.
290
291 2006-04-28  Wim Taymans  <wim@fluendo.com>
292
293         * docs/design/part-TODO.txt:
294         Mention QoS as an ongoing work item.
295
296         * docs/design/part-buffering.txt:
297         New doc about buffering that needs to be fleshed out
298         at some point.
299
300         * docs/design/part-qos.txt:
301         More QoS policy for decoders/demuxers/transforms
302
303         * docs/design/part-trickmodes.txt:
304         Small update.
305
306 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
307
308         * configure.ac:
309           back to HEAD
310
311 === release 0.10.5 ===
312
313 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
314
315         * configure.ac:
316           releasing 0.10.5, "Fogo"
317
318 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
319
320         patch by: Wim Taymans
321
322         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
323         (gst_pad_configure_src), (gst_pad_push):
324         * gst/gstpipeline.c: (gst_pipeline_init):
325           Fix internal data flow errors.  Fixes #338711.
326
327 2006-04-12  Wim Taymans  <wim@fluendo.com>
328
329         * tests/check/gst/gstelement.c: (GST_START_TEST):
330         Don't leak the factory.
331
332 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * configure.ac:
335         * win32/common/config.h:
336           prerelease
337
338 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
339
340         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
341         (gst_controller_unset_all):
342           Free allocated GstTimedValues when freeing list nodes.
343           Should fix leaks 'make check-valgrind' complains about.
344
345         * win32/common/libgstcontroller.def:
346           Add gst_controller_unset_all.
347
348 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
349
350         * docs/libs/gstreamer-libs-sections.txt:
351         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
352         (gst_controller_unset_all):
353         * libs/gst/controller/gstcontroller.h:
354         API: Added new method gst_controller_unset_all()
355         fixed gst_controller_unset()
356         * tests/check/libs/controller.c: (GST_START_TEST),
357         (gst_controller_suite):
358         Added two testcases for new and fixed method
359
360 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
361
362         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
363           MSG_DONTWAIT is not defined on Cygwin, so work
364           around that (fixes #317048).
365           
366 2006-04-11  Wim Taymans  <wim@fluendo.com>
367
368         * gst/gstelementfactory.c: (gst_element_register),
369         (gst_element_factory_create), (gst_element_factory_make):
370         Some cleanups.
371         Fixed a FIXME.
372         Updated docs (Fixes #131079)
373
374         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
375         Small cleanups.
376
377         * tests/check/gst/gstelement.c: (GST_START_TEST),
378         (gst_element_suite):
379         Added testcase for elementfactory class field.
380
381 2006-04-10  Wim Taymans  <wim@fluendo.com>
382
383         * gst/gstsegment.c:
384         Added some more docs.
385
386         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
387         (gst_base_sink_reset_qos):
388         Calculate more accurate rate values.
389
390 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
391
392         * gst/gst_private.h:
393           add a new #ifdef to use __declspec(dllimport) only for
394           other modules and not for gstreamer core
395         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
396           use gst_guint64_to_gdouble for conversion
397         * win32/common/libgstreamer.def:
398           add new exported functions
399         * win32/vs6/gst_inspect.dsp:
400         * win32/vs6/gst_launch.dsp:
401         * win32/vs6/libgstbase.dsp:
402         * win32/vs6/libgstcontroller.dsp:
403         * win32/vs6/libgstcoreelements.dsp:
404         * win32/vs6/libgstdataprotocol.dsp:
405         * win32/vs6/libgstnet.dsp:
406           update project files
407
408 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
409
410         * gst/gstbuffer.c: (gst_subbuffer_class_init):
411         * gst/gstclock.c: (gst_clock_class_init):
412         * gst/gstelement.c: (gst_element_class_init):
413         * gst/gstindex.c: (gst_index_class_init):
414         * gst/gstindexfactory.c: (gst_index_factory_class_init):
415         * gst/gstobject.c: (gst_object_class_init),
416         (gst_signal_object_class_init):
417         * gst/gstpad.c: (gst_pad_class_init):
418         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
419         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
420         * gst/gstregistry.c: (gst_registry_class_init):
421         * gst/gstsystemclock.c: (gst_system_clock_class_init):
422         * gst/gsttask.c: (gst_task_class_init):
423         * gst/gstxml.c: (gst_xml_class_init):
424         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
425         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
426         (gst_base_src_loop):
427         * libs/gst/controller/gstcontroller.c:/
428         (_gst_controller_class_init):
429         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
430         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
431         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
432         * tests/old/examples/plugins/example.c: (gst_example_class_init):
433         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
434         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
435
436 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
437
438         * gst/gstpad.c: (gst_pad_link):
439           Must set peer pads before calling the link function, otherwise
440           a task started from a link function might get a flow-not-linked
441           result when trying to push because the other thread where the
442           linking happens hasn't had a chance to set the peers yet. This
443           might happen for example when a queue gets linked to a downstream
444           element, as queue starts a streaming task when its source pad
445           gets linked. Happens in real life when playing back flac/musepack
446           files in playbin (#332390).
447           
448 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
449
450         * gst/gstindex.h:
451         * gst/gstxml.h:
452         * libs/gst/base/gstadapter.h:
453         * libs/gst/base/gstbasesink.h:
454         * libs/gst/base/gstbasesrc.h:
455         * libs/gst/base/gstbasetransform.h:
456         * libs/gst/base/gstcollectpads.h:
457         * libs/gst/base/gstpushsrc.h:
458         Fix broken GObject macros
459
460 2006-04-07  Wim Taymans  <wim@fluendo.com>
461
462         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
463         Initialize start and stop times, thanks valgrind.
464
465 2006-04-07  Wim Taymans  <wim@fluendo.com>
466
467         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
468         Be a bit nicer to badly behaving upstream elements that expect
469         us to deal with non TIME segments and timestamps (such as fakesrc
470         in the testsuite).
471
472 2006-04-07  Wim Taymans  <wim@fluendo.com>
473
474         * gst/gstbus.c:
475         Small documentation clarification about the signal watch.
476
477         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
478         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
479         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
480         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
481         (gst_base_sink_get_position_last),
482         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
483         Convert and store timestamps in stream time and running time, the
484         raw timestamps are not usefull, also document this better.
485         Use different window sizes for good and bad QoS observations so
486         we react to badness a little quicker.
487         Keep track of the amount of rendered and dropped buffers.
488         Send QoS timestamps in running time.
489
490         * libs/gst/base/gstbasetransform.c:
491         (gst_base_transform_sink_eventfunc),
492         (gst_base_transform_handle_buffer):
493         Compare QoS timestamps against running time.
494
495 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * gst/gstpad.c:
498           Typo fixes in docs.
499
500 2006-04-06  Michael Smith  <msmith@fluendo.com>
501
502         * gst/gstpad.c: (gst_pad_set_property):
503           Use g_value_get_object() instead of g_value_dup_gst_object(),
504           to avoid double-reffing the pad template (which we then sink,
505           so this worked previously if (and only if) the pad template
506           was floating.
507
508         * gst/gstpadtemplate.c: (gst_pad_template_init),
509         (gst_pad_template_pad_created):
510           Never return floating references to pad templates, create
511           them as initially-sunken.
512
513           Document an extra function (and make this stop sinking our
514           pad template, since that is now guaranteed to do nothing,
515           since we created it sunken).
516
517         * gst/gstghostpad.c:
518           Fix docs typo.
519
520 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
521
522         * gst/gstinfo.c: (__gst_in_valgrind):
523           Add some newlines.
524
525         * plugins/elements/gsttypefindelement.c:
526         (gst_type_find_element_chain):
527           Don't leak buffer caps.
528
529 2006-04-06  Michael Smith  <msmith@fluendo.com>
530
531         * gst/parse/grammar.y:
532           Fix a leak in parse-launch for any source-or-sink named element 
533           references used.
534
535         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
536           Unref the pipeline if it exists after we've failed parsing.
537
538 2006-04-05  Michael Smith  <msmith@fluendo.com>
539
540         * gst/gstpipeline.c: (gst_pipeline_init):
541           When we create a pipeline bus, initially create it in flushing mode.
542           Fixes leaks in at least one test, and makes a new pipeline work the
543           same as one that has gone to READY and then back to NULL.
544
545         * gst/gstelement.c:
546           Typo fix in docs.
547
548 2006-04-05  Michael Smith  <msmith@fluendo.com>
549
550         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
551           Unref a pad we reffed.
552         * tests/check/gst/gstutils.c: (GST_START_TEST):
553           Unref bins
554
555 2006-04-05  Michael Smith  <msmith@fluendo.com>
556
557         * gst/gstquery.c: (gst_query_set_formats),
558         (gst_query_set_formatsv):
559           Fix leaking GValues in queries, as shown by valgrind/testsuite.
560
561 2006-04-05  Michael Smith  <msmith@fluendo.com>
562
563         * tests/check/generic/sinks.c: (GST_START_TEST):
564           Fix a variety of memleaks in sinks check, which are only sometimes 
565           shown by running the tests under valgrind (weird?).
566
567 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
568
569         * docs/version.entities.in:
570           Fix the substituted entity name after thomas' changes on the
571           weekend.
572
573 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
574
575         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
576         VALGRIND_PRINTF
577         
578 2006-04-05  Andy Wingo  <wingo@pobox.com>
579
580         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
581
582         * libs/gst/base/gstbasetransform.c
583         (gst_base_transform_sink_eventfunc): When resetting our segment on
584         FLUSH_STOP, also update the flag saying we haven't seen a
585         newsegment.
586
587 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
588
589         Patch by: Paolo Borelli  <pborelli at katamail dot com>
590
591         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
592         (gst_plugin_check_license):
593           minor clean-ups: G_DEFINE_TYPE already takes care of the
594           parent_class stuff, no need to do it twice. Mark array of
595           license strings as constant. (#337103)
596           
597 2006-04-04  Michael Smith  <msmith@fluendo.com>
598
599         * tools/gst-inspect.c: (print_element_list):
600           Free the right plugin list; fixes a memory leak.
601
602 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
603
604         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
605
606         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
607           Don't error out on empty buffers (#336945).
608           
609 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
610
611         * docs/libs/gstreamer-libs-sections.txt:
612         * gst/gsttaglist.c:
613         * libs/gst/base/gstbasesink.c:
614         * libs/gst/base/gstbasesink.h:
615         * libs/gst/base/gstbasesrc.c:
616         * libs/gst/base/gstbasesrc.h:
617           Documentation updates. Make BaseSink and BaseSrc docs contain the
618           class structure so that people can actually see the prototypes for
619           virtual functions they're supposed to be overriding.
620
621 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
622
623         * plugins/elements/gsttypefindelement.c:
624         (gst_type_find_element_chain):
625           More debug info; when skipping typefinding, send cached
626           events in all cases.
627
628 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
629
630         * configure.ac:
631           use new AS_VERSION and AS_NANO macros
632         * gst/gst-i18n-lib.h:
633         * gst/gst.c:
634         * gst/gsterror.c:
635         * gst/gstversion.h.in:
636         * win32/common/config.h:
637         * win32/common/config.h.in:
638           update accordingly
639
640 2006-03-31  Michael Smith  <msmith@fluendo.com>
641
642         * plugins/elements/gsttypefindelement.c:
643         (gst_type_find_element_chain):
644           Do not typefind content if the buffers already have caps.
645           Neccesary for icydemux (#333657), and the right thing to do anyway.
646
647 2006-03-30  Wim Taymans  <wim@fluendo.com>
648
649         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
650         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
651         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
652         (gst_base_sink_record_qos_observation),
653         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
654         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
655         (gst_base_sink_change_state):
656         More QoS measurements as described in the design doc.
657         Get rid of ringbuffer with observations, running average is
658         more simple and equally good.
659         Calculates valid proportion now.
660         Added beginning of flood measurement.
661
662 2006-03-29  Wim Taymans  <wim@fluendo.com>
663
664         * docs/design/part-qos.txt:
665         * gst/gstclock.c:
666         Small documentation updates and additions.
667
668 2006-03-29  Wim Taymans  <wim@fluendo.com>
669
670         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
671         (gst_base_src_send_event), (gst_base_src_loop),
672         (gst_base_src_change_state):
673         Perform the EOS logic when we reach the segment stop position.
674         Fix compilation on gcc4.1
675
676 2006-03-29  Wim Taymans  <wim@fluendo.com>
677
678         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
679
680         * plugins/elements/gstqueue.c: (gst_queue_init),
681         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
682         (gst_queue_set_property):
683         * plugins/elements/gstqueue.h:
684         In queue, when EOS is received, if minimum threshold > max_size -
685         current_level, there is chance that queue blocks forever in conditional
686         item del wait. This is because the queue is not emptied completely due
687         to minimum threshold.  Here is another approach. Instead of setting
688         cur_levels to max in EOS, just zero all minimum threshold levels. This
689         should make sure that queue gives out all data. When going to READY
690         (stop) state, just reset the original minimum threshold levels.
691         Fixes #336336.
692
693 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
694
695         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
696         (gst_type_find_element_handle_event),
697         (gst_type_find_element_send_cached_events),
698         (gst_type_find_element_change_state):
699         * plugins/elements/gsttypefindelement.h:
700           When typefinding is done in push mode, we should cache
701           events we receive during typefinding instead of just
702           dropping them (e.g. newsegment, custom events from
703           dvdreadsrc etc.) and then send them out once we've
704           determined the type of the stream (and decodebin
705           has had a chance to plug in a decoder/demuxer).
706           
707 2006-03-27  Wim Taymans  <wim@fluendo.com>
708
709         * docs/design/part-qos.txt:
710         First QoS ideas.
711
712 2006-03-27  Wim Taymans  <wim@fluendo.com>
713
714         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
715
716         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
717         (gst_base_src_send_event), (gst_base_src_change_state):
718         Handle element seek correctly when we are streaming.
719         Fixes #326998.
720
721 2006-03-24  Michael Smith  <msmith@fluendo.com>
722
723         * docs/faq/gst-uninstalled:
724           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
725           allow you to correctly run intalled applications built against old 
726           core, using plugins that require updated core (e.g. running
727           installed totem against a full uninstalled gstreamer stack)
728
729 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
730
731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
732         more debug details
733
734 2006-03-24  Wim Taymans  <wim@fluendo.com>
735
736         * docs/gst/gstreamer-sections.txt:
737         Rearrange the order of the methods so that related methods
738         are grouped together in sections.
739
740 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
741
742         * gst/gstelement.c:
743           Little clarification in the docs
744
745 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
746
747         * docs/README:
748         formatting fix
749         * plugins/elements/gstidentity.c:
750         * plugins/elements/gstqueue.c:
751         * plugins/elements/gsttee.c:
752         * plugins/elements/gsttypefindelement.c:
753         GST_ELEMENT_DETAILS formatting
754
755 2006-03-24  Wim Taymans  <wim@fluendo.com>
756
757         * libs/gst/base/gstbasesink.h:
758         Only add fields, not insert or we break ABI.
759
760 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
761
762         * win32/common/libgstbase.def:
763         * win32/common/libgstreamer.def:
764           Update, add recently added functions.
765
766 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
767
768         * docs/gst/gstreamer-sections.txt:
769         * gst/gstutils.c: (gst_pad_query_peer_position),
770         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
771         * gst/gstutils.h:
772           API: add some new utility functions:
773            - gst_pad_query_peer_position()
774            - gst_pad_query_peer_duration()
775            - gst_pad_query_peer_convert()
776           
777 2006-03-23  Wim Taymans  <wim@fluendo.com>
778
779         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
780         (gst_base_sink_init), (gst_base_sink_finalize),
781         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
782         (gst_base_sink_set_property), (gst_base_sink_get_property),
783         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
784         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
785         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
786         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
787         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
788         (gst_base_sink_preroll_object), (gst_base_sink_event),
789         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
790         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
791         (gst_base_sink_query), (gst_base_sink_change_state):
792         Decouple max-lateness and the fact that QoS messages are generated
793         with a new property (qos).
794         added API: GstBaseSink::async_play()
795         Add vmethod so subclasses can be notified of ASYNC playing
796         state changes.
797         Collect timestamp start and stop to report better current
798         position in EOS/PLAYING/PAUSED/READY/NULL.
799         Refactor QoS/frame dropping and other measurements.
800         API: GstBaseSrc::qos
801         Fixes #326311
802
803         * libs/gst/base/gstbasesink.h:
804         Added Private struct.
805         API: gst_base_sink_set_qos_enabled()
806         API: gst_base_sink_is_qos_enabled()
807
808 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
809
810         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
811           If compiling against GLib-2.8 or newer, try to read the
812           registry file using GMappedFile first before falling back
813           to fopen() + fread() (#332151).
814
815 2006-03-22  Wim Taymans  <wim@fluendo.com>
816
817         * gst/gstinfo.c: (gst_debug_set_active),
818         (gst_debug_category_set_threshold):
819         Disable debugging unless explicitly activated.
820         Fixes #335480.
821
822 2006-03-22  Wim Taymans  <wim@fluendo.com>
823
824         * gst/gstelement.c: (gst_element_set_locked_state),
825         (gst_element_dispose):
826         Cleanup the error case.
827
828         * gst/gstobject.c: (gst_object_dispose):
829         print a critical when some object was disposed with
830         a parent, also revive the object since it might
831         crash the parent.
832
833 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
834
835         * tools/gst-launch.1.in:
836           Fix another typo.
837
838 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
839
840         * configure.ac:
841         * tests/check/Makefile.am:
842           disable some tests when we don't have a registry
843         * tests/check/gst/gstutils.c: (gst_utils_suite):
844           don't build the part that needs parsing
845
846 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * gst/Makefile.am
849         * tests/examples/Makefile.am:
850           fix --disable-parse build
851
852 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
853
854         * tools/gst-feedback.1.in:
855           Fix typo: s/feeback/feedback/ (#133494).
856
857 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
858
859         * tools/Makefile.am:
860         * tools/gst-launch.1.in:
861           Add FILES section and correct entry about GST_REGISTRY_PATH
862           environment variable (#133495; #133494).
863
864 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
865
866         * tools/Makefile.am:
867         * tools/gst-md5sum.1.in:
868         * tools/gst-md5sum.c:
869           Remove gst-md5sum and man page (the md5sink element
870           required was removed ages ago)
871
872 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
873
874         * gst/gststructure.c: (gst_structure_id_set_value):
875           Make sure that string fields in structures/taglists
876           contain valid UTF-8 - we don't want to pass rubbish to
877           applications because of a buggy plugin (cp. #334167).
878
879 2006-03-21  Edward Hervey  <edward@fluendo.com>
880
881         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
882         (gst_bin_handle_message_func):
883         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
884         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
885         (gst_element_set_bus_func):
886         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
887         * gst/gstminiobject.c: (gst_value_set_mini_object),
888         (gst_value_take_mini_object):
889         * gst/gstpad.c: (gst_pad_set_pad_template):
890         * gst/gstpipeline.c: (gst_pipeline_dispose),
891         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
892         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
893         (gst_collect_pads_chain):
894         * libs/gst/net/gstnettimeprovider.c:
895         (gst_net_time_provider_set_property):
896         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
897         It's in fact all issues with gst_*object_replace().
898
899 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
900
901         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
902         
903         * pkgconfig/gstreamer-check-uninstalled.pc.in:
904         * pkgconfig/gstreamer-check.pc.in:
905           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
906
907 2006-03-21  Edward Hervey  <edward@fluendo.com>
908
909         * gst/gstbuffer.h:
910         * gst/gstevent.h:
911         * gst/gstmessage.h:
912         gst_[buffer|event|message]_ref() macros are replaced by a static
913         inline functions because gcc-4.1 will about if the return value
914         isn't used.
915         * tests/check/gst/gstevent.c: (event_probe):
916         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
917
918 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
919
920         * gst/gstutils.h:
921         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
922         the type' case. (Closes: #335195 for now). In the future, when we
923         depend on GLib 2.10, we could also intern the type name using
924         g_intern_static_string()
925
926 2006-03-20  Wim Taymans  <wim@fluendo.com>
927
928         * gst/gstbin.c: (gst_bin_handle_message_func),
929         (bin_query_max_init), (bin_query_position_fold),
930         (bin_query_position_done), (gst_bin_query):
931         Position query should also take max of all streams.
932
933 2006-03-20  Wim Taymans  <wim@fluendo.com>
934
935         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
936         (gst_fake_src_finalize):
937         Fix leaks in fakesrc.
938
939         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
940         Fix leaks in the testcase.
941
942 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
943
944         * gst/gst_private.h:
945           add win32 specific import decoration(__declspec(dllimport)) 
946           for all extern GstDebugCategory * variables
947         * win32/common/libgstbase.def:
948         * win32/common/libgstcontroller.def:
949         * win32/common/libgstreamer.def:
950           Add some exports, remove empty lines
951         * win32/common/libgstdataprotocol.def:
952         * win32/common/libgstdataprotocol.dsp:
953         * win32/common/libgstnet.def:
954         * win32/common/libgstnet.dsp:
955           new project files and exportation files added
956         
957 2006-03-19  Wim Taymans  <wim@fluendo.com>
958
959         * tests/check/libs/basesrc.c: (eos_event_counter):
960         Use proper return value for probe.
961
962 2006-03-17  Wim Taymans  <wim@fluendo.com>
963
964         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
965         (gst_pad_push):
966         Don't leak buffers, caps and pads on negotiation errors.
967
968 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
969
970         * docs/faq/cvs.xml:
971         * docs/faq/dependencies.xml:
972         * docs/faq/developing.xml:
973         * docs/faq/faq.xml:
974         * docs/faq/general.xml:
975         * docs/faq/getting.xml:
976         * docs/faq/legal.xml:
977         * docs/faq/troubleshooting.xml:
978         * docs/faq/using.xml:
979         Faq review and update.
980
981 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
982
983         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
984         (gst_pad_push):
985         Don't pound the cpu to pieces by checking get_caps when accept_caps
986         is called with the same caps as the pad already has.
987         Use GST_DEBUG_OBJECT when outputting caps change information.
988
989 2006-03-15  Wim Taymans  <wim@fluendo.com>
990
991         * gst/gstclock.c: (gst_clock_class_init):
992         Fix docs.
993
994 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
995
996         * gst/gstbuffer.h:
997         Documentation fix.
998
999         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1000         (gst_pad_accept_caps), (gst_pad_configure_sink),
1001         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1002         Make the default acceptcaps behaviour be to check the requested 
1003         caps against the gst_pad_get_caps output. 
1004
1005         Ensure that gst_pad_accept_caps is used to check caps when a pad
1006         doesn't have a setcaps function, so that pads automatically refuse 
1007         caps that they don't allow in their pad template. (Fixes #332986)
1008
1009         When a buffer with attached caps is pushed, ensure that the source 
1010         pad receives those caps even if the element didn't call
1011         gst_pad_set_caps first.
1012
1013 2006-03-15  Wim Taymans  <wim@fluendo.com>
1014
1015         * libs/gst/base/gstadapter.c:
1016         Add some docs.
1017
1018 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1019
1020         * win32/common/libgstbase.def:
1021         * win32/common/libgstcontroller.def:
1022         * win32/common/libgstreamer.def:
1023           Add a whole bunch of missing functions (#334434).
1024
1025 2006-03-14  Wim Taymans  <wim@fluendo.com>
1026
1027         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1028         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1029         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1030         Better debug info when we receive a segment event.
1031         Reorganize a bit so we can pass the get_times() results around.
1032         Use the segment format when calculating the running time.
1033         Don't do QoS is sync is disabled or we have no clock or the
1034         element does not want us to sync to the clock.
1035         Don't drop buffers if QoS is disabled for now.
1036
1037 2006-03-14  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1040         Marked the stats property as unimplemented so people don't get
1041         wild ideas.
1042         Add debug message when regression goes wrong.
1043         Added some more docs.
1044
1045 2006-03-14  Wim Taymans  <wim@fluendo.com>
1046
1047         * gst/gstsegment.c: (gst_segment_to_stream_time):
1048         Return correct return type in case of errors.
1049
1050 2006-03-14  Wim Taymans  <wim@fluendo.com>
1051
1052         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1053           Don't segfault on invalid formats.
1054
1055 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1056
1057         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1058           Can't use gst_segment_to_running_time() when the segment
1059           is not in GST_TIME_FORMAT (like with filesink, for example).
1060           Stops flac encoding pipelines from spewing critical warnings
1061           at EOS (#331248).
1062           
1063 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1064
1065         * gst/gstpipeline.c: (gst_pipeline_class_init):
1066           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1067
1068         * plugins/elements/gsttypefindelement.c:
1069         (gst_type_find_element_handle_event):
1070           Don't try to typefind empty streams.
1071
1072 2006-03-14  Wim Taymans  <wim@fluendo.com>
1073
1074         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1075         (gst_base_sink_do_qos):
1076         Separate QoS calculation.
1077         Only drop buffers when lateness is bigger than the 
1078         duration of the buffer.
1079
1080 2006-03-13  Wim Taymans  <wim@fluendo.com>
1081
1082         * gst/gstpipeline.c: (gst_pipeline_set_property),
1083         (gst_pipeline_get_property), (do_pipeline_seek),
1084         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1085         (gst_pipeline_get_delay):
1086         Don't deadlock when reading properties.
1087
1088 2006-03-13  Wim Taymans  <wim@fluendo.com>
1089
1090         * libs/gst/base/gstbasetransform.c:
1091         (gst_base_transform_class_init), (gst_base_transform_init),
1092         (gst_base_transform_sink_event),
1093         (gst_base_transform_sink_eventfunc),
1094         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1095         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1096         (gst_base_transform_set_property),
1097         (gst_base_transform_get_property),
1098         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1099         (gst_base_transform_set_qos_enabled),
1100         (gst_base_transform_is_qos_enabled):
1101         * libs/gst/base/gstbasetransform.h:
1102         Make basetransform virtual method for src events too.
1103         Handle QOS in basetransform.
1104         API: gst_base_transform_update_qos()
1105         API: gst_base_transform_set_qos_enabled()
1106         API: gst_base_transform_is_qos_enabled()
1107
1108 2006-03-13  Wim Taymans  <wim@fluendo.com>
1109
1110         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1111         (gst_base_sink_do_sync):
1112         Small cleanups.
1113         Use QOS debug category.
1114
1115 2006-03-13  Wim Taymans  <wim@fluendo.com>
1116
1117         * plugins/elements/gstqueue.c:
1118         Very small doc update.
1119
1120 2006-03-13  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/gst_private.h:
1123         * gst/gstinfo.c: (_gst_debug_init):
1124         Added QOS debug category
1125
1126 2006-03-13  Wim Taymans  <wim@fluendo.com>
1127
1128         * docs/gst/gstreamer-sections.txt:
1129         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1130         * gst/gstbin.h:
1131         * gst/gstbus.c: (gst_bus_class_init):
1132         * gst/gstbus.h:
1133         * gst/gstclock.c:
1134         * gst/gstelement.c: (gst_element_set_locked_state):
1135         * gst/gstsegment.c:
1136         Documentation updates.
1137
1138         * gst/gstpipeline.c: (gst_pipeline_get_type),
1139         (gst_pipeline_class_init), (gst_pipeline_init),
1140         (gst_pipeline_dispose), (gst_pipeline_set_property),
1141         (gst_pipeline_get_property), (do_pipeline_seek),
1142         (gst_pipeline_send_event), (gst_pipeline_change_state),
1143         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1144         (gst_pipeline_get_delay):
1145         * gst/gstpipeline.h:
1146         Added methods for setting the delay.
1147         API: gst_pipeline_set_delay()
1148         API: gst_pipeline_get_delay()
1149         Add pipeline debug category
1150         Various cleanups.
1151         Updated docs.
1152         Don't reset stream time when seek failed.
1153
1154 2006-03-13  Wim Taymans  <wim@fluendo.com>
1155
1156         * docs/design/draft-klass.txt:
1157         * docs/design/part-clocks.txt:
1158         * docs/design/part-events.txt:
1159         * docs/design/part-gstbin.txt:
1160         * docs/design/part-gstpipeline.txt:
1161         * docs/design/part-messages.txt:
1162         * docs/design/part-negotiation.txt:
1163         * docs/design/part-overview.txt:
1164         * docs/design/part-preroll.txt:
1165         * docs/design/part-seeking.txt:
1166         * docs/design/part-states.txt:
1167         * docs/design/part-streams.txt:
1168         Documentation updates.
1169
1170 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1171
1172         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1173         us to leak strings...
1174
1175 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1176
1177         * libs/gst/net/gstnettimeprovider.c:
1178           fix docs
1179         * win32/common/config.h:
1180           update
1181
1182 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1183
1184         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1185
1186         * configure.ac:
1187           Don't check for libgnomeui (leftover from old examples
1188           that aren't built or disted any longer) (#334303).
1189           
1190 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1191
1192         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1193         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1194           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1195           there's no space left on the device.
1196
1197 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1198
1199         * gst/gstclock.h:
1200           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
1201           to cast the input to GstClockTime before comparing with
1202           another GstClockTime value.
1203
1204 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1205
1206         * configure.ac:
1207           back to trunk
1208
1209 === release 0.10.4 ===
1210
1211 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
1212
1213         * configure.ac:
1214           releasing 0.10.4, "Light"
1215
1216 2006-03-10  Michael Smith  <msmith@fluendo.com>
1217
1218         * libs/gst/dataprotocol/dataprotocol.c:
1219           Fix docs for dataprocotol to not get the return types completely
1220           wrong for a few functions.
1221
1222 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1223
1224         * docs/gst/gstreamer-sections.txt:
1225         * gst/gstpipeline.c: (gst_pipeline_class_init),
1226         (gst_pipeline_init), (gst_pipeline_set_property),
1227         (gst_pipeline_get_property), (gst_pipeline_change_state),
1228         (gst_pipeline_set_auto_flush_bus),
1229         (gst_pipeline_get_auto_flush_bus):
1230         * gst/gstpipeline.h:
1231           Add new API: gst_pipeline_set_auto_flush_bus() and
1232           gst_pipeline_get_auto_flush_bus() to disable automatic
1233           flushing of the pipeline's GstBus when going from READY
1234           to NULL state (#332045).
1235
1236 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1237
1238         * docs/gst/gstreamer-sections.txt:
1239         * gst/gsturi.c: (gst_uri_has_protocol):
1240         * gst/gsturi.h:
1241            Add new API: gst_uri_has_protocol() (#333779).
1242
1243 2006-03-09  Wim Taymans  <wim@fluendo.com>
1244
1245         * gst/gstclock.c: (gst_clock_entry_new),
1246         (gst_clock_id_compare_func), (gst_clock_id_wait),
1247         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
1248         (gst_clock_init), (gst_clock_get_internal_time),
1249         (gst_clock_set_master), (do_linear_regression),
1250         (gst_clock_add_observation), (gst_clock_set_property):
1251         * gst/gstclock.h:
1252         Review docs.
1253         Small cleanups.
1254         Fix a possible segfault when the window-size is made smaller.
1255         Calculate jitter before performing the clock wait. Ideally
1256         the clock implementation should calculate jitter but we need
1257         API breakage for that.
1258
1259         * gst/gstsystemclock.c: (gst_system_clock_init):
1260         Docs review.
1261         
1262         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1263         Remove leftover else
1264
1265         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1266         (gst_systemclock_suite):
1267         Added check to test GST_CLOCK_DIFF.
1268
1269 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1270
1271         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
1272         (gst_type_find_helper_get_range):
1273           If we are provided with the size, we should implement
1274           GstTypeFind::get_length, so that typefind functions who
1275           want to can actually peek at the middle of a file.
1276
1277 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
1278
1279         * docs/manual/advanced-dataaccess.xml:
1280           Add some very very basic error checking.
1281
1282         * docs/pwg/appendix-checklist.xml:
1283           Some updates to the list of things to check when writing an element.
1284
1285 2006-03-08  Wim Taymans  <wim@fluendo.com>
1286
1287         * docs/design/part-element-transform.txt:
1288         Added some docs about the design of tranform elements.
1289
1290         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1291         (gst_base_src_loop), (gst_base_src_change_state):
1292         Mark buffers with the DISCONT flag.
1293
1294 2006-03-08  Michael Smith  <msmith@fluendo.com>
1295
1296         * gst/gstregistry.h:
1297         * gst/gstregistryxml.c: (gst_registry_save),
1298         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
1299         (gst_registry_xml_save_pad_template),
1300         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
1301         (gst_registry_xml_write_cache):
1302           Rewrite registry-saving to avoid race conditions and check for
1303           failed writes.
1304
1305 2006-03-08  Wim Taymans  <wim@fluendo.com>
1306
1307         * libs/gst/base/gstbasetransform.c:
1308         (gst_base_transform_transform_caps),
1309         (gst_base_transform_transform_size),
1310         (gst_base_transform_prepare_output_buffer),
1311         (gst_base_transform_get_unit_size),
1312         (gst_base_transform_buffer_alloc),
1313         (gst_base_transform_handle_buffer),
1314         (gst_base_transform_change_state):
1315         Cleanups, separate normal flow from errors, add sensible
1316         DEBUG lines.
1317         Don't try to renegotiate when allocating an output buffer.
1318         Also copy DISCONT buffer flag when copying a buffer.
1319         Reset the transform after we finish streaming, not during.
1320
1321 2006-03-08  Wim Taymans  <wim@fluendo.com>
1322
1323         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1324         Use last buffer timestamp in qos message.
1325
1326 2006-03-07  Wim Taymans  <wim@fluendo.com>
1327
1328         Patch by: Christophe Fergeau
1329
1330         * docs/pwg/advanced-tagging.xml:
1331         * docs/pwg/building-pads.xml:
1332           fixes #333416
1333
1334 2006-03-07  Wim Taymans  <wim@fluendo.com>
1335
1336         * docs/libs/gstreamer-libs-sections.txt:
1337         Added basesink new methods.
1338
1339         * gst/gstevent.c:
1340         * gst/gstevent.h:
1341         Docs updates. Flesh out the QoS docs.
1342
1343         * libs/gst/base/gstadapter.c:
1344         Small doc clarification about ownership and flushing.
1345
1346         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1347         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1348         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1349         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1350         * libs/gst/base/gstbasesink.h:
1351         API additions: 
1352         Added new methods to allow subclass to control max-lateness 
1353         and sync.
1354         Generate very basic QoS events based on last sync observation.
1355         Updated docs, fix typo, added some QoS blurb.
1356
1357         * libs/gst/base/gstbasesrc.c:
1358         Remove obsolete _get_state() calls from docs.
1359
1360 2006-03-07  Wim Taymans  <wim@fluendo.com>
1361
1362         * docs/libs/gstreamer-libs-sections.txt:
1363         * libs/gst/base/gstbasetransform.h:
1364         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1365         Fix docs for GstBaseSrc.
1366
1367 2006-03-07  Wim Taymans  <wim@fluendo.com>
1368
1369         * docs/gst/gstreamer-sections.txt:
1370         * gst/gstbuffer.h:
1371         * gst/gstvalue.c:
1372         * libs/gst/base/gstbasetransform.h:
1373         Small documentation fixes.
1374
1375 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1376
1377         * gst/gstvalue.c:
1378           Document thread-unsafety of gst_value_register_foo_func()
1379           when used at the same time as gst_value_foo() (#322628).
1380
1381 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1382
1383         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1384         (gst_push_src_check_get_range):
1385           Push sources don't support pull mode by default.
1386
1387 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1388
1389         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1390         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1391         (gst_base_src_default_check_get_range):
1392         * libs/gst/base/gstbasesrc.h:
1393           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1394           provide default implementation, and rename
1395           gst_base_src_check_get_range() to
1396           gst_base_src_pad_check_get_range() for clarity.
1397
1398 2006-03-06  Wim Taymans  <wim@fluendo.com>
1399
1400         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1401         Make property overridable.
1402
1403 2006-03-06  Wim Taymans  <wim@fluendo.com>
1404
1405         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1406         (gst_base_sink_init), (gst_base_sink_set_property),
1407         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1408         * libs/gst/base/gstbasesink.h:
1409         API addition: Make max-lateness a property.
1410
1411 2006-03-06  Wim Taymans  <wim@fluendo.com>
1412
1413         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1414         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1415         Don't ever draw a frame that is >10ms late.
1416
1417 2006-03-06  Michael Smith  <msmith@fluendo.com>
1418
1419         * gst/gstmessage.c: (_gst_message_copy):
1420           When copying a message, set the parent_refcount of the enclosed
1421           structure to point at the copy, not the original message.
1422
1423 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1424
1425         Patch by: Christophe Fergeau
1426
1427         * gst/gstutils.h:
1428           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1429           usable in c++ code (#333417)
1430
1431 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1432
1433         * gst/gstclock.h:
1434           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1435
1436 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1437
1438         * libs/gst/base/gstbasetransform.c:
1439         (gst_base_transform_transform_caps):
1440           Make sure caps are writable before passing them to
1441           gst_caps_append().
1442
1443 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1444
1445         * gst/gsterror.h:
1446           Fix some minor docs errors.
1447
1448 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450           Patch by: Ross Burton <ross at burtonini dot com>
1451
1452         * gst/gsterror.c: (_gst_resource_errors_init):
1453         * gst/gsterror.h:
1454           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1455
1456 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1457
1458         * gst/gst.c:
1459         Add a check and output a g_warning when GStreamer is built
1460         against GLib 2.6 but running against 2.8 or higher, and vice 
1461         versa. (Closes: #323542)
1462
1463 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1464
1465         * gst/parse/parse.l:
1466           Commit patch for parse_launch syntax from #331255. Removes 
1467           support for quoted strings and mimetypes when writing filtered 
1468           caps. See the bug report for more details - I'm pretty sure this
1469           obscure feature is not in use by _anyone_ anywhere.
1470
1471           With this simple change, the size of the gstreamer.so here 
1472           drops from 2193KB to 1565KB.
1473
1474 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1475
1476         * plugins/elements/gsttypefindelement.h:
1477         * plugins/elements/gsttypefindelement.c:
1478         (gst_type_find_element_src_event), (start_typefinding),
1479         (stop_typefinding), (gst_type_find_element_handle_event),
1480         (gst_type_find_element_chain),
1481         (gst_type_find_element_chain_do_typefinding):
1482           Use gst_type_find_helper_for_buffer() for chain-based
1483           typefinding.
1484
1485 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1486
1487         * plugins/elements/gsttypefindelement.c:
1488         (gst_type_find_element_class_init),
1489         (gst_type_find_element_set_property),
1490         (gst_type_find_element_get_property):
1491           Deprecate "maximum" property (not only was it only taken into
1492           account for typefinding in push-mode anyway, it also was never
1493           actually possible to set it in the first place because the
1494           property was registered with the numeric property ID for the
1495           "minimum" property). Register "maximum" property correctly,
1496           for the sake of future copy'n'pasters. Remove some cruft
1497           from property get/set functions.
1498
1499 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1500
1501         * plugins/elements/gsttypefindelement.c:
1502         (gst_type_find_element_activate):
1503           Use gst_type_find_helper_get_range() here, so we
1504           can honour the "minimum" property and also emit
1505           the signal with the correct probability of the found caps.
1506
1507 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1508
1509         * docs/libs/gstreamer-libs-sections.txt:
1510         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1511         (helper_find_suggest), (gst_type_find_helper_get_range),
1512         (gst_type_find_helper):
1513         * libs/gst/base/gsttypefindhelper.h:
1514           New API: gst_type_find_helper_get_range() (#333042).
1515
1516 2006-03-02  Michael Smith  <msmith@fluendo.com>
1517
1518         * gst/gstregistryxml.c: (load_feature):
1519           Asserting on a failure to read part of the registry is Not Cool.
1520           Just log a warning and return NULL (which is already handled)
1521
1522 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1523
1524         * win32/common/libgstbase.def:
1525           added export of gst_type_find_helper_for_buffer
1526         * win32/common/libgstbase.def:
1527           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1528           gst_ghost_pad_get_target
1529
1530 2006-02-28  Wim Taymans  <wim@fluendo.com>
1531
1532         * docs/design/draft-klass.txt:
1533         We use Filter now.
1534         Added Connector to mark elements that are only used to
1535         allow pipeline connections.
1536         Moved Debug to extra feature since most of them are 
1537         functionally something else.
1538
1539 2006-02-28  Wim Taymans  <wim@fluendo.com>
1540
1541         * docs/design/draft-klass.txt:
1542         Some updates and clarifications.
1543
1544 2006-02-28  Wim Taymans  <wim@fluendo.com>
1545
1546         * docs/design/draft-klass.txt:
1547         Proposal for klass field values.
1548
1549         * docs/design/part-streams.txt:
1550         Start of a doc describing stream anatomy.
1551
1552 2006-02-28  Wim Taymans  <wim@fluendo.com>
1553
1554         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1555         Help the compiler a bit with type registration.
1556         Use existing forward cod path instead of duplicating it when 
1557         handling a message.
1558         
1559         * gst/gstbus.c: (gst_bus_get_type):
1560         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1561         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1562         * gst/gstclock.c: (gst_clock_get_type):
1563         * gst/gstelement.c: (gst_element_get_type),
1564         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1565         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1566         * gst/gstminiobject.c: (gst_mini_object_get_type):
1567         * gst/gstpad.c: (gst_pad_get_type):
1568         * gst/gstsegment.c: (gst_segment_get_type):
1569         * gst/gststructure.c: (gst_structure_get_type):
1570         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1571         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1572         * gst/gstvalue.c:
1573         Help compiler with type registration.
1574
1575         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1576         Small doc update.
1577
1578 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1579
1580         * plugins/elements/gsttypefindelement.c:
1581         (gst_type_find_element_handle_event):
1582           When we get an EOS event and have not found a type yet
1583           (most likely because we had not yet accumulated
1584           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1585           type given the data we have so far. Fixes typefinding
1586           for very short streams again, most notably quicktime
1587           redirections as used on Apple's trailer site (#331701).
1588
1589 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1590
1591         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1592         (gst_type_find_helper):
1593           Try typefinding factories with the highest rank first.
1594
1595 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1596
1597         * docs/libs/gstreamer-libs-docs.sgml:
1598         * docs/libs/gstreamer-libs-sections.txt:
1599         * libs/gst/base/gsttypefindhelper.c:
1600           Add section for typefind helper and add documentation
1601           for the old and the new function.
1602
1603 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1604
1605         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1606         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1607         (gst_type_find_helper_for_buffer):
1608         * libs/gst/base/gsttypefindhelper.h:
1609           New API: gst_type_find_helper_for_buffer() (#332723).
1610           
1611 2006-02-27  Michael Smith  <msmith@fluendo.com>
1612
1613         Patch by: Loïc Minier
1614
1615         * configure.ac:
1616         * docs/Makefile.am:
1617         * docs/slides/Makefile.am:
1618           prevent CVS directories getting disted.
1619
1620 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1623           Use the REFCOUNTING category for caps refcounting.
1624           
1625 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1626
1627         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1628           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1629
1630 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1631
1632         * plugins/elements/gsttypefindelement.c:
1633         (gst_type_find_element_activate):
1634           Use gst_pad_check_pull_range() before _activate_pull()
1635           to avoid unnecessary open/close (see #331690).
1636
1637 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1638
1639         * gst/gstutils.c:
1640           Docs enhancement: make it crystal clear what the
1641           gst_pad_add_*_probe() callbacks should look like.
1642
1643 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * libs/gst/base/gstbasesrc.c:
1646           Document how applications can stop recording from
1647           live sources (see #330996).
1648
1649 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1650
1651         * tests/check/Makefile.am:
1652         * tests/check/libs/basesrc.c: (eos_event_counter),
1653         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1654         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1655         (gst_basesrc_suite), (main):
1656           ... and add some tests for the base source EOS stuff.
1657
1658 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1659
1660         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1661           Test case originally showed the problem fixed below,
1662           but was then amended. Add checks back at the place
1663           where they used to be.
1664
1665 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1668         (gst_base_src_init), (gst_base_src_loop),
1669         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1670         (gst_base_src_change_state):
1671         * libs/gst/base/gstbasesrc.h:
1672           Don't unconditionally send EOS when going from PAUSED to
1673           READY state, esp. make sure we don't send two EOS events
1674           in some cases (e.g. one when reaching EOS and one when
1675           going from PAUSED to READY). Also, we don't want to send
1676           EOS events when operating in pull mode. However, we do
1677           want to send an EOS event when shutting down a live
1678           source explicitly, for example (fixes #330996).
1679           
1680 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1683           Update src->read_position after a seek when not using mmap.
1684           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1685
1686 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1687
1688         * gst/Makefile.am:
1689         * gst/gstparse.h:
1690         * gst/gstutils.c:
1691         * gst/gstutils.h:
1692         Make things work with --disable-parse as they do with 
1693         --disable-load-save - the symbols involved disappear, but the
1694         header is still installed and GST_DISABLE_PARSE is included via
1695         gstconfig.h
1696
1697 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1698
1699         * libs/gst/base/gstbasetransform.c:
1700         (gst_base_transform_change_state): Fix a stupid bug. I was 
1701         sure I compiled that.
1702
1703 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1704
1705         * gst/gstpad.c: (gst_pad_set_blocked_async):
1706         * gst/gstutils.c: (gst_pad_add_data_probe),
1707         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1708         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1709         (gst_pad_remove_buffer_probe): Make those function act on the
1710         ghostpad target when it's a ghostpad. (Closes #331727)
1711
1712 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1713
1714         * libs/gst/base/gstbasetransform.c:
1715         (gst_base_transform_change_state): Make basetransform reusable.
1716         (Closes #331898)
1717
1718 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1719
1720         * docs/random/release:
1721         Move the current documentation of how to do a release to the top
1722         of the file.
1723
1724         * gst/gstbin.c: (gst_bin_class_init),
1725         (gst_bin_handle_message_func):
1726         Allow multiple state-recalculation threads. (Closes #328873)
1727
1728 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1729
1730         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1731         * gst/gstpad.c: (gst_pad_set_event_function),
1732         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1733         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1734         2 strings. You can't use the STR_NULL macro on that.
1735
1736 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1737
1738         * gst/gstpad.c: (gst_pad_set_event_function),
1739         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1740         (gst_pad_set_getcaps_function)
1741         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1742           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1743           So now, we can use --gst-debug-level=5 on Windows
1744         * win32/common/libgstcontroller.def:
1745           Added export of gst_controller_init
1746         * win32/vs6/libgstcontroller.dsp:
1747           Fixed Release post build configuration
1748
1749 2006-02-17  Wim Taymans  <wim@fluendo.com>
1750
1751         * tests/check/gst/gstquery.c: (GST_START_TEST):
1752         Added another check.
1753
1754 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1755
1756         * plugins/elements/gsttypefindelement.c: (find_peek):
1757           We can do peeks at non-zero offsets, as long as they
1758           fall within the buffer we have.
1759
1760 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1761
1762         * tests/check/Makefile.am:
1763         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1764         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1765         (parse_suite), (main):
1766           Add testsuite for parse launch syntax
1767
1768 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1769
1770         * plugins/elements/gsttypefindelement.c:
1771         (gst_type_find_element_chain):
1772           When typefinding is unsuccessful in the chain function, don't
1773           error out immediately. Only error out with NO_CAPS_FOUND if
1774           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1775           otherwise simply wait for more data so we can try typefinding
1776           again with more data later. Also, don't attempt to typefind
1777           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1778           this should improve typefinding from network sources where the
1779           size of the first buffer can be somewhat random.
1780
1781 2006-02-14  Wim Taymans  <wim@fluendo.com>
1782
1783         * docs/gst/gstreamer-sections.txt:
1784         * gst/gstpadtemplate.c:
1785         * gst/gstpadtemplate.h:
1786         Fix padtemplate docs, fixes #328805.
1787
1788 2006-02-14  Wim Taymans  <wim@fluendo.com>
1789
1790         * tools/gst-launch.c: (main):
1791         NO_PREROLL is not an ERROR so don't send confusing messages
1792         to the user.
1793
1794 2006-02-14  Wim Taymans  <wim@fluendo.com>
1795
1796         Patch by: Torsten Schoenfeld
1797
1798         * gst/gstregistry.c: (gst_registry_get_default),
1799         (_gst_registry_cleanup):
1800         Protect default registry with lock and ref/sink it.
1801         Fixes #324818
1802
1803 2006-02-14  Wim Taymans  <wim@fluendo.com>
1804
1805         * gst/gstbuffer.c:
1806         * gst/gstquery.c: (gst_query_list_add_format),
1807         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1808         (gst_query_parse_formats_nth):
1809         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1810         Docs fixes.
1811
1812 2006-02-14  Wim Taymans  <wim@fluendo.com>
1813
1814         * docs/gst/gstreamer-sections.txt:
1815         Reworked query docs.
1816
1817         * gst/gstquery.c: (gst_query_new_formats),
1818         (gst_query_list_add_format), (gst_query_set_formats),
1819         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1820         (gst_query_parse_formats_nth):
1821         * gst/gstquery.h:
1822         Flesh out formats query, added some new methods.
1823         Fix part of #324398.
1824
1825         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1826         Added query creation tests.
1827
1828 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1829
1830         * gst/gstpad.c: (fixate_value):
1831         Add a default fixation for fraction lists.
1832
1833 2006-02-13  Wim Taymans  <wim@fluendo.com>
1834
1835         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1836         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1837         (gst_task_join):
1838         * gst/gsttask.h:
1839         Detect and warn for obvious deadlocks. fixes #320340
1840         Fix error case where lock was not released.
1841
1842         * tests/check/Makefile.am:
1843         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1844         (task_func), (gst_element_suite), (main):
1845         Add task check.
1846
1847 2006-02-13  Wim Taymans  <wim@fluendo.com>
1848
1849         * docs/gst/gstreamer-sections.txt:
1850         * gst/gstbus.c:
1851         Add new functions to docs.
1852
1853 2006-02-13  Wim Taymans  <wim@fluendo.com>
1854
1855         * docs/design/part-TODO.txt:
1856         Updated TODO list, basesrc supports seeking to non-bytes
1857         formats.
1858
1859         * docs/design/part-element-sink.txt:
1860         Update docs.
1861
1862         * gst/gstbin.c: (bin_replace_message),
1863         (gst_bin_handle_message_func):
1864         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1865         * gst/gstevent.c: (gst_event_finalize):
1866         * gst/gstpad.c: (gst_pad_event_default_dispatch),
1867         (gst_pad_send_event):
1868         Use shiny new _TYPE_NAME macros.
1869
1870         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1871         Move debug statement up.
1872
1873         * gst/gstelement.c: (gst_element_set_locked_state):
1874         Add some debugging.
1875
1876 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * docs/gst/gstreamer-sections.txt:
1879         * gst/gstmessage.h:
1880         * gst/gstquery.h:
1881           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1882           macros (#330906). Also, document the already existing
1883           GST_QUERY_TYPE macro.
1884
1885 2006-02-13  Wim Taymans  <wim@fluendo.com>
1886
1887         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1888         (event_probe), (GST_START_TEST):
1889         Only events up to the pipeline EOS are counted, there are
1890         some more when going to NULL currently which we don't care
1891         about for now.
1892
1893 2006-02-13  Wim Taymans  <wim@fluendo.com>
1894
1895         * gst/gstpad.c: (gst_pad_send_event):
1896         Correctly check flushing and emit probes. fixes #330125
1897
1898 2006-02-10  Andy Wingo  <wingo@pobox.com>
1899
1900         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1901         structure.
1902         (gst_bus_init): Cache the location of the private data in the
1903         instance structure.
1904         (gst_bus_enable_sync_message_emission) 
1905         (gst_bus_disable_sync_message_emission): Implement new public
1906         functions.
1907         (gst_bus_post): Emit the sync-message signal if the user asked for
1908         it. Fixes #330684.
1909
1910         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1911         location of the bus-private structure.
1912         (gst_bus_enable_sync_message_emission)
1913         (gst_bus_disable_sync_message_emission): API addition
1914
1915 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1916
1917         Patch by: Vincent Torri
1918
1919         * docs/pwg/building-boiler.xml:
1920         PWG patch from #326800
1921
1922 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1923
1924         * configure.ac:
1925         * docs/Makefile.am:
1926         * docs/design/Makefile.am:
1927           Dist design docs.
1928
1929 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1930
1931         * configure.ac:
1932           back to CVS
1933
1934 === release 0.10.3 ===
1935
1936 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1937
1938         * configure.ac:
1939           releasing 0.10.3, "Like a virgin"
1940
1941 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1942
1943         * configure.ac:
1944           2nd prerelease of 0.10.3
1945           Bump libtool versioning.
1946
1947 2006-02-07  Andy Wingo  <wingo@pobox.com>
1948
1949         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1950         update last_stop if we're in TIME format and the timestamp is
1951         valid.
1952
1953         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1954         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1955         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1956         If we get a new newsegment with a different format, adapt
1957         accordingly.
1958
1959         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1960         of 0. Not a problem, really.
1961
1962         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1963         warn if sync=true.
1964
1965 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1966
1967         * configure.ac:
1968           Prelease of 0.10.3
1969
1970 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1971
1972         * win32/vs7:
1973           project files updated to the default vs7 configuration
1974         * win32/common/libgstbase.def:
1975         * win32/common/libgstreamer.def:
1976           added new symbols,
1977           removed empty lines,
1978           sorted all exported symbols alphabetically
1979         * win32/common/dirent.c:
1980         * win32/common/dirent.h:
1981         * win32/common/gchar.h:
1982           use windows line end.
1983           
1984 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1985
1986         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1987           Send EOS event when stopping.
1988
1989 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1990
1991         * docs/README:
1992           Tell folks what to do if the plugin-foobar.xml file
1993           hasn't been generated for a newly-added plugin.
1994
1995 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1996
1997         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1998         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1999         (gst_collect_pads_start), (gst_collect_pads_stop),
2000         (gst_collect_pads_event): Collectpads now holds a reference
2001         to the GstPad that was added. Indeed we don't want to look
2002         at pads that might just go away with no warning...
2003
2004 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2005
2006         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2007         (gst_collect_pads_start), (gst_collect_pads_stop),
2008         (gst_collect_pads_event), (gst_collect_pads_chain):
2009         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2010         Mark Nauwelaerts's patch on bug #328491.
2011
2012 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2013
2014         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2015         (gst_utils_suite):
2016           Add some simple tests for gst_parse_bin_from_description() and
2017           gst_bin_find_unconnected_pad() (#329069).
2018
2019 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2020
2021         * tools/gst-launch.c: (event_loop), (main):
2022           Catch errors during preroll (#320084).
2023
2024 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2025
2026         * plugins/elements/gsttypefindelement.c:
2027         (gst_type_find_element_activate):
2028           Post TYPE_NOT_FOUND error message when typefinding
2029           is unsuccessful in the activate function as well.
2030
2031 2006-02-02  Wim Taymans  <wim@fluendo.com>
2032
2033         * docs/design/part-element-sink.txt:
2034         Updated doc.
2035
2036 2006-02-02  Wim Taymans  <wim@fluendo.com>
2037
2038         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2039         (gst_base_sink_render_object),
2040         (gst_base_sink_queue_object_unlocked):
2041         Only keep track of prerollable items when we are 
2042         prerolling.
2043         Before rendering after preroll, always check if we
2044         have queued items.
2045         Added some more debugging.
2046
2047 2006-02-02  Wim Taymans  <wim@fluendo.com>
2048
2049         * gst/gstelement.c: (gst_element_continue_state),
2050         (gst_element_set_state_func), (gst_element_change_state):
2051         Fixed #326576, been running this for quite some time with
2052         no regressions at all.
2053
2054 2006-02-02  Wim Taymans  <wim@fluendo.com>
2055
2056         * common/gst.supp:
2057         Added more suppressions
2058
2059 2006-02-02  Wim Taymans  <wim@fluendo.com>
2060
2061         * docs/design/part-element-sink.txt:
2062         Updated document.
2063
2064         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2065         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2066         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2067         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2068         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2069         (gst_base_sink_preroll_object),
2070         (gst_base_sink_queue_object_unlocked),
2071         (gst_base_sink_queue_object), (gst_base_sink_event),
2072         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2073         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2074         (gst_base_sink_get_position), (gst_base_sink_change_state):
2075         * libs/gst/base/gstbasesink.h:
2076         Totally refactored matching the design doc.
2077         Use two segments, one to clip incomming buffers and another to
2078         perform sync.
2079         Handle queueing correctly, bypass the queue when playing.
2080         Make EOS cancelable.
2081         Handle errors correctly when operating in pull based mode.
2082
2083         * tests/check/elements/fakesink.c: (GST_START_TEST),
2084         (fakesink_suite):
2085         Added new check for sinks.
2086
2087 2006-02-02  Wim Taymans  <wim@fluendo.com>
2088
2089         * gst/gstsegment.c: (gst_segment_clip):
2090         No reason to refuse to clip when start == -1
2091
2092 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2093
2094         * docs/README:
2095         * docs/manual/intro-basics.xml:
2096         * docs/manual/intro-preface.xml:
2097         * docs/manual/manual.xml:
2098         * docs/pwg/advanced-dparams.xml:
2099         * docs/pwg/intro-basics.xml:
2100         * docs/pwg/intro-preface.xml:
2101         * docs/pwg/pwg.xml:
2102           describe dparams (controller) for plugins
2103           unify docs a little more
2104
2105 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2106
2107         * docs/gst/gstreamer-sections.txt:
2108         * gst/gstutils.c: (element_find_unconnected_pad),
2109         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2110         * gst/gstutils.h:
2111           Add new API: gst_parse_bin_from_description() and
2112           gst_bin_find_unconnected_pad() (#329069).
2113
2114 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2115
2116         * docs/manual/README:
2117           uncover a nasty detail of the docs build
2118
2119 2006-01-31  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2122         Don't cache duration messages if we're not going to use or
2123         free them.
2124
2125 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2126
2127         * docs/manual/advanced-dparams.xml:
2128         * docs/pwg/advanced-dparams.xml:
2129           more dparam docs
2130         * gst/gstindex.c:
2131           fix docs
2132         * libs/gst/controller/lib.c: (gst_controller_init):
2133           init just once
2134
2135 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2136
2137         * gst/gstelement.c: (gst_element_message_full):
2138           also show file/line/func if no additional debug was given
2139
2140 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2141         
2142         * win32/vs7/grammar.vcproj:
2143           activate copy of autogenerated files for Release mode
2144
2145 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2146         
2147         * win32/common/libgstreamer.def:
2148           export gst_value_compare
2149
2150 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2151
2152         * plugins/elements/Makefile.am:
2153         * plugins/elements/gstelements.c:
2154         * plugins/elements/gstfdsink.c: (_do_init),
2155         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2156         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2157         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2158         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2159         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2160         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2161         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2162         * plugins/elements/gstfdsink.h:
2163         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2164
2165 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2166
2167         * docs/manual/advanced-dparams.xml:
2168           describe controller
2169         * docs/manual/advanced-position.xml:
2170         * docs/manual/basics-init.xml:
2171         * docs/manual/manual.xml:
2172         * docs/manual/titlepage.xml:
2173         * docs/pwg/pwg.xml:
2174         * docs/pwg/titlepage.xml:
2175           cleanup xml (more to come)
2176         * libs/gst/controller/gstcontroller.c:
2177           fix typo
2178
2179 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2180         
2181         * win32/vs6/grammar.dsp:
2182           add autogen of gstmarshal.c,h for Release mode
2183                 
2184 2006-01-30  Wim Taymans  <wim@fluendo.com>
2185
2186         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2187         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2188         (gst_base_sink_handle_object), (gst_base_sink_event),
2189         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2190         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2191         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2192         (gst_base_sink_deactivate), (gst_base_sink_activate),
2193         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2194         (gst_base_sink_query), (gst_base_sink_change_state):
2195         Basesink cleanups, remove some old code.
2196         Handle the case where a subclass can preroll in the render
2197         method (mostly audiosinks).
2198         Handle more events.
2199         Remove some locks around variables that are now protected
2200         with the PREROLL_LOCK (clock_id, flushing, ..).
2201         Optimize position query some more, do correct locking.
2202         Remove old code to push queue in state change, this is not
2203         needed anymore since preroll blocks on all prerollable items 
2204         now.
2205         Almost implemented as described in design doc.
2206
2207 2006-01-30  Wim Taymans  <wim@fluendo.com>
2208
2209         * tests/check/gst/gstbin.c: (GST_START_TEST):
2210         Wait for refcount to settle down before checking.
2211
2212 2006-01-30  Wim Taymans  <wim@fluendo.com>
2213
2214         * docs/design/part-element-sink.txt:
2215         Pseudo code overview of desired sink behaviour regarding
2216         preroll.
2217
2218 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2219         * win32/vs6/grammar.dsp:
2220           fix some bugs in Release mode for autogenerated files
2221                 
2222 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2223         * win32/common/libgstbase.def:
2224         * win32/common/libgstreamer.def:
2225           export some new symbols: gst_base_src_set_format,
2226           gst_iterator_next, gst_structure_set_valist
2227
2228 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2229
2230         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2231         Set pad functions unconditionally. Fixes #329105.
2232
2233 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2234         * win32/vs8:
2235           add vs8 project files created by Sergey Scobich
2236
2237 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
2238
2239         * gst/gstutils.c: (gst_element_unlink_pads):
2240         Don't leak pad references.
2241
2242         * tests/check/elements/fakesink.c: (GST_START_TEST):
2243         * tests/check/generic/sinks.c: (GST_START_TEST):
2244         * tests/check/generic/states.c: (GST_START_TEST):
2245         * tests/check/gst/gstbin.c: (GST_START_TEST):
2246         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2247         * tests/check/gst/gstelement.c: (GST_START_TEST):
2248         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2249         * tests/check/gst/gstiterator.c: (GST_START_TEST):
2250         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2251         Fix a bunch of leaks. Make generic/sinks.c
2252         use a bit less cpu by slowing the buffer rate
2253         between fakesrc and fakesink.
2254         
2255 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
2256         * gst/gstcaps.c:
2257         * gst/gstelement.c: (gst_element_send_event):
2258         * gst/gstevent.c:
2259         * gst/gstinfo.c:
2260         * gst/gstiterator.c:
2261         * gst/gstiterator.h:
2262         * gst/gstpad.c: (gst_pad_send_event):
2263         * gst/gststructure.c:
2264         * gst/gsturi.c:
2265         * gst/gstutils.c:
2266         * gst/gstvalue.c:
2267         * libs/gst/base/gstadapter.c:
2268           doc fixes, to link to function, just write gst_cool_function(), don't
2269           prefix with '#'
2270
2271 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2272
2273         * plugins/elements/gsttee.c: (gst_tee_do_push),
2274         (gst_tee_handle_buffer):
2275         Always prefer an actual return value from a src
2276         pad in place of NOT_LINKED. This means we return
2277         WRONG_STATE when all src pads are WRONG_STATE
2278         instead of NOT_LINKED.
2279
2280         Lock when replacing the last message to prevent
2281         racing with the get_property method.
2282
2283         Add debug output
2284
2285 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2286
2287         * tests/check/Makefile.am:
2288         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
2289         (main):
2290         Add a very simple check that should have caught the memleak I fixed
2291         last night (if not for the slice allocator hiding it)
2292
2293 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2294
2295         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2296         (gst_bin_remove_func), (gst_bin_handle_message_func),
2297         (bin_query_duration_fold), (bin_query_generic_fold):
2298         Clean up references to the clock provider when disposed or when
2299         handling a clock-lost message from it.
2300
2301         Unref sinks when performing a query via gst_iterator_fold, as the
2302         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
2303
2304         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
2305         (gst_clock_set_master):
2306         Drop our reference to the master clock, if any, when we are disposed.
2307
2308         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
2309         Chain up in dispose. 
2310
2311 2006-01-26  Wim Taymans  <wim@fluendo.com>
2312
2313         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2314         Add some debugging.
2315
2316 2006-01-26  Julien MOUTTE  <julien@moutte.net>
2317
2318         * plugins/elements/gsttee.c: (gst_tee_do_push),
2319         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
2320         handles pad being NOT_LINKED or in WRONG_STATE.
2321
2322 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2323
2324         * win32/MANIFEST:
2325           more updating
2326
2327 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2328
2329         * win32/MANIFEST:
2330           remove obsolete entry
2331
2332 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2333
2334         * docs/gst/gstreamer-sections.txt:
2335         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2336         (gst_bin_iterate_sources), (gst_bin_send_event):
2337         * gst/gstbin.h:
2338         * gst/gstelement.c: (gst_element_send_event):
2339         * gst/gstevent.c:
2340         * gst/gstpad.c: (gst_pad_send_event):
2341           added code for downstream events, reviewed docs in gstevent.c
2342
2343 2006-01-25  Julien MOUTTE  <julien@moutte.net>
2344
2345         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2346         We only query position using the clock in the playing state.
2347         Query peer in the other cases.
2348         * win32/common/config.h: Updates.
2349
2350 2006-01-24  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2353         A clock entry that is scheduled for the exact time of the
2354         clock is still in time.
2355
2356         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2357         (gst_base_sink_do_sync):
2358         Add some more debug info.
2359
2360 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2361
2362         * win32/vs7:
2363           Add new vs7 project files and solution.
2364
2365 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2366
2367         * win32/vs7:
2368           all files removed as they were out-dated.
2369
2370 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2371
2372         * docs/random/release:
2373           update notes
2374         * gst/gstbin.c: (gst_bin_init):
2375         * gst/gstbus.c: (gst_bus_new):
2376         * gst/gstbus.h:
2377         * gst/gstpipeline.c: (gst_pipeline_init):
2378           use gst_bus_new(), improve logging, fix docs
2379         * win32/common/config.h:
2380           update for cvs build
2381
2382 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2383
2384         * autogen.sh:
2385           up required version of automake to 1.7
2386
2387 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2388
2389         * win32/common/libgstreamer.def:
2390           export gst_buffer_is_metadata_writable
2391
2392 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * docs/gst/gstreamer-sections.txt:
2395         * gst/gstevent.h:
2396           Add gst_event_replace() (#327001)
2397
2398 2006-01-20  Wim Taymans  <wim@fluendo.com>
2399
2400         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2401         Make it actually compile too..
2402
2403 2006-01-20  Wim Taymans  <wim@fluendo.com>
2404
2405         * gst/gstcaps.c:
2406         Clarify behaviour of _is_equal() when passing NULL parameters.
2407
2408         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2409         (gst_pad_set_caps):
2410         Cleanups. Don't unref NULL caps.
2411         When setting the same caps, protect caps of the pad with
2412         proper lock.
2413         Use full functionality of _is_equal() when comparing caps.
2414
2415 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2416
2417         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2418         Don't loop infinitely if there are no buffers to present. Partially
2419         fixes #327197, but collectpads is just broken for reusing elements
2420         to do multiple encodes atm.
2421
2422 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2423
2424         * tools/gst-inspect.c: (print_element_features):
2425         * tools/gst-xmlinspect.c: (main):
2426         URL_HANDLER is not a plugin feature we can search for in
2427         the registry.
2428
2429 2006-01-19  Edward Hervey  <edward@fluendo.com>
2430
2431         * gst/gstelement.c: (gst_element_pads_activate): 
2432         When activating, do src pads first, then sink pads.
2433         When de-activating, do sink pads first, then src pads.
2434
2435 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2436
2437         * docs/gst/gstreamer-sections.txt:
2438         Add gst_index_add_associationv to the docs
2439
2440 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2441
2442         * gst/gstevent.c:
2443           Fix docs typo
2444
2445         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2446         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2447           Do some refactoring. Doesn't actually change functionality,
2448           but makes landing the DRAIN event easier later.
2449
2450 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2451
2452         * docs/pwg/advanced-scheduling.xml:
2453           Update from 0.9.x to 0.10 API and make example a bit
2454           clearer.
2455
2456 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2457
2458         * docs/gst/gstreamer-sections.txt:
2459         Add gst_buffer_(is|make)_metadata_writable methods.
2460
2461 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2462
2463         * docs/design/part-sparsestreams.txt:
2464         Update sparse streams doc, hopefully for greater clarity
2465
2466 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2467
2468         * docs/design/part-events.txt:
2469         Remove mention of FILLER events.
2470         Add DRAIN event.
2471
2472         * docs/design/part-sparsestreams.txt:
2473         Write some things about using NEWSEGMENT to keep sparse streams
2474         flowing.
2475
2476 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * gst/gstbin.c: (gst_bin_dispose):
2479           Guard gst_object_unref call against a NULL object (dispose
2480           can theoretically be called multiple times).
2481           
2482 2006-01-18  Wim Taymans  <wim@fluendo.com>
2483
2484         * gst/gstbin.c: (gst_bin_element_set_state):
2485         * gst/gstclock.c: (gst_clock_id_wait):
2486         Added some more debug info.
2487
2488         * libs/gst/base/gstadapter.c:
2489         Added more docs.
2490
2491         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2492         (gst_base_sink_do_sync), (gst_base_sink_chain):
2493         Added some comments.
2494
2495 2006-01-18  Wim Taymans  <wim@fluendo.com>
2496
2497         * tests/check/Makefile.am:
2498         * tests/check/elements/fakesink.c: (chain_async_buffer),
2499         (chain_async), (chain_async_return), (GST_START_TEST),
2500         (fakesink_suite), (main):
2501         Added fakesink test that checks prerolling and clipping
2502         behaviour.
2503
2504         * tests/check/gst/gstutils.c: (GST_START_TEST):
2505         Make check run faster so that buildbots don't timeout.
2506
2507 2006-01-18  Wim Taymans  <wim@fluendo.com>
2508
2509         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2510         (gst_base_sink_do_sync):
2511         Some cleanups.
2512         When the sink finishes blocking on the preroll buffer, it can
2513         immediatly render it instead of rendering when the next buffer
2514         arrives.
2515
2516 2006-01-18  Wim Taymans  <wim@fluendo.com>
2517
2518         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2519         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2520         (gst_base_sink_chain):
2521         Small cleanups.
2522         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2523         Don't store _last_stop if the buffer is dropped.
2524
2525 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2526
2527         * plugins/elements/gsttypefindelement.c:
2528         (gst_type_find_element_class_init):
2529           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2530           object method handler that sets the caps on the pad and we want
2531           that to happen before we emit the signal (fixes e.g. feeding a
2532           plain text file to decodebin).
2533
2534 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2535
2536         * gst/gstplugin.c: Add MPL and Proprietary as license options
2537
2538 2006-01-18  Andy Wingo  <wingo@pobox.com>
2539
2540         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2541         symbol was exported before, it appears this was just an oversight.
2542         Fixes #168703.
2543         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2544
2545         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2546         prototype to gint. OK since this prototype was not in the header.
2547
2548 2006-01-17  Andy Wingo  <wingo@pobox.com>
2549
2550         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2551         registry while we remove plugins.
2552
2553         * tools/gst-inspect.c (print_element_info): Don't unref the
2554         factory arg, that should be the responsibility of whatever code
2555         received the ref. Fixes a double-free when called from
2556         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2557         (main): Unref the factory if we have one.
2558         (print_element_list): No change -- relies on the
2559         plugin_feature_list_free to free the list of features.
2560
2561 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2562
2563         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2564         (gst_buffer_make_metadata_writable):
2565         * gst/gstbuffer.h:
2566         * libs/gst/base/gstbasetransform.c:
2567         (gst_base_transform_prepare_output_buf):
2568         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2569         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2570           Replace gst_buffer_(make|is)_metadata_writable patch now
2571           that the release is out.
2572
2573 2006-01-17  Andy Wingo  <wingo@pobox.com>
2574
2575         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2576         in the present tense without reference to versions.
2577
2578         * gst/gstregistry.c (gst_registry_add_plugin)
2579         (gst_registry_remove_plugin, gst_registry_remove_feature)
2580         (gst_registry_find_feature, gst_registry_get_feature_list)
2581         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2582         (gst_registry_lookup, gst_registry_scan_path)
2583         (_gst_registry_remove_cache_plugins)
2584         (gst_registry_get_feature_list_by_plugin): Add argument
2585         validation.
2586
2587 === release 0.10.2 ===
2588
2589 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2590
2591         * configure.ac:
2592           releasing 0.10.2, "If man is five"
2593
2594 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2595
2596         * gst/gstbuffer.c:
2597         * gst/gstbuffer.h:
2598         * libs/gst/base/gstbasetransform.c:
2599         (gst_base_transform_prepare_output_buf):
2600         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2601         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2602           Back out patch until after the release.
2603
2604 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2605
2606         * gst/gstminiobject.c:
2607           Spelling fix in docs.
2608         * ChangeLog - remove conflict indicator
2609
2610 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2611
2612         Reviewed By: Andy Wingo
2613
2614         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2615         (gst_buffer_make_metadata_writable):
2616         * gst/gstbuffer.h:
2617           Add gst_buffer_(is|make)_metadata_writable as analogues of
2618           gst_buffer_(is|make)_writable.
2619
2620         * libs/gst/base/gstbasetransform.c:
2621         (gst_base_transform_prepare_output_buf):
2622         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2623           Use name gst_buffer_(is|make)_metadata_writable functions.
2624
2625         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2626           Test gst_buffer_(is|make)_metadata_writable
2627         
2628           (Closes: #324162)
2629
2630 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2631
2632         * docs/manual/Makefile.am:
2633           don't do parallel make
2634         * configure.ac:
2635           AC_SUBST HOST_CPU
2636         * win32/common/config.h.in:
2637           add generations for HOST_CPU and GST_MAJORMINOR
2638         * win32/common/config.h:
2639           commit generated result
2640
2641 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2642
2643         * docs/manual/appendix-integration.xml:
2644           Update GNOME integration section to use gst_init_get_option_group()
2645           instead of the old popt stuff (#322911). Also, GNOME applications
2646           should  now use gconf*sink and gconf*src instead of the old gconf
2647           helper lib we had.
2648
2649 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2650
2651
2652         * docs/gst/gstreamer-docs.sgml:
2653         * docs/gst/gstreamer-sections.txt:
2654         * docs/libs/gstreamer-libs-sections.txt:
2655           add new API entries to the docs
2656         * libs/gst/controller/Makefile.am:
2657         * libs/gst/controller/gstcontroller.c:
2658         * libs/gst/controller/gstcontroller.h:
2659         * libs/gst/controller/gstcontrollerprivate.h:
2660         * libs/gst/controller/gsthelper.c:
2661         * libs/gst/controller/gstinterpolation.c:
2662           move private structs to private header
2663         * po/README:
2664           gstreamer-0.7 -> gstreamer-0.10
2665         * tests/check/libs/struct_i386.h:
2666           remove private structs
2667
2668 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2669
2670         * plugins/indexers/Makefile.am:
2671           Fixes as part of #317048
2672
2673 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2674
2675         * plugins/indexers/Makefile.am:
2676           fix #316086 - compilation when mmap is missing
2677
2678 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2679
2680         * libs/gst/base/gstbasesink.c:
2681           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2682           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2683         * win32/common/config.h:
2684           added some defines GST_MAJORMINOR and HOST_CPU
2685         * win32/common/libgstbase.def:
2686         * win32/common/libgstreamer.def:
2687           added some exported functions.
2688
2689 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2690
2691         * libs/gst/controller/gstcontroller.c:
2692         (gst_controlled_property_set_interpolation_mode),
2693         (gst_controlled_property_new):
2694         * libs/gst/controller/gstcontroller.h:
2695         * libs/gst/controller/gstinterpolation.c:
2696         (interpolate_none_get_string_value_array):
2697           make G_TYPE_STRING controlable
2698
2699 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * tools/README:
2702         * tools/gst-feedback.1.in:
2703         * tools/gst-inspect.1.in:
2704         * tools/gst-launch.1.in:
2705         * tools/gst-md5sum.1.in:
2706         * tools/gst-typefind.1.in:
2707         * tools/gst-xmlinspect.1.in:
2708         * tools/gst-xmllaunch.1.in:
2709           cleanup man-pages, remove reference to gst-register, document env-vars
2710
2711 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2712
2713         * gst/gstbuffer.c: (gst_buffer_span):
2714           gst_buffer_span should copy the timestamp of the first buffer
2715           if they were both originally overlapping subbuffers of the 
2716           same parent, using the same logic as the 'slow copy' case.
2717
2718 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2719
2720         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2721           Need to awaken ALL the pads when we pop a buffer, otherwise
2722           collectpads only works when there is 2 input streams.
2723
2724 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2725
2726         * docs/random/ensonic/media-device-daemon.txt:
2727           more ideas (dbus)
2728         * gst/gstbuffer.c:
2729           fix doc example, add clarification
2730         * tools/gst-launch.1.in:
2731           add initial info about GST_PLUGIN_PATH, needs more work
2732
2733 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2734
2735         * docs/manual/basics-bins.xml:
2736         * docs/manual/basics-elements.xml:
2737         * docs/manual/intro-basics.xml:
2738           Some more minor docs additions and updates.
2739
2740 2006-01-11  Wim Taymans  <wim@fluendo.com>
2741
2742         * docs/manual/basics-bins.xml:
2743         * docs/manual/basics-elements.xml:
2744         Some small fixes as pointed out by Ser-ver on IRC.
2745
2746 2006-01-10  Edward Hervey  <edward@fluendo.com>
2747
2748         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2749         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2750         the single-segment mode.
2751
2752 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2753
2754         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2755
2756         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2757         (gst_base_src_perform_seek), (gst_base_src_send_event),
2758         (gst_base_src_set_property), (gst_base_src_get_property),
2759         (gst_base_src_loop), (gst_base_src_start),
2760         (gst_base_src_activate_push):
2761         * libs/gst/base/gstbasesrc.h:
2762           Name (private) union; makes Sun's Forte compiler happy (#324900).
2763
2764 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2765
2766         * README:
2767           gst-register is gone.
2768
2769 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2770
2771         * gst/gstvalue.c: (_gst_value_initialize):
2772           make the G_TYPE_DATE instantiation work if debug is disabled
2773
2774 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * gst/gstmessage.c: (gst_message_parse_tag),
2777         (gst_message_parse_error), (gst_message_parse_warning):
2778           Don't crash when return location for error/warning debug
2779           string is NULL; add fact that return locations can be
2780           NULL to docs where appropriate.
2781
2782 2006-01-05  Wim Taymans  <wim@fluendo.com>
2783
2784         * gst/gstplugin.c: (gst_plugin_load_file):
2785         Replace strdup by g_strdup.
2786
2787 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2788
2789         * docs/pwg/advanced-types.xml:
2790           fix doc borkage
2791
2792 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2793
2794         submitted by: Abel Cheung
2795
2796         * po/LINGUAS:
2797         * po/zh_TW.po:
2798           Added Chinese (traditional) translation
2799
2800 2006-01-04  Wim Taymans  <wim@fluendo.com>
2801
2802         * docs/manual/basics-pads.xml:
2803         * docs/plugins/Makefile.am:
2804         * docs/plugins/gstreamer-plugins-docs.sgml:
2805         * docs/plugins/gstreamer-plugins-sections.txt:
2806         * docs/pwg/advanced-clock.xml:
2807         * docs/pwg/advanced-scheduling.xml:
2808         * docs/pwg/advanced-types.xml:
2809         * plugins/elements/gstfdsink.c:
2810         * plugins/elements/gstfdsrc.c:
2811         * plugins/elements/gstfdsrc.h:
2812         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2813         * plugins/elements/gstidentity.h:
2814         * plugins/elements/gstqueue.h:
2815         * plugins/elements/gsttee.c:
2816         * plugins/elements/gsttee.h:
2817         * plugins/elements/gsttypefindelement.c:
2818         (gst_type_find_element_class_init):
2819         * plugins/elements/gsttypefindelement.h:
2820         Small updates to various docs.
2821         Added core plugins to docs.
2822
2823 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2824
2825         * common/gst.supp:
2826           add a suppression for liboil's uninitialized variable
2827
2828 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2829
2830         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2831
2832         * gst/gstutils.h:
2833           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2834           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2835           compiler switch is being used (#325429).
2836
2837 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2838
2839         * gst/gstbin.c: (gst_bin_query):
2840           Disable duration query caching in bins until it gets
2841           fixed (see #324807).
2842
2843 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2844
2845         * tools/gst-inspect.c: (print_element_properties_info):
2846           Handle properties of POINTER and BOXED type.
2847
2848 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * gst/gst.c: (init_post):
2851           Init tags stuff and some other things before loading
2852           any static plugins (there may be other static plugins
2853           than just the GStreamer ones, and they may want to
2854           register their own tags or formats or whatever, and
2855           preferably without segfaulting).
2856
2857         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2858           Print at least a warning in the debug logs if we drop a
2859           query just because we don't know how to adjust the value
2860           in the particular format.
2861
2862 2005-12-24  David Schleef  <ds@schleef.org>
2863
2864         * tools/gstreamer-completion:
2865           Replacement for gst-complete written in sh and sed.  Only
2866           completes names of features, but that's 90% of what I want
2867           it for.  Properties are not available in registry.xml.  (Maybe
2868           they should be...)
2869
2870 === release 0.10.1 ===
2871
2872 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
2873
2874         * configure.ac:
2875           releasing 0.10.1, "Nollaig chridheil"
2876
2877 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
2878
2879         * docs/faq/cvs.xml:
2880           Add missing quote, should be make ERROR_CFLAGS="".
2881
2882 2005-12-20  Wim Taymans  <wim@fluendo.com>
2883
2884         * docs/design/part-trickmodes.txt:
2885         More documentation on trickmodes.
2886
2887 2005-12-20  Edward Hervey  <edward@fluendo.com>
2888
2889         * gst/gstcaps.c: (gst_static_caps_get_type):
2890         * gst/gstcaps.h:
2891           API addition: GST_TYPE_STATIC_CAPS
2892         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2893         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2894         * gst/gstpadtemplate.h:
2895           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2896         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2897         bindings.
2898
2899 2005-12-18  Wim Taymans  <wim@fluendo.com>
2900
2901         * libs/gst/base/gstadapter.c:
2902         * libs/gst/base/gstadapter.h:
2903         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2904         (gst_base_sink_get_position):
2905         * libs/gst/base/gstbasesink.h:
2906         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2907         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2908         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2909         (gst_base_src_send_event), (gst_base_src_update_length),
2910         (gst_base_src_get_range), (gst_base_src_loop),
2911         (gst_base_src_start):
2912         * libs/gst/base/gstbasesrc.h:
2913         * libs/gst/base/gstbasetransform.h:
2914         * libs/gst/base/gstcollectpads.h:
2915         * libs/gst/base/gstpushsrc.c:
2916         * libs/gst/base/gstpushsrc.h:
2917         * libs/gst/dataprotocol/dataprotocol.c:
2918         * libs/gst/dataprotocol/dataprotocol.h:
2919         * libs/gst/net/gstnetclientclock.h:
2920         * libs/gst/net/gstnettimeprovider.h:
2921         Documentation updates.
2922
2923 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2924
2925         * docs/manual/basics-helloworld.xml:
2926           Remove superfluous closing bracket in helloworld example.
2927
2928 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2929
2930         * tools/gst-launch.1.in:
2931           Update gst-launch man page; add a section with useful
2932           environment variables. Fixes #323882.
2933
2934 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2935
2936         * gst/gst.c:
2937         * gst/gst_private.h:
2938           change some char* into char[]
2939
2940 2005-12-16  Wim Taymans  <wim@fluendo.com>
2941
2942         * gst/gstregistryxml.c: (load_feature):
2943         Cleanups.
2944         Don't use g_object_unref on GstObjects so that we avoid
2945         leaks on unsafe glibs.
2946
2947 2005-12-16  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstbin.c: (gst_bin_recalc_state):
2950         Small doc updates.
2951
2952 2005-12-16  Wim Taymans  <wim@fluendo.com>
2953
2954         * common/check.mak:
2955         Added make forever target for check.
2956
2957 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/gst.c: (init_post):
2960           make the registry cache file HOST_CPU-dependent
2961
2962 2005-12-16  Andy Wingo  <wingo@pobox.com>
2963
2964         * plugins/elements/gstbufferstore.c
2965         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2966         return value.
2967
2968         * tests/check/gst/gstobject.c
2969         (test_fake_object_name_threaded_unique): Pay attention to
2970         g_list_sort return value.
2971
2972 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * tools/gst-feedback-m.m:
2975           Update for 0.9/0.10 (fixes #323870).
2976
2977 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2980           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2981           
2982         * tests/check/gst/gstminiobject.c: (my_foo_init),
2983         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2984         (test_value_collection), (gst_mini_object_suite):
2985           Add test to ensure refcounts end up as expected when passing
2986           GstMiniObjects through g_object_get() and g_object_set().
2987
2988 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2989
2990         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2991         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2992         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2993         of collectpads. This version removes a lot of races without
2994         touching API/ABI. Yay !
2995
2996 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2997
2998         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2999           Don't allow activation of a srcpad in pull_range if it has no
3000           getrange function.
3001           Change some debug statements to be a little clearer
3002
3003         * plugins/elements/gsttypefindelement.c:
3004         (gst_type_find_handle_src_query):
3005           Check that we have a peer before executing queries thereupon.
3006
3007         * tests/examples/metadata/read-metadata.c: (message_loop):
3008           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3009           immediately return us any available message with 0 timeout.
3010
3011 2005-12-12  Michael Smith  <msmith@fluendo.com>
3012
3013         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3014           Don't unref factories after calling them.
3015         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3016         * plugins/elements/gsttypefindelement.c:
3017         (gst_type_find_element_chain):
3018           Free lists of factories after using them. Fixing typefinding memory
3019           leaks.
3020
3021 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3024         (gst_plugin_feature_load):
3025           more meaningful debug output
3026         * configure.ac:
3027         * tests/Makefile.am:
3028         * tests/old/examples/Makefile.am:
3029           make make distcheck happy again
3030
3031 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3032
3033         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3034           Catch the special case where we are operating chain-based,
3035           but the downstream peer pad has no chain function. Emit a
3036           custom error message in this case instead of letting the
3037           core generate one implying that this is some sort of core
3038           bug. It's not, it just means that whatever got plugged
3039           into the pipeline downstream when we announced the type
3040           can only operate pull-based, while our source can only
3041           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3042           Error string has not been marked for translation yet, as
3043           it probably needs some more work first.
3044
3045         (gst_type_find_element_get_best_possibility):
3046           Add helper function to find the best of all available
3047           found possibilities that qualify given the min. threshold.
3048
3049         (gst_type_find_element_handle_event):
3050           Fix the case where we get an EOS while still in TYPEFIND
3051           mode (we want to chose the best of all possible types,
3052           not just the first type that happens to be in our unsorted
3053           list of possible types).
3054
3055         (gst_type_find_element_chain):
3056           Make sure we return GST_FLOW_ERROR when we errored out
3057           in stop_typefinding(); also, don't just find the best of
3058           all found type entries and then use the last examined
3059           type entry, but actually use the best entry.
3060
3061 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3062
3063         * tests/examples/typefind/typefind.c: (type_found):
3064         * tests/examples/xml/runxml.c: (xml_loaded):
3065           More gcc4 fixes and a mem leak fix.
3066
3067 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3068
3069         * tests/examples/xml/createxml.c: (object_saved):
3070           gcc 4 fixes
3071
3072 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3073
3074         * tests/Makefile.am:
3075           enable the examples even more
3076
3077 2005-12-12  Andy Wingo  <wingo@pobox.com>
3078
3079         * libs/gst/net/gstnettimeprovider.c
3080         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3081         (gst_net_time_provider_set_property)
3082         (gst_net_time_provider_get_property):
3083         API addition: Export "active" as a GObject property.
3084         (gst_net_time_provider_thread): Only respond to time queries if
3085         the time provider is active.
3086
3087         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3088         NetTimeProvider, preserving binary compat.
3089
3090 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3091
3092         * tests/examples/controller/audio-example.c: (main):
3093         * tests/examples/launch/Makefile.am:
3094           convert comments again
3095
3096 2005-12-12  Wim Taymans  <wim@fluendo.com>
3097
3098         * libs/gst/base/gstpushsrc.c:
3099         Fix typo.
3100
3101 2005-12-12  Wim Taymans  <wim@fluendo.com>
3102
3103         * docs/libs/gstreamer-libs-sections.txt:
3104         Added new symbol to docs.
3105
3106         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3107         (gst_base_src_init), (gst_base_src_set_format),
3108         (gst_base_src_default_query), (gst_base_src_query),
3109         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3110         (gst_base_src_perform_seek), (gst_base_src_send_event),
3111         (gst_base_src_default_event), (gst_base_src_event_handler),
3112         (gst_base_src_set_property), (gst_base_src_get_property),
3113         (gst_base_src_wait), (gst_base_src_do_sync),
3114         (gst_base_src_update_length), (gst_base_src_get_range),
3115         (gst_base_src_check_get_range), (gst_base_src_loop),
3116         (gst_base_src_default_negotiate), (gst_base_src_start),
3117         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3118         (gst_base_src_change_state):
3119         * libs/gst/base/gstbasesrc.h:
3120         Implement seeking to other formats than _BYTES.
3121         Implement more seeking methods correctly.
3122         Doc updates.
3123         Added query vmethod.
3124         Added do_seek vmethod to make life easier for subclasses
3125         when seeking.
3126         API addition: gst_base_src_set_format()
3127
3128 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3129
3130         * tests/examples/Makefile.am:
3131           added that too
3132
3133 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3134
3135         * configure.ac:
3136         * docs/random/ensonic/media-device-daemon.txt:
3137         * tests/examples/controller/.cvsignore:
3138         * tests/examples/controller/Makefile.am:
3139         * tests/examples/controller/audio-example.c: (main):
3140         * tests/examples/helloworld/.cvsignore:
3141         * tests/examples/helloworld/Makefile.am:
3142         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3143         * tests/examples/launch/.cvsignore:
3144         * tests/examples/launch/Makefile.am:
3145         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3146         * tests/examples/metadata/.cvsignore:
3147         * tests/examples/metadata/Makefile.am:
3148         * tests/examples/metadata/read-metadata.c: (message_loop),
3149         (make_pipeline), (print_tag), (main):
3150         * tests/examples/queue/.cvsignore:
3151         * tests/examples/queue/Makefile.am:
3152         * tests/examples/queue/queue.c: (event_loop), (main):
3153         * tests/examples/typefind/.cvsignore:
3154         * tests/examples/typefind/Makefile.am:
3155         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3156         (main):
3157         * tests/examples/xml/.cvsignore:
3158         * tests/examples/xml/Makefile.am:
3159         * tests/examples/xml/createxml.c: (object_saved), (main):
3160         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3161         * tests/old/examples/Makefile.am:
3162         * tests/old/examples/TODO:
3163         * tests/old/examples/controller/.cvsignore:
3164         * tests/old/examples/controller/Makefile.am:
3165         * tests/old/examples/controller/audio-example.c:
3166         * tests/old/examples/helloworld/.cvsignore:
3167         * tests/old/examples/helloworld/Makefile.am:
3168         * tests/old/examples/helloworld/helloworld.c:
3169         * tests/old/examples/launch/.cvsignore:
3170         * tests/old/examples/launch/Makefile.am:
3171         * tests/old/examples/launch/mp3parselaunch.c:
3172         * tests/old/examples/launch/mp3play:
3173         * tests/old/examples/manual/Makefile.am:
3174         * tests/old/examples/metadata/Makefile.am:
3175         * tests/old/examples/metadata/read-metadata.c:
3176         * tests/old/examples/queue/.cvsignore:
3177         * tests/old/examples/queue/Makefile.am:
3178         * tests/old/examples/queue/queue.c:
3179         * tests/old/examples/typefind/.cvsignore:
3180         * tests/old/examples/typefind/Makefile.am:
3181         * tests/old/examples/typefind/typefind.c:
3182         * tests/old/examples/xml/.cvsignore:
3183         * tests/old/examples/xml/Makefile.am:
3184         * tests/old/examples/xml/createxml.c:
3185         * tests/old/examples/xml/runxml.c:
3186           applied some simple fixing to some examples
3187           re-enabled the working examples
3188
3189 2005-12-12  Wim Taymans  <wim@fluendo.com>
3190
3191         * gst/gstsegment.c: (gst_segment_init),
3192         (gst_segment_set_last_stop), (gst_segment_set_seek),
3193         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3194         (gst_segment_to_running_time):
3195         Added more documentation.
3196         Make sure the last_pos value is updated properly.
3197         Make sure to_stream_time and to_running_time don't
3198         operate on wrong values.
3199
3200         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3201         Update check.
3202
3203 2005-12-12  Michael Smith  <msmith@fluendo.com>
3204
3205         * plugins/elements/gsttypefindelement.c: (free_entry),
3206         (gst_type_find_element_chain):
3207           Now that we're not leaking factories, make sure we keep references
3208           to them while we need them.
3209
3210 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3211
3212         * tests/check/gst/struct_i386.h:
3213           ifdef out the XML structs
3214
3215 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3216
3217         * gst/gstvalue.c: (gst_value_transform_double_fraction):
3218           floor is not needed, F is always positive; this obviates the
3219           need for adding -lm when building without libxml
3220
3221 2005-12-12  Wim Taymans  <wim@fluendo.com>
3222
3223         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3224         Take current playback rate into account when reporting
3225         the position.
3226
3227 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3228
3229         * docs/manual/mime-world.fig:
3230           Let's try this again, this time with a file that is
3231           actually in XFig format.
3232
3233 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * docs/manual/mime-world.fig:
3236           Add audioconvert element to diagram so that it
3237           matches the text and the code (fixes #319526).
3238
3239 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3240
3241         * docs/pwg/building-chainfn.xml:
3242         * docs/pwg/building-pads.xml:
3243         * docs/pwg/building-state.xml:
3244         * docs/pwg/other-source.xml:
3245           Update state change stuff for 0.10 (fixes #322969).
3246
3247 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3248
3249         * docs/manual/advanced-dataaccess.xml:
3250         * docs/manual/appendix-checklist.xml:
3251         * docs/manual/appendix-programs.xml:
3252         * docs/manual/basics-pads.xml:
3253         * docs/manual/highlevel-components.xml:
3254         * docs/manual/manual.xml:
3255           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
3256           add converters in front of pipelines; remove curly
3257           brackets for threads stuff, they no longer exist; use
3258           GST_TYPE_FRACTION for framerates; update some pieces of
3259           code to 0.10, but there's plenty more to do.
3260
3261         * docs/manual/appendix-porting.xml:
3262           Expand on asynchroneous state changes; s/0.9/0.10/;
3263           mention disappearance of gst_init_get_popt_table()
3264           (fixes #322916).
3265
3266 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3267
3268         * docs/faq/using.xml:
3269           Spider no longer exists, and neither does gst-launch-ext.
3270           Update examples to use decodebin and playbin and put
3271           converters in front of sinks (fixes #323726).
3272
3273 2005-12-09  Michael Smith  <msmith@fluendo.com>
3274
3275         * plugins/elements/gsttypefindelement.c: (find_peek),
3276         (gst_type_find_element_chain):
3277           Fix leaking element factories in typefinding.
3278           Fix problem where we forgot about a probable type on non-seekable
3279           files, and thus later mis-typefound it.
3280
3281 2005-12-09  Michael Smith  <msmith@fluendo.com>
3282
3283         * common/m4/gst-makecontext.m4:
3284         * common/m4/gst-mcsc.m4:
3285         * configure.ac:
3286         * win32/common/config.h:
3287         * win32/common/config.h.in:
3288           Remove makecontext stuff; not used in 0.10 and causes problems on
3289           HPUX according to bug #322441
3290
3291 2005-12-07  Wim Taymans  <wim@fluendo.com>
3292
3293         * tests/check/Makefile.am:
3294         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
3295         (main):
3296         * tests/check/libs/struct_i386.h:
3297         Added ABI check for libs
3298
3299 2005-12-07  Wim Taymans  <wim@fluendo.com>
3300
3301         * tests/check/Makefile.am:
3302         And add the struct_i386.h to dist.
3303
3304 2005-12-07  Wim Taymans  <wim@fluendo.com>
3305
3306         * tests/check/Makefile.am:
3307         * tests/check/gst/.cvsignore:
3308         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
3309         (main):
3310         * tests/check/gst/struct_i386.h:
3311         Added check for ABI compatibility.
3312
3313 2005-12-07  Wim Taymans  <wim@fluendo.com>
3314
3315         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3316         (gst_fake_src_get_times), (gst_fake_src_create):
3317         Fix broken sync option, fixes #323259
3318
3319 2005-12-07  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/gstbuffer.c:
3322         Small docs update.
3323
3324         * gst/gstcaps.c: (gst_caps_is_equal):
3325         Don't assert on NULL <--> X. Fixes #323260
3326
3327         * gst/gstminiobject.c: (gst_mini_object_replace):
3328         If we're doing atomic operations, we might just as well use
3329         the proper way to get an atomic pointer.
3330
3331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3332         Clean up debugging.
3333
3334 2005-12-07  Michael Smith  <msmith@fluendo.com>
3335
3336         * gst/parse/grammar.y:
3337           Remove handling of { } for threads.
3338
3339 2005-12-06  David Schleef  <ds@schleef.org>
3340
3341         * libs/gst/base/gstbasetransform.c: speling fix.
3342
3343 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3344
3345         * docs/libs/tmpl/gstdataprotocol.sgml:
3346         * docs/random/omega/testing/gstobject.c:
3347         * gst/gst.c:
3348         * gst/gstclock.c:
3349         * gst/gstelement.c:
3350         * gst/gstelementfactory.c:
3351         * gst/gsterror.c:
3352         * gst/gstevent.c:
3353         * gst/gstghostpad.c:
3354         * gst/gstinfo.c:
3355         * gst/gstpadtemplate.c:
3356         * gst/gstregistryxml.c:
3357         * gst/gsttaglist.c:
3358         * gst/gsttagsetter.c:
3359         * gst/gsttypefind.c:
3360         * gst/gstvalue.c:
3361         * libs/gst/base/gstbasesrc.c:
3362         * libs/gst/net/gstnetclientclock.c:
3363         * libs/gst/net/gstnettimeprovider.c:
3364         * plugins/elements/gstfakesrc.c:
3365         * plugins/elements/gstfdsrc.c:
3366         * plugins/elements/gstfilesrc.c:
3367         * plugins/elements/gstidentity.c:
3368         * plugins/elements/gstqueue.c:
3369         * plugins/elements/gsttypefindelement.c:
3370         * plugins/indexers/gstfileindex.c:
3371         * plugins/indexers/gstmemindex.c:
3372         * tests/check/gst/gsttag.c:
3373         * tests/old/examples/cutter/cutter.c:
3374         * tests/old/examples/mixer/mixer.c:
3375         * tests/old/examples/xml/runxml.c: (main):
3376         * tests/old/testsuite/caps/normalisation.c:
3377         * tests/old/testsuite/debug/global.c:
3378         * tests/old/testsuite/parse/parse1.c:
3379         * tools/gst-xmlinspect.c:
3380         * win32/common/dirent.c:
3381           expand tabs
3382
3383 === release 0.10.0 ===
3384
3385 2005-12-05   <thomas (at) apestaart (dot) org>
3386
3387         * configure.ac:
3388           releasing 0.10.0, "Maroilles"
3389
3390 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3391
3392         submitted by: Funda Wang <fundawang@linux.net.cn>
3393
3394         * po/LINGUAS:
3395         * po/zh_CN.po:
3396           added Chinese (Traditional) translation
3397
3398 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3399
3400         * docs/gst/gstreamer-sections.txt:
3401         * docs/libs/tmpl/gstdataprotocol.sgml:
3402         * docs/random/thomasvs/TODO:
3403         * gst/gstutils.c:
3404         * gst/gstutils.h:
3405           fix docs
3406
3407 2005-12-05  Andy Wingo  <wingo@pobox.com>
3408
3409         patch by: Wim Taymans <wim@fluendo.com>
3410
3411         * libs/gst/base/gstbasetransform.c
3412         (gst_base_transform_prepare_output_buf)
3413         (gst_base_transform_buffer_alloc):
3414         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3415         alloc_buffer_and_set_caps.
3416
3417         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3418         set_caps on the source pad.
3419         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3420         alloc_buffer used to do. Fixes #322874.
3421
3422         * docs/gst/gstreamer-sections.txt: 
3423         * docs/design/part-negotiation.txt: 
3424         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3425         changes.
3426
3427 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3428
3429         patch by: Sebastien Moutte
3430
3431         * win32/MANIFEST:
3432         * win32/common/config.h.in:
3433         * win32/vs6/libgstcontroller.dsp:
3434           win32 build fixes
3435
3436 2005-12-05  Wim Taymans  <wim@fluendo.com>
3437
3438         * gst/gstcaps.c: (gst_caps_is_equal):
3439         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3440         (gst_fake_src_create):
3441         Back out previous code changes, leave doc updates, file bugs 
3442         instead. 
3443
3444 2005-12-05  Wim Taymans  <wim@fluendo.com>
3445
3446         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3447         (gst_fake_src_get_times), (gst_fake_src_create):
3448         * plugins/elements/gstfakesrc.h:
3449         Fix broken sync code.
3450
3451 2005-12-05  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstcaps.c: (gst_caps_is_equal):
3454         Comparing NULL against !NULL yields different caps, not a
3455         failure.
3456
3457 2005-12-05  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/gstpipeline.c:
3460         Fix small typo in docs.
3461
3462 2005-12-05  Andy Wingo  <wingo@pobox.com>
3463
3464         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3465
3466         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3467         registries/plugins with a MAJORMINOR one.
3468         (plugin_desc): Rename library from gstcoreleements to
3469         staticelements. Fixes #323222.
3470
3471 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3472
3473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3474           Change debug category to 'collectpads' from 'collect_pads'
3475           (fixes #323250).
3476
3477 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3478
3479         patch by: Sebastien Moutte
3480
3481         * libs/gst/controller/gstinterpolation.c:
3482           use convert function for uint64/double
3483         * win32/vs6/libgstcontroller.dsp:
3484           link to GLib
3485
3486 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3489         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3490         * gst/gstutils.h:
3491         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3492           add tests that seem to show that the guint64/gdouble conversions
3493           are correct.
3494
3495 2005-12-02  Wim Taymans  <wim@fluendo.com>
3496
3497         * gst/gstregistry.c: (gst_registry_add_path):
3498         * gst/gstregistry.h:
3499         * gst/gstregistryxml.c:
3500         Fix docs again.
3501
3502 2005-12-02  Wim Taymans  <wim@fluendo.com>
3503
3504         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3505         (gst_util_uint64_scale_int):
3506         Small cleanup.
3507
3508         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3509         Add debug log line.
3510
3511         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3512         Add FIXME.
3513
3514 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3515
3516         * win32/MANIFEST:
3517         * win32/common/config.h:
3518         * win32/vs6/gstreamer.dsw:
3519         * win32/vs6/libgstcoreelements.dsp:
3520         * win32/vs6/libgstelements.dsp:
3521           renamed core elements plugin
3522
3523 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3526         (get_candidates):
3527           do piece-wise major/minor comparison so 0.9 < 0.10
3528           also allow .exe extensions for tools
3529
3530 2005-12-02  Michael Smith  <msmith@fluendo.com>
3531
3532         * gst/gst.c:
3533           Escape a % to make gtkdoc happier; bug 322958.
3534
3535 === release 0.9.7 ===
3536
3537 2005-12-01   <thomas (at) apestaart (dot) org>
3538
3539         * configure.ac:
3540           releasing 0.9.7, "My Dog Has No Nose"
3541
3542 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3543
3544         * common/gst-xmlinspect.py:
3545         * configure.ac:
3546         * docs/libs/tmpl/gstdataprotocol.sgml:
3547         * docs/random/release:
3548         * po/af.po:
3549         * po/az.po:
3550         * po/bg.po:
3551         * po/ca.po:
3552         * po/cs.po:
3553         * po/de.po:
3554         * po/en_GB.po:
3555         * po/fr.po:
3556         * po/it.po:
3557         * po/nb.po:
3558         * po/nl.po:
3559         * po/ru.po:
3560         * po/sq.po:
3561         * po/sr.po:
3562         * po/sv.po:
3563         * po/tr.po:
3564         * po/uk.po:
3565         * po/vi.po:
3566         * win32/common/config.h:
3567         * win32/common/config.h.in:
3568         * win32/vs6/gst_inspect.dsp:
3569         * win32/vs6/gst_launch.dsp:
3570         * win32/vs6/libgstbase.dsp:
3571         * win32/vs6/libgstelements.dsp:
3572         * win32/vs6/libgstreamer.dsp:
3573         * win32/vs7/GStreamer.vcproj:
3574         * win32/vs7/gst-inspect.vcproj:
3575         * win32/vs7/gst-launch.vcproj:
3576         * win32/vs7/libgstbase.vcproj:
3577           bump GST_MAJORMINOR to 0.10
3578           reset libtool version
3579
3580 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3581
3582         * po/LINGUAS:
3583         * po/bg.po:
3584           Added Bulgarian translation by (Alexander Shopov)
3585
3586 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3587
3588         * tests/check/gst/gstplugin.c:
3589           fix test
3590
3591 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3592
3593         * common/gst-xmlinspect.py:
3594         * common/gtk-doc-plugins.mak:
3595         * configure.ac:
3596         * docs/Makefile.am:
3597         * docs/gst/Makefile.am:
3598         * docs/gst/gstreamer-docs.sgml:
3599         * docs/gst/gstreamer-sections.txt:
3600         * docs/gst/gstreamer.types:
3601         * docs/gst/gstreamer.types.in:
3602         * docs/plugins/Makefile.am:
3603         * docs/plugins/gstreamer-plugins-docs.sgml:
3604         * docs/plugins/gstreamer-plugins-sections.txt:
3605         * docs/plugins/gstreamer-plugins.types:
3606         * docs/plugins/inspect.stamp:
3607         * docs/plugins/inspect/plugin-coreelements.xml:
3608         * docs/plugins/inspect/plugin-coreindexers.xml:
3609         * docs/plugins/scanobj-build.stamp:
3610         * gstreamer.spec.in:
3611         * plugins/elements/Makefile.am:
3612         * plugins/elements/gstelements.c:
3613         * plugins/elements/gstfakesink.c:
3614         * plugins/elements/gstfakesrc.c:
3615         * plugins/elements/gstfilesink.c:
3616         * plugins/elements/gstfilesrc.c:
3617         * plugins/elements/gstqueue.c:
3618         * plugins/indexers/Makefile.am:
3619         * plugins/indexers/gstindexers.c:
3620           document core plugins in a separate document just like all the
3621           others
3622           rename these plugins to something starting with core
3623
3624 2005-12-01  Andy Wingo  <wingo@pobox.com>
3625
3626         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3627         padding here before, but it missed the commit.
3628
3629 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3630
3631         * libs/gst/controller/gstinterpolation.c:
3632           whitespace prices have crashed, we should feel free to use some now
3633           use gst_guint64_to_gdouble
3634
3635 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3636
3637         * libs/gst/controller/gstcontroller.c:
3638         * libs/gst/controller/gsthelper.c:
3639         * libs/gst/controller/gstinterpolation.c:
3640         * libs/gst/controller/lib.c:
3641           wrap config.h include
3642
3643 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3644
3645         * docs/gst/gstreamer-sections.txt:
3646           update docs
3647
3648 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3649
3650         * plugins/elements/gstelements.c:
3651         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3652         (gst_fd_sink__class_init), (gst_fd_sink__init),
3653         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3654         (gst_fd_sink__get_property):
3655         * plugins/elements/gstfdsink.h:
3656         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3657         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3658         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3659         (gst_fd_src_unlock), (gst_fd_src_set_property),
3660         (gst_fd_src_get_property), (gst_fd_src_create),
3661         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3662         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3663         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3664         (gst_fd_src_uri_handler_init):
3665         * plugins/elements/gstfdsrc.h:
3666         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3667           more anal cleanup
3668
3669 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3670
3671         * docs/gst/Makefile.am:
3672         * docs/gst/gstreamer.types.in:
3673         * gst/Makefile.am:
3674           fix the docs build
3675
3676 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3677
3678         * configure.ac:
3679         * gst/Makefile.am:
3680         * gst/gst.c:
3681         * gst/gstplugin.h:
3682         * gst/gstregistry.h:
3683         * tests/benchmarks/complexity.c:
3684         * tests/benchmarks/mass-elements.c:
3685         * tests/check/Makefile.am:
3686         * tools/Makefile.am:
3687         * tools/gst-inspect.c:
3688         * tools/gst-xmlinspect.c:
3689           various fixes to make
3690           --disable-nls --disable-registry --disable-loadsave
3691           --disable-parse --disable-gst-debug
3692           work and get the core .so down to 360444 bytes after stripping
3693
3694 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3695
3696         * Makefile.am:
3697         * configure.ac:
3698           descend into tests
3699         * docs/random/thomasvs/TODO:
3700         * tests/Makefile.am:
3701         * tests/README:
3702           add a README
3703
3704 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * win32/GStreamer.vcproj:
3707         * win32/MANIFEST:
3708         * win32/Makefile:
3709         * win32/Makefile.inspect:
3710         * win32/Makefile.launch:
3711         * win32/Makefile.register:
3712         * win32/README.txt:
3713         * win32/gst-inspect.vcproj:
3714         * win32/gst-launch.vcproj:
3715         * win32/gst-register.vcproj:
3716         * win32/gstelements.vcproj:
3717         * win32/gstgetbits.def:
3718         * win32/gstgetbits.vcproj:
3719         * win32/gstreamer-dbg.def:
3720         * win32/gstreamer.def:
3721         * win32/libgstbase.def:
3722         * win32/libgstbase.vcproj:
3723         * win32/link_oldruntime.c:
3724         * win32/mman.c:
3725         * win32/mman.h:
3726         * win32/mman.inl:
3727         * win32/msvc71.sln:
3728           move even more stuff, win32/ is nice and clean now
3729
3730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3731
3732         * libs/gst/control/.cvsignore:
3733         * win32/MANIFEST:
3734         * win32/config.h:
3735         * win32/dirent.c:
3736         * win32/dirent.h:
3737         * win32/gstbytestream.def:
3738         * win32/gstbytestream.vcproj:
3739         * win32/gstconfig.h:
3740         * win32/gstenumtypes.c:
3741         * win32/gstenumtypes.h:
3742         * win32/gstoptimalscheduler.vcproj:
3743         * win32/gstversion.h:
3744         * win32/gtchar.h:
3745         * win32/testsuite/bins.vcproj:
3746         * win32/testsuite/bytestream.vcproj:
3747         * win32/testsuite/caps.vcproj:
3748         * win32/testsuite/cleanup.vcproj:
3749         * win32/testsuite/clock.vcproj:
3750         * win32/testsuite/debug.vcproj:
3751         * win32/testsuite/dlopen.vcproj:
3752         * win32/testsuite/dynparams.vcproj:
3753         * win32/testsuite/elements.vcproj:
3754         * win32/testsuite/ghostpads.vcproj:
3755         * win32/testsuite/indexers.vcproj:
3756         * win32/testsuite/negotiation.vcproj:
3757         * win32/testsuite/parse.vcproj:
3758         * win32/testsuite/plugin.vcproj:
3759         * win32/testsuite/refcounting.vcproj:
3760         * win32/testsuite/schedulers.vcproj:
3761         * win32/testsuite/states.vcproj:
3762         * win32/testsuite/tags.vcproj:
3763         * win32/testsuite/threads.vcproj:
3764           remove old win32 stuff that isn't maintained and should be
3765           reorganized
3766
3767 2005-11-30  Andy Wingo  <wingo@pobox.com>
3768
3769         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3770         loading the gst.interfaces python module bork.
3771
3772         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3773         available since GLib 2.2. Fixes #318031.
3774
3775 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3776
3777         * Makefile.am:
3778         * check/.cvsignore:
3779         * check/Makefile.am:
3780         * check/elements/.cvsignore:
3781         * check/elements/fakesrc.c:
3782         * check/elements/fdsrc.c:
3783         * check/elements/identity.c:
3784         * check/generic/.cvsignore:
3785         * check/generic/states.c:
3786         * check/gst-libs/.cvsignore:
3787         * check/gst-libs/controller.c:
3788         * check/gst-libs/gdp.c:
3789         * check/gst/.cvsignore:
3790         * check/gst/capslist.h:
3791         * check/gst/gst.c:
3792         * check/gst/gstbin.c:
3793         * check/gst/gstbuffer.c:
3794         * check/gst/gstbus.c:
3795         * check/gst/gstcaps.c:
3796         * check/gst/gstelement.c:
3797         * check/gst/gstevent.c:
3798         * check/gst/gstghostpad.c:
3799         * check/gst/gstiterator.c:
3800         * check/gst/gstmessage.c:
3801         * check/gst/gstminiobject.c:
3802         * check/gst/gstobject.c:
3803         * check/gst/gstpad.c:
3804         * check/gst/gstpipeline.c:
3805         * check/gst/gstplugin.c:
3806         * check/gst/gstsegment.c:
3807         * check/gst/gststructure.c:
3808         * check/gst/gstsystemclock.c:
3809         * check/gst/gsttag.c:
3810         * check/gst/gstutils.c:
3811         * check/gst/gstvalue.c:
3812         * check/net/.cvsignore:
3813         * check/net/gstnetclientclock.c:
3814         * check/net/gstnettimeprovider.c:
3815         * check/pipelines/.cvsignore:
3816         * check/pipelines/cleanup.c:
3817         * check/pipelines/simple_launch_lines.c:
3818         * check/pipelines/stress.c:
3819         * check/states/.cvsignore:
3820         * check/states/sinks.c:
3821         * configure.ac:
3822         * examples/Makefile.am:
3823         * examples/appreader/.cvsignore:
3824         * examples/appreader/Makefile.am:
3825         * examples/appreader/appreader.c:
3826         * examples/controller/.cvsignore:
3827         * examples/controller/Makefile.am:
3828         * examples/controller/audio-example.c:
3829         * examples/cutter/.cvsignore:
3830         * examples/cutter/Makefile.am:
3831         * examples/cutter/cutter.c:
3832         * examples/cutter/cutter.h:
3833         * examples/events/Makefile.am:
3834         * examples/events/seek.c:
3835         * examples/helloworld/.cvsignore:
3836         * examples/helloworld/Makefile.am:
3837         * examples/helloworld/helloworld.c:
3838         * examples/helloworld2/.cvsignore:
3839         * examples/helloworld2/Makefile.am:
3840         * examples/helloworld2/helloworld2.c:
3841         * examples/launch/.cvsignore:
3842         * examples/launch/Makefile.am:
3843         * examples/launch/mp3parselaunch.c:
3844         * examples/launch/mp3play:
3845         * examples/manual/.cvsignore:
3846         * examples/manual/Makefile.am:
3847         * examples/manual/extract.pl:
3848         * examples/metadata/Makefile.am:
3849         * examples/metadata/read-metadata.c:
3850         * examples/mixer/.cvsignore:
3851         * examples/mixer/Makefile.am:
3852         * examples/mixer/mixer.c:
3853         * examples/mixer/mixer.h:
3854         * examples/pingpong/.cvsignore:
3855         * examples/pingpong/Makefile.am:
3856         * examples/pingpong/pingpong.c:
3857         * examples/plugins/.cvsignore:
3858         * examples/plugins/Makefile.am:
3859         * examples/plugins/example.c:
3860         * examples/plugins/example.h:
3861         * examples/pwg/.cvsignore:
3862         * examples/pwg/Makefile.am:
3863         * examples/pwg/extract.pl:
3864         * examples/queue/.cvsignore:
3865         * examples/queue/Makefile.am:
3866         * examples/queue/queue.c:
3867         * examples/queue2/.cvsignore:
3868         * examples/queue2/Makefile.am:
3869         * examples/queue2/queue2.c:
3870         * examples/queue3/.cvsignore:
3871         * examples/queue3/Makefile.am:
3872         * examples/queue3/queue3.c:
3873         * examples/queue4/.cvsignore:
3874         * examples/queue4/Makefile.am:
3875         * examples/queue4/queue4.c:
3876         * examples/retag/.cvsignore:
3877         * examples/retag/Makefile.am:
3878         * examples/retag/retag.c:
3879         * examples/retag/transcode.c:
3880         * examples/thread/.cvsignore:
3881         * examples/thread/Makefile.am:
3882         * examples/thread/thread.c:
3883         * examples/typefind/.cvsignore:
3884         * examples/typefind/Makefile.am:
3885         * examples/typefind/typefind.c:
3886         * examples/xml/.cvsignore:
3887         * examples/xml/Makefile.am:
3888         * examples/xml/createxml.c:
3889         * examples/xml/runxml.c:
3890         * tests/Makefile.am:
3891         * tests/check/Makefile.am:
3892         * testsuite/.cvsignore:
3893         * testsuite/Makefile.am:
3894         * testsuite/Rules:
3895         * testsuite/caps/.cvsignore:
3896         * testsuite/caps/Makefile.am:
3897         * testsuite/caps/app_fixate.c:
3898         * testsuite/caps/audioscale.c:
3899         * testsuite/caps/caps.c:
3900         * testsuite/caps/caps.h:
3901         * testsuite/caps/caps_strings:
3902         * testsuite/caps/compatibility.c:
3903         * testsuite/caps/deserialize.c:
3904         * testsuite/caps/enumcaps.c:
3905         * testsuite/caps/eratosthenes.c:
3906         * testsuite/caps/filtercaps.c:
3907         * testsuite/caps/fixed.c:
3908         * testsuite/caps/fraction-convert.c:
3909         * testsuite/caps/fraction-multiply-and-zero.c:
3910         * testsuite/caps/intersect2.c:
3911         * testsuite/caps/intersection.c:
3912         * testsuite/caps/normalisation.c:
3913         * testsuite/caps/random.c:
3914         * testsuite/caps/renegotiate.c:
3915         * testsuite/caps/sets.c:
3916         * testsuite/caps/simplify.c:
3917         * testsuite/caps/string-conversions.c:
3918         * testsuite/caps/structure.c:
3919         * testsuite/caps/subtract.c:
3920         * testsuite/caps/union.c:
3921         * testsuite/debug/.cvsignore:
3922         * testsuite/debug/Makefile.am:
3923         * testsuite/debug/category.c:
3924         * testsuite/debug/commandline.c:
3925         * testsuite/debug/global.c:
3926         * testsuite/debug/output.c:
3927         * testsuite/debug/printf_extension.c:
3928         * testsuite/dlopen/.cvsignore:
3929         * testsuite/dlopen/Makefile.am:
3930         * testsuite/dlopen/dlopen_gst.c:
3931         * testsuite/dlopen/loadgst.c:
3932         * testsuite/elements/.cvsignore:
3933         * testsuite/elements/Makefile.am:
3934         * testsuite/elements/gst-inspect-check.in:
3935         * testsuite/elements/struct_i386.h:
3936         * testsuite/elements/struct_size.c:
3937         * testsuite/indexers/.cvsignore:
3938         * testsuite/indexers/Makefile.am:
3939         * testsuite/indexers/cache1.c:
3940         * testsuite/indexers/indexdump.c:
3941         * testsuite/parse/.cvsignore:
3942         * testsuite/parse/Makefile.am:
3943         * testsuite/parse/parse1.c:
3944         * testsuite/parse/parse2.c:
3945         * testsuite/plugin/.cvsignore:
3946         * testsuite/plugin/Makefile.am:
3947         * testsuite/plugin/README:
3948         * testsuite/plugin/dynamic.c:
3949         * testsuite/plugin/linked.c:
3950         * testsuite/plugin/loading.c:
3951         * testsuite/plugin/registry.c:
3952         * testsuite/plugin/static.c:
3953         * testsuite/plugin/static2.c:
3954         * testsuite/plugin/testplugin.c:
3955         * testsuite/plugin/testplugin2.c:
3956         * testsuite/plugin/testplugin2_s.c:
3957         * testsuite/plugin/testplugin_s.c:
3958         * testsuite/refcounting/.cvsignore:
3959         * testsuite/refcounting/Makefile.am:
3960         * testsuite/refcounting/bin.c:
3961         * testsuite/refcounting/element.c:
3962         * testsuite/refcounting/element_pad.c:
3963         * testsuite/refcounting/mainloop.c:
3964         * testsuite/refcounting/mem.c:
3965         * testsuite/refcounting/mem.h:
3966         * testsuite/refcounting/object.c:
3967         * testsuite/refcounting/pad.c:
3968         * testsuite/refcounting/sched.c:
3969         * testsuite/refcounting/thread.c:
3970         * testsuite/states/.cvsignore:
3971         * testsuite/states/Makefile.am:
3972         * testsuite/states/bin.c:
3973         * testsuite/states/locked.c:
3974         * testsuite/states/parent.c:
3975         * testsuite/threads/.cvsignore:
3976         * testsuite/threads/159566.c:
3977         * testsuite/threads/159852.c:
3978         * testsuite/threads/Makefile.am:
3979         * testsuite/threads/queue.c:
3980         * testsuite/threads/signals.c:
3981         * testsuite/threads/staticrec.c:
3982         * testsuite/threads/thread.c:
3983         * testsuite/threads/threadb.c:
3984         * testsuite/threads/threadc.c:
3985         * testsuite/threads/threadd.c:
3986         * testsuite/threads/threade.c:
3987         * testsuite/threads/threadf.c:
3988         * testsuite/threads/threadg.c:
3989         * testsuite/threads/threadh.c:
3990         * testsuite/threads/threadi.c:
3991           move all of these under tests
3992
3993 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3994
3995         * configure.ac:
3996         * tests/Makefile.am:
3997           fix distcheck
3998
3999 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4000
4001         * docs/gst/gstreamer-sections.txt:
4002         * tests/sched/.cvsignore:
4003         * tests/sched/Makefile.am:
4004         * tests/sched/cases/(fs-fs).xml:
4005         * tests/sched/cases/(fs-i-fs).xml:
4006         * tests/sched/cases/(fs-i-i-fs).xml:
4007         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4008         * tests/sched/dynamic-pipeline.c:
4009         * tests/sched/interrupt1.c:
4010         * tests/sched/interrupt2.c:
4011         * tests/sched/interrupt3.c:
4012         * tests/sched/runtestcases:
4013         * tests/sched/runxml.c:
4014         * tests/sched/sched-stress.c:
4015         * tests/sched/sort.c:
4016         * tests/sched/testcases:
4017         * tests/sched/testcases1.tc:
4018         * tests/seeking/.cvsignore:
4019         * tests/seeking/Makefile.am:
4020         * tests/seeking/seeking1.c:
4021         * tests/threadstate/.cvsignore:
4022         * tests/threadstate/Makefile.am:
4023         * tests/threadstate/test1.c:
4024         * tests/threadstate/test2.c:
4025         * tests/threadstate/threadstate1.c:
4026         * tests/threadstate/threadstate2.c:
4027         * tests/threadstate/threadstate3.c:
4028         * tests/threadstate/threadstate4.c:
4029         * tests/threadstate/threadstate5.c:
4030           remove obsolete tests
4031         * configure.ac:
4032         * tests/bench-complexity.scm:
4033         * tests/bench-mass_elements.scm:
4034         * tests/complexity.c:
4035         * tests/complexity.gnuplot:
4036         * tests/instantiate/.cvsignore:
4037         * tests/instantiate/Makefile.am:
4038         * tests/instantiate/caps.c:
4039         * tests/mass_elements.c:
4040         * tests/network-clock-utils.scm:
4041         * tests/network-clock.scm:
4042         * tests/plot-data:
4043         First pass at cleaning up tests/ dir before moving the rest
4044         Combined with CVS surgery
4045
4046 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4047
4048         * po/POTFILES.in:
4049           queue has moved, update
4050
4051 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4052
4053         * docs/gst/gstreamer-sections.txt:
4054           remove double entries from the docs
4055         * gst/gst_private.h:
4056         * gst/gstinfo.c: (_gst_debug_init):
4057           remove the THREAD debug category
4058         * gst/Makefile.am:
4059         * gst/gstqueue.c:
4060         * gst/gstqueue.h:
4061         * docs/gst/gstreamer.types:
4062         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4063         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4064           completely move queue and fix up debugging categories
4065
4066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4069           make initialization portable, using LL is not
4070
4071 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4072
4073         * win32/common/gstconfig.h:
4074           add large padding
4075
4076 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4077
4078         * win32/common/libgstreamer.def:
4079           rename symbols; sort base section
4080
4081 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * gst/gstclock.c: (do_linear_regression):
4084           remove crack non-portable handrolled DEBUG macro
4085
4086 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * docs/random/release:
4089           update notes
4090         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4091         (gst_object_flags_get_type), (register_gst_bin_flags),
4092         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4093         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4094         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4095         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4096         (gst_caps_flags_get_type), (register_gst_clock_return),
4097         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4098         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4099         (gst_clock_flags_get_type), (register_gst_state),
4100         (gst_state_get_type), (register_gst_state_change_return),
4101         (gst_state_change_return_get_type), (register_gst_state_change),
4102         (gst_state_change_get_type), (register_gst_element_flags),
4103         (gst_element_flags_get_type), (register_gst_core_error),
4104         (gst_core_error_get_type), (register_gst_library_error),
4105         (gst_library_error_get_type), (register_gst_resource_error),
4106         (gst_resource_error_get_type), (register_gst_stream_error),
4107         (gst_stream_error_get_type), (register_gst_event_type_flags),
4108         (gst_event_type_flags_get_type), (register_gst_event_type),
4109         (gst_event_type_get_type), (register_gst_seek_type),
4110         (gst_seek_type_get_type), (register_gst_seek_flags),
4111         (gst_seek_flags_get_type), (register_gst_format),
4112         (gst_format_get_type), (register_gst_index_certainty),
4113         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4114         (gst_index_entry_type_get_type),
4115         (register_gst_index_lookup_method),
4116         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4117         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4118         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4119         (gst_index_flags_get_type), (register_gst_debug_level),
4120         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4121         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4122         (gst_iterator_result_get_type), (register_gst_iterator_item),
4123         (gst_iterator_item_get_type), (register_gst_message_type),
4124         (gst_message_type_get_type), (register_gst_mini_object_flags),
4125         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4126         (gst_pad_link_return_get_type), (register_gst_flow_return),
4127         (gst_flow_return_get_type), (register_gst_activate_mode),
4128         (gst_activate_mode_get_type), (register_gst_pad_direction),
4129         (gst_pad_direction_get_type), (register_gst_pad_flags),
4130         (gst_pad_flags_get_type), (register_gst_pad_presence),
4131         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4132         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4133         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4134         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4135         (gst_plugin_flags_get_type), (register_gst_rank),
4136         (gst_rank_get_type), (register_gst_query_type),
4137         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4138         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4139         (gst_tag_flag_get_type), (register_gst_task_state),
4140         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4141         (gst_alloc_trace_flags_get_type),
4142         (register_gst_type_find_probability),
4143         (gst_type_find_probability_get_type), (register_gst_uri_type),
4144         (gst_uri_type_get_type), (register_gst_parse_error),
4145         (gst_parse_error_get_type):
4146         * win32/common/gstenumtypes.h:
4147         * win32/common/gstversion.h:
4148           update visual studio generated files
4149
4150 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4151
4152         * win32/vs6/libgstbase.dsp:
4153         * win32/vs6/libgstelements.dsp:
4154           update project files for new locations
4155
4156 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4157
4158         * Makefile.am:
4159           remove some files
4160         * README:
4161           reinstate and update
4162         * DEVEL:
4163         * REQUIREMENTS:
4164           removed
4165         * LICENSE:
4166         * docs/random/LICENSE:
4167           moved to random
4168
4169 2005-11-30  Edward Hervey  <edward@fluendo.com>
4170
4171         * gst/gsttypefind.c: (gst_type_find_register):
4172         * gst/gsttypefind.h:
4173         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4174         (gst_type_find_factory_dispose):
4175         * gst/gsttypefindfactory.h:
4176         Fix memory leak in GstTypeFindFactory.
4177
4178 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4179
4180         * gst/gst.c:
4181         * plugins/elements/Makefile.am:
4182         * plugins/elements/gstelements.c:
4183         * plugins/elements/gstqueue.c:
4184           move queue from core to the elements plugin
4185
4186 2005-11-29  Andy Wingo  <wingo@pobox.com>
4187
4188         * libs/gst/base/gstbasetransform.h: 
4189         * libs/gst/base/gstbasesrc.h: 
4190         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4191
4192         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4193         of pointers by which to pad very extensible base classes (like the
4194         ones in libs/gst/base).
4195
4196 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4197
4198         * docs/gst/gstreamer-docs.sgml:
4199         * docs/gst/gstreamer-sections.txt:
4200         * docs/libs/gstreamer-libs-docs.sgml:
4201         * docs/libs/gstreamer-libs-sections.txt:
4202           moving documentation from core to lib
4203
4204 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4205
4206         * check/Makefile.am:
4207         * configure.ac:
4208         * docs/gst/Makefile.am:
4209         * gst/Makefile.am:
4210         * gst/base/.cvsignore:
4211         * gst/base/Makefile.am:
4212         * gst/base/README:
4213         * gst/base/gstadapter.c:
4214         * gst/base/gstadapter.h:
4215         * gst/base/gstbasesink.c:
4216         * gst/base/gstbasesink.h:
4217         * gst/base/gstbasesrc.c:
4218         * gst/base/gstbasesrc.h:
4219         * gst/base/gstbasetransform.c:
4220         * gst/base/gstbasetransform.h:
4221         * gst/base/gstcollectpads.c:
4222         * gst/base/gstcollectpads.h:
4223         * gst/base/gstpushsrc.c:
4224         * gst/base/gstpushsrc.h:
4225         * gst/base/gsttypefindhelper.c:
4226         * gst/base/gsttypefindhelper.h:
4227         * gst/check/Makefile.am:
4228         * gst/check/gstcheck.c:
4229         * gst/check/gstcheck.h:
4230         * gst/net/Makefile.am:
4231         * gst/net/gstnet.h:
4232         * gst/net/gstnetclientclock.c:
4233         * gst/net/gstnetclientclock.h:
4234         * gst/net/gstnettimepacket.c:
4235         * gst/net/gstnettimepacket.h:
4236         * gst/net/gstnettimeprovider.c:
4237         * gst/net/gstnettimeprovider.h:
4238         * libs/gst/Makefile.am:
4239         * libs/gst/base/Makefile.am:
4240         * libs/gst/base/gstbasetransform.c:
4241         * libs/gst/check/Makefile.am:
4242         * plugins/elements/Makefile.am:
4243         * po/POTFILES.in:
4244           CVS surgery + support to move base, check, and net out of gst
4245           and into libs/gst
4246
4247 2005-11-29  Andy Wingo  <wingo@pobox.com>
4248
4249         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
4250
4251         * gst/gststructure.h (struct _GstStructure): Only one pointer of
4252         padding.
4253
4254         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
4255
4256         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
4257
4258         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
4259
4260         * gst/gstobject.h: (struct _GstObject): Only one pointer of
4261         padding; reduces object size by about 30%. We don't expect
4262         anything else to go into gstobject.
4263
4264         * gst/gstminiobject.h (struct _GstMiniObject)
4265         (struct _GstMiniObjectClass): Only one pointer of padding; the
4266         payload is only a pointer and two ints anyway. For the class there
4267         are only two methods as well.
4268         
4269         * gst/gstelement.h (struct _GstElementClass): Removed
4270         the state_changed signal callback, it is not used.
4271
4272 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * docs/gst/gstreamer.types:
4275           fix includes, though they are a little dinky
4276
4277 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4278
4279         * check/Makefile.am:
4280           look in the right place for elements, a lot more chance of
4281           success
4282         * gst/Makefile.am:
4283           remove indexers and elements subdirs
4284         * plugins/Makefile.am:
4285           make indexers conditional
4286
4287 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4288
4289         * Makefile.am:
4290         * configure.ac:
4291         * plugins/elements/Makefile.am:
4292         * plugins/elements/gstcapsfilter.c:
4293         * plugins/elements/gstfilesink.c:
4294         * plugins/elements/gstfilesrc.c:
4295         * plugins/elements/gstidentity.c:
4296         * plugins/indexers/Makefile.am:
4297           do CVS surgery and related build fixery to move elements
4298           and indexers in a new gstreamer/plugins directory, out of the
4299           gst/ directory
4300
4301 2005-11-29  Andy Wingo  <wingo@pobox.com>
4302
4303         * check/Makefile.am:
4304         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4305         * pkgconfig/gstreamer-net.pc.in:
4306         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
4307         #322257.
4308
4309 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4310
4311         * tools/Makefile.am:
4312         * tools/gst-complete.1.in:
4313         * tools/gst-complete.c:
4314         * tools/gst-compprep.1.in:
4315         * tools/gst-compprep.c:
4316           removing -compprep and -complete
4317
4318 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4319
4320         * gst/gstevent.c: (gst_event_new_new_segment),
4321         (gst_event_parse_new_segment):
4322         * gst/gstevent.h:
4323           fix #320529 - clean up new_segment API and structure.
4324           Let's hope everyone was using the methods, and not the structure.
4325
4326 2005-11-29  Edward Hervey  <edward@fluendo.com>
4327
4328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4329         (gst_base_sink_event), (gst_base_sink_do_sync),
4330         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4331         Properly handle non GST_FORMAT_TIME segment
4332         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4333         Properly handle non GST_FORMAT_TIME segment
4334         * gst/gstsegment.c:
4335         This function is valid if the accumulator is 0 and the format
4336         is different from the requested format.
4337         
4338 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4339
4340         * docs/gst/gstreamer-sections.txt:
4341         Add gst_query_new_seeking and gst_query_parse_seeking to the
4342         docs.
4343
4344 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4345
4346         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4347           Treat a pad alloc with new caps the same as if we were not
4348           negotiated, in order to allow a changing upstream output
4349           to produce a new format of data.
4350
4351 2005-11-29  Edward Hervey  <edward@fluendo.com>
4352
4353         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4354         (gst_base_transform_event), (gst_base_transform_eventfunc):
4355         The event virtual method is now properly implemented, with a default
4356         handler
4357         Sub classes should call the parent_class event method. They should
4358         return FALSE if they had a problem handling the given event, or don't
4359         want GstBaseTransform to send that even downstream
4360         * gst/elements/gstidentity.c: (gst_identity_class_init),
4361         (gst_identity_init), (gst_identity_event),
4362         (gst_identity_transform_ip), (gst_identity_set_property),
4363         (gst_identity_get_property):
4364         * gst/elements/gstidentity.h:
4365         Added the single-segment boolean property.
4366         If set to TRUE, it will output a single segment of data, starting from
4367         0, will eat up all incoming newsegment, and modify the timestamp of the
4368         buffers accordingly
4369
4370 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4373           Don't ref NULL target pad (#322751). Improve docs.
4374
4375 2005-11-29  Michael Smith  <msmith@fluendo.com>
4376
4377         * gst/gstregistryxml.c: (load_plugin):
4378           Don't crash if we failed to load a feature from a plugin. 
4379
4380 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4381
4382         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4383         (GST_START_TEST):
4384           use more check API and less GLib API
4385
4386 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * Makefile.am:
4389           don't run checks if we don't have check
4390         * common/check.mak:
4391           remove the registry when running make torture
4392         * docs/gst/gstreamer-sections.txt:
4393           remove second multiply
4394         * gst/gstqueue.c: (gst_queue_loop):
4395           fix a compile warning when disabling debug
4396
4397 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4398
4399         * gst/gstinfo.h:
4400         Hey! Let's print the pad name if the pointer != NULL instead
4401         of when it == NULL :-)
4402
4403 2005-11-28  Wim Taymans  <wim@fluendo.com>
4404
4405         * check/gst/gstutils.c: (GST_START_TEST):
4406         Updated check, add some scaling accuracy checking code.
4407
4408         * gst/gstutils.c: (gst_util_div128_64),
4409         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4410         (gst_util_uint64_scale_int):
4411         Fix 6 times faster division code. Optimize for common 
4412         1/1 and less common X/1 cases.
4413
4414 2005-11-28  Wim Taymans  <wim@fluendo.com>
4415
4416         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4417         More checks.
4418
4419         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4420         (do_linear_regression), (gst_clock_add_observation):
4421         Cleanups.
4422         Release lock when the clock cannot be slaved.
4423         Catch the case where the regression returned an invalid denominator.
4424
4425         * gst/gstutils.c: (gst_util_div128_64_iterate),
4426         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4427         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4428         Add protentially more performant non-iterative 128/64 divide function
4429         that unfortunatly does not work yet.
4430         Shortcut the trivial 0/X = 0 case.
4431         Remove the warnings on overflow.
4432
4433 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * gst/gstplugin.c: (gst_plugin_register_func):
4436           everything causing a plugin not to load should be at least a WARNING
4437
4438 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4439
4440         * docs/random/ensonic/dparams.txt:
4441           some TODOs for the next dev cycle
4442         * libs/gst/controller/gstcontroller.c:
4443         (gst_controlled_property_set_interpolation_mode),
4444         (gst_controlled_property_new):
4445         * libs/gst/controller/gstcontroller.h:
4446           use base type to assign acccessor functions
4447
4448 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4449
4450         * check/Makefile.am:
4451         Oops, that should have been top_srcdir
4452
4453 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4454
4455         * check/Makefile.am:
4456         * check/elements/fdsrc.c: (GST_START_TEST):
4457         Use a cmdline define to specify the location of a file to use for
4458         testing, to avoid breaking distcheck.
4459
4460 2005-11-28  Andy Wingo  <wingo@pobox.com>
4461
4462         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4463
4464 2005-11-28  Edward Hervey  <edward@fluendo.com>
4465
4466         * tools/gst-launch.c: (main):
4467         Clarify the output strings, makes it easier to translate.
4468         Fixes #322626
4469
4470 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * gst/Makefile.am:
4473           don't try and build net if we don't even have <sys/socket.h>
4474
4475 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4476
4477         * check/Makefile.am:
4478         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4479         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4480           Add tests for fdsrc seekability
4481
4482         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4483         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4484         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4485         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4486         * gst/elements/gstfdsrc.h:
4487           fdsrc should not be a 'live' source.
4488           Implement seeking on seekable fd's.
4489
4490         * gst/gstquery.c: (gst_query_new_seeking),
4491         (gst_query_parse_seeking):
4492         * gst/gstquery.h:
4493           Implement SEEKING query functions: 
4494             *_new_seeking and *_parse_seeking
4495
4496 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4497
4498         * gst/gstelement.c: (gst_element_dispose):
4499           don't loop forever
4500
4501         * gst/gstiterator.c:
4502         * gst/gststructure.c:
4503           doc fixes
4504
4505         * libs/gst/controller/gstcontroller.c:
4506         (gst_controlled_property_set_interpolation_mode):
4507         * libs/gst/controller/gstcontroller.h:
4508         * libs/gst/controller/gstinterpolation.c:
4509         (interpolate_none_get_enum_value_array):
4510           support controlling enums
4511
4512 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4513
4514         * gst/gstvalue.c:
4515           Improve documentation for gst_value_union().
4516
4517         * gst/gstvalue.h:
4518           Change return value for union, intersect and subtract functions
4519           from gint to gboolean.
4520
4521 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * gst/gstvalue.c: (gst_value_serialize_any_list),
4524         (gst_value_transform_any_list_string),
4525         (gst_value_deserialize_list), (gst_value_deserialize_array),
4526         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4527         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4528         (gst_value_set_fraction_range_full),
4529         (gst_value_deserialize_fraction_range),
4530         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4531         (gst_value_deserialize_boolean),
4532         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4533         (gst_value_serialize_float), (gst_value_deserialize_float),
4534         (gst_string_wrap), (gst_value_deserialize_string),
4535         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4536         (gst_value_union_int_range_int_range),
4537         (gst_value_intersect_int_range_int_range),
4538         (gst_value_intersect_double_range_double_range),
4539         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4540         (gst_value_subtract_int_range_int_range),
4541         (gst_value_subtract_double_double_range),
4542         (gst_value_subtract_double_range_double_range),
4543         (gst_value_deserialize_fraction):
4544         * gst/gstvalue.h:
4545           Use gint, gdouble and gchar in our API instead of int, double and
4546           char (and make usage in gstvalue.c more consistent).
4547
4548 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4549
4550         * check/Makefile.am:
4551         * libs/gst/controller/Makefile.am:
4552         * libs/gst/dataprotocol/Makefile.am:
4553           fix up Makefile.am and remove GST_ENABLE_NEW
4554
4555 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * configure.ac:
4558         * gst/Makefile.am:
4559         * gst/base/Makefile.am:
4560         * gst/check/Makefile.am:
4561         * gst/elements/Makefile.am:
4562         * gst/net/Makefile.am:
4563           update LDFLAGS use some more
4564
4565 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         * common/m4/gst-doc.m4:
4568           Fixes #312589
4569
4570 2005-11-26  Edward Hervey  <edward@fluendo.com>
4571
4572         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4573         This shouldn't issue a g_warning since it returns NULL if it
4574         couldn't find the plugin, and all functions using this behave
4575         properly on a NULL return. Switching to a GST_WARNING.
4576
4577 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4578
4579         * gst/gstbin.c: (gst_bin_handle_message_func):
4580         Don't leak clock messages.
4581
4582 2005-11-25  Wim Taymans  <wim@fluendo.com>
4583
4584         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4585         (gst_util_uint64_scale_int):
4586         Optimisations, remove unneeded vars.
4587
4588 2005-11-25  Wim Taymans  <wim@fluendo.com>
4589
4590         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4591         Added more checks for the high precision uint64 cases.
4592
4593         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4594         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4595         Implement high precision (guint64 * guint64) / guint64.
4596
4597 2005-11-24  Wim Taymans  <wim@fluendo.com>
4598
4599         * gst/base/gstbasesrc.c: (gst_base_src_query):
4600         Fix wrong percentage query.
4601
4602         * gst/gstutils.c: (gst_util_uint64_scale),
4603         (gst_util_uint64_scale_int):
4604         Add some more common cases that can be handled 
4605         efficiently to _scale.
4606
4607 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4610         (gst_mini_object_suite):
4611           don't use check calls from threads; check probably isn't
4612           threadsafe and using a lock to make it threadsafe would
4613           defeat the purpose of this check
4614         * gst/check/gstcheck.c:
4615         * gst/check/gstcheck.h:
4616           use GST_DEBUG some more
4617
4618 2005-11-24  Wim Taymans  <wim@fluendo.com>
4619
4620         * gst/gstutils.c: (gst_util_uint64_scale),
4621         (gst_util_uint64_scale_int):
4622         Chain trivial case to _scale_int.
4623
4624 2005-11-24  Wim Taymans  <wim@fluendo.com>
4625
4626         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4627         Added test for scaling.
4628
4629         * gst/gstclock.h:
4630         Small doc fix.
4631
4632         * gst/gstutils.c: (gst_util_uint64_scale_int):
4633         Implemented high precision scaling code.
4634
4635 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4636
4637         * gst/gstinfo.h:
4638           do not crash on pad==NULL
4639
4640 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4641
4642         Patch by: Stefan Kost
4643
4644         * common/gtk-doc.mak:
4645         * docs/gst/Makefile.am:
4646         * docs/libs/Makefile.am:
4647           Fix distcheck issues for the libraries docs build
4648           Closes #319599.
4649
4650 2005-11-24  Michael Smith <msmith@fluendo.com>
4651
4652         * docs/manual/basics-helloworld.xml:
4653           Fix bug #315027: memory leak in example code in docs.
4654
4655 2005-11-24  Michael Smith <msmith@fluendo.com>
4656
4657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4658           Unlock the PREROLL_LOCK in a failure case.
4659
4660 2005-11-24  Wim Taymans  <wim@fluendo.com>
4661
4662         * docs/gst/gstreamer-sections.txt:
4663         * gst/base/gstadapter.h:
4664         * gst/base/gstbasesink.h:
4665         * gst/base/gstbasesrc.h:
4666         * gst/base/gstbasetransform.h:
4667         * gst/base/gstpushsrc.h:
4668         * gst/elements/gstfakesink.h:
4669         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4670         * gst/elements/gstfakesrc.h:
4671         * gst/elements/gstfilesink.h:
4672         * gst/elements/gstfilesrc.h:
4673         * gst/gst.c:
4674         * gst/gstbin.c:
4675         * gst/gstbuffer.c: (_gst_buffer_copy):
4676         * gst/gstbus.h:
4677         * gst/gstcaps.c:
4678         * gst/gstchildproxy.c:
4679         * gst/gstclock.c:
4680         * gst/gstelement.c:
4681         * gst/gstelementfactory.c:
4682         * gst/gstelementfactory.h:
4683         * gst/gstevent.c:
4684         * gst/gstghostpad.h:
4685         * gst/gstindex.h:
4686         * gst/gstinterface.h:
4687         * gst/gstminiobject.c:
4688         * gst/gstminiobject.h:
4689         * gst/gstpad.c:
4690         * gst/gstpad.h:
4691         * gst/gstpadtemplate.h:
4692         * gst/gstpipeline.h:
4693         * gst/gstpluginfeature.h:
4694         * gst/gstquery.h:
4695         * gst/gstqueue.h:
4696         * gst/gsttaglist.c:
4697         * gst/gsttaglist.h:
4698         * gst/gsttagsetter.c:
4699         * gst/gsttagsetter.h:
4700         * gst/gsttrace.c:
4701         * gst/gsttrace.h:
4702         * gst/gsttypefind.h:
4703         * gst/gsturi.h:
4704         * gst/gstvalue.c:
4705         * gst/net/gstnetclientclock.c:
4706         * gst/net/gstnetclientclock.h:
4707         * gst/net/gstnettimepacket.c:
4708         * gst/net/gstnettimeprovider.c:
4709         * gst/net/gstnettimeprovider.h:
4710         Doc fixes.
4711
4712 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4713
4714         * configure.ac: back to HEAD
4715
4716 === release 0.9.6 ===
4717
4718 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4719
4720         * configure.ac:
4721           releasing 0.9.6, "Always On Time"
4722
4723 2005-11-23  Wim Taymans  <wim@fluendo.com>
4724
4725         * docs/gst/gstreamer-sections.txt:
4726         * gst/glib-compat.c:
4727         * gst/gsttagsetter.c:
4728         * gst/gstvalue.c:
4729         * gst/net/gstnetclientclock.c:
4730         * gst/net/gstnettimepacket.h:
4731         Doc updates.
4732
4733 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         * docs/faq/using.xml:
4736         * docs/libs/tmpl/gstcontrol.sgml:
4737         * docs/manual/advanced-dparams.xml:
4738         * docs/manual/appendix-checklist.xml:
4739         * docs/manual/basics-elements.xml:
4740         * docs/pwg/other-source.xml:
4741         * docs/random/moving-plugins:
4742         * gst/gstpad.c:
4743         * tools/gst-launch.1.in:
4744           remove mentions of sinesrc
4745
4746 2005-11-23  Michael Smith <msmith@fluendo.com>
4747
4748         * docs/gst/gstreamer-sections.txt:
4749           Update for new API and API changes.
4750         * gst/gstobject.h:
4751           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4752         * gst/gstvalue.c:
4753           Documentation typo fix.
4754         * gst/net/gstnettimepacket.c:
4755           Documentation fixes for arguments.
4756
4757 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4758
4759         * gst/gststructure.c: (gst_structure_get_fraction),
4760         (gst_structure_parse_value),
4761         (gst_structure_fixate_field_nearest_fraction):
4762         * gst/gststructure.h:
4763         * gst/gstutils.c: (gst_util_uint64_scale_int):
4764         * gst/gstutils.h:
4765         * scripts/update-funcnames:
4766         API Changes. 
4767         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4768         Make gst_structure_fixate_field_nearest_fraction take a numerator
4769         and denominator argument instead of a GValue
4770         add gst_structure_get_fraction helper function.
4771
4772 2005-11-23  Wim Taymans  <wim@fluendo.com>
4773
4774         * docs/design/part-TODO.txt:
4775         Update TODO.
4776
4777         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4778         * gst/net/gstnetclientclock.h:
4779         Use parent fields for timeout and window_size.
4780
4781 2005-11-23  Andy Wingo  <wingo@pobox.com>
4782
4783         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4784         rate_num/rate_denom change.
4785
4786         * gst/net/gstnetclientclock.c
4787         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4788         OBJECT_LOCK. Don't call add_observation with the lock.
4789
4790         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4791         fraction.
4792         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4793         rate fraction.
4794         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4795         deal with rate as a fraction whose numerator and denominator are
4796         GstClockTime values.
4797         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4798         master; the other fields are protected by the SLAVE_LOCK.
4799         (do_linear_regression): Note that this must be called with the
4800         SLAVE_LOCK.
4801         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4802         OBJECT_LOCK. Call set_calibration instead of touching the
4803         variables directly.
4804         (gst_clock_set_property, gst_clock_get_property): Protect
4805         master/slave parameters with the SLAVE_LOCK.
4806
4807         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4808         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4809         note that all of the instance variables that add_observation and
4810         the set_master functions use are protected by that lock and not
4811         the OBJECT_LOCK.
4812         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4813
4814         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4815         the caller to take the object lock.
4816
4817 2005-11-23  Wim Taymans  <wim@fluendo.com>
4818
4819         * gst/gsterror.c: (_gst_core_errors_init):
4820         * gst/gsterror.h:
4821         Add error for clock stuff.
4822
4823         * gst/gstpipeline.c: (gst_pipeline_change_state),
4824         (gst_pipeline_set_clock):
4825         Post clock error when clock cannot be used in a pipeline.
4826
4827 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4828
4829         * docs/gst/gstreamer-sections.txt:
4830           make two symbols from gstinfo private for the docs
4831         * gst/base/gstcollectpads.h:
4832         * gst/gstutils.c:
4833           fix doc typos, update docs
4834
4835 2005-11-22  Wim Taymans  <wim@fluendo.com>
4836
4837         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4838         (gst_base_sink_wait), (gst_base_sink_do_sync),
4839         (gst_base_sink_handle_event):
4840         * gst/base/gstbasesink.h:
4841         No need to store the clock, the parent element class already
4842         has it.
4843
4844         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4845         Updates for clock_set returning a gboolean
4846
4847         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4848         (gst_clock_id_wait_async), (gst_clock_class_init),
4849         (gst_clock_init), (gst_clock_finalize),
4850         (gst_clock_get_internal_time), (gst_clock_get_time),
4851         (gst_clock_slave_callback), (gst_clock_set_master),
4852         (gst_clock_get_master), (do_linear_regression),
4853         (gst_clock_add_observation), (gst_clock_set_property),
4854         (gst_clock_get_property):
4855         * gst/gstclock.h:
4856         Implement master/slave. When setting a clock as a slave, a
4857         periodic timeout is scheduled to sample master and slave times.
4858         Then the slave clock is recalibrated to match offset and rate
4859         of the master clock.
4860         Update logging a bit.
4861         Add flag so that a clock can state that is cannot be slaved to
4862         another clock.
4863
4864         * gst/gstelement.c: (gst_element_set_clock):
4865         * gst/gstelement.h:
4866         The set clock returns a gboolean for when an element cannot
4867         deal with the selected clock in the pipeline. 
4868
4869         * gst/gstpipeline.c: (gst_pipeline_change_state),
4870         (gst_pipeline_set_clock):
4871         * gst/gstpipeline.h:
4872         Handle the case where the selected clock cannot be set on
4873         the pipeline.
4874
4875         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4876         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4877         (gst_net_client_clock_set_property),
4878         (gst_net_client_clock_get_property),
4879         (gst_net_client_clock_observe_times):
4880         * gst/net/gstnetclientclock.h:
4881         Use regression code in GstClock parent, remove duplicated
4882         functionality.
4883
4884 2005-11-22  Michael Smith <msmith@fluendo.com>
4885
4886         * gst/gstutils.c: (gst_util_clock_time_scale):
4887         * gst/gstutils.h:
4888         * docs/gst/gstreamer-sections.txt:
4889           Rename method to have extra underscore.
4890
4891 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4892
4893         * gst/elements/Makefile.am:
4894         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4895         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4896         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4897         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4898         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4899         * gst/elements/gstfakesrc.h:
4900         * gst/gstqueue.c: (queue_leaky_get_type):
4901           correctly fix GEnumValues so that nick is the short lowercase
4902           dashed tag
4903         * tools/gst-inspect.c: (print_element_properties_info):
4904           also show the nick, since it's useful to use from parse_launch
4905           syntax
4906           Fixes #322139
4907
4908 2005-11-22  Michael Smith <msmith@fluendo.com>
4909
4910         * gst/gstutils.c: (gst_util_clocktime_scale):
4911         * gst/gstutils.h:
4912         * docs/gst/gstreamer-sections.txt:
4913           Add util method for scaling a clocktime by a fraction. Useful 
4914           implementation is left as an exercise for the reader.
4915
4916 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4917
4918         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4919         If needed, allocate storage in the destination value during
4920         collection.
4921
4922 2005-11-22  Edward Hervey  <edward@fluendo.com>
4923
4924         * docs/gst/gstreamer-sections.txt:
4925         * gst/Makefile.am:
4926         * gst/gst.h:
4927         * gst/gsturitype.c:
4928         * gst/gsturitype.h:
4929         * gst/gstutils.c: (gst_util_set_object_arg):
4930         * tools/gst-compprep.c: (main):
4931         * tools/gst-inspect.c: (print_element_properties_info):
4932         Removed GstURI, closes bug #321061
4933
4934 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4935
4936         * check/gst/gststructure.c: (GST_START_TEST):
4937         * gst/gststructure.c: (gst_structure_parse_value):
4938           Oops, broke automatic string type parsing.
4939           Add a test to catch it in future.
4940
4941 2005-11-22  Andy Wingo  <wingo@pobox.com>
4942
4943         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4944         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4945         Actually rename the function implementations. Grr.
4946
4947 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4948
4949         * check/gst/capslist.h:
4950           Comment test cases
4951         * check/gst/gststructure.c: (GST_START_TEST),
4952         (gst_structure_suite):
4953           Test automatic value type detection in gst_structure_from_string.
4954         * gst/gststructure.c: (gst_structure_parse_value):
4955           Add fraction as a type we try and guess automatically in
4956           caps/structure strings.
4957
4958 2005-11-22  Andy Wingo  <wingo@pobox.com>
4959
4960         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4961
4962         * gst/gsttagsetter.h:
4963         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4964         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4965         (gst_tag_setter_add_tag_valist)
4966         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4967         _add_values, _add_valist, and _add_valist_values. Since this is an
4968         interface the function suffixes should be more explicit so
4969         language binding don't end up with element.add_valist ->
4970         gst_tag_setter_add_valist, for example. Fixes #322069.
4971
4972 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4973
4974         * check/gst/gstcaps.c: (GST_START_TEST):
4975           Extend caps string tests to check that a caps to string
4976           conversion is reversible and produces the same caps.
4977
4978         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4979           Output "fraction" as the generic type fraction range, so caps
4980           serialisation and deserialisation works.
4981         * check/gst/capslist.h:
4982         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4983           Support 'MIN' and 'MAX' for deserialising fractions.
4984
4985 2005-11-22  Andy Wingo  <wingo@pobox.com>
4986
4987         * gst/gstevent.h (gst_event_new_new_segment)
4988         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4989         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4990         Renamed from *_newsegment, *_buffersize, *_notarget.
4991
4992         * scripts/update-funcnames: New script, performs the changes
4993         listed above.
4994
4995 2005-11-22  Wim Taymans  <wim@fluendo.com>
4996
4997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4998         Make sure the GstFlowReturn is returned.
4999
5000         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5001         (gst_bus_add_signal_watch):
5002         * gst/gstbus.h:
5003         add gst_bus_add_signal_watch_full.
5004
5005         * gst/gstplugin.c: (gst_plugin_load_file):
5006         Small style cleanup.
5007
5008 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5009
5010         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5011           Block the fakesrc srcpad when we send an event, to avoid
5012           contention on the stream_lock causing random test failures.
5013
5014 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5015
5016         * check/gst/gstvalue.c: (GST_START_TEST):
5017         * gst/gstvalue.c: (gst_value_fraction_subtract):
5018           Fix subtraction.
5019
5020 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5021
5022         * gst/gst.h:
5023           include "gstchildproxy.h"
5024         * gst/gstchildproxy.h:
5025         * libs/gst/controller/gstcontroller.h:
5026           use G_GNUC_NULL_TERMINATED
5027
5028 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5029
5030         * check/gst/capslist.h:
5031         * check/gst/gstcaps.c: (GST_START_TEST):
5032         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5033         * gst/gststructure.c: (gst_structure_parse_range),
5034         (gst_structure_fixate_field_nearest_fraction):
5035         * gst/gststructure.h:
5036         * gst/gstvalue.c: (gst_value_init_fraction_range),
5037         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5038         (gst_value_collect_fraction_range),
5039         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5040         (gst_value_set_fraction_range_full),
5041         (gst_value_get_fraction_range_min),
5042         (gst_value_get_fraction_range_max),
5043         (gst_value_serialize_fraction_range),
5044         (gst_value_transform_fraction_range_string),
5045         (gst_value_compare_fraction_range),
5046         (gst_value_deserialize_fraction_range),
5047         (gst_value_intersect_fraction_fraction_range),
5048         (gst_value_intersect_fraction_range_fraction_range),
5049         (gst_value_subtract_fraction_fraction_range),
5050         (gst_value_subtract_fraction_range_fraction),
5051         (gst_value_subtract_fraction_range_fraction_range),
5052         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5053         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5054         (gst_value_transform_string_fraction), (_gst_value_initialize):
5055         * gst/gstvalue.h:
5056           Implement fraction ranges and extend GstFraction to support
5057           arithmetic subtraction, as well as deserialization from integer
5058           strings such as "100"
5059           Add a testsuite as for int and double range set operations
5060
5061 2005-11-21  Andy Wingo  <wingo@pobox.com>
5062
5063         * gst/gsttaglist.h: 
5064         * gst/gstcaps.h: 
5065         * gst/gststructure.h: Add glib-compat.h.
5066
5067 2005-11-21  Wim Taymans  <wim@fluendo.com>
5068
5069         * gst/gstbin.c: (gst_bin_change_state_func):
5070         Fix for #321595
5071
5072 2005-11-21  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/gstsegment.h:
5075         And add a nice define too.
5076
5077 2005-11-21  Wim Taymans  <wim@fluendo.com>
5078
5079         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5080         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5081         (gst_segment_set_duration), (gst_segment_set_last_stop),
5082         (gst_segment_set_seek), (gst_segment_set_newsegment),
5083         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5084         (gst_segment_clip):
5085         * gst/gstsegment.h:
5086         Make binding friendly.
5087
5088 2005-11-21  Andy Wingo  <wingo@pobox.com>
5089
5090         * gst/gsttagsetter.h: 
5091         * gst/gsttaglist.h: 
5092         * gst/gststructure.h: 
5093         * gst/gstcaps.h: 
5094         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5095         #319940.
5096
5097         * gst/gsterror.c (_gst_core_errors_init):
5098         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5099         category.
5100
5101         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5102         (noinst_HEADERS): noinst the -private.
5103
5104 2005-11-21  Michael Smith <msmith@fluendo.com>
5105
5106         * gst/gstplugin.h:
5107         * gst/gstregistry.h:
5108           Remove unimplemented declarations for which we can see no sensible
5109           use.
5110
5111 2005-11-21  Andy Wingo  <wingo@pobox.com>
5112
5113         * gst/gst.h: Include glib-compat.h.
5114
5115         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5116
5117         * gst/glib-compat.c: Include the public and the private header.
5118
5119         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5120
5121         * gst/gstvalue.c: 
5122         * gst/gstpad.c: 
5123         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5124
5125         * check/gst/gstevent.c (create_custom_events): Check that
5126         FLUSH_STOP is serialized.
5127
5128         * check/elements/identity.c (event_func): 
5129         * check/elements/fakesrc.c (event_func): No stream lock, the core
5130         takes it.
5131
5132         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5133         stream lock taking, yay.
5134
5135         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5136         ensure that core takes the stream lock.
5137
5138         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5139         lock name change.
5140
5141         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5142         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5143         it already. For the flush start we do take it though so we get the
5144         right preroll state change messages.
5145
5146         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5147         the stream lock here, the core does it for us.
5148
5149         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5150         GST_STREAM_GET_LOCK.
5151         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5152         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5153         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5154         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5155         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5156         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5157
5158         * gst/gstpad.c: Update for stream lock name change.
5159
5160         * gst/base/gstbasesink.c: Update for preroll lock name change.
5161
5162 2005-11-21  Wim Taymans  <wim@fluendo.com>
5163
5164         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5165         (gst_clock_get_master):
5166         * gst/gstclock.h:
5167         * gst/gstsystemclock.c: (gst_system_clock_init):
5168         Convert Clock flags to object flags.
5169         Added methods to manage master/slave clocks.
5170
5171 2005-11-21  Wim Taymans  <wim@fluendo.com>
5172
5173         * check/gst/gstsegment.c: (GST_START_TEST):
5174         * docs/design/part-TODO.txt:
5175         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5176         (gst_base_sink_event), (gst_base_sink_do_sync),
5177         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5178         (gst_base_sink_query), (gst_base_sink_change_state):
5179         * gst/base/gstbasesink.h:
5180         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5181         (gst_base_src_default_newsegment),
5182         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5183         (gst_base_src_get_range), (gst_base_src_loop),
5184         (gst_base_src_change_state):
5185         * gst/base/gstbasesrc.h:
5186         * gst/base/gstbasetransform.c:
5187         (gst_base_transform_prepare_output_buf),
5188         (gst_base_transform_event), (gst_base_transform_change_state):
5189         * gst/base/gstbasetransform.h:
5190         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5191         (gst_collect_pads_event):
5192         * gst/base/gstcollectpads.h:
5193         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5194         (gst_fake_src_create):
5195         * gst/elements/gstfakesrc.h:
5196         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5197         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5198         (gst_segment_set_last_stop), (gst_segment_set_seek),
5199         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5200         (gst_segment_to_running_time), (gst_segment_clip):
5201         * gst/gstsegment.h:
5202         More segment updates, replace code in plugins with segment
5203         helper functions.
5204
5205 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5206
5207         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
5208         Don't ignore sscanf results
5209
5210 2005-11-21  Andy Wingo  <wingo@pobox.com>
5211
5212         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
5213
5214         * *.h:
5215         * *.c: Ran scripts/update-macros. Oh yes.
5216
5217         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
5218         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
5219         GST_GET_LOCK, etc.
5220
5221         * scripts/update-macros: New script. Run it on your files to
5222         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
5223         well.
5224
5225 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5226
5227         * docs/gst/Makefile.am:
5228         * docs/gst/gstreamer-docs.sgml:
5229         * docs/gst/gstreamer-sections.txt:
5230         * docs/gst/gstreamer.types:
5231         * gst/gstinfo.h:
5232           more docs fixes, add new api to the docs
5233
5234 2005-11-21  Andy Wingo  <wingo@pobox.com>
5235
5236         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
5237         state_broadcast call.
5238
5239         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
5240
5241 2005-11-21  Julien MOUTTE  <julien@moutte.net>
5242
5243         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
5244         function calls for arrays.
5245
5246 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5247
5248         * docs/random/ensonic/media-device-daemon.txt:
5249           wild idea, can this be done?
5250         * docs/gst/gstreamer-sections.txt:
5251         * gst/gsterror.h:
5252         * gst/gstfilter.c:
5253         * gst/gstfilter.h:
5254         * gst/gstplugin.h:
5255         * gst/gstpluginfeature.c:
5256         * gst/gsttrace.c:
5257         * gst/gstvalue.c:
5258         * gst/gstvalue.h:
5259           doc fixes and additions
5260
5261 2005-11-21  Andy Wingo  <wingo@pobox.com>
5262
5263         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
5264         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
5265         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
5266         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
5267         private to the basesrc implementation.
5268
5269         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
5270         behalf of event function if necessary. It should no longer be
5271         necessary to take the stream lock in pad's event functions. Fixes
5272         #320299.
5273
5274 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5275         * docs/gst/gstreamer-sections.txt:
5276         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
5277         (gst_structure_fixate_field_nearest_double),
5278         (gst_structure_fixate_field_boolean):
5279         * gst/gststructure.h:
5280         * win32/common/libgstreamer.def:
5281         * win32/gstreamer.def:
5282
5283         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
5284         (#322027)
5285
5286 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5287
5288         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
5289         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
5290         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
5291         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
5292         (gst_fdsrc_uri_handler_init):
5293         * gst/elements/gstfdsrc.h:
5294           Port fd:// URI handler from 0.8 to fdsrc
5295
5296 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5297
5298         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
5299         (gst_value_serialize_fourcc):
5300         * gst/gstvalue.h:
5301           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
5302           consistent with our other format defines (#320324).
5303
5304 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5305
5306         * gst/gstvalue.c: (gst_value_is_fixed):
5307           Revert previous commit. Value lists are by definition
5308           not fixed, as they are a list of possible values.
5309
5310 2005-11-21  Andy Wingo  <wingo@pobox.com>
5311
5312         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
5313         during the stable series if we need it. Fixes #319178.
5314
5315         * gst/gstevent.c (gst_event_new_filler): Removed.
5316
5317         * check/gst/gstevent.c: Update comment about filler events.
5318
5319 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5320
5321         * gst/gstvalue.c: (gst_value_is_fixed):
5322           Should handle both value arrays and value lists.
5323
5324 2005-11-21  Andy Wingo  <wingo@pobox.com>
5325
5326         patch by: Alessandro Dessina <alessandro nnva org>
5327
5328         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5329         functions to access arrays. Fixes #321962.
5330
5331 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5332
5333         * docs/gst/gstreamer.types:
5334           gst_collectpads_get_type => gst_collect_pads_get_type.
5335           
5336         * gst/base/gstbasetransform.c:
5337           Remove unused SIGNAL_HANDOFF enum.
5338
5339 2005-11-21  Andy Wingo  <wingo@pobox.com>
5340
5341         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5342         the event type (upstream, downstream, serialized). Renamed
5343         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5344         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5345         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5346
5347         * gst/gstevent.c: Update for new CUSTOM event names.
5348
5349         * check/gst/gstevent.c: Update check for new CUSTOM event names.
5350
5351         * gst/gstevent.h:
5352         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5353         bug #319392.
5354
5355 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5356
5357         * docs/gst/gstreamer-sections.txt:
5358         * win32/common/libgstbase.def:
5359         * win32/libgstbase.def:
5360         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5361         (gst_collect_pads_class_init), (gst_collect_pads_init),
5362         (gst_collect_pads_finalize), (gst_collect_pads_new),
5363         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5364         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5365         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5366         (gst_collect_pads_start), (gst_collect_pads_stop),
5367         (gst_collect_pads_peek), (gst_collect_pads_pop),
5368         (gst_collect_pads_available), (gst_collect_pads_read),
5369         (gst_collect_pads_flush), (gst_collect_pads_event),
5370         (gst_collect_pads_chain):
5371         * gst/base/gstcollectpads.h:
5372           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5373           unimplemented functions as unimplemented. Add padding to
5374           GstCollectData. (#320766, #320423)
5375
5376 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5377
5378         * gst/gstmessage.c:
5379           Improve docs for DURATION message (usage of duration parameter)
5380           (#320113)
5381
5382 2005-11-20  Wim Taymans  <wim@fluendo.com>
5383
5384         * check/Makefile.am:
5385         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5386         (main):
5387         * gst/Makefile.am:
5388         * gst/gst.h:
5389         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5390         (gst_segment_set_seek), (gst_segment_set_newsegment),
5391         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5392         (gst_segment_clip):
5393         * gst/gstsegment.h:
5394         Added segment helper structure and methods. Not fully implemented
5395         yet.
5396         Added segment check.
5397
5398 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5399
5400         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5401           Add a deserialisation test for fractions
5402         * examples/metadata/read-metadata.c: (message_loop),
5403         (make_pipeline), (main):
5404           Fix up metadata reading sample.
5405         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5406           Debug format fix
5407         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5408           Don't try and fixate empty caps
5409         * gst/gst_private.h:
5410           Wrap in G_BEGIN_DECLS/G_END_DECLS
5411         * gst/gstvalue.c: (gst_value_collect_fraction),
5412         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5413         (gst_value_transform_string_fraction),
5414         (gst_value_compare_fraction):
5415           Add some extra guards to ensure that we don't end up 
5416           with an invalid denominator of 0 in a gstfraction and
5417           that fractions always get reduced.
5418
5419 2005-11-20  Wim Taymans  <wim@fluendo.com>
5420
5421         * docs/gst/gstreamer-sections.txt:
5422         * gst/gstbuffer.h:
5423         * gst/gstelement.c:
5424         * gst/gstformat.c:
5425         * gst/gstformat.h:
5426         * gst/gstindex.h:
5427         * gst/gstquery.c:
5428         * gst/gstquery.h:
5429         * gst/gstvalue.c:
5430         Doc fixes.
5431
5432 2005-11-20  Wim Taymans  <wim@fluendo.com>
5433
5434         * docs/design/part-TODO.txt:
5435         * gst/gstcaps.h:
5436         Make a proper enum of the flag.
5437
5438 2005-11-19  Wim Taymans  <wim@fluendo.com>
5439
5440         * docs/design/part-TODO.txt:
5441         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5442         (gst_format_to_quark), (gst_format_register):
5443         * gst/gstformat.h:
5444         * gst/gstquery.c: (_gst_query_initialize),
5445         (gst_query_type_get_name), (gst_query_type_to_quark),
5446         (gst_query_type_register):
5447         * gst/gstquery.h:
5448         Add type to quark and type to string conversions.
5449
5450 2005-11-19  Andy Wingo  <wingo@pobox.com>
5451
5452         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5453         #320097.
5454
5455 2005-11-19  Wim Taymans  <wim@fluendo.com>
5456
5457         * docs/design/part-TODO.txt:
5458         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5459         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5460         (gst_bin_handle_message_func):
5461         * gst/gstbin.h:
5462         Make message handling overridable.
5463
5464 2005-11-19  Andy Wingo  <wingo@pobox.com>
5465
5466         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5467
5468         * gst/gstclock.h:
5469         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5470         be a GstClockTime.
5471         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5472         is a GstClockTime. Fixes #321710.
5473
5474         * gst/gstclock.h (GstClock): Remove offset property. Add
5475         internal_calibration and external_calibration. Fix padding. Pad
5476         also by GstClockTime so we don't run into problems.
5477
5478         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5479         (gst_clock_get_rate_offset): Remove.
5480         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5481
5482         * gst/gstutils.h:
5483         * gst/gstutils.c (g_static_rec_cond_wait)
5484         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5485
5486         * gst/gstbin.c: Remove terrible continue_state prototype.
5487
5488         * gst/gstelement.h (gst_element_continue_state): Make public.
5489
5490         * gst/gstelement.h:
5491         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5492         by continue_state. Fixes #319389.
5493
5494         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5495         Really fixes #168438. However I don't see anywhere where the
5496         filter function is called... stupid GStreamer...
5497         
5498         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5499         don't have a dispose function, so it won't get called when the
5500         object is unreffed, but oh well!
5501
5502         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5503         allows a destroy function to be set so user_data can be freed.
5504         Fixes #168438.
5505         (gst_index_set_filter): Call gst_index_set_filter_full.
5506
5507         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5508
5509         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5510         string should produce an error, given the lack of a way to
5511         represent NULL strings. Fixes #165650.
5512         
5513         * gst/gstvalue.h: 
5514         * gst/gstvalue.c (gst_value_array_append_value) 
5515         (gst_value_array_prepend_value, gst_value_array_get_size) 
5516         (gst_value_array_get_value): New API, copied from
5517         gst_value_list_*, only operates on arrays.
5518         (gst_value_list_append_value, gst_value_list_prepend_value) 
5519         (gst_value_list_concat, gst_value_list_get_size) 
5520         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5521
5522         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5523         init_list, because it works on both.
5524         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5525         (gst_value_copy_list_or_array): Renamed from copy_list.
5526         (gst_value_free_list_or_array): Renamed from free_list.
5527         (gst_value_collect_list_or_array): Renamed from collect_list.
5528         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5529         (gst_value_list_or_array_peek_pointer): Renamed from
5530         list_peek_pointer.
5531         (_gst_value_array_value_table, _gst_value_list_value_table):
5532         Update value table functions.
5533         (gst_value_compare_list_or_array): Renamed from compare_list.
5534
5535         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5536         some constness.
5537
5538         * gst/gsttaglist.c:
5539         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5540         GstTagList*. Fixes #143472.
5541
5542         * gst/gststructure.h: Clarify what the foreach/map functions can
5543         or can't do to their arguments.
5544
5545 2005-11-18  Wim Taymans  <wim@fluendo.com>
5546
5547         * gst/gstclock.c: (gst_clock_set_calibration),
5548         (gst_clock_get_calibration):
5549         Doc and API fixes.
5550         Calibration can be set with internal time equal to current
5551         internal time too.
5552
5553 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5554
5555         * gst/gsterror.c:
5556         * gst/gsterror.h:
5557           document
5558
5559 2005-11-18  Andy Wingo  <wingo@pobox.com>
5560
5561         * configure.ac: 
5562         * pkgconfig/gstreamer-net.pc.in:
5563         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5564         * pkgconfig/Makefile.am: Add net pkgconfig files.
5565
5566 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5567
5568         * gst/gstcaps.c:
5569         * gst/gstghostpad.c:
5570         * gst/gsttrace.c:
5571         * gst/gstvalue.c:
5572         * gst/gstvalue.h:
5573           docs fixes
5574
5575 2005-11-18  Andy Wingo  <wingo@pobox.com>
5576
5577         * gst/net/gstnetclientclock.c: Turn off debugging.
5578
5579         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5580         times connverge somewhat. Can't make a real test.
5581
5582         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5583         integer arithmetic. Return the minimum of the domain, which can be
5584         set as "internal" for gst_clock_set_calibration.
5585         (gst_net_client_clock_observe_times): Call _set_calibration.
5586         (gst_net_client_clock_new): Call _set_calibration instead of
5587         rate_offset.
5588
5589         * check/net/gstnetclientclock.c (test_functioning): Use the right
5590         adjustment api.
5591
5592         * gst/gstclock.h:
5593         * gst/gstclock.c (gst_clock_get_calibration) 
5594         (gst_clock_set_calibration): New functions, obsolete the ones I
5595         added yesterday. Doh. Precision issues mean we have to extrapolate
5596         from a point in the more recent past than 1970.
5597         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5598         obsolete.
5599         (gst_clock_adjust_unlocked): Use the right calibration data.
5600
5601 2005-11-18  Edward Hervey  <edward@fluendo.com>
5602
5603         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5604         Also reset the ->current_* values in READY->PAUSED
5605
5606 2005-11-18  Andy Wingo  <wingo@pobox.com>
5607
5608         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5609         Whoops, check the right fd. Also add some debugging.
5610         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5611         (do_linear_regression): Add a crapload of debugging. Subtract off
5612         the minimum values from the input series to discard unneeded bits.
5613         Use only int arithmetic. There is still double arithmetic when
5614         calculating the intercept that needs fixing. Return boolean to
5615         indicate success; FALSE would mean the domain or range is too
5616         great. Still needs fixes.
5617
5618 2005-11-18  Wim Taymans  <wim@fluendo.com>
5619
5620         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5621         For the current position in stream time, we need to subtract
5622         accumulated time.
5623         
5624         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5625         Release lock before calling the callback function of async
5626         entries.
5627
5628 2005-11-18  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5631         Port goes all the way to MAXUINT16.
5632
5633         * gst/net/gstnettimeprovider.c: Make the port range the same as
5634         for the kernel: 0 assigns, otherwise ports are less than
5635         MAXUINT16.
5636
5637         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5638         port change.
5639
5640         * check/net/gstnetclientclock.c (test_functioning): Add the start
5641         of another test. 
5642
5643 2005-11-18  Wim Taymans  <wim@fluendo.com>
5644
5645         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5646         (gst_bin_remove_func), (bin_bus_handler):
5647         * gst/gstbin.h:
5648         Removing a clock provider from a bin, triggers a clock lost message
5649         so that a new clock will be selected.
5650         Adding a clock to a bin triggers a clock provider message.
5651         Make sure we reselect a clock when we received a clock lost message.
5652         Keep a reference to the element that provided the clock.
5653
5654 2005-11-18  Andy Wingo  <wingo@pobox.com>
5655
5656         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5657         the clock initially so it produces values around the base time.
5658         (gst_net_client_clock_class_init): Typo fix.
5659         (gst_net_client_clock_thread): Add note on when the socket gets
5660         closed.
5661
5662 2005-11-17  Wim Taymans  <wim@fluendo.com>
5663
5664         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5665         Free remote and local time arrays.
5666
5667 2005-11-17  Wim Taymans  <wim@fluendo.com>
5668
5669         * gst/net/gstnetclientclock.c: (do_linear_regression),
5670         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5671         Fix compilation, uninitialized vars and a forgotten continue.
5672
5673 2005-11-17  Andy Wingo  <wingo@pobox.com>
5674
5675         * check/Makefile.am (check_PROGRAMS): 
5676         * check/net/gstnetclientclock.c: Add a most minimal test for the
5677         net client clock. More to come later.
5678
5679         * gst/net/gstnet.h: 
5680         * gst/net/Makefile.am: Add netclientclock.
5681
5682         * gst/net/gstnetclientclock.h:
5683         * gst/net/gstnetclientclock.c: New files, implement an untested
5684         GstClock that takes its time from a network time provider.
5685         Implements the algorithm in network-clock.scm.
5686
5687         * tests/network-clock.scm (*window-size*): Rename from
5688         *queue-length*.
5689         * tests/network-clock.scm (network-time): 
5690         * tests/network-clock-utils.scm (q-push): Update callers.
5691
5692 2005-11-17  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/gstbin.c: (gst_bin_provide_clock_func),
5695         (gst_bin_sort_iterator_new):
5696         And unref the child too..
5697
5698 2005-11-17  Wim Taymans  <wim@fluendo.com>
5699
5700         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5701         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5702         Refactor the sort iterator so it can be used while holding the
5703         LOCK too.
5704         Make clock selection select a clock closest to the source.
5705
5706 2005-11-17  Michael Smith <msmith@fluendo.com>
5707
5708         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5709         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5710         * gst/gstclock.h:
5711           Anonymous structs are a gcc (and some other compilers) extension, so
5712           don't use them. Since this is only for ABI-compatibility, and our
5713           API/ABI freeze is over in a few days, this whole thing will only
5714           last a few days, so don't bother trying to think up a meaningful
5715           name for the struct.
5716
5717 2005-11-17  Andy Wingo  <wingo@pobox.com>
5718
5719         * gst/gstclock.h (GstClock): Add rate and offset properties,
5720         preserving ABI stability. Add rate/offset accessors. Will file bug
5721         for the freeze break.
5722
5723         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5724         and offset, trying to keep precision and avoiding
5725         underflow/overflow.
5726         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5727         functions. Make gst_clock_set_time_adjust obsolete.
5728         (gst_clock_set_time_adjust): Note that this function is obsolete.
5729         Will file bug soon.
5730
5731         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5732         greppable by using GST_PADDING-1+1.
5733
5734 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5735
5736         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5737
5738         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5739           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5740
5741         * gst/gstpadtemplate.h:
5742         * gst/gstpluginfeature.h:
5743           Don't use c++ style comments in headers (#321638).
5744
5745 2005-11-16  Andy Wingo  <wingo@pobox.com>
5746
5747         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5748         buffer.
5749
5750         * check/net/gstnettimeprovider.c: Check to see that the time
5751         provider actually provides times. Works, yo!
5752
5753 2005-11-16  Wim Taymans  <wim@fluendo.com>
5754
5755         * check/Makefile.am:
5756         Enable more tests.
5757
5758         * check/elements/fakesrc.c: (GST_START_TEST):
5759         Set element to NULL before disposing it.
5760
5761 2005-11-16  Andy Wingo  <wingo@pobox.com>
5762
5763         * gst/net/Makefile.am:
5764         * gst/net/gstnet.h:
5765         * gst/net/gstnettimeprovider.c: 
5766         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5767         provider, include it from gstnet.h, and add it to the build.
5768
5769         * gst/net/gstnettimepacket.h: 
5770         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5771         sending and receiving.
5772
5773 2005-11-16  Wim Taymans  <wim@fluendo.com>
5774
5775         * check/Makefile.am:
5776         Enable valgrind check.
5777
5778         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5779         (gst_fake_src_alloc_buffer):
5780         Fix memleak.
5781
5782 2005-11-16  Wim Taymans  <wim@fluendo.com>
5783
5784         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5785         Call parent finalize too.
5786
5787 2005-11-16  Wim Taymans  <wim@fluendo.com>
5788
5789         * check/Makefile.am:
5790         Enable valgrind check that should work fine now.
5791
5792         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5793         * gst/gstqueue.c: (gst_queue_init):
5794         Fix memleaks in pad allocation.
5795
5796 2005-11-16  Andy Wingo  <wingo@pobox.com>
5797
5798         * gst/net/Makefile.am:
5799         * gst/net/gstnet.h: New part of core to hold network elements and
5800         objects. Put in core because it exposes API that applications want
5801         to use. The library is named libgstnet-tempname right now because
5802         of the existing libgstnet in gst-plugins-base. Solution is
5803         probably to rename the one in plugins-base; will file a bug for
5804         the freeze break.
5805
5806         * gst/net/gstnettimeprovider.c: 
5807         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5808         get_time call over the network.
5809
5810         * configure.ac: 
5811         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5812
5813         * check/Makefile.am:
5814         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5815         get additions shortly.
5816
5817 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5818
5819         * gst/gstpad.c: (gst_pad_new_from_static_template):
5820         * gst/gstpad.h:
5821           add gst_pad_new_from_static_template functions
5822         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5823         (gst_check_setup_sink_pad):
5824         * gst/elements/gsttee.c: (gst_tee_init):
5825           and use them
5826
5827 2005-11-16  Wim Taymans  <wim@fluendo.com>
5828
5829         * gst/gstpad.c: (gst_pad_pause_task):
5830         Removed warning, it's not really an error either.
5831
5832 2005-11-16  Wim Taymans  <wim@fluendo.com>
5833
5834         * gst/base/gstbasetransform.c:
5835         (gst_base_transform_prepare_output_buf),
5836         (gst_base_transform_event):
5837         Check if the caps are NULL, this can happen if the element
5838         is shutting down and the pad caps are set to NULL.
5839
5840 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * gst/elements/gsttee.c: (gst_tee_init):
5843           fix pad template leak in tee
5844
5845 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5846
5847         * gst/glib-compat.c: (g_value_dup_gst_object):
5848         * gst/glib-compat.h:
5849         * gst/gstpad.c: (gst_pad_set_property):
5850           use gst_object_ref when setting the pad template; this will
5851           trigger the pad template leaks on GLib 2.6 and the slaves
5852
5853 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5854
5855         * gst/glib-compat.c: (gst_flags_get_first_value):
5856         * gst/glib-compat.h:
5857         * gst/gstregistryxml.c:
5858           remove functions copied from GLib 2.6
5859
5860 2005-11-16  Michael Smith <msmith@fluendo.com>
5861
5862         * gst/Makefile.am:
5863           Don't link against VALGRIND_LIBS. That was always the wrong thing to
5864           do, but only breaks with newer valgrind versions. We're not a
5865           valgrind tool, we have no link-time dependencies on libcoregrind.
5866
5867 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5870           some debug changes
5871         * gst/gstmessage.h:
5872           typo fixes
5873
5874 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * gst/base/gstbasesrc.c: (gst_base_src_init):
5877         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5878         * gst/gstqueue.c: (gst_queue_init):
5879         * gst/gstregistryxml.c: (load_feature):
5880           Revert all these unrefs, they don't even pass make check !
5881
5882 2005-11-15  Johan Dahlin  <johan@gnome.org>
5883
5884         * gst/base/gstbasesrc.c: (gst_base_src_init):
5885         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5886         * gst/gstqueue.c: (gst_queue_init): 
5887         Free pad templates, fixes a couple of leaks.
5888
5889 2005-11-15  Daniel Fischer  <dan at f3c dot com>
5890
5891         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5892
5893         * gst/gstpad.c: (gst_pad_get_property):
5894           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5895           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5896           (#321452)
5897
5898 2005-11-15  Wim Taymans  <wim@fluendo.com>
5899
5900         * gst/gstevent.c:
5901         Small doc update.
5902
5903 2005-11-15  Andy Wingo  <wingo@pobox.com>
5904
5905         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5906
5907         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5908         using GST_CLOCK_TIME_NONE to disable base time management.
5909         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5910         time if it was NONE before.
5911         (gst_pipeline_change_state): Only munge the base time if
5912         stream_time != GST_CLOCK_TIME_NONE.
5913
5914         * check/gst/gstpipeline.c (test_base_time): Punt around the
5915         problem of the probe not being called, because that's not the
5916         issue I'm looking at. Add a check that setting stream_time to NONE
5917         disables base time management.
5918         
5919 2005-11-15  Wim Taymans  <wim@fluendo.com>
5920
5921         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5922         segment_stop == -1 at startup.
5923
5924         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5925         (gst_base_transform_change_state):
5926         Init segment values at start.
5927
5928 2005-11-15  Wim Taymans  <wim@fluendo.com>
5929
5930         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5931         0 segment values are 0 in any format.
5932
5933         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5934         * gst/base/gstbasetransform.h:
5935         Parse newsegment correctly in basetransform
5936
5937         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5938         Sync to clock using updated segment values.
5939
5940 2005-11-15  Andy Wingo  <wingo@pobox.com>
5941
5942         * check/gst/gstpipeline.c (test_base_time): Add check that the
5943         base time and stream time are reset correctly.
5944
5945 2005-11-15  Wim Taymans  <wim@fluendo.com>
5946
5947         * docs/design/part-TODO.txt:
5948         Some more TODO items.
5949
5950 2005-11-15  Andy Wingo  <wingo@pobox.com>
5951
5952         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5953         error if the user selected "no clock" as the clocking method.
5954
5955         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5956         timestamps with live capture.
5957
5958         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5959         is 0 but we are a live source, timestamp the buffers using the
5960         element's clock.
5961
5962 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * docs/gst/gstreamer-sections.txt:
5965         * gst/gsterror.c:
5966         * gst/gstghostpad.c:
5967         * gst/gstobject.h:
5968         * gst/gstxml.c:
5969           more section docs
5970
5971 2005-11-14  Wim Taymans  <wim@fluendo.com>
5972
5973         * common/gst.supp:
5974           add suppressions from Wim's Debian machine
5975
5976 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5977
5978         * common/gst.supp:
5979           add suppressions from Andy's AMD64 Ubuntu machine
5980
5981 2005-11-14  Andy Wingo  <wingo@pobox.com>
5982
5983         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5984         STATE_LOCK not necessary. Fixes #311489.
5985
5986         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5987         #305291.
5988
5989         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5990         this function is not implemented.
5991
5992 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5993
5994         * gst/base/gstbasetransform.c:
5995         (gst_base_transform_prepare_output_buf):
5996         Ref the source pad caps while we need them.
5997         Fixes (#321386)
5998
5999 2005-11-11  Wim Taymans  <wim@fluendo.com>
6000
6001         * docs/gst/gstreamer-sections.txt:
6002         Added some docs for GstCollectData.
6003
6004         * gst/base/gstadapter.c:
6005         Some small code example fix.
6006
6007         * gst/base/gstcollectpads.c:
6008         * gst/base/gstcollectpads.h:
6009         Document some more.
6010
6011 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6012
6013         * configure.ac: back to HEAD
6014
6015 === release 0.9.5 ===
6016
6017 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6018
6019         * configure.ac:
6020           releasing 0.9.5, "Bike Lunch Day"
6021
6022 2005-11-11  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/gstbuffer.c: (_gst_buffer_copy):
6025         Copy more flags.
6026
6027         * gst/gstcaps.c: (gst_caps_is_equal):
6028         Fix some docs.
6029         Make _is_equal fast in the trivial cases.
6030
6031         * gst/gstminiobject.c:
6032         * gst/gstminiobject.h:
6033         More docs. Spifify .h file.
6034
6035         * gst/gstutils.c:
6036         Small doc update.
6037
6038 2005-11-11  Wim Taymans  <wim@fluendo.com>
6039
6040         * gst/base/gstbasetransform.c:
6041         (gst_base_transform_prepare_output_buf),
6042         (gst_base_transform_handle_buffer):
6043         Small cleanups.
6044         If we're processing a buffer and need to allocate an output
6045         buffer, we cannot accept a format change. If we did get a 
6046         format change, we have to alloc a buffer ourselves of the 
6047         right size.
6048
6049 2005-11-11  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6052         While checking the flag for reentrancy in the gstcaps function
6053         is nice to detect recursive invocations, it also makes it 
6054         impossible to call getcaps from multiple threads, which must be
6055         possible. So, checking for recursive calls has to go.
6056
6057 2005-11-11  Michael Smith <msmith@fluendo.com>
6058
6059         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6060           Don't sync on buffers that fall partially outside our current
6061           segment. Prevents an assertion failure/abort playing some files.
6062
6063 2005-11-10  Andy Wingo  <wingo@pobox.com>
6064
6065         * check/gst/gstbin.c (test_message_state_changed_children): Style
6066         fix..
6067
6068         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6069         gst_bus_poll with the signal watch. Ensures that poll and a signal
6070         watch see the same messages.
6071
6072         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6073         a poll and a watch at the same time get the same messages.
6074
6075 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6078         * gst/gstcaps.c: (gst_caps_intersect):
6079           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6080           and it's not needed.
6081
6082 2005-11-10  Wim Taymans  <wim@fluendo.com>
6083
6084         * docs/design/part-TODO.txt:
6085         Updated todo.
6086
6087 2005-11-10  Wim Taymans  <wim@fluendo.com>
6088
6089         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6090         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6091         (gst_base_src_do_sync), (gst_base_src_get_range):
6092         Implement clock sync in base class.
6093
6094 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6095
6096         patch by: Tim-Philipp Müller <tim at centricular dot net>
6097
6098         * gst/gststructure.c: (gst_structure_parse_field),
6099         (gst_structure_from_string):
6100           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6101           so that gst_parse_launch() can deal with spaces in filtered link
6102           caps (fixes #164479)
6103         * check/gst/capslist.h:
6104         * check/gst/gststructure.c: (GST_START_TEST):
6105           add unit tests for this change
6106
6107 2005-11-10  Wim Taymans  <wim@fluendo.com>
6108
6109         * docs/gst/gstreamer-sections.txt:
6110         * gst/gstelement.c:
6111         * gst/gstelement.h:
6112         Fix docs, move some STATE macros to private.
6113
6114 2005-11-10  Wim Taymans  <wim@fluendo.com>
6115
6116         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6117         Added check for bug #317341
6118
6119         * gst/gstbuffer.c:
6120         * gst/gstbuffer.h:
6121         Some more spiffifying.
6122
6123         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6124         Call peer linkfunction if we are a source pad. Totally fixes
6125         #317341
6126
6127         * gst/gstpad.c:
6128         Update docs, source pads should call the peer linkfunction
6129         so they can atomically perform the pad link.
6130
6131 2005-11-09  Wim Taymans  <wim@fluendo.com>
6132
6133         * gst/gstbuffer.c:
6134         * gst/gstbuffer.h:
6135         Uber-spiffy-spiffify some more.
6136
6137 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6138
6139         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6140         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6141         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6142         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6143         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6144         * gst/gstpad.c: (gst_pad_init):
6145           Use GST_DEBUG_FUNCPTR() more extensively.
6146
6147 2005-11-09  Wim Taymans  <wim@fluendo.com>
6148
6149         * gst/gstobject.c: (gst_object_class_init):
6150         * gst/gstobject.h:
6151         Documentation fixes.
6152
6153 2005-11-09  Edward Hervey  <edward@fluendo.com>
6154
6155         * gst/gsttypefindfactory.c:
6156         Fix docs.
6157         
6158 2005-11-09  Edward Hervey  <edward@fluendo.com>
6159
6160         * gst/base/gsttypefindhelper.c:
6161         * gst/gsttypefind.c:
6162         * gst/gsttypefind.h:
6163         Fix docs.
6164
6165 2005-11-09  Wim Taymans  <wim@fluendo.com>
6166
6167         * gst/gstiterator.c:
6168         Fix revision data.
6169
6170         * gst/gsttask.c:
6171         * gst/gsttask.h:
6172         Fix docs.
6173
6174 2005-11-09  Wim Taymans  <wim@fluendo.com>
6175
6176         * gst/gstevent.h:
6177         * gst/gsturi.h:
6178         Fix docs.
6179
6180 2005-11-09  Wim Taymans  <wim@fluendo.com>
6181
6182         * docs/gst/gstreamer-sections.txt:
6183         Moved the message async delivery private lock and cond
6184         to the private section.
6185
6186         * gst/gstmessage.c:
6187         * gst/gstmessage.h:
6188         Fixed docs.
6189
6190 2005-11-09  Edward Hervey  <edward@fluendo.com>
6191
6192         * docs/gst/gstreamer-sections.txt:
6193         * gst/gsturi.c:
6194         * gst/gsturi.h:
6195         Document GstURIHandler
6196
6197 2005-11-09  Wim Taymans  <wim@fluendo.com>
6198
6199         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
6200         (gst_iterator_find_custom):
6201         * gst/gstiterator.h:
6202         Fix iterator docs.
6203
6204 2005-11-09  Wim Taymans  <wim@fluendo.com>
6205
6206         * gst/gstbin.h:
6207         Document another field.
6208
6209         * gst/gststructure.c:
6210         * gst/gststructure.h:
6211         Document.
6212
6213 2005-11-09  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/gstbin.h:
6216         Documented structs.
6217
6218 2005-11-09  Wim Taymans  <wim@fluendo.com>
6219
6220         * docs/gst/gstreamer-sections.txt:
6221         Added some new macros.
6222
6223         * gst/gstclock.c:
6224         * gst/gstclock.h:
6225         * gst/gstobject.h:
6226         Docs updates.
6227
6228 2005-11-09  Wim Taymans  <wim@fluendo.com>
6229
6230         * docs/design/part-TODO.txt:
6231         Some more items for the TODO
6232
6233         * gst/gstcaps.c:
6234         * gst/gstcaps.h:
6235         Document GstCaps.
6236
6237 2005-11-09  Andy Wingo  <wingo@pobox.com>
6238
6239         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
6240         to work on something else now tho...
6241
6242         * gst/base/gstadapter.c: More adapter docs.
6243
6244         * gst/elements/gstfilesink.c (gst_file_sink_start) 
6245         (gst_file_sink_stop): New functions, replace the state change
6246         handler.
6247         (gst_file_sink_class_init): Hook up the start and stop functions.
6248         (gst_file_sink_base_init): Don't set the state change handler any
6249         more. It was a bit ugly too, being set from here...
6250         (gst_file_sink_get_property, gst_file_sink_set_property):
6251         Cleanups...
6252         (gst_file_sink_set_location): More robust check that doesn't call
6253         GST_STATE. Ugggggg.
6254
6255 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6258           Hold STREAM_LOCK while pushing newsegment or tag events as well.
6259
6260 2005-11-08  Wim Taymans  <wim@fluendo.com>
6261
6262         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6263         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6264         (gst_base_sink_chain), (gst_base_sink_change_state):
6265         * gst/base/gstbasesink.h:
6266         * gst/base/gstbasesrc.h:
6267         * gst/gstelement.h:
6268         * gst/gstevent.h:
6269         Avoid excessive typechecking in macros.
6270
6271         * gst/gstminiobject.c: (gst_mini_object_get_type),
6272         (gst_mini_object_init), (gst_mini_object_new),
6273         (gst_mini_object_free):
6274         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6275         (gst_object_finalize):
6276         Remove cruft code, optimize alloc_trace.
6277
6278 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6279
6280         * docs/faq/gst-uninstalled:
6281           fix up PS1 for systems that try to reset it
6282
6283 2005-11-07  Wim Taymans  <wim@fluendo.com>
6284
6285         * gst/base/gstbasesrc.c: (gst_base_src_init),
6286         (gst_base_src_get_range):
6287         Set the segment_end to -1 initially. Fixed typefind.
6288
6289 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * gst/base/gstadapter.c:
6292           Debug category should be 'adapter', not 'GstAdapter'.
6293           
6294         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
6295         (gst_collectpads_class_init), (gst_collectpads_init),
6296         (gst_collectpads_peek), (gst_collectpads_pop),
6297         (gst_collectpads_event), (gst_collectpads_chain):
6298           Add debug category and some debugging output. Use boilerplate
6299           macros. Remove some extraneous words from docs.
6300
6301 2005-11-05  Andy Wingo  <wingo@pobox.com>
6302
6303         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
6304         macro.
6305
6306 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6307
6308         * docs/gst/gstreamer-sections.txt:
6309         * gst/gstcaps.h:
6310         * gst/gstinfo.c:
6311         * gst/gstminiobject.h:
6312         * gst/gstobject.h:
6313         * gst/gstutils.h:
6314           more docs added
6315
6316 2005-11-04  Wim Taymans  <wim@fluendo.com>
6317
6318         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6319         Small update to stop at the configured segment_end
6320         position.
6321
6322 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6323
6324         * gst/gstregistry.c:
6325         * gst/gstregistry.h:
6326           added missing docs
6327
6328 2005-11-04  Edward Hervey  <edward@fluendo.com>
6329
6330         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6331         Check if we are doing a segment seek and have arrived at the
6332         end of that segment.
6333
6334 2005-11-04  Wim Taymans  <wim@fluendo.com>
6335
6336         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6337         Don't leak a mutex unlock in case of an error.
6338
6339         * gst/gstbus.h:
6340         Doc fixes.
6341
6342 2005-11-04  Wim Taymans  <wim@fluendo.com>
6343
6344         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6345         (gst_bus_post):
6346         Get the context to wake up only once.
6347
6348 2005-11-03  Wim Taymans  <wim@fluendo.com>
6349
6350         * check/states/sinks.c: (GST_START_TEST):
6351         Uncomment fixed check.
6352
6353         * docs/design/part-TODO.txt:
6354         Updated TODO.
6355
6356         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6357         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6358         (gst_base_sink_get_position):
6359         If we are going to PLAYING, post the right pending state
6360         when we post the intermediate paused message.
6361
6362         * gst/gstelement.c: (gst_element_continue_state),
6363         (gst_element_set_state_func), (gst_element_change_state):
6364         Don't post state changes that were between the same state
6365         and were not ASYNC.
6366
6367 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6368
6369         * docs/gst/gstreamer-sections.txt:
6370         * gst/gstcaps.h:
6371         * gst/gstinfo.c:
6372         * gst/gstminiobject.h:
6373         * gst/gstobject.h:
6374         * gst/gstutils.h:
6375           more docs and doc style fixes
6376
6377 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * docs/gst/gstreamer-sections.txt:
6380         * gst/gstelement.c:
6381         * gst/gstminiobject.c:
6382         doc fixes
6383
6384 2005-11-03  Andy Wingo  <wingo@pobox.com>
6385
6386         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6387         state-changed messages actually have the right order and the right
6388         values.
6389
6390 2005-11-03  Wim Taymans  <wim@fluendo.com>
6391
6392         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6393         Added some more checks. Specifically the case where NO_PREROLL
6394         elements are in the pipeline.
6395
6396         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6397         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6398         (gst_base_sink_get_position):
6399         Post READY->PAUSED state change messages too.
6400         Fix bug where VOID was posted as pending state...
6401
6402         * gst/gstbin.c: (gst_bin_recalc_state):
6403         use _element_continue_state() to continue the state change.
6404
6405         * gst/gstelement.c: (gst_element_continue_state),
6406         (gst_element_commit_state), (gst_element_set_state_func),
6407         (gst_element_change_state), (gst_element_change_state_func):
6408         Lots of state change cleanups, assign the STATE_RETURN in
6409         a new continue_state() function that also propagates the
6410         last return value from a state change to the app.
6411         Update some debug statements with proper category.
6412
6413 2005-11-03  Wim Taymans  <wim@fluendo.com>
6414
6415         * docs/design/part-events.txt:
6416         * docs/design/part-gstpipeline.txt:
6417         * docs/design/part-messages.txt:
6418         * docs/design/part-overview.txt:
6419         * docs/design/part-seeking.txt:
6420         * docs/design/part-states.txt:
6421         * docs/design/part-trickmodes.txt:
6422         * docs/manual/advanced-position.xml:
6423         Small docs updates.
6424
6425         * gst/gstobject.h:
6426         People think !! is ugly, this looks better.
6427
6428         * gst/gstpad.c: (gst_pad_set_blocked_async):
6429         Remove !! since it's fixed elsewhere now.
6430
6431 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6432
6433         * gst/gstminiobject.h:
6434         * gst/gstobject.h:
6435           Add !! to _FLAG_IS_SET macros to make the result boolean.
6436
6437 2005-11-03  Edward Hervey  <edward@fluendo.com>
6438
6439         * gst/gstpad.c: (gst_pad_set_blocked_async):
6440         comparing a flag and a gboolean rarely returns coherent results...
6441         Added two characters (!!) to make that work correctly.
6442         
6443 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6444
6445         * gst/gstbus.c: (gst_bus_class_init):
6446           Fix some typos.
6447           
6448         * gst/gstqueue.c: (gst_queue_loop):
6449           Don't assume a miniobject that isn't a buffer is an
6450           event (it could be that there is a refcounting
6451           problem somewhere and the pointer is stale and
6452           refers to an already destroyed miniobject).
6453
6454 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6455
6456         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6457
6458 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6459
6460         * docs/manual/advanced-position.xml:
6461           Update seek example and explanations to current 0.9 API.
6462
6463         * gst/elements/gsttypefindelement.c:
6464         (gst_type_find_element_activate):
6465           Remove FIXME comment now that the found caps
6466           are unreffed.
6467
6468 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6469
6470         * gst/gstregistryxml.c: (load_feature):
6471           Add another GST_STR_NULL instance
6472
6473 2005-11-02  Edward Hervey  <edward@fluendo.com>
6474
6475         * gst/gstpad.c: (handle_pad_block):
6476         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6477         
6478 2005-11-02  Wim Taymans  <wim@fluendo.com>
6479
6480         * gst/gstbin.c:
6481         Fix typo in docs.
6482
6483         * gst/gstelement.c: (gst_element_commit_state):
6484         Remove unused value.
6485
6486         * gst/gstiterator.c:
6487         Mention that the returned element is reffed in the docs.
6488
6489 2005-11-02  Wim Taymans  <wim@fluendo.com>
6490
6491         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6492         (gst_pad_push), (gst_pad_push_event):
6493         Unlock blocked pads when they are flushed.
6494
6495 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6496
6497         * docs/README:
6498         * docs/gst/gstreamer-sections.txt:
6499         * gst/gstbin.c:
6500           doc updates
6501         * gst/gstregistry.c: (gst_registry_scan_path_level):
6502           fix for a nasty little missed situation where an installed plug-in
6503           which was in the cache did not get overridden by an uninstalled one
6504           which was earlier in the plugin path because the newly created plugin
6505           for the uninstalled one (not in the registry) didn't get its
6506           ->registered set to TRUE
6507
6508 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6509
6510         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6511         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6512         (gst_collectpads_is_active), (gst_collectpads_collect),
6513         (gst_collectpads_collect_range), (gst_collectpads_start),
6514         (gst_collectpads_stop), (gst_collectpads_peek),
6515         (gst_collectpads_pop), (gst_collectpads_available),
6516         (gst_collectpads_read), (gst_collectpads_flush):
6517           Guard public API with assertions.
6518         
6519         * gst/gstpad.c:
6520           Fix docs for gst_pad_set_link_function().
6521
6522 2005-11-02  Johan Dahlin  <johan@gnome.org>
6523
6524         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6525         Unref found_caps after we used it.
6526
6527 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6528
6529         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6530           Don't try to ref NULL.
6531
6532 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * win32/common/config.h.in:
6535           provide a GST_FUNCTION that just gives a string for now
6536
6537 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6538
6539         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6540         (gst_object_flags_get_type), (register_gst_bin_flags),
6541         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6542         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6543         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6544         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6545         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6546         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6547         (gst_clock_flags_get_type), (register_gst_state),
6548         (gst_state_get_type), (register_gst_state_change_return),
6549         (gst_state_change_return_get_type), (register_gst_state_change),
6550         (gst_state_change_get_type), (register_gst_element_flags),
6551         (gst_element_flags_get_type), (register_gst_core_error),
6552         (gst_core_error_get_type), (register_gst_library_error),
6553         (gst_library_error_get_type), (register_gst_resource_error),
6554         (gst_resource_error_get_type), (register_gst_stream_error),
6555         (gst_stream_error_get_type), (register_gst_event_type),
6556         (gst_event_type_get_type), (register_gst_seek_type),
6557         (gst_seek_type_get_type), (register_gst_seek_flags),
6558         (gst_seek_flags_get_type), (register_gst_format),
6559         (gst_format_get_type), (register_gst_index_certainty),
6560         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6561         (gst_index_entry_type_get_type),
6562         (register_gst_index_lookup_method),
6563         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6564         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6565         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6566         (gst_index_flags_get_type), (register_gst_debug_level),
6567         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6568         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6569         (gst_iterator_result_get_type), (register_gst_iterator_item),
6570         (gst_iterator_item_get_type), (register_gst_message_type),
6571         (gst_message_type_get_type), (register_gst_mini_object_flags),
6572         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6573         (gst_pad_link_return_get_type), (register_gst_flow_return),
6574         (gst_flow_return_get_type), (register_gst_activate_mode),
6575         (gst_activate_mode_get_type), (register_gst_pad_direction),
6576         (gst_pad_direction_get_type), (register_gst_pad_flags),
6577         (gst_pad_flags_get_type), (register_gst_pad_presence),
6578         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6579         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6580         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6581         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6582         (gst_plugin_flags_get_type), (register_gst_rank),
6583         (gst_rank_get_type), (register_gst_query_type),
6584         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6585         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6586         (gst_tag_flag_get_type), (register_gst_task_state),
6587         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6588         (gst_alloc_trace_flags_get_type),
6589         (register_gst_type_find_probability),
6590         (gst_type_find_probability_get_type), (register_gst_uri_type),
6591         (gst_uri_type_get_type), (register_gst_parse_error),
6592         (gst_parse_error_get_type):
6593         * win32/common/gstversion.h:
6594           update win32 copies
6595
6596 2005-11-01  Luca Ognibene  <luogni@tin.it>
6597
6598         * gst/gst.c:
6599           fix docs. popt is dead, long live GOption.
6600
6601 2005-10-31  Wim Taymans  <wim@fluendo.com>
6602
6603         * gst/gstbuffer.h:
6604         Small doc fix.
6605
6606 2005-10-31  Andy Wingo  <wingo@pobox.com>
6607
6608         * Boo!
6609
6610         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6611
6612         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6613         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6614         the possibility of deadlocks here if code calling notify() or
6615         set() has a lock that can be taken in another notify handler (ABBA
6616         with class lock and e.g. python GIL state lock).
6617
6618 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6619
6620         * gst/gstbus.c: Doc updates.
6621
6622 2005-10-28  Wim Taymans  <wim@fluendo.com>
6623
6624         * docs/design/part-TODO.txt:
6625         * gst/gstiterator.c:
6626         * gst/gstsystemclock.c:
6627         * gst/gstsystemclock.h:
6628         Doc updates.
6629
6630 2005-10-28  Edward Hervey  <edward@fluendo.com>
6631
6632         * docs/gst/gstreamer-docs.sgml:
6633         * docs/gst/gstreamer-sections.txt:
6634         the GstURIType documentation page is private, it only defines GstURIType
6635         which should be defined in the GstURIHandler page
6636         
6637 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6638
6639         * gst/gstbin.c: (gst_bin_class_init):
6640         * gst/gstbin.h:
6641         * gst/gstutils.c:
6642         Documentation updates.
6643
6644 2005-10-28  Wim Taymans  <wim@fluendo.com>
6645
6646         * docs/gst/gstreamer-sections.txt:
6647         * gst/gstclock.c:
6648         * gst/gstclock.h:
6649         Documented the clocks.
6650
6651 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * docs/gst/gstreamer-sections.txt:
6654           move some macros to private sections
6655         * gst/gstminiobject.c:
6656         * gst/gstminiobject.h:
6657           add descriptions provided by ds and some more
6658         * gst/gstpad.h:
6659           mark macro as to be removed
6660
6661 2005-10-28  Wim Taymans  <wim@fluendo.com>
6662
6663         * docs/design/part-TODO.txt:
6664         Add an item to TODO.
6665
6666         * gst/gstiterator.c: (gst_iterator_fold),
6667         (gst_iterator_find_custom):
6668         * gst/gstiterator.h:
6669         Add iterator docs.
6670
6671 2005-10-28  Wim Taymans  <wim@fluendo.com>
6672
6673         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6674         (gst_base_transform_init):
6675         Don't leak class.
6676
6677         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6678         An EOS event marks the queue as completely filled.
6679
6680 2005-10-27  Wim Taymans  <wim@fluendo.com>
6681
6682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6683         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6684         Some more debugging.
6685
6686         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6687         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6688         (gst_base_transform_event), (gst_base_transform_getrange),
6689         (gst_base_transform_chain):
6690         * gst/base/gstbasetransform.h:
6691         Fix debugging,
6692         Protect transform and concurrent buffer alloc with a new lock.
6693         Try not to break ABI/API.
6694
6695 2005-10-27  Wim Taymans  <wim@fluendo.com>
6696
6697         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6698         (gst_base_src_init), (gst_base_src_query),
6699         (gst_base_src_default_newsegment),
6700         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6701         (gst_base_src_send_event), (gst_base_src_event_handler),
6702         (gst_base_src_pad_get_range), (gst_base_src_loop),
6703         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6704         (gst_base_src_start), (gst_base_src_deactivate),
6705         (gst_base_src_activate_push), (gst_base_src_change_state):
6706         Move some stuff around and cleanup things.
6707
6708 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * gst/base/gstbasesrc.c: (gst_base_src_query):
6711           Add missing break statements.
6712
6713 2005-10-27  Wim Taymans  <wim@fluendo.com>
6714
6715         * check/gst/gstbin.c: (GST_START_TEST):
6716         An extra refcount is taken in basesrc.
6717
6718         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6719         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6720         (gst_base_src_loop):
6721         Small cleanups, check for flushing after being unlocked from the 
6722         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6723         Don't send out EOS when going to READY.
6724
6725 2005-10-27  Wim Taymans  <wim@fluendo.com>
6726
6727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6728         (gst_base_sink_get_position):
6729         Some more debug.
6730
6731         * gst/gstbin.c: (message_check), (bin_replace_message),
6732         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6733         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6734         (bin_query_duration_init), (bin_query_duration_fold),
6735         (bin_query_duration_done), (bin_query_generic_fold),
6736         (gst_bin_query):
6737         * tools/gst-launch.c: (main):
6738         Remove old option.
6739
6740 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6741
6742         * examples/controller/audio-example.c: (main):
6743         * examples/queue/queue.c: (event_loop):
6744         * gst/base/gstbasetransform.h:
6745         * gst/gstelement.c: (gst_element_send_event):
6746         * gst/gstevent.h:
6747         * gst/gstpad.c: (gst_pad_send_event):
6748           fixing examples
6749           fixing docs typos
6750           changing log priority in error situations
6751
6752 2005-10-25  Wim Taymans  <wim@fluendo.com>
6753
6754         * gst/gstbin.c: (message_check), (bin_replace_message),
6755         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6756         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6757         (bin_query_duration_init), (bin_query_duration_fold),
6758         (bin_query_duration_done), (bin_query_generic_fold),
6759         (gst_bin_query):
6760         Some doc and debug updates.
6761         Cache previously requested query DURATION for speed. invalidate
6762         cached duration if element posts a DURATION message.
6763
6764 2005-10-25  Wim Taymans  <wim@fluendo.com>
6765
6766         * docs/design/part-TODO.txt:
6767         Update TODO.
6768
6769         * gst/gstbin.c: (message_check), (bin_replace_message),
6770         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6771         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6772         (bin_query_duration_init), (bin_query_duration_fold),
6773         (bin_query_duration_done), (bin_query_generic_fold),
6774         (gst_bin_query):
6775         Handle SEGMENT_START/DONE messages correctly.
6776         More evolved query algorithm that handles duration queries
6777         correctly.
6778
6779         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6780         (gst_element_get_state_func), (gst_element_abort_state),
6781         (gst_element_commit_state), (gst_element_lost_state):
6782         Some more debugging.
6783
6784         * gst/gstmessage.h:
6785         Added doc.
6786
6787 2005-10-25  Wim Taymans  <wim@fluendo.com>
6788
6789         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6790         Don't use invalid stream_time.
6791
6792         * gst/gstevent.c: (gst_event_new_newsegment):
6793         stream_time in newsegment cannot be undefined.
6794
6795 2005-10-24  Wim Taymans  <wim@fluendo.com>
6796
6797         * gst/gstbus.c:
6798         Doc fix.
6799
6800         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6801         (gst_queue_loop):
6802         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6803
6804 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6805
6806         * docs/libs/tmpl/gstdparam.sgml:
6807         * docs/libs/tmpl/gstdplinint.sgml:
6808         * docs/libs/tmpl/gstdpman.sgml:
6809         * docs/libs/tmpl/gstdpsmooth.sgml:
6810         * docs/libs/tmpl/gstunitconvert.sgml:
6811           these are obsolete
6812
6813 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6814
6815         * configure.ac:
6816           back to HEAD
6817
6818 === release 0.9.4 ===
6819
6820 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6821
6822         * configure.ac:
6823           releasing 0.9.4, "Tyrannosaurus Rex"
6824
6825 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6828         (gst_file_sink_get_current_offset):
6829           Use fseeko() and ftello() if available. When falling back on
6830           lseek() to get the current offset, fflush() first to make sure
6831           everything is up-to-date and we get the right offset.
6832
6833 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6836         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6837         * gst/gsterror.c: (_gst_stream_errors_init):
6838         * gst/gsterror.h:
6839         * gst/gstqueue.c: (gst_queue_loop):
6840         * po/POTFILES.in:
6841           remove prematurely added error category and clean up the instances
6842
6843 2005-10-21  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6846         (gst_base_sink_get_position), (gst_base_sink_query),
6847         (gst_base_sink_change_state):
6848         Simply set the right flag when going to playing, that's all
6849         we need to do instead of calling a function inside the object
6850         lock (that could take the lock as well and deadlock)
6851
6852 2005-10-21  Wim Taymans  <wim@fluendo.com>
6853
6854         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6855         (gst_base_src_loop):
6856         Don't warn, the peer element knows what to do best when
6857         the seek failed, it might try something else.
6858
6859 2005-10-21  Wim Taymans  <wim@fluendo.com>
6860
6861         * gst/base/gstbasesrc.c: (gst_base_src_init),
6862         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6863         Fix seeking.
6864
6865 2005-10-21  Wim Taymans  <wim@fluendo.com>
6866
6867         * docs/design/part-segments.txt:
6868         More docs.
6869
6870         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6871         Correctly set caps, even on the subbufer.
6872
6873 2005-10-21  Wim Taymans  <wim@fluendo.com>
6874
6875         * docs/gst/gstreamer-docs.sgml:
6876         * docs/gst/gstreamer-sections.txt:
6877         * gst/gstelement.h:
6878         * gst/gstevent.c:
6879         * gst/gstevent.h:
6880         * gst/gstmessage.h:
6881         * gst/gstpad.h:
6882         * gst/gstparse.h:
6883         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6884         * gst/gsttask.h:
6885         * gst/gstutils.c:
6886         * gst/gstutils.h:
6887         And 2% more doc coverage.
6888
6889 2005-10-21  Andy Wingo  <wingo@pobox.com>
6890
6891         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6892         position reporting.
6893
6894 2005-10-20  Wim Taymans  <wim@fluendo.com>
6895
6896         * gst/gsterror.c: (gst_error_get_message):
6897         * gst/gstparse.h:
6898         * gst/gstquery.h:
6899         * gst/gststructure.c:
6900         * gst/gsttrace.c:
6901         * gst/gstutils.c:
6902         More docs.
6903
6904 2005-10-20  Wim Taymans  <wim@fluendo.com>
6905
6906         * gst/gstbuffer.h:
6907         * gst/gstpad.c:
6908         * gst/gstparse.c:
6909         Another 1% more coverage.
6910
6911 2005-10-20  Wim Taymans  <wim@fluendo.com>
6912
6913         * docs/gst/gstreamer-sections.txt:
6914         * gst/gstelement.c: (gst_element_get_state_func),
6915         (gst_element_abort_state), (gst_element_commit_state),
6916         (gst_element_lost_state):
6917         * gst/gstevent.h:
6918         * gst/gstquery.c: (gst_query_set_position),
6919         (gst_query_parse_position), (gst_query_set_duration),
6920         (gst_query_parse_duration), (gst_query_new_convert):
6921         * gst/gstutils.c:
6922         Yay! 1% more docs coverage.
6923
6924 2005-10-20  Wim Taymans  <wim@fluendo.com>
6925
6926         * gst/gstpad.h:
6927         * gst/gstquery.c: (gst_query_set_position),
6928         (gst_query_parse_position), (gst_query_set_duration),
6929         (gst_query_parse_duration), (gst_query_new_convert):
6930         * gst/gstquery.h:
6931         * gst/gstutils.c: (gst_element_query_convert):
6932         * gst/gstutils.h:
6933         Docs and consistency fixes.
6934
6935 2005-10-20  Wim Taymans  <wim@fluendo.com>
6936
6937         * gst/gsttask.c:
6938         * gst/gsttask.h:
6939         More docs.
6940
6941 2005-10-20  Wim Taymans  <wim@fluendo.com>
6942
6943         * gst/gstbin.c: (message_check), (bin_replace_message),
6944         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6945         (update_degree), (gst_bin_sort_iterator_next),
6946         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6947         Reworked the message handling a bit, cache the messages instead of
6948         only the senders. alows us to do more in the future.
6949
6950 2005-10-20  Wim Taymans  <wim@fluendo.com>
6951
6952         * docs/design/part-TODO.txt:
6953         Update TODO
6954
6955         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6956         (gst_base_sink_query):
6957         Don't use clock time to report position when in EOS.
6958
6959 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6960
6961         * tools/gst-inspect.c: (print_interfaces),
6962         (print_element_properties_info), (print_element_info):
6963           Fix interface output with gst-inspect -a; don't print
6964           newlines after double/float properties.
6965
6966 2005-10-20  Wim Taymans  <wim@fluendo.com>
6967
6968         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6969         (gst_base_sink_query):
6970         Speed up current position calculation.
6971
6972         * gst/base/gstbasesrc.c: (gst_base_src_query),
6973         (gst_base_src_default_newsegment):
6974         Correctly set stream position in newsegment.
6975
6976         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6977         (update_degree), (gst_bin_sort_iterator_next),
6978         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6979         * gst/gstmessage.c: (gst_message_new_custom):
6980         Clean up debugging info
6981
6982         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6983         (gst_queue_loop), (gst_queue_handle_src_query):
6984         Pause task faster.
6985
6986 2005-10-19  Wim Taymans  <wim@fluendo.com>
6987
6988         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6989         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6990         Fix query handling again.
6991
6992 2005-10-19  Wim Taymans  <wim@fluendo.com>
6993
6994         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6995         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6996         * gst/base/gstbasesrc.c: (gst_base_src_query):
6997         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6998         * gst/elements/gsttypefindelement.c:
6999         (gst_type_find_handle_src_query), (find_element_get_length),
7000         (gst_type_find_element_activate):
7001         API change fix.
7002
7003         * gst/gstquery.c: (gst_query_new_position),
7004         (gst_query_set_position), (gst_query_parse_position),
7005         (gst_query_new_duration), (gst_query_set_duration),
7006         (gst_query_parse_duration), (gst_query_set_segment),
7007         (gst_query_parse_segment):
7008         * gst/gstquery.h:
7009         Bundling query position/duration is not a good idea since duration
7010         does not change much and we don't want to recalculate it for every
7011         position query, so they are separated again..
7012         Base value in segment query is not needed.
7013
7014         * gst/gstqueue.c: (gst_queue_handle_src_query):
7015         * gst/gstutils.c: (gst_element_query_position),
7016         (gst_element_query_duration), (gst_pad_query_position),
7017         (gst_pad_query_duration):
7018         * gst/gstutils.h:
7019         Updates for query API change.
7020         Added some docs here and there.
7021
7022 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * check/gst/gstbin.c: (GST_START_TEST):
7025         * check/gst/gstghostpad.c: (GST_START_TEST):
7026         * check/pipelines/cleanup.c: (GST_START_TEST):
7027           wait on thread to die so we can check refcount correctly
7028
7029 2005-10-18  Wim Taymans  <wim@fluendo.com>
7030
7031         * check/pipelines/stress.c: (GST_START_TEST):
7032         Make check a little more time consuming.
7033
7034 2005-10-18  Wim Taymans  <wim@fluendo.com>
7035
7036         * check/Makefile.am:
7037         * check/pipelines/stress.c: (GST_START_TEST),
7038         (simple_launch_lines_suite), (main):
7039         Small state change torture test.
7040
7041         * docs/design/part-states.txt:
7042         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7043         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7044         (gst_base_sink_change_state):
7045         Never take state lock from streaming thread, clean up ugly
7046         hacks. Unfortunatly core does not yet support nice ways to
7047         async commit state.
7048         
7049         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7050         (bin_bus_handler):
7051         Start state recalc if a STATE_DIRTY message is posted, but only
7052         on the toplevel bin.
7053
7054         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7055         (gst_element_get_state_func), (gst_element_abort_state),
7056         (gst_element_commit_state), (gst_element_lost_state),
7057         (gst_element_set_state_func), (gst_element_change_state):
7058         * gst/gstelement.h:
7059         State variables are now protected with the LOCK, the state
7060         lock is only used to serialize _set_state().
7061
7062 2005-10-18  Wim Taymans  <wim@fluendo.com>
7063
7064         * check/gst/gstbin.c: (GST_START_TEST):
7065         * check/gst/gstmessage.c: (GST_START_TEST):
7066         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7068         (bin_bus_handler):
7069         * gst/gstelement.c: (gst_element_abort_state),
7070         (gst_element_commit_state), (gst_element_lost_state):
7071         * gst/gstmessage.c: (gst_message_new_state_changed),
7072         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7073         (gst_message_new_segment_done), (gst_message_new_duration),
7074         (gst_message_parse_state_changed),
7075         (gst_message_parse_segment_start),
7076         (gst_message_parse_segment_done), (gst_message_parse_duration):
7077         * gst/gstmessage.h:
7078         * tools/gst-launch.c: (event_loop):
7079         Seriously, this is better than a previous commit as we only need
7080         to notify the fact that an element changed state in a streaming
7081         thread, marking the state of the parents dirty, hence the 
7082         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7083         message.
7084
7085 2005-10-18  Wim Taymans  <wim@fluendo.com>
7086
7087         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7088         (gst_bin_recalc_func):
7089         * gst/gstelement.c: (gst_element_set_clock),
7090         (gst_element_abort_state), (gst_element_lost_state):
7091         Cleanups, prepare for state change fixes.
7092
7093 2005-10-18  Wim Taymans  <wim@fluendo.com>
7094
7095         * gst/gstbin.h:
7096         * gst/gstelement.c: (gst_element_class_init),
7097         (gst_element_set_state), (gst_element_set_state_func):
7098         * gst/gstelement.h:
7099         Pending ABI changes.
7100         GThreadPool in GstBinClass to monitor async state changes.
7101         state_cookie in GstElement to detect concurrent gst/set state.
7102         set_state is now virtual too in case a very complicated element
7103         has to be constructed.
7104
7105 2005-10-18  Wim Taymans  <wim@fluendo.com>
7106
7107         * check/gst/gstbin.c: (GST_START_TEST):
7108         * check/gst/gstmessage.c: (GST_START_TEST):
7109         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7110         * gst/gstbin.c: (bin_bus_handler):
7111         * gst/gstelement.c: (gst_element_commit_state),
7112         (gst_element_lost_state):
7113         * gst/gstmessage.c: (gst_message_new_state_changed),
7114         (gst_message_new_segment_start), (gst_message_new_segment_done),
7115         (gst_message_new_duration), (gst_message_parse_state_changed),
7116         (gst_message_parse_segment_start),
7117         (gst_message_parse_segment_done), (gst_message_parse_duration):
7118         * gst/gstmessage.h:
7119         * tools/gst-launch.c: (event_loop):
7120         Make messages future proof.
7121         state-change gets a flag if it was a message comming from the
7122         streaming thread.
7123         segment-start/stop can also be specified in other formats.
7124         A message to notify an app that a pipeline changed playback 
7125         duration.
7126         Also fix a GstMessage leak in -launch
7127
7128 2005-10-18  Andy Wingo  <wingo@pobox.com>
7129
7130         * gst/gstelement.c (gst_element_dispose): More helpful message.
7131
7132 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         reviewed by: <delete if not using a buddy>
7135
7136         * common/gtk-doc.mak:
7137
7138 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7139
7140         * gst/gstregistry.c: (gst_registry_scan_path_level):
7141           unref a plug-in we get that was already initialized
7142
7143 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7144
7145         * docs/gst/gstreamer-sections.txt:
7146         * docs/libs/gstreamer-libs-sections.txt:
7147         * gst/gstelement.h:
7148           add new api entries
7149           hide internal macro
7150
7151 2005-10-17  Andy Wingo  <wingo@pobox.com>
7152
7153         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7154         cleanup.
7155
7156         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7157
7158         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7159
7160         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7161         (gst_element_get_state_func): Better debug message.
7162         (gst_element_commit_state): s/INFO/DEBUG/.
7163         (gst_element_lost_state, gst_element_change_state): 
7164
7165         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7166         (gst_message_new_custom): s/INFO/LOG/.
7167
7168 2005-10-17  Michael Smith <msmith@fluendo.com>
7169
7170         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7171           Check if end time is valid using end time, not start time.
7172
7173 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * check/gst-libs/controller.c: (GST_START_TEST),
7176         (gst_controller_suite):
7177         * libs/gst/controller/gstcontroller.c:
7178         (gst_controlled_property_set_interpolation_mode):
7179         * libs/gst/controller/gstcontroller.h:
7180         * libs/gst/controller/gstinterpolation.c:
7181         * testsuite/controller/.cvsignore:
7182         * testsuite/controller/Makefile.am:
7183         * testsuite/controller/interpolator.c:
7184           merge controller testsuites
7185           fix broken tests
7186           remove mem-chunk from docs
7187
7188 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7189
7190         * gst/gstmemchunk.c:
7191         * gst/gstmemchunk.h:
7192         * gst/gsttrashstack.c:
7193         * gst/gsttrashstack.h:
7194           out.  get out.  you're fired.  to the Attic !
7195
7196 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7197
7198         * gst/gstcaps.c: (gst_caps_intersect):
7199           fix signedness issues in a (hopefully) correct way
7200         * gst/gstelement.c: (gst_element_pads_activate):
7201           some debugging
7202         * gst/gstobject.c: (gst_object_set_parent):
7203           some debugging
7204
7205 2005-10-17  Julien MOUTTE  <julien@moutte.net>
7206
7207         * gst/gstvalue.h: Fix prototypes.
7208
7209 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7210
7211         * docs/gst/gstreamer-sections.txt:
7212         * gst/gst.c: (gst_version_string):
7213         * gst/gst.h:
7214         * gst/gstversion.h.in:
7215         * win32/common/libgstreamer.def:
7216           add gst_version_string ()
7217
7218 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7219
7220         * configure.ac:
7221           clean up further
7222         * gst/gst.c: (init_post):
7223         * win32/common/config.h.in:
7224           it's PLUGINDIR now
7225         * gst/gstcaps.c: (gst_caps_intersect):
7226           use gint64, the range could be bigger than a guint
7227
7228 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7229
7230         * gst/gstclock.h:
7231           document potential problem in 2038
7232
7233 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7234
7235         * gst/gstcaps.c: (gst_caps_intersect):
7236           Fix guint j diving under 0
7237
7238 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7239
7240         * configure.ac:
7241         * win32/common/config.h:
7242         * win32/common/config.h.in:
7243           check for process.h, declares getpid() on Windows
7244         * gst/gstinfo.c:
7245           include process.h if we have it
7246         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
7247         * gst/gstmemchunk.h:
7248           fix signedness issues
7249         * win32/common/libgstreamer.def:
7250           fix get_type's
7251
7252 2005-10-16  Julien MOUTTE  <julien@moutte.net>
7253
7254         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
7255         fix. Because of unsigned ints, caps intersection was going nuts and
7256         trying to access structures with G_MAXUINT index. That fixes
7257         videotestsrc ! ffmpegcolorspace ! fakesink
7258         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
7259         consistency.
7260
7261 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7262
7263         * configure.ac:
7264           use the gettext macro
7265         * gst/elements/gstelements.c:
7266         * gst/gst.c:
7267         * gst/indexers/gstindexers.c:
7268           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
7269         * win32/common/config.h:
7270           updated config.h
7271         * win32/common/config.h.in:
7272           add the template to generate config.h
7273         * win32/common/gstenumtypes.c:
7274         * win32/common/gstversion.h:
7275           updated copies
7276
7277 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7278
7279         * gst/gst.c: (gst_version):
7280         * gst/gstversion.h.in:
7281           add the nano
7282
7283 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7284
7285         * gst/gstevent.h:
7286           Oops, add missing closing bracket.
7287
7288 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7289
7290         * configure.ac:
7291           use common m4's for argument checking
7292
7293 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7294
7295         * docs/gst/gstreamer-sections.txt:
7296         * gst/gstevent.h:
7297           Add GST_EVENT_TYPE_NAME() macro.
7298
7299 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7300
7301         * gst/gstinfo.c:
7302         * gst/gstpluginfeature.c:
7303         * gst/gsttask.c:
7304           privatize more symbols
7305
7306 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * configure.ac:
7309           add srcdir, builddir includes to GST_ALL_CFLAGS, since
7310           everything that uses GStreamer API should have the includes
7311
7312 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7313
7314         * docs/gst/gstreamer-sections.txt:
7315         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7316         * gst/gstvalue.h:
7317           give each value a _get_type, removes the DATA exports
7318
7319 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7320
7321         * gst/gst.c:
7322         * gst/gst.h:
7323           remove _gst_registry_auto_load, not used anymore
7324         * gst/gstbin.c: (gst_bin_get_type):
7325         * gst/gstbin.h:
7326         * gst/gstelement.c: (gst_element_get_type):
7327         * gst/gstelement.h:
7328         * gst/gstobject.c: (gst_object_get_type):
7329         * gst/gstobject.h:
7330         * gst/gstpad.c: (gst_pad_get_type):
7331         * gst/gstpad.h:
7332           make _get_type functions similar, fixes data export from library
7333
7334 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7335
7336         * configure.ac:
7337           correctly make conditionals
7338         * gst/elements/Makefile.am:
7339         * gst/elements/gstelements.c:
7340           fix typo causing fdsrc not to build
7341
7342 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7343
7344         * testsuite/Makefile.am:
7345         * testsuite/bytestream/.cvsignore:
7346         * testsuite/bytestream/Makefile.am:
7347         * testsuite/bytestream/filepadsink.c:
7348         * testsuite/bytestream/gstbstest.c:
7349         * testsuite/bytestream/test1.c:
7350         * testsuite/bytestream/testfile1:
7351         * testsuite/caps/normalisation.c:
7352         * testsuite/caps/random.c: (main):
7353         * testsuite/cleanup/.cvsignore:
7354         * testsuite/cleanup/Makefile.am:
7355         * testsuite/cleanup/cleanup1.c:
7356         * testsuite/cleanup/cleanup2.c:
7357         * testsuite/cleanup/cleanup3.c:
7358         * testsuite/cleanup/cleanup4.c:
7359         * testsuite/cleanup/cleanup5.c:
7360         * testsuite/controller/interpolator.c:
7361         * testsuite/debug/printf_extension.c: (main):
7362         * testsuite/elements/tee.c:
7363         * testsuite/negotiation/.cvsignore:
7364         * testsuite/negotiation/Makefile.am:
7365         * testsuite/negotiation/pad_link.c:
7366         * testsuite/pad/Makefile.am:
7367         * testsuite/pad/chainnopull.c:
7368         * testsuite/pad/getnopush.c:
7369         * testsuite/pad/link.c:
7370         * testsuite/refcounting/sched.c: (create_pipeline):
7371         * testsuite/registry/Makefile.am:
7372         * testsuite/registry/gst-print-formats.c:
7373         * testsuite/schedulers/.cvsignore:
7374         * testsuite/schedulers/142183-2.c:
7375         * testsuite/schedulers/142183.c:
7376         * testsuite/schedulers/143777-2.c:
7377         * testsuite/schedulers/143777.c:
7378         * testsuite/schedulers/147713.c:
7379         * testsuite/schedulers/147819.c:
7380         * testsuite/schedulers/147894-2.c:
7381         * testsuite/schedulers/147894.c:
7382         * testsuite/schedulers/Makefile.am:
7383         * testsuite/schedulers/group_link.c:
7384         * testsuite/schedulers/queue_link.c:
7385         * testsuite/schedulers/relink.c:
7386         * testsuite/schedulers/unlink.c:
7387         * testsuite/schedulers/unref.c:
7388         * testsuite/schedulers/useless_iteration.c:
7389         * testsuite/states/bin.c:
7390           clean out/remove some stuff from the testsuite directories
7391
7392 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * configure.ac:
7395           check for some headers
7396         * gst/elements/Makefile.am:
7397         * gst/elements/gstelements.c:
7398           don't compile fdsrc without sys/socket.h
7399         * gst/indexers/Makefile.am:
7400         * gst/indexers/gstindexers.c: (plugin_init):
7401           don't compile fileindex without mmap
7402
7403 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7404
7405         * configure.ac:
7406           reorganize
7407           clean up
7408           document more
7409           remove cruft
7410         * check/Makefile.am:
7411         * docs/gst/Makefile.am:
7412         * examples/helloworld/Makefile.am:
7413         * gst/Makefile.am:
7414         * gst/base/Makefile.am:
7415         * gst/check/Makefile.am:
7416         * gst/elements/Makefile.am:
7417         * gst/indexers/Makefile.am:
7418         * gst/parse/Makefile.am:
7419         * libs/gst/controller/Makefile.am:
7420         * libs/gst/dataprotocol/Makefile.am:
7421         * examples/helloworld/helloworld.c: (event_loop):
7422           compile fixes, though it's not being compiled currently
7423
7424 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7425
7426         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7427           Add some simple tests for the new taglist date API.
7428
7429 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7430
7431         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7432         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7433           Beautify 'last-message' output: print 'none' for buffer timestamps
7434           and durations if none is set; improve alignment with next messages.
7435
7436 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7437
7438         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7439         * gst/gstpluginfeature.h:
7440         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7441         * gst/gstregistry.h:
7442         * docs/gst/gstreamer-sections.txt:
7443           Add new API to check plugin feature version requirements.
7444
7445         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7446           Some basic tests for the above.         
7447
7448 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7449
7450         * gst/gststructure.c: (gst_structure_to_string):
7451           guard against NULL printf - happens when for example
7452           a message structure with GstClock gets serialized
7453
7454 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7455
7456         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7457           Fix presumable copy'n'pasto.
7458
7459 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7460
7461         * gst/elements/gstfakesrc.h:
7462         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7463         * gst/elements/gsttypefindelement.c:
7464           fix some signedness
7465         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7466           I wonder if this could actually write +2GB files before
7467
7468 2005-10-13  Andy Wingo  <wingo@pobox.com>
7469
7470         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7471         Fix Timmeke Waymans bug.
7472         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7473         string of the proper length to gst_caps_from_string. There's a
7474         potential for, before this fix, that this could cause someone
7475         connecting over the network to cause a segfault if the payload is
7476         not NUL-terminated.
7477
7478 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/design/draft-push-pull.txt:
7481         * docs/design/part-overview.txt:
7482         * docs/random/TODO-pre-0.9:
7483         * docs/random/old/ChangeLog.gstreamer:
7484         * gst/base/gstpushsrc.c:
7485         * gst/gstclock.c:
7486           fixed typos
7487
7488 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7489
7490         * gst/glib-compat.c: (gst_flags_get_first_value):
7491         * gst/glib-compat.h:
7492         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7493         (gst_value_compare_double), (gst_value_serialize_flags):
7494           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7495           infinite loop
7496
7497 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7498
7499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7500         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7501           fix up debugging
7502         * tools/gst-launch.c: (event_loop):
7503           print out clock nicely
7504
7505 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7506
7507         * docs/gst/gstreamer-sections.txt:
7508         * gst/gsttaglist.h:
7509         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7510         (gst_tag_list_get_date_index):
7511           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7512           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7513
7514 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7515
7516         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7517         (gst_collectpads_chain):
7518         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7519         in CollectData.
7520
7521 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * docs/gst/gstreamer-sections.txt:
7524         * gst/gst.c:
7525         * gst/gsterror.h:
7526         * tools/gst-inspect.c: (main):
7527         * tools/gst-launch.c: (main):
7528         * tools/gst-run.c: (main):
7529         * tools/gst-xmlinspect.c: (main):
7530           fix GOption context leaks
7531           doc fixes
7532
7533 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * gst/gstbus.c:
7536           use HAVE_UNISTD_H
7537         * win32/common/config.h:
7538           update config
7539         * win32/vs6/grammar.dsp:
7540         * win32/vs6/libgstelements.dsp:
7541         * win32/vs6/libgstreamer.dsp:
7542           update vs6 files
7543
7544 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7547         * gst/base/gstbasesrc.c: (gst_base_src_query):
7548           fix more guint64<->gdouble conversions
7549
7550 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * Makefile.am:
7553           add win32-update target
7554         * win32/common/gstconfig.h:
7555         * win32/common/gstenumtypes.c:
7556         * win32/common/gstenumtypes.h:
7557         * win32/common/gstversion.h:
7558           add files that visual studio can't generate
7559
7560 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * Makefile.am:
7563           add a win32-update target
7564         * configure.ac:
7565
7566 2005-10-12  Wim Taymans  <wim@fluendo.com>
7567
7568         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7569         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7570         * gst/gstelement.c: (gst_element_commit_state),
7571         (gst_element_set_state):
7572         Protect flags with proper lock.
7573         unref provided cached clock in dispose.
7574
7575 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7576
7577         * gst/gst.c:
7578         * gst/gstminiobject.h:
7579         * gst/gstpad.h:
7580         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7581           removed unused flags from miniobject
7582           doc fixes
7583
7584 2005-10-12  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7587         (gst_file_sink_event), (gst_file_sink_render):
7588         Flush before seeking.
7589
7590 2005-10-12  Andy Wingo  <wingo@pobox.com>
7591
7592         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7593         always been the case.
7594
7595 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7596
7597         * check/gst/gstbin.c: (GST_START_TEST):
7598         * docs/gst/gstreamer-sections.txt:
7599         * gst/base/gstbasesink.c: (gst_base_sink_init):
7600         * gst/base/gstbasesrc.c: (gst_base_src_init),
7601         (gst_base_src_get_range), (gst_base_src_check_get_range),
7602         (gst_base_src_start), (gst_base_src_stop):
7603         * gst/base/gstbasesrc.h:
7604         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7605         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7606         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7607         (bin_bus_handler):
7608         * gst/gstbin.h:
7609         * gst/gstbuffer.h:
7610         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7611         * gst/gstbus.h:
7612         * gst/gstelement.c: (gst_element_is_locked_state),
7613         (gst_element_set_locked_state), (gst_element_commit_state),
7614         (gst_element_set_state):
7615         * gst/gstelement.h:
7616         * gst/gstindex.c: (gst_index_init):
7617         * gst/gstindex.h:
7618         * gst/gstminiobject.h:
7619         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7620         (gst_object_set_parent):
7621         * gst/gstobject.h:
7622         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7623         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7624         * gst/gstpad.h:
7625         * gst/gstpadtemplate.h:
7626         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7627         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7628         * gst/gstpipeline.h:
7629         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7630         (gst_file_index_commit):
7631         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7632         * testsuite/pad/link.c: (gst_test_src_init),
7633         (gst_test_filter_init), (gst_test_sink_init):
7634         * testsuite/states/locked.c: (main):
7635           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7636           moved bitshift from macro to enum definition
7637
7638 2005-10-12  Wim Taymans  <wim@fluendo.com>
7639
7640         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7641         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7642         (gst_file_sink_render):
7643         Some more debugging info.
7644
7645 2005-10-12  Wim Taymans  <wim@fluendo.com>
7646
7647         * docs/design/part-states.txt:
7648         * tools/gst-launch.c: (main):
7649         Some doc updates.
7650         Revert non-intentional change.
7651
7652 2005-10-12  Wim Taymans  <wim@fluendo.com>
7653
7654         * check/gst/gstbin.c: (GST_START_TEST):
7655         * check/gst/gstelement.c: (GST_START_TEST):
7656         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7657         * check/gst/gstghostpad.c: (GST_START_TEST):
7658         * check/gst/gstpipeline.c: (GST_START_TEST):
7659         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7660         * check/states/sinks.c: (GST_START_TEST):
7661         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7662         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7663         (gst_bin_remove_func), (gst_bin_get_state_func),
7664         (gst_bin_recalc_state), (gst_bin_change_state_func),
7665         (bin_bus_handler):
7666         * gst/gstelement.c: (gst_element_get_state_func),
7667         (gst_element_get_state), (gst_element_abort_state),
7668         (gst_element_commit_state), (gst_element_set_state),
7669         (gst_element_change_state), (gst_element_change_state_func):
7670         * gst/gstelement.h:
7671         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7672         (gst_pipeline_provide_clock_func):
7673         * gst/gstutils.c: (gst_element_link_pads_filtered):
7674         * tools/gst-launch.c: (main):
7675         * tools/gst-typefind.c: (main):
7676         Use GstClockTime in _get_state() instead of GTimeVal.
7677         Remove old code in gstutils.c
7678
7679 2005-10-12  Andy Wingo  <wingo@pobox.com>
7680
7681         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7682         removed.
7683
7684         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7685         there is no task. Shouldn't affect any code, as nothing in our
7686         plugins checks this return value.
7687         (gst_pad_stop_task): Also take the stream lock if the pad has no
7688         task. Docs updated.
7689
7690 2005-10-12  Wim Taymans  <wim@fluendo.com>
7691
7692         * gst/gstpad.c: (pre_activate), (post_activate),
7693         (gst_pad_activate_pull), (gst_pad_activate_push):
7694         Cleanup activation code. Reset old state if
7695         activation failed.
7696
7697 2005-10-12  Wim Taymans  <wim@fluendo.com>
7698
7699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7700         (gst_base_sink_change_state):
7701         No need to prerol after receiving EOS.
7702
7703         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7704         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7705         * gst/elements/gstidentity.c: (gst_identity_event):
7706         Print events more verbosely.
7707
7708 2005-10-12  Wim Taymans  <wim@fluendo.com>
7709
7710         * check/Makefile.am:
7711         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7712         * check/states/sinks2.c:
7713         Moved sinks2 testcode in sinks check.
7714
7715         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7716         (gst_bin_remove_func), (gst_bin_recalc_state),
7717         (gst_bin_change_state_func), (bin_bus_handler):
7718         Fix potential race condition when _get_state() iterated over an
7719         ASYNC element right before it posted a state completion.
7720
7721         * gst/gstclock.h:
7722         Do proper cast here.
7723
7724         * gst/gstevent.c: (gst_event_new_newsegment),
7725         (gst_event_parse_newsegment):
7726         A playback rate of 0.0 is not allowed.
7727
7728 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7729
7730         * win32/common/config.h:
7731         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7732         (_trewinddir), (_ttelldir), (_tseekdir):
7733         * win32/common/dirent.h:
7734         * win32/common/gtchar.h:
7735         * win32/common/libgstbase.def:
7736         * win32/common/libgstreamer.def:
7737         * win32/vs6/grammar.dsp:
7738         * win32/vs6/gst_inspect.dsp:
7739         * win32/vs6/gst_launch.dsp:
7740         * win32/vs6/gstreamer.dsw:
7741         * win32/vs6/libgstbase.dsp:
7742         * win32/vs6/libgstelements.dsp:
7743         * win32/vs6/libgstreamer.dsp:
7744           Visual Studio 6 project files, and a new common directory.
7745           Phear.
7746
7747 2005-10-11  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7750         (gst_base_sink_do_sync), (gst_base_sink_query),
7751         (gst_base_sink_change_state):
7752         * gst/base/gstbasesink.h:
7753         Correctly parse newsegment info.
7754
7755 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * gst/gst.c: (init_post):
7758           split plugin paths correctly
7759
7760 2005-10-11  Wim Taymans  <wim@fluendo.com>
7761
7762         * check/gst/gstevent.c: (GST_START_TEST):
7763         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7764         (gst_base_sink_change_state):
7765         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7766         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7767         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7768         * gst/gstevent.c: (gst_event_new_newsegment),
7769         (gst_event_parse_newsegment):
7770         * gst/gstevent.h:
7771         Added extra flag to newsegment for future API freeze.
7772         Updated check and base elements.
7773
7774 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7775
7776         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7777         (gst_collectpads_add_pad), (gst_collectpads_pop),
7778         (gst_collectpads_event), (gst_collectpads_chain):
7779         * gst/base/gstcollectpads.h: Handle EOS correctly.
7780
7781 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7782
7783         * tools/gst-launch.c: (main):
7784           more null protecting
7785
7786 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * gst/gst-i18n-lib.h:
7789           check for ENABLE_NLS, not GETTEXT_PACKAGE
7790         * gst/gstregistry.c: (gst_registry_add_plugin),
7791         (gst_registry_scan_path_level),
7792         (_gst_registry_remove_cache_plugins):
7793           protect possibly NULL strings
7794         * gst/parse/types.h:
7795           config.h already included before
7796         * tools/gst-inspect.c: (main):
7797           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7798           check for ENABLE_NLS, not GETTEXT_PACKAGE
7799         * tools/gst-launch.c: (main):
7800           check for ENABLE_NLS, not GETTEXT_PACKAGE
7801
7802 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7803
7804         * configure.ac:
7805           if we don't have glib, fail before testing 2.8
7806         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7807           fix a leak, should fix plugins-base testsuite
7808
7809 2005-10-11  Andy Wingo  <wingo@pobox.com>
7810
7811         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7812         take the mode we're going to as an arg. Go head and set the mode
7813         and flushing flags now, so that if the activate function starts a
7814         thread all the flags will be in the right state.
7815         (post_activate): Renamed also. Just handle making sure streaming
7816         finishes for the deactivation case, and setting the deactivated
7817         mode.
7818         (gst_pad_set_active): Complain loudly if deactivation fails.
7819         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7820         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7821         remove the terrible hack.
7822
7823 2005-10-11  Wim Taymans  <wim@fluendo.com>
7824
7825         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7826         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7827         (gst_bin_recalc_state), (gst_bin_change_state_func),
7828         (gst_bin_dispose), (bin_bus_handler):
7829         * gst/gstbin.h:
7830         Prepare to make current EOS message queue more generic.
7831         Fix some typos.
7832
7833         * gst/gstevent.c: (gst_event_new_newsegment),
7834         (gst_event_parse_newsegment):
7835         * gst/gstevent.h:
7836         Rename base to stream_time.
7837
7838         * gst/gstmessage.h:
7839         Fix typo in docs.
7840
7841 2005-10-11  Wim Taymans  <wim@fluendo.com>
7842
7843         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7844         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7845         (gst_bin_change_state_func), (bin_bus_handler):
7846         * gst/gstbin.h:
7847         Work on proper clock selection.
7848
7849 2005-10-11  Edward Hervey  <edward@fluendo.com>
7850
7851         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7852         * libs/gst/controller/gstcontroller.h:
7853         Added GList* version of _remove_properties() in order to be able to wrap
7854         it in bindings.
7855
7856 2005-10-11  Wim Taymans  <wim@fluendo.com>
7857
7858         * docs/design/part-states.txt:
7859         Some more docs.
7860
7861         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7862         (gst_bin_change_state_func), (bin_bus_handler):
7863         Doc updates. Don't distribute the same clock over and over again.
7864
7865         * gst/gstclock.c:
7866         * gst/gstclock.h:
7867         Doc updates.
7868
7869         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7870         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7871         (gst_pad_send_event):
7872         * gst/gstpad.h:
7873         Make probe emission threadsafe again.
7874         Register quarks and move _get_name() from utils.
7875         Doc updates.
7876
7877         * gst/gstpipeline.c: (gst_pipeline_class_init),
7878         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7879         Only redistribute the clock of it changed.
7880
7881         * gst/gstsystemclock.h:
7882         Doc updates. 
7883
7884         * gst/gstutils.c:
7885         * gst/gstutils.h:
7886         Moved the _flow_get_name() to GstPad.
7887
7888 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * check/gst-libs/gdp.c: (GST_START_TEST):
7891         * check/gst/gstcaps.c: (GST_START_TEST):
7892         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7893         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7894         (gst_dp_packet_from_caps):
7895           fix more valgrind warnings before turning up the heat
7896
7897 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * gst/parse/grammar.y:
7900           some cleanup before the hacking
7901
7902 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7903
7904         * gst/base/gstbasesrc.c: (gst_base_src_query):
7905           use conversions
7906         * gst/gstutils.c: (gst_guint64_to_gdouble),
7907         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7908         * gst/gstutils.h:
7909           externalize, basesrc uses it
7910           obviously the implementation needs testing
7911
7912 2005-10-10  Wim Taymans  <wim@fluendo.com>
7913
7914         * tests/sched/Makefile.am:
7915         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7916         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7917
7918 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7921           apparently converting from guint64 to double is not implemented
7922           on MSVC
7923
7924 2005-10-10  Wim Taymans  <wim@fluendo.com>
7925
7926         * check/Makefile.am:
7927         * check/generic/states.c: (GST_START_TEST):
7928         * check/gst/gstbin.c: (GST_START_TEST):
7929         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7930         * check/states/sinks.c: (GST_START_TEST):
7931         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7932         (main):
7933         Check fixes, use API as stated in design docs, remove hacks.
7934
7935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7936         (gst_base_sink_change_state):
7937         Catch stopping our task while we're shutting down.
7938
7939         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7940         (gst_bin_remove_func), (gst_bin_get_state_func),
7941         (gst_bin_recalc_state), (gst_bin_change_state_func),
7942         (bin_bus_handler):
7943         * gst/gstbin.h:
7944         * gst/gstelement.c: (gst_element_init),
7945         (gst_element_get_state_func), (gst_element_abort_state),
7946         (gst_element_commit_state), (gst_element_lost_state),
7947         (gst_element_set_state), (gst_element_change_state),
7948         (gst_element_change_state_func):
7949         * gst/gstelement.h:
7950         New state change algorithm (see #318116)
7951
7952         * gst/gstpipeline.c: (gst_pipeline_class_init),
7953         (gst_pipeline_init), (gst_pipeline_set_property),
7954         (gst_pipeline_get_property), (do_pipeline_seek),
7955         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7956         * gst/gstpipeline.h:
7957         Remove crude state change hacks.
7958
7959         * gst/gstutils.h:
7960         Remove crude hacks.
7961
7962         * tools/gst-launch.c: (main):
7963         Fixes for state change. Needs some more work to fully use the
7964         new stuff.
7965
7966 2005-10-10  Andy Wingo  <wingo@pobox.com>
7967
7968         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7969
7970         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7971         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7972         issue.
7973
7974 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7975
7976         * gst/gstiterator.c: (gst_iterator_new):
7977           Fix my previous commit: GTypes passed to gst_iterator_new()
7978           can be fundamental types.
7979
7980 2005-10-10  Wim Taymans  <wim@fluendo.com>
7981
7982         * gst/gstelement.c: (gst_element_iterate_pad_list),
7983         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7984         (gst_element_iterate_sink_pads):
7985         Use src/sink pads lists for the respective iterators instead
7986         of filtering.
7987
7988 2005-10-10  Andy Wingo  <wingo@pobox.com>
7989
7990         Merged in popt removal + GOption addition patch from Ronald, bug
7991         #169772.
7992
7993         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7994         GstElement macros around, remove popt-related symbols, add goption
7995         stuff.
7996
7997         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7998         
7999         * docs/gst/Makefile.am:
8000         * docs/libs/Makefile.am: No POPT_CFLAGS.
8001         
8002         * examples/manual/Makefile.am:
8003         * docs/manual/basics-init.xml: Doc updates with an example.
8004         
8005         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8006         (gst_init), (parse_one_option), (parse_goption_arg):
8007         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8008         bit of hand merging and debugging to get the GOption stuff working
8009         tho.
8010         
8011         * tests/Makefile.am:
8012         * tools/Makefile.am:
8013         * tools/gst-inspect.c: (main):
8014         * tools/gst-launch.c: (main):
8015         * tools/gst-run.c: (main):
8016         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8017
8018 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8019
8020         * gst/gstiterator.c: (gst_iterator_new):
8021           Add assertions to make sure passed GType is likely to really
8022           be a GType (as the compiler won't catch it if the size and
8023           GType arguments get mixed up, see #318447).
8024
8025 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8026
8027         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8028
8029         * gst/gstbin.c: (gst_bin_iterate_sorted):
8030           Pass GType and size arguments to gst_iterator_new() in the right
8031           order (maybe we should make _new() take the GType as first argument
8032           just like _new_list()?) (#318447).
8033           
8034
8035 2005-10-10  Wim Taymans  <wim@fluendo.com>
8036
8037         * gst/gstelement.c: (gst_element_finalize):
8038         And free the GStaticRecMutex too
8039
8040 2005-10-10  Andy Wingo  <wingo@pobox.com>
8041
8042         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8043         Allocate and free the mutex properly.
8044
8045         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8046         New macros.
8047         (GstElement): The state_lock is now recursive. Rebuild your
8048         plugins, suckers. Old macros adapted.
8049
8050         * docs/gst/gstreamer-sections.txt: Doc updates.
8051
8052         * gst/gstutils.h:
8053         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8054         (g_static_rec_cond_wait): Ported from state changes patch, while
8055         we wait on bug #317802 to be solved in a well-distributed GLib.
8056
8057         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8058         gst_element_change_state, variable name changes.
8059         (gst_element_change_state): Split out of gst_element_set_state in
8060         preparation for the state change merge. Doesn't pay attention to
8061         the 'transition' argument.
8062         (gst_element_set_state): Updates, hopefully purely cosmetic.
8063         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8064         state change patch.
8065         (gst_element_get_state_func): Renamed from get_state, cosmetic
8066         changes.
8067
8068 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8069
8070         * gst/elements/gstelements.c:
8071         * win32/GStreamer.vcproj:
8072         * win32/config.h:
8073         * win32/dirent.c: (_tseekdir):
8074         * win32/gst-inspect.vcproj:
8075         * win32/gst-launch.vcproj:
8076         * win32/gstconfig.h:
8077         * win32/gstelements.vcproj:
8078         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8079         * win32/gstreamer.def:
8080         * win32/msvc71.sln:
8081           updates for the win32 build (patch from Sebastien Moutte)
8082
8083 2005-10-10  Andy Wingo  <wingo@pobox.com>
8084
8085         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8086         gst_bin_get_state, cleaned up (but no logic changes).
8087         (bin_element_is_sink): Comment updates.
8088         (sink_iterator_filter): Remove needless cast.
8089         (gst_bin_iterate_sinks): Doc update.
8090         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8091         cleaned up (but no logic changes).
8092
8093         * check/states/sinks.c (test_src_sink): Cleanups from the state
8094         change patch.
8095         (test_livesrc_sink): Sync on the state.
8096
8097         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8098         the state change patch.
8099
8100         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8101         change patch.
8102
8103         * check/gst/gstbin.c: Merge in some style fixes and additional
8104         checks from Wim's state change patch.
8105
8106 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8107
8108         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8109         (gst_type_find_helper):
8110           Check whether we have the requested data already in our list of
8111           cached buffers before pulling a new buffer; also make the buffer
8112           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8113
8114 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8115
8116         * gst/gstcaps.c:
8117         * gst/gstevent.c:
8118           doc updates
8119         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8120           don't use long long, it's not portable.  Replacing with
8121           gint64 seems to work; let's hope no skeletons fall out of the closet.
8122
8123 2005-10-10  Andy Wingo  <wingo@pobox.com>
8124
8125         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8126
8127 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8128
8129         * docs/gst/gstreamer-sections.txt:
8130         * gst/gstevent.c:
8131         * gst/gstevent.h:
8132         * gst/gstinfo.c:
8133         * gst/gstinfo.h:
8134         * gst/gstmessage.c: (gst_message_parse_state_changed):
8135         * gst/gstpad.c:
8136         * gst/gstpad.h:
8137           more docs, fix compilation
8138
8139 2005-10-09  Philippe Khalaf <burger@speedy.org>
8140         * gst/gstmessage.c:
8141           Fixed a few forgotten variables on previous commit
8142
8143 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8144
8145         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8146           Fix evil typefind crasher: getrange() might return a short
8147           buffer at the end of a file, but gst_type_find_peek() must
8148           either return the full data as requested or NULL, but
8149           never a short buffer.
8150
8151 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/gstmessage.c: (gst_message_new_state_changed),
8154         (gst_message_parse_state_changed):
8155         * gst/gstmessage.h:
8156           don't use "new", it's a C++ keyword
8157
8158 2005-10-08  Wim Taymans  <wim@fluendo.com>
8159
8160         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8161         * gst/gstelement.c: (gst_element_post_message):
8162         * gst/gstpipeline.c: (gst_pipeline_change_state):
8163         Small docs and debug updates.
8164
8165 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8166
8167         * docs/gst/gstreamer-sections.txt:
8168         * gst/gstelementfactory.c:
8169         * gst/gstevent.c:
8170         * gst/gsttaglist.c:
8171           more docs
8172
8173 2005-10-08  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8176         (gst_bin_dispose), (bin_bus_handler):
8177         Fix typos, add comments.
8178         Clear EOS list when going to PAUSED from any direction and do it
8179         in a threadsafe way.
8180         Get base time in a threadsafe way too.
8181         Fix confusing debug in the change_state function.
8182         Various other small cleanups.
8183         
8184         * gst/gstelement.c: (gst_element_post_message):
8185         Fix very verbose bus posting code.
8186
8187         * gst/gstpipeline.c: (gst_pipeline_class_init),
8188         (gst_pipeline_set_property), (gst_pipeline_get_property),
8189         (gst_pipeline_change_state):
8190         Small ARG_ -> PROP_ cleanup
8191
8192 2005-10-08  Wim Taymans  <wim@fluendo.com>
8193
8194         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8195         Do a less CPU demanding EOS check because we can.
8196
8197 2005-10-08  Wim Taymans  <wim@fluendo.com>
8198
8199         * libs/gst/dataprotocol/dataprotocol.c:
8200         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8201         (gst_dp_packet_from_event):
8202         * libs/gst/dataprotocol/dataprotocol.h:
8203         * libs/gst/dataprotocol/dp-private.h:
8204         It's about time we bump the version number.
8205         Since event types don't fit in the guint8 anymore describing
8206         the payload type, make payload type 16 bits wide.
8207
8208 2005-10-08  Wim Taymans  <wim@fluendo.com>
8209
8210         * docs/design/part-TODO.txt:
8211         * docs/design/part-clocks.txt:
8212         * docs/design/part-events.txt:
8213         * docs/design/part-gstbin.txt:
8214         * docs/design/part-gstelement.txt:
8215         * docs/design/part-gstpipeline.txt:
8216         * docs/design/part-live-source.txt:
8217         * docs/design/part-messages.txt:
8218         * docs/design/part-overview.txt:
8219         * docs/design/part-states.txt:
8220         Many doc updates.
8221
8222 2005-10-08  Wim Taymans  <wim@fluendo.com>
8223
8224         * gst/gstevent.c:
8225         * gst/gstevent.h:
8226         Fix event quark registration.
8227         Add some space between events so we can insert them in the
8228         right groups.
8229
8230 2005-10-08  Wim Taymans  <wim@fluendo.com>
8231
8232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8233         (gst_base_sink_handle_buffer):
8234         Better log message.
8235
8236         * gst/gstbus.h:
8237         * gst/gstelement.h:
8238         More docs.
8239
8240         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8241         (gst_queue_set_property), (gst_queue_get_property):
8242         * gst/gstqueue.h:
8243         Remove old unused properties.
8244
8245 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8246         * docs/gst/gstreamer-sections.txt:
8247         * gst/gstmessage.c:
8248         * gst/gstmessage.h:
8249         * gst/gstminiobject.c:
8250         * gst/gstminiobject.h:
8251         * gst/gstobject.h:
8252         * gst/gstpad.h:
8253         * gst/gstutils.h:
8254           lots of new docs and doc fixes
8255
8256 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8257
8258         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
8259         * gst/gstplugin.h:
8260         * gst/gstregistry.c: (gst_registry_lookup_locked),
8261         (gst_registry_scan_path_level):
8262         * gst/gstregistryxml.c: (load_plugin):
8263           Only ever load one plugin for a given plugin basename.
8264           This ensures correct overriding of GST_PLUGIN_PATH over
8265           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
8266           system installed plugins.
8267
8268 2005-10-08  Wim Taymans  <wim@fluendo.com>
8269
8270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8271         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
8272         Prepare for doing QOS.
8273
8274 2005-10-08  Wim Taymans  <wim@fluendo.com>
8275
8276         * check/gst/gstbin.c: (GST_START_TEST):
8277         * check/pipelines/cleanup.c: (GST_START_TEST):
8278         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8279         Allow new clock message too.
8280
8281 2005-10-08  Wim Taymans  <wim@fluendo.com>
8282
8283         * gst/gstmessage.c: (gst_message_new_error),
8284         (gst_message_new_warning), (gst_message_new_tag),
8285         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8286         (gst_message_new_clock_lost), (gst_message_new_new_clock),
8287         (gst_message_new_segment_start), (gst_message_new_segment_done),
8288         (gst_message_parse_state_changed),
8289         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
8290         (gst_message_parse_new_clock):
8291         * gst/gstmessage.h:
8292         Also carry the clock in question.
8293
8294 2005-10-08  Wim Taymans  <wim@fluendo.com>
8295
8296         * gst/gstmessage.c: (gst_message_new_custom),
8297         (gst_message_new_eos), (gst_message_new_error),
8298         (gst_message_new_warning), (gst_message_new_tag),
8299         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8300         (gst_message_new_new_clock), (gst_message_new_segment_start),
8301         (gst_message_new_segment_done), (gst_message_parse_state_changed),
8302         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
8303         * gst/gstmessage.h:
8304         Clean up.
8305         Added clock related messages.
8306
8307         * gst/gstpipeline.c: (gst_pipeline_change_state):
8308         Post message when the clock changed.
8309
8310         * tools/gst-launch.c: (event_loop):
8311         Print new clock.
8312
8313 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8314
8315         * tools/gst-inspect.c: (print_element_properties_info):
8316           Can't pass NULL strings to g_print() on windows.
8317
8318 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8319
8320         * docs/Makefile.am:
8321         * docs/gst/Makefile.am:
8322         * docs/gst/gstreamer-docs.sgml:
8323         * docs/gst/running.xml:
8324         * docs/version.entities.in:
8325           add a chapter on running GStreamer.
8326           document GST_DEBUG and GST_PLUGIN* env vars
8327
8328 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8329
8330         * Makefile.am:
8331           remove include dir
8332         * configure.ac:
8333           remove PLUGINS_BUILDDIR stuff
8334         * gst/gst.c: (init_post):
8335           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8336         * idiottest.mak:
8337           remove, it was condescending and not needed
8338
8339 2005-10-08  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8342         (gst_base_sink_handle_object), (gst_base_sink_event),
8343         (gst_base_sink_wait), (gst_base_sink_handle_event),
8344         (gst_base_sink_change_state):
8345         * gst/base/gstbasesink.h:
8346         Repost EOS message while going to PLAYING if still EOS.
8347         Make sure that when receiving a FLUSH_START we don't attempt
8348         to sync on the clock anymore.
8349
8350 2005-10-08  Wim Taymans  <wim@fluendo.com>
8351
8352         * tools/gst-launch.c: (event_loop):
8353         Better message printout.
8354
8355 2005-10-08  Wim Taymans  <wim@fluendo.com>
8356
8357         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8358         (gst_bin_child_proxy_get_children_count):
8359         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8360         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8361         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8362         (gst_child_proxy_set_valist):
8363         * gst/parse/grammar.y:
8364         Make ChildProxy threadsafe and fix mem leaks.
8365
8366 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * gst/gst.c: (init_post):
8369           debug the GST_PLUGIN_ env vars
8370
8371 2005-10-08  Wim Taymans  <wim@fluendo.com>
8372
8373         * check/gst/gstbin.c: (GST_START_TEST):
8374         * check/gst/gstmessage.c: (GST_START_TEST):
8375         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8376         * gst/gstelement.c: (gst_element_commit_state),
8377         (gst_element_lost_state):
8378         * gst/gstmessage.c: (gst_message_new_state_changed),
8379         (gst_message_parse_state_changed):
8380         * gst/gstmessage.h:
8381         * tools/gst-launch.c: (event_loop):
8382         Added extra field to STATE_CHANGE message with the pending
8383         state, which will be different from the new state soon.
8384
8385 2005-10-08  Wim Taymans  <wim@fluendo.com>
8386
8387         * gst/gstbus.c: (gst_bus_pop):
8388         * gst/gstclock.c:
8389         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8390         Small cleanups and doc updates.
8391
8392 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * gst/gst.c: (init_pre):
8395         * gst/gstbin.c: (gst_bin_add_func):
8396           log distributing clocks and base time
8397         * gst/gstregistry.c: (gst_registry_add_plugin),
8398         (gst_registry_scan_path_level), (gst_registry_scan_path):
8399           clean up the debugging output a little
8400         * gst/gstutils.c: (gst_element_state_get_name):
8401           warn about a memleak (I've actually seen this be used, though
8402           it was probably a bug)
8403
8404 2005-10-07  Wim Taymans  <wim@fluendo.com>
8405
8406         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8407         (gst_base_src_init), (gst_base_src_default_newsegment),
8408         (gst_base_src_newsegment), (gst_base_src_do_seek),
8409         (gst_base_src_loop), (gst_base_src_start):
8410         * gst/base/gstbasesrc.h:
8411         Make the newsegment event customizable by subclasses.
8412
8413 2005-10-07  Wim Taymans  <wim@fluendo.com>
8414
8415         * gst/gstevent.c: (gst_event_new_buffersize),
8416         (gst_event_parse_buffersize):
8417         * gst/gstevent.h:
8418         New event for future idea.
8419
8420 2005-10-07  Andy Wingo  <wingo@pobox.com>
8421
8422         * gst/gstelement.c (gst_element_post_message): Doc update.
8423
8424         * docs/gst/gstreamer-sections.txt: Update.
8425
8426         * gst/gstmessage.c (gst_message_new_application): Made into a
8427         function like honest API calls.
8428         (gst_message_new_element): New message type.
8429
8430         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8431
8432         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8433         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8434         times.
8435
8436         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8437         NO_PREROLL from gst_element_change_state to fall through.
8438
8439 2005-10-07  Wim Taymans  <wim@fluendo.com>
8440
8441         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8442         (gst_ghost_pad_do_activate_push):
8443         Activating a ghostpad with no internal pad in push mode
8444         is ok.
8445
8446 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8447
8448         * gst/gstobject.h:
8449           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8450           Fixes compilation on Windows.
8451
8452 2005-10-07  Michael Smith <msmith@fluendo.com>
8453
8454         * tools/gst-inspect.c:
8455           Print out feature and plugin count at the end when printing out
8456           all features.
8457
8458 2005-10-04  Michael Smith <msmith@fluendo.com>
8459
8460         * gst/gsterror.c: (_gst_stream_errors_init):
8461           Add another error string used in a few existing plugins.
8462
8463         * gst/gstplugin.c:
8464         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8465         * tools/gst-inspect.c: (print_element_info):
8466           When a feature disappears from a plugin (and the feature exists in
8467           the cached registry file), things went horribly wrong. This isn't a
8468           complete fix, we should actually be removing the 'missing' features
8469           from the features list when we load the actual plugin. That's not
8470           yet implemented. 
8471
8472 2005-10-04  Johan Dahlin  <johan@gnome.org>
8473
8474         * check/gst/gstiterator.c: (GST_START_TEST):
8475         * gst/gstbin.c: (gst_bin_iterate_elements),
8476         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8477         * gst/gstelement.c: (gst_element_iterate_pads):
8478         * gst/gstformat.c: (gst_format_iterate_definitions):
8479         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8480         (gst_iterator_new_list), (gst_iterator_filter):
8481         * gst/gstiterator.h:
8482         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8483         Add a GType to GstIterator, update callsites and tests.
8484
8485 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8486
8487         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8488           give events a chance to be handled by event probes when the pad
8489           is not linked
8490
8491 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * gst/gstevent.c: (gst_event_type_get_name),
8494         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8495         * gst/gstevent.h:
8496           add string representations for event types
8497
8498 2005-10-06  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8501         Don't use NULL pointers.
8502
8503 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * gst/gst_private.h:
8506         * gst/gstbus.c:
8507         * gst/gstelement.c:
8508         * gst/gstinfo.c:
8509         * gst/gstpluginfeature.c:
8510           widen the debug category in output to fit the biggest one we have
8511           add a bus category and use it
8512           play with the colors
8513           fix up some categories
8514
8515 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8516
8517         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8518           add push activation of sink ghost pads.
8519           Andye, please verify
8520
8521 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8522
8523         * gst/gstutils.c: (gst_element_link_pads):
8524           fix a bug in the case where neither element has a pad
8525         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8526           add a test for that case
8527
8528 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8531           emit have-data before checking for peers.  This allows
8532           for probe handlers to connect elements.  This helps autopluggers.
8533         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8534         (gst_pad_suite):
8535           add six checks, linked/unlinked with no/true/false probe
8536
8537 2005-10-04  Wim Taymans  <wim@fluendo.com>
8538
8539         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8540         (gst_fake_sink_event), (gst_fake_sink_preroll),
8541         (gst_fake_sink_render), (gst_fake_sink_change_state):
8542         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8543         (gst_fake_src_get_property), (gst_fake_src_create),
8544         (gst_fake_src_stop):
8545         * gst/elements/gstidentity.c: (gst_identity_stop):
8546         Protect last_message with lock.
8547
8548 2005-10-04  Edward Hervey  <edward@fluendo.com>
8549
8550         * gst/gstformat.h: 
8551         Added precision in the comments for GST_FORMAT_DEFAULT
8552
8553 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8554
8555         * tools/gst-launch.c: (main):
8556           Don't try to run erroneous pipelines.
8557
8558 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8559
8560         * gst/gstbus.c: We don't need this header.
8561
8562 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8563
8564         * configure.ac:
8565           back to development
8566
8567 === release 0.9.3 ===
8568
8569 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * README:
8572         * configure.ac:
8573           Releasing 0.9.3, "Unregistered"
8574
8575 2005-10-03  Andy Wingo  <wingo@pobox.com>
8576
8577         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8578         whereby calling a pad's activatepush() function can start a thread
8579         that starts to push or pull before the pad gets the FLUSHING flag
8580         unset. Hack around it by holding the stream lock until the flag is
8581         set. Need to replace this with a proper solution. Together with
8582         the ghost pad fixes, this fixes mp3 playing/tagreading.
8583
8584         * docs/design/part-gstghostpad.txt: Add a note about activation of
8585         proxy pads outside of ghost pads.
8586
8587         * gst/gstghostpad.c: Implement the ghost pad activation design.
8588
8589 2005-10-02  Andy Wingo  <wingo@pobox.com>
8590
8591         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8592         It is volatile, after all.
8593
8594         * docs/design/part-gstghostpad.txt: Flesh out activation with
8595         ghost pads.
8596
8597         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8598         GST_DEBUG_FUNCPTR.
8599
8600 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8601
8602         * configure.ac:
8603           Fix (unused) AM_CONDITIONAL tests.
8604
8605 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8606
8607         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8608
8609         * gst/gstutils.c: (gst_pad_query_convert):
8610           Add assertion that makes sure src_val is >=0, just like
8611           gst_query_new_convert() has. (#315895)
8612
8613 2005-09-30  Edward Hervey  <edward@fluendo.com>
8614
8615         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8616         Let's not iterate pads we're not interested in, it avoids getting 
8617         sky-high refcounts on sinkpad.
8618
8619 2005-09-30  Wim Taymans  <wim@fluendo.com>
8620
8621         * gst/gstelement.c: (gst_element_set_state),
8622         (gst_element_change_state):
8623         Small tweak, element in ASYNC remains ASYNC.
8624
8625 2005-09-30  Wim Taymans  <wim@fluendo.com>
8626
8627         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8628         Only error is an error.
8629
8630         * gst/gstbin.c: (gst_bin_change_state):
8631         Better debugging.
8632
8633         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8634         Also call pad_block in pad alloc.
8635
8636         * gst/gstutils.c: (gst_flow_get_name):
8637         Better debugging.
8638
8639 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8642         (gst_base_src_get_range):
8643           Fix documentation typos. Add some more debug info.
8644
8645 2005-09-29  David Schleef  <ds@schleef.org>
8646
8647         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8648           more end-user friendly.
8649         * tools/gst-inspect.c: (main): Check if command-line argument is
8650           a file and attempt to load that file as a plugin.
8651
8652 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8653
8654         * check/gst/gstbin.c:
8655         * check/states/sinks.c:
8656           fix tests for the new warning
8657         * check/gst/gstpipeline.c:
8658           add a test for pipeline and bus interaction
8659         * gst/gstelement.c:
8660           elements should be NULL if they get disposed; add a warning if not
8661
8662 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8663
8664         * gst/gstobject.c:
8665           for 2.6 refcounting, make debug log more correct by printing
8666           the actual refcounts at the time of swap (Wim)
8667
8668 2005-09-29  Andy Wingo  <wingo@pobox.com>
8669
8670         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8671         removes signal watches previously added via
8672         gst_bus_add_signal_watch.
8673         (gst_bus_add_signal_watch): Don't return the source id, just store
8674         it on the bus if there wasn't an id already.
8675
8676         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8677         add_signal_watch and remove_signal_watch.
8678
8679 2005-09-29  Edward Hervey  <edward@fluendo.com>
8680
8681         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8682         Better if we actually iterate the list :)
8683
8684 2005-09-29  Wim Taymans  <wim@fluendo.com>
8685
8686         * check/gst/gstbin.c: (GST_START_TEST):
8687         Change for new bus API.
8688
8689         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8690         (send_messages), (GST_START_TEST), (gstbus_suite):
8691         Change for new bus signal API.
8692
8693         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8694         (gst_bus_source_prepare), (gst_bus_source_check),
8695         (gst_bus_create_watch), (gst_bus_add_watch_full),
8696         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8697         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8698         * gst/gstbus.h:
8699         Remove support for multiple GSources operating on different
8700         message types as it is too complex and unneeded when using
8701         signals.
8702         Added support for receiving signals from the bus.
8703
8704 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8705
8706         * docs/libs/tmpl/gstdataprotocol.sgml:
8707         * docs/manual/advanced-dataaccess.xml:
8708         * gst/elements/gstcapsfilter.c:
8709         * gst/gstutils.c:
8710           rename filter-caps to caps property
8711
8712 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8713
8714         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8715           More robust fraction string parsing.
8716
8717         * docs/pwg/appendix-porting.xml:
8718           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8719
8720 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8721
8722         * gst/gstcaps.c: (gst_caps_do_simplify):
8723           Thou shalt not free a structure and then continue using it
8724           in the next loop iteration.
8725
8726         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8727         (gst_caps_suite):
8728           Add test case for caps simplification.
8729
8730 2005-09-29  Wim Taymans  <wim@fluendo.com>
8731
8732         * check/gst/gstbin.c: (GST_START_TEST):
8733         Oops.
8734
8735 2005-09-29  Wim Taymans  <wim@fluendo.com>
8736
8737         * check/gst/gstbin.c: (GST_START_TEST):
8738         Add bus to bin.
8739
8740         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8741         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8742         (find_element), (gst_bin_sort_iterator_next),
8743         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8744         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8745         (gst_bin_change_state), (gst_bin_dispose):
8746         A bin does not have a bus, it gets the bus from the parent.
8747
8748         * gst/gstelement.c: (gst_element_requires_clock),
8749         (gst_element_provides_clock), (gst_element_is_indexable),
8750         (gst_element_is_locked_state), (gst_element_change_state),
8751         (gst_element_set_bus_func):
8752         Small cleanups.
8753
8754         * gst/gstpipeline.c: (gst_pipeline_class_init),
8755         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8756         The pipeline provides a bus.
8757
8758 2005-09-28  Johan Dahlin  <johan@gnome.org>
8759
8760         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8761         gst_structure_get_enum instead of gst_structure_get_int
8762
8763         * gst/gststructure.c (gst_structure_get_enum): Impl.
8764
8765         * gst/gststructure.h (gst_structure_get_enum): Add
8766
8767         * docs/gst/gstreamer-sections.txt: Ditto
8768
8769         * gst/gstmessage.c (gst_message_new_state_changed): Use
8770         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8771         which does introspection.
8772         Reviewed by Christian Schaller
8773
8774 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8775
8776         * gst/gstinfo.c: (gst_debug_log_default):
8777           don't do dummy g_strdup()s
8778         * libs/gst/controller/gstcontroller.c:
8779         (on_object_controlled_property_changed),
8780         (gst_controlled_property_new), (gst_controller_new_valist),
8781         (gst_controller_new_list),
8782         (gst_controller_remove_properties_valist), (gst_controller_set),
8783         (gst_controller_get), (gst_controller_sync_values),
8784         (gst_controller_get_value_array), (_gst_controller_class_init),
8785         (gst_controller_get_type):
8786         * libs/gst/controller/gstcontroller.h:
8787         * libs/gst/controller/gstinterpolation.c:
8788         (gst_controlled_property_find_timed_value_node):
8789           convert // to /**/ comments
8790
8791 2005-09-28  Wim Taymans  <wim@fluendo.com>
8792
8793         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8794         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8795         (gst_bus_sync_signal_handler):
8796         * gst/gstbus.h:
8797         Added async-message and sync-message signals to the bus.
8798         Added helper BusFunc to emit signals for all posted messages.
8799
8800         * gst/gstmessage.c: (gst_message_type_get_name),
8801         (gst_message_type_to_quark), (gst_message_get_type):
8802         * gst/gstmessage.h:
8803         Register quarks for message names.
8804
8805 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * docs/libs/gstreamer-libs-sections.txt:
8808         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8809         (gst_controller_new_list):
8810         * libs/gst/controller/gstcontroller.h:
8811           added another constructor for language bindings
8812
8813 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8816           add another check
8817         * gst/gstbus.c:
8818           add some doc
8819         * gst/gstinfo.c: (_gst_debug_init):
8820           slightly more readable color for refcount debugging
8821
8822 2005-09-28  Wim Taymans  <wim@fluendo.com>
8823
8824         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8825         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8826         (find_element), (gst_bin_sort_iterator_next),
8827         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8828         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8829         (gst_bin_change_state), (gst_bin_dispose):
8830         Small doc fixes. get_clock -> provide_clock.
8831
8832         * gst/gstelement.c: (gst_element_class_init),
8833         (gst_element_provides_clock), (gst_element_provide_clock),
8834         (gst_element_get_clock), (gst_element_commit_state),
8835         (gst_element_lost_state):
8836         * gst/gstelement.h:
8837         Make get/set_clock() symetric. Add provide_clock vmethod since
8838         that is actually what this function does.
8839
8840         * gst/gstpipeline.c: (gst_pipeline_class_init),
8841         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8842         (gst_pipeline_get_clock):
8843         get_clock -> provide_clock.
8844
8845 2005-09-28  Andy Wingo  <wingo@pobox.com>
8846
8847         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8848         lieu of real docs...
8849
8850         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8851
8852 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         * gst/elements/gstcapsfilter.c:
8855         * gst/elements/gstfakesink.c:
8856         * gst/elements/gstfakesrc.c:
8857         * gst/elements/gstfdsink.c:
8858         * gst/elements/gstfdsrc.c:
8859         * gst/elements/gstfilesink.c:
8860         * gst/elements/gstfilesrc.c:
8861         * gst/elements/gstidentity.c:
8862         * gst/elements/gsttee.c:
8863         * gst/elements/gsttypefindelement.c:
8864           Make element details static.
8865
8866 2005-09-28  Wim Taymans  <wim@fluendo.com>
8867
8868         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8869         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8870         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8871         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8872         (gst_bin_change_state), (gst_bin_dispose):
8873         Some documentation updates.
8874         Clean up dispose handlers.
8875
8876         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8877         * gst/gstpad.c: (gst_pad_dispose):
8878         Clean up dispose handler.
8879
8880         * gst/gstpipeline.c: (gst_pipeline_change_state):
8881         Removed spurious UNLOCK.
8882
8883 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * docs/gst/gstreamer-sections.txt:
8886         * gst/base/gstbasesrc.h:
8887         * gst/gstelement.h:
8888         * gst/gstevent.h:
8889         * gst/gstobject.h:
8890         * gst/gstpad.h:
8891         * gst/gstpipeline.c:
8892         * gst/gstpipeline.h:
8893         * gst/gstutils.h:
8894         * gst/gstxml.h:
8895           added two new functions to the docs
8896                 documents all undocumented GstXXXFlags
8897                 completed some incomplete docs 
8898
8899 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8900
8901         * gst/gstbin.c: (gst_bin_dispose):
8902         * gst/gstelement.c: (gst_element_dispose):
8903           remove now useless and leaky resurrection code in dispose
8904         * gst/base/gstbasesrc.c: (gst_base_src_init):
8905         * gst/gstelementfactory.c: (gst_element_factory_create):
8906         * gst/gstobject.c: (gst_object_set_parent):
8907           add some debugging
8908
8909 2005-09-27  Wim Taymans  <wim@fluendo.com>
8910
8911         * docs/design/part-TODO.txt:
8912         Update TODO.
8913
8914         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8915         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8916         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8917         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8918         (gst_bin_change_state):
8919         * gst/gstelement.h:
8920         Remove element variable, we keep element info in the iterator now.
8921
8922 2005-09-27  Andy Wingo  <wingo@pobox.com>
8923
8924         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8925         values.
8926
8927 2005-09-27  Wim Taymans  <wim@fluendo.com>
8928
8929         * check/gst/gstbin.c: (GST_START_TEST):
8930         Enable check that works now.
8931
8932         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8933         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8934         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8935         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8936         (gst_bin_change_state):
8937         * gst/gstbin.h:
8938         Redid the state change algorithm using a topological sort algo.
8939         Handles all cases correctly.
8940         Exposed iterator for state change order.
8941
8942         * gst/gstelement.h:
8943         Temp storage for state changes. Need to get rid of this soon.
8944
8945 2005-09-27  Wim Taymans  <wim@fluendo.com>
8946
8947         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8948         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8949         (link_fold_func), (gst_pad_proxy_setcaps):
8950         Leak fixes, the fold functions need to unref the passed object and
8951         _get_parent_*() returns ref to parent.
8952
8953 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8954
8955         * check/gst/gstbuffer.c: (test_make_writable):
8956           Plug leak in test case and fix 'make check-valgrind'
8957
8958 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * gst/gstbuffer.c: (gst_subbuffer_init):
8961           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8962           works correctly in all circumstances (we could have just copied
8963           the parent buffer's readonly flag, but conceptually it seems
8964           cleaner to mark all subbuffers as read-only). (based on patch
8965           by Alessandro Decina, #314710).
8966         
8967         * check/gst/gstbuffer.c: (create_read_only_buffer),
8968         (test_make_writable), (test_subbuffer_make_writable),
8969         (gst_test_suite):
8970           Add some tests for gst_buffer_make_writable().
8971
8972 2005-09-27  Wim Taymans  <wim@fluendo.com>
8973
8974         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8975         use gst_object_has_ancestor().
8976
8977         * gst/gstobject.c: (gst_object_has_ancestor):
8978         * gst/gstobject.h:
8979         gst_object_has_ancestor() copied from gstbin.c as it is a
8980         usefull function.
8981
8982         * tests/instantiate/create.c: (create_all_elements):
8983         * tests/lat.c: (handoff_src), (handoff_sink):
8984         * tests/sched/runxml.c: (main):
8985         * tests/seeking/seeking1.c: (main):
8986         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8987         (main):
8988         Fix compilation of some tests.
8989
8990 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * gst/gsterror.h:
8993           Remove comment. GST_TYPE_G_ERROR is here to stay,
8994           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8995           (#316961, #300610).
8996
8997 2005-09-26  Wim Taymans  <wim@fluendo.com>
8998
8999         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9000         Added check that shows error in state change order.
9001
9002 2005-09-26  Wim Taymans  <wim@fluendo.com>
9003
9004         * gst/gstbin.c: (gst_bin_change_state):
9005         Make state change function use 3 queues again, we were
9006         adding elements in the wrong order.
9007
9008         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9009         Some debug info,
9010
9011         * gst/gstpad.c: (gst_pad_dispose):
9012         Added some debug info first.
9013
9014 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9015
9016         * docs/design/draft-push-pull.txt:
9017         * docs/design/part-events.txt:
9018         * docs/design/part-overview.txt:
9019         * docs/design/part-scheduling.txt:
9020           Replace all _pull_region() with _pull_range()
9021           
9022 2005-09-26  Andy Wingo  <wingo@pobox.com>
9023
9024         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9025
9026         * check/gst-libs/controller.c: Update for controller api change.
9027
9028         * configure.ac: 
9029         * tests/Makefile.am:
9030         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9031         over by GLib bug 118439.
9032         
9033         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9034         routines to a function.
9035
9036         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9037
9038         * libs/gst/controller/gsthelper.c:
9039         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9040         (gst_object_sync_values): Renamed from sink_values. Ugh.
9041
9042         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9043
9044         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9045         Renamed from controller_key, as it is exported.
9046
9047         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9048
9049 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9050
9051         * gst/Makefile.am:
9052         * gst/gst.h:
9053         * gst/gstpad.h:
9054         * gst/gstpadtemplate.h:
9055         * gst/gstquery.c:
9056         * gst/gstquery.h:
9057         * gst/gstqueryutils.c:
9058         * gst/gstqueryutils.h:
9059           remove queryutils headers after moving the two used functions
9060           to gstquery.  also fixes build problem for gstsiddec
9061
9062 2005-09-26  Michael Smith <msmith@fluendo.com>
9063
9064         * tools/gst-launch.1.in:
9065         Correct documentation in manpage of debug syntax
9066
9067 2005-09-26  Wim Taymans  <wim@fluendo.com>
9068
9069         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9070         (gst_base_src_is_seekable), (gst_base_src_change_state):
9071         Some more debugging info.
9072
9073 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9074
9075         * docs/gst/gstreamer-sections.txt:
9076         * gst/base/gstbasetransform.h:
9077         * gst/gstindex.h:
9078           added more docs
9079
9080 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9081
9082         * docs/gst/.cvsignore:
9083         * docs/gst/tmpl/.cvsignore:
9084         * docs/gst/tmpl/gstpipeline.sgml:
9085         * docs/gst/tmpl/gstplugin.sgml:
9086         * gst/gstpipeline.c:
9087         * gst/gstplugin.c:
9088         * gst/gstplugin.h:
9089           inlined the last two docs files
9090           removed the tmpl directory from cvs (no more conflicts here!)
9091
9092 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9093
9094         * docs/gst/gstreamer-sections.txt:
9095         * docs/gst/tmpl/.cvsignore:
9096         * docs/gst/tmpl/gstpad.sgml:
9097         * docs/gst/tmpl/gstpadtemplate.sgml:
9098         * gst/Makefile.am:
9099         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9100         (gst_pad_finalize), (gst_pad_set_pad_template):
9101         * gst/gstpad.h:
9102         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9103         (gst_pad_template_class_init), (gst_pad_template_init),
9104         (gst_pad_template_dispose), (name_is_valid),
9105         (gst_static_pad_template_get), (gst_pad_template_new),
9106         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9107         (gst_pad_template_pad_created):
9108         * gst/gstpadtemplate.h:
9109           inlined two more docs
9110           factored gstpadtemplate out of gstpad
9111
9112 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9113
9114         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9115         (test_children_state_change_order_semi_sink):
9116           Fix test case: we can't rely on a fixed state change order when
9117           going from READY => PAUSED because the sink might commit its 
9118           new state first when the first buffer created by the source 
9119           reaches the sink before the source has finished its change state.
9120           (Test case still fails at times, see #316856, comment 5 onwards)
9121
9122 2005-09-24  Wim Taymans  <wim@fluendo.com>
9123
9124         * docs/design/part-events.txt:
9125         * docs/design/part-gstbus.txt:
9126         * docs/design/part-gstpipeline.txt:
9127         * docs/design/part-messages.txt:
9128         * docs/design/part-overview.txt:
9129         * docs/design/part-segments.txt:
9130         * gst/gstbin.c:
9131         * gst/gstbuffer.c:
9132         * gst/gstclock.c:
9133         * gst/gstelement.c:
9134         * gst/gstevent.c:
9135         * gst/gstfilter.c:
9136         * gst/gstiterator.c:
9137         Various documentation updates.
9138
9139 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * gst/gstclock.h:
9142           Well, that's embarassing.  Luckily we weren't using
9143           GST_CLOCK_DIFF anywhere.
9144
9145 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9146
9147         * common/gtk-doc.mak:
9148           don't fail on building XML, FC4 slave shows a bunch of doc
9149           missing bits that I don't get
9150         * gst/gstpad.c:
9151         * gst/gstpipeline.c:
9152         * gst/gststructure.c:
9153           some doc updates
9154
9155 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9156
9157         * docs/design/part-gstbin.txt:
9158         * docs/design/part-gstbus.txt:
9159         * gst/gstbus.c:
9160           Add blurb about how the bus goes into flushing mode and
9161           drops all messages when its bin goes from READY into NULL 
9162           state.
9163
9164 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9165
9166         * docs/gst/gstreamer-sections.txt:
9167         * gst/gststructure.c: (gst_structure_get_clock_time):
9168         * gst/gststructure.h:
9169           add a method to get a GstClockTime out of a structure
9170
9171 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9172
9173         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9174         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9175           Added test to check state change order in bins (can still be made
9176           to fail here under heavy disk load; bails out with 'Push on pad
9177           fakesink:sink0, but it was not activated in push mode').
9178
9179         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9180           Fix state change order when there is only a semi sink (#316856)
9181
9182         * gst/gstbus.c: (gst_bus_class_init):
9183           Use _class_peek_parent(), not _class_ref(); fix docs to say
9184           'default main context' instead of 'mainloop' where that is
9185           what's meant.
9186
9187         * gst/gstelement.c: (gst_element_commit_state),
9188         (gst_element_set_state):
9189           Fix typos in debug messages
9190
9191 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9192
9193         * docs/README:
9194         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9195         * gst/gstpluginfeature.c:
9196         * gst/gstutils.c:
9197           various doc updates
9198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9199           change an assert into an error until it gets fixed properly
9200
9201 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
9202
9203         * docs/gst/gstreamer-sections.txt:
9204         * docs/gst/tmpl/.cvsignore:
9205         * docs/gst/tmpl/gstelement.sgml:
9206         * docs/gst/tmpl/gstinfo.sgml:
9207         * docs/gst/tmpl/gstobject.sgml:
9208         * gst/gstelement.c:
9209         * gst/gstelement.h:
9210         * gst/gstinfo.c:
9211         * gst/gstinfo.h:
9212         * gst/gstobject.c: (gst_object_class_init):
9213         * gst/gstobject.h:
9214           inlined 3 more biiiig doc files and added some missing docs on the fly
9215
9216 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9217
9218         * check/gst/.cvsignore:
9219         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
9220         * gst/gstregistryxml.c: (load_plugin),
9221         (gst_registry_xml_save_plugin):
9222           put back source in registry.  add checks for find_plugin.
9223         * testsuite/states/bin.c: (assert_state), (empty_bin),
9224         (test_adding_one_element), (main):
9225         * testsuite/states/locked.c: (main):
9226           some compile/run fixes
9227
9228 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9229
9230         * check/gst/gstvalue.c: (GST_START_TEST):
9231           fix leaks in the test itself
9232
9233 2005-09-22  Wim Taymans  <wim@fluendo.com>
9234
9235         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9236         (gst_base_sink_send_event), (gst_base_sink_peer_query),
9237         (gst_base_sink_query):
9238         Prepare for more accurate position reporting and query
9239         handling.
9240
9241         * gst/gstelement.c: (gst_element_send_event),
9242         (gst_element_set_state):
9243         Add some comment.
9244
9245 2005-09-22  Wim Taymans  <wim@fluendo.com>
9246
9247         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
9248         (gst_query_parse_segment):
9249         * gst/gstquery.h:
9250         More documentation.
9251         Add segment query for future use.
9252
9253 2005-09-22  Wim Taymans  <wim@fluendo.com>
9254
9255         * gst/gstbin.c: (gst_bin_add_func):
9256         Some more debug info.
9257
9258         * gst/gstelement.c: (gst_element_send_event):
9259         Simplify send_event
9260
9261         * gst/gstelement.h:
9262         Don't know how flags got broken.
9263
9264         * gst/gstquery.h:
9265         Added new query.
9266
9267 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9268
9269         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
9270           Add simplistic test suite for GST_TYPE_DATE serialisation and
9271           deserialisation.
9272
9273 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * docs/gst/gstreamer-sections.txt:
9276         * gst/gststructure.c: (gst_structure_set_valist),
9277         (gst_structure_get_date):
9278         * gst/gststructure.h:
9279         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
9280         (gst_date_copy), (gst_value_compare_date),
9281         (gst_value_serialize_date), (gst_value_deserialize_date),
9282         (gst_value_transform_date_string),
9283         (gst_value_transform_string_date), (_gst_value_initialize):
9284         * gst/gstvalue.h:
9285           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
9286           bunch of utility functions along with a hack that checks that
9287           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
9288           is required. Part of the grand scheme in #170777.
9289
9290 2005-09-22  Andy Wingo  <wingo@pobox.com>
9291
9292         * gst/gstconfig.h.in: Psych out gtk-doc.
9293
9294         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
9295
9296         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
9297
9298         * tools/gst-inspect.c (print_element_list): Plug some
9299         inconsequential leaks.
9300
9301         * gst/gstregistry.c (gst_registry_get_default): Doc.
9302
9303         * check/gst/gstplugin.c: 
9304         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
9305         * gst/gstelementfactory.c (gst_element_factory_create): 
9306         * gst/gstindexfactory.c (gst_index_factory_create): Update for
9307         refcount changes.
9308
9309         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
9310         (gst_plugin_feature_load): Doc, don't eat refs.
9311
9312         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
9313         (gst_plugin_list_free): Doc.
9314         (gst_plugin_load_file): Doc updates.
9315
9316         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
9317         accessors returning refcounted objects, return a ref.
9318
9319         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
9320         accessor for caps. IDEMPOTENCE. Oh yes.
9321
9322 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
9323
9324         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9325
9326         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9327         (_gst_debug_register_funcptr):
9328           Add mutex to serialise access to the hash table with
9329           the function pointer => function name string mapping;
9330           make that hash table static scope (#316809).
9331
9332         * gst/registries/.cvsignore:
9333           Remove left-over file.
9334
9335 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * docs/pwg/appendix-porting.xml:
9338           And something about newsegment events and caps-on-buffers to
9339           the porting guide (feel free to improve).
9340
9341 2005-09-21  Andy Wingo  <wingo@pobox.com>
9342
9343         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9344         data and event probes on the same pad.
9345         (test_buffer_probe_once): Test that removing probes from within
9346         the probe functions works.
9347
9348 2005-09-21  Andy Wingo  <wingo@pobox.com>
9349
9350         * check/gst/gstutils.c: New file.
9351         (test_buffer_probe_n_times): A simple buffer probe test. More to
9352         come, foolios.
9353
9354         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9355         have-data::buffer, not have-data.
9356         (gst_pad_add_event_probe): Likewise for have-data::event.
9357         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9358         peer' isn't quite right yet though.
9359         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9360         (gst_pad_remove_data_probe): Change to take the guint handler_id
9361         as their arg, not the function+data, which is more glib-like.
9362
9363         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9364         the signal emission to indicate if the data is a buffer or an
9365         event.
9366         (gst_pad_get_type): Initialize buffer and event quarks.
9367         (gst_pad_class_init): have-data is now a detailed signal, yes it
9368         is.
9369
9370 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9371
9372         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9373         * gst/gstutils.c: (gst_util_set_value_from_string),
9374         (gst_util_set_object_arg):
9375           Don't put functional code in g_return_if_fail() or
9376           g_return_val_if_fail() statements, otherwise things will 
9377           break when G_DISABLE_CHECKS is defined during compilation.
9378
9379 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9380
9381         * docs/gst/tmpl/.cvsignore:
9382         * docs/gst/tmpl/gstvalue.sgml:
9383         * gst/gstvalue.c:
9384         * gst/gstvalue.h:
9385           inlied another one and added  some obvious docs
9386
9387 2005-09-21  Wim Taymans  <wim@fluendo.com>
9388
9389         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9390         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9391         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9392         (gst_fdsrc_get_property), (gst_fdsrc_create):
9393         * gst/elements/gstfdsrc.h:
9394         Properly implement fdsrc. Removed signal and timeout,
9395         better implemented somewhere else.
9396
9397 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9398
9399         * docs/gst/tmpl/.cvsignore:
9400         * docs/gst/tmpl/gstimplementsinterface.sgml:
9401         * gst/gstinterface.c:
9402           inlined more docs
9403
9404 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9405
9406         * docs/gst/gstreamer-sections.txt:
9407         * docs/gst/tmpl/.cvsignore:
9408         * docs/gst/tmpl/gstenumtypes.sgml:
9409           remove obsolete doc file
9410
9411 2005-09-21  David Schleef  <ds@schleef.org>
9412
9413         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9414         little beer, fix a little leak.
9415
9416 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9417
9418         * docs/gst/gstreamer-docs.sgml:
9419         * docs/gst/gstreamer-sections.txt:
9420         * docs/gst/tmpl/.cvsignore:
9421         * gst/Makefile.am:
9422         * gst/gst.h:
9423         * gst/gstbin.c:
9424         * gst/gstelement.h:
9425         * gst/gstindex.c: (gst_index_class_init):
9426         * gst/gstindex.h:
9427         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9428         (gst_index_factory_class_init), (gst_index_factory_init),
9429         (gst_index_factory_finalize), (gst_index_factory_new),
9430         (gst_index_factory_destroy), (gst_index_factory_find),
9431         (gst_index_factory_create), (gst_index_factory_make):
9432         * gst/gstindexfactory.h:
9433         * gst/gstpluginfeature.c:
9434         * gst/gstpluginfeature.h:
9435         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9436           more docs inlined, splitted gstindex.{c,h}
9437
9438 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9441           fix a leak
9442
9443 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9444
9445         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9446           Set sync to FALSE by default.
9447
9448 2005-09-20  Wim Taymans  <wim@fluendo.com>
9449
9450         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9451         (gst_base_sink_init):
9452         Make sync property settable from subclass.
9453
9454         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9455         (gst_fake_sink_change_state):
9456         Set sync to FALSE by default.
9457
9458 2005-09-20  Wim Taymans  <wim@fluendo.com>
9459
9460         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9461         * tools/gst-launch.c: (main):
9462         The timeout handler should have lower priority than the source
9463         so we don't timeout before popping a message with 0 timeout.
9464         Dump error messages after failed state change.
9465
9466 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9467
9468         * tools/gst-inspect.c: (print_element_properties_info):
9469           Fix two typos.
9470
9471 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9472
9473         * check/gst/gstevent.c:
9474         * gst/elements/gstfakesink.c:
9475         * gst/elements/gstfakesink.h:
9476           remove the sync property from fakesink.
9477           has the side effect of setting sync TRUE
9478           for fakesink, which is a change.  Anyone who knows how
9479           to fix this nicely in a GObject-y way, feel free.
9480
9481 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9482
9483         * docs/gst/gstreamer-docs.sgml:
9484           remove probe refsection
9485
9486 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9487
9488         * check/Makefile.am:
9489           disable valgrinding the controller test again
9490         * docs/gst/gstreamer-sections.txt:
9491           update for api-changes
9492
9493 2005-09-20  Wim Taymans  <wim@fluendo.com>
9494
9495         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9496         (gst_base_sink_set_property), (gst_base_sink_get_property),
9497         (gst_base_sink_do_sync):
9498         * gst/base/gstbasesink.h:
9499         Added sync property to basesink to disable clock sync.
9500
9501 2005-09-20  Andy Wingo  <wingo@pobox.com>
9502
9503         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9504         eating the caller's refcount.
9505
9506         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9507         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9508         refcount.
9509
9510         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9511         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9512         of GLib 2.8 public, so we can know which refcount to check in
9513         tests.
9514
9515         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9516         (gst_object_init): Only set the gst refcount if we're going ahead
9517         with the refcount hack.
9518
9519 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9520
9521         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9522         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9523           more leaks plumbed, added more debug-logging
9524         * gst/gstmacros.h:
9525           whitespace fix
9526
9527 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9528
9529         * gst/gstmessage.c:
9530           remove include of gstmemchunk.h
9531
9532 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * gst/gstclock.c: (_gst_clock_id_free):
9535           Commit from the Political Party For More Atomic CVS Commits,
9536           so that people don't waste too much of their day fishing
9537           out obvious leaks out of massive commits.
9538           Oh, and fix a pretty damn obvious leak in the memchunk
9539           removal code.
9540
9541 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9542
9543         * check/Makefile.am:
9544         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9545           plug mem-leak, re-add to valgrindable tests
9546
9547 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9548
9549         * gst/gstplugin.h:
9550           unbreak the build for those who have chronic arthritis
9551           and typing "make check" is just too taxing on the hands
9552
9553 2005-09-20  Andy Wingo  <wingo@pobox.com>
9554
9555         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9556         really want it out, you should fix plugins at the same time.
9557
9558 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9559
9560         * configure.ac:
9561         * docs/gst/gstreamer-sections.txt:
9562         * gst/gstobject.c:
9563           added missing symbols to api docs
9564           disable ref-count hack if we have glib >= 2.8
9565
9566 2005-09-19  David Schleef  <ds@schleef.org>
9567
9568         * docs/gst/Makefile.am: Ignore a few more internal headers
9569         * docs/gst/gstreamer-docs.sgml: Remove old sections
9570         * docs/gst/gstreamer-sections.txt: Remove old sections
9571         * docs/gst/tmpl/gstobject.sgml: update
9572         * docs/gst/tmpl/gstplugin.sgml: update
9573         * docs/gst/tmpl/gstpluginfeature.sgml: update
9574         * docs/random/ds/0.9-suggested-changes: update.
9575         * gst/Makefile.am: remove memchunk and trashstack, since they're
9576           not used.
9577         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9578         * gst/gst.h: don't include some headers
9579         * gst/gstchildproxy.c: add gstmarshal.h
9580         * gst/gstclock.c: Don't use memchunks
9581         * gst/gstminiobject.c: Add some docs
9582         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9583         * gst/gstobject.h: same
9584         * gst/gstplugin.c: include gstmacros.h
9585         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9586         * gst/gstquery.c: don't use memchunks
9587         * gst/gstregistry.c: rename gst_registry_deinit()
9588         * gst/gstregistry.h: same
9589
9590 2005-09-19  David Schleef  <ds@schleef.org>
9591
9592         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9593         * docs/libs/gstreamer-libs-sections.txt:
9594         * docs/libs/tmpl/gstgetbits.sgml:
9595         * docs/libs/tmpl/gstputbits.sgml:
9596
9597 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9598
9599         * win32/gstenumtypes.c:
9600         * win32/gstenumtypes.h:
9601           Update.
9602
9603 2005-09-19  Wim Taymans  <wim@fluendo.com>
9604
9605         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9606         Automatically PAUSE and RESUME a pipeline when a flushing seek
9607         is performed.
9608
9609 2005-09-19  Andy Wingo  <wingo@pobox.com>
9610
9611         * gst/gstregistry.h: Spacing fixen.
9612
9613 2005-09-19  Wim Taymans  <wim@fluendo.com>
9614
9615         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9616         Handle state change failure more correctly.
9617
9618 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * check/Makefile.am:
9621         * check/pipelines/cleanup.c: (run_pipeline):
9622         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9623         (GST_START_TEST):
9624           enable cleanup again after fixing the leak
9625         * docs/README:
9626           some more info on docs
9627
9628 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9629
9630         * check/Makefile.am:
9631           re-enable tests now that leaks are plugged
9632         * check/gst/gst.c:
9633         * check/gst/gstbin.c:
9634         * check/gst/gstpipeline.c:
9635           add some more tests while fixing leaks
9636         * common/check.mak:
9637           make sure binaries are uptodate when valgrinding/gdbing
9638         * gst/gst.c:
9639         * gst/gstelementfactory.c:
9640           remove a ref too many, and add a FIXME for when we get
9641           round to disposing of classes
9642         * gst/gstplugin.c:
9643           fix the refcounting when loading a plugin from a file and
9644           the code pretends that the pointer is the same even though
9645           of course it can change
9646         * gst/gstpluginfeature.c:
9647           unref plugins marked cached (a bit confusing as a name)
9648           as the docs state should be done
9649           various doc additions to explain refcounting
9650         * gst/gstregistry.c:
9651         * gst/gstregistryxml.c:
9652           debugging
9653
9654 2005-09-19  Wim Taymans  <wim@fluendo.com>
9655
9656         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9657         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9658         (send_messages), (GST_START_TEST), (gstbus_suite):
9659         * check/gst/gstpipeline.c: (GST_START_TEST):
9660         * check/pipelines/cleanup.c: (run_pipeline):
9661         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9662         (GST_START_TEST):
9663         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9664         (gst_bus_source_check), (gst_bus_source_dispatch),
9665         (gst_bus_create_watch), (gst_bus_add_watch_full),
9666         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9667         * gst/gstbus.h:
9668         * tools/gst-launch.c: (event_loop):
9669         * tools/gst-md5sum.c: (event_loop):
9670         GstBusHandler -> GstBusFunc, return value has the same meaning as
9671         any other GSource (FALSE == remove source).
9672         _add_watch() and _add_watch_full() now take a MessageType mask to
9673         only handle specific types of messages.
9674         _poll() returns the GstMessage instead of the message type to avoid
9675         race conditions.
9676         _have_pending() takes a MessageType mask now too.
9677         Added testsuite for multiple bus watches.
9678         Fix testsuites and applications for new bus API.
9679
9680 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9681
9682         * check/Makefile.am:
9683           mark a bunch of the tests as to fix until we fix them
9684
9685 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * common/check.mak:
9688           use GST_PLUGIN settings for valgrind tests as well, so we're
9689           valgrinding the correct thing
9690         * gst/gst.c: (init_post):
9691           plug another leak
9692
9693 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9694
9695         * gst/gst.c: (init_post), (gst_deinit):
9696         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9697         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9698         * gst/gstindex.c: (gst_index_factory_class_init),
9699         (gst_index_factory_finalize):
9700         * gst/gstobject.c: (gst_object_dispose):
9701         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9702         (gst_plugin_load_file), (gst_plugin_desc_free):
9703         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9704         (gst_plugin_feature_finalize):
9705         * gst/gstregistry.c: (gst_registry_class_init),
9706         (gst_registry_init), (gst_registry_finalize),
9707         (gst_registry_get_default), (gst_registry_deinit):
9708         * gst/gstregistry.h:
9709         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9710           various cleanups and memleak plugging.  make valgrind is happy now.
9711
9712 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * common/check.mak:
9715           add a check-valgrind target
9716
9717 2005-09-18  David Schleef  <ds@schleef.org>
9718
9719         * tools/gst-inspect.c: Revert the GOption code.
9720
9721 2005-09-17  David Schleef  <ds@schleef.org>
9722
9723         * check/Makefile.am: Fix environment variables.
9724         * check/gst/gstplugin.c: Fix for API changes.
9725         * tools/gst-inspect.c: Fix for API changes.
9726         * tools/gst-xmlinspect.c: Fix for API changes.
9727         * gst/gstelementfactory.c:
9728         * gst/gstplugin.c:
9729         * gst/gstplugin.h:
9730         * gst/gstpluginfeature.c:
9731         * gst/gstpluginfeature.h:
9732         * gst/gstregistry.c:
9733         * gst/gstregistry.h:
9734         * gst/gstregistryxml.c:
9735         * gst/gsttypefind.c:
9736         * gst/gsttypefindfactory.c:
9737         * gst/indexers/gstfileindex.c:
9738         * gst/indexers/gstmemindex.c:
9739         * gst/schedulers/Makefile.am:
9740           Change registry to keep track of both plugins and features,
9741           removing the feature tracking from plugins themselves.
9742
9743 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9744
9745         * check/Makefile.am:
9746         * tools/gst-register.1.in:
9747           remove gst-register
9748
9749 2005-09-15  David Schleef  <ds@schleef.org>
9750
9751         * check/gst/gstplugin.c:
9752         * gst/gstelementfactory.c:
9753         * gst/gstplugin.c:
9754         * gst/gstpluginfeature.c:
9755         * gst/gstregistry.c:
9756           Getting tired of debugging.  Disabled all the unreffing of
9757           plugins and features, which fixes the segfaults, but of
9758           course leaks like crazy.  At least playbin works.
9759
9760 2005-09-15  David Schleef  <ds@schleef.org>
9761
9762         * check/gst/gstplugin.c: (register_check_elements),
9763         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9764         More testing
9765         * gst/elements/gsttypefindelement.c: Fix refcounting.
9766         * gst/gsttypefind.c:
9767         * gst/gsttypefindfactory.c:
9768         * gst/gsttypefindfactory.h:
9769
9770 2005-09-15  David Schleef  <ds@schleef.org>
9771
9772         * gst/gstindex.c: get refcounting correct.
9773         * gst/gstregistry.c: Handle the case where a feature/plugin is
9774           not found.
9775
9776 2005-09-15  David Schleef  <ds@schleef.org>
9777
9778         * check/Makefile.am:
9779         * check/gst/gstplugin.c: Add test
9780         * gst/gstplugin.c: Fix problems noticed by testsuite
9781         * gst/gstplugin.h:
9782         * gst/gstregistry.c: 
9783         * gst/gstregistry.h:
9784
9785 2005-09-15  David Schleef  <ds@schleef.org>
9786
9787         * gst/gstplugin.c: Implement semi-decent recounting and locking
9788           in plugins and plugin features.
9789         * gst/gstplugin.h:
9790         * gst/gstpluginfeature.c:
9791         * gst/gstpluginfeature.h:
9792         * gst/gstregistry.c:
9793
9794 2005-09-15  Michael Smith <msmith@fluendo.com>
9795
9796         * gst/gstregistry.c: (gst_registry_get_feature_list):
9797           Implement this. Makes oggdemux work; decodebin still broken.
9798
9799 2005-09-14  David Schleef  <ds@schleef.org>
9800
9801         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9802           #316076)
9803         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9804         * gst/check/Makefile.am:
9805         * libs/gst/controller/Makefile.am:
9806         * libs/gst/dataprotocol/Makefile.am:
9807
9808 2005-09-14  David Schleef  <ds@schleef.org>
9809
9810         * configure.ac: Remove getbits library.  Nothing uses it, and
9811           it should be in something like liboil if someone did want
9812           to use it.
9813         * libs/gst/Makefile.am:
9814         * libs/gst/getbits/Makefile.am:
9815         * libs/gst/getbits/gbtest.c:
9816         * libs/gst/getbits/getbits.c:
9817         * libs/gst/getbits/getbits.h:
9818         * libs/gst/getbits/gstgetbits_generic.c:
9819         * libs/gst/getbits/gstgetbits_i386.s:
9820         * libs/gst/getbits/gstgetbits_inl.h:
9821
9822 2005-09-14  David Schleef  <ds@schleef.org>
9823
9824         * gst/Makefile.am: Dist glib-compat.h
9825
9826 2005-09-14  David Schleef  <ds@schleef.org>
9827
9828         * configure.ac: Remove gst/registries, since it's no longer used.
9829         * gst/registries/Makefile.am:
9830         * gst/registries/gstlibxmlregistry.c:
9831         * gst/registries/gstlibxmlregistry.h:
9832         * gst/registries/gstxmlregistry.c:
9833         * gst/registries/gstxmlregistry.h:
9834         * gst/registries/registrytest.c:
9835
9836 2005-09-14  David Schleef  <ds@schleef.org>
9837
9838         * gst/glib-compat.h:
9839         * gst/gstregistryxml.c:
9840           Convergence is near.  Seriously.
9841
9842 2005-09-14  David Schleef  <ds@schleef.org>
9843
9844         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9845         * gst/glib-compat.h:
9846           Attempt #4 to appease the buildbots.
9847
9848 2005-09-14  David Schleef  <ds@schleef.org>
9849
9850         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9851           Attempt #3.
9852
9853 2005-09-14  David Schleef  <ds@schleef.org>
9854
9855         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9856         Attempt #2.
9857
9858 2005-09-14  David Schleef  <ds@schleef.org>
9859
9860         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9861           the new functions.
9862
9863 2005-09-14  David Schleef  <ds@schleef.org>
9864
9865         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9866         * gst/glib-compat.h: Add some functions that are in newer versions
9867           of glib than we care to require.
9868         * gst/gstregistryxml.c: Use them.
9869
9870 2005-09-14  David Schleef  <ds@schleef.org>
9871
9872         * po/POTFILES.in: remove gst-register.c
9873
9874 2005-09-14  David Schleef  <ds@schleef.org>
9875
9876         * docs/gst/gstreamer-docs.sgml:
9877         * docs/gst/gstreamer-sections.txt:
9878         * docs/gst/gstreamer.types:
9879         * docs/gst/tmpl/gstelement.sgml:
9880         * docs/gst/tmpl/gstplugin.sgml:
9881         * docs/gst/tmpl/gstpluginfeature.sgml:
9882           Documentation updates for registry changes.
9883
9884 2005-09-14  David Schleef  <ds@schleef.org>
9885
9886         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9887           because we don't require glib-2.8.
9888
9889 2005-09-14  David Schleef  <ds@schleef.org>
9890
9891         * gst/gstregistryxml.c: Added.  Essentially moved out of the
9892           registries directory.
9893
9894 2005-09-14  David Schleef  <ds@schleef.org>
9895
9896         * check/Makefile.am:
9897         * check/generic/states.c:
9898         * gst/Makefile.am:
9899         * gst/gst.c:
9900         * gst/gst.h:
9901         * gst/gst_private.h:
9902         * gst/gstelementfactory.c:
9903         * gst/gstindex.c:
9904         * gst/gstinfo.c:
9905         * gst/gstplugin.c:
9906         * gst/gstplugin.h:
9907         * gst/gstpluginfeature.c:
9908         * gst/gstpluginfeature.h:
9909         * gst/gstregistry.c:
9910         * gst/gstregistry.h:
9911         * gst/gstregistrypool.c: remove
9912         * gst/gstregistrypool.h: remove
9913         * gst/gsttypefind.c:
9914         * gst/gsttypefindfactory.c:
9915         * gst/gsturi.c:
9916         * tools/Makefile.am:
9917         * tools/gst-compprep.c:
9918         * tools/gst-inspect.c:
9919         * tools/gst-register.c: remove
9920         * tools/gst-xmlinspect.c:
9921           Registry rewrite.  Changes registry from being a file created
9922           by a tool into a simple cache file created automatically by 
9923           libgstreamer.  Removed gst-register (because it's no longer
9924           needed).  Remove registry pools, because we only have one
9925           registry implementation (XML).  Fix up other subsystems as
9926           necessary.
9927
9928 2005-09-13  Michael Smith <msmith@fluendo.com>
9929
9930         * gst/gstconfig.h.in:
9931           Don't Use windows linking attributes for MinGW. Fixes #316157
9932
9933 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9934
9935         * gst/gstutils.c: (set_state_async_thread_func),
9936         (gst_element_set_state_async):
9937           Apparently people think it's better if this function doesn't
9938           try to set the state to whatever state was asked for on the first
9939           call to this function for any object.  Seriously.
9940
9941 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * check/gst/gstpipeline.c: (GST_START_TEST):
9944         * docs/gst/gstreamer-sections.txt:
9945         * gst/gstutils.c: (set_state_async_thread_func),
9946         (gst_element_set_state_async):
9947         * gst/gstutils.h:
9948           add a "gst_element_set_state_async" method that
9949           sets the state and starts a thread to make sure the state
9950           change completes as best as it can
9951
9952 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9955           codify design+behaviour in testsuite after discussion
9956
9957 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * docs/gst/tmpl/gstelement.sgml:
9960         * docs/manual/appendix-quotes.xml:
9961           add a quote
9962         * gst/gstelement.c: (gst_element_set_state):
9963           add some debug
9964
9965 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9966
9967         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9968         (gst_base_transform_prepare_output_buf),
9969         (gst_base_transform_handle_buffer):
9970         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9971         (gst_capsfilter_prepare_buf):
9972           Remove the requirement for sub-classes to call the parent
9973           implementation of prepare_output_buffer with a wrapper function.
9974           
9975         * gst/gsttaglist.h:
9976         * gst/gsttagsetter.h:
9977           Fix #define wrapper
9978
9979 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9980
9981         * docs/gst/gstreamer-sections.txt:
9982           more doc cleanups
9983
9984 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9985
9986         * docs/gst/gstreamer-sections.txt:
9987         * docs/gst/tmpl/gstelement.sgml:
9988         * docs/gst/tmpl/gstplugin.sgml:
9989         * gst/gstminiobject.c:
9990         * gst/gstvalue.h:
9991           docs now stop throwing warnings
9992
9993 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9994
9995         * docs/gst/gstreamer-sections.txt:
9996         * docs/gst/gstreamer.types:
9997         * docs/gst/tmpl/gstpad.sgml:
9998         * docs/gst/tmpl/gsttypes.sgml:
9999         * gst/base/gstadapter.h:
10000         * gst/base/gstbasesink.h:
10001         * gst/base/gstbasesrc.h:
10002         * gst/gstbin.h:
10003         * gst/gstbuffer.h:
10004         * gst/gstbus.h:
10005         * gst/gstcaps.h:
10006         * gst/gstclock.h:
10007         * gst/gstelement.h:
10008         * gst/gstevent.h:
10009         * gst/gstmessage.h:
10010         * gst/gstpad.h:
10011         * gst/gststructure.c:
10012         * gst/registries/gstlibxmlregistry.h:
10013           various documentation fixes
10014
10015 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * docs/gst/gstreamer-sections.txt:
10018         * docs/gst/tmpl/gstvalue.sgml:
10019           rearrange gstvalue section
10020         * gst/gstutils.c: (gst_element_state_get_name):
10021           NONE -> VOID
10022         * gst/gstvalue.c: (_gst_value_initialize):
10023         * gst/gstvalue.h:
10024           doc updates
10025
10026 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10027
10028         * check/gst-libs/controller.c:
10029           Header include fix.
10030         * gst/base/gstbasetransform.c:
10031         (gst_base_transform_default_prepare_buf),
10032         (gst_base_transform_handle_buffer):
10033         * gst/base/gstbasetransform.h:
10034           Some more basetransform changes and fixes to enable sub-classes
10035           that modify buffer metadata only.
10036         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10037         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10038         (gst_capsfilter_prepare_buf):
10039           If the output pad has fixed allowed caps and input buffers 
10040           don't have any, set the fixed caps on outgoing buffers.
10041
10042 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10043         * check/elements/identity.c: (GST_START_TEST):
10044           Make the error a little clearer when the test fails because
10045           identity made a copy of the buffer.
10046         * docs/gst/gstreamer-sections.txt:
10047           New symbols in gstbasetransform.h
10048         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10049         (gst_base_transform_init), (gst_base_transform_transform_size),
10050         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10051         (gst_base_transform_default_prepare_buf),
10052         (gst_base_transform_get_unit_size),
10053         (gst_base_transform_buffer_alloc),
10054         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10055         (gst_base_transform_change_state),
10056         (gst_base_transform_set_passthrough),
10057         (gst_base_transform_set_in_place),
10058         (gst_base_transform_is_in_place):
10059         * gst/base/gstbasetransform.h:
10060           Change BaseTransform to separate in_place operate from same_caps
10061           output. in_place implies that the element can perform the transform
10062           on incoming buffers in-place, even if the caps on the output are
10063           different.
10064           Sub-class elements can now implement special buffer allocation
10065           methods for outgoing buffers if they wish to.
10066           Big documentation addition.
10067         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10068         * gst/elements/gstelements.c:
10069           Changes for basetransform modifications.
10070         * gst/elements/Makefile.am:
10071         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10072           Compile fix. Extra debug output.
10073
10074 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10077         (gst_pad_suite):
10078           add tests for valid pad naming
10079         * gst/check/gstcheck.c: (gst_check_log_message_func),
10080         (gst_check_log_critical_func):
10081           add ASSERT_WARNING
10082           remove printing of code, it is fragile when the code contains
10083           % and the line number is enough info
10084         * gst/check/gstcheck.h:
10085         * gst/gstpad.c: (gst_pad_template_new):
10086           fix memleaks
10087
10088 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10089
10090         * configure.ac:
10091           say what CHECK flags we use
10092         * docs/libs/gstreamer-libs.types:
10093         * libs/gst/controller/Makefile.am:
10094         * libs/gst/controller/gst-controller.c:
10095         * libs/gst/controller/gst-controller.h:
10096         * libs/gst/controller/gst-helper.c:
10097         * libs/gst/controller/gst-interpolation.c:
10098         * libs/gst/controller/gstcontroller.c:
10099         * libs/gst/controller/gsthelper.c:
10100         * libs/gst/controller/gstinterpolation.c:
10101         * tools/gst-inspect.c: (print_plugin_info):
10102           we don't use dashes in header names
10103
10104 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10105
10106         * check/Makefile.am:
10107         * check/gst/.cvsignore:
10108         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10109         (gst_pipeline_suite), (main):
10110           adding a test for pipelines and state changes
10111         * gst/gstutils.c: (get_state_func):
10112           add some debugging
10113         * gstreamer.spec.in:
10114           fix up spec file
10115
10116 2005-09-08  Michael Smith <msmith@fluendo.com>
10117
10118         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10119         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10120         (gst_file_src_is_seekable), (gst_file_src_get_size),
10121         (gst_file_src_start):
10122         * gst/elements/gstfilesrc.h:
10123           Various fixes for unseekable, unmmapable, and non-normal files, so
10124           that fallback to read() rather than mmap() works.
10125         * gst/gstevent.c: (gst_event_new_newsegment):
10126           Allow newsegment events with segment_start == segment_end, as will
10127           correctly happen if you use filesrc on a zero-size file, for
10128           example.
10129
10130 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10131
10132         * gst/gstplugin.c: (gst_plugin_load_file):
10133           Call g_module_close when we don't load the module
10134
10135         * gst/registries/gstlibxmlregistry.c:
10136         (gst_xml_registry_get_property):
10137           Port leak fix from 0.8
10138
10139 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10140
10141         * docs/gst/gstreamer-docs.sgml:
10142         * docs/gst/tmpl/.cvsignore:
10143         * docs/gst/tmpl/gsttrace.sgml:
10144         * docs/gst/tmpl/gsttrashstack.sgml:
10145         * gst/Makefile.am:
10146         * gst/gst.h:
10147         * gst/gstelement.h:
10148         * gst/gstevent.h:
10149         * gst/gstmessage.c:
10150         * gst/gstmessage.h:
10151         * gst/gsttag.c:
10152         * gst/gsttag.h:
10153         * gst/gsttaginterface.c:
10154         * gst/gsttaginterface.h:
10155         * gst/gsttaglist.c:
10156         * gst/gsttaglist.h:
10157         * gst/gsttagsetter.c:
10158         * gst/gsttagsetter.h:
10159         * gst/gsttrace.c:
10160         * gst/gsttrace.h:
10161         * gst/gsttrashstack.c:
10162           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10163           inlined docs for gsttrace, gsttrashstack
10164
10165 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10166
10167         * gst/Makefile.am:
10168         * gst/elements/gstbufferstore.h:
10169         * gst/elements/gsttypefindelement.c:
10170         * gst/elements/gsttypefindelement.h:
10171         * gst/gst.h:
10172         * gst/gsttypefind.c:
10173         * gst/gsttypefind.h:
10174         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10175         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10176         (gst_type_find_factory_dispose),
10177         (gst_type_find_factory_unload_thyself),
10178         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10179         (gst_type_find_factory_get_caps),
10180         (gst_type_find_factory_get_extensions),
10181         (gst_type_find_factory_call_function):
10182         * gst/gsttypefindfactory.h:
10183         * gst/registries/gstlibxmlregistry.c:
10184         * gst/registries/gstxmlregistry.c:
10185           splitted gsttypefind into gsttypefind, gsttypefindfactory
10186
10187 2005-09-07  Andy Wingo  <wingo@pobox.com>
10188
10189         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10190         condition whereby the pad's task function is entered before the
10191         pad_mode variable was set.
10192
10193 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10194
10195         * gst/gstpad.c: (gst_pad_alloc_buffer):
10196           Catch misbehaving pad_alloc functions that don't
10197           set up caps and do it for them.
10198
10199 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10200
10201         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10202           test for pipe!=NULL
10203         * docs/gst/tmpl/.cvsignore:
10204         * docs/gst/tmpl/gstmemchunk.sgml:
10205         * docs/gst/tmpl/gstparse.sgml:
10206         * docs/gst/tmpl/gsttaglist.sgml:
10207         * docs/gst/tmpl/gsttagsetter.sgml:
10208         * docs/gst/tmpl/gsttypefind.sgml:
10209         * docs/gst/tmpl/gsttypefindfactory.sgml:
10210         * gst/gstmemchunk.c:
10211         * gst/gstparse.c:
10212         * gst/gsttag.c:
10213         * gst/gsttaginterface.c:
10214         * gst/gsttypefind.c:
10215         * gst/gsttypefind.h:
10216           inlined more docs
10217
10218 === release 0.9.2 ===
10219
10220 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10221
10222         * NEWS:
10223         * RELEASE:
10224         * configure.ac:
10225           releasing 0.9.2, "South"
10226
10227 2005-09-05  Andy Wingo  <wingo@pobox.com>
10228
10229         * gst/registries/gstxmlregistry.h:
10230         * gst/registries/gstxmlregistry.c: Um... resurrect...
10231         
10232         * gst/registries/gstxmlregistry.h:
10233         * gst/registries/gstxmlregistry.c: and update to newer API.
10234         Incidentally they should be a bit faster now that they don't have
10235         to parse the caps.
10236         
10237 2005-09-05  Andy Wingo  <wingo@pobox.com>
10238
10239         * gst/registries/gstxmlregistry.h:
10240         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
10241         replaced by the libxml registry a while back
10242
10243 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10244
10245         * docs/gst/tmpl/gstplugin.sgml:
10246         * gst/elements/gstelements.c:
10247         * gst/gst.c:
10248         * gst/gstplugin.c: (gst_plugin_register_func),
10249         (gst_plugin_desc_copy), (gst_plugin_desc_free),
10250         (gst_plugin_get_source):
10251         * gst/gstplugin.h:
10252         * gst/registries/gstlibxmlregistry.c: (load_plugin),
10253         (gst_xml_registry_save_plugin):
10254         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
10255         (gst_xml_registry_save_plugin):
10256         * tools/gst-inspect.c: (print_plugin_info):
10257           add a "source" plugin description field, to represent the source
10258           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
10259           will set it to PACKAGE, which is automake's idea of the name of
10260           the source project.
10261
10262 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10263
10264         * Makefile.am:
10265         * autogen.sh:
10266         * configure.ac:
10267         * docs/Makefile.am:
10268         * docs/faq/Makefile.am:
10269         * docs/gst/tmpl/gstelement.sgml:
10270         * docs/gst/tmpl/gsttypes.sgml:
10271         * docs/htmlinstall.mak:
10272         * docs/manual/Makefile.am:
10273         * docs/pwg/Makefile.am:
10274           reorganize doc build a little
10275           split out docbook and gtk-doc stuff
10276           have two separate --enable's and enable them through autogen
10277           but disable by default in configure (to be similar to other
10278           projects)
10279         * gstreamer.spec.in:
10280           clean up docs install
10281         * po/af.po:
10282         * po/az.po:
10283         * po/ca.po:
10284         * po/cs.po:
10285         * po/de.po:
10286         * po/en_GB.po:
10287         * po/fr.po:
10288         * po/it.po:
10289         * po/nb.po:
10290         * po/nl.po:
10291         * po/ru.po:
10292         * po/sq.po:
10293         * po/sr.po:
10294         * po/sv.po:
10295         * po/tr.po:
10296         * po/uk.po:
10297         * po/vi.po:
10298           translation updates
10299
10300 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10301
10302         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
10303           Add comment.
10304           
10305         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10306         (gst_fake_sink_change_state):
10307           Make state change function thread-safe.
10308           
10309         * gst/gstpad.c: (gst_pad_alloc_buffer):
10310           Set offset on generic buffer allocated by fallback.
10311
10312 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
10313
10314         * docs/gst/gstreamer-sections.txt:
10315         * docs/gst/tmpl/gstelement.sgml:
10316         * gst/gstpad.c:
10317         * libs/gst/controller/gst-controller.c:
10318         (gst_controlled_property_set_interpolation_mode),
10319         (gst_controlled_property_new),
10320         (gst_controller_find_controlled_property):
10321          run the wingo-magic script against the docs
10322
10323 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10324
10325         * docs/gst/gstreamer-docs.sgml:
10326         * docs/gst/gstreamer-sections.txt:
10327         * docs/gst/tmpl/.cvsignore:
10328         * docs/gst/tmpl/gstelementdetails.sgml:
10329         * docs/gst/tmpl/gstelementfactory.sgml:
10330         * gst/gst.c:
10331         * gst/gstbus.c:
10332         * gst/gstelementfactory.c:
10333         * gst/gstelementfactory.h:
10334           merged elementdetails docs into elementfactory docs
10335           inlined both
10336
10337 2005-09-02  Andy Wingo  <wingo@pobox.com>
10338
10339         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10340         consider this enum an enum and not a flags.
10341
10342 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10343
10344         * docs/gst/gstreamer-docs.sgml:
10345         * docs/gst/tmpl/.cvsignore:
10346         * docs/gst/tmpl/gstghostpad.sgml:
10347         * docs/gst/tmpl/gstiterator.sgml:
10348         * docs/gst/tmpl/gstmacros.sgml:
10349         * docs/gst/tmpl/gstrealpad.sgml:
10350         * docs/gst/tmpl/gstregistry.sgml:
10351         * docs/gst/tmpl/gstregistrypool.sgml:
10352         * docs/gst/tmpl/gststructure.sgml:
10353         * docs/gst/tmpl/gstsystemclock.sgml:
10354         * docs/gst/tmpl/gsttrace.sgml:
10355         * gst/gstghostpad.c:
10356         * gst/gstmacros.h:
10357         * gst/gstmemchunk.c:
10358         * gst/gstmemchunk.h:
10359         * gst/gstqueue.c:
10360         * gst/gstregistry.c:
10361         * gst/gstregistrypool.c:
10362         * gst/gststructure.c:
10363         * gst/gstsystemclock.c:
10364           more docs inlined
10365
10366 2005-09-02  Andy Wingo  <wingo@pobox.com>
10367
10368         * gst/gstelement.h (GstState): Renamed from GstElementState,
10369         changed to be a normal enum instead of flags.
10370         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10371         munged to be GST_STATE_CHANGE_*.
10372         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10373         work with the new state representation.
10374         (GstStateChange): New enumeration of possible state transitions.
10375         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10376         (GstElementClass::change_state): Pass the GstStateChange along as
10377         an argument. Helps language bindings, so they don't have to use
10378         tricky lock-needing macros like GST_STATE_CHANGE ().
10379
10380         * scripts/update-states (file): New script. Run it on a file to
10381         update it for state naming and API changes. Updates files in
10382         place.
10383
10384         * All files updated for the new API.
10385
10386 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10389         * gst/gstutils.c: (gst_util_set_value_from_string),
10390         (gst_util_set_object_arg):
10391           fix a bunch of unchecked return values
10392         * tools/gst-complete.c: (main):
10393         * gstreamer.spec.in:
10394           clean up a little
10395
10396 2005-09-01  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10399         (gst_base_sink_event), (gst_base_sink_do_sync),
10400         (gst_base_sink_handle_event):
10401         * gst/base/gstbasesink.h:
10402         Handle newsegments more correctly.
10403
10404         * gst/gstbus.c:
10405         Fix docs.
10406
10407         * gst/gstevent.c: (gst_event_new_newsegment):
10408         A newsegment cannot have a start_time of -1
10409
10410 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10411
10412         * win32/gstenumtypes.c:
10413         * win32/gstenumtypes.h:
10414           Update
10415
10416 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10417
10418         * libs/gst/controller/gst-controller.c:
10419         (gst_controlled_property_set_interpolation_mode),
10420         (gst_controlled_property_new):
10421          fixed boolean again
10422
10423 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10424
10425         * docs/faq/gst-uninstalled:
10426           add -good
10427         * gst/gstevent.c:
10428         * gst/gstevent.h:
10429           remove wrong docs
10430         * gst/gstutils.c: (gst_element_link_filtered):
10431         * gst/gstutils.h:
10432           add gst_element_link_filtered
10433
10434 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10435
10436         * docs/gst/gstreamer-docs.sgml:
10437         * docs/gst/gstreamer-sections.txt:
10438         * docs/gst/tmpl/.cvsignore:
10439         * docs/gst/tmpl/gsterror.sgml:
10440         * docs/gst/tmpl/gstfilter.sgml:
10441         * docs/gst/tmpl/gsturihandler.sgml:
10442         * docs/gst/tmpl/gsturitype.sgml:
10443         * docs/gst/tmpl/gstutils.sgml:
10444         * docs/gst/tmpl/gstxml.sgml:
10445         * gst/gsterror.c:
10446         * gst/gsterror.h:
10447         * gst/gstfilter.c:
10448         * gst/gsturi.c:
10449         * gst/gsturitype.c:
10450         * gst/gstutils.c:
10451         * gst/gstxml.c:
10452           inlined more docs, fixed double id-ref
10453
10454 2005-08-31  Wim Taymans  <wim@fluendo.com>
10455
10456         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10457         (gst_base_transform_handle_buffer):
10458         Passthrough elements don't need the caps as they don't care.
10459
10460 2005-08-31  Wim Taymans  <wim@fluendo.com>
10461
10462         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10463         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10464         Don't leak refcounts on buffers.
10465
10466 2005-08-31  Wim Taymans  <wim@fluendo.com>
10467
10468         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10469         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10470         (gst_base_transform_chain), (gst_base_transform_change_state):
10471         * gst/base/gstbasetransform.h:
10472         Handle the case where we are not negotiated more gracefully.
10473
10474 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10475
10476         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10477         (gst_file_src_map_region):
10478           Set READONLY flag on mmap'ed buffers, otherwise
10479           gst_buffer_make_writable() won't work properly (#314708).
10480
10481 2005-08-31  Wim Taymans  <wim@fluendo.com>
10482
10483         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10484         passthrough elements can even do inplace on non writable
10485         buffers (as they don't touch them).
10486
10487 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10488
10489         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10490         (gst_test_mono_source_set_property),
10491         (gst_test_mono_source_class_init), (GST_START_TEST),
10492         (gst_controller_suite):
10493           more tests (hehe I have the most)
10494         * gst/gstbus.c:
10495           describe popping messages whenusing mulltiple sources
10496         * libs/gst/controller/gst-controller.c:
10497         (gst_controlled_property_set_interpolation_mode),
10498         (gst_controlled_property_new):
10499         * libs/gst/controller/gst-controller.h:
10500         * libs/gst/controller/gst-interpolation.c:
10501           implement boolean properties
10502
10503 2005-08-31  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/gstminiobject.c: (gst_mini_object_ref):
10506         Cannot assert that the refcount has to be positive
10507         since a disposed object can be resurrected.
10508
10509 2005-08-31  Wim Taymans  <wim@fluendo.com>
10510
10511         * gst/gstpad.c: (gst_pad_init):
10512         Revert change, need to first fix badly behaving 
10513         apps.
10514
10515 2005-08-30  Wim Taymans  <wim@fluendo.com>
10516
10517         * check/elements/fakesrc.c: (setup_fakesrc):
10518         * check/elements/identity.c: (setup_identity):
10519         Activate pads before using them.
10520
10521 2005-08-30  Wim Taymans  <wim@fluendo.com>
10522
10523         * gst/base/gstadapter.c: (gst_adapter_flush):
10524         Flushing out 0 bytes is ok for this function.
10525
10526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10527         no newsegment gives a warning and sets the start/stop to 
10528         invalid.
10529
10530         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10531         (gst_base_transform_set_passthrough):
10532         Some debug info.
10533
10534         * gst/gstminiobject.c: (gst_mini_object_ref):
10535         Check refcount here too.
10536
10537         * gst/gstpad.c: (gst_pad_init):
10538         Pads are initially flushing and refusing data.
10539
10540         * gst/gstutils.c: (gst_element_link_pads_filtered):
10541         When adding a capsfilter element make sure it has the
10542         same state as the parent bin.
10543
10544 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10545
10546         * docs/gst/tmpl/.cvsignore:
10547         * docs/gst/tmpl/gstformat.sgml:
10548         * docs/gst/tmpl/gstversion.sgml:
10549         * gst/gstbus.h:
10550         * gst/gstformat.c:
10551         * gst/gstformat.h:
10552         * gst/gstversion.h.in:
10553           more docs and two more inlined
10554
10555 2005-08-30  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10558         Don't sync to clock.
10559
10560 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10561
10562         * docs/gst/gstreamer-sections.txt:
10563           ultral33t func10ns deserve to appear in the docs actually
10564         * docs/gst/tmpl/.cvsignore:
10565         * docs/gst/tmpl/gstcompat.sgml:
10566         * docs/gst/tmpl/gstconfig.sgml:
10567         * gst/check/gstcheck.c:
10568         * gst/gstcompat.h:
10569         * gst/gstconfig.h.in:
10570           inlined more docs
10571
10572 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10573
10574         * docs/gst/tmpl/.cvsignore:
10575         * docs/gst/tmpl/gstquery.sgml:
10576         * docs/gst/tmpl/gstutils.sgml:
10577         * gst/gstquery.c:
10578         * gst/gstquery.h:
10579           inlined and extended docs
10580
10581 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10582
10583         * check/gst-libs/controller.c: (GST_START_TEST),
10584         (gst_controller_suite):
10585           more tests
10586         * docs/gst/tmpl/gstutils.sgml:
10587         * docs/libs/gstreamer-libs-sections.txt:
10588         * docs/libs/tmpl/gstdataprotocol.sgml:
10589           include path fixes
10590         * examples/controller/audio-example.c: (main):
10591           controller example works now
10592         * gst/gstclock.h:
10593           doc fixes
10594         * tools/gst-inspect.c: (print_element_properties_info):
10595           show param spec flags
10596
10597 2005-08-29  Andy Wingo  <wingo@pobox.com>
10598
10599         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10600
10601 2005-08-28  Andy Wingo  <wingo@pobox.com>
10602
10603         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10604         as having two arguments instead of just one. Allows superclasses
10605         to access information on subclasses -- see the terrible for() loop
10606         in gtype.c:g_type_create_instance for the reason why. All callers
10607         changed.
10608
10609 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10610
10611         * docs/design/part-messages.txt:
10612           update info
10613         * docs/gst/tmpl/.cvsignore:
10614         * docs/gst/tmpl/gstcaps.sgml:
10615         * docs/gst/tmpl/gstclock.sgml:
10616         * gst/gstbus.c:
10617         * gst/gstcaps.c:
10618         * gst/gstcaps.h:
10619         * gst/gstclock.c:
10620         * gst/gstclock.h:
10621         * gst/gstmessage.c:
10622           added descriptions for bus and message
10623           inline caps and clock docs
10624
10625 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10626
10627         * gst/gstmessage.c:
10628         * gst/gstmessage.h:
10629           doc fixes
10630
10631 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10632
10633         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10634           fix div-by-zero
10635
10636 2005-08-26  Andy Wingo  <wingo@pobox.com>
10637
10638         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10639         element_set_state's return val.
10640         (test_2_elements): Add test that's been disabled for months.
10641
10642         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10643         can-activate-pull properties.
10644
10645         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10646         can-activate-pull properties. Implement is_seekable so fakesrc can
10647         operate in pull mode.
10648
10649         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10650         properties.
10651         (gst_base_sink_activate, gst_base_sink_activate_pull)
10652         (gst_base_sink_activate_push): Make activation mode choosing work.
10653         Cleanups.
10654         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10655         is right. Make pull mode work. Post an eos before pausing in pull
10656         mode.
10657         (gst_base_sink_change_state): Pay attention to the core's
10658         change_state() return val.
10659         
10660         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10661         has-getrange properties. Cleanups.
10662         
10663         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10664         has_getrange and replace with can_activate_pull and
10665         can_activate_push.
10666
10667         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10668         locking comments. Remove has_loop, has_chain and replace with
10669         can_activate_pull and can_activate_push.
10670
10671 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10672
10673         * configure.ac:
10674         * examples/Makefile.am:
10675         * examples/metadata/Makefile.am:
10676         * examples/metadata/read-metadata.c: (message_loop),
10677         (have_pad_handler), (make_pipeline), (print_tag), (main):
10678           Add metadata reading example that loops over a list of filenames,
10679           dumping any tags found.
10680
10681         * gst/gstbus.c: (gst_bus_dispose):
10682         * gst/gstelement.c: (gst_element_dispose):
10683           Release a few potentially-held references in dispose.
10684
10685 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10686
10687         * docs/gst/tmpl/gstminiobject.sgml:
10688           do *not* add tmpl/*.sgml files to CVS!
10689
10690 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10691
10692         * libs/gst/bytestream/.cvsignore:
10693         * libs/gst/bytestream/Makefile.am:
10694         * libs/gst/bytestream/adapter.c:
10695         * libs/gst/bytestream/adapter.h:
10696         * libs/gst/bytestream/bytestream.c:
10697         * libs/gst/bytestream/bytestream.h:
10698         * libs/gst/bytestream/filepad.c:
10699         * libs/gst/bytestream/filepad.h:
10700           removing obsolete files
10701
10702 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10703
10704         * docs/gst/gstreamer-docs.sgml:
10705         * docs/libs/gstreamer-libs-docs.sgml:
10706           disabed additional index entries again, as this makes docs-gen just
10707           slow and they aren't useful yet
10708         * docs/libs/gstreamer-libs-sections.txt:
10709           little -section.txt cleanup for libs
10710
10711 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10712
10713         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10714         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10715           fix up some debugging
10716         (gst_base_transform_get_unit_size),
10717         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10718         (gst_base_transform_handle_buffer):
10719         * gst/base/gstbasetransform.h:
10720           handle and store timed NEWSEGMENT events so that subclasses that
10721           calculate time by counting samples have a segment_start time they
10722           need to add to their timestamps - see audioresample
10723
10724 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10725
10726         * gst/gstbin.h:
10727           removed ';' from the end of macro defs
10728         * docs/gst/gstreamer-docs.sgml:
10729         * docs/gst/gstreamer-sections.txt:
10730         * docs/gst/tmpl/.cvsignore:
10731         * gst/gstbus.h:
10732         * gst/gstelement.c: (gst_element_class_init),
10733         (gst_element_set_state), (activate_pads),
10734         (gst_element_save_thyself):
10735         * gst/gstevent.c: (gst_event_new_newsegment):
10736         * gst/gstevent.h:
10737         * gst/gstiterator.c:
10738         * gst/gstiterator.h:
10739         * gst/gstpad.c:
10740         * gst/gstprobe.h:
10741         * gst/gstutils.c: (gst_pad_query_convert):
10742         * gst/gstutils.h:
10743           fixed parameter name mismatches between source, header and docs
10744           added some more docs, resolved the last batch of unused elements in
10745           docs (now someone needs to doc them)
10746
10747 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10750         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10751           don't walk through the plugins backwards.  Where is all this
10752           reversed logic coming from ?
10753
10754 2005-08-25  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10757         (gst_base_transform_transform_size),
10758         (gst_base_transform_configure_caps),
10759         (gst_base_transform_get_unit_size),
10760         (gst_base_transform_buffer_alloc),
10761         (gst_base_transform_change_state):
10762         * gst/base/gstbasetransform.h:
10763         Cache caps unit_size.
10764         Make sure we cannot negotiate up and downstream at the
10765         same time.
10766
10767 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10768
10769         * gst/gst.c: (init_pre), (init_post):
10770           register the installed plugin path after the env var
10771         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10772         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10773           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10774           directories, so the tests can prefer uninstalled over installed
10775
10776 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * gst/base/gstbasetransform.h:
10779           comment
10780         * gst/gstpad.c:
10781           add to docs
10782
10783 2005-08-25  Wim Taymans  <wim@fluendo.com>
10784
10785         * gst/gstbin.c: (bin_bus_handler):
10786         Be a bit more conservative about the posted message.
10787         
10788         * gst/gstbus.c: (gst_bus_post):
10789         Some cleanups, warn wrong return values.
10790
10791 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10792
10793         * check/gst/gstbin.c: (GST_START_TEST):
10794         * gst/gstbin.c: (bin_bus_handler):
10795         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10796         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10797         (gst_message_new_warning), (gst_message_new_tag),
10798         (gst_message_new_state_changed), (gst_message_new_segment_start),
10799         (gst_message_new_segment_done), (gst_message_new_custom):
10800         * gst/gstmessage.h:
10801         * tools/gst-launch.c: (event_loop):
10802         * tools/gst-md5sum.c: (event_loop):
10803           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10804
10805 2005-08-25  Wim Taymans  <wim@fluendo.com>
10806
10807         * check/generic/states.c: (GST_START_TEST):
10808         Cleanup can be done at the end.
10809
10810         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10811         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10812         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10813         Oh boy.. Thanks for finding this, Thomas. 
10814
10815 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10816
10817         * docs/gst/gstreamer.types:
10818           added missing types
10819
10820 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10821
10822         * docs/gst/gstreamer-docs.sgml:
10823         * docs/gst/gstreamer-sections.txt:
10824         * docs/gst/tmpl/.cvsignore:
10825         * gst/gstbin.c:
10826         * gst/gstiterator.c:
10827         * gst/gstutils.c:
10828         * gst/registries/gstxmlregistry.h:
10829           added missing classes and symbols (123 more to go)
10830           removed removed symbols from section file
10831           fixed many doc-comments
10832
10833 2005-08-24  Wim Taymans  <wim@fluendo.com>
10834
10835         * check/generic/states.c: (GST_START_TEST):
10836         Make sure all tasks are stopped.
10837
10838         * check/gst/gstbin.c: (GST_START_TEST):
10839         Unref after usage for proper valgrinding.
10840
10841         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10842         Really wait for the task to stop before destroying the
10843         mutex.
10844
10845         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10846         (gst_queue_src_activate_push):
10847         Small cleanups. Don't stop the task when we did not start
10848         it.
10849
10850         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10851         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10852         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10853         (gst_task_join):
10854         * gst/gsttask.h:
10855         Protect the stream lock with the object lock.
10856         Disallow setting the stream lock when running.
10857         Add cleanup_all to wait for the threadpool to finish.
10858         Remove code to autoallocate a mutex if none was provided.
10859         Add _join() to wait for a task to stop.
10860         Protect the thread pool with a global lock.
10861
10862 2005-08-24  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10865         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10866         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10867         * gst/base/gstbasesink.h:
10868         Handle newsegment events correctly.
10869         Drop buffers out of the segment range.
10870
10871 2005-08-22  Andy Wingo  <wingo@pobox.com>
10872
10873         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10874         macro, implements an interface and gstimplementsinterface for a
10875         new type.
10876
10877 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * check/Makefile.am:
10880         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10881           add a test that does a bunch of state changes on elements
10882           needs some fixing for valgrind
10883         * check/states/sinks.c: (gst_object_suite):
10884           whitespace
10885         * gst/gstcaps.h:
10886           add prototype for gst_caps_is_equal_fixed
10887         * gst/gstplugin.c:
10888         * gst/gstregistrypool.c:
10889           doc fixes
10890
10891 2005-08-24  Andy Wingo  <wingo@pobox.com>
10892
10893         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10894         convert a negative value. Doesn't make much sense. Mostly this is
10895         here to force callers to ensure -1 maps to -1.
10896
10897 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10898
10899         * docs/pwg/advanced-types.xml:
10900           Well done to Michael for catching my deliberate introduction
10901           of this spelling mistake. 
10902         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10903         * gst/gstelement.h:
10904           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10905           unlink pads before removing the element from the bin.
10906
10907 2005-08-24  Andy Wingo  <wingo@pobox.com>
10908
10909         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10910         the same thing as GST_DEBUG=*:4.
10911         (parse_debug_level, parse_debug_category): New helper parsers.
10912
10913 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10916         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10917         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10918         (gst_base_transform_buffer_alloc),
10919         (gst_base_transform_handle_buffer):
10920           use gboolean return values and pointers to size so we can use the
10921           full GST_BUFFER_SIZE range (guint) for buffer sizes
10922           use GstPadDirection for transform_caps
10923         * gst/base/gstbasetransform.h:
10924           rename get_size to get_unit_size since that's what it is
10925         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10926           use GstPadDirection for transform_caps
10927         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10928         * gst/gstutils.h:
10929           cleanup and debugging
10930
10931 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10932
10933         * gst/gstelement.c: (gst_element_class_init),
10934         (gst_element_set_state), (activate_pads),
10935         (gst_element_save_thyself):
10936         * tools/gst-compprep.c: (main):
10937         * tools/gst-inspect.c: (print_element_properties_info):
10938         * tools/gst-xmlinspect.c: (print_element_properties):
10939           Fixed long standing mem-leak
10940
10941 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10942
10943         * check/gst/gstbin.c: (GST_START_TEST):
10944         * gst/gstbin.c: (bin_bus_handler):
10945         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10946         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10947         (gst_message_new_warning), (gst_message_new_tag),
10948         (gst_message_new_state_changed), (gst_message_new_segment_start),
10949         (gst_message_new_segment_done), (gst_message_new_custom):
10950         * gst/gstmessage.h:
10951         * tools/gst-launch.c: (event_loop):
10952         * tools/gst-md5sum.c: (event_loop):
10953           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10954           that applications can sensibly post custom messages with references
10955           to their own objects.
10956
10957 2005-08-24  Andy Wingo  <wingo@pobox.com>
10958
10959         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10960         already.
10961
10962 2005-08-24  Wim Taymans  <wim@fluendo.com>
10963
10964         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10965         (gst_base_transform_transform_caps),
10966         (gst_base_transform_transform_size),
10967         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10968         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10969         (gst_base_transform_handle_buffer):
10970         * gst/base/gstbasetransform.h:
10971         Many fixes and new features added by Thomas. Can now also do
10972         transforms with variable sizes and a custom fixate_caps function.
10973
10974 2005-08-24  Wim Taymans  <wim@fluendo.com>
10975
10976         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10977         Some debugging.
10978
10979         * gst/gstclock.h:
10980         Cast to ClockTime before formatting to time.
10981
10982         * gst/gstutils.h:
10983         Cleanups.
10984
10985 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10986
10987         * check/gst-libs/controller.c: (GST_START_TEST),
10988         (gst_controller_suite):
10989         * docs/gst/tmpl/gstcaps.sgml:
10990         * docs/gst/tmpl/gstghostpad.sgml:
10991         * docs/gst/tmpl/gstquery.sgml:
10992         * docs/gst/tmpl/gstutils.sgml:
10993         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10994         (gst_object_sink_values), (gst_object_get_value_arrays),
10995         (gst_object_get_value_array):
10996           gracefully handle helper method calls to objects that are not beeing
10997           controlled, added test case for that          
10998
10999 2005-08-23  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11002         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11003         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11004         (gst_event_parse_qos), (gst_event_new_seek),
11005         (gst_event_parse_seek):
11006         * gst/gstevent.h:
11007         Some more debugging output and doc cleanups.
11008
11009         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11010         Fix possible deadlock.
11011
11012 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11013
11014         * docs/gst/gstreamer-docs.sgml:
11015         * docs/gst/gstreamer-sections.txt:
11016         * docs/gst/gstreamer.types:
11017         * docs/gst/tmpl/.cvsignore:
11018         * gst/gstbin.h:
11019         * gst/gstbus.c:
11020         * gst/gstelement.c:
11021         * gst/gstevent.h:
11022           added 100 symbols from gstreamer-unused.txt to the right sections
11023           fixed more broken comments
11024           added GstBus to docs
11025
11026 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11027
11028         * docs/gst/gstreamer-sections.txt:
11029         * docs/gst/tmpl/.cvsignore:
11030         * docs/gst/tmpl/gstbin.sgml:
11031         * docs/gst/tmpl/gstbuffer.sgml:
11032         * gst/base/gstbasesrc.c:
11033         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11034         * gst/gstbuffer.c:
11035         * gst/gstbuffer.h:
11036         * tools/gst-launch.1.in:
11037           inlined more doc comments, added missing comments and fixed comments
11038           fixed typos
11039
11040 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11041
11042         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11043           some debugging
11044         * gst/gstcaps.h:
11045           whitespace fixes
11046         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11047           more debugging
11048         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11049         * gst/gststructure.h:
11050           add a fixate function for booleans; add a FIXME that these func
11051           names should probably be gst_structure_fixate_*
11052
11053 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11054
11055         * docs/gst/gstreamer-docs.sgml:
11056         * docs/gst/gstreamer-sections.txt:
11057         * gst/Makefile.am:
11058         * gst/gstbin.c: (gst_bin_get_type),
11059         (gst_bin_child_proxy_get_child_by_index),
11060         (gst_bin_child_proxy_get_children_count),
11061         (gst_bin_child_proxy_init):
11062         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11063         (gst_child_proxy_get_child_by_index),
11064         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11065         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11066         (gst_child_proxy_get), (gst_child_proxy_set_property),
11067         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11068         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11069         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11070         * gst/gstchildproxy.h:
11071         * gst/parse/grammar.y:
11072         * tools/gst-inspect.c: (print_interfaces),
11073         (print_element_properties_info), (print_element_info):
11074           ported gstchildproxy over from 0.8
11075           ported gst-inspect fixes and enhancements over from 0.8
11076
11077 2005-08-22  Wim Taymans  <wim@fluendo.com>
11078
11079         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11080         (gst_base_transform_handle_buffer):
11081         Also call the transform function if we have ANY caps.
11082
11083         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11084         Fix debug info.
11085
11086 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11087
11088         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11089           Don't pretend to handle seek events if the source is not seekable
11090
11091 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11092
11093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11094           Remove extra parameter to debug output
11095
11096         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11097         (gst_base_src_do_seek), (gst_base_src_activate_push):
11098           Fix seek event handling.
11099
11100         * gst/gstpipeline.c: (gst_pipeline_change_state):
11101         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11102         (gst_queue_src_activate_push):
11103           Don't start the src pad task on FLUSH_STOP if the pad
11104           isn't linked.
11105           Debug changes.
11106
11107 2005-08-22  Wim Taymans  <wim@fluendo.com>
11108
11109         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11110         Added check for gst_static_caps_get() refcounting.
11111
11112 2005-08-22  Wim Taymans  <wim@fluendo.com>
11113
11114         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11115         Make _static_caps_get() refcounting sane.
11116         
11117         * gst/gstelement.c: (gst_element_set_state):
11118         Add g_return_val_if_fail() to protect against segfaults.
11119
11120 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11121
11122         * docs/gst/tmpl/gstevent.sgml:
11123         * gst/gstevent.c:
11124         * gst/gstevent.h:
11125           inlined remaining docs, added missing doc comments
11126
11127 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11128
11129         * check/gst/gstbin.c: (GST_START_TEST):
11130           since we don't know when preroll is done, use refcount range
11131           check for the sink
11132         * gst/check/gstcheck.h:
11133           add macro for checking refcount range
11134
11135 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11136
11137         * check/Makefile.am:
11138           clean up environment for when registry gets built versus
11139           when actual tests are run; valgrind seems to not report
11140           leaks if GST_PLUGIN_PATH is set to some specific values
11141         * check/gst/gstbin.c: (GST_START_TEST):
11142           add more refcounting checks; maybe this exposes a
11143           preroll lock bug ?
11144         * common/check.mak:
11145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11146         * gst/check/gstcheck.h:
11147         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11148         (gst_bin_change_state):
11149         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11150           add/fix debugging/whitespace
11151
11152 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11153
11154         * check/gst/gstevent.c: (event_probe), (test_event),
11155         (GST_START_TEST):
11156          Er, don't call gst_bin_watch_for_state_change you idiot.
11157
11158 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11159
11160         * check/Makefile.am:
11161           Use CHECK_CFLAGS and CHECK_LIBS
11162         * check/gst/gstevent.c: (event_probe), (test_event),
11163         (GST_START_TEST):
11164           Don't leak events.
11165         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11166         (gst_base_src_start), (gst_base_src_stop),
11167         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11168         (gst_base_src_change_state):
11169           Sprinkle gst_base_src_stop liberally around error paths to fix
11170           problems reusing a source after failed state changes.
11171         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11172         (helper_find_suggest), (gst_type_find_helper):
11173           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11174         * gst/gstevent.h:
11175         * docs/gst/tmpl/gstevent.sgml:
11176           Migrate part of the docs from the SGML file. Wait for ensonic to
11177           tell me how I did it wrong ;)
11178         * tools/gst-typefind.c: (main):
11179           Extra robustness to state changes between files.
11180
11181 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * check/Makefile.am:
11184           don't valgrind the controller test - it's leaking - Stefan, HELP
11185         * gst/check/gstcheck.c: (gst_check_message_error),
11186         (gst_check_chain_func), (gst_check_setup_element),
11187         (gst_check_teardown_element), (gst_check_setup_src_pad),
11188         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11189         (gst_check_teardown_sink_pad):
11190         * gst/check/gstcheck.h:
11191           add a bunch of methods to set up elements, and src and sink pads
11192         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11193         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11194         (GST_START_TEST):
11195           use them
11196         * gst/gstmessage.c:
11197         * gst/gsttag.h:
11198           whitespace/doc fixes
11199
11200 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * gst/gstelement.h:
11203           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
11204           be handled by the application and not always printed as well
11205
11206 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11207
11208         * check/Makefile.am:
11209           set GST_TOOLS_DIR
11210         * gst/check/gstcheck.c: (gst_check_message_error):
11211         * gst/check/gstcheck.h:
11212           add a fail_unless_equals_int
11213           add fail_unless for error messages
11214
11215 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11216
11217         * check/Makefile.am:
11218         * check/gst.supp:
11219         * common/Makefile.am:
11220         * common/check.mak:
11221         * common/gst.supp:
11222           factor out some of the common stuff so we can use it
11223
11224 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * check/Makefile.am:
11227         * check/gst/gstiterator.c: (GST_START_TEST):
11228         * check/gst/gstsystemclock.c: (GST_START_TEST),
11229         (gst_systemclock_suite):
11230         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11231         * gst/gstclock.c:
11232           valgrind more tests
11233
11234 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * check/elements/.cvsignore:
11237         * check/elements/gstfakesrc.c:
11238           rename to name of element
11239         * check/elements/identity.c: (chain_func), (event_func),
11240         (setup_identity), (cleanup_identity), (GST_START_TEST),
11241         (identity_suite), (main):
11242           add a test for identity
11243         * check/Makefile.am:
11244         * pkgconfig/Makefile.am:
11245         * pkgconfig/gstreamer-check.pc.in:
11246         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11247         * gst/check:
11248         * gst/Makefile.am:
11249         * configure.ac:
11250           move the check stuff to a library that gets installed
11251         * check/gst-libs/controller.c: (GST_START_TEST):
11252         * check/gst-libs/gdp.c:
11253         * check/gst/gst.c: (GST_START_TEST):
11254         * check/gst/gstbin.c:
11255         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11256         * check/gst/gstbus.c:
11257         * check/gst/gstcaps.c: (GST_START_TEST):
11258         * check/gst/gstelement.c:
11259         * check/gst/gstghostpad.c:
11260         * check/gst/gstiterator.c:
11261         * check/gst/gstmessage.c:
11262         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
11263         * check/gst/gstobject.c:
11264         * check/gst/gstpad.c: (GST_START_TEST):
11265         * check/gst/gststructure.c: (GST_START_TEST):
11266         * check/gst/gstsystemclock.c: (GST_START_TEST),
11267         (gst_systemclock_suite):
11268         * check/gst/gsttag.c: (gst_tag_suite):
11269         * check/gst/gstvalue.c:
11270         * check/pipelines/cleanup.c:
11271         * check/pipelines/simple_launch_lines.c:
11272         * check/states/sinks.c:
11273           change include statement
11274
11275         * docs/gst/gstreamer-sections.txt:
11276         * docs/gst/tmpl/gstpad.sgml:
11277           document more pad stuff
11278         * gst/gstminiobject.c: (gst_mini_object_ref),
11279         (gst_mini_object_unref):
11280           debug refcounting
11281
11282 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
11283
11284         * docs/gst/tmpl/gst.sgml:
11285         * gst/gst.c:
11286           eliminate another tmpl file, fix spelling in the long-description
11287
11288 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11289
11290         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11291         (test_event), (timediff), (gstevents_suite):
11292           Should fix build on 64-bit arch's
11293
11294 2005-08-18  Andy Wingo  <wingo@pobox.com>
11295
11296         Make sure that when a pipeline goes to PLAYING, that data has
11297         actually hit the sink.
11298
11299         * check/states/sinks.c (test_sink): A sink that doesn't get any
11300         data shouldn't return SUCCESS for going to either PLAYING or
11301         PAUSED. Test also the return values on the way back down.
11302
11303         * gst/gstelement.c (gst_element_set_state): When changing the
11304         state of an element currently changing state asynchronously, go to
11305         lost-state after commiting the pending state. Makes future calls
11306         to get_state continue to return ASYNC.
11307
11308         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
11309         ASYNC when going to PLAYING if we still don't have preroll, as can
11310         happen with live sources.
11311
11312 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11313
11314         * docs/pwg/advanced-types.xml:
11315           Hack long paragraph into 2 chunks as a workaround for buggy
11316           jadetex version in sid and breezy that loops infinitely and
11317           eats all RAM.
11318
11319 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11320
11321         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11322         (test_event), (timediff), (gstevents_suite):
11323           Provide more error margin in clock measurements to allow for 
11324           g_get_current_time inaccuracies.
11325
11326 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11327
11328         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11329         (test_event), (timediff), (gstevents_suite):
11330            Fix error message output so I might be able to tell why the
11331            test works here but fails on the build farm.
11332
11333 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11334
11335         * check/Makefile.am:
11336         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11337         (test_event), (timediff), (gstevents_suite), (main):
11338           I wrote a test!
11339
11340         * docs/design/part-seeking.txt:
11341           Spelling correction
11342
11343         * docs/gst/tmpl/gstevent.sgml:
11344         * docs/gst/tmpl/gstfakesrc.sgml:
11345           Docs updates.
11346
11347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11348           Treat a buffer-without-newsegment the same as a receiving 
11349           a newsegment not in time format, and disable syncing to the clock
11350           with a warning.
11351
11352         * gst/gstbus.c: (gst_bus_set_sync_handler):
11353           Assert if anyone tries to replace the existing sync_handler for bus, 
11354           as only the owner should be setting it.
11355
11356         * gst/gstevent.h:
11357           Have a fixed set of custom event enums with events identified by
11358           their structure name (as in 0.8), rather than a free-for-all
11359           allowing collisions between enum values from different plugins.
11360
11361         * gst/gstpad.c: (gst_pad_class_init):
11362           Docs change.
11363           
11364         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11365           Handle out-of-band downstream events from the sending thread.
11366
11367 2005-08-17  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11370         play-timeout==0 to mean no timeout at all. In that case, don't
11371         bother with a get_state or a warning, just return directly, even
11372         if it's ASYNC.
11373
11374         * gst/base/gstbasetransform.c: Debug changes.
11375
11376         * gst/gstutils.h:
11377         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11378         ensure bins post state change messages. A bit of a hack but I can't
11379         think of a way to avoid it.
11380
11381         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11382
11383 2005-08-16  Andy Wingo  <wingo@pobox.com>
11384
11385         * gst/base/gstadapter.h:
11386         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11387         peek() but you own the data. Not terribly efficient atm.
11388
11389 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11390
11391         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11392         (gst_element_found_tags):
11393         * gst/gstutils.h:
11394           Add two utility functions for tag handling.
11395
11396 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11397
11398         * docs/manual/advanced-dataaccess.xml:
11399         * docs/manual/basics-helloworld.xml:
11400           Fix docs to use _bin_add() before _link(), which fixes the examples
11401           with recent core versions (reported by Madhan Raj M
11402           <raj_madan@rediffmail.com>, #313199).
11403
11404 2005-08-16  Wim Taymans  <wim@fluendo.com>
11405
11406         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11407         Added subtract checks.
11408
11409         * docs/design/part-events.txt:
11410         Some more docs about newsegment
11411
11412         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11413         Fix FIXME
11414
11415         * gst/gstcaps.c: (gst_caps_to_string):
11416         Add comments, cleanups.
11417         
11418         * gst/gstelement.c: (gst_element_save_thyself):
11419         cleanups
11420         
11421         * gst/gstvalue.c: (gst_value_collect_int_range),
11422         (gst_string_unwrap), (gst_value_union_int_int_range),
11423         (gst_value_union_int_range_int_range),
11424         (gst_value_intersect_int_int_range),
11425         (gst_value_intersect_int_range_int_range),
11426         (gst_value_intersect_double_double_range),
11427         (gst_value_intersect_double_range_double_range),
11428         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11429         (gst_value_subtract_int_range_int),
11430         (gst_value_subtract_double_range_double),
11431         (gst_value_subtract_double_range_double_range),
11432         (gst_value_subtract_from_list), (gst_value_subtract_list),
11433         (gst_value_can_compare), (gst_value_compare_fraction):
11434         Cleanups, add comments, remove unneeded asserts.
11435
11436 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11437
11438         * tools/gst-launch.c: (event_loop):
11439           don't convert NULL structures to strings
11440
11441 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11442
11443         * docs/gst/gstreamer-sections.txt:
11444           made some defines private
11445         * docs/gst/tmpl/gstconfig.sgml:
11446         * docs/gst/tmpl/gstqueue.sgml:
11447         * docs/gst/tmpl/gsttaglist.sgml:
11448         * docs/gst/tmpl/gsttypes.sgml:
11449         * docs/gst/tmpl/gstutils.sgml:
11450         * docs/pwg/appendix-porting.xml:
11451         * gst/base/gstbasesink.h:
11452         * gst/base/gstbasesrc.c:
11453         * gst/base/gstbasesrc.h:
11454         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11455         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11456         * gst/gstelement.c: (gst_element_class_init):
11457         * gst/gstpad.c: (gst_pad_class_init):
11458         * gst/gstqueue.c: (gst_queue_class_init):
11459         * gst/gstxml.c: (gst_xml_class_init):
11460           documented all undocumented signal inline
11461         * libs/gst/controller/gst-controller.h:
11462           added padding
11463
11464 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11465
11466         * docs/pwg/appendix-porting.xml:
11467           Document _set_link_function -> _set_setcaps_function.
11468
11469 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11470
11471         * check/Makefile.am:
11472           add a .check target for running the check
11473         * check/gst-libs/controller.c: (GST_START_TEST):
11474           cosmetic fixups
11475         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11476           complete checks for gstbuffer; would be nice if I could get the
11477           gcov stuff to work so I can see if I actually completed gstbuffer.c
11478         * check/gstcheck.h:
11479           add ASSERT_BUFFER_REFCOUNT
11480
11481 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11482
11483         * docs/gst/gstreamer-sections.txt:
11484         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11485         * gst/gsttag.h:
11486           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11487           spew out a warning if a tag that is already registered
11488           is re-registered, unless it is re-registered with a 
11489           different type (#308438).
11490
11491 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11492
11493         * docs/pwg/appendix-porting.xml:
11494         * docs/pwg/building-state.xml:
11495           Add some paragraphs about state changes in 0.9 to the PWG
11496           and the porting guide, in particular about the new meaning
11497           of GST_STATE_PAUSED and how to write state change functions
11498           with concurrent access by multiple threads in mind.
11499
11500 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11501
11502         * docs/gst/gstreamer-docs.sgml:
11503         * docs/libs/gstreamer-libs-docs.sgml:
11504           added deprecation and since indexes
11505         * libs/gst/controller/gst-controller.c:
11506         * libs/gst/controller/gst-helper.c:
11507           added since tags
11508
11509
11510 2005-08-11  Wim Taymans  <wim@fluendo.com>
11511
11512         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11513         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11514         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11515         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11516         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11517         (gst_ghost_pad_set_target):
11518         Actually implement (re)setting the target on a ghostpad
11519         as described in the docs.
11520
11521 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11522
11523         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11524           Check whether GST_DEBUG_NO_COLOR environment variable is
11525           set and disable coloured debug output if that is the case.
11526
11527 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11528
11529         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11530         (gst_type_find_helper):
11531           The memory returned by gst_type_find_peek() needs to
11532           stay valid until the end of a typefind function, and
11533           typefind functions may keep results from different 
11534           offsets around, so we can't just unref the buffer from
11535           the previous _peek(), but have to save all buffers 
11536           returned by _peek() until typefinding is done and only
11537           free them then.
11538
11539 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11540
11541         * docs/gst/gstreamer-sections.txt:
11542         * gst/gstutils.h:
11543           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11544
11545 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11546
11547         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11548           Fix a pretty good memleak.
11549
11550 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11551
11552         * gst/gstiterator.h:
11553           Fix wrong include and 'make distcheck'.
11554
11555 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11556
11557         * gst/gstbin.c: (bin_bus_handler):
11558           Use gst_element_post_message() instead.
11559
11560 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11561
11562         * gst/base/gstadapter.h:
11563         * gst/base/gstbasesink.h:
11564         * gst/base/gstbasesrc.h:
11565         * gst/base/gstbasetransform.h:
11566         * gst/base/gstcollectpads.h:
11567         * gst/base/gstpushsrc.h:
11568         * gst/gstiterator.h:
11569           Add padding to our base elements' class and instance structs and
11570           to GstIterator (you will need to rebuild all plugins and apps!)
11571
11572 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11573
11574         * gst/gstbin.c: (bin_bus_handler):
11575           Make default message forwarding from child->bus to bin->bus
11576           threadsafe and make it not emit warnings if the parent has no bus.
11577
11578 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11579
11580         * gst/gstelement.c: (activate_pads):
11581           On paused->ready, set pad->caps to NULL, as is the documented
11582           behaviour in this state change. Fixes playback of series of
11583           media files when visualization is enabled in Totem.
11584
11585 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11586
11587         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11588           Allow NULL as filter-caps (which means "any").
11589
11590 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11591
11592         * docs/libs/gstreamer-libs-sections.txt:
11593         * libs/gst/controller/gst-controller.c:
11594         * libs/gst/controller/gst-controller.h:
11595         * libs/gst/controller/gst-helper.c:
11596           adding more entries to the docs and fix small doc-bugs
11597
11598 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11599
11600         * docs/gst/gstreamer-docs.sgml:
11601         * docs/gst/gstreamer-sections.txt:
11602         * docs/gst/gstreamer.types:
11603         * docs/gst/tmpl/gstbasesink.sgml:
11604         * docs/gst/tmpl/gstbasesrc.sgml:
11605         * docs/gst/tmpl/gstbasetransform.sgml:
11606         * docs/gst/tmpl/gstfakesrc.sgml:
11607         * gst/base/gstcollectpads.c:
11608         * gst/base/gstcollectpads.h:
11609         * libs/gst/controller/gst-controller.c:
11610         * libs/gst/controller/gst-controller.h:
11611         * libs/gst/controller/gst-helper.c:
11612         * libs/gst/controller/gst-interpolation.c:
11613         * libs/gst/controller/lib.c:
11614           added long/short desc for controller docs
11615           added collectpads base class docs
11616           added correct includes to base-class docs
11617
11618 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11619
11620         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11621         (gst_test_mono_source_set_property),
11622         (gst_test_mono_source_class_init), (GST_START_TEST),
11623         (gst_controller_suite):
11624         * docs/gst/gstreamer-docs.sgml:
11625         * docs/gst/gstreamer-sections.txt:
11626         * docs/gst/gstreamer.types:
11627         * docs/libs/gstreamer-libs-docs.sgml:
11628         * docs/libs/gstreamer-libs-sections.txt:
11629         * gst/base/gstadapter.c:
11630         * libs/gst/controller/gst-controller.c:
11631         (gst_controlled_property_new), (gst_controlled_property_free),
11632         (gst_controller_new_valist),
11633         (gst_controller_remove_properties_valist),
11634         (gst_controller_sink_values), (_gst_controller_finalize):
11635         * libs/gst/controller/gst-controller.h:
11636         * libs/gst/controller/gst-helper.c:
11637         (gst_object_control_properties), (gst_object_uncontrol_properties),
11638         (gst_object_get_controller), (gst_object_set_controller),
11639         (gst_object_sink_values), (gst_object_get_value_arrays),
11640         (gst_object_get_value_array):
11641           more tests (and fixes) for the controller
11642           more docs for the controller
11643           integrated companies docs for the adapter 
11644
11645 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11648         (GST_START_TEST), (fakesrc_suite):
11649           add tests for sizetype
11650
11651 2005-08-04  Andy Wingo  <wingo@pobox.com>
11652
11653         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11654         fixes buffer_alloc proxying among other things.
11655
11656         * gst/base/gstbasetransform.c:
11657         * gst/base/gstbasetransform.h:
11658         Revert patch to gstbasetransform from 7-28 removing
11659         delay_configure.
11660
11661         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11662         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11663         Semantics changed, should return not the size of the output buffer
11664         but the byte size of a buffer with a given caps.
11665
11666         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11667         debug object.
11668         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11669         out) are not the pad caps until setcaps finishes.
11670         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11671         not-in-place case as well. Deal with changing from in-place to
11672         not-in-place within calling pad_alloc_buffer. Still a bit
11673         concerned about the overhead here...
11674
11675 2005-08-03  Andy Wingo  <wingo@pobox.com>
11676
11677         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11678         fixating is an error.
11679
11680 2005-08-04  Edward Hervey  <edward@fluendo.com>
11681
11682         * gst/base/gstadapter.h: 
11683         Added gst_adapter_get_type() to the header
11684
11685 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11686
11687         * check/Makefile.am:
11688         * check/gst-libs/controller.c:
11689         * libs/gst/controller/gst-controller.c:
11690         (gst_controller_new_valist):
11691           added check test suite for the controller
11692         * gst/base/gstpushsrc.c:
11693           fixed a doc typo
11694
11695 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11696
11697         * docs/gst/Makefile.am:
11698         * docs/gst/gstreamer-docs.sgml:
11699         * docs/gst/gstreamer-sections.txt:
11700         * docs/gst/gstreamer.types:
11701         * docs/gst/tmpl/gstfakesrc.sgml:
11702         * gst/base/README:
11703         * gst/base/gstbasesink.c:
11704         * gst/base/gstbasesink.h:
11705         * gst/base/gstbasesrc.c:
11706         * gst/base/gstbasesrc.h:
11707         * gst/base/gstbasetransform.c:
11708         * gst/base/gstpushsrc.c:
11709         * gst/base/gstpushsrc.h:
11710           add short/long description docs to base classes
11711           add pushsrc to the docs
11712           remove consolidated doc fragments
11713
11714 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11715
11716         * configure.ac:
11717         * docs/libs/Makefile.am:
11718         * docs/libs/gstreamer-libs-docs.sgml:
11719         * docs/libs/gstreamer-libs-sections.txt:
11720         * docs/libs/gstreamer-libs.types:
11721         * examples/Makefile.am:
11722         * examples/controller/.cvsignore:
11723         * examples/controller/Makefile.am:
11724         * examples/controller/audio-example.c: (main):
11725         * libs/gst/Makefile.am:
11726         * libs/gst/controller/.cvsignore:
11727         * libs/gst/controller/Makefile.am:
11728         * libs/gst/controller/gst-controller.c:
11729         (on_object_controlled_property_changed), (gst_timed_value_compare),
11730         (gst_timed_value_find),
11731         (gst_controlled_property_set_interpolation_mode),
11732         (gst_controlled_property_new), (gst_controlled_property_free),
11733         (gst_controller_find_controlled_property),
11734         (gst_controller_new_valist), (gst_controller_new),
11735         (gst_controller_remove_properties_valist),
11736         (gst_controller_remove_properties), (gst_controller_set),
11737         (gst_controller_set_from_list), (gst_controller_unset),
11738         (gst_controller_get), (gst_controller_get_all),
11739         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11740         (gst_controller_get_value_array),
11741         (gst_controller_set_interpolation_mode),
11742         (_gst_controller_finalize), (_gst_controller_init),
11743         (_gst_controller_class_init), (gst_controller_get_type):
11744         * libs/gst/controller/gst-controller.h:
11745         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11746         (g_object_uncontrol_properties), (g_object_get_controller),
11747         (g_object_set_controller), (g_object_sink_values),
11748         (g_object_get_value_arrays), (g_object_get_value_array):
11749         * libs/gst/controller/gst-interpolation.c:
11750         (gst_controlled_property_find_timed_value_node),
11751         (interpolate_none_get), (interpolate_trigger_get),
11752         (interpolate_trigger_get_value_array):
11753         * libs/gst/controller/lib.c: (gst_controller_init):
11754         * pkgconfig/Makefile.am:
11755         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11756         * pkgconfig/gstreamer-control.pc.in:
11757         * testsuite/Makefile.am:
11758         * testsuite/controller/.cvsignore:
11759         * testsuite/controller/Makefile.am:
11760         * testsuite/controller/interpolator.c: (main):
11761           added controller code
11762           removed dparam pc files
11763
11764 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11765         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11766         (gst_collectpads_stop):
11767           Broadcast the condition when shutting down, to make sure we wake all
11768           threads up. Shut down pads on finalize, for safety.
11769
11770 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11771         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11772         (gst_base_transform_handle_buffer),
11773         (gst_base_transform_change_state):
11774           Handle PAUSED->READY->PAUSED transition after negotiation
11775           occurred already.
11776         * gst/gstmessage.c: (gst_message_init):
11777           Extra piece of debug for new messages.
11778
11779 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11780
11781         * configure.ac:
11782         * docs/gst/tmpl/gstbasesrc.sgml:
11783         * docs/gst/tmpl/gstelement.sgml:
11784         * docs/gst/tmpl/gstevent.sgml:
11785         * docs/gst/tmpl/gstfakesrc.sgml:
11786         * docs/gst/tmpl/gstformat.sgml:
11787         * docs/gst/tmpl/gstghostpad.sgml:
11788         * docs/gst/tmpl/gstpad.sgml:
11789         * docs/gst/tmpl/gstquery.sgml:
11790         * docs/gst/tmpl/gststructure.sgml:
11791         * docs/gst/tmpl/gsttaglist.sgml:
11792         * docs/gst/tmpl/gstvalue.sgml:
11793         * docs/libs/gstreamer-libs-docs.sgml:
11794         * docs/libs/gstreamer-libs-sections.txt:
11795         * docs/libs/gstreamer-libs.types:
11796         * libs/gst/Makefile.am:
11797         * libs/gst/control/.cvsignore:
11798         * libs/gst/control/Makefile.am:
11799         * libs/gst/control/control.c:
11800         * libs/gst/control/control.h:
11801         * libs/gst/control/dparam.c:
11802         * libs/gst/control/dparam.h:
11803         * libs/gst/control/dparam_smooth.c:
11804         * libs/gst/control/dparam_smooth.h:
11805         * libs/gst/control/dparamcommon.h:
11806         * libs/gst/control/dparammanager.c:
11807         * libs/gst/control/dparammanager.h:
11808         * libs/gst/control/dplinearinterp.c:
11809         * libs/gst/control/dplinearinterp.h:
11810         * libs/gst/control/unitconvert.c:
11811         * libs/gst/control/unitconvert.h:
11812         * testsuite/Makefile.am:
11813         * testsuite/dynparams/.cvsignore:
11814         * testsuite/dynparams/Makefile.am:
11815         * testsuite/dynparams/dparamstest.c:
11816         * tools/Makefile.am:
11817         * tools/gst-inspect.c: (print_element_info), (main):
11818         * tools/gst-xmlinspect.c: (print_element_info), (main):
11819           deactivate and remove dparams (libgstcontrol)
11820
11821 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11822
11823         * gst/elements/gsttypefindelement.c:
11824         (gst_type_find_element_have_type), (gst_type_find_element_init),
11825         (stop_typefinding), (gst_type_find_element_handle_event),
11826         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11827         * gst/elements/gsttypefindelement.h:
11828           Set caps on all outgoing buffers, not just the first one.
11829
11830 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11831
11832         * gst/elements/gsttypefindelement.c:
11833         (gst_type_find_element_have_type),
11834         (gst_type_find_element_check_set_buffer_caps),
11835         (gst_type_find_element_init), (stop_typefinding),
11836         (gst_type_find_element_handle_event),
11837         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11838         * gst/elements/gsttypefindelement.h:
11839           Set caps on first outgoing buffer when we've found the type.
11840
11841 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11842
11843         * docs/gst/gstreamer-docs.sgml:
11844         * docs/gst/gstreamer-sections.txt:
11845         * docs/gst/tmpl/gstscheduler.sgml:
11846         * docs/gst/tmpl/gstschedulerfactory.sgml:
11847           Remove some old cruft from docs.
11848
11849 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11850
11851         * gst/gstpad.h:
11852           Fix inline docs for GstPadLinkReturn.
11853           
11854         * gst/gststructure.c: (gst_structure_has_name):
11855         * gst/gststructure.h:
11856         * docs/gst/gstreamer-sections.txt:
11857           New API: gst_structure_has_name().
11858
11859 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
11860
11861         * configure.ac:
11862           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11863           and _LARGEFILE_SOURCE in config.h as required. Do not 
11864           export those flags in our .pc files any longer (#142209).
11865
11866           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11867
11868         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11869         (gst_file_sink_do_seek), (gst_file_sink_event),
11870         (gst_file_sink_get_current_offset), (gst_file_sink_render):
11871           Redo seek/tell calls with large file support in mind; add some
11872           debugging messages; add log message that tells us when large
11873           file support is unavailable or not enabled for some reason.
11874
11875         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11876           Add log message that tells us when large file support 
11877           is unavailable or not enabled for some reason.
11878
11879 2005-07-29  Wim Taymans  <wim@fluendo.com>
11880
11881         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11882         Added test for removing an element with ghostpad from a bin.
11883         Fixed test as current implementation does the right thing.
11884
11885         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11886         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11887         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11888         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11889         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11890         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11891         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11892         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11893         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11894         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11895         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11896         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11897         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11898         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11899         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11900         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11901         * gst/gstghostpad.h:
11902         Clean up ghostpads, remove properties for internal stuff.
11903         Make threadsafe.
11904         Fix refcounting.
11905         Prepare for switching targets, not all use cases work yet.
11906
11907 2005-07-29  Wim Taymans  <wim@fluendo.com>
11908
11909         * docs/design/part-gstghostpad.txt:
11910         Small update.
11911
11912         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11913         (gst_bin_remove_func):
11914         Unlinking pads while holding the bin LOCK is not a good
11915         idea.
11916
11917         * gst/gstpad.c: (gst_pad_class_init),
11918         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11919         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11920         No prob setting template after creating the pad.
11921
11922 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11923
11924         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11925         (gst_bus_peek), (gst_bus_source_dispatch),
11926         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11927         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11928           gst_bus_poll may be called from other threads. Handle
11929           this nicely by not making poll_data disappear off the
11930           stack once gst_bus_poll returns.
11931           gst_bus_peek now increments the refcount on the returned
11932           message.
11933
11934 2005-07-29  Wim Taymans  <wim@fluendo.com>
11935
11936         * docs/design/part-gstghostpad.txt:
11937         Overview of current GhostPad datastructures and use
11938         cases for changing the target.
11939
11940 2005-07-28  Wim Taymans  <wim@fluendo.com>
11941
11942         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11943         Added checks for hierarchy consistency whan adding linked
11944         elements to bins.
11945
11946         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11947         Added check to test element scheduling without bin/pipeline.
11948
11949         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11950         First add elements to bin, then link.
11951         
11952         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11953         (gst_bin_remove_func):
11954         Unlink pads from elements added/removed from bin to maintain
11955         hierarchy consistency.
11956
11957 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11958
11959         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11960         (gst_base_transform_handle_buffer):
11961         * gst/base/gstbasetransform.h:
11962           Remove broken delay_configure (fixes renegotiation of software
11963           scaling pipelines); remove some leftover printf()s.
11964
11965 2005-07-28  Wim Taymans  <wim@fluendo.com>
11966
11967         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11968         Added some more tests for wrong hierarchy
11969
11970         * docs/design/part-overview.txt:
11971         Some updates.
11972
11973         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11974         Cleanups.
11975
11976         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11977         (gst_element_dispose):
11978         Some more cleanups.
11979
11980         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11981         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11982         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11983         (gst_pad_set_caps), (gst_pad_send_event):
11984         Check for correct hierarchy when linking pads. Moving to
11985         strict requirement for ghostpads when linking elements in
11986         different bins.
11987
11988         * gst/gstpad.h:
11989         Clean ups. Added WRONG_HIERARCHY return value.
11990
11991 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11992
11993         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11994           Better debug if no transform is possible.
11995
11996 2005-07-27  Wim Taymans  <wim@fluendo.com>
11997
11998         * docs/random/wtay/network-transp:
11999         Some old doc I had.
12000
12001 2005-07-27  Wim Taymans  <wim@fluendo.com>
12002
12003         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12004         (gst_dp_event_from_packet):
12005         Fix serialization of seek events.
12006
12007 2005-07-27  Wim Taymans  <wim@fluendo.com>
12008
12009         * check/gst-libs/gdp.c: (GST_START_TEST):
12010         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12011         Fix compilation and fix event serialization.
12012
12013 2005-07-27  Wim Taymans  <wim@fluendo.com>
12014
12015         * CHANGES-0.9:
12016         * docs/design/part-TODO.txt:
12017         * docs/design/part-events.txt:
12018         Some docs updates
12019
12020         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12021         (gst_base_sink_event), (gst_base_sink_do_sync),
12022         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12023         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12024         (gst_base_src_do_seek), (gst_base_src_event_handler),
12025         (gst_base_src_loop):
12026         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12027         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12028         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12029         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12030         (gst_base_transform_set_passthrough),
12031         (gst_base_transform_is_passthrough):
12032         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12033         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12034         Event updates.
12035
12036         * gst/gstbuffer.h:
12037         Use faster casts.
12038
12039         * gst/gstelement.c: (gst_element_seek):
12040         * gst/gstelement.h:
12041         Update gst_element_seek.
12042
12043         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12044         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12045         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12046         (gst_event_new_eos), (gst_event_new_newsegment),
12047         (gst_event_parse_newsegment), (gst_event_new_tag),
12048         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12049         (gst_event_parse_qos), (gst_event_new_seek),
12050         (gst_event_parse_seek), (gst_event_new_navigation):
12051         * gst/gstevent.h:
12052         Make GstEvent use GstStructure. Add parsing code, make sure the
12053         API is sufficiently generic.
12054         Mark possible directions of events and serialization.
12055
12056         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12057         (_gst_message_copy), (gst_message_new_segment_start),
12058         (gst_message_new_segment_done), (gst_message_new_custom),
12059         (gst_message_parse_segment_start),
12060         (gst_message_parse_segment_done):
12061         Small cleanups.
12062
12063         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12064         (gst_pad_set_caps), (gst_pad_send_event):
12065         Update for new events. 
12066         Catch events sent in wrong directions.
12067
12068         * gst/gstqueue.c: (gst_queue_link_src),
12069         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12070         (gst_queue_handle_src_query):
12071         Event updates.
12072
12073         * gst/gsttag.c:
12074         * gst/gsttag.h:
12075         Remove event code from this file.
12076
12077         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12078         (gst_dp_event_from_packet):
12079         Event updates.
12080
12081 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12082
12083         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12084         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12085         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12086           Make debugging actually useful.
12087
12088 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12089
12090         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12091         (gst_pad_fixate_caps):
12092           Implement default fixation once again, so that gst_pad_fixate()
12093           actually does anything at all. This probably needs to be some
12094           sort of a last resort, and use profile-based fixation first, but
12095           since that doesn't exist yet, this is the best we have. Fixes
12096           visualization in Totem.
12097
12098 2005-07-22  Wim Taymans  <wim@fluendo.com>
12099
12100         * docs/design/part-events.txt:
12101         Small update.
12102
12103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12104         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12105         (gst_base_sink_activate_pull):
12106         Some more comments.
12107
12108         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12109         (gst_fake_src_create):
12110         Fix handoff marshall.
12111
12112         * gst/elements/gstidentity.c: (gst_identity_class_init),
12113         (gst_identity_transform_ip):
12114         We're a real inplace element.
12115
12116         * gst/gstbus.c: (gst_bus_post):
12117         Added some comments.
12118
12119         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12120         * tests/muxing/case1.c: (main):
12121         * tests/sched/dynamic-pipeline.c: (main):
12122         * tests/sched/interrupt1.c: (main):
12123         * tests/sched/interrupt2.c: (main):
12124         * tests/sched/interrupt3.c: (main):
12125         * tests/sched/runxml.c: (main):
12126         * tests/sched/sched-stress.c: (main):
12127         * tests/seeking/seeking1.c: (event_received), (main):
12128         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12129         (main):
12130         * tests/threadstate/threadstate3.c: (main):
12131         * tests/threadstate/threadstate4.c: (main):
12132         * tests/threadstate/threadstate5.c: (main):
12133         Fix the tests.
12134
12135 2005-07-21  Wim Taymans  <wim@fluendo.com>
12136
12137         * docs/design/part-seeking.txt:
12138         Some small additions.
12139
12140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12141         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12142         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12143         * gst/base/gstbasesink.h:
12144         discont values are gint64, handle the math correctly.
12145
12146         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12147         Make the basesrc report error if the source pad is not linked.
12148
12149         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12150         (gst_queue_loop), (gst_queue_handle_src_query),
12151         (gst_queue_src_activate_push):
12152         Make queue collect data even if the srcpad is not linked.
12153         Start pushing out data as soon as it is linked.
12154
12155         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12156         * gst/gstutils.h:
12157         Added gst_flow_get_name() to ease error reporting.
12158
12159 2005-07-20  Wim Taymans  <wim@fluendo.com>
12160
12161         * gst/gstmessage.c: (gst_message_new_segment_start),
12162         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12163         (gst_message_parse_segment_done):
12164         * gst/gstmessage.h:
12165         Added a bunch of messages for advanced seeking.
12166
12167         * gst/parse/grammar.y:
12168         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12169         (gst_dpman_state_changed):
12170         Fix some new-pad -> pad-added signals
12171
12172 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12173
12174         * docs/manual/appendix-porting.xml:
12175         * docs/pwg/appendix-porting.xml:
12176           Document new-pad/state-change signal renames and the FixedList
12177           type rename.
12178
12179 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12180
12181         * docs/manual/advanced-autoplugging.xml:
12182         * docs/manual/basics-helloworld.xml:
12183         * docs/manual/basics-pads.xml:
12184         * docs/random/ds/0.9-suggested-changes:
12185         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12186         * gst/gstelement.h:
12187         * gst/gstevent.h:
12188         * gst/gstformat.h:
12189         * gst/gstquery.h:
12190         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12191         (gst_structure_parse_array), (gst_structure_parse_value):
12192         * gst/gstvalue.c: (gst_type_is_fixed),
12193         (gst_value_list_prepend_value), (gst_value_list_append_value),
12194         (gst_value_list_get_size), (gst_value_list_get_value),
12195         (gst_value_transform_array_string), (gst_value_serialize_array),
12196         (gst_value_deserialize_array), (gst_value_intersect_array),
12197         (gst_value_is_fixed), (_gst_value_initialize):
12198         * gst/gstvalue.h:
12199           GstElement::new-pad -> pad-added, GstElement::state-change ->
12200           state-changed, GstValueFixedList -> GstValueArray, add format and
12201           flags as their own arguments in gst_element_seek() (should improve
12202           "bindeability"), remove function generators since they don't work
12203           under a whole bunch of compilers (they were deprecated already
12204           anyway).
12205
12206 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12207
12208         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12209         (_gst_debug_register_funcptr):
12210         * gst/gstinfo.h:
12211           Fix illegal cast on some platforms (#309253).
12212
12213 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12214
12215         * gst/gstmessage.c: (gst_message_new_custom):
12216         * gst/gstmessage.h:
12217           Add _new_custom, make _new_application a macro to _new_custom.
12218
12219 2005-07-20  Wim Taymans  <wim@fluendo.com>
12220
12221         * gst/base/gstbasesrc.c: (gst_base_src_init),
12222         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12223         * gst/base/gstbasesrc.h:
12224         Add a gboolean to decide when to push out a discont.
12225
12226         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12227         (gst_queue_loop), (gst_queue_handle_src_query),
12228         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
12229         (gst_queue_set_property), (gst_queue_get_property):
12230         Some cleanups.
12231
12232         * tests/threadstate/threadstate1.c: (main):
12233         Make a thread test compile and run... very silly..
12234
12235
12236 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12237
12238         * docs/manual/appendix-porting.xml:
12239           Mention removal of libgstgconf-0.9.la and existence of gconf
12240           elements.
12241
12242 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12243
12244         * docs/pwg/advanced-clock.xml:
12245         * docs/pwg/appendix-porting.xml:
12246         * docs/pwg/intro-preface.xml:
12247         * docs/pwg/other-base.xml:
12248         * docs/pwg/other-manager.xml:
12249         * docs/pwg/other-nton.xml:
12250         * docs/pwg/other-ntoone.xml:
12251         * docs/pwg/other-oneton.xml:
12252         * docs/pwg/pwg.xml:
12253           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
12254           demuxer), remove n-to-n (was never written), fix some code examples
12255           and links and update the porting section to include all this.
12256
12257 2005-07-19  Wim Taymans  <wim@fluendo.com>
12258
12259         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
12260         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
12261         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
12262         (gst_queue_src_activate_push), (gst_queue_change_state),
12263         (gst_queue_get_property):
12264         * gst/gstqueue.h:
12265         Propagate GstFlowReturn more intelligently upstream and output
12266         an ERROR/EOS when streaming stopped due to fatal error.
12267
12268 2005-07-19  Wim Taymans  <wim@fluendo.com>
12269
12270         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12271         Don't block forever for the state change to complete, the
12272         pipeline already did with a sensible timeout.
12273
12274 2005-07-19  Wim Taymans  <wim@fluendo.com>
12275
12276         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12277         Make sure we never call the create function is we
12278         got deactivated.
12279
12280 2005-07-19  Andy Wingo  <wingo@pobox.com>
12281
12282         * gst/parse/parse.l: Attempt to solve bug #172815.
12283
12284 2005-07-19  Wim Taymans  <wim@fluendo.com>
12285
12286         * docs/design/part-clocks.txt:
12287         * docs/design/part-events.txt:
12288         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
12289         Small docs updates.
12290         Only update the seeking values when we are not
12291         busy streaming.
12292
12293 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12294
12295         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12296           Oops, ignore the result of gst_pad_push_event here.
12297
12298 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12299
12300         * gst/base/gstbasesrc.c: (gst_base_src_loop),
12301         (gst_base_src_activate_push):
12302           Send discont event from the loop function, as pads
12303           aren't activated yet in the activate_push handler.
12304
12305         * gst/gstbin.c: (bin_bus_handler):
12306           Don't leak element name.
12307
12308 2005-07-18  Andy Wingo  <wingo@pobox.com>
12309
12310         * configure.ac: Use AS_LIBTOOL_TAGS.
12311
12312 2005-07-18  Wim Taymans  <wim@fluendo.com>
12313
12314         * docs/gst/gstreamer.types:
12315         Remove deleted types.
12316
12317 2005-07-18  Wim Taymans  <wim@fluendo.com>
12318
12319         * check/elements/gstfakesrc.c: (GST_START_TEST):
12320         * configure.ac:
12321         * gst/Makefile.am:
12322         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
12323         (init_popt_callback):
12324         * gst/gst.h:
12325         * gst/gst_private.h:
12326         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12327         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12328         * gst/gstbin.h:
12329         * gst/gstbus.h:
12330         * gst/gstconfig.h.in:
12331         * gst/gstelement.c: (gst_element_class_init),
12332         (gst_element_set_base_time), (gst_element_get_base_time),
12333         (iterator_fold_with_resync), (gst_element_change_state),
12334         (gst_element_dispose), (gst_element_get_bus):
12335         * gst/gstelement.h:
12336         * gst/gstelementfactory.h:
12337         * gst/gsterror.c: (_gst_core_errors_init):
12338         * gst/gsterror.h:
12339         * gst/gstevent.h:
12340         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12341         * gst/gstindex.c:
12342         * gst/gstinfo.c: (_gst_debug_init):
12343         * gst/gstmessage.c: (_gst_message_copy):
12344         * gst/gstmessage.h:
12345         * gst/gstminiobject.h:
12346         * gst/gstobject.c:
12347         * gst/gstobject.h:
12348         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12349         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12350         * gst/gstpad.h:
12351         * gst/gstparse.h:
12352         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12353         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12354         (gst_pipeline_get_last_stream_time):
12355         * gst/gstpipeline.h:
12356         * gst/gstpluginfeature.h:
12357         * gst/gstquery.h:
12358         * gst/gstscheduler.c:
12359         * gst/gstscheduler.h:
12360         * gst/gststructure.h:
12361         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12362         (gst_task_finalize), (gst_task_func), (gst_task_create),
12363         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12364         (gst_task_stop), (gst_task_pause):
12365         * gst/gsttask.h:
12366         * gst/gsttypefind.h:
12367         * gst/gsttypes.h:
12368         * gst/registries/gstlibxmlregistry.c: (load_feature),
12369         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12370         * gst/registries/gstxmlregistry.c:
12371         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12372         * gst/schedulers/threadscheduler.c:
12373         * libs/gst/control/dparammanager.h:
12374         * tools/gst-inspect.c: (print_element_list),
12375         (print_plugin_features), (print_element_features):
12376         * tools/gst-xmlinspect.c: (print_element_list),
12377         (print_plugin_info), (main):
12378         Removed plugable schedulers.
12379         Removed Scheduler/Manager from elements.
12380         Removed gsttypes.h, rearranged includes.
12381         Removed dependency pad<->element, element<>pipeline, and
12382         various others,  fix includes.
12383         implement gst_pad_get_parent() with gst_object_get_parent()
12384         Make GstTask sefcontained.
12385         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12386         timeout.
12387         Fix endless loop in iterator_fold_with_resync.
12388
12389
12390 2005-07-18  Wim Taymans  <wim@fluendo.com>
12391
12392         * gst/Makefile.am:
12393         * gst/gstarch.h:
12394         Remove old file.
12395
12396 2005-07-18  Wim Taymans  <wim@fluendo.com>
12397
12398         * gst/Makefile.am:
12399         No more cothreads.h
12400
12401 2005-07-18  Wim Taymans  <wim@fluendo.com>
12402
12403         * gst/cothreads.c:
12404         * gst/cothreads.h:
12405         Let's remove these.
12406
12407 2005-07-18  Wim Taymans  <wim@fluendo.com>
12408
12409         * docs/design/part-dynamic.txt:
12410         * docs/design/part-events.txt:
12411         * docs/design/part-seeking.txt:
12412         Some more docs in the works.
12413
12414         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12415         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12416         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12417         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12418         (gst_base_transform_handle_buffer),
12419         (gst_base_transform_sink_activate_push),
12420         (gst_base_transform_src_activate_pull),
12421         (gst_base_transform_set_passthrough),
12422         (gst_base_transform_is_passthrough):
12423         Refcounting fixes.
12424
12425         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12426         Cleanups.
12427
12428         * gst/gstevent.c: (gst_event_finalize):
12429         Set SRC to NULL.
12430
12431         * gst/gstutils.c: (gst_element_unlink),
12432         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12433         (gst_pad_proxy_setcaps):
12434         * gst/gstutils.h:
12435         Add _get_parent_element() to get a pads parent as an element.
12436
12437 2005-07-18  Wim Taymans  <wim@fluendo.com>
12438
12439         * check/gst/gstbin.c: (GST_START_TEST):
12440         Remove bogus test.
12441
12442 2005-07-18  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12445         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12446         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12447         (gst_base_sink_event), (gst_base_sink_do_sync),
12448         (gst_base_sink_chain), (gst_base_sink_loop),
12449         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12450         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12451         Refcounting fixes.
12452         Fix logic for returning ASYNC when not prerolled.
12453
12454 2005-07-18  Wim Taymans  <wim@fluendo.com>
12455
12456         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12457         Fix nasty refcount bug.
12458
12459 2005-07-16 Philippe Khalaf <burger@speedy.org>
12460
12461         * gst/elements/gstfdsrc.c:
12462         * gst/elements/gstfdsrc.h:
12463         * gst/elements/gstelements.c:
12464         * gst/elements/Makefile.am:
12465         Ported fdsrc to 0.9.
12466
12467 2005-07-16  Wim Taymans  <wim@fluendo.com>
12468
12469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12470         (gst_base_sink_do_sync):
12471         Fix compile error.
12472
12473 2005-07-16  Wim Taymans  <wim@fluendo.com>
12474
12475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12476         (gst_base_sink_event), (gst_base_sink_get_times),
12477         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12478         * gst/base/gstbasesink.h:
12479         Store and use discont values when syncing buffers as described
12480         in design docs.
12481         
12482         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12483         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12484         (gst_base_src_activate_push):
12485         Push discont event when starting.
12486
12487         * gst/elements/gstidentity.c: (gst_identity_transform):
12488         Small cleanups.
12489
12490         * gst/gstbin.c: (gst_bin_change_state):
12491         Small cleanups in base_time  distribution.
12492
12493         * gst/gstelement.c: (gst_element_set_base_time),
12494         (gst_element_get_base_time), (gst_element_change_state):
12495         * gst/gstelement.h:
12496         Added methods for the base_time of the element.
12497         Some MT fixes.
12498
12499         * gst/gstpipeline.c: (gst_pipeline_send_event),
12500         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12501         (gst_pipeline_get_last_stream_time):
12502         * gst/gstpipeline.h:
12503         MT fixes.
12504         Handle seeking as described in design doc, remove stream_time
12505         hack.
12506         Cleanups clock and stream_time selection code. Added accessors
12507         for the stream_time.
12508         
12509
12510 2005-07-16  Andy Wingo  <wingo@pobox.com>
12511
12512         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12513         (#305291).
12514
12515 2005-07-16  Wim Taymans  <wim@fluendo.com>
12516
12517         * check/gst/gstbin.c: (GST_START_TEST):
12518         Make elements silent as the deep_notify refs the
12519         parent, which might make the test fail.
12520
12521         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12522         Don't hold the lock for too long.
12523
12524 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12527           Don't unref the caps we passed to gst_caps_make_writable() after
12528           passing them. gst_caps_make_writable() will do that for us.
12529
12530 2005-07-15  Andy Wingo  <wingo@pobox.com>
12531
12532         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12533         (#157311).
12534
12535         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12536         own marshalling function for the handoff signal. Properly type the
12537         buffer as a buffer. Fixes some warnings. Should do a more general
12538         solution.
12539         (gst_identity_class_init): Plug into the right marshaller.
12540
12541 2005-07-15  Wim Taymans  <wim@fluendo.com>
12542
12543         * docs/design/part-TODO.txt:
12544         * docs/design/part-clocks.txt:
12545         * docs/design/part-element-sink.txt:
12546         * docs/design/part-events.txt:
12547         * docs/design/part-gstpipeline.txt:
12548         Updated docs, mostly DISCONT related.
12549
12550 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12551
12552         * docs/pwg/building-pads.xml:
12553           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12554
12555 2005-07-15  Andy Wingo  <wingo@pobox.com>
12556
12557         * tools/gst-typefind.c: Update, add copyright block.
12558
12559         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12560         Normalize and truncate caps before fixation.
12561
12562         * gst/gstcaps.h:
12563         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12564         discards all but the first structure from its argument.
12565
12566 2005-07-15  Wim Taymans  <wim@fluendo.com>
12567
12568         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12569         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12570         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12571         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12572         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12573         (gst_base_transform_chain), (gst_base_transform_change_state),
12574         (gst_base_transform_set_passthrough),
12575         (gst_base_transform_is_passthrough):
12576         * gst/base/gstbasetransform.h:
12577         Make passthrough work using the bufferpools.
12578         Changed API a bit, subclasses have to write into a buffer
12579         provided by the base class.
12580         More debug info in nego functions.
12581         
12582         * gst/elements/gstidentity.c: (gst_identity_init),
12583         (gst_identity_transform):
12584         Port to new base class.
12585
12586 2005-07-15  Wim Taymans  <wim@fluendo.com>
12587
12588         * gst/gstmessage.c: (gst_message_new_state_changed):
12589         * tools/gst-launch.c: (event_loop), (main):
12590         Totally dump messages in -launch with the -m option.
12591         Fix message name for State messages,
12592
12593 2005-07-14  Wim Taymans  <wim@fluendo.com>
12594
12595         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12596         Post error messages on errors.
12597
12598 2005-07-14  Wim Taymans  <wim@fluendo.com>
12599
12600         * gst/gstcaps.c: (gst_caps_do_simplify):
12601         Remove debug info.
12602
12603         * gst/gsterror.h:
12604         Define error for stream stopped.
12605
12606         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12607         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12608         Do proper return values.
12609
12610         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12611         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12612         (gst_pad_get_range):
12613         Better return values.
12614
12615         * gst/gstpad.h:
12616         Reorganise return values, add macro to check for fatal errors.
12617
12618         * gst/gstqueue.c: (gst_queue_chain):
12619         Return proper GstFlowReturn values,
12620
12621 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12622
12623         * docs/gst/gstreamer-sections.txt:
12624         * docs/gst/gstreamer.types:
12625         * docs/gst/tmpl/gst.sgml:
12626         * docs/gst/tmpl/gstbasesink.sgml:
12627         * docs/gst/tmpl/gstbasesrc.sgml:
12628         * docs/gst/tmpl/gstbasetransform.sgml:
12629         * docs/gst/tmpl/gstbin.sgml:
12630         * docs/gst/tmpl/gstbuffer.sgml:
12631         * docs/gst/tmpl/gstcaps.sgml:
12632         * docs/gst/tmpl/gstclock.sgml:
12633         * docs/gst/tmpl/gstcompat.sgml:
12634         * docs/gst/tmpl/gstconfig.sgml:
12635         * docs/gst/tmpl/gstelement.sgml:
12636         * docs/gst/tmpl/gstelementdetails.sgml:
12637         * docs/gst/tmpl/gstelementfactory.sgml:
12638         * docs/gst/tmpl/gstenumtypes.sgml:
12639         * docs/gst/tmpl/gsterror.sgml:
12640         * docs/gst/tmpl/gstevent.sgml:
12641         * docs/gst/tmpl/gstfakesink.sgml:
12642         * docs/gst/tmpl/gstfakesrc.sgml:
12643         * docs/gst/tmpl/gstfilesink.sgml:
12644         * docs/gst/tmpl/gstfilesrc.sgml:
12645         * docs/gst/tmpl/gstfilter.sgml:
12646         * docs/gst/tmpl/gstformat.sgml:
12647         * docs/gst/tmpl/gstghostpad.sgml:
12648         * docs/gst/tmpl/gstimplementsinterface.sgml:
12649         * docs/gst/tmpl/gstindex.sgml:
12650         * docs/gst/tmpl/gstindexfactory.sgml:
12651         * docs/gst/tmpl/gstinfo.sgml:
12652         * docs/gst/tmpl/gstiterator.sgml:
12653         * docs/gst/tmpl/gstmacros.sgml:
12654         * docs/gst/tmpl/gstmemchunk.sgml:
12655         * docs/gst/tmpl/gstminiobject.sgml:
12656         * docs/gst/tmpl/gstobject.sgml:
12657         * docs/gst/tmpl/gstpad.sgml:
12658         * docs/gst/tmpl/gstpadtemplate.sgml:
12659         * docs/gst/tmpl/gstparse.sgml:
12660         * docs/gst/tmpl/gstpipeline.sgml:
12661         * docs/gst/tmpl/gstplugin.sgml:
12662         * docs/gst/tmpl/gstpluginfeature.sgml:
12663         * docs/gst/tmpl/gstquery.sgml:
12664         * docs/gst/tmpl/gstqueue.sgml:
12665         * docs/gst/tmpl/gstregistry.sgml:
12666         * docs/gst/tmpl/gstregistrypool.sgml:
12667         * docs/gst/tmpl/gstscheduler.sgml:
12668         * docs/gst/tmpl/gstschedulerfactory.sgml:
12669         * docs/gst/tmpl/gststructure.sgml:
12670         * docs/gst/tmpl/gstsystemclock.sgml:
12671         * docs/gst/tmpl/gsttaglist.sgml:
12672         * docs/gst/tmpl/gsttagsetter.sgml:
12673         * docs/gst/tmpl/gsttrace.sgml:
12674         * docs/gst/tmpl/gsttrashstack.sgml:
12675         * docs/gst/tmpl/gsttypefind.sgml:
12676         * docs/gst/tmpl/gsttypefindfactory.sgml:
12677         * docs/gst/tmpl/gsttypes.sgml:
12678         * docs/gst/tmpl/gsturihandler.sgml:
12679         * docs/gst/tmpl/gsturitype.sgml:
12680         * docs/gst/tmpl/gstutils.sgml:
12681         * docs/gst/tmpl/gstvalue.sgml:
12682         * docs/gst/tmpl/gstversion.sgml:
12683         * docs/gst/tmpl/gstxml.sgml:
12684         * docs/libs/tmpl/gstcontrol.sgml:
12685         * docs/libs/tmpl/gstdataprotocol.sgml:
12686         * docs/libs/tmpl/gstdparam.sgml:
12687         * docs/libs/tmpl/gstdplinint.sgml:
12688         * docs/libs/tmpl/gstdpman.sgml:
12689         * docs/libs/tmpl/gstdpsmooth.sgml:
12690         * docs/libs/tmpl/gstgetbits.sgml:
12691         * docs/libs/tmpl/gstunitconvert.sgml:
12692         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12693         (gst_push_src_base_init), (gst_push_src_class_init),
12694         (gst_push_src_init), (gst_push_src_create):
12695         * gst/base/gstpushsrc.h:
12696         * gst/elements/gstelements.c:
12697         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12698         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12699         (gst_fake_sink_init), (gst_fake_sink_set_property),
12700         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12701         (gst_fake_sink_event), (gst_fake_sink_preroll),
12702         (gst_fake_sink_render), (gst_fake_sink_change_state):
12703         * gst/elements/gstfakesink.h:
12704         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12705         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12706         (gst_fake_src_base_init), (gst_fake_src_class_init),
12707         (gst_fake_src_init), (gst_fake_src_event_handler),
12708         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12709         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12710         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12711         (gst_fake_src_create_buffer), (gst_fake_src_create),
12712         (gst_fake_src_start), (gst_fake_src_stop):
12713         * gst/elements/gstfakesrc.h:
12714         * gst/elements/gstfilesink.c: (_do_init),
12715         (gst_file_sink_base_init), (gst_file_sink_class_init),
12716         (gst_file_sink_init), (gst_file_sink_dispose),
12717         (gst_file_sink_set_location), (gst_file_sink_set_property),
12718         (gst_file_sink_get_property), (gst_file_sink_open_file),
12719         (gst_file_sink_close_file), (gst_file_sink_query),
12720         (gst_file_sink_event), (gst_file_sink_render),
12721         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12722         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12723         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12724         * gst/elements/gstfilesink.h:
12725         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12726         (gst_file_src_class_init), (gst_file_src_init),
12727         (gst_file_src_finalize), (gst_file_src_set_location),
12728         (gst_file_src_set_property), (gst_file_src_get_property),
12729         (gst_file_src_map_region), (gst_file_src_map_small_region),
12730         (gst_file_src_create_mmap), (gst_file_src_create_read),
12731         (gst_file_src_create), (gst_file_src_is_seekable),
12732         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12733         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12734         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12735         (gst_file_src_uri_handler_init):
12736         * gst/elements/gstfilesrc.h:
12737           more autistic cleanliness in functions/names/defines
12738
12739 2005-07-13  Andy Wingo  <wingo@pobox.com>
12740
12741         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12742         source couldn't negotiate.
12743
12744         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12745         connections again.
12746
12747         * gst/gstutils.h:
12748         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12749         function. I am channeling Hades. Put your boots on suckers!!!
12750
12751 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12752
12753         * testsuite/caps/Makefile.am:
12754         * testsuite/caps/value_compare.c:
12755         * testsuite/caps/value_intersect.c:
12756         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12757           move two testsuite apps over to the check dir
12758
12759 2005-07-12  Wim Taymans  <wim@fluendo.com>
12760
12761         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12762         Added more debug info in the negotiate process.
12763
12764         * gst/gstmessage.h:
12765         Prepare for segment playback.
12766
12767         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12768         Better debugging.
12769
12770         * gst/gstutils.c:
12771         Some more docs.
12772
12773         * tools/gst-launch.c: (main):
12774         NULL pipeline on errors.
12775
12776 2005-07-12  Andy Wingo  <wingo@pobox.com>
12777
12778         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12779         not it comes from a malloc region. Make sure our copy gets freed.
12780
12781 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12784         * check/gst/gstmessage.c: (GST_START_TEST):
12785         * check/gst/gststructure.c: (GST_START_TEST),
12786         (gst_structure_suite), (main):
12787           more testing
12788         * gst/gstelement.c: (gst_element_message_full):
12789           clean up GError and debug string now that they get copied
12790         * gst/gstmessage.c: (gst_message_new_error),
12791         (gst_message_new_warning), (gst_message_parse_error),
12792         (gst_message_parse_warning):
12793           use GST_TYPE_G_ERROR for structure_new, and take copies of
12794           arguments, so that we don't mess up refcounting
12795
12796 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12797
12798         * check/Makefile.am:
12799           add per-test valgrind targets
12800         * check/gst-libs/gdp.c: (GST_START_TEST),
12801         (gst_data_protocol_suite), (main):
12802           clean up
12803
12804 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * check/Makefile.am:
12807           instate more valgrindable tests
12808         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12809         (GST_START_TEST), (fakesrc_suite):
12810         * check/gst/gstpad.c: (GST_START_TEST):
12811         * check/gst/gststructure.c: (GST_START_TEST):
12812           fix test leaks
12813         * docs/gst/tmpl/gstminiobject.sgml:
12814         * gst/gstpad.c: (gst_pad_finalize):
12815           fix the static mutex leak
12816
12817 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12818
12819         * check/Makefile.am:
12820           add two more tests for valgrinding
12821         * check/gst/gstvalue.c: (GST_START_TEST):
12822           test refcount of deserialized buffer, found a leak
12823         * docs/gst/gstreamer-docs.sgml:
12824         * docs/gst/gstreamer-sections.txt:
12825         * docs/gst/gstreamer.types:
12826         * docs/gst/tmpl/gstminiobject.sgml:
12827           add miniobject to docs
12828         * gst/gstminiobject.c:
12829           add some docs
12830         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12831         (gst_string_unwrap):
12832           fix a hard-to-find invalid write for one of the tests
12833           fix a leak for deserialized buffers
12834
12835 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12836
12837         * docs/pwg/advanced-events.xml:
12838         * docs/pwg/advanced-request.xml:
12839         * docs/pwg/advanced-scheduling.xml:
12840         * docs/pwg/appendix-porting.xml:
12841         * docs/pwg/building-boiler.xml:
12842         * docs/pwg/intro-preface.xml:
12843         * docs/pwg/other-ntoone.xml:
12844           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12845           of example code and explanation for pad activation, loop() and
12846           getrange() functions and a bit more. Remove old comments pointing
12847           to loop-functions.
12848         * examples/pwg/Makefile.am:
12849           Add loop/getrange examples.
12850
12851 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12852
12853         * configure.ac:
12854           check for valgrind binary + some fixes
12855         * check/gst.supp:
12856           valgrind suppressions for the tests
12857         * check/Makefile.am:
12858           add a valgrind: target that valgrinds the unit tests
12859         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12860         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12861         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12862         * check/gst/gstghostpad.c:
12863           added some cleanup
12864         * check/gst/gstdata.c:
12865           removed
12866         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12867         (thread_unref), (gst_mini_object_suite), (main):
12868           added
12869         * gst/gst.c: (gst_deinit):
12870         * gst/gst.h:
12871           add a method to clean up.
12872         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12873         (gst_system_clock_obtain):
12874           allow for disposing the system clock.
12875         * tools/gst-launch.c: (main):
12876           deinit
12877
12878 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12879
12880         * docs/gst/tmpl/gstbasesrc.sgml:
12881         * docs/gst/tmpl/gstfakesrc.sgml:
12882         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12883         (gst_base_src_init), (gst_base_src_set_property),
12884         (gst_base_src_get_property), (gst_base_src_get_range),
12885         (gst_base_src_start):
12886         * gst/base/gstbasesrc.h:
12887           add num-buffers property
12888         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12889         (gst_fakesrc_init), (gst_fakesrc_set_property),
12890         (gst_fakesrc_get_property), (gst_fakesrc_create),
12891         (gst_fakesrc_start):
12892           remove num-buffers property
12893
12894 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12895
12896         * docs/gst/gstreamer-sections.txt:
12897         * docs/gst/tmpl/gstbasesink.sgml:
12898         * docs/gst/tmpl/gstbasesrc.sgml:
12899         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12900         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12901         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12902         (gst_base_sink_set_property), (gst_base_sink_get_property),
12903         (gst_base_sink_handle_object), (gst_base_sink_event),
12904         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12905         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12906         (gst_base_sink_loop), (gst_base_sink_deactivate),
12907         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12908         (gst_base_sink_change_state):
12909         * gst/base/gstbasesink.h:
12910         * gst/base/gstbasesrc.h:
12911         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12912         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12913         (gst_filesink_init):
12914           more macro splitting
12915
12916 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12917
12918         * gst/gstelement.c: (gst_element_get_bus):
12919           add debug
12920         * tools/gst-launch.c: (check_intr), (event_loop):
12921           fix bus leaks
12922
12923 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12924
12925         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12926           fix a caps leak
12927
12928 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12929
12930         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12931         (gst_base_src_finalize):
12932           add finalize method and clean up properly
12933         * gst/gstpipeline.c: (gst_pipeline_dispose):
12934           add debug
12935
12936 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12937
12938         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12939         (gst_bin_suite):
12940           add more things to check
12941         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12942         * gst/gstelement.c:
12943           more debug
12944
12945 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12948         (GST_START_TEST), (fakesrc_suite):
12949         * check/gst-libs/gdp.c: (GST_START_TEST):
12950         * check/gst/gst.c: (GST_START_TEST):
12951         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12952         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12953         * check/gst/gstbus.c: (GST_START_TEST):
12954         * check/gst/gstcaps.c: (GST_START_TEST):
12955         * check/gst/gstdata.c: (GST_START_TEST):
12956         * check/gst/gstelement.c: (GST_START_TEST):
12957         * check/gst/gstghostpad.c: (GST_START_TEST):
12958         * check/gst/gstiterator.c: (GST_START_TEST):
12959         * check/gst/gstmessage.c: (GST_START_TEST):
12960         * check/gst/gstobject.c: (GST_START_TEST):
12961         * check/gst/gstpad.c: (GST_START_TEST):
12962         * check/gst/gststructure.c: (GST_START_TEST):
12963         * check/gst/gstsystemclock.c: (GST_START_TEST),
12964         (gst_systemclock_suite):
12965         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12966         * check/gst/gstvalue.c: (GST_START_TEST):
12967         * check/pipelines/cleanup.c: (GST_START_TEST):
12968         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12969         * check/states/sinks.c: (GST_START_TEST):
12970         * check/gstcheck.c: (gst_check_init):
12971         * check/gstcheck.h:
12972           add debugging category
12973           use GST_START_TEST now, so we add a debug line
12974
12975 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12976
12977         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12978           add test for state change message on a bin
12979         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12980           add another test
12981         * gst/gstbin.c: (gst_bin_init):
12982         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12983         * gst/gstelement.c: (gst_element_post_message),
12984         (gst_element_set_state):
12985         * gst/gstelementfactory.c: (gst_element_factory_create):
12986         * gst/gstmessage.c: (gst_message_new):
12987         * gst/gstscheduler.c:
12988           various debugging additions and cleanups
12989
12990 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * check/Makefile.am:
12993         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12994         (main):
12995           adding tests for elements
12996         * gst/gstelement.c: (gst_element_dispose):
12997
12998 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12999
13000         * gst/registries/gstlibxmlregistry.c: (load_feature):
13001           plug more leaks.  A simple gst_init() now is leakfree, yay.
13002
13003 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13006         (gst_xml_registry_load):
13007           plug another memleak
13008
13009 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13010
13011         * configure.ac:
13012           use GST_SET_ERROR_CFLAGS
13013         * docs/faq/cvs.xml:
13014           change to ERROR_CFLAGS
13015
13016 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13017
13018         * configure.ac:
13019           make GST_ERROR_CFLAGS overridable and re-enable Werror
13020         * docs/faq/cvs.xml:
13021           add a note about error CFLAGS
13022         * docs/gst/tmpl/gstfakesrc.sgml:
13023         * gst/elements/gstfakesrc.c:
13024           comment out some unused code
13025         * gst/gst.c: (split_and_iterate):
13026         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13027         (load_feature):
13028           plug some memleaks
13029
13030 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13031
13032         * common/Makefile.am:
13033         * common/gtk-doc.mak:
13034         * docs/gst/Makefile.am:
13035           factor out gtk-doc.mak
13036
13037 2005-07-07  Wim Taymans  <wim@fluendo.com>
13038
13039         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13040         (gst_thread_scheduler_dispose):
13041         Unlock the STREAM_LOCK completely.
13042
13043 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13044
13045         * check/Makefile.am:
13046         * check/elements/.cvsignore:
13047         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13048         (START_TEST), (fakesrc_suite), (main):
13049         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13050         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13051         (gst_fakesrc_create), (gst_fakesrc_start):
13052         * gst/elements/gstfakesrc.h:
13053           adding a first element test
13054
13055 2005-07-07  Andy Wingo  <wingo@pobox.com>
13056
13057         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13058         debug message.
13059
13060 2005-07-07  Wim Taymans  <wim@fluendo.com>
13061
13062         * gst/gstquery.c:
13063         * gst/gstquery.h:
13064         Remove old types
13065
13066 2005-07-07  Wim Taymans  <wim@fluendo.com>
13067
13068         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13069         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13070         Allow subclasses to implement their own negotiation.
13071
13072 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13073
13074         * docs/design/part-gstbin.txt:
13075         * docs/design/part-gstpipeline.txt:
13076           Update design notes to reflect the movement of
13077           responsibility for bus handling from GstPipeline to
13078           GstBin
13079
13080 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13081
13082         * configure.ac:
13083           Remove unnecessary queue2/3/4 examples.
13084
13085 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13086
13087         * examples/Makefile.am:
13088         * examples/helloworld/helloworld.c: (event_loop), (main):
13089         * examples/queue/queue.c: (event_loop), (main):
13090         * examples/queue2/queue2.c: (main):
13091           Update a couple of the examples to work again.
13092
13093         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13094         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13095          Spelling corrections and extra debug.
13096         
13097         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13098         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13099         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13100         * gst/gstbin.h:
13101         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13102         (gst_pipeline_change_state):
13103         * gst/gstpipeline.h:
13104           Move the bus handler for children to the GstBin, and create a
13105           separate bus for receiving messages from children to the one the
13106           bus sends 'upwards' on.
13107
13108 2005-07-06  Wim Taymans  <wim@fluendo.com>
13109
13110         * gst/base/README:
13111         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13112         (gst_base_sink_handle_object), (gst_base_sink_loop),
13113         (gst_base_sink_change_state):
13114         * gst/base/gstbasesink.h:
13115         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13116         (gst_base_src_init), (gst_base_src_setcaps),
13117         (gst_base_src_getcaps), (gst_base_src_loop),
13118         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13119         (gst_base_src_start), (gst_base_src_change_state):
13120         * gst/base/gstbasesrc.h:
13121         Make basesrc negotiate.
13122         Handle the case where preroll fails in basesink.
13123         Update README.
13124
13125 2005-07-06  Wim Taymans  <wim@fluendo.com>
13126
13127         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13128         Implement the fixate function.
13129         Clean up acceptcaps.
13130
13131 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13132
13133         * docs/pwg/building-filterfactory.xml:
13134         * docs/pwg/pwg.xml:
13135           Remove never-written filter-factory chapter; I'll add the various
13136           base classes to part 4 ("other element types") later on.
13137
13138 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13139
13140         * docs/pwg/advanced-negotiation.xml:
13141         * docs/pwg/building-boiler.xml:
13142         * docs/pwg/building-pads.xml:
13143         * docs/pwg/pwg.xml:
13144         * examples/pwg/Makefile.am:
13145           Add a chapter on caps negotiation, simplify the original code
13146           samples a bit w.r.t. caps negotiation, add link to the advanced
13147           section. Add a bunch of examples showing different use cases of
13148           different types of caps negotiation. Upstream renegotiation isn't
13149           fully documented yet since nobody knows how that works.
13150
13151 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * check/gst/gstpad.c:
13154         * check/gstcheck.c:
13155         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13156           if pad has no parent, return NULL as list of internal links
13157
13158 2005-07-05  Andy Wingo  <wingo@pobox.com>
13159
13160         * gst/elements/gstfilesrc.c:
13161         * gst/elements/gstfakesrc.c: 
13162         * gst/base/gstpushsrc.c:
13163         * gst/base/gstbasesrc.h: 
13164         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13165         
13166 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13167
13168         * Makefile.am:
13169           better report generation target (lcov needs a patch)
13170
13171 2005-07-05  Andy Wingo  <wingo@pobox.com>
13172
13173         * gst/elements, testsuite: Null if we got it...
13174
13175 2005-07-05  Wim Taymans  <wim@fluendo.com>
13176
13177         * configure.ac:
13178         * libs/gst/dataprotocol/Makefile.am:
13179         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13180         * libs/gst/dataprotocol/dataprotocol.h:
13181         * pkgconfig/Makefile.am:
13182         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13183         * pkgconfig/gstreamer-dataprotocol.pc.in:
13184         Ported dataprotol to 0.9. 
13185         Added pkgconfig files.
13186
13187 2005-07-05  Andy Wingo  <wingo@pobox.com>
13188
13189         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13190         Default to returning TRUE for the case when tranform_caps returns
13191         a fixed caps, like for identity or volume.
13192
13193         * check/gst/gstbus.c (pound_bus_with_messages): 
13194         * check/gst/gstmessage.c (START_TEST): 
13195         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13196         message API change.
13197
13198         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13199         logic weaks here: always run transform_caps, trying passthrough
13200         operation only if the original caps intersects with the transform.
13201
13202         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
13203         source and sink caps.
13204
13205         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
13206         Intersect the peer caps with the pad template before going into
13207         transform_caps.
13208         (gst_base_transform_transform_caps): More debugging.
13209
13210         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
13211         src argument.
13212
13213 2005-07-04  Edward Hervey  <edward@fluendo.com>
13214
13215         * gst/gstutils.c:
13216         * gst/gstutils.h:
13217         (gst_pad_add_*_probe): now returns the signal id for better wrapping
13218         in bindings.
13219
13220 2005-07-04  Andy Wingo  <wingo@pobox.com>
13221
13222         * check/gst/gstpad.c: Only set explicit caps on pads.
13223
13224 2005-07-01  Andy Wingo  <wingo@pobox.com>
13225
13226         * tests/network-clock.scm: Commentary update.
13227
13228         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
13229         Didn't really make sense, not implementable with basetransform,
13230         etc.
13231         (gst_identity_transform): Unref inbuf via make_writable. Feeble
13232         attempt at implementing the sync property, needs an unlock method.
13233
13234         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
13235         New func, by default returns the same caps (the identity
13236         transformation).
13237         (gst_base_transform_getcaps): Uses transform_caps to return
13238         something sensible.
13239         (gst_base_transform_setcaps): Complicated logic to get caps on
13240         both pads, even if they are different, and to call set_caps once
13241         for every time both pads get their caps set.
13242         (gst_base_transform_handle_buffer): Give the ref to the transform
13243         function. Allows in-place modification of the buffer.
13244
13245         * gst/base/gstbasetransform.h (transform_caps): New class method.
13246         Given caps on one side, what can I do on the other.
13247         (set_caps): Take two caps, one for each side of the element.
13248
13249         * gst/gstpad.h:
13250         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
13251         caps in place. This is safe because we can check the mutability of
13252         the caps, and a good idea because fixate functions are just called
13253         as a matter of last resort. (Not actually implemented.)
13254         (gst_pad_set_caps): If the caps we're setting is actually the same
13255         as the existing pad caps, just update the pointer without calling
13256         setcaps. Assert that caps is either NULL or fixed, as per the
13257         docs.
13258
13259         * gst/gstghostpad.c: Update for fixate changes.
13260
13261 2005-07-02  Andy Wingo  <wingo@pobox.com>
13262
13263         * gst/gstcaps.c:
13264         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
13265         two refcounts makes it immutable, which is enough. Doc more.
13266
13267 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
13268
13269         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
13270           Put the mini_object into GValue as a mini_object,
13271           not a gpointer, since that's how we declared
13272           the signal.
13273
13274 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13275
13276         * examples/pwg/Makefile.am:
13277           Fix buildbot again.
13278
13279 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13280
13281         * docs/pwg/building-testapp.xml:
13282           Add extra check.
13283         * examples/pwg/Makefile.am:
13284           Fix buildbot.
13285
13286 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13287
13288         * configure.ac:
13289         * examples/Makefile.am:
13290         * examples/pwg/Makefile.am:
13291         * examples/pwg/extract.pl:
13292           Enable building the PWG examples.
13293         * docs/pwg/advanced-interfaces.xml:
13294           Add URI interface stub.
13295         * docs/pwg/advanced-types.xml:
13296         * docs/pwg/other-autoplugger.xml:
13297         * docs/pwg/appendix-porting.xml:
13298         * docs/pwg/pwg.xml:
13299           Add porting guide (mostly stubs), remove autoplugging (see ADM).
13300         * docs/pwg/building-boiler.xml:
13301         * docs/pwg/building-chainfn.xml:
13302         * docs/pwg/building-pads.xml:
13303         * docs/pwg/building-props.xml:
13304         * docs/pwg/building-state.xml:
13305         * docs/pwg/building-testapp.xml:
13306           Update the building-*.xml parts for 0.9 changes. All examples
13307           code blocks compile in examples/pwg/*.
13308
13309 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13310
13311         * docs/manual/advanced-autoplugging.xml:
13312         * docs/manual/appendix-checklist.xml:
13313         * docs/manual/appendix-integration.xml:
13314         * docs/manual/highlevel-components.xml:
13315           Fix playbin/decodebin examples, update docs a bit, mention bus
13316           instead of signals in various places, mention kmplayer and
13317           kaffeine since they have a working GStreamer backend in the KDE
13318           section.
13319
13320 2005-06-30  Wim Taymans  <wim@fluendo.com>
13321
13322         * CHANGES-0.9:
13323         * docs/design/draft-ghostpads.txt:
13324         * docs/design/draft-push-pull.txt:
13325         * docs/design/draft-query.txt:
13326         * docs/design/part-TODO.txt:
13327         * docs/design/part-query.txt:
13328         Added CHANGES-0.9 doc, updated status of other docs.
13329         
13330         * gst/gstquery.h:
13331         Remove "hmm" macro
13332
13333 2005-06-30  Wim Taymans  <wim@fluendo.com>
13334
13335         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13336         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13337         (gst_base_sink_change_state):
13338         * gst/base/gstbasesink.h:
13339         Some tweaks, only EOS and a buffer complete a preroll.
13340
13341 2005-06-30  Andy Wingo  <wingo@pobox.com>
13342
13343         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13344         activate_push down to the internal pad as well.
13345
13346 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
13347
13348         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13349
13350         * gst/gsttaginterface.c:
13351           Some documentation fixes (#307394 and #307397).
13352
13353 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
13354
13355         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13356
13357         * gst/gstvalue.c: (gst_value_intersect_list):
13358           Fix memleak (#309125).
13359
13360 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13361
13362         * docs/manual/advanced-dataaccess.xml:
13363           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13364         * docs/manual/basics-pads.xml:
13365           Add reference for filtered caps to above chapter.
13366
13367 2005-06-30  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13370         (gst_bin_change_state):
13371         Probes are gone.
13372         Lame attempt at making the state change function a bit
13373         more readable.
13374
13375 2005-06-30  Wim Taymans  <wim@fluendo.com>
13376
13377         * docs/design/part-clocks.txt:
13378         * docs/design/part-element-sink.txt:
13379         * docs/design/part-events.txt:
13380         * docs/design/part-preroll.txt:
13381         * docs/design/part-states.txt:
13382         Some more tweeks and additions to the docs.
13383
13384 2005-06-30  Wim Taymans  <wim@fluendo.com>
13385
13386         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13387         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13388         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13389         (gst_pad_check_pull_range), (gst_pad_get_range),
13390         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13391         * gst/gstpad.h:
13392         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13393         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13394         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13395         (gst_pad_remove_buffer_probe):
13396         Removed atomic operations, use existing LOCK.
13397         Move exception handling out of main code path.
13398
13399 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13400
13401         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13402         (silly_return_true_function), (gst_pad_class_init),
13403         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13404         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13405         (gst_pad_send_event):
13406           Fix accumulator, add default value by using _emitv() instead
13407           of _emit() for signal emission.
13408
13409 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13410
13411         * docs/manual/advanced-dataaccess.xml:
13412         * examples/manual/Makefile.am:
13413           Add probe example.
13414         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13415           Make work (??).
13416
13417 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13418
13419         * gst/elements/gstfilesink.c: (gst_filesink_render):
13420           Simplify code so that we don't have to handle short
13421           writes and return GST_FLOW_ERROR if an error occured.
13422
13423 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13424
13425         * docs/gst/gstreamer-docs.sgml:
13426           Remove probes more.
13427
13428 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13429
13430         * docs/gst/gstreamer-sections.txt:
13431         * docs/gst/tmpl/gstpad.sgml:
13432         * docs/gst/tmpl/gstprobe.sgml:
13433         * gst/Makefile.am:
13434         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13435         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13436         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13437         (gst_pad_push_event), (gst_pad_send_event):
13438         * gst/gstpad.h:
13439         * gst/gstutils.c: (gst_pad_add_data_probe),
13440         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13441         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13442         (gst_pad_remove_buffer_probe):
13443         * gst/gstutils.h:
13444           Remove old probes, add new g-signal-based probes and some utility
13445           functions.
13446
13447 2005-06-29  Edward Hervey  <edward@fluendo.com>
13448
13449         * gst/gstelementfactory.c:
13450         * gst/gstutils.h:
13451         * gst/gstutils.c:
13452         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13453         the definition to the header file.
13454
13455 2005-06-29  Andy Wingo  <wingo@pobox.com>
13456
13457         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13458         plugins from the source directory.
13459
13460 2005-06-29  Wim Taymans  <wim@fluendo.com>
13461
13462         * docs/gst/tmpl/gstbuffer.sgml:
13463         * docs/gst/tmpl/gstclock.sgml:
13464         Some fixings for blantently wrong text.
13465
13466 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13467
13468         * check/Makefile.am:
13469         * gst/gst.c: (add_path_func), (init_pre):
13470         * gst/gstregistry.c: (gst_registry_add_path):
13471           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13472           only scan the GST_PLUGIN_PATH locations, and not add
13473           system locations
13474
13475 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13476
13477         * docs/gst/gstreamer-sections.txt:
13478         * docs/gst/tmpl/gstbasesrc.sgml:
13479         * gst/gstelement.c:
13480         * gst/gstelement.h:
13481         * gst/gstevent.c:
13482         * gst/gstutils.c:
13483           doc fixes
13484
13485 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13486
13487         * docs/manual/advanced-autoplugging.xml:
13488           Fix autoplugging example.
13489
13490 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13491
13492         * docs/manual/advanced-autoplugging.xml:
13493         * docs/manual/mime-world.fig:
13494           Try to get autoplugging working, fix type detection. Fix text
13495           in hello-world image.
13496
13497 2005-06-29  Wim Taymans  <wim@fluendo.com>
13498
13499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13500         (gst_base_sink_change_state):
13501         Small debug line.
13502
13503         * gst/gstclock.h:
13504         map SIGNAL and BROADCAST to the right function.
13505
13506         * gst/gstobject.h:
13507         Remove redundant braces.
13508
13509         * gst/gstpad.c: (gst_pad_set_caps):
13510         Don't call setcaps function when reseting caps to NULL.
13511
13512         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13513         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13514         (gst_system_clock_id_unschedule):
13515         Use BROADCAST as this is what we do.
13516
13517 2005-06-29  Wim Taymans  <wim@fluendo.com>
13518
13519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13520         We are actually prerolling before commiting the state
13521         change. 
13522
13523 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13524
13525         * docs/manual/advanced-clocks.xml:
13526         * docs/manual/advanced-interfaces.xml:
13527         * docs/manual/advanced-metadata.xml:
13528         * docs/manual/advanced-position.xml:
13529         * docs/manual/advanced-schedulers.xml:
13530         * docs/manual/advanced-threads.xml:
13531         * docs/manual/appendix-porting.xml:
13532         * docs/manual/basics-bins.xml:
13533         * docs/manual/basics-bus.xml:
13534         * docs/manual/basics-elements.xml:
13535         * docs/manual/basics-helloworld.xml:
13536         * docs/manual/basics-pads.xml:
13537         * docs/manual/highlevel-components.xml:
13538         * docs/manual/manual.xml:
13539         * docs/manual/thread.fig:
13540           Update (until threads/scheduling) Application Development Manual;
13541           remove GstThread, add GstBus, add simple porting checklist, add
13542           documentation for tag writing, clocks, make all examples until this
13543           part compile and run.
13544         * examples/manual/Makefile.am:
13545           Update from changes to Application Development Manual; add bus
13546           example, remove thread example.
13547
13548 2005-06-28  Wim Taymans  <wim@fluendo.com>
13549
13550         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13551         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13552         (gst_bus_source_dispatch):
13553         Add debugging messages.
13554         Make internal methods static.
13555         Handle the case where the bus is flushed in the handler.
13556         
13557         * gst/gstelement.c: (gst_element_get_bus):
13558         Fix refcount in _get_bus();
13559
13560         * gst/gstpipeline.c: (gst_pipeline_change_state),
13561         (gst_pipeline_get_clock_func):
13562         Clock refcounting fixes.
13563         Handle the case where preroll timed out more gracefully.
13564         
13565         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13566         Clean up the internal thread in dispose. This is needed
13567         for subclasses that actually get disposed.
13568         
13569         * gst/schedulers/threadscheduler.c:
13570         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13571         (gst_thread_scheduler_dispose):
13572         Free thread pool in dispose.
13573
13574 2005-06-28  Andy Wingo  <wingo@pobox.com>
13575
13576         * tests/network-clock-utils.scm (debug, print-event): New utils.
13577
13578         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13579         (*packet-loss*): Unified loss probability.
13580         (network-time): Report out-of-band events.
13581
13582         * tests/plot-data: Add support for out-of-band events. Hack it
13583         into this script instead of passing it down the pipe; should fix
13584         this later.
13585
13586 2005-06-28  Wim Taymans  <wim@fluendo.com>
13587
13588         * docs/gst/gstreamer.types:
13589         * docs/gst/tmpl/gstbasesrc.sgml:
13590         * docs/gst/tmpl/gstpad.sgml:
13591         Docs fixes.
13592
13593 2005-06-28  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13596         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13597         (gst_proxy_pad_do_fixatecaps):
13598         Correctly proxy the check_pull_range function.
13599
13600 2005-06-28  Andy Wingo  <wingo@pobox.com>
13601
13602         * tests/network-clock.scm: Removed need for slib.
13603         
13604 2005-06-28  Wim Taymans  <wim@fluendo.com>
13605
13606         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13607         (gst_basesink_preroll_queue_flush):
13608         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13609         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13610         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13611         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13612         (gst_proxy_pad_set_property):
13613         * gst/gstpad.c:
13614         * gst/gstpad.h:
13615         * gst/gstqueue.c: (gst_queue_init):
13616         The deprecated pad loop function is removed now.
13617
13618 2005-06-28  Andy Wingo  <wingo@pobox.com>
13619
13620         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13621         New parameters, simulate network packet loss.
13622
13623         * tests/network-clock-utils.scm: Initialize the RNG.
13624
13625 2005-06-28  Wim Taymans  <wim@fluendo.com>
13626
13627         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13628         (gst_basesink_event), (gst_basesink_deactivate):
13629         Flushing the preroll queue always needs to unlock the waiters.
13630
13631 2005-06-28  Edward Hervey  <edward@fluendo.com>
13632
13633         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13634         Wheen a seek was successful on a pipeline, set the stream_time to the
13635         seek offset in order to have a synchronized stream_time.
13636
13637 2005-06-28  Wim Taymans  <wim@fluendo.com>
13638
13639         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13640         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13641         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13642         (gst_proxy_pad_do_fixatecaps):
13643         Call wrapper function instead of just calling the function
13644         pointers. This takes care of any locking and whatmore.
13645
13646 2005-06-28  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13649         (gst_pad_pull_range):
13650         * gst/gstpad.h:
13651         CONNECTED -> LINKED.
13652
13653 2005-06-28  Andy Wingo  <wingo@pobox.com>
13654
13655         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13656         source-munging commit!!!
13657
13658         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13659         (gst_object_sink): Take gpointer arguments, not GstObject --
13660         avoids casts. Like GLib.
13661
13662         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13663         activate.
13664
13665 2005-06-27  Andy Wingo  <wingo@pobox.com>
13666
13667         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13668         remaining buffer.
13669
13670         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13671         returns a sorted copy of the trace list.
13672         (gst_alloc_trace_print_live): New API, only prints traces with
13673         live objects. Sort the list.
13674         (gst_alloc_trace_print_all): Sort the list.
13675         (gst_alloc_trace_print): Align columns.
13676
13677         * gst/elements/gstttypefindelement.c:
13678         * gst/elements/gsttee.c:
13679         * gst/base/gstbasesrc.c:
13680         * gst/base/gstbasesink.c:
13681         * gst/base/gstbasetransform.c:
13682         * gst/gstqueue.c: Adapt for pad activation changes.
13683
13684         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13685         sched.
13686         (gst_pipeline_dispose): Drop ref on sched.
13687
13688         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13689         (gst_pad_activate_default): Push mode by default.
13690         (pre_activate_switch, post_activate_switch): New stubs, things to
13691         do before and after switching activation modes on pads.
13692         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13693         the pad's activate function to choose which mode to activate.
13694         Shortcut on deactivation and call the right function directly.
13695         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13696         mode.
13697         (gst_pad_activate_push): New API, same for push mode.
13698         (gst_pad_set_activate_function) 
13699         (gst_pad_set_activatepull_function) 
13700         (gst_pad_set_activatepush_function): Setters for new API.
13701
13702         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13703         Trace all miniobjects.
13704         (gst_mini_object_make_writable): Unref the arg if we copy, like
13705         gst_caps_make_writable.
13706
13707         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13708
13709         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13710         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13711         Adapt for new pad API.
13712
13713         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13714
13715         * gst/gstelement.h:
13716         * gst/gstelement.c (gst_element_iterate_src_pads) 
13717         (gst_element_iterate_sink_pads): New API functions.
13718         
13719         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13720         should fold into gstiterator.c in some form.
13721         (gst_element_pads_activate): Simplified via use of fold and
13722         delegation of decisions to gstpad->activate.
13723
13724         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13725         help in debugging.
13726
13727         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13728         class once in init, like gstmessage. Didn't run into this issue
13729         but it seems correct. Don't initialize a trace, gstminiobject does
13730         that.
13731
13732         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13733         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13734         to the bus.
13735         (assert_live_count): New util function, uses alloc traces to check
13736         cleanup.
13737
13738         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13739         To be modified when unlink drops the internal pad.
13740
13741 2005-06-27  Wim Taymans  <wim@fluendo.com>
13742
13743         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13744         (gst_bin_change_state):
13745         Cleanup the get_state() function a little, make sure it
13746         iterates the same set of elements.
13747         Added stub iterate_state_order().
13748
13749 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13750
13751         * docs/gst/gstreamer-docs.sgml:
13752         * docs/gst/gstreamer-sections.txt:
13753         * docs/gst/gstreamer.types:
13754         * docs/gst/tmpl/gstbasesink.sgml:
13755         * docs/gst/tmpl/gstbasesrc.sgml:
13756         * docs/gst/tmpl/gstbasetransform.sgml:
13757         * docs/gst/tmpl/gstelement.sgml:
13758         * docs/gst/tmpl/gstiterator.sgml:
13759         * gst/base/gstbasesrc.c:
13760         * gst/base/gstbasesrc.h:
13761         * gst/base/gstbasetransform.h:
13762         * gst/gstelement.c:
13763         * gst/gstiterator.h:
13764           adding basetransform and iterator docs
13765
13766 2005-06-27  Andy Wingo  <wingo@pobox.com>
13767
13768         * docs/design/part-activation.txt: Notes on how activation should
13769         work -- not quite implemented yet.
13770
13771 2005-06-25  Wim Taymans  <wim@fluendo.com>
13772
13773         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13774         At least get the chain function correct, needs more
13775         fixing.
13776
13777 2005-06-25  Wim Taymans  <wim@fluendo.com>
13778
13779         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13780         (gst_basesink_handle_object), (gst_basesink_event),
13781         (gst_basesink_do_sync), (gst_basesink_handle_event),
13782         (gst_basesink_change_state):
13783         * gst/gsttask.h:
13784         Right, two problems here: ghostpads don't take locks and
13785         glib _rec_mutex_lock_full() with depth==0 still locks.
13786         Catch illegal locking and g_warn them.
13787
13788 2005-06-25  Wim Taymans  <wim@fluendo.com>
13789
13790         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13791         Have to check for completion now...
13792
13793 2005-06-25  Wim Taymans  <wim@fluendo.com>
13794
13795         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13796         (gst_basesink_handle_object), (gst_basesink_event),
13797         (gst_basesink_do_sync), (gst_basesink_handle_event),
13798         (gst_basesink_change_state):
13799         * gst/gstpad.h:
13800         Unlock STREAM_LOCK whatever the recursion was.
13801
13802 2005-06-25  Wim Taymans  <wim@fluendo.com>
13803
13804         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13805         (gst_basesink_preroll_queue_empty),
13806         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13807         (gst_basesink_event), (gst_basesink_do_sync),
13808         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13809         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13810         (gst_basesink_change_state):
13811         Reworked the base sink, handle event and buffer serialisation
13812         correctly and removed possible deadlock.
13813         Handle EOS correctly.
13814
13815 2005-06-25  Wim Taymans  <wim@fluendo.com>
13816
13817         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13818         (gst_pipeline_change_state):
13819         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13820         Allow elements to post EOS in the state change function.
13821         Fix up -launch, make it exit the poll loop when the
13822         pipeline actually changed state.
13823         Fix up warning parsing in -launch.
13824
13825 2005-06-25  Wim Taymans  <wim@fluendo.com>
13826
13827         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13828         (gst_tee_sink_activate):
13829         Core takes STREAM_LOCK for us now.
13830
13831 2005-06-25  Wim Taymans  <wim@fluendo.com>
13832
13833         * gst/gstelement.c: (gst_element_get_state_func),
13834         (gst_element_set_state):
13835         * gst/gstelement.h:
13836         * gst/gstmessage.c: (gst_message_parse_error),
13837         (gst_message_parse_warning):
13838         Keep track of current target state while performing a state
13839         change so that subclasses can do something interesting.
13840         Fix parsing of warning/error messages when GError is NULL.
13841
13842 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13843
13844         * docs/gst/Makefile.am:
13845         * docs/gst/gstreamer-docs.sgml:
13846         * docs/gst/gstreamer-sections.txt:
13847         * docs/gst/gstreamer.types:
13848         * docs/gst/tmpl/gstbasesink.sgml:
13849         * docs/gst/tmpl/gstbasesrc.sgml:
13850         * docs/gst/tmpl/gstbin.sgml:
13851         * docs/gst/tmpl/gstcompat.sgml:
13852         * docs/gst/tmpl/gstfakesink.sgml:
13853         * docs/gst/tmpl/gstfakesrc.sgml:
13854         * docs/gst/tmpl/gstfilesink.sgml:
13855         * docs/gst/tmpl/gstfilesrc.sgml:
13856         * docs/gst/tmpl/gstindex.sgml:
13857         * docs/manual/appendix-quotes.xml:
13858         * gst/base/gstbasesrc.h:
13859         * gst/elements/gstfakesrc.h:
13860         * gst/gstmessage.h:
13861           start pulling in base classes and elements in our docs
13862
13863 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
13864
13865         * docs/gst/Makefile.am:
13866         * docs/libs/Makefile.am:
13867           fixed make distcheck with gtk-doc 1.3
13868
13869 2005-06-23  Wim Taymans  <wim@fluendo.com>
13870
13871         * gst/gstelement.c: (gst_element_get_state_func),
13872         (gst_element_set_state), (gst_element_change_state):
13873         When the state did not change, also report NO_PREROLL
13874         when it matters.
13875
13876 2005-06-23  Wim Taymans  <wim@fluendo.com>
13877
13878         * gst/gstpad.c: (gst_pad_event_default):
13879         * gst/gstqueue.c: (gst_queue_loop):
13880         No unsafe task pausing please.
13881
13882 2005-06-23  Wim Taymans  <wim@fluendo.com>
13883
13884         * gst/schedulers/threadscheduler.c:
13885         (gst_thread_scheduler_task_start),
13886         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13887         Ref the task before pushing it on the threadpool. This
13888         makes sure that we have a ref when the threadfunction is
13889         actually called.
13890
13891 2005-06-23  Andy Wingo  <wingo@pobox.com>
13892
13893         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13894         offset is greater than the file's size.
13895
13896         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
13897         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13898         * gst/gstobject.c (gst_object_class_init): Make the class lock
13899         recursive. Wim won't let me drop deep_notify. Decodebin works
13900         again, whoopdy doo.
13901
13902         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13903         internal pad, and hacks accordingly. Doesn't do it on the target
13904         pad because we change its caps. Probably catches all cases of
13905         interest tho.
13906         (gst_ghost_pad_set_property): Connect to notify::caps as
13907         appropritate.
13908
13909         * tests/network-clock.scm (plot-simulation): Pipe data to the
13910         elite python skript.
13911
13912         * tests/network-clock-utils.scm (define-parameter): New macro,
13913         defines a parameter that can be set via the command line.
13914         (set-parameter!, parse-parameter-arguments): Command line args
13915         parser.
13916
13917         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13918         stdin.
13919
13920 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13921
13922         * gst/elements/gsttypefindelement.c:
13923         (gst_type_find_element_handle_event):
13924           Don't restart typefinding on a discont.
13925         * gst/gstelement.c: (gst_element_set_state):
13926           Debug spelling fix.
13927         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13928           Allow changing mode of an active pad.
13929           Debug output fixes.
13930         * gst/registries/gstlibxmlregistry.c: (load_feature):
13931           Don't cast a static pad template to a normal pad template.
13932
13933 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13934
13935         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13936         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13937           remove gst_strtoll completely, since it didn't actually do
13938           anything more than what g_ascii_strtoull already does.
13939           check for range errors when deserializing
13940           do a cast for the unsigned cases; but further fixing needs
13941           a decision on what the interpretation of "(int)" and
13942           deserialization should be for values that fall outside the
13943           type's boundaries (ie, refuse, or interpret as casting)
13944
13945 2005-06-23  Wim Taymans  <wim@fluendo.com>
13946
13947         * check/Makefile.am:
13948         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13949         * docs/design/part-live-source.txt:
13950         * docs/design/part-states.txt:
13951         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13952         (gst_basesrc_set_live), (gst_basesrc_is_live),
13953         (gst_basesrc_get_range), (gst_basesrc_activate),
13954         (gst_basesrc_change_state):
13955         * gst/base/gstbasesrc.h:
13956         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13957         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13958         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13959         * gst/gstelement.c: (gst_element_get_state_func),
13960         (gst_element_set_state):
13961         * gst/gstelement.h:
13962         * gst/gsttypes.h:
13963         * tools/gst-launch.c: (event_loop), (main):
13964         Added support for live sources and other elements that
13965         cannot do preroll.
13966         Updated design docs, added live-source design doc.
13967         Implemented live source functionality in basesrc
13968         Fix error condition in _bin_get_state()
13969         Implement live source handling in -launch.
13970         Added check for live sources.
13971         Fixed case in GstBin where elements were changed state
13972         multiple times.
13973
13974
13975 2005-06-23  Andy Wingo  <wingo@pobox.com>
13976
13977         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13978         borken refcounting.
13979
13980         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13981         gst_caps_replace takes care of this for us.
13982
13983         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13984         gst_pad_set_caps on the target, not just its setcaps() function.
13985
13986         * tests/network-clock.scm: 
13987         * tests/network-clock-utils.scm: A network clock simulator.
13988         Something of an algorithmic testbed before doing something in C.
13989
13990 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13991
13992         * check/Makefile.am:
13993         * check/gst/capslist.h:
13994           copy over from 0.8, and add two with bitmasks specified with
13995           (int) 0xFF...
13996         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13997           add test to parse everything from capslist.h
13998         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13999         (main):
14000           add test for structure deserialization
14001         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14002           add tests for deserialization of strings to int types
14003         * gst/gststructure.c: (gst_structure_nth_field_name):
14004         * gst/gststructure.h:
14005           add a way to get the name of a field referenced by index
14006         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14007           instead of checking if the resulting long long lies between
14008           min and max, we check if the long long would fit into
14009           a number of bytes for the final type.
14010           This fixes cases where a string represents 2^32 - 1, which
14011           when cast to int would be the (valid) -1, but is bigger than
14012           G_MAXINT
14013
14014 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14015
14016         * gst/parse/grammar.y:
14017           add a log line for type deserialization
14018
14019 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14020
14021         * check/gst/gstvalue.c: (START_TEST):
14022         * gst/gstvalue.c: (gst_value_deserialize):
14023           return long long, not int, so gint64 deserialization actually
14024           works.  Is there any flag that makes the compiler check this ?
14025           Fixes #308559
14026
14027 2005-06-22  Wim Taymans  <wim@fluendo.com>
14028
14029         * gst/gstbuffer.h:
14030         Added convenience macros for setting buffers in GValue.
14031
14032 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14033
14034         * check/gst/.cvsignore:
14035         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14036           add a test deserializing int64, and comment part out because
14037           it fails, yay !
14038
14039 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * check/Makefile.am:
14042         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14043         * testsuite/Makefile.am:
14044         * testsuite/caps/Makefile.am:
14045         * testsuite/caps/value_serialize.c:
14046         * testsuite/test_gst_init.c:
14047           move a value_serialize test over
14048
14049 2005-06-20  Wim Taymans  <wim@fluendo.com>
14050
14051         * gst/gstpad.c:
14052         Small doc updates.
14053         
14054         * gst/gstvalue.c: (gst_value_compare_buffer),
14055         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14056         (gst_value_compare_flags), (gst_value_serialize_flags),
14057         (gst_value_deserialize_flags), (_gst_value_initialize):
14058         Fix serialisation of buffers, they are not boxed types anymore
14059
14060 2005-06-20  Wim Taymans  <wim@fluendo.com>
14061
14062         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14063         Testcase to show error in buffer-on-caps serialisation.
14064
14065 2005-06-20  Andy Wingo  <wingo@pobox.com>
14066
14067         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14068         will be adding to later.
14069
14070         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14071         if its socks fill with rocks.
14072         (gst_system_clock_obtain): Set the name on object construction.
14073         Avoid double-checked locking.
14074
14075 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14076
14077         * gst/gsturi.c: (gst_element_make_from_uri):
14078           Fix potential endless loop.
14079
14080 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14081
14082         * check/Makefile.am:
14083           add gsttag
14084         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14085         (main):
14086           move over from testsuite dir and clean up
14087         * configure.ac:
14088         * gst/gsttag.c:
14089         * testsuite/Makefile.am:
14090         * testsuite/tags/.cvsignore:
14091         * testsuite/tags/Makefile.am:
14092         * testsuite/tags/merge.c:
14093           remove testsuite/tags
14094
14095 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14096
14097         * docs/gst/gstreamer-sections.txt:
14098         * docs/gst/tmpl/gstenumtypes.sgml:
14099         * win32/gstenumtypes.c:
14100           clean up documentation build a little
14101
14102 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14103
14104         * check/gstcheck.h:
14105           add macros for checking refcounts on objects and caps
14106         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14107           add some more unit tests
14108         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14109         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14110           fix leaked refcounts (I hope :)) so unittest works
14111         * gst/gstpad.h:
14112           whitespace removal
14113
14114 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14115
14116         * configure.ac: back to HEAD
14117
14118 === release 0.9.1 ===
14119
14120 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14121
14122         * NEWS:
14123         * RELEASE:
14124           updated
14125
14126 2005-06-17  Andy Wingo  <wingo@pobox.com>
14127
14128         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14129         assert; it's always possible that the pad gets deactivated in
14130         between the checks in gstpad.c and the implementation. Rely on
14131         finish_preroll() to return a FLUSHING or similar instead of on the
14132         assert.
14133         
14134         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14135         clock and post an EOS message if we come out of finish_preroll in
14136         the playing state.
14137
14138 2005-06-16  David Schleef  <ds@schleef.org>
14139
14140         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14141         (gst_capsfilter_set_property): Allow NULL as possible value
14142         for filter_caps property, indicating GST_CAPS_ANY.
14143
14144 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14145
14146         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14147           fix debug output
14148         * gst/schedulers/Makefile.am:
14149           use libgst prefix
14150         * gstreamer.spec.in:
14151           fix spec for it
14152
14153 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14154
14155         * gstreamer.spec.in:
14156           clean up
14157
14158 2005-06-08  Andy Wingo  <wingo@pobox.com>
14159
14160         * gst/gstutils.c: RPAD fixes all around.
14161         (gst_element_link_pads): Refcounting fixes.
14162
14163         * tools/gst-inspect.c:
14164         * tools/gst-xmlinspect.c:
14165         * parse/grammar.y:
14166         * gst/base/gsttypefindhelper.c:
14167         * gst/base/gstbasesink.c:
14168         * gst/gstqueue.c: RPAD fixes.
14169
14170         * gst/gstghostpad.h:
14171         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14172         pads. The tricky thing is they provide both source and sink
14173         interfaces, since they proxy the internal pad for the external
14174         pad, and vice versa. Implement with lower-level ProxyPad objects,
14175         with the interior proxy pad as a child of the exterior ghost pad.
14176         Should write a doc on this.
14177         
14178         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14179         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14180         gst_object API.
14181         
14182         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14183         pads are real pads. No ghost pads in this file. Not documenting
14184         the myriad s/RPAD/PAD/ and REALIZE fixes.
14185         (gst_pad_class_init): Add properties for "direction" and
14186         "template". Both are construct-only, so they can't change during
14187         the life of the pad. Fixes properly deriving from GstPad.
14188         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14189         derived objects, just set properties when creating the objects via
14190         g_object_new.
14191         (gst_pad_get_parent): Implement as a function, return NULL if the
14192         parent is not an element.
14193         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14194         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14195         
14196         * gst/gstobject.c (gst_object_class_init): Make name a construct
14197         property. Don't set it in the object init.
14198
14199         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
14200         with UNKNOWN direction.
14201         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
14202         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
14203         (gst_element_remove_pad): Remove ghost-pad special cases.
14204         (gst_element_pads_activate): Remove rpad cruft.
14205
14206         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
14207         catch the pad's-parent-not-an-element case.
14208
14209         * gst/gst.h: Include gstghostpad.h.
14210
14211         * gst/gst.c (init_post): No more real, ghost pads.
14212
14213         * gst/Makefile.am: Add gstghostpad.[ch].
14214
14215         * check/Makefile.am:
14216         * check/gst/gstbin.c:
14217         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
14218         into a bin creates ghost pads, and that the refcounts are right.
14219         Partly moved from gstbin.c.
14220
14221 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14222
14223         * check/gst-libs/.cvsignore:
14224         * check/gst/.cvsignore:
14225         * check/pipelines/.cvsignore:
14226           ignore more
14227         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
14228         (START_TEST), (cleanup_suite), (main):
14229           add some tests related to cleanup after running pipelines
14230
14231 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14232
14233         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
14234           add a testsuite for GstBuffer
14235
14236 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14237
14238         * gst/gstminiobject.h:
14239           add defines for accessing the refcount
14240
14241 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
14242
14243         * Makefile.am: added support for html unit test coverage reports
14244
14245 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
14246
14247         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14248           Free existing caps if the capsfilter changes. Add a FIXME about
14249           setting those caps on the pads.
14250
14251         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
14252           Before adding a ghost pad to a parent bin, check that there isn't
14253           already one for the element on the bin. Prevents infinite recursion
14254           when using decodebin in parse pipelines. Andy says he'll rewrite the
14255           way this works anyway, so ignore the hack.
14256
14257 2005-06-02  Andy Wingo  <wingo@pobox.com>
14258
14259         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
14260         file size, pass it on to the type find helper.
14261
14262         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
14263         segment_start and segment_end properly according to the seek
14264         method. Segment_end is still a bit flaky because offset can be
14265         negative for CUR and END cases, but it takes -1 as an "unset"
14266         value.
14267
14268 2005-06-02  Wim Taymans  <wim@fluendo.com>
14269
14270         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
14271         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
14272         (gst_basesink_activate):
14273         * gst/base/gstbasesink.h:
14274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14275         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14276         (gst_pad_query), (gst_pad_start_task):
14277         * gst/gstpad.h:
14278         * gst/gstqueue.c: (gst_queue_bufferalloc),
14279         (gst_queue_handle_sink_event), (gst_queue_chain):
14280         Bufferalloc: return GstFlowReturn to more accuratly report
14281         why allocation failed.
14282
14283 2005-06-02  Wim Taymans  <wim@fluendo.com>
14284
14285         * gst/gstpipeline.c: (gst_pipeline_send_event):
14286         Take snapshot of state without blocking.
14287
14288 2005-06-02  Wim Taymans  <wim@fluendo.com>
14289
14290         * docs/design/part-TODO.txt:
14291         * docs/design/part-caps.txt:
14292         * docs/design/part-clocks.txt:
14293         * docs/design/part-negotiation.txt:
14294         * docs/design/part-preroll.txt:
14295         Small doc updates 
14296
14297 2005-05-30  Wim Taymans  <wim@fluendo.com>
14298
14299         * gst/elements/gstidentity.c: (gst_identity_event),
14300         (gst_identity_transform), (gst_identity_get_property):
14301         Protect last_message property as it is accessed from
14302         multiple threads.
14303
14304 2005-05-30  Wim Taymans  <wim@fluendo.com>
14305
14306         * gst/gstelement.c: (gst_element_init),
14307         (gst_element_pads_activate), (gst_element_change_state):
14308         Slicker pad activation code.
14309
14310 2005-05-30  Wim Taymans  <wim@fluendo.com>
14311
14312         * gst/Makefile.am:
14313         * gst/gstelement.h:
14314         * gst/gstelementfactory.h:
14315         * gst/gsttypes.h:
14316         Move elementfactory methods to separate .h file.
14317
14318 2005-05-30  Wim Taymans  <wim@fluendo.com>
14319
14320         * docs/design/part-overview.txt:
14321         * gst/gstsystemclock.h:
14322         Small typo fixes, doc updates.
14323
14324 2005-05-30  Wim Taymans  <wim@fluendo.com>
14325
14326         * gst/gst.c: (gst_init_get_popt_table), (init_post),
14327         (init_popt_callback):
14328         Remove cpu-opt flag.
14329
14330 2005-05-30  Wim Taymans  <wim@fluendo.com>
14331
14332         * gst/gstbuffer.c: (gst_subbuffer_finalize),
14333         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14334         * gst/gstbuffer.h:
14335         Avoid typechecking in places where not needed.
14336         Added accessor for malloc_data.
14337
14338 2005-05-30  Wim Taymans  <wim@fluendo.com>
14339
14340         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14341         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14342         (gst_pad_configure_sink), (gst_pad_configure_src),
14343         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14344         (gst_pad_start_task):
14345         Propagate errors from _set_caps() in configure_src/sink
14346         functions instead of returning TRUE.
14347         FLUSH events can travel up and downstream
14348
14349
14350 2005-05-30  Wim Taymans  <wim@fluendo.com>
14351
14352         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14353         (gst_basesink_activate):
14354         Handle EOS in preroll.
14355
14356 2005-05-30  Wim Taymans  <wim@fluendo.com>
14357
14358         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14359         (gst_queue_loop), (gst_queue_handle_src_event):
14360         Remove old pieces of code
14361         Flushing the queue in an upstream event is a very bad idea.
14362
14363 2005-05-26  Andy Wingo  <wingo@pobox.com>
14364
14365         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14366         gst_value_set_mini_object so as to add a ref on the object (which
14367         will be removed when the value is unset).
14368
14369         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14370         arg type in ::handoff.
14371
14372         * gst/gstelement.c (gst_element_change_state): Also deactivate
14373         pads in READY->NULL, just in case the element didn't make it to
14374         PAUSED. Wingo tested, Wim approved.
14375
14376 2005-05-26  Wim Taymans  <wim@fluendo.com>
14377
14378         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14379         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14380         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14381         A flushing pad cannot be used to alloc_buffer from.
14382
14383 2005-05-26  Wim Taymans  <wim@fluendo.com>
14384
14385         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14386         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14387         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14388         (gst_bus_create_watch), (gst_bus_add_watch_full):
14389         * gst/gstbus.h:
14390         Implement a real GSource and use g_main_context_wakeup() to
14391         signal new messages instead of the socketpair.
14392
14393 2005-05-25  Wim Taymans  <wim@fluendo.com>
14394
14395         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14396         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14397         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14398         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14399         (gst_pad_send_event), (gst_pad_start_task):
14400         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14401         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14402         (gst_queue_sink_activate), (gst_queue_src_activate),
14403         (gst_queue_change_state):
14404         * gst/gstqueue.h:
14405         Fix state changes for non sinks. We now change sinks, then elements
14406         with unconnected srcpads, then the rest.
14407         More efficient queue unlocking in flush and state changes.
14408         Set the pad activate mode even if it does not have an activate
14409         function.
14410
14411 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14412
14413         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14414           Don't go in pull mode for non-seekable sources.
14415         * gst/elements/gsttypefindelement.h:
14416         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14417         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14418         (free_entry), (stop_typefinding),
14419         (gst_type_find_element_handle_event), (find_peek),
14420         (gst_type_find_element_chain), (do_pull_typefind),
14421         (gst_type_find_element_change_state):
14422           Allow typefinding (w/o seeking) in push-mode, simplified version
14423           of what was in 0.8.
14424         * gst/gstutils.c: (gst_buffer_join):
14425         * gst/gstutils.h:
14426           gst_buffer_join() from 0.8.
14427
14428 2005-05-25  Wim Taymans  <wim@fluendo.com>
14429
14430         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14431         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14432         (gst_pad_send_event), (gst_pad_start_task):
14433         Disable attempt at mode switching until it is figured out.
14434
14435 2005-05-25  Wim Taymans  <wim@fluendo.com>
14436
14437         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14438         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14439         (gst_basesink_finish_preroll), (gst_basesink_chain),
14440         (gst_basesink_loop), (gst_basesink_activate),
14441         (gst_basesink_change_state):
14442         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14443         (gst_basesrc_get_range), (gst_basesrc_loop),
14444         (gst_basesrc_activate):
14445         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14446         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14447         (gst_real_pad_init), (gst_real_pad_set_property),
14448         (gst_real_pad_get_property), (gst_pad_set_active),
14449         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14450         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14451         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14452         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14453         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14454         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14455         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14456         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14457         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14458         (gst_pad_stop_task):
14459         * gst/gstpad.h:
14460         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14461         (gst_queue_loop), (gst_queue_src_activate):
14462         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14463         (gst_task_get_state):
14464         * gst/gsttask.h:
14465         * gst/schedulers/threadscheduler.c:
14466         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14467         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14468         in task function.
14469         Remove ACTIVE pad flag, use FLUSHING everywhere
14470         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14471         functions.
14472         Add locks around IS_FLUSHING when reading.
14473         Take STREAM lock in chain(), get_range() functions so plugins
14474         don't need to take it anymore.
14475         
14476
14477
14478 2005-05-25  Wim Taymans  <wim@fluendo.com>
14479
14480         * tools/gst-launch.c: (event_loop):
14481         Unref message after using its contents instead of
14482         before.
14483
14484 2005-05-24  Wim Taymans  <wim@fluendo.com>
14485
14486         * docs/design/draft-ghostpads.txt:
14487         * docs/design/draft-push-pull.txt:
14488         * docs/design/draft-query.txt:
14489         * docs/design/part-overview.txt:
14490         Docs updates, added general overview doc.
14491
14492 2005-05-21  David Schleef  <ds@schleef.org>
14493
14494         * docs/gst/tmpl/old/GstBin.sgml:
14495         * docs/gst/tmpl/old/GstBuffer.sgml:
14496         * docs/gst/tmpl/old/GstCaps.sgml:
14497         * docs/gst/tmpl/old/GstClock.sgml:
14498         * docs/gst/tmpl/old/GstCompat.sgml:
14499         * docs/gst/tmpl/old/GstData.sgml:
14500         * docs/gst/tmpl/old/GstElement.sgml:
14501         * docs/gst/tmpl/old/GstEvent.sgml:
14502         * docs/gst/tmpl/old/GstIndex.sgml:
14503         * docs/gst/tmpl/old/GstStructure.sgml:
14504         * docs/gst/tmpl/old/GstTag.sgml:
14505         * docs/gst/tmpl/old/cothreads.sgml:
14506         * docs/gst/tmpl/old/cothreads_compat.sgml:
14507         * docs/gst/tmpl/old/gettext.sgml:
14508         * docs/gst/tmpl/old/gobject2gtk.sgml:
14509         * docs/gst/tmpl/old/grammar.tab.sgml:
14510         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14511         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14512         * docs/gst/tmpl/old/gst_private.sgml:
14513         * docs/gst/tmpl/old/gstaggregator.sgml:
14514         * docs/gst/tmpl/old/gstarch.sgml:
14515         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14516         * docs/gst/tmpl/old/gstbufferstore.sgml:
14517         * docs/gst/tmpl/old/gstdata_private.sgml:
14518         * docs/gst/tmpl/old/gstdisksink.sgml:
14519         * docs/gst/tmpl/old/gstdisksrc.sgml:
14520         * docs/gst/tmpl/old/gstelementfactory.sgml:
14521         * docs/gst/tmpl/old/gstextratypes.sgml:
14522         * docs/gst/tmpl/old/gstfakesink.sgml:
14523         * docs/gst/tmpl/old/gstfakesrc.sgml:
14524         * docs/gst/tmpl/old/gstfdsink.sgml:
14525         * docs/gst/tmpl/old/gstfdsrc.sgml:
14526         * docs/gst/tmpl/old/gstfilesink.sgml:
14527         * docs/gst/tmpl/old/gstfilesrc.sgml:
14528         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14529         * docs/gst/tmpl/old/gstidentity.sgml:
14530         * docs/gst/tmpl/old/gstindexfactory.sgml:
14531         * docs/gst/tmpl/old/gstmarshal.sgml:
14532         * docs/gst/tmpl/old/gstmd5sink.sgml:
14533         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14534         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14535         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14536         * docs/gst/tmpl/old/gstpipefilter.sgml:
14537         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14538         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14539         * docs/gst/tmpl/old/gstshaper.sgml:
14540         * docs/gst/tmpl/old/gstspider.sgml:
14541         * docs/gst/tmpl/old/gstspideridentity.sgml:
14542         * docs/gst/tmpl/old/gststatistics.sgml:
14543         * docs/gst/tmpl/old/gsttee.sgml:
14544         * docs/gst/tmpl/old/gsttimecache.sgml:
14545         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14546         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14547         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14548         * docs/gst/tmpl/old/types.sgml:
14549           I didn't intend to add these or check them in.
14550
14551 2005-05-19  David Schleef  <ds@schleef.org>
14552
14553         * configure.ac: Use -no-common everywhere.  In a sane world, it
14554           would be the default in libtool, because without it, you can't
14555           build DLLs on Windows.
14556         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14557         * docs/gst/gstreamer-sections.txt:
14558         * docs/gst/tmpl/gstcpu.sgml:
14559         * docs/gst/tmpl/gstdata.sgml:
14560         * docs/gst/tmpl/gstthread.sgml:
14561
14562 2005-05-19  David Schleef  <ds@schleef.org>
14563
14564         * gst/gstminiobject.c: (gst_value_set_mini_object),
14565         (gst_value_take_mini_object), (gst_value_get_mini_object):
14566         * gst/gstminiobject.h: Add GValue set/get functions.
14567
14568 2005-05-19  Wim Taymans  <wim@fluendo.com>
14569
14570         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14571         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14572         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14573         * gst/gstbuffer.h:
14574         * gst/gstbus.c: (gst_bus_post):
14575         * gst/gstelement.c: (gst_element_get_random_pad):
14576         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14577         Make subbufer unref the parent in finalize.
14578         some more debugging info.
14579
14580
14581 2005-05-19  Wim Taymans  <wim@fluendo.com>
14582
14583         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14584         (gst_basesink_init), (gst_basesink_finalize),
14585         (gst_basesink_activate), (gst_basesink_change_state):
14586         Don't free preroll queue too early.
14587
14588 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14589
14590         * gst/Makefile.am:
14591         * gst/ROADMAP:
14592           Hi, I'm outdated. Please shoot me.
14593
14594 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14595
14596         * gst/gstpipeline.c: (gst_pipeline_send_event):
14597           Do not access variables after they have been deleted.
14598
14599 2005-05-19  Wim Taymans  <wim@fluendo.com>
14600
14601         * tools/gst-inspect.c: (print_plugin_features):
14602         A plugin feature does unfortunatly not use the
14603         object name yet...
14604
14605 2005-05-18  Wim Taymans  <wim@fluendo.com>
14606
14607         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14608         Port _span() functions to new subbuffers.
14609
14610 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14611
14612         * gst/gstbin.c: (gst_bin_add_func):
14613           Fix clock settery in bins when adding kids after the clock has
14614           been selected.
14615
14616 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14617
14618         * gst/elements/gstidentity.c: (gst_identity_class_init):
14619           Workaround until signals support GstMiniObject.
14620
14621 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14622
14623         * gst/gstbuffer.c:
14624         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14625
14626 2005-05-18  Wim Taymans  <wim@fluendo.com>
14627
14628         * gst/base/Makefile.am:
14629         * gst/base/gstadapter.c: (gst_adapter_base_init),
14630         (gst_adapter_class_init), (gst_adapter_init),
14631         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14632         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14633         (gst_adapter_flush), (gst_adapter_available),
14634         (gst_adapter_available_fast):
14635         * gst/base/gstadapter.h:
14636         Ported and added adapter to the base classes.
14637
14638 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14639
14640         * gst/gst.c:
14641         * gst/gstmessage.c:
14642           Make sure the class is reffed/unreffed once before threads can be
14643           used.  Fixes #304551.
14644
14645 2005-05-17  Wim Taymans  <wim@fluendo.com>
14646
14647         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14648         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14649         * gst/gstminiobject.c: (gst_mini_object_get_type),
14650         (gst_mini_object_free):
14651         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14652         (gst_pad_push), (gst_pad_push_event):
14653         * gst/gstqueue.c: (gst_queue_change_state):
14654         Don't queue buffers in basesink when we are flushing.
14655         Unref buffer when flushing in basesink.
14656         Flush queue when going to READY
14657         Unref buffer when _push() returns an error.
14658         Don't free MiniObject instance when refcount is incremented
14659         in _finalize() so that we can recover objects.
14660
14661 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14662
14663         * docs/manual/advanced-schedulers.xml:
14664         * docs/manual/appendix-checklist.xml:
14665         * docs/pwg/advanced-clock.xml:
14666         * docs/pwg/advanced-interfaces.xml:
14667         * docs/pwg/advanced-request.xml:
14668         * docs/pwg/advanced-types.xml:
14669         * docs/pwg/intro-preface.xml:
14670         * examples/plugins/example.c: (gst_example_get_type),
14671         (gst_example_class_init), (gst_example_chain),
14672         (gst_example_set_property), (gst_example_get_property),
14673         (gst_example_change_state), (plugin_init):
14674         * examples/plugins/example.h:
14675           small doc fixes
14676
14677 2005-05-17  Wim Taymans  <wim@fluendo.com>
14678
14679         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14680         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14681         * gst/gstqueue.c: (gst_queue_change_state):
14682         Clear queue when going to READY.
14683         Remove IN_SETCAPS flag too.
14684
14685 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14686
14687         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14688           Remove implicit cast from gboolean to GstElementStateReturn;
14689           make sure we still return failure in paused => ready case if
14690           the parent class fails to change state and our own stop 
14691           vfunc succeeds.
14692
14693 2005-05-17  Wim Taymans  <wim@fluendo.com>
14694
14695         * tools/gst-launch.c: (event_loop):
14696         Message was unreffed too soon.
14697
14698 2005-05-16  Andy Wingo  <wingo@pobox.com>
14699
14700         * gst/gstbin.c (sink_iterator_filter): Err... um...
14701
14702         * check/gst/gstbin.c (test_ghost_pads): New test for the
14703         ghosting-if-elements-not-in-same-bin behavior.
14704
14705 2005-05-16  David Schleef  <ds@schleef.org>
14706
14707         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14708         accessing refcount directly.
14709
14710 2005-05-15  David Schleef  <ds@schleef.org>
14711
14712         * check/Makefile.am: remove GstData checks
14713         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14714         * gst/Makefile.am: add miniobject, remove data
14715         * gst/gst.h: add miniobject, remove data
14716         * gst/gstdata.c: remove
14717         * gst/gstdata.h: remove
14718         * gst/gstdata_private.h: remove
14719         * gst/gsttypes.h: remove GstEvent and GstMessage
14720         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14721         * gst/gstmarshal.list: change BOXED -> OBJECT
14722
14723         Implement GstMiniObject.
14724         * gst/gstminiobject.c:
14725         * gst/gstminiobject.h:
14726
14727         Modify to be subclasses of GstMiniObject.
14728         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14729         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14730         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14731         (gst_subbuffer_get_type), (gst_subbuffer_init),
14732         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14733         (gst_buffer_span):
14734         * gst/gstbuffer.h:
14735         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14736         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14737         (_gst_event_copy), (gst_event_new):
14738         * gst/gstevent.h:
14739         * gst/gstmessage.c: (_gst_message_initialize),
14740         (gst_message_get_type), (gst_message_class_init),
14741         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14742         (gst_message_new), (gst_message_new_error),
14743         (gst_message_new_warning), (gst_message_new_tag),
14744         (gst_message_new_state_changed), (gst_message_new_application):
14745         * gst/gstmessage.h:
14746         * gst/gstprobe.c: (gst_probe_perform),
14747         (gst_probe_dispatcher_dispatch):
14748         * gst/gstprobe.h:
14749         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14750         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14751         (_gst_query_copy), (gst_query_new):
14752
14753         Update elements for GstData -> GstMiniObject changes
14754         * gst/gstquery.h:
14755         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14756         (gst_queue_chain), (gst_queue_loop):
14757         * gst/elements/gstbufferstore.c:
14758         (gst_buffer_store_add_buffer_func),
14759         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14760         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14761         (gst_fakesink_render):
14762         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14763         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14764         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14765         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14766         (gst_filesrc_create_read):
14767         * gst/elements/gstidentity.c: (gst_identity_class_init):
14768         * gst/elements/gsttypefindelement.c:
14769         (gst_type_find_element_src_event), (free_entry_buffers),
14770         (gst_type_find_element_handle_event):
14771         * libs/gst/dataprotocol/dataprotocol.c:
14772         (gst_dp_header_from_buffer):
14773         * libs/gst/dataprotocol/dataprotocol.h:
14774         * libs/gst/dataprotocol/dp-private.h:
14775
14776 2005-05-15  David Schleef  <ds@schleef.org>
14777
14778         * gst/elements/gstelements.c: Don't include headers that were
14779         just removed.
14780
14781 2005-05-15  David Schleef  <ds@schleef.org>
14782
14783         * gst/elements/Makefile.am: Remove some elements that don't
14784         need to be in the core (or even exist at all).
14785         * gst/elements/gstaggregator.c:
14786         * gst/elements/gstaggregator.h:
14787         * gst/elements/gstmd5sink.c:
14788         * gst/elements/gstmd5sink.h:
14789         * gst/elements/gstmultifilesrc.c:
14790         * gst/elements/gstmultifilesrc.h:
14791         * gst/elements/gstpipefilter.c:
14792         * gst/elements/gstpipefilter.h:
14793         * gst/elements/gstshaper.c:
14794         * gst/elements/gstshaper.h:
14795         * gst/elements/gststatistics.c:
14796         * gst/elements/gststatistics.h:
14797         * po/POTFILES.in: Remove above files.
14798
14799 2005-05-14  Andy Wingo  <wingo@pobox.com>
14800
14801         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14802         so as to get the refs right.
14803         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14804         unreffing objects that don't pass the filter.
14805
14806         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14807         gst_element_set_bus.
14808         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14809         normal cases, this will destroy the bus.
14810
14811         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14812         object.
14813
14814         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14815         has no sinks.
14816
14817 2005-05-13  Andy Wingo  <wingo@pobox.com>
14818
14819         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14820         gst_pad_link, call pad_link_maybe_ghosting,
14821         (pad_link_maybe_ghosting): Links pads, making sure that the
14822         elements being linked are in the same bin.
14823         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14824         Helpers for pad_link_maybe_ghosting.
14825
14826 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14827
14828         * configure.ac:
14829           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14830
14831 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14832
14833         * docs/design/part-element-source.txt:
14834           Mention GstPushSrc
14835
14836 2005-05-12  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/base/gstbasesink.c: (gst_basesink_init),
14839         (gst_basesink_activate):
14840         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14841         (gst_basesrc_is_seekable):
14842         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14843         (bin_element_is_sink), (gst_bin_change_state):
14844         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14845         * gst/gstelement.h:
14846         Identify sinks by their flag to avoid overly complicated
14847         checks (fow now).
14848         Do state changes even for elements not reachable from the
14849         sinks.
14850         BaseSink is a sink now :)
14851         Some more debugging info in the basesrc.
14852
14853
14854 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14855
14856         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14857           Implement _query on a bin, similar to _send_event.
14858
14859 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14860
14861         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14862           Discont event offset format should be GST_FORMAT_BYTES,
14863           not GST_FORMAT_TIME.
14864
14865 2005-05-12  Wim Taymans  <wim@fluendo.com>
14866
14867         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14868         Same fix as Ronald's but without the signal. 
14869
14870 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14871
14872         * gst/gstutils.c: (gst_element_query_position):
14873           No, an element is not a pad.
14874
14875 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14876
14877         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14878         (gst_bin_get_state):
14879           If a child is removed from a bin while we remove the child from
14880           the bin and while we're retrieving its state, signal this to the
14881           get_state function so we abort the wait (instead of waiting for
14882           a timeout) and can immediately re-iterate over all other elements.
14883
14884 2005-05-12  Wim Taymans  <wim@fluendo.com>
14885
14886         * gst/base/Makefile.am:
14887         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14888         (gst_basesrc_start):
14889         * gst/base/gstbasesrc.h:
14890         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14891         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14892         (gst_pushsrc_init), (gst_pushsrc_create):
14893         * gst/base/gstpushsrc.h:
14894         Added is_seekable to BaseSrc
14895         Added simple PushSrc.
14896
14897 2005-05-11  Wim Taymans  <wim@fluendo.com>
14898
14899         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14900         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14901         (gst_element_link_pads), (gst_element_query_position),
14902         (gst_element_query_convert), (intersect_caps_func),
14903         (gst_pad_query_position), (gst_pad_query_convert):
14904         Fix refcounting in utils function.
14905         No point in trying to activate a pad when it's added, it could
14906         be added from the state change function and then we deadlock, the
14907         element has to decide what to do.
14908
14909 2005-05-10  Andy Wingo  <wingo@pobox.com>
14910
14911         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14912         *all* the arguments.
14913
14914         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14915         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14916         lock (according to the docs -- if this is wrong change the docs).
14917
14918         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14919         flush messages in the NULL state.
14920
14921         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14922         message immediately and return.
14923         (gst_bus_set_flushing): New function. If a bus is flushing, it
14924         flushes out any queued messages and immediately unrefs new
14925         messages. This is so when an element goes to NULL, all of the
14926         unhandled messages coming from it can be freed, and their
14927         references to the element dropped. In other words: message source
14928         ref considered harmful :P
14929
14930         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14931         we're finished with it.
14932
14933         * gst/gstmessage.c (gst_message_new_state_changed): 
14934
14935 2005-05-10  Wim Taymans  <wim@fluendo.com>
14936
14937         * gst/gstvalue.c: (gst_value_compare_flags),
14938         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14939         (_gst_value_initialize):
14940         Added flags serialize/deserialize/compare code.
14941
14942 2005-05-09  Andy Wingo  <wingo@pobox.com>
14943
14944         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14945         Intersect the peer's caps with our caps.
14946
14947 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14948
14949         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14950         * gst/elements/gsttypefindelement.c: (find_peek):
14951           Handle negative offsets better. Fixes decodebin.
14952
14953 2005-05-09  Wim Taymans  <wim@fluendo.com>
14954
14955         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14956         (gst_base_transform_event):
14957         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14958         Implement accept_caps.
14959         Fix silly lock/unlock mismatch in base class.
14960
14961 2005-05-09  Wim Taymans  <wim@fluendo.com>
14962
14963         * docs/design/draft-push-pull.txt:
14964         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14965         * gst/elements/gstfilesink.c: (gst_filesink_init),
14966         (gst_filesink_query):
14967         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14968         (gst_type_find_handle_src_query), (find_element_get_length):
14969         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14970         * gst/gstelement.h:
14971         * gst/gstmessage.c:
14972         * gst/gstmessage.h:
14973         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14974         (gst_real_pad_get_caps_unlocked),
14975         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14976         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14977         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14978         (gst_real_pad_dispose), (gst_real_pad_finalize),
14979         (gst_pad_load_and_link), (gst_pad_save_thyself),
14980         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14981         (gst_pad_check_pull_range), (gst_pad_pull_range),
14982         (gst_pad_template_get_type), (gst_pad_template_class_init),
14983         (gst_pad_template_init), (gst_pad_template_dispose),
14984         (name_is_valid), (gst_static_pad_template_get),
14985         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14986         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14987         (gst_pad_get_element_private), (gst_pad_start_task),
14988         (gst_pad_pause_task), (gst_pad_stop_task),
14989         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14990         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14991         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14992         (gst_ghost_pad_new):
14993         * gst/gstpad.h:
14994         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14995         (gst_query_new_position), (gst_query_set_position),
14996         (gst_query_parse_position), (gst_query_new_convert),
14997         (gst_query_set_convert), (gst_query_parse_convert):
14998         * gst/gstquery.h:
14999         * gst/gstqueryutils.c:
15000         * gst/gstqueryutils.h:
15001         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15002         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15003         (gst_queue_handle_src_query):
15004         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15005         (gst_element_query_position), (gst_element_query_convert),
15006         (intersect_caps_func), (gst_pad_query_position),
15007         (gst_pad_query_convert):
15008         * gst/gstutils.h:
15009         * tools/gst-inspect.c: (print_pad_info):
15010         * tools/gst-xmlinspect.c: (print_element_info):
15011         Remove old query functions. Ported old code.
15012         Added position/convert helper functions to gstutils.
15013         Reordered gstpad.c code, grouping relevant things.
15014         Remove gst_message_new(), always need to speficy a specific
15015         message.
15016
15017
15018 2005-05-09  Andy Wingo  <wingo@pobox.com>
15019
15020         * gst/gstiterator.h: Add some includes.
15021
15022         * gst/gstqueryutils.h: Include more headers.
15023
15024         * gst/gstpad.h:
15025         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15026         some uses of gst_pad_query.
15027
15028         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15029         NULL out parameters.
15030         (gst_query_new_position): New proc, allocates a new position
15031         query.
15032
15033         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15034         gstqueryutils.c to the build.
15035
15036         * gst/gststructure.c (gst_structure_set_valist): Implement with
15037         the generic G_VALUE_COLLECT.
15038         
15039 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15040
15041         * gst/Makefile.am: (gst_headers):
15042         Added gstqueryutils.h to the list of headers to install, that was
15043         a 'nachty' move wingo :)
15044
15045 2005-05-06  Andy Wingo  <wingo@pobox.com>
15046
15047         * gst/gstquery.h
15048         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15049         GstData, init a memchunk.
15050         (standard_definitions): Add a few query types, deprecate a few.
15051         (gst_query_get_type): New proc.
15052         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15053         implementation.
15054         (gst_query_new_application, gst_query_get_structure): New public
15055         procs.
15056
15057         * docs/design/draft-query.txt: Removed LINKS from the query types,
15058         because all the rest can be dispatched to other pads -- seemed
15059         ugly to have a query that couldn't be dispatched. internal_links
15060         is fine as a pad method.
15061
15062         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15063         in gstpad.c, but maintain binary compatibility for the moment.
15064         Will fix before 0.9 is out.
15065
15066         * gst/gstqueryutils.c: 
15067         * gst/gstqueryutils.h: New files, implement 3 methods for each
15068         query type: parse_query, parse_response, and set. Probably need an
15069         allocator as well.
15070
15071         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15072
15073         * gst/elements/gstfilesink.c (gst_filesink_query2):
15074         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15075         query_types, and formats methods.
15076
15077         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15078         (gst_pad_set_query2_function): New functions.
15079         (gst_real_pad_init): Set query2_default as the default query2
15080         function. Basically just dispatches to internally linked pads.
15081
15082         Needs review!
15083         
15084         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15085         without using the atomic operations. Only one thread can possibly
15086         be accessing the data at this point. Changed so as to avoid
15087         gst_atomic operations.
15088
15089 2005-05-06  Wim Taymans  <wim@fluendo.com>
15090
15091         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15092         Also set caps if we use the fallback buffer alloc.
15093
15094 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15095
15096         * docs/gst/Makefile.am:
15097         * docs/gst/gstreamer-docs.sgml:
15098         * docs/gst/gstreamer-sections.txt:
15099         * docs/gst/tmpl/gstatomic.sgml:
15100         * docs/gst/tmpl/gstmemchunk.sgml:
15101         * testsuite/elements/struct_i386.h:
15102         * win32/GStreamer.vcproj:
15103         * win32/Makefile:
15104           Purge GstAtomic stuff from docs and win32 makefiles as well
15105
15106 2005-05-06  Wim Taymans  <wim@fluendo.com>
15107
15108         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15109         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15110         * gst/gstpad.c: (gst_pad_peer_get_caps):
15111         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15112         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15113         (gst_queue_src_activate), (gst_queue_change_state):
15114         * gst/gstqueue.h:
15115         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15116         (intersect_caps_func):
15117         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15118         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15119         Some fixes for the peer_get_caps() change.
15120
15121 2005-05-06  Wim Taymans  <wim@fluendo.com>
15122
15123         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15124         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15125         (gst_basesink_activate):
15126         Actually do something with error codes returned from the push
15127         functions.
15128
15129 2005-05-06  Wim Taymans  <wim@fluendo.com>
15130
15131         * docs/design/part-element-sink.txt:
15132         * docs/design/part-element-source.txt:
15133         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15134         (gst_basesink_event), (gst_basesink_activate):
15135         * gst/base/gstbasesink.h:
15136         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15137         (gst_basesrc_activate):
15138         * gst/base/gstbasesrc.h:
15139         * gst/gstelement.c: (gst_element_pads_activate):
15140         Some more documentation.
15141         Fixed scheduling decision in _pads_activate().
15142
15143 2005-05-05  Andy Wingo  <wingo@pobox.com>
15144
15145         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15146         the test suite.
15147
15148 2005-05-05  Wim Taymans  <wim@fluendo.com>
15149
15150         * gst/base/Makefile.am:
15151         * gst/base/gstbasesink.h:
15152         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15153         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15154         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15155         (gst_collectpads_class_init), (gst_collectpads_init),
15156         (gst_collectpads_finalize), (gst_collectpads_new),
15157         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15158         (find_pad), (gst_collectpads_remove_pad),
15159         (gst_collectpads_is_active), (gst_collectpads_collect),
15160         (gst_collectpads_collect_range), (gst_collectpads_start),
15161         (gst_collectpads_stop), (gst_collectpads_peek),
15162         (gst_collectpads_pop), (gst_collectpads_available),
15163         (gst_collectpads_read), (gst_collectpads_flush),
15164         (gst_collectpads_chain):
15165         * gst/base/gstcollectpads.h:
15166         * gst/elements/Makefile.am:
15167         * gst/elements/gstelements.c:
15168         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15169         (gst_fakesink_get_times), (gst_fakesink_event),
15170         (gst_fakesink_preroll), (gst_fakesink_render):
15171         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15172         (gst_filesink_init), (gst_filesink_set_location),
15173         (gst_filesink_open_file), (gst_filesink_close_file),
15174         (gst_filesink_pad_query), (gst_filesink_event),
15175         (gst_filesink_render), (gst_filesink_change_state):
15176         * gst/elements/gstfilesink.h:
15177         Added object to help in making collect pad based elements.
15178         Ported filesink.
15179         Make event function in sink baseclass return gboolean.
15180
15181 2005-05-05  Wim Taymans  <wim@fluendo.com>
15182
15183         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15184         (gst_bin_get_by_name):
15185         * gst/gstbuffer.h:
15186         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15187         (gst_clock_finalize):
15188         * gst/gstdata.c: (gst_data_replace):
15189         * gst/gstdata.h:
15190         * gst/gstelement.c: (gst_element_request_pad),
15191         (gst_element_pads_activate):
15192         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15193         (gst_object_unref):
15194         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15195         (gst_pad_set_checkgetrange_function),
15196         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
15197         (gst_pad_check_pull_range), (gst_pad_pull_range),
15198         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15199         (gst_pad_pause_task), (gst_pad_stop_task):
15200         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15201         (gst_element_request_pad), (gst_pad_proxy_getcaps):
15202         Fix name lookup in GstBin.
15203         Added _data_replace() function and _buffer_replace()
15204         Use finalize method to clean up clock.
15205         Fix refcounting on request pads.
15206         Fix pad schedule mode error.
15207         Some more object refcounting debug info,
15208
15209
15210 2005-05-04  Andy Wingo <wingo@pobox.com>
15211
15212         * check/Makefile.am:
15213         * docs/gst/tmpl/gstatomic.sgml:
15214         * docs/gst/tmpl/gstplugin.sgml:
15215         * gst/base/gstbasesink.c: (gst_basesink_activate):
15216         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
15217         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
15218         (gst_basesrc_query), (gst_basesrc_set_property),
15219         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
15220         (gst_basesrc_activate):
15221         * gst/base/gstbasesrc.h:
15222         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
15223         (gst_base_transform_src_activate):
15224         * gst/elements/gstelements.c:
15225         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15226         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15227         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15228         * gst/elements/gsttypefindelement.c: (find_element_get_length),
15229         (gst_type_find_element_checkgetrange),
15230         (gst_type_find_element_activate):
15231         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
15232         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
15233         (gst_caps_load_thyself):
15234         * gst/gstelement.c: (gst_element_pads_activate),
15235         (gst_element_save_thyself), (gst_element_restore_thyself):
15236         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
15237         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
15238         * gst/gstpad.h:
15239         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
15240         (gst_xml_parse_file), (gst_xml_parse_memory),
15241         (gst_xml_get_element), (gst_xml_make_element):
15242         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15243         (_file_index_id_save_xml), (gst_file_index_commit):
15244         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
15245         (read_enum), (load_pad_template), (load_feature), (load_plugin),
15246         (load_paths):
15247         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
15248         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
15249         * tools/gst-complete.c: (main):
15250         * tools/gst-compprep.c: (main):
15251         * tools/gst-inspect.c: (print_element_properties_info):
15252         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
15253         * tools/gst-xmlinspect.c: (print_element_properties):
15254         GCC 4 fixen.
15255         
15256 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15257
15258         * gst/gstplugin.c: (gst_plugin_check_module),
15259         (gst_plugin_check_file), (gst_plugin_load_file):
15260             apply patch from #172526 to make register work on MacOSX
15261
15262 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15263
15264         * docs/gst/tmpl/gstconfig.sgml:
15265         * gst/gstconfig.h.in:
15266           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
15267         * testsuite/debug/printf_extension.c: (main):
15268           Do not use GST_PTR_FORMAT on pointers to types with
15269           sizeof < sizeof(gpointer).  Fixes test on 64-bit
15270         * testsuite/elements/property.h:
15271           use correct printf format
15272
15273 2005-05-02  Wim Taymans  <wim@fluendo.com>
15274
15275         * docs/design/draft-push-pull.txt:
15276         * docs/design/draft-query.txt:
15277         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
15278         (gst_basesrc_start):
15279         Added draft for new query API.
15280         Added draft for better selecting scheduling methods.
15281         Make basesrc ignore length if the subclass does not support
15282         it.
15283
15284 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15285
15286         * gst/Makefile.am:
15287           possible fixes for automake-1.5 - _LIBADD is reserved
15288
15289 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15290
15291         * docs/faq/Makefile.am:
15292         * docs/manual/Makefile.am:
15293         * docs/manuals.mak:
15294         * docs/pwg/Makefile.am:
15295         * gst/Makefile.am:
15296           possible fixes for automake-1.5
15297
15298 2005-04-28  Wim Taymans  <wim@fluendo.com>
15299
15300         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15301         (gst_basesink_pad_getcaps), (gst_basesink_init),
15302         (gst_basesink_do_sync):
15303         * gst/gstclock.c: (gst_clock_entry_new):
15304         * gst/gstevent.c: (gst_event_discont_get_value):
15305         * gst/gstpipeline.c: (pipeline_bus_handler),
15306         (gst_pipeline_change_state):
15307         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15308         Better debugging of clocking info.
15309         Allow NULL values when getting discont values.
15310
15311 2005-04-27  Wim Taymans  <wim@fluendo.com>
15312
15313         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15314         * check/gst/gstpad.c: (gst_pad_suite):
15315         Increase timeout for checks.
15316
15317 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15318
15319         * check/Makefile.am:
15320           fix the broken rule for cleanup.  Apparently this rule is
15321           only needed on FC2, so maybe this warrants further autotool
15322           inspection.
15323
15324 2005-04-26  Wim Taymans  <wim@fluendo.com>
15325
15326         * gst/gsttrashstack.h:
15327         Ooohh. a nasty one! After having a failed pop() from the stack,
15328         it's possible that the stack is empty. In that case, don't
15329         follow the NULL pointer.
15330
15331 2005-04-25  Wim Taymans  <wim@fluendo.com>
15332
15333         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15334         (gst_pad_set_checkgetrange_function),
15335         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15336         (gst_pad_check_pull_range), (gst_pad_pull_range),
15337         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15338         (gst_pad_pause_task), (gst_pad_stop_task):
15339         * gst/gstplugin.c: (gst_plugin_load):
15340         * gst/gstplugin.h:
15341         Remove gst_library_load as it does more harm than good with
15342         the new g_module flags.
15343         Revert bogus caps template check in pad linking, pad caps
15344         are important when linking not the template, which is more
15345         general than the current caps.
15346
15347 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15348
15349         * gst/autoplug/.cvsignore:
15350         * gst/autoplug/Makefile.am:
15351         * gst/autoplug/gstsearchfuncs.c:
15352         * gst/autoplug/gstsearchfuncs.h:
15353         * gst/autoplug/gstspider.c:
15354         * gst/autoplug/gstspider.h:
15355         * gst/autoplug/gstspideridentity.c:
15356         * gst/autoplug/gstspideridentity.h:
15357         * gst/autoplug/spidertest.c:
15358           Die, spider, die.
15359
15360 2005-04-25  Wim Taymans  <wim@fluendo.com>
15361
15362         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15363         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15364         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15365         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15366         * gst/gstpad.h:
15367         Added stubs for unimplemented functions. 
15368
15369 2005-04-24  David Schleef  <ds@schleef.org>
15370
15371         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15372         please fix.
15373
15374 2005-04-24  David Schleef  <ds@schleef.org>
15375
15376         Convert everything from GstAtomicInt to g_atomic_int_*, and
15377         remove gstatomic.
15378         * gst/Makefile.am:
15379         * gst/gstatomic.c:
15380         * gst/gstatomic.h:
15381         * gst/gstatomic_impl.h:
15382         * gst/gstbuffer.c:
15383         * gst/gstcaps.c:
15384         * gst/gstcaps.h:
15385         * gst/gstclock.c:
15386         * gst/gstclock.h:
15387         * gst/gstdata.c:
15388         * gst/gstdata.h:
15389         * gst/gstdata_private.h:
15390         * gst/gstevent.c:
15391         * gst/gstinfo.c:
15392         * gst/gstinfo.h:
15393         * gst/gstmessage.c:
15394         * gst/gstobject.c:
15395         * gst/gstobject.h:
15396         * gst/gststructure.c:
15397         * gst/gststructure.h:
15398         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15399         * gst/gstutils.h:
15400
15401 2005-04-24  David Schleef  <ds@schleef.org>
15402
15403         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15404         make the regressions tests work.  Remove some code that is no
15405         longer true.
15406         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15407         Disable warning for pads without templates.
15408
15409 2005-04-24  David Schleef  <ds@schleef.org>
15410
15411         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15412         functions that handle filtered links.
15413         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15414         removed functions.
15415         * gst/gstutils.c: Fix/remove utility functions that handle
15416         filtered caps.
15417         * gst/gstutils.h:
15418         * gst/gstvalue.c: Add serialization/deserialization of caps
15419         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15420         requires fixing so that the filter caps notation creates
15421         a capsfilter element and sets the filter_caps property.  I
15422         think everyone probably wants to keep the shorthand notation.
15423         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15424         * docs/gst/tmpl/gstpad.sgml:
15425
15426         * gst/elements/gstelements.c: Register capsfilter element.
15427         * gst/Makefile.am: fix spacing
15428         * docs/random/ds/0.9-suggested-changes: random
15429
15430 2005-04-23  David Schleef  <ds@schleef.org>
15431
15432         * gst/elements/Makefile.am:
15433         * gst/elements/gstcapsfilter.c: New element that acts like an
15434         identity, but filters caps.  Will eventually replace filtered
15435         caps in pad linking.
15436         * gst/gstutils.c: (gst_element_create_all_pads): New function
15437         to create all the ALWAYS pads that are registered with an
15438         element class.  This functionality should eventually be
15439         merged in with GstElement initialization.
15440         * gst/gstutils.h:
15441         * testsuite/trigger/README: part of trigger test code that should
15442         have been checked in a long time ago.
15443
15444 2005-04-23  David Schleef  <ds@schleef.org>
15445
15446         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15447         needed with new versions of libtool (nobody will confirm this),
15448         and hard to carry around.
15449         * gst/autoplug/Makefile.am:
15450         * gst/base/Makefile.am:
15451         * gst/elements/Makefile.am:
15452         * gst/indexers/Makefile.am:
15453         * gst/schedulers/Makefile.am:
15454         * libs/gst/bytestream/Makefile.am:
15455         * libs/gst/control/Makefile.am:
15456         * libs/gst/dataprotocol/Makefile.am:
15457         * libs/gst/getbits/Makefile.am:
15458
15459 2005-04-21  Wim Taymans  <wim@fluendo.com>
15460
15461         * docs/design/draft-push-pull.txt:
15462         * docs/design/part-MT-refcounting.txt:
15463         * docs/design/part-TODO.txt:
15464         * docs/design/part-caps.txt:
15465         * docs/design/part-events.txt:
15466         * docs/design/part-gstbus.txt:
15467         * docs/design/part-gstpipeline.txt:
15468         * docs/design/part-messages.txt:
15469         * docs/design/part-push-pull.txt:
15470         * docs/design/part-query.txt:
15471         Some more docs.
15472
15473 2005-04-21  Wim Taymans  <wim@fluendo.com>
15474
15475         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15476         (gst_message_new), (gst_message_new_error),
15477         (gst_message_new_warning), (gst_message_new_tag),
15478         (gst_message_new_state_changed), (gst_message_new_application),
15479         (gst_message_get_structure):
15480         * gst/gstmessage.h:
15481         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15482         (gst_structure_copy_conditional):
15483         Use parent refcount in GstMessage to ensure GstStructure
15484         consistency.
15485         Cleaned up headers a bit.
15486         
15487
15488 2005-04-20  Wim Taymans  <wim@fluendo.com>
15489
15490         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15491         (gst_basesink_pad_getcaps), (gst_basesink_init),
15492         (gst_basesink_chain_unlocked):
15493         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15494         (gst_type_find_helper):
15495         * gst/elements/gsttypefindelement.c:
15496         (gst_type_find_element_have_type), (gst_type_find_element_init),
15497         (stop_typefinding), (gst_type_find_element_handle_event),
15498         (find_suggest), (gst_type_find_element_chain),
15499         (gst_type_find_element_checkgetrange),
15500         (gst_type_find_element_getrange), (do_typefind),
15501         (gst_type_find_element_activate):
15502         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15503         (gst_buffer_default_free), (gst_buffer_default_copy),
15504         (gst_buffer_set_caps):
15505         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15506         (gst_caps_replace):
15507         * gst/gstmessage.c: (gst_message_new),
15508         (gst_message_new_state_changed):
15509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15510         (gst_pad_set_checkgetrange_function),
15511         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15512         (gst_pad_set_caps), (gst_pad_check_pull_range),
15513         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15514         * gst/gstpad.h:
15515         * gst/gsttypefind.c: (gst_type_find_register):
15516         Make gst_caps_replace() work like other _replace() functions.
15517         Use _caps_replace() where possible.
15518         Make sure _message_new() initialises its field.
15519         Add gst_static_pad_template_get_caps()
15520
15521
15522 2005-04-18  Andy Wingo  <wingo@pobox.com>
15523
15524         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15525         on the peer, not the pad. I think that was a typo. Pass an extra
15526         arg to see if random access is possible. Activate the pads as
15527         PULL_RANGE if possible.
15528
15529         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15530
15531         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15532         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15533         to PROP_....
15534
15535 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15536
15537         * docs/faq/using.xml:
15538           Add note on gstreamer-properties (#154996).
15539
15540 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15541
15542         * docs/random/bbb/optional-properties:
15543           Some analysis on optional properties.
15544
15545 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15546
15547         * docs/gst/tmpl/gstelementfactory.sgml:
15548         * gst/gstelement.h:
15549         * gst/gstelementfactory.c: (gst_element_factory_init),
15550         (gst_element_factory_cleanup), (gst_element_register),
15551         (__gst_element_factory_add_static_pad_template),
15552         (gst_element_factory_get_static_pad_templates),
15553         (gst_element_factory_can_src_caps),
15554         (gst_element_factory_can_sink_caps):
15555         * gst/registries/Makefile.am:
15556         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15557         (gst_xml_registry_class_init), (gst_xml_registry_init),
15558         (gst_xml_registry_new), (gst_xml_registry_set_property),
15559         (gst_xml_registry_get_property), (get_time), (make_dir),
15560         (gst_xml_registry_get_perms_func),
15561         (plugin_times_older_than_recurse), (plugin_times_older_than),
15562         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15563         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15564         (add_to_char_array), (read_string), (read_uint), (read_enum),
15565         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15566         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15567         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15568         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15569         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15570         (gst_xml_registry_rebuild):
15571         * gst/registries/gstlibxmlregistry.h:
15572         * tools/gst-compprep.c: (main):
15573         * tools/gst-inspect.c: (print_pad_templates_info):
15574         * tools/gst-xmlinspect.c: (print_element_info):
15575           Use libxml2 for registry parsing, use staticpadtemplates in
15576           elementfactories. Makes gst_init() +/- 10x faster.
15577
15578 2005-04-12  Wim Taymans  <wim@fluendo.com>
15579
15580         * gst/base/Makefile.am:
15581         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15582         (gst_basesink_pad_getcaps), (gst_basesink_init),
15583         (gst_basesink_event), (gst_basesink_change_state):
15584         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15585         (gst_basesrc_init), (gst_basesrc_query),
15586         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15587         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15588         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15589         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15590         (gst_basesrc_stop), (gst_basesrc_activate),
15591         (gst_basesrc_change_state):
15592         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15593         (helper_find_suggest), (gst_type_find_helper):
15594         * gst/base/gsttypefindhelper.h:
15595         * gst/elements/Makefile.am:
15596         * gst/elements/gstelements.c:
15597         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15598         (gst_fakesink_get_times), (gst_fakesink_event),
15599         (gst_fakesink_preroll), (gst_fakesink_render):
15600         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15601         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15602         (gst_fakesrc_get_property), (gst_fakesrc_create),
15603         (gst_fakesrc_start), (gst_fakesrc_stop):
15604         * gst/elements/gstfakesrc.h:
15605         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15606         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15607         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15608         (gst_filesrc_create_read), (gst_filesrc_create),
15609         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15610         (gst_filesrc_start):
15611         * gst/elements/gsttypefindelement.c:
15612         (gst_type_find_element_have_type), (gst_type_find_element_init),
15613         (start_typefinding), (stop_typefinding), (push_buffer_store),
15614         (gst_type_find_element_handle_event),
15615         (gst_type_find_element_chain),
15616         (gst_type_find_element_checkgetrange),
15617         (gst_type_find_element_getrange), (do_typefind),
15618         (gst_type_find_element_activate),
15619         (gst_type_find_element_change_state):
15620         * gst/elements/gsttypefindelement.h:
15621         * gst/gstpipeline.c: (pipeline_bus_handler):
15622         Added typefind helper.
15623         Small preroll fix in the base sink.
15624         Disable typefind code in basesrc.
15625         Crude port of typefindelement.
15626         Fakesrc cleanups.
15627
15628
15629 2005-04-11  Wim Taymans  <wim@fluendo.com>
15630
15631         * check/gst/gstbus.c: (gstbus_suite):
15632         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15633         * check/gstcheck.h:
15634           Fix up the timeout so that the test does not fail.
15635
15636 2005-04-06  Wim Taymans  <wim@fluendo.com>
15637
15638         * gst/base/README:
15639         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15640         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15641         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15642         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15643         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15644         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15645         (gst_basesrc_stop), (gst_basesrc_activate),
15646         (gst_basesrc_change_state), (basesrc_find_peek),
15647         (basesrc_find_suggest), (gst_basesrc_type_find):
15648         * gst/base/gstbasesrc.h:
15649         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15650         (gst_filesrc_class_init), (gst_filesrc_init),
15651         (gst_filesrc_finalize), (gst_filesrc_set_location),
15652         (gst_filesrc_set_property), (gst_filesrc_get_property),
15653         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15654         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15655         (gst_filesrc_create_read), (gst_filesrc_create),
15656         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15657         * gst/elements/gstfilesrc.h:
15658         * gst/gstelement.c: (gst_element_get_state_func),
15659         (gst_element_lost_state), (gst_element_pads_activate):
15660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15661         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15662         (gst_pad_pull_range):
15663         * gst/gstpad.h:
15664         More work on the generic source base class, implement seeking,
15665         query.
15666         Make filesrc extend the base source class.
15667         Added gst_pad_set_checkgetrange_function to GstPad.
15668
15669 2005-04-06  Andy Wingo  <wingo@pobox.com>
15670
15671         * pkgconfig/gstreamer-base.pc.in:
15672         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15673
15674         * pkgconfig/Makefile.am:
15675         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15676
15677 2005-04-04  Wim Taymans  <wim@fluendo.com>
15678
15679         * gst/base/Makefile.am:
15680         * gst/base/README:
15681         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15682         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15683         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15684         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15685         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15686         (gst_basesrc_base_init), (gst_basesrc_class_init),
15687         (gst_basesrc_init), (gst_basesrc_get_formats),
15688         (gst_basesrc_get_query_types), (gst_basesrc_query),
15689         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15690         (gst_basesrc_set_property), (gst_basesrc_get_property),
15691         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15692         (gst_basesrc_loop), (gst_basesrc_activate),
15693         (gst_basesrc_change_state):
15694         * gst/base/gstbasesrc.h:
15695         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15696         (gst_fakesrc_class_init), (gst_fakesrc_init),
15697         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15698         (gst_fakesrc_get_property), (gst_fakesrc_create):
15699         * gst/elements/gstfakesrc.h:
15700         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15701         (gst_filesrc_open_file), (gst_filesrc_loop),
15702         (gst_filesrc_activate), (filesrc_find_peek),
15703         (gst_filesrc_type_find):
15704         Made base source class, make fakesrc extend it.
15705         Add comments to basesink class.
15706         Some filesrc cleanup.
15707
15708 2005-03-31  David Schleef  <ds@schleef.org>
15709
15710         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15711         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15712         expected to link against libgstreamer.
15713         * gst/base/Makefile.am: link against libgstreamer
15714         * gst/elements/Makefile.am: same
15715
15716 2005-03-31  Andy Wingo  <wingo@pobox.com>
15717
15718         * tests/instantiate/Makefile.am:
15719         * tests/instantiate/caps.c: Add test to test speed of caps copy
15720         and free.
15721
15722         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15723         GMemChunk to be fair.
15724
15725         * gst/gsttrashstack.h: Remove warning about using the fallback
15726         trash stack implementation, it's still faster than malloc.
15727
15728 2005-03-30  Andy Wingo  <wingo@pobox.com>
15729
15730         * tests/complexity.c: Add a copyright.
15731
15732 2005-03-31  Wim Taymans  <wim@fluendo.com>
15733
15734         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15735         (gst_base_transform_class_init), (gst_base_transform_init),
15736         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15737         (gst_base_transform_get_property),
15738         (gst_base_transform_sink_activate),
15739         (gst_base_transform_src_activate),
15740         (gst_base_transform_change_state):
15741         * gst/base/gstbasetransform.h:
15742         * gst/elements/gstidentity.c: (gst_identity_class_init),
15743         (gst_identity_event), (gst_identity_check_perfect),
15744         (gst_identity_transform), (gst_identity_start),
15745         (gst_identity_stop):
15746         Added start/stop methods to transform base class so subclasses 
15747         don't need to deal with state changes even.
15748
15749 2005-03-31  Wim Taymans  <wim@fluendo.com>
15750
15751         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15752         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15753         * gst/gstevent.h:
15754         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15755         (gst_pad_pull_range):
15756         Added rate to the discont event to prepare for variable speed
15757         and reverse playback.
15758
15759 2005-03-29  David Schleef  <ds@schleef.org>
15760
15761         * configure.ac:
15762         * testsuite/trigger/Makefile.am:
15763         * testsuite/trigger/trigger.c: A little example program to show
15764         how trigger-based elements can work.
15765
15766 2005-03-29  Wim Taymans  <wim@fluendo.com>
15767
15768         * gst/base/Makefile.am:
15769         * gst/base/README:
15770         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15771         (gst_basesink_base_init), (gst_basesink_class_init),
15772         (gst_basesink_pad_getcaps), (gst_basesink_init),
15773         (gst_basesink_activate), (gst_basesink_change_state):
15774         * gst/base/gstbasesink.h:
15775         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15776         (gst_base_transform_base_init), (gst_base_transform_finalize),
15777         (gst_base_transform_class_init), (gst_base_transform_init),
15778         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15779         (gst_base_transform_event), (gst_base_transform_getrange),
15780         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15781         (gst_base_transform_set_property),
15782         (gst_base_transform_get_property),
15783         (gst_base_transform_sink_activate),
15784         (gst_base_transform_src_activate),
15785         (gst_base_transform_change_state):
15786         * gst/base/gstbasetransform.h:
15787         * gst/elements/gstidentity.c: (gst_identity_finalize),
15788         (gst_identity_class_init), (gst_identity_init),
15789         (gst_identity_event), (gst_identity_check_perfect),
15790         (gst_identity_transform), (gst_identity_set_property),
15791         (gst_identity_get_property), (gst_identity_change_state):
15792         * gst/elements/gstidentity.h:
15793         * gst/gstelement.c: (gst_element_get_state_func),
15794         (gst_element_lost_state), (gst_element_pads_activate):
15795         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15796         (gst_pad_check_pull_range), (gst_pad_pull_range):
15797         * gst/gstpad.h:
15798         Simplify pad activation.
15799         Added function to check if pull_range can be performed.
15800         Error out when pulling inactive or flushing pads.
15801         Removed const from refcounted types as it does not make sense.
15802         Simplify pad templates in basesink
15803         Added base class for simple 1-to-1 transforms.
15804         Make identity subclass the base transform.
15805
15806 2005-03-29  Andy Wingo  <wingo@pobox.com>
15807
15808         * docs/libs/gstreamer-libs-overrides.txt: 
15809         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15810         really don't understand what's going on, but like whatever. I want
15811         green buildbot!
15812
15813         * docs/gst/Makefile.am:
15814         * docs/libs/Makefile.am: Dist the overrides files.
15815
15816         * check/Makefile.am (clean-local): Remove .libs directories.
15817
15818         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15819         elements to EXTRA_DIST, so po/ files are happy.
15820
15821         * po/POTFILES.in: Er, remove it here.
15822
15823         * po/POTFILES: Remove gstspider.c.
15824
15825         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15826
15827         * docs/libs/gstreamer-libs-docs.sgml: 
15828         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15829         bytestream.
15830
15831         * tests/complexity.c (main): Set the length of the preroll queue
15832         on the sinks to prevent a lockup.
15833
15834         * libs/gst/dataprotocol/Makefile.am: 
15835         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15836         the same as the one in check/gst-libs/gdp.c.
15837
15838         * po/, docs/gst/: Commit automatic changes to docs and po files.
15839
15840         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15841         the versioned libgstbase.
15842
15843         * check/Makefile.am: Depend on an unversioned gst-register, seems
15844         to make autoconf happier.
15845
15846         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15847
15848 2005-03-28  Wim Taymans  <wim@fluendo.com>
15849
15850         * configure.ac:
15851         * docs/design/part-gstelement.txt:
15852         * docs/design/part-negotiation.txt:
15853         * docs/design/part-preroll.txt:
15854         * docs/design/part-scheduling.txt:
15855         * docs/design/part-states.txt:
15856         * gst/Makefile.am:
15857         * gst/base/Makefile.am:
15858         * gst/base/README:
15859         * gst/base/gstbasesink.c: (gst_basesink_get_template),
15860         (gst_basesink_base_init), (gst_basesink_class_init),
15861         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15862         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15863         (gst_basesink_set_pad_functions),
15864         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15865         (gst_basesink_set_property), (gst_basesink_get_property),
15866         (gst_base_sink_get_template), (gst_base_sink_get_caps),
15867         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15868         (gst_basesink_preroll_queue_push),
15869         (gst_basesink_preroll_queue_empty),
15870         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15871         (gst_basesink_event), (gst_basesink_get_times),
15872         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15873         (gst_basesink_chain_unlocked), (gst_basesink_chain),
15874         (gst_basesink_loop), (gst_basesink_activate),
15875         (gst_basesink_change_state):
15876         * gst/base/gstbasesink.h:
15877         * gst/elements/Makefile.am:
15878         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15879         (gst_fakesink_class_init), (gst_fakesink_init),
15880         (gst_fakesink_set_property), (gst_fakesink_get_property),
15881         (gst_fakesink_get_times), (gst_fakesink_event),
15882         (gst_fakesink_preroll), (gst_fakesink_render),
15883         (gst_fakesink_change_state):
15884         * gst/elements/gstfakesink.h:
15885         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15886         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15887         * gst/gstelement.c: (gst_element_add_pad),
15888         (gst_element_get_state_func), (gst_element_abort_state),
15889         (gst_element_commit_state), (gst_element_lost_state),
15890         (gst_element_set_state), (gst_element_pads_activate):
15891         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15892         * gst/gstpipeline.c: (gst_pipeline_send_event),
15893         (gst_pipeline_change_state):
15894         Added state change code.
15895         Added/updated docs.
15896         Added sink base class, make fakesink extend the base class.
15897         Small cleanups in GstPipeline.
15898
15899 2005-03-26  David Schleef  <ds@schleef.org>
15900
15901         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15902         is broken and should be implemented in a different library.
15903         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15904         * gst/gst.h: remove gstcpu.h
15905         * gst/gstcpu.c: remove
15906         * gst/gstcpu.h: remove
15907         * gst/Makefile.am.future: Remove this file.  It's ancient.
15908
15909 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15910
15911         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15912         (gst_bin_send_event):
15913           Add default event/set_manager handlers. The set_manager handler
15914           takes care that the manager is distributed over kids that were
15915           already in the bin before the manager was set. The event handler
15916           is a utility virtual function that sends the event over all sinks,
15917           so that gst_element_send_event (bin, event); has the expected
15918           behaviour.
15919         * gst/gstpad.c: (gst_pad_event_default):
15920           Re-install default event handling for discontinuities, so that
15921           seeking works without requiring hacks in applications or extra
15922           code in sinks.
15923         * gst/gstpipeline.c: (gst_pipeline_class_init),
15924         (gst_pipeline_send_event):
15925           Half hack, half utility: set a pipeline to PAUSED for seek events,
15926           since that is the only way we can guarantee a/v sync. Means that
15927           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15928           and it "just works".
15929
15930 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15931
15932         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15933           Lock/unlock mismatch.
15934
15935 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15936
15937         * docs/faq/gst-uninstalled:
15938           add gst-plugins-base
15939         * docs/gst/Makefile.am:
15940           don't error out until docs are fixed
15941         * docs/gst/gstreamer.types:
15942           remove thread
15943
15944 2005-03-22  Wim Taymans  <wim@fluendo.com>
15945
15946         * check/Makefile.am:
15947         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15948         * gst/gststructure.c: (gst_structure_set_valist),
15949         (gst_structure_copy_conditional):
15950         Activated more tests.
15951         Added message test.
15952         Added G_TYPE_POINTER to GstStructure.
15953         
15954
15955 2005-03-22  Wim Taymans  <wim@fluendo.com>
15956
15957         * docs/design/part-TODO.txt:
15958         * docs/design/part-events.txt:
15959         * docs/design/part-gstbin.txt:
15960         * docs/design/part-gstbus.txt:
15961         * docs/design/part-gstpipeline.txt:
15962         * docs/design/part-messages.txt:
15963         * gst/gstbus.c:
15964         * gst/gstmessage.c:
15965         Docs updates
15966
15967 2005-03-21  Wim Taymans  <wim@fluendo.com>
15968
15969         * gst/gstbus.c: (gst_bus_post):
15970         Fix copy-and-paste error.
15971
15972 2005-03-21  Wim Taymans  <wim@fluendo.com>
15973
15974         * check/Makefile.am:
15975         * gst/Makefile.am:
15976         * gst/elements/Makefile.am:
15977         * gst/elements/gstelements.c:
15978         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15979         (gst_fakesink_event), (gst_fakesink_chain):
15980         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15981         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15982         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15983         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15984         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15985         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15986         (gst_fakesrc_loop), (gst_fakesrc_activate),
15987         (gst_fakesrc_change_state):
15988         * gst/elements/gstfakesrc.h:
15989         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15990         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15991         (gst_filesrc_open_file), (gst_filesrc_loop),
15992         (gst_filesrc_activate), (gst_filesrc_change_state),
15993         (filesrc_find_peek), (filesrc_find_suggest),
15994         (gst_filesrc_type_find):
15995         * gst/elements/gstidentity.c: (gst_identity_finalize),
15996         (gst_identity_class_init), (gst_identity_init),
15997         (gst_identity_proxy_getcaps), (identity_queue_push),
15998         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15999         (gst_identity_getrange), (gst_identity_chain),
16000         (gst_identity_sink_loop), (gst_identity_src_loop),
16001         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16002         (gst_identity_set_property), (gst_identity_get_property),
16003         (gst_identity_change_state):
16004         * gst/elements/gstidentity.h:
16005         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16006         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16007         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16008         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16009         (gst_tee_sink_activate):
16010         * gst/elements/gsttee.h:
16011         * gst/gst.c: (gst_register_core_elements), (init_post):
16012         * gst/gst.h:
16013         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16014         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16015         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16016         (gst_bin_change_state):
16017         * gst/gstbin.h:
16018         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16019         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16020         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16021         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16022         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16023         (bus_watch_callback), (bus_watch_destroy),
16024         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16025         (poll_timeout), (gst_bus_poll):
16026         * gst/gstbus.h:
16027         * gst/gstcaps.h:
16028         * gst/gstdata.h:
16029         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16030         (gst_element_post_message), (gst_element_message_full),
16031         (gst_element_get_state_func), (gst_element_get_state),
16032         (gst_element_abort_state), (gst_element_commit_state),
16033         (gst_element_lost_state), (gst_element_set_state),
16034         (gst_element_pads_activate), (gst_element_change_state),
16035         (gst_element_dispose), (gst_element_set_manager_func),
16036         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16037         (gst_element_set_manager), (gst_element_get_manager),
16038         (gst_element_set_bus), (gst_element_get_bus),
16039         (gst_element_set_scheduler), (gst_element_get_scheduler):
16040         * gst/gstelement.h:
16041         * gst/gstevent.c: (gst_event_new_segment_seek),
16042         (gst_event_new_flush):
16043         * gst/gstevent.h:
16044         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16045         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16046         (gst_message_new_eos), (gst_message_new_error),
16047         (gst_message_new_warning), (gst_message_new_tag),
16048         (gst_message_new_state_changed), (gst_message_new_application),
16049         (gst_message_get_structure), (gst_message_parse_tag),
16050         (gst_message_parse_state_changed), (gst_message_parse_error),
16051         (gst_message_parse_warning):
16052         * gst/gstmessage.h:
16053         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16054         (gst_real_pad_set_property), (gst_pad_set_active),
16055         (gst_pad_is_active), (gst_pad_set_blocked_async),
16056         (gst_pad_set_blocked), (gst_pad_is_blocked),
16057         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16058         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16059         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16060         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16061         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16062         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16063         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16064         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16065         (gst_pad_set_caps), (gst_pad_configure_sink),
16066         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16067         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16068         (gst_real_pad_dispose), (gst_real_pad_finalize),
16069         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16070         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16071         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16072         * gst/gstpad.h:
16073         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16074         (pipeline_bus_handler), (gst_pipeline_change_state),
16075         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16076         * gst/gstpipeline.h:
16077         * gst/gstprobe.h:
16078         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16079         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16080         (gst_queue_link_src), (gst_queue_bufferalloc),
16081         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16082         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16083         (gst_queue_loop), (gst_queue_handle_src_event),
16084         (gst_queue_handle_src_query), (gst_queue_src_activate),
16085         (gst_queue_change_state):
16086         * gst/gstqueue.h:
16087         * gst/gstscheduler.c: (gst_scheduler_init),
16088         (gst_scheduler_dispose), (gst_scheduler_create_task),
16089         (gst_scheduler_factory_create):
16090         * gst/gstscheduler.h:
16091         * gst/gststructure.c: (gst_structure_get_type),
16092         (gst_structure_copy_conditional):
16093         * gst/gststructure.h:
16094         * gst/gsttaginterface.h:
16095         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16096         (gst_task_init), (gst_task_dispose), (gst_task_create),
16097         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16098         (gst_task_pause):
16099         * gst/gsttask.h:
16100         * gst/gstthread.c:
16101         * gst/gstthread.h:
16102         * gst/gsttypes.h:
16103         * gst/schedulers/Makefile.am:
16104         * gst/schedulers/cothreads_compat.h:
16105         * gst/schedulers/entryscheduler.c:
16106         * gst/schedulers/faircothreads.c:
16107         * gst/schedulers/faircothreads.h:
16108         * gst/schedulers/fairscheduler.c:
16109         * gst/schedulers/gstbasicscheduler.c:
16110         * gst/schedulers/gstoptimalscheduler.c:
16111         * gst/schedulers/gthread-cothreads.h:
16112         * gst/schedulers/threadscheduler.c:
16113         (gst_thread_scheduler_task_get_type),
16114         (gst_thread_scheduler_task_class_init),
16115         (gst_thread_scheduler_task_init),
16116         (gst_thread_scheduler_task_start),
16117         (gst_thread_scheduler_task_stop),
16118         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16119         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16120         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16121         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16122         (plugin_init):
16123         * libs/gst/Makefile.am:
16124         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16125         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16126         (gst_file_pad_parent_set):
16127         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16128         (gst_dp_event_from_packet):
16129         * tests/complexity.c: (main):
16130         * tests/mass_elements.c: (main):
16131         * testsuite/states/locked.c: (message_received), (main):
16132         * testsuite/states/parent.c: (main):
16133         * tools/gst-inspect.c: (print_element_flag_info),
16134         (print_implementation_info), (print_pad_info):
16135         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16136         (main):
16137         * tools/gst-md5sum.c: (event_loop), (main):
16138         * tools/gst-typefind.c: (main):
16139         * tools/gst-xmlinspect.c: (print_element_info):
16140         Next big merge.
16141         Added GstBus for mainloop integration.
16142         Added GstMessage for sending notifications on the bus.
16143         Added GstTask as an abstraction for pipeline entry points.
16144         Removed GstThread.
16145         Removed Schedulers.
16146         Simplified GstQueue for multithreaded core.
16147         Made _link threadsafe, removed old capsnego.
16148         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16149         Added pad blocking functions.
16150         Reworked scheduling functions in GstPad to prepare for
16151         scheduling updates soon.
16152         Moved events out of data stream.
16153         Simplified GstEvent types.
16154         Added return values to push/pull.
16155         Removed clocking from GstElement.
16156         Added prototypes for state change function for next merge.
16157         Removed iterate from bins and state change management.
16158         Fixed some elements, disabled others for now.
16159         Fixed -inspect and -launch.
16160         Added check for GstBus.
16161
16162 2005-03-10  Wim Taymans  <wim@fluendo.com>
16163
16164         * docs/design/part-MT-refcounting.txt:
16165         * docs/design/part-clocks.txt:
16166         * docs/design/part-gstelement.txt:
16167         * docs/design/part-gstobject.txt:
16168         * docs/design/part-standards.txt:
16169         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16170         (gst_bin_remove_func), (gst_bin_remove):
16171         * gst/gstbin.h:
16172         * gst/gstbuffer.c:
16173         * gst/gstcaps.h:
16174         * testsuite/clock/clock1.c: (main):
16175         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16176         (main):
16177         * testsuite/dlopen/loadgst.c: (do_test):
16178         * testsuite/refcounting/bin.c: (add_remove_test1),
16179         (add_remove_test2), (main):
16180         * testsuite/refcounting/element.c: (main):
16181         * testsuite/refcounting/element_pad.c: (main):
16182         * testsuite/refcounting/pad.c: (main):
16183         * tools/gst-launch.c: (sigint_handler_sighandler):
16184         * tools/gst-typefind.c: (main):
16185         Doc updates.
16186         Added doc about clock.
16187         removed gst_bin_iterate_recurse_up(), marked methods
16188         for removal.
16189         Fix more testsuites.
16190
16191 2005-03-09  Wim Taymans  <wim@fluendo.com>
16192
16193         * gst/gstpad.c: (gst_pad_get_direction),
16194         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16195         (gst_pad_collect_valist):
16196         * testsuite/bins/interface.c: (main):
16197         * testsuite/caps/audioscale.c: (test_caps):
16198         * testsuite/caps/caps.c: (test1), (test2), (test3):
16199         * testsuite/caps/deserialize.c: (main):
16200         * testsuite/caps/enumcaps.c: (main):
16201         * testsuite/caps/filtercaps.c: (main):
16202         * testsuite/caps/intersect2.c: (main):
16203         * testsuite/caps/random.c: (main):
16204         * testsuite/caps/renegotiate.c: (my_fixate), (main):
16205         * testsuite/caps/sets.c: (check_caps):
16206         * testsuite/caps/simplify.c: (check_caps), (main):
16207         * testsuite/caps/subtract.c: (check_caps):
16208         Fix _pad_get_direction wrt ghostpads.
16209         Fix caps testsuite.
16210
16211 2005-03-09  Wim Taymans  <wim@fluendo.com>
16212
16213         * check/Makefile.am:
16214         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
16215         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
16216         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
16217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
16218         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
16219         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
16220         (gst_bin_remove), (gst_bin_iterate_recurse_up),
16221         (bin_element_is_sink), (gst_bin_iterate_sinks),
16222         (gst_bin_iterate_all_by_interface):
16223         * gst/gstbin.h:
16224         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
16225         (gst_element_change_state), (gst_element_dispose),
16226         (gst_element_finalize), (gst_element_set_loop_function):
16227         * gst/gstelement.h:
16228         * gst/gstiterator.c: (find_custom_fold_func):
16229         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16230         (gst_pad_collectv), (gst_pad_collect_valist),
16231         (gst_pad_template_new):
16232         * gst/gstpipeline.c: (gst_pipeline_class_init),
16233         (gst_pipeline_dispose), (gst_pipeline_set_property),
16234         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
16235         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
16236         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
16237         * gst/gstutils.h:
16238         * gst/schedulers/entryscheduler.c:
16239         * gst/schedulers/gstbasicscheduler.c:
16240         (gst_basic_scheduler_cothreaded_chain),
16241         (gst_basic_scheduler_chain_add_element):
16242         * testsuite/bins/interface.c: (main):
16243         Added GstBin test.
16244         Added GstSystemClock test.
16245         Implemented clock distribution code in GstBin.
16246         Implemented iterate sinks method for future use.
16247         Rearranged gstelement.h
16248         Fix GstIterator comparison bug.
16249         Moved some code to GstPipeline, mostly clocking related.
16250
16251 2005-03-09  Wim Taymans  <wim@fluendo.com>
16252
16253         * configure.ac:
16254         * gst/gst_private.h:
16255         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16256         (gst_bin_remove_func), (gst_bin_remove),
16257         (gst_bin_get_by_name_recurse_up):
16258         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
16259         (gst_clock_id_compare_func), (gst_clock_id_wait),
16260         (gst_clock_id_wait_async), (gst_clock_init),
16261         (gst_clock_adjust_unlocked), (gst_clock_get_time):
16262         * gst/gstelement.h:
16263         * gst/gstinfo.c: (_gst_debug_init):
16264         * gst/gstobject.h:
16265         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16266         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
16267         * gst/gstpad.h:
16268         Bump version number, we're now 0.9.0
16269         Add future debugging category.
16270         Fix NULL _unref() in _get_by_name_recurse_up
16271         Rearrange gstpad.h.
16272         Update some docs.
16273
16274 2005-03-08  Wim Taymans  <wim@fluendo.com>
16275
16276         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
16277         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
16278         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16279         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
16280         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
16281         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
16282         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
16283         * gst/elements/gstidentity.c: (gst_identity_class_init):
16284         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
16285         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
16286         * gst/elements/gstshaper.c: (gst_shaper_class_init):
16287         * gst/elements/gststatistics.c: (gst_statistics_class_init):
16288         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
16289         (gst_tee_link):
16290         * gst/gstelement.c: (gst_element_class_init),
16291         (gst_element_base_class_init), (gst_element_init),
16292         (gst_element_get_random_pad), (gst_element_wait_state_change),
16293         (gst_element_change_state), (gst_element_dispose),
16294         (gst_element_finalize), (gst_element_set_loop_function):
16295         * gst/gstelement.h:
16296         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
16297         * gst/gstthread.c: (gst_thread_class_init),
16298         (gst_thread_release_children_locks), (gst_thread_change_state):
16299         * gst/schedulers/gstbasicscheduler.c:
16300         (gst_basic_scheduler_loopfunc_wrapper),
16301         (gst_basic_scheduler_chain_wrapper),
16302         (gst_basic_scheduler_src_wrapper),
16303         (gst_basic_scheduler_remove_element):
16304         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
16305         Remove threadsafe properties. Fix elements because GObject
16306         complains when installing a property before declaring a
16307         set/get_property handler.
16308         Rearrange gstelement.h file, use STATE macros for state locks.
16309         Free mutexes in the finalize method instead of dispose.
16310
16311 2005-03-08  Wim Taymans  <wim@fluendo.com>
16312
16313         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16314         * gst/gstthread.c: (gst_thread_release_children_locks):
16315         Added parentage check.
16316         Fix build og GstThread again.
16317
16318 2005-03-08  Wim Taymans  <wim@fluendo.com>
16319
16320         * docs/design/part-MT-refcounting.txt:
16321         * docs/design/part-conventions.txt:
16322         * docs/design/part-gstobject.txt:
16323         * docs/design/part-relations.txt:
16324         * docs/design/part-standards.txt:
16325         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16326         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16327         (gst_bin_get_by_name), (gst_bin_get_by_interface),
16328         (gst_bin_iterate_all_by_interface):
16329         * gst/gstbuffer.h:
16330         * gst/gstclock.h:
16331         * gst/gstelement.c: (gst_element_class_init),
16332         (gst_element_change_state), (gst_element_set_loop_function):
16333         * gst/gstelement.h:
16334         * gst/gstiterator.c:
16335         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16336         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16337         (gst_object_dispatch_properties_changed), (gst_object_set_name),
16338         (gst_object_set_parent), (gst_object_unparent),
16339         (gst_object_check_uniqueness):
16340         * gst/gstobject.h:
16341         Docs updates, clean up some headers.
16342
16343 2005-03-07  Wim Taymans  <wim@fluendo.com>
16344
16345         * check/.cvsignore:
16346         * check/Makefile.am:
16347         * check/gst-libs/.cvsignore:
16348         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16349         * check/gst/.cvsignore:
16350         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16351         (START_TEST), (gstbus_suite), (main):
16352         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16353         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16354         (gst_data_suite), (main):
16355         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16356         (add_fold_func), (gstiterator_suite), (main):
16357         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16358         (thread_name_object), (thread_name_object_default),
16359         (gst_object_name_compare), (gst_object_suite), (main):
16360         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16361         (gst_pad_suite), (main):
16362         * check/gstcheck.c: (gst_check_log_message_func),
16363         (gst_check_log_critical_func), (gst_check_init):
16364         * check/gstcheck.h:
16365         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16366         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16367         Added checks.
16368
16369 2005-03-07  Wim Taymans  <wim@fluendo.com>
16370
16371         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16372         (gst_list_iterator_next), (gst_list_iterator_resync),
16373         (gst_list_iterator_free), (gst_iterator_new_list),
16374         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16375         (gst_iterator_free), (gst_iterator_push), (filter_next),
16376         (filter_resync), (filter_uninit), (filter_free),
16377         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16378         (gst_iterator_foreach), (find_custom_fold_func),
16379         (gst_iterator_find_custom):
16380         * gst/gstiterator.h:
16381         Added missing files.
16382
16383 2005-03-07  Wim Taymans  <wim@fluendo.com>
16384
16385         * Makefile.am:
16386         * configure.ac:
16387         * docs/design/part-MT-refcounting.txt:
16388         * docs/design/part-conventions.txt:
16389         * docs/design/part-gstobject.txt:
16390         * docs/design/part-relations.txt:
16391         * examples/mixer/mixer.c: (main):
16392         * examples/thread/thread.c: (eos), (main):
16393         * gst/Makefile.am:
16394         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16395         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16396         (gst_spider_plug_from_srcpad):
16397         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16398         (gst_spider_identity_change_state),
16399         (gst_spider_identity_sink_loop_type_finding):
16400         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16401         * gst/elements/gstidentity.c: (gst_identity_init):
16402         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16403         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16404         * gst/elements/gsttypefindelement.c: (free_entry):
16405         * gst/gst.c:
16406         * gst/gst.h:
16407         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16408         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16409         (gst_bin_set_index), (gst_bin_set_element_sched),
16410         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16411         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16412         (gst_bin_iterate_elements), (iterate_child_recurse),
16413         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16414         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16415         (compare_interface), (gst_bin_get_by_interface),
16416         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16417         * gst/gstbin.h:
16418         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16419         (gst_buffer_default_free), (gst_buffer_default_copy),
16420         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16421         (gst_buffer_create_sub):
16422         * gst/gstbuffer.h:
16423         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16424         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16425         (gst_caps_unref), (gst_static_caps_get),
16426         (gst_caps_remove_and_get_structure), (gst_caps_append),
16427         (gst_caps_append_structure), (gst_caps_remove_structure),
16428         (gst_caps_copy_nth), (gst_caps_set_simple),
16429         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16430         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16431         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16432         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16433         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16434         (gst_caps_structure_figure_out_union),
16435         (gst_caps_switch_structures), (gst_caps_do_simplify),
16436         (gst_caps_replace), (gst_caps_from_string),
16437         (gst_caps_copy_conditional):
16438         * gst/gstcaps.h:
16439         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16440         (_gst_clock_id_free), (gst_clock_id_unref),
16441         (gst_clock_id_compare_func), (gst_clock_id_wait),
16442         (gst_clock_id_wait_async), (gst_clock_class_init),
16443         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16444         (gst_clock_get_time), (gst_clock_set_time_adjust),
16445         (gst_clock_set_property), (gst_clock_get_property):
16446         * gst/gstclock.h:
16447         * gst/gstcompat.h:
16448         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16449         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16450         * gst/gstdata.h:
16451         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16452         (gst_element_requires_clock), (gst_element_provides_clock),
16453         (gst_element_set_clock), (gst_element_clock_wait),
16454         (gst_element_wait), (gst_element_set_time_delay),
16455         (gst_element_is_indexable), (gst_element_add_pad),
16456         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16457         (pad_compare_name), (gst_element_get_static_pad),
16458         (gst_element_request_pad), (gst_element_get_request_pad),
16459         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16460         (gst_element_class_get_pad_template_list),
16461         (gst_element_class_get_pad_template), (gst_element_error_func),
16462         (gst_element_get_random_pad), (gst_element_get_event_masks),
16463         (gst_element_send_event), (gst_element_seek),
16464         (gst_element_get_query_types), (gst_element_query),
16465         (gst_element_get_formats), (gst_element_convert),
16466         (gst_element_is_locked_state), (gst_element_set_locked_state),
16467         (gst_element_sync_state_with_parent), (gst_element_change_state),
16468         (gst_element_finalize), (gst_element_yield),
16469         (gst_element_interrupt), (gst_element_set_scheduler),
16470         (gst_element_get_scheduler), (gst_element_set_loop_function):
16471         * gst/gstelement.h:
16472         * gst/gstevent.h:
16473         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16474         (gst_format_get_by_nick), (gst_format_get_details),
16475         (gst_format_iterate_definitions):
16476         * gst/gstformat.h:
16477         * gst/gstindex.c: (gst_index_gtype_resolver):
16478         * gst/gstinfo.c:
16479         * gst/gstinfo.h:
16480         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16481         (gst_mem_chunk_free):
16482         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16483         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16484         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16485         (gst_object_dispatch_properties_changed),
16486         (gst_object_set_name_default), (gst_object_set_name),
16487         (gst_object_get_name), (gst_object_set_name_prefix),
16488         (gst_object_get_name_prefix), (gst_object_set_parent),
16489         (gst_object_get_parent), (gst_object_unparent),
16490         (gst_object_check_uniqueness), (gst_object_save_thyself),
16491         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16492         (gst_object_set_property), (gst_object_get_property),
16493         (gst_object_get_path_string):
16494         * gst/gstobject.h:
16495         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16496         (gst_real_pad_init), (gst_real_pad_get_property),
16497         (gst_pad_custom_new), (gst_pad_get_direction),
16498         (gst_pad_set_active), (gst_pad_is_active),
16499         (gst_pad_set_event_function), (gst_pad_is_linked),
16500         (gst_pad_link_free), (gst_pad_link_intersect),
16501         (gst_pad_link_fixate), (gst_pad_set_caps),
16502         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16503         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16504         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16505         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16506         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16507         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16508         (gst_pad_realize), (gst_pad_get_allowed_caps),
16509         (gst_real_pad_dispose), (gst_real_pad_finalize),
16510         (gst_pad_collectv), (gst_pad_collect_valist),
16511         (gst_pad_template_dispose), (gst_pad_template_new),
16512         (gst_pad_get_internal_links):
16513         * gst/gstpad.h:
16514         * gst/gstpipeline.c: (gst_pipeline_dispose),
16515         (gst_pipeline_change_state):
16516         * gst/gstpipeline.h:
16517         * gst/gstplugin.c:
16518         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16519         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16520         * gst/gstpluginfeature.h:
16521         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16522         * gst/gstquery.c: (_gst_query_type_initialize),
16523         (gst_query_type_register), (gst_query_type_get_by_nick),
16524         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16525         * gst/gstquery.h:
16526         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16527         * gst/gstscheduler.c: (gst_scheduler_add_element),
16528         (gst_scheduler_factory_create):
16529         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16530         (gst_structure_free), (gst_structure_set_name),
16531         (gst_structure_id_set_value), (gst_structure_set_value),
16532         (gst_structure_set_valist), (gst_structure_remove_field),
16533         (gst_structure_remove_fields),
16534         (gst_structure_remove_fields_valist),
16535         (gst_structure_remove_all_fields), (gst_structure_foreach),
16536         (gst_structure_map_in_place),
16537         (gst_caps_structure_fixate_field_nearest_int),
16538         (gst_caps_structure_fixate_field_nearest_double):
16539         * gst/gststructure.h:
16540         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16541         (gst_system_clock_init), (gst_system_clock_dispose),
16542         (gst_system_clock_async_thread),
16543         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16544         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16545         * gst/gstsystemclock.h:
16546         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16547         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16548         * gst/gsttaginterface.c:
16549         * gst/gstthread.c: (gst_thread_dispose),
16550         (gst_thread_release_children_locks), (gst_thread_change_state),
16551         (gst_thread_main_loop):
16552         * gst/gsttrashstack.h:
16553         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16554         * gst/gsttypes.h:
16555         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16556         (gst_element_request_pad), (gst_element_get_pad_from_template),
16557         (gst_element_request_compatible_pad),
16558         (gst_element_get_compatible_pad_filtered),
16559         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16560         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16561         (gst_element_link_many), (gst_element_link),
16562         (gst_element_link_pads), (gst_element_unlink_pads),
16563         (gst_element_unlink_many), (gst_element_unlink),
16564         (gst_pad_can_link_filtered), (gst_pad_can_link),
16565         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16566         (gst_object_default_error), (gst_bin_add_many),
16567         (gst_bin_remove_many), (gst_element_populate_std_props),
16568         (gst_element_class_install_std_props), (gst_buffer_merge),
16569         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16570         (link_fold_func), (gst_pad_proxy_setcaps):
16571         * gst/gstutils.h:
16572         * gst/gstvalue.c: (gst_value_deserialize_string):
16573         * gst/parse/grammar.y:
16574         * gst/schedulers/gstbasicscheduler.c:
16575         (gst_basic_scheduler_cothreaded_chain),
16576         (gst_basic_scheduler_chain_recursive_add),
16577         (gst_basic_scheduler_pad_link):
16578         * gst/schedulers/gstoptimalscheduler.c:
16579         (get_group_schedule_function),
16580         (gst_opt_scheduler_state_transition),
16581         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16582         * libs/gst/bytestream/bytestream.c:
16583         * libs/gst/dataprotocol/dataprotocol.c:
16584         (gst_dp_header_from_buffer):
16585         * po/nb.po:
16586         * po/ru.po:
16587         * tests/threadstate/threadstate2.c: (eos):
16588         * tools/gst-compprep.c: (main):
16589         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16590         (print_pad_info), (print_children_info):
16591         * tools/gst-launch.c: (idle_func), (main):
16592         * tools/gst-md5sum.c: (idle_func), (main):
16593         * tools/gst-xmlinspect.c: (print_element_info):
16594         First THREADED backport attempt, focusing on adding locks and
16595         making sure the API is threadsafe. Needs more work. More docs
16596         follow this week.
16597
16598 2005-02-24  Andy Wingo  <wingo@pobox.com>
16599
16600         * tests/bench-complexity.scm:
16601         * tests/complexity.gnuplot: New files, good for running complexity
16602         benchmarks.
16603
16604         * tests/Makefile.am:
16605         * tests/complexity.c: New test, sets up N elements, at each level
16606         teeing into M streams per element. Eeeenteresting.
16607
16608         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16609         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16610         running bench-mass_elements.scm.
16611
16612         * tests/bench-mass_elements.scm: New script, runs mass_elements
16613         for various numbers of identities, outputting the results to a
16614         file. Requires guile 1.6. Just for testing.
16615
16616 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16617
16618         * gst/schedulers/fairscheduler.c:
16619           compile with debug disabled
16620
16621 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16622
16623         * configure.ac:
16624           hunting season on 0.9 is now OPEN