005248353827948400d7a23ebea9fa890d059190
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-05-05  Wim Taymans  <wim@fluendo.com>
2
3         * gst/glib-compat.c:
4         * gst/gst.c: (init_pre):
5         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7         (gst_object_dispatch_properties_changed):
8         * gst/gstobject.h:
9         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10         * gst/gststructure.c: (gst_structure_set_valist):
11         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
12         Remove pre glib2.8 compatibility, fixes #340508
13
14 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15
16         * gst/gsttaglist.h:
17           Mention type of tags in doc blurbs.
18
19 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
20
21         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
22         (gst_pad_configure_src), (gst_pad_push):
23         Restore acceptcaps checking behaviour now that good plugins have
24         been released.
25
26 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
27
28         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
29
30         * gst/gst.c:
31         * gst/gstbus.c:
32         * gst/gstclock.c:
33         * gst/gstevent.c:
34         * gst/gstformat.c:
35         * gst/gstmessage.c:
36         * gst/gstparse.c:
37         * gst/gstquery.c:
38         * gst/gstutils.c:
39         * gst/parse/Makefile.am:
40         * libs/gst/base/gstadapter.c:
41         * libs/gst/base/gstbasesrc.c:
42         * libs/gst/base/gstpushsrc.c:
43         * libs/gst/base/gsttypefindhelper.c:
44         * plugins/elements/gstfakesrc.c:
45         * plugins/elements/gstidentity.c:
46           Make sure gstprivate.h and/or config.h are
47           always included first, otherwise some of our
48           defines (like _FILE_OFFSET_BITS) might be
49           redefined in the system headers. Fixes build
50           on opensolaris (#340016).
51
52 2006-05-04  Wim Taymans  <wim@fluendo.com>
53
54         * docs/libs/gstreamer-libs-sections.txt:
55         API: addition: gst_adapter_take_buffer()
56         
57         * libs/gst/base/gstadapter.c: (gst_adapter_push),
58         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
59         (gst_adapter_available_fast):
60         * libs/gst/base/gstadapter.h:
61         Prepare for optimizing the hell out of this hugely inefficient
62         piece of code. 
63         Added gst_adapter_take_buffer() so we can at least start thinking
64         about subbuffering and merging.
65         Added some comments.
66
67         * tests/check/Makefile.am:
68         * tests/check/libs/adapter.c: (GST_START_TEST),
69         (gst_adapter_suite), (main):
70         Added GstAdapter check.
71
72 2006-05-04  Wim Taymans  <wim@fluendo.com>
73
74         * docs/design/part-overview.txt:
75         Fix some typos, add blurb about buffer flags.
76
77 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
78
79         * docs/libs/gstreamer-libs-sections.txt:
80           make sure GstBaseTransformClass shows up in the docs
81         * libs/gst/base/gstbasetransform.c:
82         * libs/gst/base/gstbasetransform.h:
83           move docs so gtk-doc picks it up now
84
85 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
86
87         * docs/libs/gstreamer-libs-sections.txt:
88           add missing symbols to docs
89
90 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
91
92         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
93           back out the newsegment handling change, see #340060 for ongoing
94           discussion
95
96 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
97
98         * tools/gst-run.c: (get_candidates), (main):
99           Fix wrong g_file_test() usage (see glib docs for why it doesn't
100           work); fix typo in error message. Fixes #340079.
101
102 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
103
104         * common/Makefile.am:
105         * docs/Makefile.am:
106         * docs/faq/Makefile.am:
107         * docs/gst/Makefile.am:
108         * docs/libs/Makefile.am:
109         * docs/manual/Makefile.am:
110         * docs/plugins/Makefile.am:
111         * docs/pwg/Makefile.am:
112         * docs/slides/Makefile.am:
113         * docs/upload.mak:
114         * common/upload.mak:
115           move upload.mak to common
116
117 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
118
119         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
120           add more asserts on refcounts
121           do more cleanup at end of tests
122           fix test leaks showing in FC5
123
124 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
125
126         * plugins/elements/gsttypefindelement.c:
127         (gst_type_find_element_handle_event):
128         reverted wrong change and reflowed code to avoid others falling into
129         this trap
130
131 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
132
133         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
134           fix changelog entry about last collectpads change,
135           add notes about proper fix
136
137 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
138
139         * gst/gst.c:
140         * gst/gstregistry.c: (gst_registry_scan_path_level),
141         (gst_registry_scan_path):
142         * gst/gstregistry.h:
143           only write out registry if it has changed, fixes #338339
144
145 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
146
147         * gst/gstbin.c:
148         * gst/gstpipeline.c:
149         * plugins/elements/gstcapsfilter.c:
150         * plugins/elements/gstfakesink.c:
151         * plugins/elements/gstfakesrc.c:
152         * plugins/elements/gstfdsink.c:
153         * plugins/elements/gstfdsrc.c:
154         * plugins/elements/gstfilesink.c:
155         * plugins/elements/gstfilesrc.c:
156         * plugins/elements/gstidentity.c:
157         * plugins/elements/gstqueue.c:
158         * plugins/elements/gsttee.c:
159         * plugins/elements/gsttypefindelement.c:
160         (gst_type_find_element_handle_event):
161           make GstElementDetails const
162
163 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
164
165         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
166         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
167         (gst_collect_pads_is_collected), (gst_collect_pads_event):
168           more detailed debug and formatting cleanup,
169           forward newsegments to src-pad (so that e.g. adder not eats them)
170
171 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
172
173         * gst/gstutils.c: (gst_element_link_pads):
174           cleanup double code
175
176 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
177
178         * libs/gst/controller/gstcontroller.c:
179         (gst_controller_sync_values):
180           some little tuning
181         * tests/check/libs/controller.c: (GST_START_TEST),
182         (gst_controller_suite):
183           a new test for live value handling
184
185 2006-04-28  Wim Taymans  <wim@fluendo.com>
186
187         * gst/gstutils.c: (push_and_ref):
188         Added some more docs.
189         Fix refcount issue whith gst_element_found_tags() helper 
190         function. Fixes #338335
191
192         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
193         Added testsuite for gst_element_found_tags().
194
195 2006-04-28  Michael Smith  <msmith@fluendo.com>
196
197         * gst/gstvalue.c: (gst_value_serialize_flags):
198           Avoid NULL dereference when trying to serialize flags containing
199           invalid values.
200
201 2006-04-28  Michael Smith  <msmith@fluendo.com>
202
203         * plugins/elements/gsttypefindelement.c:
204         (gst_type_find_element_handle_event):
205           If we get EOS before any data is accumulated, don't use
206           uninitialised local variables.
207
208 2006-04-28  Michael Smith  <msmith@fluendo.com>
209
210         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
211         (gst_dp_event_from_packet):
212           Fixes in reading/writing events over GDP (not currently used?) - 
213           dereferencing NULL events for unknown/invalid event types, memory
214           leak, and change g_warning to GST_WARNING.
215
216 2006-04-28  Wim Taymans  <wim@fluendo.com>
217
218         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
219         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
220         (gst_base_sink_get_position), (gst_base_sink_change_state):
221         When frame dropping is enabled, we should not ignore frames
222         without a duration.
223         Update some documentation.
224
225 2006-04-28  Wim Taymans  <wim@fluendo.com>
226
227         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
228         (gst_base_src_send_event), (gst_base_src_change_state):
229         Documentation updates.
230
231 2006-04-28  Wim Taymans  <wim@fluendo.com>
232
233         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
234         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
235         handle EAGAIN, EINTR and short writes correctly. Also clean
236         up some error cases, avoid a deadlock on bad file descriptors and
237         use GST_DEBUG_OBJECT.
238         Fixes #339843
239
240 2006-04-28  Wim Taymans  <wim@fluendo.com>
241
242         * gst/gstvalue.c: (gst_value_serialize_buffer),
243         (gst_value_deserialize_buffer):
244         Don't try to serialize a GValue with a NULL buffer. 
245         Fixes #339821.
246
247         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
248         Added check for serialisation of NULL buffers.
249
250 2006-04-28  Wim Taymans  <wim@fluendo.com>
251
252         * gst/gstminiobject.c: (gst_value_take_mini_object):
253         Taking a NULL miniobject is valid, fix the case where
254         we try to unref the NULL miniobject.
255
256 2006-04-28  Wim Taymans  <wim@fluendo.com>
257
258         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
259
260         * gst/gstbin.c: (gst_bin_handle_message_func):
261         Update docs.
262         Don't leak bin refcount when a state recalc is
263         in progress and we delay another one #339808.
264
265 2006-04-28  Wim Taymans  <wim@fluendo.com>
266
267         * docs/design/part-TODO.txt:
268         Mention QoS as an ongoing work item.
269
270         * docs/design/part-buffering.txt:
271         New doc about buffering that needs to be fleshed out
272         at some point.
273
274         * docs/design/part-qos.txt:
275         More QoS policy for decoders/demuxers/transforms
276
277         * docs/design/part-trickmodes.txt:
278         Small update.
279
280 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * configure.ac:
283           back to HEAD
284
285 === release 0.10.5 ===
286
287 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
288
289         * configure.ac:
290           releasing 0.10.5, "Fogo"
291
292 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
293
294         patch by: Wim Taymans
295
296         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
297         (gst_pad_configure_src), (gst_pad_push):
298         * gst/gstpipeline.c: (gst_pipeline_init):
299           Fix internal data flow errors.  Fixes #338711.
300
301 2006-04-12  Wim Taymans  <wim@fluendo.com>
302
303         * tests/check/gst/gstelement.c: (GST_START_TEST):
304         Don't leak the factory.
305
306 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
307
308         * configure.ac:
309         * win32/common/config.h:
310           prerelease
311
312 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
313
314         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
315         (gst_controller_unset_all):
316           Free allocated GstTimedValues when freeing list nodes.
317           Should fix leaks 'make check-valgrind' complains about.
318
319         * win32/common/libgstcontroller.def:
320           Add gst_controller_unset_all.
321
322 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
323
324         * docs/libs/gstreamer-libs-sections.txt:
325         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
326         (gst_controller_unset_all):
327         * libs/gst/controller/gstcontroller.h:
328         API: Added new method gst_controller_unset_all()
329         fixed gst_controller_unset()
330         * tests/check/libs/controller.c: (GST_START_TEST),
331         (gst_controller_suite):
332         Added two testcases for new and fixed method
333
334 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
335
336         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
337           MSG_DONTWAIT is not defined on Cygwin, so work
338           around that (fixes #317048).
339           
340 2006-04-11  Wim Taymans  <wim@fluendo.com>
341
342         * gst/gstelementfactory.c: (gst_element_register),
343         (gst_element_factory_create), (gst_element_factory_make):
344         Some cleanups.
345         Fixed a FIXME.
346         Updated docs (Fixes #131079)
347
348         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
349         Small cleanups.
350
351         * tests/check/gst/gstelement.c: (GST_START_TEST),
352         (gst_element_suite):
353         Added testcase for elementfactory class field.
354
355 2006-04-10  Wim Taymans  <wim@fluendo.com>
356
357         * gst/gstsegment.c:
358         Added some more docs.
359
360         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
361         (gst_base_sink_reset_qos):
362         Calculate more accurate rate values.
363
364 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
365
366         * gst/gst_private.h:
367           add a new #ifdef to use __declspec(dllimport) only for
368           other modules and not for gstreamer core
369         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
370           use gst_guint64_to_gdouble for conversion
371         * win32/common/libgstreamer.def:
372           add new exported functions
373         * win32/vs6/gst_inspect.dsp:
374         * win32/vs6/gst_launch.dsp:
375         * win32/vs6/libgstbase.dsp:
376         * win32/vs6/libgstcontroller.dsp:
377         * win32/vs6/libgstcoreelements.dsp:
378         * win32/vs6/libgstdataprotocol.dsp:
379         * win32/vs6/libgstnet.dsp:
380           update project files
381
382 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
383
384         * gst/gstbuffer.c: (gst_subbuffer_class_init):
385         * gst/gstclock.c: (gst_clock_class_init):
386         * gst/gstelement.c: (gst_element_class_init):
387         * gst/gstindex.c: (gst_index_class_init):
388         * gst/gstindexfactory.c: (gst_index_factory_class_init):
389         * gst/gstobject.c: (gst_object_class_init),
390         (gst_signal_object_class_init):
391         * gst/gstpad.c: (gst_pad_class_init):
392         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
393         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
394         * gst/gstregistry.c: (gst_registry_class_init):
395         * gst/gstsystemclock.c: (gst_system_clock_class_init):
396         * gst/gsttask.c: (gst_task_class_init):
397         * gst/gstxml.c: (gst_xml_class_init):
398         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
399         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
400         (gst_base_src_loop):
401         * libs/gst/controller/gstcontroller.c:/
402         (_gst_controller_class_init):
403         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
404         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
405         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
406         * tests/old/examples/plugins/example.c: (gst_example_class_init):
407         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
408         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
409
410 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
411
412         * gst/gstpad.c: (gst_pad_link):
413           Must set peer pads before calling the link function, otherwise
414           a task started from a link function might get a flow-not-linked
415           result when trying to push because the other thread where the
416           linking happens hasn't had a chance to set the peers yet. This
417           might happen for example when a queue gets linked to a downstream
418           element, as queue starts a streaming task when its source pad
419           gets linked. Happens in real life when playing back flac/musepack
420           files in playbin (#332390).
421           
422 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
423
424         * gst/gstindex.h:
425         * gst/gstxml.h:
426         * libs/gst/base/gstadapter.h:
427         * libs/gst/base/gstbasesink.h:
428         * libs/gst/base/gstbasesrc.h:
429         * libs/gst/base/gstbasetransform.h:
430         * libs/gst/base/gstcollectpads.h:
431         * libs/gst/base/gstpushsrc.h:
432         Fix broken GObject macros
433
434 2006-04-07  Wim Taymans  <wim@fluendo.com>
435
436         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
437         Initialize start and stop times, thanks valgrind.
438
439 2006-04-07  Wim Taymans  <wim@fluendo.com>
440
441         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
442         Be a bit nicer to badly behaving upstream elements that expect
443         us to deal with non TIME segments and timestamps (such as fakesrc
444         in the testsuite).
445
446 2006-04-07  Wim Taymans  <wim@fluendo.com>
447
448         * gst/gstbus.c:
449         Small documentation clarification about the signal watch.
450
451         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
452         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
453         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
454         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
455         (gst_base_sink_get_position_last),
456         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
457         Convert and store timestamps in stream time and running time, the
458         raw timestamps are not usefull, also document this better.
459         Use different window sizes for good and bad QoS observations so
460         we react to badness a little quicker.
461         Keep track of the amount of rendered and dropped buffers.
462         Send QoS timestamps in running time.
463
464         * libs/gst/base/gstbasetransform.c:
465         (gst_base_transform_sink_eventfunc),
466         (gst_base_transform_handle_buffer):
467         Compare QoS timestamps against running time.
468
469 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
470
471         * gst/gstpad.c:
472           Typo fixes in docs.
473
474 2006-04-06  Michael Smith  <msmith@fluendo.com>
475
476         * gst/gstpad.c: (gst_pad_set_property):
477           Use g_value_get_object() instead of g_value_dup_gst_object(),
478           to avoid double-reffing the pad template (which we then sink,
479           so this worked previously if (and only if) the pad template
480           was floating.
481
482         * gst/gstpadtemplate.c: (gst_pad_template_init),
483         (gst_pad_template_pad_created):
484           Never return floating references to pad templates, create
485           them as initially-sunken.
486
487           Document an extra function (and make this stop sinking our
488           pad template, since that is now guaranteed to do nothing,
489           since we created it sunken).
490
491         * gst/gstghostpad.c:
492           Fix docs typo.
493
494 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
495
496         * gst/gstinfo.c: (__gst_in_valgrind):
497           Add some newlines.
498
499         * plugins/elements/gsttypefindelement.c:
500         (gst_type_find_element_chain):
501           Don't leak buffer caps.
502
503 2006-04-06  Michael Smith  <msmith@fluendo.com>
504
505         * gst/parse/grammar.y:
506           Fix a leak in parse-launch for any source-or-sink named element 
507           references used.
508
509         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
510           Unref the pipeline if it exists after we've failed parsing.
511
512 2006-04-05  Michael Smith  <msmith@fluendo.com>
513
514         * gst/gstpipeline.c: (gst_pipeline_init):
515           When we create a pipeline bus, initially create it in flushing mode.
516           Fixes leaks in at least one test, and makes a new pipeline work the
517           same as one that has gone to READY and then back to NULL.
518
519         * gst/gstelement.c:
520           Typo fix in docs.
521
522 2006-04-05  Michael Smith  <msmith@fluendo.com>
523
524         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
525           Unref a pad we reffed.
526         * tests/check/gst/gstutils.c: (GST_START_TEST):
527           Unref bins
528
529 2006-04-05  Michael Smith  <msmith@fluendo.com>
530
531         * gst/gstquery.c: (gst_query_set_formats),
532         (gst_query_set_formatsv):
533           Fix leaking GValues in queries, as shown by valgrind/testsuite.
534
535 2006-04-05  Michael Smith  <msmith@fluendo.com>
536
537         * tests/check/generic/sinks.c: (GST_START_TEST):
538           Fix a variety of memleaks in sinks check, which are only sometimes 
539           shown by running the tests under valgrind (weird?).
540
541 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
542
543         * docs/version.entities.in:
544           Fix the substituted entity name after thomas' changes on the
545           weekend.
546
547 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
548
549         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
550         VALGRIND_PRINTF
551         
552 2006-04-05  Andy Wingo  <wingo@pobox.com>
553
554         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
555
556         * libs/gst/base/gstbasetransform.c
557         (gst_base_transform_sink_eventfunc): When resetting our segment on
558         FLUSH_STOP, also update the flag saying we haven't seen a
559         newsegment.
560
561 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
562
563         Patch by: Paolo Borelli  <pborelli at katamail dot com>
564
565         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
566         (gst_plugin_check_license):
567           minor clean-ups: G_DEFINE_TYPE already takes care of the
568           parent_class stuff, no need to do it twice. Mark array of
569           license strings as constant. (#337103)
570           
571 2006-04-04  Michael Smith  <msmith@fluendo.com>
572
573         * tools/gst-inspect.c: (print_element_list):
574           Free the right plugin list; fixes a memory leak.
575
576 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
577
578         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
579
580         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
581           Don't error out on empty buffers (#336945).
582           
583 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
584
585         * docs/libs/gstreamer-libs-sections.txt:
586         * gst/gsttaglist.c:
587         * libs/gst/base/gstbasesink.c:
588         * libs/gst/base/gstbasesink.h:
589         * libs/gst/base/gstbasesrc.c:
590         * libs/gst/base/gstbasesrc.h:
591           Documentation updates. Make BaseSink and BaseSrc docs contain the
592           class structure so that people can actually see the prototypes for
593           virtual functions they're supposed to be overriding.
594
595 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
596
597         * plugins/elements/gsttypefindelement.c:
598         (gst_type_find_element_chain):
599           More debug info; when skipping typefinding, send cached
600           events in all cases.
601
602 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
603
604         * configure.ac:
605           use new AS_VERSION and AS_NANO macros
606         * gst/gst-i18n-lib.h:
607         * gst/gst.c:
608         * gst/gsterror.c:
609         * gst/gstversion.h.in:
610         * win32/common/config.h:
611         * win32/common/config.h.in:
612           update accordingly
613
614 2006-03-31  Michael Smith  <msmith@fluendo.com>
615
616         * plugins/elements/gsttypefindelement.c:
617         (gst_type_find_element_chain):
618           Do not typefind content if the buffers already have caps.
619           Neccesary for icydemux (#333657), and the right thing to do anyway.
620
621 2006-03-30  Wim Taymans  <wim@fluendo.com>
622
623         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
624         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
625         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
626         (gst_base_sink_record_qos_observation),
627         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
628         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
629         (gst_base_sink_change_state):
630         More QoS measurements as described in the design doc.
631         Get rid of ringbuffer with observations, running average is
632         more simple and equally good.
633         Calculates valid proportion now.
634         Added beginning of flood measurement.
635
636 2006-03-29  Wim Taymans  <wim@fluendo.com>
637
638         * docs/design/part-qos.txt:
639         * gst/gstclock.c:
640         Small documentation updates and additions.
641
642 2006-03-29  Wim Taymans  <wim@fluendo.com>
643
644         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
645         (gst_base_src_send_event), (gst_base_src_loop),
646         (gst_base_src_change_state):
647         Perform the EOS logic when we reach the segment stop position.
648         Fix compilation on gcc4.1
649
650 2006-03-29  Wim Taymans  <wim@fluendo.com>
651
652         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
653
654         * plugins/elements/gstqueue.c: (gst_queue_init),
655         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
656         (gst_queue_set_property):
657         * plugins/elements/gstqueue.h:
658         In queue, when EOS is received, if minimum threshold > max_size -
659         current_level, there is chance that queue blocks forever in conditional
660         item del wait. This is because the queue is not emptied completely due
661         to minimum threshold.  Here is another approach. Instead of setting
662         cur_levels to max in EOS, just zero all minimum threshold levels. This
663         should make sure that queue gives out all data. When going to READY
664         (stop) state, just reset the original minimum threshold levels.
665         Fixes #336336.
666
667 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
668
669         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
670         (gst_type_find_element_handle_event),
671         (gst_type_find_element_send_cached_events),
672         (gst_type_find_element_change_state):
673         * plugins/elements/gsttypefindelement.h:
674           When typefinding is done in push mode, we should cache
675           events we receive during typefinding instead of just
676           dropping them (e.g. newsegment, custom events from
677           dvdreadsrc etc.) and then send them out once we've
678           determined the type of the stream (and decodebin
679           has had a chance to plug in a decoder/demuxer).
680           
681 2006-03-27  Wim Taymans  <wim@fluendo.com>
682
683         * docs/design/part-qos.txt:
684         First QoS ideas.
685
686 2006-03-27  Wim Taymans  <wim@fluendo.com>
687
688         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
689
690         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
691         (gst_base_src_send_event), (gst_base_src_change_state):
692         Handle element seek correctly when we are streaming.
693         Fixes #326998.
694
695 2006-03-24  Michael Smith  <msmith@fluendo.com>
696
697         * docs/faq/gst-uninstalled:
698           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
699           allow you to correctly run intalled applications built against old 
700           core, using plugins that require updated core (e.g. running
701           installed totem against a full uninstalled gstreamer stack)
702
703 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
704
705         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
706         more debug details
707
708 2006-03-24  Wim Taymans  <wim@fluendo.com>
709
710         * docs/gst/gstreamer-sections.txt:
711         Rearrange the order of the methods so that related methods
712         are grouped together in sections.
713
714 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
715
716         * gst/gstelement.c:
717           Little clarification in the docs
718
719 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
720
721         * docs/README:
722         formatting fix
723         * plugins/elements/gstidentity.c:
724         * plugins/elements/gstqueue.c:
725         * plugins/elements/gsttee.c:
726         * plugins/elements/gsttypefindelement.c:
727         GST_ELEMENT_DETAILS formatting
728
729 2006-03-24  Wim Taymans  <wim@fluendo.com>
730
731         * libs/gst/base/gstbasesink.h:
732         Only add fields, not insert or we break ABI.
733
734 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
735
736         * win32/common/libgstbase.def:
737         * win32/common/libgstreamer.def:
738           Update, add recently added functions.
739
740 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * docs/gst/gstreamer-sections.txt:
743         * gst/gstutils.c: (gst_pad_query_peer_position),
744         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
745         * gst/gstutils.h:
746           API: add some new utility functions:
747            - gst_pad_query_peer_position()
748            - gst_pad_query_peer_duration()
749            - gst_pad_query_peer_convert()
750           
751 2006-03-23  Wim Taymans  <wim@fluendo.com>
752
753         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
754         (gst_base_sink_init), (gst_base_sink_finalize),
755         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
756         (gst_base_sink_set_property), (gst_base_sink_get_property),
757         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
758         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
759         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
760         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
761         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
762         (gst_base_sink_preroll_object), (gst_base_sink_event),
763         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
764         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
765         (gst_base_sink_query), (gst_base_sink_change_state):
766         Decouple max-lateness and the fact that QoS messages are generated
767         with a new property (qos).
768         added API: GstBaseSink::async_play()
769         Add vmethod so subclasses can be notified of ASYNC playing
770         state changes.
771         Collect timestamp start and stop to report better current
772         position in EOS/PLAYING/PAUSED/READY/NULL.
773         Refactor QoS/frame dropping and other measurements.
774         API: GstBaseSrc::qos
775         Fixes #326311
776
777         * libs/gst/base/gstbasesink.h:
778         Added Private struct.
779         API: gst_base_sink_set_qos_enabled()
780         API: gst_base_sink_is_qos_enabled()
781
782 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
783
784         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
785           If compiling against GLib-2.8 or newer, try to read the
786           registry file using GMappedFile first before falling back
787           to fopen() + fread() (#332151).
788
789 2006-03-22  Wim Taymans  <wim@fluendo.com>
790
791         * gst/gstinfo.c: (gst_debug_set_active),
792         (gst_debug_category_set_threshold):
793         Disable debugging unless explicitly activated.
794         Fixes #335480.
795
796 2006-03-22  Wim Taymans  <wim@fluendo.com>
797
798         * gst/gstelement.c: (gst_element_set_locked_state),
799         (gst_element_dispose):
800         Cleanup the error case.
801
802         * gst/gstobject.c: (gst_object_dispose):
803         print a critical when some object was disposed with
804         a parent, also revive the object since it might
805         crash the parent.
806
807 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
808
809         * tools/gst-launch.1.in:
810           Fix another typo.
811
812 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
813
814         * configure.ac:
815         * tests/check/Makefile.am:
816           disable some tests when we don't have a registry
817         * tests/check/gst/gstutils.c: (gst_utils_suite):
818           don't build the part that needs parsing
819
820 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
821
822         * gst/Makefile.am
823         * tests/examples/Makefile.am:
824           fix --disable-parse build
825
826 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
827
828         * tools/gst-feedback.1.in:
829           Fix typo: s/feeback/feedback/ (#133494).
830
831 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
832
833         * tools/Makefile.am:
834         * tools/gst-launch.1.in:
835           Add FILES section and correct entry about GST_REGISTRY_PATH
836           environment variable (#133495; #133494).
837
838 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
839
840         * tools/Makefile.am:
841         * tools/gst-md5sum.1.in:
842         * tools/gst-md5sum.c:
843           Remove gst-md5sum and man page (the md5sink element
844           required was removed ages ago)
845
846 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
847
848         * gst/gststructure.c: (gst_structure_id_set_value):
849           Make sure that string fields in structures/taglists
850           contain valid UTF-8 - we don't want to pass rubbish to
851           applications because of a buggy plugin (cp. #334167).
852
853 2006-03-21  Edward Hervey  <edward@fluendo.com>
854
855         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
856         (gst_bin_handle_message_func):
857         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
858         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
859         (gst_element_set_bus_func):
860         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
861         * gst/gstminiobject.c: (gst_value_set_mini_object),
862         (gst_value_take_mini_object):
863         * gst/gstpad.c: (gst_pad_set_pad_template):
864         * gst/gstpipeline.c: (gst_pipeline_dispose),
865         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
866         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
867         (gst_collect_pads_chain):
868         * libs/gst/net/gstnettimeprovider.c:
869         (gst_net_time_provider_set_property):
870         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
871         It's in fact all issues with gst_*object_replace().
872
873 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
874
875         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
876         
877         * pkgconfig/gstreamer-check-uninstalled.pc.in:
878         * pkgconfig/gstreamer-check.pc.in:
879           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
880
881 2006-03-21  Edward Hervey  <edward@fluendo.com>
882
883         * gst/gstbuffer.h:
884         * gst/gstevent.h:
885         * gst/gstmessage.h:
886         gst_[buffer|event|message]_ref() macros are replaced by a static
887         inline functions because gcc-4.1 will about if the return value
888         isn't used.
889         * tests/check/gst/gstevent.c: (event_probe):
890         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
891
892 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
893
894         * gst/gstutils.h:
895         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
896         the type' case. (Closes: #335195 for now). In the future, when we
897         depend on GLib 2.10, we could also intern the type name using
898         g_intern_static_string()
899
900 2006-03-20  Wim Taymans  <wim@fluendo.com>
901
902         * gst/gstbin.c: (gst_bin_handle_message_func),
903         (bin_query_max_init), (bin_query_position_fold),
904         (bin_query_position_done), (gst_bin_query):
905         Position query should also take max of all streams.
906
907 2006-03-20  Wim Taymans  <wim@fluendo.com>
908
909         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
910         (gst_fake_src_finalize):
911         Fix leaks in fakesrc.
912
913         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
914         Fix leaks in the testcase.
915
916 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
917
918         * gst/gst_private.h:
919           add win32 specific import decoration(__declspec(dllimport)) 
920           for all extern GstDebugCategory * variables
921         * win32/common/libgstbase.def:
922         * win32/common/libgstcontroller.def:
923         * win32/common/libgstreamer.def:
924           Add some exports, remove empty lines
925         * win32/common/libgstdataprotocol.def:
926         * win32/common/libgstdataprotocol.dsp:
927         * win32/common/libgstnet.def:
928         * win32/common/libgstnet.dsp:
929           new project files and exportation files added
930         
931 2006-03-19  Wim Taymans  <wim@fluendo.com>
932
933         * tests/check/libs/basesrc.c: (eos_event_counter):
934         Use proper return value for probe.
935
936 2006-03-17  Wim Taymans  <wim@fluendo.com>
937
938         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
939         (gst_pad_push):
940         Don't leak buffers, caps and pads on negotiation errors.
941
942 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
943
944         * docs/faq/cvs.xml:
945         * docs/faq/dependencies.xml:
946         * docs/faq/developing.xml:
947         * docs/faq/faq.xml:
948         * docs/faq/general.xml:
949         * docs/faq/getting.xml:
950         * docs/faq/legal.xml:
951         * docs/faq/troubleshooting.xml:
952         * docs/faq/using.xml:
953         Faq review and update.
954
955 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
956
957         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
958         (gst_pad_push):
959         Don't pound the cpu to pieces by checking get_caps when accept_caps
960         is called with the same caps as the pad already has.
961         Use GST_DEBUG_OBJECT when outputting caps change information.
962
963 2006-03-15  Wim Taymans  <wim@fluendo.com>
964
965         * gst/gstclock.c: (gst_clock_class_init):
966         Fix docs.
967
968 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
969
970         * gst/gstbuffer.h:
971         Documentation fix.
972
973         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
974         (gst_pad_accept_caps), (gst_pad_configure_sink),
975         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
976         Make the default acceptcaps behaviour be to check the requested 
977         caps against the gst_pad_get_caps output. 
978
979         Ensure that gst_pad_accept_caps is used to check caps when a pad
980         doesn't have a setcaps function, so that pads automatically refuse 
981         caps that they don't allow in their pad template. (Fixes #332986)
982
983         When a buffer with attached caps is pushed, ensure that the source 
984         pad receives those caps even if the element didn't call
985         gst_pad_set_caps first.
986
987 2006-03-15  Wim Taymans  <wim@fluendo.com>
988
989         * libs/gst/base/gstadapter.c:
990         Add some docs.
991
992 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
993
994         * win32/common/libgstbase.def:
995         * win32/common/libgstcontroller.def:
996         * win32/common/libgstreamer.def:
997           Add a whole bunch of missing functions (#334434).
998
999 2006-03-14  Wim Taymans  <wim@fluendo.com>
1000
1001         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1002         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1003         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1004         Better debug info when we receive a segment event.
1005         Reorganize a bit so we can pass the get_times() results around.
1006         Use the segment format when calculating the running time.
1007         Don't do QoS is sync is disabled or we have no clock or the
1008         element does not want us to sync to the clock.
1009         Don't drop buffers if QoS is disabled for now.
1010
1011 2006-03-14  Wim Taymans  <wim@fluendo.com>
1012
1013         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1014         Marked the stats property as unimplemented so people don't get
1015         wild ideas.
1016         Add debug message when regression goes wrong.
1017         Added some more docs.
1018
1019 2006-03-14  Wim Taymans  <wim@fluendo.com>
1020
1021         * gst/gstsegment.c: (gst_segment_to_stream_time):
1022         Return correct return type in case of errors.
1023
1024 2006-03-14  Wim Taymans  <wim@fluendo.com>
1025
1026         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1027           Don't segfault on invalid formats.
1028
1029 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1030
1031         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1032           Can't use gst_segment_to_running_time() when the segment
1033           is not in GST_TIME_FORMAT (like with filesink, for example).
1034           Stops flac encoding pipelines from spewing critical warnings
1035           at EOS (#331248).
1036           
1037 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1038
1039         * gst/gstpipeline.c: (gst_pipeline_class_init):
1040           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1041
1042         * plugins/elements/gsttypefindelement.c:
1043         (gst_type_find_element_handle_event):
1044           Don't try to typefind empty streams.
1045
1046 2006-03-14  Wim Taymans  <wim@fluendo.com>
1047
1048         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1049         (gst_base_sink_do_qos):
1050         Separate QoS calculation.
1051         Only drop buffers when lateness is bigger than the 
1052         duration of the buffer.
1053
1054 2006-03-13  Wim Taymans  <wim@fluendo.com>
1055
1056         * gst/gstpipeline.c: (gst_pipeline_set_property),
1057         (gst_pipeline_get_property), (do_pipeline_seek),
1058         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1059         (gst_pipeline_get_delay):
1060         Don't deadlock when reading properties.
1061
1062 2006-03-13  Wim Taymans  <wim@fluendo.com>
1063
1064         * libs/gst/base/gstbasetransform.c:
1065         (gst_base_transform_class_init), (gst_base_transform_init),
1066         (gst_base_transform_sink_event),
1067         (gst_base_transform_sink_eventfunc),
1068         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1069         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1070         (gst_base_transform_set_property),
1071         (gst_base_transform_get_property),
1072         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1073         (gst_base_transform_set_qos_enabled),
1074         (gst_base_transform_is_qos_enabled):
1075         * libs/gst/base/gstbasetransform.h:
1076         Make basetransform virtual method for src events too.
1077         Handle QOS in basetransform.
1078         API: gst_base_transform_update_qos()
1079         API: gst_base_transform_set_qos_enabled()
1080         API: gst_base_transform_is_qos_enabled()
1081
1082 2006-03-13  Wim Taymans  <wim@fluendo.com>
1083
1084         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1085         (gst_base_sink_do_sync):
1086         Small cleanups.
1087         Use QOS debug category.
1088
1089 2006-03-13  Wim Taymans  <wim@fluendo.com>
1090
1091         * plugins/elements/gstqueue.c:
1092         Very small doc update.
1093
1094 2006-03-13  Wim Taymans  <wim@fluendo.com>
1095
1096         * gst/gst_private.h:
1097         * gst/gstinfo.c: (_gst_debug_init):
1098         Added QOS debug category
1099
1100 2006-03-13  Wim Taymans  <wim@fluendo.com>
1101
1102         * docs/gst/gstreamer-sections.txt:
1103         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1104         * gst/gstbin.h:
1105         * gst/gstbus.c: (gst_bus_class_init):
1106         * gst/gstbus.h:
1107         * gst/gstclock.c:
1108         * gst/gstelement.c: (gst_element_set_locked_state):
1109         * gst/gstsegment.c:
1110         Documentation updates.
1111
1112         * gst/gstpipeline.c: (gst_pipeline_get_type),
1113         (gst_pipeline_class_init), (gst_pipeline_init),
1114         (gst_pipeline_dispose), (gst_pipeline_set_property),
1115         (gst_pipeline_get_property), (do_pipeline_seek),
1116         (gst_pipeline_send_event), (gst_pipeline_change_state),
1117         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1118         (gst_pipeline_get_delay):
1119         * gst/gstpipeline.h:
1120         Added methods for setting the delay.
1121         API: gst_pipeline_set_delay()
1122         API: gst_pipeline_get_delay()
1123         Add pipeline debug category
1124         Various cleanups.
1125         Updated docs.
1126         Don't reset stream time when seek failed.
1127
1128 2006-03-13  Wim Taymans  <wim@fluendo.com>
1129
1130         * docs/design/draft-klass.txt:
1131         * docs/design/part-clocks.txt:
1132         * docs/design/part-events.txt:
1133         * docs/design/part-gstbin.txt:
1134         * docs/design/part-gstpipeline.txt:
1135         * docs/design/part-messages.txt:
1136         * docs/design/part-negotiation.txt:
1137         * docs/design/part-overview.txt:
1138         * docs/design/part-preroll.txt:
1139         * docs/design/part-seeking.txt:
1140         * docs/design/part-states.txt:
1141         * docs/design/part-streams.txt:
1142         Documentation updates.
1143
1144 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1145
1146         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1147         us to leak strings...
1148
1149 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1150
1151         * libs/gst/net/gstnettimeprovider.c:
1152           fix docs
1153         * win32/common/config.h:
1154           update
1155
1156 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1159
1160         * configure.ac:
1161           Don't check for libgnomeui (leftover from old examples
1162           that aren't built or disted any longer) (#334303).
1163           
1164 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1165
1166         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1167         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1168           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1169           there's no space left on the device.
1170
1171 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1172
1173         * gst/gstclock.h:
1174           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
1175           to cast the input to GstClockTime before comparing with
1176           another GstClockTime value.
1177
1178 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1179
1180         * configure.ac:
1181           back to trunk
1182
1183 === release 0.10.4 ===
1184
1185 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
1186
1187         * configure.ac:
1188           releasing 0.10.4, "Light"
1189
1190 2006-03-10  Michael Smith  <msmith@fluendo.com>
1191
1192         * libs/gst/dataprotocol/dataprotocol.c:
1193           Fix docs for dataprocotol to not get the return types completely
1194           wrong for a few functions.
1195
1196 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1197
1198         * docs/gst/gstreamer-sections.txt:
1199         * gst/gstpipeline.c: (gst_pipeline_class_init),
1200         (gst_pipeline_init), (gst_pipeline_set_property),
1201         (gst_pipeline_get_property), (gst_pipeline_change_state),
1202         (gst_pipeline_set_auto_flush_bus),
1203         (gst_pipeline_get_auto_flush_bus):
1204         * gst/gstpipeline.h:
1205           Add new API: gst_pipeline_set_auto_flush_bus() and
1206           gst_pipeline_get_auto_flush_bus() to disable automatic
1207           flushing of the pipeline's GstBus when going from READY
1208           to NULL state (#332045).
1209
1210 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1211
1212         * docs/gst/gstreamer-sections.txt:
1213         * gst/gsturi.c: (gst_uri_has_protocol):
1214         * gst/gsturi.h:
1215            Add new API: gst_uri_has_protocol() (#333779).
1216
1217 2006-03-09  Wim Taymans  <wim@fluendo.com>
1218
1219         * gst/gstclock.c: (gst_clock_entry_new),
1220         (gst_clock_id_compare_func), (gst_clock_id_wait),
1221         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
1222         (gst_clock_init), (gst_clock_get_internal_time),
1223         (gst_clock_set_master), (do_linear_regression),
1224         (gst_clock_add_observation), (gst_clock_set_property):
1225         * gst/gstclock.h:
1226         Review docs.
1227         Small cleanups.
1228         Fix a possible segfault when the window-size is made smaller.
1229         Calculate jitter before performing the clock wait. Ideally
1230         the clock implementation should calculate jitter but we need
1231         API breakage for that.
1232
1233         * gst/gstsystemclock.c: (gst_system_clock_init):
1234         Docs review.
1235         
1236         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1237         Remove leftover else
1238
1239         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1240         (gst_systemclock_suite):
1241         Added check to test GST_CLOCK_DIFF.
1242
1243 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
1244
1245         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
1246         (gst_type_find_helper_get_range):
1247           If we are provided with the size, we should implement
1248           GstTypeFind::get_length, so that typefind functions who
1249           want to can actually peek at the middle of a file.
1250
1251 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
1252
1253         * docs/manual/advanced-dataaccess.xml:
1254           Add some very very basic error checking.
1255
1256         * docs/pwg/appendix-checklist.xml:
1257           Some updates to the list of things to check when writing an element.
1258
1259 2006-03-08  Wim Taymans  <wim@fluendo.com>
1260
1261         * docs/design/part-element-transform.txt:
1262         Added some docs about the design of tranform elements.
1263
1264         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1265         (gst_base_src_loop), (gst_base_src_change_state):
1266         Mark buffers with the DISCONT flag.
1267
1268 2006-03-08  Michael Smith  <msmith@fluendo.com>
1269
1270         * gst/gstregistry.h:
1271         * gst/gstregistryxml.c: (gst_registry_save),
1272         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
1273         (gst_registry_xml_save_pad_template),
1274         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
1275         (gst_registry_xml_write_cache):
1276           Rewrite registry-saving to avoid race conditions and check for
1277           failed writes.
1278
1279 2006-03-08  Wim Taymans  <wim@fluendo.com>
1280
1281         * libs/gst/base/gstbasetransform.c:
1282         (gst_base_transform_transform_caps),
1283         (gst_base_transform_transform_size),
1284         (gst_base_transform_prepare_output_buffer),
1285         (gst_base_transform_get_unit_size),
1286         (gst_base_transform_buffer_alloc),
1287         (gst_base_transform_handle_buffer),
1288         (gst_base_transform_change_state):
1289         Cleanups, separate normal flow from errors, add sensible
1290         DEBUG lines.
1291         Don't try to renegotiate when allocating an output buffer.
1292         Also copy DISCONT buffer flag when copying a buffer.
1293         Reset the transform after we finish streaming, not during.
1294
1295 2006-03-08  Wim Taymans  <wim@fluendo.com>
1296
1297         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1298         Use last buffer timestamp in qos message.
1299
1300 2006-03-07  Wim Taymans  <wim@fluendo.com>
1301
1302         Patch by: Christophe Fergeau
1303
1304         * docs/pwg/advanced-tagging.xml:
1305         * docs/pwg/building-pads.xml:
1306           fixes #333416
1307
1308 2006-03-07  Wim Taymans  <wim@fluendo.com>
1309
1310         * docs/libs/gstreamer-libs-sections.txt:
1311         Added basesink new methods.
1312
1313         * gst/gstevent.c:
1314         * gst/gstevent.h:
1315         Docs updates. Flesh out the QoS docs.
1316
1317         * libs/gst/base/gstadapter.c:
1318         Small doc clarification about ownership and flushing.
1319
1320         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1321         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1322         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1323         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1324         * libs/gst/base/gstbasesink.h:
1325         API additions: 
1326         Added new methods to allow subclass to control max-lateness 
1327         and sync.
1328         Generate very basic QoS events based on last sync observation.
1329         Updated docs, fix typo, added some QoS blurb.
1330
1331         * libs/gst/base/gstbasesrc.c:
1332         Remove obsolete _get_state() calls from docs.
1333
1334 2006-03-07  Wim Taymans  <wim@fluendo.com>
1335
1336         * docs/libs/gstreamer-libs-sections.txt:
1337         * libs/gst/base/gstbasetransform.h:
1338         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1339         Fix docs for GstBaseSrc.
1340
1341 2006-03-07  Wim Taymans  <wim@fluendo.com>
1342
1343         * docs/gst/gstreamer-sections.txt:
1344         * gst/gstbuffer.h:
1345         * gst/gstvalue.c:
1346         * libs/gst/base/gstbasetransform.h:
1347         Small documentation fixes.
1348
1349 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1350
1351         * gst/gstvalue.c:
1352           Document thread-unsafety of gst_value_register_foo_func()
1353           when used at the same time as gst_value_foo() (#322628).
1354
1355 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1356
1357         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1358         (gst_push_src_check_get_range):
1359           Push sources don't support pull mode by default.
1360
1361 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1362
1363         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1364         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1365         (gst_base_src_default_check_get_range):
1366         * libs/gst/base/gstbasesrc.h:
1367           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1368           provide default implementation, and rename
1369           gst_base_src_check_get_range() to
1370           gst_base_src_pad_check_get_range() for clarity.
1371
1372 2006-03-06  Wim Taymans  <wim@fluendo.com>
1373
1374         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1375         Make property overridable.
1376
1377 2006-03-06  Wim Taymans  <wim@fluendo.com>
1378
1379         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1380         (gst_base_sink_init), (gst_base_sink_set_property),
1381         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1382         * libs/gst/base/gstbasesink.h:
1383         API addition: Make max-lateness a property.
1384
1385 2006-03-06  Wim Taymans  <wim@fluendo.com>
1386
1387         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1388         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1389         Don't ever draw a frame that is >10ms late.
1390
1391 2006-03-06  Michael Smith  <msmith@fluendo.com>
1392
1393         * gst/gstmessage.c: (_gst_message_copy):
1394           When copying a message, set the parent_refcount of the enclosed
1395           structure to point at the copy, not the original message.
1396
1397 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1398
1399         Patch by: Christophe Fergeau
1400
1401         * gst/gstutils.h:
1402           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1403           usable in c++ code (#333417)
1404
1405 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1406
1407         * gst/gstclock.h:
1408           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1409
1410 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1411
1412         * libs/gst/base/gstbasetransform.c:
1413         (gst_base_transform_transform_caps):
1414           Make sure caps are writable before passing them to
1415           gst_caps_append().
1416
1417 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1418
1419         * gst/gsterror.h:
1420           Fix some minor docs errors.
1421
1422 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1423
1424           Patch by: Ross Burton <ross at burtonini dot com>
1425
1426         * gst/gsterror.c: (_gst_resource_errors_init):
1427         * gst/gsterror.h:
1428           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1429
1430 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1431
1432         * gst/gst.c:
1433         Add a check and output a g_warning when GStreamer is built
1434         against GLib 2.6 but running against 2.8 or higher, and vice 
1435         versa. (Closes: #323542)
1436
1437 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1438
1439         * gst/parse/parse.l:
1440           Commit patch for parse_launch syntax from #331255. Removes 
1441           support for quoted strings and mimetypes when writing filtered 
1442           caps. See the bug report for more details - I'm pretty sure this
1443           obscure feature is not in use by _anyone_ anywhere.
1444
1445           With this simple change, the size of the gstreamer.so here 
1446           drops from 2193KB to 1565KB.
1447
1448 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450         * plugins/elements/gsttypefindelement.h:
1451         * plugins/elements/gsttypefindelement.c:
1452         (gst_type_find_element_src_event), (start_typefinding),
1453         (stop_typefinding), (gst_type_find_element_handle_event),
1454         (gst_type_find_element_chain),
1455         (gst_type_find_element_chain_do_typefinding):
1456           Use gst_type_find_helper_for_buffer() for chain-based
1457           typefinding.
1458
1459 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * plugins/elements/gsttypefindelement.c:
1462         (gst_type_find_element_class_init),
1463         (gst_type_find_element_set_property),
1464         (gst_type_find_element_get_property):
1465           Deprecate "maximum" property (not only was it only taken into
1466           account for typefinding in push-mode anyway, it also was never
1467           actually possible to set it in the first place because the
1468           property was registered with the numeric property ID for the
1469           "minimum" property). Register "maximum" property correctly,
1470           for the sake of future copy'n'pasters. Remove some cruft
1471           from property get/set functions.
1472
1473 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1474
1475         * plugins/elements/gsttypefindelement.c:
1476         (gst_type_find_element_activate):
1477           Use gst_type_find_helper_get_range() here, so we
1478           can honour the "minimum" property and also emit
1479           the signal with the correct probability of the found caps.
1480
1481 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1482
1483         * docs/libs/gstreamer-libs-sections.txt:
1484         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1485         (helper_find_suggest), (gst_type_find_helper_get_range),
1486         (gst_type_find_helper):
1487         * libs/gst/base/gsttypefindhelper.h:
1488           New API: gst_type_find_helper_get_range() (#333042).
1489
1490 2006-03-02  Michael Smith  <msmith@fluendo.com>
1491
1492         * gst/gstregistryxml.c: (load_feature):
1493           Asserting on a failure to read part of the registry is Not Cool.
1494           Just log a warning and return NULL (which is already handled)
1495
1496 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1497
1498         * win32/common/libgstbase.def:
1499           added export of gst_type_find_helper_for_buffer
1500         * win32/common/libgstbase.def:
1501           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1502           gst_ghost_pad_get_target
1503
1504 2006-02-28  Wim Taymans  <wim@fluendo.com>
1505
1506         * docs/design/draft-klass.txt:
1507         We use Filter now.
1508         Added Connector to mark elements that are only used to
1509         allow pipeline connections.
1510         Moved Debug to extra feature since most of them are 
1511         functionally something else.
1512
1513 2006-02-28  Wim Taymans  <wim@fluendo.com>
1514
1515         * docs/design/draft-klass.txt:
1516         Some updates and clarifications.
1517
1518 2006-02-28  Wim Taymans  <wim@fluendo.com>
1519
1520         * docs/design/draft-klass.txt:
1521         Proposal for klass field values.
1522
1523         * docs/design/part-streams.txt:
1524         Start of a doc describing stream anatomy.
1525
1526 2006-02-28  Wim Taymans  <wim@fluendo.com>
1527
1528         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1529         Help the compiler a bit with type registration.
1530         Use existing forward cod path instead of duplicating it when 
1531         handling a message.
1532         
1533         * gst/gstbus.c: (gst_bus_get_type):
1534         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1535         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1536         * gst/gstclock.c: (gst_clock_get_type):
1537         * gst/gstelement.c: (gst_element_get_type),
1538         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1539         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1540         * gst/gstminiobject.c: (gst_mini_object_get_type):
1541         * gst/gstpad.c: (gst_pad_get_type):
1542         * gst/gstsegment.c: (gst_segment_get_type):
1543         * gst/gststructure.c: (gst_structure_get_type):
1544         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1545         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1546         * gst/gstvalue.c:
1547         Help compiler with type registration.
1548
1549         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1550         Small doc update.
1551
1552 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * plugins/elements/gsttypefindelement.c:
1555         (gst_type_find_element_handle_event):
1556           When we get an EOS event and have not found a type yet
1557           (most likely because we had not yet accumulated
1558           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1559           type given the data we have so far. Fixes typefinding
1560           for very short streams again, most notably quicktime
1561           redirections as used on Apple's trailer site (#331701).
1562
1563 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1564
1565         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1566         (gst_type_find_helper):
1567           Try typefinding factories with the highest rank first.
1568
1569 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1570
1571         * docs/libs/gstreamer-libs-docs.sgml:
1572         * docs/libs/gstreamer-libs-sections.txt:
1573         * libs/gst/base/gsttypefindhelper.c:
1574           Add section for typefind helper and add documentation
1575           for the old and the new function.
1576
1577 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1578
1579         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1580         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1581         (gst_type_find_helper_for_buffer):
1582         * libs/gst/base/gsttypefindhelper.h:
1583           New API: gst_type_find_helper_for_buffer() (#332723).
1584           
1585 2006-02-27  Michael Smith  <msmith@fluendo.com>
1586
1587         Patch by: Loïc Minier
1588
1589         * configure.ac:
1590         * docs/Makefile.am:
1591         * docs/slides/Makefile.am:
1592           prevent CVS directories getting disted.
1593
1594 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1597           Use the REFCOUNTING category for caps refcounting.
1598           
1599 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1600
1601         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1602           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1603
1604 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1605
1606         * plugins/elements/gsttypefindelement.c:
1607         (gst_type_find_element_activate):
1608           Use gst_pad_check_pull_range() before _activate_pull()
1609           to avoid unnecessary open/close (see #331690).
1610
1611 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1612
1613         * gst/gstutils.c:
1614           Docs enhancement: make it crystal clear what the
1615           gst_pad_add_*_probe() callbacks should look like.
1616
1617 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1618
1619         * libs/gst/base/gstbasesrc.c:
1620           Document how applications can stop recording from
1621           live sources (see #330996).
1622
1623 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1624
1625         * tests/check/Makefile.am:
1626         * tests/check/libs/basesrc.c: (eos_event_counter),
1627         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1628         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1629         (gst_basesrc_suite), (main):
1630           ... and add some tests for the base source EOS stuff.
1631
1632 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1633
1634         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1635           Test case originally showed the problem fixed below,
1636           but was then amended. Add checks back at the place
1637           where they used to be.
1638
1639 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1640
1641         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1642         (gst_base_src_init), (gst_base_src_loop),
1643         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1644         (gst_base_src_change_state):
1645         * libs/gst/base/gstbasesrc.h:
1646           Don't unconditionally send EOS when going from PAUSED to
1647           READY state, esp. make sure we don't send two EOS events
1648           in some cases (e.g. one when reaching EOS and one when
1649           going from PAUSED to READY). Also, we don't want to send
1650           EOS events when operating in pull mode. However, we do
1651           want to send an EOS event when shutting down a live
1652           source explicitly, for example (fixes #330996).
1653           
1654 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1655
1656         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1657           Update src->read_position after a seek when not using mmap.
1658           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1659
1660 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1661
1662         * gst/Makefile.am:
1663         * gst/gstparse.h:
1664         * gst/gstutils.c:
1665         * gst/gstutils.h:
1666         Make things work with --disable-parse as they do with 
1667         --disable-load-save - the symbols involved disappear, but the
1668         header is still installed and GST_DISABLE_PARSE is included via
1669         gstconfig.h
1670
1671 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1672
1673         * libs/gst/base/gstbasetransform.c:
1674         (gst_base_transform_change_state): Fix a stupid bug. I was 
1675         sure I compiled that.
1676
1677 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1678
1679         * gst/gstpad.c: (gst_pad_set_blocked_async):
1680         * gst/gstutils.c: (gst_pad_add_data_probe),
1681         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1682         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1683         (gst_pad_remove_buffer_probe): Make those function act on the
1684         ghostpad target when it's a ghostpad. (Closes #331727)
1685
1686 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1687
1688         * libs/gst/base/gstbasetransform.c:
1689         (gst_base_transform_change_state): Make basetransform reusable.
1690         (Closes #331898)
1691
1692 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1693
1694         * docs/random/release:
1695         Move the current documentation of how to do a release to the top
1696         of the file.
1697
1698         * gst/gstbin.c: (gst_bin_class_init),
1699         (gst_bin_handle_message_func):
1700         Allow multiple state-recalculation threads. (Closes #328873)
1701
1702 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1703
1704         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1705         * gst/gstpad.c: (gst_pad_set_event_function),
1706         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1707         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1708         2 strings. You can't use the STR_NULL macro on that.
1709
1710 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1711
1712         * gst/gstpad.c: (gst_pad_set_event_function),
1713         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1714         (gst_pad_set_getcaps_function)
1715         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1716           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1717           So now, we can use --gst-debug-level=5 on Windows
1718         * win32/common/libgstcontroller.def:
1719           Added export of gst_controller_init
1720         * win32/vs6/libgstcontroller.dsp:
1721           Fixed Release post build configuration
1722
1723 2006-02-17  Wim Taymans  <wim@fluendo.com>
1724
1725         * tests/check/gst/gstquery.c: (GST_START_TEST):
1726         Added another check.
1727
1728 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1729
1730         * plugins/elements/gsttypefindelement.c: (find_peek):
1731           We can do peeks at non-zero offsets, as long as they
1732           fall within the buffer we have.
1733
1734 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1735
1736         * tests/check/Makefile.am:
1737         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1738         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1739         (parse_suite), (main):
1740           Add testsuite for parse launch syntax
1741
1742 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1743
1744         * plugins/elements/gsttypefindelement.c:
1745         (gst_type_find_element_chain):
1746           When typefinding is unsuccessful in the chain function, don't
1747           error out immediately. Only error out with NO_CAPS_FOUND if
1748           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1749           otherwise simply wait for more data so we can try typefinding
1750           again with more data later. Also, don't attempt to typefind
1751           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1752           this should improve typefinding from network sources where the
1753           size of the first buffer can be somewhat random.
1754
1755 2006-02-14  Wim Taymans  <wim@fluendo.com>
1756
1757         * docs/gst/gstreamer-sections.txt:
1758         * gst/gstpadtemplate.c:
1759         * gst/gstpadtemplate.h:
1760         Fix padtemplate docs, fixes #328805.
1761
1762 2006-02-14  Wim Taymans  <wim@fluendo.com>
1763
1764         * tools/gst-launch.c: (main):
1765         NO_PREROLL is not an ERROR so don't send confusing messages
1766         to the user.
1767
1768 2006-02-14  Wim Taymans  <wim@fluendo.com>
1769
1770         Patch by: Torsten Schoenfeld
1771
1772         * gst/gstregistry.c: (gst_registry_get_default),
1773         (_gst_registry_cleanup):
1774         Protect default registry with lock and ref/sink it.
1775         Fixes #324818
1776
1777 2006-02-14  Wim Taymans  <wim@fluendo.com>
1778
1779         * gst/gstbuffer.c:
1780         * gst/gstquery.c: (gst_query_list_add_format),
1781         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1782         (gst_query_parse_formats_nth):
1783         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1784         Docs fixes.
1785
1786 2006-02-14  Wim Taymans  <wim@fluendo.com>
1787
1788         * docs/gst/gstreamer-sections.txt:
1789         Reworked query docs.
1790
1791         * gst/gstquery.c: (gst_query_new_formats),
1792         (gst_query_list_add_format), (gst_query_set_formats),
1793         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1794         (gst_query_parse_formats_nth):
1795         * gst/gstquery.h:
1796         Flesh out formats query, added some new methods.
1797         Fix part of #324398.
1798
1799         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1800         Added query creation tests.
1801
1802 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1803
1804         * gst/gstpad.c: (fixate_value):
1805         Add a default fixation for fraction lists.
1806
1807 2006-02-13  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1810         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1811         (gst_task_join):
1812         * gst/gsttask.h:
1813         Detect and warn for obvious deadlocks. fixes #320340
1814         Fix error case where lock was not released.
1815
1816         * tests/check/Makefile.am:
1817         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1818         (task_func), (gst_element_suite), (main):
1819         Add task check.
1820
1821 2006-02-13  Wim Taymans  <wim@fluendo.com>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824         * gst/gstbus.c:
1825         Add new functions to docs.
1826
1827 2006-02-13  Wim Taymans  <wim@fluendo.com>
1828
1829         * docs/design/part-TODO.txt:
1830         Updated TODO list, basesrc supports seeking to non-bytes
1831         formats.
1832
1833         * docs/design/part-element-sink.txt:
1834         Update docs.
1835
1836         * gst/gstbin.c: (bin_replace_message),
1837         (gst_bin_handle_message_func):
1838         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1839         * gst/gstevent.c: (gst_event_finalize):
1840         * gst/gstpad.c: (gst_pad_event_default_dispatch),
1841         (gst_pad_send_event):
1842         Use shiny new _TYPE_NAME macros.
1843
1844         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1845         Move debug statement up.
1846
1847         * gst/gstelement.c: (gst_element_set_locked_state):
1848         Add some debugging.
1849
1850 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
1851
1852         * docs/gst/gstreamer-sections.txt:
1853         * gst/gstmessage.h:
1854         * gst/gstquery.h:
1855           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1856           macros (#330906). Also, document the already existing
1857           GST_QUERY_TYPE macro.
1858
1859 2006-02-13  Wim Taymans  <wim@fluendo.com>
1860
1861         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1862         (event_probe), (GST_START_TEST):
1863         Only events up to the pipeline EOS are counted, there are
1864         some more when going to NULL currently which we don't care
1865         about for now.
1866
1867 2006-02-13  Wim Taymans  <wim@fluendo.com>
1868
1869         * gst/gstpad.c: (gst_pad_send_event):
1870         Correctly check flushing and emit probes. fixes #330125
1871
1872 2006-02-10  Andy Wingo  <wingo@pobox.com>
1873
1874         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1875         structure.
1876         (gst_bus_init): Cache the location of the private data in the
1877         instance structure.
1878         (gst_bus_enable_sync_message_emission) 
1879         (gst_bus_disable_sync_message_emission): Implement new public
1880         functions.
1881         (gst_bus_post): Emit the sync-message signal if the user asked for
1882         it. Fixes #330684.
1883
1884         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1885         location of the bus-private structure.
1886         (gst_bus_enable_sync_message_emission)
1887         (gst_bus_disable_sync_message_emission): API addition
1888
1889 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1890
1891         Patch by: Vincent Torri
1892
1893         * docs/pwg/building-boiler.xml:
1894         PWG patch from #326800
1895
1896 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * configure.ac:
1899         * docs/Makefile.am:
1900         * docs/design/Makefile.am:
1901           Dist design docs.
1902
1903 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1904
1905         * configure.ac:
1906           back to CVS
1907
1908 === release 0.10.3 ===
1909
1910 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1911
1912         * configure.ac:
1913           releasing 0.10.3, "Like a virgin"
1914
1915 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1916
1917         * configure.ac:
1918           2nd prerelease of 0.10.3
1919           Bump libtool versioning.
1920
1921 2006-02-07  Andy Wingo  <wingo@pobox.com>
1922
1923         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1924         update last_stop if we're in TIME format and the timestamp is
1925         valid.
1926
1927         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1928         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1929         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1930         If we get a new newsegment with a different format, adapt
1931         accordingly.
1932
1933         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1934         of 0. Not a problem, really.
1935
1936         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1937         warn if sync=true.
1938
1939 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1940
1941         * configure.ac:
1942           Prelease of 0.10.3
1943
1944 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1945
1946         * win32/vs7:
1947           project files updated to the default vs7 configuration
1948         * win32/common/libgstbase.def:
1949         * win32/common/libgstreamer.def:
1950           added new symbols,
1951           removed empty lines,
1952           sorted all exported symbols alphabetically
1953         * win32/common/dirent.c:
1954         * win32/common/dirent.h:
1955         * win32/common/gchar.h:
1956           use windows line end.
1957           
1958 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1959
1960         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1961           Send EOS event when stopping.
1962
1963 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1964
1965         * docs/README:
1966           Tell folks what to do if the plugin-foobar.xml file
1967           hasn't been generated for a newly-added plugin.
1968
1969 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1970
1971         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1972         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1973         (gst_collect_pads_start), (gst_collect_pads_stop),
1974         (gst_collect_pads_event): Collectpads now holds a reference
1975         to the GstPad that was added. Indeed we don't want to look
1976         at pads that might just go away with no warning...
1977
1978 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1979
1980         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1981         (gst_collect_pads_start), (gst_collect_pads_stop),
1982         (gst_collect_pads_event), (gst_collect_pads_chain):
1983         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1984         Mark Nauwelaerts's patch on bug #328491.
1985
1986 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1987
1988         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1989         (gst_utils_suite):
1990           Add some simple tests for gst_parse_bin_from_description() and
1991           gst_bin_find_unconnected_pad() (#329069).
1992
1993 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1994
1995         * tools/gst-launch.c: (event_loop), (main):
1996           Catch errors during preroll (#320084).
1997
1998 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1999
2000         * plugins/elements/gsttypefindelement.c:
2001         (gst_type_find_element_activate):
2002           Post TYPE_NOT_FOUND error message when typefinding
2003           is unsuccessful in the activate function as well.
2004
2005 2006-02-02  Wim Taymans  <wim@fluendo.com>
2006
2007         * docs/design/part-element-sink.txt:
2008         Updated doc.
2009
2010 2006-02-02  Wim Taymans  <wim@fluendo.com>
2011
2012         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2013         (gst_base_sink_render_object),
2014         (gst_base_sink_queue_object_unlocked):
2015         Only keep track of prerollable items when we are 
2016         prerolling.
2017         Before rendering after preroll, always check if we
2018         have queued items.
2019         Added some more debugging.
2020
2021 2006-02-02  Wim Taymans  <wim@fluendo.com>
2022
2023         * gst/gstelement.c: (gst_element_continue_state),
2024         (gst_element_set_state_func), (gst_element_change_state):
2025         Fixed #326576, been running this for quite some time with
2026         no regressions at all.
2027
2028 2006-02-02  Wim Taymans  <wim@fluendo.com>
2029
2030         * common/gst.supp:
2031         Added more suppressions
2032
2033 2006-02-02  Wim Taymans  <wim@fluendo.com>
2034
2035         * docs/design/part-element-sink.txt:
2036         Updated document.
2037
2038         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2039         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2040         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2041         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2042         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2043         (gst_base_sink_preroll_object),
2044         (gst_base_sink_queue_object_unlocked),
2045         (gst_base_sink_queue_object), (gst_base_sink_event),
2046         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2047         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2048         (gst_base_sink_get_position), (gst_base_sink_change_state):
2049         * libs/gst/base/gstbasesink.h:
2050         Totally refactored matching the design doc.
2051         Use two segments, one to clip incomming buffers and another to
2052         perform sync.
2053         Handle queueing correctly, bypass the queue when playing.
2054         Make EOS cancelable.
2055         Handle errors correctly when operating in pull based mode.
2056
2057         * tests/check/elements/fakesink.c: (GST_START_TEST),
2058         (fakesink_suite):
2059         Added new check for sinks.
2060
2061 2006-02-02  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstsegment.c: (gst_segment_clip):
2064         No reason to refuse to clip when start == -1
2065
2066 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2067
2068         * docs/README:
2069         * docs/manual/intro-basics.xml:
2070         * docs/manual/intro-preface.xml:
2071         * docs/manual/manual.xml:
2072         * docs/pwg/advanced-dparams.xml:
2073         * docs/pwg/intro-basics.xml:
2074         * docs/pwg/intro-preface.xml:
2075         * docs/pwg/pwg.xml:
2076           describe dparams (controller) for plugins
2077           unify docs a little more
2078
2079 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2080
2081         * docs/gst/gstreamer-sections.txt:
2082         * gst/gstutils.c: (element_find_unconnected_pad),
2083         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2084         * gst/gstutils.h:
2085           Add new API: gst_parse_bin_from_description() and
2086           gst_bin_find_unconnected_pad() (#329069).
2087
2088 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2089
2090         * docs/manual/README:
2091           uncover a nasty detail of the docs build
2092
2093 2006-01-31  Wim Taymans  <wim@fluendo.com>
2094
2095         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2096         Don't cache duration messages if we're not going to use or
2097         free them.
2098
2099 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2100
2101         * docs/manual/advanced-dparams.xml:
2102         * docs/pwg/advanced-dparams.xml:
2103           more dparam docs
2104         * gst/gstindex.c:
2105           fix docs
2106         * libs/gst/controller/lib.c: (gst_controller_init):
2107           init just once
2108
2109 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2110
2111         * gst/gstelement.c: (gst_element_message_full):
2112           also show file/line/func if no additional debug was given
2113
2114 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2115         
2116         * win32/vs7/grammar.vcproj:
2117           activate copy of autogenerated files for Release mode
2118
2119 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2120         
2121         * win32/common/libgstreamer.def:
2122           export gst_value_compare
2123
2124 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2125
2126         * plugins/elements/Makefile.am:
2127         * plugins/elements/gstelements.c:
2128         * plugins/elements/gstfdsink.c: (_do_init),
2129         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2130         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2131         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2132         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2133         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2134         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2135         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2136         * plugins/elements/gstfdsink.h:
2137         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2138
2139 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2140
2141         * docs/manual/advanced-dparams.xml:
2142           describe controller
2143         * docs/manual/advanced-position.xml:
2144         * docs/manual/basics-init.xml:
2145         * docs/manual/manual.xml:
2146         * docs/manual/titlepage.xml:
2147         * docs/pwg/pwg.xml:
2148         * docs/pwg/titlepage.xml:
2149           cleanup xml (more to come)
2150         * libs/gst/controller/gstcontroller.c:
2151           fix typo
2152
2153 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2154         
2155         * win32/vs6/grammar.dsp:
2156           add autogen of gstmarshal.c,h for Release mode
2157                 
2158 2006-01-30  Wim Taymans  <wim@fluendo.com>
2159
2160         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2161         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2162         (gst_base_sink_handle_object), (gst_base_sink_event),
2163         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2164         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2165         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2166         (gst_base_sink_deactivate), (gst_base_sink_activate),
2167         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2168         (gst_base_sink_query), (gst_base_sink_change_state):
2169         Basesink cleanups, remove some old code.
2170         Handle the case where a subclass can preroll in the render
2171         method (mostly audiosinks).
2172         Handle more events.
2173         Remove some locks around variables that are now protected
2174         with the PREROLL_LOCK (clock_id, flushing, ..).
2175         Optimize position query some more, do correct locking.
2176         Remove old code to push queue in state change, this is not
2177         needed anymore since preroll blocks on all prerollable items 
2178         now.
2179         Almost implemented as described in design doc.
2180
2181 2006-01-30  Wim Taymans  <wim@fluendo.com>
2182
2183         * tests/check/gst/gstbin.c: (GST_START_TEST):
2184         Wait for refcount to settle down before checking.
2185
2186 2006-01-30  Wim Taymans  <wim@fluendo.com>
2187
2188         * docs/design/part-element-sink.txt:
2189         Pseudo code overview of desired sink behaviour regarding
2190         preroll.
2191
2192 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2193         * win32/vs6/grammar.dsp:
2194           fix some bugs in Release mode for autogenerated files
2195                 
2196 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2197         * win32/common/libgstbase.def:
2198         * win32/common/libgstreamer.def:
2199           export some new symbols: gst_base_src_set_format,
2200           gst_iterator_next, gst_structure_set_valist
2201
2202 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2203
2204         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2205         Set pad functions unconditionally. Fixes #329105.
2206
2207 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
2208         * win32/vs8:
2209           add vs8 project files created by Sergey Scobich
2210
2211 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
2212
2213         * gst/gstutils.c: (gst_element_unlink_pads):
2214         Don't leak pad references.
2215
2216         * tests/check/elements/fakesink.c: (GST_START_TEST):
2217         * tests/check/generic/sinks.c: (GST_START_TEST):
2218         * tests/check/generic/states.c: (GST_START_TEST):
2219         * tests/check/gst/gstbin.c: (GST_START_TEST):
2220         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2221         * tests/check/gst/gstelement.c: (GST_START_TEST):
2222         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2223         * tests/check/gst/gstiterator.c: (GST_START_TEST):
2224         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2225         Fix a bunch of leaks. Make generic/sinks.c
2226         use a bit less cpu by slowing the buffer rate
2227         between fakesrc and fakesink.
2228         
2229 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
2230         * gst/gstcaps.c:
2231         * gst/gstelement.c: (gst_element_send_event):
2232         * gst/gstevent.c:
2233         * gst/gstinfo.c:
2234         * gst/gstiterator.c:
2235         * gst/gstiterator.h:
2236         * gst/gstpad.c: (gst_pad_send_event):
2237         * gst/gststructure.c:
2238         * gst/gsturi.c:
2239         * gst/gstutils.c:
2240         * gst/gstvalue.c:
2241         * libs/gst/base/gstadapter.c:
2242           doc fixes, to link to function, just write gst_cool_function(), don't
2243           prefix with '#'
2244
2245 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2246
2247         * plugins/elements/gsttee.c: (gst_tee_do_push),
2248         (gst_tee_handle_buffer):
2249         Always prefer an actual return value from a src
2250         pad in place of NOT_LINKED. This means we return
2251         WRONG_STATE when all src pads are WRONG_STATE
2252         instead of NOT_LINKED.
2253
2254         Lock when replacing the last message to prevent
2255         racing with the get_property method.
2256
2257         Add debug output
2258
2259 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2260
2261         * tests/check/Makefile.am:
2262         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
2263         (main):
2264         Add a very simple check that should have caught the memleak I fixed
2265         last night (if not for the slice allocator hiding it)
2266
2267 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2268
2269         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2270         (gst_bin_remove_func), (gst_bin_handle_message_func),
2271         (bin_query_duration_fold), (bin_query_generic_fold):
2272         Clean up references to the clock provider when disposed or when
2273         handling a clock-lost message from it.
2274
2275         Unref sinks when performing a query via gst_iterator_fold, as the
2276         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
2277
2278         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
2279         (gst_clock_set_master):
2280         Drop our reference to the master clock, if any, when we are disposed.
2281
2282         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
2283         Chain up in dispose. 
2284
2285 2006-01-26  Wim Taymans  <wim@fluendo.com>
2286
2287         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2288         Add some debugging.
2289
2290 2006-01-26  Julien MOUTTE  <julien@moutte.net>
2291
2292         * plugins/elements/gsttee.c: (gst_tee_do_push),
2293         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
2294         handles pad being NOT_LINKED or in WRONG_STATE.
2295
2296 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2297
2298         * win32/MANIFEST:
2299           more updating
2300
2301 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2302
2303         * win32/MANIFEST:
2304           remove obsolete entry
2305
2306 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2307
2308         * docs/gst/gstreamer-sections.txt:
2309         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2310         (gst_bin_iterate_sources), (gst_bin_send_event):
2311         * gst/gstbin.h:
2312         * gst/gstelement.c: (gst_element_send_event):
2313         * gst/gstevent.c:
2314         * gst/gstpad.c: (gst_pad_send_event):
2315           added code for downstream events, reviewed docs in gstevent.c
2316
2317 2006-01-25  Julien MOUTTE  <julien@moutte.net>
2318
2319         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2320         We only query position using the clock in the playing state.
2321         Query peer in the other cases.
2322         * win32/common/config.h: Updates.
2323
2324 2006-01-24  Wim Taymans  <wim@fluendo.com>
2325
2326         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2327         A clock entry that is scheduled for the exact time of the
2328         clock is still in time.
2329
2330         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2331         (gst_base_sink_do_sync):
2332         Add some more debug info.
2333
2334 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2335
2336         * win32/vs7:
2337           Add new vs7 project files and solution.
2338
2339 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2340
2341         * win32/vs7:
2342           all files removed as they were out-dated.
2343
2344 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2345
2346         * docs/random/release:
2347           update notes
2348         * gst/gstbin.c: (gst_bin_init):
2349         * gst/gstbus.c: (gst_bus_new):
2350         * gst/gstbus.h:
2351         * gst/gstpipeline.c: (gst_pipeline_init):
2352           use gst_bus_new(), improve logging, fix docs
2353         * win32/common/config.h:
2354           update for cvs build
2355
2356 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2357
2358         * autogen.sh:
2359           up required version of automake to 1.7
2360
2361 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2362
2363         * win32/common/libgstreamer.def:
2364           export gst_buffer_is_metadata_writable
2365
2366 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2367
2368         * docs/gst/gstreamer-sections.txt:
2369         * gst/gstevent.h:
2370           Add gst_event_replace() (#327001)
2371
2372 2006-01-20  Wim Taymans  <wim@fluendo.com>
2373
2374         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2375         Make it actually compile too..
2376
2377 2006-01-20  Wim Taymans  <wim@fluendo.com>
2378
2379         * gst/gstcaps.c:
2380         Clarify behaviour of _is_equal() when passing NULL parameters.
2381
2382         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2383         (gst_pad_set_caps):
2384         Cleanups. Don't unref NULL caps.
2385         When setting the same caps, protect caps of the pad with
2386         proper lock.
2387         Use full functionality of _is_equal() when comparing caps.
2388
2389 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2390
2391         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2392         Don't loop infinitely if there are no buffers to present. Partially
2393         fixes #327197, but collectpads is just broken for reusing elements
2394         to do multiple encodes atm.
2395
2396 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2397
2398         * tools/gst-inspect.c: (print_element_features):
2399         * tools/gst-xmlinspect.c: (main):
2400         URL_HANDLER is not a plugin feature we can search for in
2401         the registry.
2402
2403 2006-01-19  Edward Hervey  <edward@fluendo.com>
2404
2405         * gst/gstelement.c: (gst_element_pads_activate): 
2406         When activating, do src pads first, then sink pads.
2407         When de-activating, do sink pads first, then src pads.
2408
2409 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2410
2411         * docs/gst/gstreamer-sections.txt:
2412         Add gst_index_add_associationv to the docs
2413
2414 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2415
2416         * gst/gstevent.c:
2417           Fix docs typo
2418
2419         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2420         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2421           Do some refactoring. Doesn't actually change functionality,
2422           but makes landing the DRAIN event easier later.
2423
2424 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2425
2426         * docs/pwg/advanced-scheduling.xml:
2427           Update from 0.9.x to 0.10 API and make example a bit
2428           clearer.
2429
2430 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2431
2432         * docs/gst/gstreamer-sections.txt:
2433         Add gst_buffer_(is|make)_metadata_writable methods.
2434
2435 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2436
2437         * docs/design/part-sparsestreams.txt:
2438         Update sparse streams doc, hopefully for greater clarity
2439
2440 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2441
2442         * docs/design/part-events.txt:
2443         Remove mention of FILLER events.
2444         Add DRAIN event.
2445
2446         * docs/design/part-sparsestreams.txt:
2447         Write some things about using NEWSEGMENT to keep sparse streams
2448         flowing.
2449
2450 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2451
2452         * gst/gstbin.c: (gst_bin_dispose):
2453           Guard gst_object_unref call against a NULL object (dispose
2454           can theoretically be called multiple times).
2455           
2456 2006-01-18  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstbin.c: (gst_bin_element_set_state):
2459         * gst/gstclock.c: (gst_clock_id_wait):
2460         Added some more debug info.
2461
2462         * libs/gst/base/gstadapter.c:
2463         Added more docs.
2464
2465         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2466         (gst_base_sink_do_sync), (gst_base_sink_chain):
2467         Added some comments.
2468
2469 2006-01-18  Wim Taymans  <wim@fluendo.com>
2470
2471         * tests/check/Makefile.am:
2472         * tests/check/elements/fakesink.c: (chain_async_buffer),
2473         (chain_async), (chain_async_return), (GST_START_TEST),
2474         (fakesink_suite), (main):
2475         Added fakesink test that checks prerolling and clipping
2476         behaviour.
2477
2478         * tests/check/gst/gstutils.c: (GST_START_TEST):
2479         Make check run faster so that buildbots don't timeout.
2480
2481 2006-01-18  Wim Taymans  <wim@fluendo.com>
2482
2483         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2484         (gst_base_sink_do_sync):
2485         Some cleanups.
2486         When the sink finishes blocking on the preroll buffer, it can
2487         immediatly render it instead of rendering when the next buffer
2488         arrives.
2489
2490 2006-01-18  Wim Taymans  <wim@fluendo.com>
2491
2492         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2493         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2494         (gst_base_sink_chain):
2495         Small cleanups.
2496         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2497         Don't store _last_stop if the buffer is dropped.
2498
2499 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2500
2501         * plugins/elements/gsttypefindelement.c:
2502         (gst_type_find_element_class_init):
2503           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2504           object method handler that sets the caps on the pad and we want
2505           that to happen before we emit the signal (fixes e.g. feeding a
2506           plain text file to decodebin).
2507
2508 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2509
2510         * gst/gstplugin.c: Add MPL and Proprietary as license options
2511
2512 2006-01-18  Andy Wingo  <wingo@pobox.com>
2513
2514         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2515         symbol was exported before, it appears this was just an oversight.
2516         Fixes #168703.
2517         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2518
2519         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2520         prototype to gint. OK since this prototype was not in the header.
2521
2522 2006-01-17  Andy Wingo  <wingo@pobox.com>
2523
2524         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2525         registry while we remove plugins.
2526
2527         * tools/gst-inspect.c (print_element_info): Don't unref the
2528         factory arg, that should be the responsibility of whatever code
2529         received the ref. Fixes a double-free when called from
2530         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2531         (main): Unref the factory if we have one.
2532         (print_element_list): No change -- relies on the
2533         plugin_feature_list_free to free the list of features.
2534
2535 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2536
2537         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2538         (gst_buffer_make_metadata_writable):
2539         * gst/gstbuffer.h:
2540         * libs/gst/base/gstbasetransform.c:
2541         (gst_base_transform_prepare_output_buf):
2542         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2543         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2544           Replace gst_buffer_(make|is)_metadata_writable patch now
2545           that the release is out.
2546
2547 2006-01-17  Andy Wingo  <wingo@pobox.com>
2548
2549         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2550         in the present tense without reference to versions.
2551
2552         * gst/gstregistry.c (gst_registry_add_plugin)
2553         (gst_registry_remove_plugin, gst_registry_remove_feature)
2554         (gst_registry_find_feature, gst_registry_get_feature_list)
2555         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2556         (gst_registry_lookup, gst_registry_scan_path)
2557         (_gst_registry_remove_cache_plugins)
2558         (gst_registry_get_feature_list_by_plugin): Add argument
2559         validation.
2560
2561 === release 0.10.2 ===
2562
2563 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2564
2565         * configure.ac:
2566           releasing 0.10.2, "If man is five"
2567
2568 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2569
2570         * gst/gstbuffer.c:
2571         * gst/gstbuffer.h:
2572         * libs/gst/base/gstbasetransform.c:
2573         (gst_base_transform_prepare_output_buf):
2574         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2575         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2576           Back out patch until after the release.
2577
2578 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2579
2580         * gst/gstminiobject.c:
2581           Spelling fix in docs.
2582         * ChangeLog - remove conflict indicator
2583
2584 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2585
2586         Reviewed By: Andy Wingo
2587
2588         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2589         (gst_buffer_make_metadata_writable):
2590         * gst/gstbuffer.h:
2591           Add gst_buffer_(is|make)_metadata_writable as analogues of
2592           gst_buffer_(is|make)_writable.
2593
2594         * libs/gst/base/gstbasetransform.c:
2595         (gst_base_transform_prepare_output_buf):
2596         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2597           Use name gst_buffer_(is|make)_metadata_writable functions.
2598
2599         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2600           Test gst_buffer_(is|make)_metadata_writable
2601         
2602           (Closes: #324162)
2603
2604 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2605
2606         * docs/manual/Makefile.am:
2607           don't do parallel make
2608         * configure.ac:
2609           AC_SUBST HOST_CPU
2610         * win32/common/config.h.in:
2611           add generations for HOST_CPU and GST_MAJORMINOR
2612         * win32/common/config.h:
2613           commit generated result
2614
2615 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         * docs/manual/appendix-integration.xml:
2618           Update GNOME integration section to use gst_init_get_option_group()
2619           instead of the old popt stuff (#322911). Also, GNOME applications
2620           should  now use gconf*sink and gconf*src instead of the old gconf
2621           helper lib we had.
2622
2623 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2624
2625
2626         * docs/gst/gstreamer-docs.sgml:
2627         * docs/gst/gstreamer-sections.txt:
2628         * docs/libs/gstreamer-libs-sections.txt:
2629           add new API entries to the docs
2630         * libs/gst/controller/Makefile.am:
2631         * libs/gst/controller/gstcontroller.c:
2632         * libs/gst/controller/gstcontroller.h:
2633         * libs/gst/controller/gstcontrollerprivate.h:
2634         * libs/gst/controller/gsthelper.c:
2635         * libs/gst/controller/gstinterpolation.c:
2636           move private structs to private header
2637         * po/README:
2638           gstreamer-0.7 -> gstreamer-0.10
2639         * tests/check/libs/struct_i386.h:
2640           remove private structs
2641
2642 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2643
2644         * plugins/indexers/Makefile.am:
2645           Fixes as part of #317048
2646
2647 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2648
2649         * plugins/indexers/Makefile.am:
2650           fix #316086 - compilation when mmap is missing
2651
2652 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2653
2654         * libs/gst/base/gstbasesink.c:
2655           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2656           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2657         * win32/common/config.h:
2658           added some defines GST_MAJORMINOR and HOST_CPU
2659         * win32/common/libgstbase.def:
2660         * win32/common/libgstreamer.def:
2661           added some exported functions.
2662
2663 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * libs/gst/controller/gstcontroller.c:
2666         (gst_controlled_property_set_interpolation_mode),
2667         (gst_controlled_property_new):
2668         * libs/gst/controller/gstcontroller.h:
2669         * libs/gst/controller/gstinterpolation.c:
2670         (interpolate_none_get_string_value_array):
2671           make G_TYPE_STRING controlable
2672
2673 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2674
2675         * tools/README:
2676         * tools/gst-feedback.1.in:
2677         * tools/gst-inspect.1.in:
2678         * tools/gst-launch.1.in:
2679         * tools/gst-md5sum.1.in:
2680         * tools/gst-typefind.1.in:
2681         * tools/gst-xmlinspect.1.in:
2682         * tools/gst-xmllaunch.1.in:
2683           cleanup man-pages, remove reference to gst-register, document env-vars
2684
2685 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2686
2687         * gst/gstbuffer.c: (gst_buffer_span):
2688           gst_buffer_span should copy the timestamp of the first buffer
2689           if they were both originally overlapping subbuffers of the 
2690           same parent, using the same logic as the 'slow copy' case.
2691
2692 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2693
2694         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2695           Need to awaken ALL the pads when we pop a buffer, otherwise
2696           collectpads only works when there is 2 input streams.
2697
2698 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2699
2700         * docs/random/ensonic/media-device-daemon.txt:
2701           more ideas (dbus)
2702         * gst/gstbuffer.c:
2703           fix doc example, add clarification
2704         * tools/gst-launch.1.in:
2705           add initial info about GST_PLUGIN_PATH, needs more work
2706
2707 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2708
2709         * docs/manual/basics-bins.xml:
2710         * docs/manual/basics-elements.xml:
2711         * docs/manual/intro-basics.xml:
2712           Some more minor docs additions and updates.
2713
2714 2006-01-11  Wim Taymans  <wim@fluendo.com>
2715
2716         * docs/manual/basics-bins.xml:
2717         * docs/manual/basics-elements.xml:
2718         Some small fixes as pointed out by Ser-ver on IRC.
2719
2720 2006-01-10  Edward Hervey  <edward@fluendo.com>
2721
2722         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2723         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2724         the single-segment mode.
2725
2726 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2727
2728         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2729
2730         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2731         (gst_base_src_perform_seek), (gst_base_src_send_event),
2732         (gst_base_src_set_property), (gst_base_src_get_property),
2733         (gst_base_src_loop), (gst_base_src_start),
2734         (gst_base_src_activate_push):
2735         * libs/gst/base/gstbasesrc.h:
2736           Name (private) union; makes Sun's Forte compiler happy (#324900).
2737
2738 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2739
2740         * README:
2741           gst-register is gone.
2742
2743 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2744
2745         * gst/gstvalue.c: (_gst_value_initialize):
2746           make the G_TYPE_DATE instantiation work if debug is disabled
2747
2748 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * gst/gstmessage.c: (gst_message_parse_tag),
2751         (gst_message_parse_error), (gst_message_parse_warning):
2752           Don't crash when return location for error/warning debug
2753           string is NULL; add fact that return locations can be
2754           NULL to docs where appropriate.
2755
2756 2006-01-05  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstplugin.c: (gst_plugin_load_file):
2759         Replace strdup by g_strdup.
2760
2761 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2762
2763         * docs/pwg/advanced-types.xml:
2764           fix doc borkage
2765
2766 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2767
2768         submitted by: Abel Cheung
2769
2770         * po/LINGUAS:
2771         * po/zh_TW.po:
2772           Added Chinese (traditional) translation
2773
2774 2006-01-04  Wim Taymans  <wim@fluendo.com>
2775
2776         * docs/manual/basics-pads.xml:
2777         * docs/plugins/Makefile.am:
2778         * docs/plugins/gstreamer-plugins-docs.sgml:
2779         * docs/plugins/gstreamer-plugins-sections.txt:
2780         * docs/pwg/advanced-clock.xml:
2781         * docs/pwg/advanced-scheduling.xml:
2782         * docs/pwg/advanced-types.xml:
2783         * plugins/elements/gstfdsink.c:
2784         * plugins/elements/gstfdsrc.c:
2785         * plugins/elements/gstfdsrc.h:
2786         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2787         * plugins/elements/gstidentity.h:
2788         * plugins/elements/gstqueue.h:
2789         * plugins/elements/gsttee.c:
2790         * plugins/elements/gsttee.h:
2791         * plugins/elements/gsttypefindelement.c:
2792         (gst_type_find_element_class_init):
2793         * plugins/elements/gsttypefindelement.h:
2794         Small updates to various docs.
2795         Added core plugins to docs.
2796
2797 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2798
2799         * common/gst.supp:
2800           add a suppression for liboil's uninitialized variable
2801
2802 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2803
2804         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * gst/gstutils.h:
2807           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2808           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2809           compiler switch is being used (#325429).
2810
2811 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2812
2813         * gst/gstbin.c: (gst_bin_query):
2814           Disable duration query caching in bins until it gets
2815           fixed (see #324807).
2816
2817 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2818
2819         * tools/gst-inspect.c: (print_element_properties_info):
2820           Handle properties of POINTER and BOXED type.
2821
2822 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2823
2824         * gst/gst.c: (init_post):
2825           Init tags stuff and some other things before loading
2826           any static plugins (there may be other static plugins
2827           than just the GStreamer ones, and they may want to
2828           register their own tags or formats or whatever, and
2829           preferably without segfaulting).
2830
2831         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2832           Print at least a warning in the debug logs if we drop a
2833           query just because we don't know how to adjust the value
2834           in the particular format.
2835
2836 2005-12-24  David Schleef  <ds@schleef.org>
2837
2838         * tools/gstreamer-completion:
2839           Replacement for gst-complete written in sh and sed.  Only
2840           completes names of features, but that's 90% of what I want
2841           it for.  Properties are not available in registry.xml.  (Maybe
2842           they should be...)
2843
2844 === release 0.10.1 ===
2845
2846 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
2847
2848         * configure.ac:
2849           releasing 0.10.1, "Nollaig chridheil"
2850
2851 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
2852
2853         * docs/faq/cvs.xml:
2854           Add missing quote, should be make ERROR_CFLAGS="".
2855
2856 2005-12-20  Wim Taymans  <wim@fluendo.com>
2857
2858         * docs/design/part-trickmodes.txt:
2859         More documentation on trickmodes.
2860
2861 2005-12-20  Edward Hervey  <edward@fluendo.com>
2862
2863         * gst/gstcaps.c: (gst_static_caps_get_type):
2864         * gst/gstcaps.h:
2865           API addition: GST_TYPE_STATIC_CAPS
2866         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2867         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2868         * gst/gstpadtemplate.h:
2869           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2870         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2871         bindings.
2872
2873 2005-12-18  Wim Taymans  <wim@fluendo.com>
2874
2875         * libs/gst/base/gstadapter.c:
2876         * libs/gst/base/gstadapter.h:
2877         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2878         (gst_base_sink_get_position):
2879         * libs/gst/base/gstbasesink.h:
2880         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2881         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2882         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2883         (gst_base_src_send_event), (gst_base_src_update_length),
2884         (gst_base_src_get_range), (gst_base_src_loop),
2885         (gst_base_src_start):
2886         * libs/gst/base/gstbasesrc.h:
2887         * libs/gst/base/gstbasetransform.h:
2888         * libs/gst/base/gstcollectpads.h:
2889         * libs/gst/base/gstpushsrc.c:
2890         * libs/gst/base/gstpushsrc.h:
2891         * libs/gst/dataprotocol/dataprotocol.c:
2892         * libs/gst/dataprotocol/dataprotocol.h:
2893         * libs/gst/net/gstnetclientclock.h:
2894         * libs/gst/net/gstnettimeprovider.h:
2895         Documentation updates.
2896
2897 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2898
2899         * docs/manual/basics-helloworld.xml:
2900           Remove superfluous closing bracket in helloworld example.
2901
2902 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * tools/gst-launch.1.in:
2905           Update gst-launch man page; add a section with useful
2906           environment variables. Fixes #323882.
2907
2908 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2909
2910         * gst/gst.c:
2911         * gst/gst_private.h:
2912           change some char* into char[]
2913
2914 2005-12-16  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/gstregistryxml.c: (load_feature):
2917         Cleanups.
2918         Don't use g_object_unref on GstObjects so that we avoid
2919         leaks on unsafe glibs.
2920
2921 2005-12-16  Wim Taymans  <wim@fluendo.com>
2922
2923         * gst/gstbin.c: (gst_bin_recalc_state):
2924         Small doc updates.
2925
2926 2005-12-16  Wim Taymans  <wim@fluendo.com>
2927
2928         * common/check.mak:
2929         Added make forever target for check.
2930
2931 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2932
2933         * gst/gst.c: (init_post):
2934           make the registry cache file HOST_CPU-dependent
2935
2936 2005-12-16  Andy Wingo  <wingo@pobox.com>
2937
2938         * plugins/elements/gstbufferstore.c
2939         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2940         return value.
2941
2942         * tests/check/gst/gstobject.c
2943         (test_fake_object_name_threaded_unique): Pay attention to
2944         g_list_sort return value.
2945
2946 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * tools/gst-feedback-m.m:
2949           Update for 0.9/0.10 (fixes #323870).
2950
2951 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2952
2953         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2954           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2955           
2956         * tests/check/gst/gstminiobject.c: (my_foo_init),
2957         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2958         (test_value_collection), (gst_mini_object_suite):
2959           Add test to ensure refcounts end up as expected when passing
2960           GstMiniObjects through g_object_get() and g_object_set().
2961
2962 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2963
2964         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2965         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2966         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2967         of collectpads. This version removes a lot of races without
2968         touching API/ABI. Yay !
2969
2970 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2971
2972         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2973           Don't allow activation of a srcpad in pull_range if it has no
2974           getrange function.
2975           Change some debug statements to be a little clearer
2976
2977         * plugins/elements/gsttypefindelement.c:
2978         (gst_type_find_handle_src_query):
2979           Check that we have a peer before executing queries thereupon.
2980
2981         * tests/examples/metadata/read-metadata.c: (message_loop):
2982           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2983           immediately return us any available message with 0 timeout.
2984
2985 2005-12-12  Michael Smith  <msmith@fluendo.com>
2986
2987         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2988           Don't unref factories after calling them.
2989         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2990         * plugins/elements/gsttypefindelement.c:
2991         (gst_type_find_element_chain):
2992           Free lists of factories after using them. Fixing typefinding memory
2993           leaks.
2994
2995 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2996
2997         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2998         (gst_plugin_feature_load):
2999           more meaningful debug output
3000         * configure.ac:
3001         * tests/Makefile.am:
3002         * tests/old/examples/Makefile.am:
3003           make make distcheck happy again
3004
3005 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3006
3007         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3008           Catch the special case where we are operating chain-based,
3009           but the downstream peer pad has no chain function. Emit a
3010           custom error message in this case instead of letting the
3011           core generate one implying that this is some sort of core
3012           bug. It's not, it just means that whatever got plugged
3013           into the pipeline downstream when we announced the type
3014           can only operate pull-based, while our source can only
3015           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3016           Error string has not been marked for translation yet, as
3017           it probably needs some more work first.
3018
3019         (gst_type_find_element_get_best_possibility):
3020           Add helper function to find the best of all available
3021           found possibilities that qualify given the min. threshold.
3022
3023         (gst_type_find_element_handle_event):
3024           Fix the case where we get an EOS while still in TYPEFIND
3025           mode (we want to chose the best of all possible types,
3026           not just the first type that happens to be in our unsorted
3027           list of possible types).
3028
3029         (gst_type_find_element_chain):
3030           Make sure we return GST_FLOW_ERROR when we errored out
3031           in stop_typefinding(); also, don't just find the best of
3032           all found type entries and then use the last examined
3033           type entry, but actually use the best entry.
3034
3035 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * tests/examples/typefind/typefind.c: (type_found):
3038         * tests/examples/xml/runxml.c: (xml_loaded):
3039           More gcc4 fixes and a mem leak fix.
3040
3041 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3042
3043         * tests/examples/xml/createxml.c: (object_saved):
3044           gcc 4 fixes
3045
3046 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3047
3048         * tests/Makefile.am:
3049           enable the examples even more
3050
3051 2005-12-12  Andy Wingo  <wingo@pobox.com>
3052
3053         * libs/gst/net/gstnettimeprovider.c
3054         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3055         (gst_net_time_provider_set_property)
3056         (gst_net_time_provider_get_property):
3057         API addition: Export "active" as a GObject property.
3058         (gst_net_time_provider_thread): Only respond to time queries if
3059         the time provider is active.
3060
3061         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3062         NetTimeProvider, preserving binary compat.
3063
3064 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3065
3066         * tests/examples/controller/audio-example.c: (main):
3067         * tests/examples/launch/Makefile.am:
3068           convert comments again
3069
3070 2005-12-12  Wim Taymans  <wim@fluendo.com>
3071
3072         * libs/gst/base/gstpushsrc.c:
3073         Fix typo.
3074
3075 2005-12-12  Wim Taymans  <wim@fluendo.com>
3076
3077         * docs/libs/gstreamer-libs-sections.txt:
3078         Added new symbol to docs.
3079
3080         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3081         (gst_base_src_init), (gst_base_src_set_format),
3082         (gst_base_src_default_query), (gst_base_src_query),
3083         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3084         (gst_base_src_perform_seek), (gst_base_src_send_event),
3085         (gst_base_src_default_event), (gst_base_src_event_handler),
3086         (gst_base_src_set_property), (gst_base_src_get_property),
3087         (gst_base_src_wait), (gst_base_src_do_sync),
3088         (gst_base_src_update_length), (gst_base_src_get_range),
3089         (gst_base_src_check_get_range), (gst_base_src_loop),
3090         (gst_base_src_default_negotiate), (gst_base_src_start),
3091         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3092         (gst_base_src_change_state):
3093         * libs/gst/base/gstbasesrc.h:
3094         Implement seeking to other formats than _BYTES.
3095         Implement more seeking methods correctly.
3096         Doc updates.
3097         Added query vmethod.
3098         Added do_seek vmethod to make life easier for subclasses
3099         when seeking.
3100         API addition: gst_base_src_set_format()
3101
3102 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3103
3104         * tests/examples/Makefile.am:
3105           added that too
3106
3107 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3108
3109         * configure.ac:
3110         * docs/random/ensonic/media-device-daemon.txt:
3111         * tests/examples/controller/.cvsignore:
3112         * tests/examples/controller/Makefile.am:
3113         * tests/examples/controller/audio-example.c: (main):
3114         * tests/examples/helloworld/.cvsignore:
3115         * tests/examples/helloworld/Makefile.am:
3116         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3117         * tests/examples/launch/.cvsignore:
3118         * tests/examples/launch/Makefile.am:
3119         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3120         * tests/examples/metadata/.cvsignore:
3121         * tests/examples/metadata/Makefile.am:
3122         * tests/examples/metadata/read-metadata.c: (message_loop),
3123         (make_pipeline), (print_tag), (main):
3124         * tests/examples/queue/.cvsignore:
3125         * tests/examples/queue/Makefile.am:
3126         * tests/examples/queue/queue.c: (event_loop), (main):
3127         * tests/examples/typefind/.cvsignore:
3128         * tests/examples/typefind/Makefile.am:
3129         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3130         (main):
3131         * tests/examples/xml/.cvsignore:
3132         * tests/examples/xml/Makefile.am:
3133         * tests/examples/xml/createxml.c: (object_saved), (main):
3134         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3135         * tests/old/examples/Makefile.am:
3136         * tests/old/examples/TODO:
3137         * tests/old/examples/controller/.cvsignore:
3138         * tests/old/examples/controller/Makefile.am:
3139         * tests/old/examples/controller/audio-example.c:
3140         * tests/old/examples/helloworld/.cvsignore:
3141         * tests/old/examples/helloworld/Makefile.am:
3142         * tests/old/examples/helloworld/helloworld.c:
3143         * tests/old/examples/launch/.cvsignore:
3144         * tests/old/examples/launch/Makefile.am:
3145         * tests/old/examples/launch/mp3parselaunch.c:
3146         * tests/old/examples/launch/mp3play:
3147         * tests/old/examples/manual/Makefile.am:
3148         * tests/old/examples/metadata/Makefile.am:
3149         * tests/old/examples/metadata/read-metadata.c:
3150         * tests/old/examples/queue/.cvsignore:
3151         * tests/old/examples/queue/Makefile.am:
3152         * tests/old/examples/queue/queue.c:
3153         * tests/old/examples/typefind/.cvsignore:
3154         * tests/old/examples/typefind/Makefile.am:
3155         * tests/old/examples/typefind/typefind.c:
3156         * tests/old/examples/xml/.cvsignore:
3157         * tests/old/examples/xml/Makefile.am:
3158         * tests/old/examples/xml/createxml.c:
3159         * tests/old/examples/xml/runxml.c:
3160           applied some simple fixing to some examples
3161           re-enabled the working examples
3162
3163 2005-12-12  Wim Taymans  <wim@fluendo.com>
3164
3165         * gst/gstsegment.c: (gst_segment_init),
3166         (gst_segment_set_last_stop), (gst_segment_set_seek),
3167         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3168         (gst_segment_to_running_time):
3169         Added more documentation.
3170         Make sure the last_pos value is updated properly.
3171         Make sure to_stream_time and to_running_time don't
3172         operate on wrong values.
3173
3174         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3175         Update check.
3176
3177 2005-12-12  Michael Smith  <msmith@fluendo.com>
3178
3179         * plugins/elements/gsttypefindelement.c: (free_entry),
3180         (gst_type_find_element_chain):
3181           Now that we're not leaking factories, make sure we keep references
3182           to them while we need them.
3183
3184 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3185
3186         * tests/check/gst/struct_i386.h:
3187           ifdef out the XML structs
3188
3189 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * gst/gstvalue.c: (gst_value_transform_double_fraction):
3192           floor is not needed, F is always positive; this obviates the
3193           need for adding -lm when building without libxml
3194
3195 2005-12-12  Wim Taymans  <wim@fluendo.com>
3196
3197         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3198         Take current playback rate into account when reporting
3199         the position.
3200
3201 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3202
3203         * docs/manual/mime-world.fig:
3204           Let's try this again, this time with a file that is
3205           actually in XFig format.
3206
3207 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3208
3209         * docs/manual/mime-world.fig:
3210           Add audioconvert element to diagram so that it
3211           matches the text and the code (fixes #319526).
3212
3213 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * docs/pwg/building-chainfn.xml:
3216         * docs/pwg/building-pads.xml:
3217         * docs/pwg/building-state.xml:
3218         * docs/pwg/other-source.xml:
3219           Update state change stuff for 0.10 (fixes #322969).
3220
3221 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3222
3223         * docs/manual/advanced-dataaccess.xml:
3224         * docs/manual/appendix-checklist.xml:
3225         * docs/manual/appendix-programs.xml:
3226         * docs/manual/basics-pads.xml:
3227         * docs/manual/highlevel-components.xml:
3228         * docs/manual/manual.xml:
3229           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
3230           add converters in front of pipelines; remove curly
3231           brackets for threads stuff, they no longer exist; use
3232           GST_TYPE_FRACTION for framerates; update some pieces of
3233           code to 0.10, but there's plenty more to do.
3234
3235         * docs/manual/appendix-porting.xml:
3236           Expand on asynchroneous state changes; s/0.9/0.10/;
3237           mention disappearance of gst_init_get_popt_table()
3238           (fixes #322916).
3239
3240 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3241
3242         * docs/faq/using.xml:
3243           Spider no longer exists, and neither does gst-launch-ext.
3244           Update examples to use decodebin and playbin and put
3245           converters in front of sinks (fixes #323726).
3246
3247 2005-12-09  Michael Smith  <msmith@fluendo.com>
3248
3249         * plugins/elements/gsttypefindelement.c: (find_peek),
3250         (gst_type_find_element_chain):
3251           Fix leaking element factories in typefinding.
3252           Fix problem where we forgot about a probable type on non-seekable
3253           files, and thus later mis-typefound it.
3254
3255 2005-12-09  Michael Smith  <msmith@fluendo.com>
3256
3257         * common/m4/gst-makecontext.m4:
3258         * common/m4/gst-mcsc.m4:
3259         * configure.ac:
3260         * win32/common/config.h:
3261         * win32/common/config.h.in:
3262           Remove makecontext stuff; not used in 0.10 and causes problems on
3263           HPUX according to bug #322441
3264
3265 2005-12-07  Wim Taymans  <wim@fluendo.com>
3266
3267         * tests/check/Makefile.am:
3268         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
3269         (main):
3270         * tests/check/libs/struct_i386.h:
3271         Added ABI check for libs
3272
3273 2005-12-07  Wim Taymans  <wim@fluendo.com>
3274
3275         * tests/check/Makefile.am:
3276         And add the struct_i386.h to dist.
3277
3278 2005-12-07  Wim Taymans  <wim@fluendo.com>
3279
3280         * tests/check/Makefile.am:
3281         * tests/check/gst/.cvsignore:
3282         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
3283         (main):
3284         * tests/check/gst/struct_i386.h:
3285         Added check for ABI compatibility.
3286
3287 2005-12-07  Wim Taymans  <wim@fluendo.com>
3288
3289         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3290         (gst_fake_src_get_times), (gst_fake_src_create):
3291         Fix broken sync option, fixes #323259
3292
3293 2005-12-07  Wim Taymans  <wim@fluendo.com>
3294
3295         * gst/gstbuffer.c:
3296         Small docs update.
3297
3298         * gst/gstcaps.c: (gst_caps_is_equal):
3299         Don't assert on NULL <--> X. Fixes #323260
3300
3301         * gst/gstminiobject.c: (gst_mini_object_replace):
3302         If we're doing atomic operations, we might just as well use
3303         the proper way to get an atomic pointer.
3304
3305         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3306         Clean up debugging.
3307
3308 2005-12-07  Michael Smith  <msmith@fluendo.com>
3309
3310         * gst/parse/grammar.y:
3311           Remove handling of { } for threads.
3312
3313 2005-12-06  David Schleef  <ds@schleef.org>
3314
3315         * libs/gst/base/gstbasetransform.c: speling fix.
3316
3317 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3318
3319         * docs/libs/tmpl/gstdataprotocol.sgml:
3320         * docs/random/omega/testing/gstobject.c:
3321         * gst/gst.c:
3322         * gst/gstclock.c:
3323         * gst/gstelement.c:
3324         * gst/gstelementfactory.c:
3325         * gst/gsterror.c:
3326         * gst/gstevent.c:
3327         * gst/gstghostpad.c:
3328         * gst/gstinfo.c:
3329         * gst/gstpadtemplate.c:
3330         * gst/gstregistryxml.c:
3331         * gst/gsttaglist.c:
3332         * gst/gsttagsetter.c:
3333         * gst/gsttypefind.c:
3334         * gst/gstvalue.c:
3335         * libs/gst/base/gstbasesrc.c:
3336         * libs/gst/net/gstnetclientclock.c:
3337         * libs/gst/net/gstnettimeprovider.c:
3338         * plugins/elements/gstfakesrc.c:
3339         * plugins/elements/gstfdsrc.c:
3340         * plugins/elements/gstfilesrc.c:
3341         * plugins/elements/gstidentity.c:
3342         * plugins/elements/gstqueue.c:
3343         * plugins/elements/gsttypefindelement.c:
3344         * plugins/indexers/gstfileindex.c:
3345         * plugins/indexers/gstmemindex.c:
3346         * tests/check/gst/gsttag.c:
3347         * tests/old/examples/cutter/cutter.c:
3348         * tests/old/examples/mixer/mixer.c:
3349         * tests/old/examples/xml/runxml.c: (main):
3350         * tests/old/testsuite/caps/normalisation.c:
3351         * tests/old/testsuite/debug/global.c:
3352         * tests/old/testsuite/parse/parse1.c:
3353         * tools/gst-xmlinspect.c:
3354         * win32/common/dirent.c:
3355           expand tabs
3356
3357 === release 0.10.0 ===
3358
3359 2005-12-05   <thomas (at) apestaart (dot) org>
3360
3361         * configure.ac:
3362           releasing 0.10.0, "Maroilles"
3363
3364 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3365
3366         submitted by: Funda Wang <fundawang@linux.net.cn>
3367
3368         * po/LINGUAS:
3369         * po/zh_CN.po:
3370           added Chinese (Traditional) translation
3371
3372 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * docs/gst/gstreamer-sections.txt:
3375         * docs/libs/tmpl/gstdataprotocol.sgml:
3376         * docs/random/thomasvs/TODO:
3377         * gst/gstutils.c:
3378         * gst/gstutils.h:
3379           fix docs
3380
3381 2005-12-05  Andy Wingo  <wingo@pobox.com>
3382
3383         patch by: Wim Taymans <wim@fluendo.com>
3384
3385         * libs/gst/base/gstbasetransform.c
3386         (gst_base_transform_prepare_output_buf)
3387         (gst_base_transform_buffer_alloc):
3388         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3389         alloc_buffer_and_set_caps.
3390
3391         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3392         set_caps on the source pad.
3393         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3394         alloc_buffer used to do. Fixes #322874.
3395
3396         * docs/gst/gstreamer-sections.txt: 
3397         * docs/design/part-negotiation.txt: 
3398         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3399         changes.
3400
3401 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3402
3403         patch by: Sebastien Moutte
3404
3405         * win32/MANIFEST:
3406         * win32/common/config.h.in:
3407         * win32/vs6/libgstcontroller.dsp:
3408           win32 build fixes
3409
3410 2005-12-05  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstcaps.c: (gst_caps_is_equal):
3413         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3414         (gst_fake_src_create):
3415         Back out previous code changes, leave doc updates, file bugs 
3416         instead. 
3417
3418 2005-12-05  Wim Taymans  <wim@fluendo.com>
3419
3420         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3421         (gst_fake_src_get_times), (gst_fake_src_create):
3422         * plugins/elements/gstfakesrc.h:
3423         Fix broken sync code.
3424
3425 2005-12-05  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/gstcaps.c: (gst_caps_is_equal):
3428         Comparing NULL against !NULL yields different caps, not a
3429         failure.
3430
3431 2005-12-05  Wim Taymans  <wim@fluendo.com>
3432
3433         * gst/gstpipeline.c:
3434         Fix small typo in docs.
3435
3436 2005-12-05  Andy Wingo  <wingo@pobox.com>
3437
3438         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3439
3440         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3441         registries/plugins with a MAJORMINOR one.
3442         (plugin_desc): Rename library from gstcoreleements to
3443         staticelements. Fixes #323222.
3444
3445 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3446
3447         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3448           Change debug category to 'collectpads' from 'collect_pads'
3449           (fixes #323250).
3450
3451 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3452
3453         patch by: Sebastien Moutte
3454
3455         * libs/gst/controller/gstinterpolation.c:
3456           use convert function for uint64/double
3457         * win32/vs6/libgstcontroller.dsp:
3458           link to GLib
3459
3460 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3463         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3464         * gst/gstutils.h:
3465         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3466           add tests that seem to show that the guint64/gdouble conversions
3467           are correct.
3468
3469 2005-12-02  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstregistry.c: (gst_registry_add_path):
3472         * gst/gstregistry.h:
3473         * gst/gstregistryxml.c:
3474         Fix docs again.
3475
3476 2005-12-02  Wim Taymans  <wim@fluendo.com>
3477
3478         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3479         (gst_util_uint64_scale_int):
3480         Small cleanup.
3481
3482         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3483         Add debug log line.
3484
3485         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3486         Add FIXME.
3487
3488 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3489
3490         * win32/MANIFEST:
3491         * win32/common/config.h:
3492         * win32/vs6/gstreamer.dsw:
3493         * win32/vs6/libgstcoreelements.dsp:
3494         * win32/vs6/libgstelements.dsp:
3495           renamed core elements plugin
3496
3497 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3498
3499         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3500         (get_candidates):
3501           do piece-wise major/minor comparison so 0.9 < 0.10
3502           also allow .exe extensions for tools
3503
3504 2005-12-02  Michael Smith  <msmith@fluendo.com>
3505
3506         * gst/gst.c:
3507           Escape a % to make gtkdoc happier; bug 322958.
3508
3509 === release 0.9.7 ===
3510
3511 2005-12-01   <thomas (at) apestaart (dot) org>
3512
3513         * configure.ac:
3514           releasing 0.9.7, "My Dog Has No Nose"
3515
3516 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3517
3518         * common/gst-xmlinspect.py:
3519         * configure.ac:
3520         * docs/libs/tmpl/gstdataprotocol.sgml:
3521         * docs/random/release:
3522         * po/af.po:
3523         * po/az.po:
3524         * po/bg.po:
3525         * po/ca.po:
3526         * po/cs.po:
3527         * po/de.po:
3528         * po/en_GB.po:
3529         * po/fr.po:
3530         * po/it.po:
3531         * po/nb.po:
3532         * po/nl.po:
3533         * po/ru.po:
3534         * po/sq.po:
3535         * po/sr.po:
3536         * po/sv.po:
3537         * po/tr.po:
3538         * po/uk.po:
3539         * po/vi.po:
3540         * win32/common/config.h:
3541         * win32/common/config.h.in:
3542         * win32/vs6/gst_inspect.dsp:
3543         * win32/vs6/gst_launch.dsp:
3544         * win32/vs6/libgstbase.dsp:
3545         * win32/vs6/libgstelements.dsp:
3546         * win32/vs6/libgstreamer.dsp:
3547         * win32/vs7/GStreamer.vcproj:
3548         * win32/vs7/gst-inspect.vcproj:
3549         * win32/vs7/gst-launch.vcproj:
3550         * win32/vs7/libgstbase.vcproj:
3551           bump GST_MAJORMINOR to 0.10
3552           reset libtool version
3553
3554 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3555
3556         * po/LINGUAS:
3557         * po/bg.po:
3558           Added Bulgarian translation by (Alexander Shopov)
3559
3560 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3561
3562         * tests/check/gst/gstplugin.c:
3563           fix test
3564
3565 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3566
3567         * common/gst-xmlinspect.py:
3568         * common/gtk-doc-plugins.mak:
3569         * configure.ac:
3570         * docs/Makefile.am:
3571         * docs/gst/Makefile.am:
3572         * docs/gst/gstreamer-docs.sgml:
3573         * docs/gst/gstreamer-sections.txt:
3574         * docs/gst/gstreamer.types:
3575         * docs/gst/gstreamer.types.in:
3576         * docs/plugins/Makefile.am:
3577         * docs/plugins/gstreamer-plugins-docs.sgml:
3578         * docs/plugins/gstreamer-plugins-sections.txt:
3579         * docs/plugins/gstreamer-plugins.types:
3580         * docs/plugins/inspect.stamp:
3581         * docs/plugins/inspect/plugin-coreelements.xml:
3582         * docs/plugins/inspect/plugin-coreindexers.xml:
3583         * docs/plugins/scanobj-build.stamp:
3584         * gstreamer.spec.in:
3585         * plugins/elements/Makefile.am:
3586         * plugins/elements/gstelements.c:
3587         * plugins/elements/gstfakesink.c:
3588         * plugins/elements/gstfakesrc.c:
3589         * plugins/elements/gstfilesink.c:
3590         * plugins/elements/gstfilesrc.c:
3591         * plugins/elements/gstqueue.c:
3592         * plugins/indexers/Makefile.am:
3593         * plugins/indexers/gstindexers.c:
3594           document core plugins in a separate document just like all the
3595           others
3596           rename these plugins to something starting with core
3597
3598 2005-12-01  Andy Wingo  <wingo@pobox.com>
3599
3600         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3601         padding here before, but it missed the commit.
3602
3603 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3604
3605         * libs/gst/controller/gstinterpolation.c:
3606           whitespace prices have crashed, we should feel free to use some now
3607           use gst_guint64_to_gdouble
3608
3609 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3610
3611         * libs/gst/controller/gstcontroller.c:
3612         * libs/gst/controller/gsthelper.c:
3613         * libs/gst/controller/gstinterpolation.c:
3614         * libs/gst/controller/lib.c:
3615           wrap config.h include
3616
3617 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3618
3619         * docs/gst/gstreamer-sections.txt:
3620           update docs
3621
3622 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3623
3624         * plugins/elements/gstelements.c:
3625         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3626         (gst_fd_sink__class_init), (gst_fd_sink__init),
3627         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3628         (gst_fd_sink__get_property):
3629         * plugins/elements/gstfdsink.h:
3630         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3631         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3632         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3633         (gst_fd_src_unlock), (gst_fd_src_set_property),
3634         (gst_fd_src_get_property), (gst_fd_src_create),
3635         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3636         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3637         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3638         (gst_fd_src_uri_handler_init):
3639         * plugins/elements/gstfdsrc.h:
3640         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3641           more anal cleanup
3642
3643 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3644
3645         * docs/gst/Makefile.am:
3646         * docs/gst/gstreamer.types.in:
3647         * gst/Makefile.am:
3648           fix the docs build
3649
3650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3651
3652         * configure.ac:
3653         * gst/Makefile.am:
3654         * gst/gst.c:
3655         * gst/gstplugin.h:
3656         * gst/gstregistry.h:
3657         * tests/benchmarks/complexity.c:
3658         * tests/benchmarks/mass-elements.c:
3659         * tests/check/Makefile.am:
3660         * tools/Makefile.am:
3661         * tools/gst-inspect.c:
3662         * tools/gst-xmlinspect.c:
3663           various fixes to make
3664           --disable-nls --disable-registry --disable-loadsave
3665           --disable-parse --disable-gst-debug
3666           work and get the core .so down to 360444 bytes after stripping
3667
3668 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3669
3670         * Makefile.am:
3671         * configure.ac:
3672           descend into tests
3673         * docs/random/thomasvs/TODO:
3674         * tests/Makefile.am:
3675         * tests/README:
3676           add a README
3677
3678 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * win32/GStreamer.vcproj:
3681         * win32/MANIFEST:
3682         * win32/Makefile:
3683         * win32/Makefile.inspect:
3684         * win32/Makefile.launch:
3685         * win32/Makefile.register:
3686         * win32/README.txt:
3687         * win32/gst-inspect.vcproj:
3688         * win32/gst-launch.vcproj:
3689         * win32/gst-register.vcproj:
3690         * win32/gstelements.vcproj:
3691         * win32/gstgetbits.def:
3692         * win32/gstgetbits.vcproj:
3693         * win32/gstreamer-dbg.def:
3694         * win32/gstreamer.def:
3695         * win32/libgstbase.def:
3696         * win32/libgstbase.vcproj:
3697         * win32/link_oldruntime.c:
3698         * win32/mman.c:
3699         * win32/mman.h:
3700         * win32/mman.inl:
3701         * win32/msvc71.sln:
3702           move even more stuff, win32/ is nice and clean now
3703
3704 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * libs/gst/control/.cvsignore:
3707         * win32/MANIFEST:
3708         * win32/config.h:
3709         * win32/dirent.c:
3710         * win32/dirent.h:
3711         * win32/gstbytestream.def:
3712         * win32/gstbytestream.vcproj:
3713         * win32/gstconfig.h:
3714         * win32/gstenumtypes.c:
3715         * win32/gstenumtypes.h:
3716         * win32/gstoptimalscheduler.vcproj:
3717         * win32/gstversion.h:
3718         * win32/gtchar.h:
3719         * win32/testsuite/bins.vcproj:
3720         * win32/testsuite/bytestream.vcproj:
3721         * win32/testsuite/caps.vcproj:
3722         * win32/testsuite/cleanup.vcproj:
3723         * win32/testsuite/clock.vcproj:
3724         * win32/testsuite/debug.vcproj:
3725         * win32/testsuite/dlopen.vcproj:
3726         * win32/testsuite/dynparams.vcproj:
3727         * win32/testsuite/elements.vcproj:
3728         * win32/testsuite/ghostpads.vcproj:
3729         * win32/testsuite/indexers.vcproj:
3730         * win32/testsuite/negotiation.vcproj:
3731         * win32/testsuite/parse.vcproj:
3732         * win32/testsuite/plugin.vcproj:
3733         * win32/testsuite/refcounting.vcproj:
3734         * win32/testsuite/schedulers.vcproj:
3735         * win32/testsuite/states.vcproj:
3736         * win32/testsuite/tags.vcproj:
3737         * win32/testsuite/threads.vcproj:
3738           remove old win32 stuff that isn't maintained and should be
3739           reorganized
3740
3741 2005-11-30  Andy Wingo  <wingo@pobox.com>
3742
3743         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3744         loading the gst.interfaces python module bork.
3745
3746         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3747         available since GLib 2.2. Fixes #318031.
3748
3749 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * Makefile.am:
3752         * check/.cvsignore:
3753         * check/Makefile.am:
3754         * check/elements/.cvsignore:
3755         * check/elements/fakesrc.c:
3756         * check/elements/fdsrc.c:
3757         * check/elements/identity.c:
3758         * check/generic/.cvsignore:
3759         * check/generic/states.c:
3760         * check/gst-libs/.cvsignore:
3761         * check/gst-libs/controller.c:
3762         * check/gst-libs/gdp.c:
3763         * check/gst/.cvsignore:
3764         * check/gst/capslist.h:
3765         * check/gst/gst.c:
3766         * check/gst/gstbin.c:
3767         * check/gst/gstbuffer.c:
3768         * check/gst/gstbus.c:
3769         * check/gst/gstcaps.c:
3770         * check/gst/gstelement.c:
3771         * check/gst/gstevent.c:
3772         * check/gst/gstghostpad.c:
3773         * check/gst/gstiterator.c:
3774         * check/gst/gstmessage.c:
3775         * check/gst/gstminiobject.c:
3776         * check/gst/gstobject.c:
3777         * check/gst/gstpad.c:
3778         * check/gst/gstpipeline.c:
3779         * check/gst/gstplugin.c:
3780         * check/gst/gstsegment.c:
3781         * check/gst/gststructure.c:
3782         * check/gst/gstsystemclock.c:
3783         * check/gst/gsttag.c:
3784         * check/gst/gstutils.c:
3785         * check/gst/gstvalue.c:
3786         * check/net/.cvsignore:
3787         * check/net/gstnetclientclock.c:
3788         * check/net/gstnettimeprovider.c:
3789         * check/pipelines/.cvsignore:
3790         * check/pipelines/cleanup.c:
3791         * check/pipelines/simple_launch_lines.c:
3792         * check/pipelines/stress.c:
3793         * check/states/.cvsignore:
3794         * check/states/sinks.c:
3795         * configure.ac:
3796         * examples/Makefile.am:
3797         * examples/appreader/.cvsignore:
3798         * examples/appreader/Makefile.am:
3799         * examples/appreader/appreader.c:
3800         * examples/controller/.cvsignore:
3801         * examples/controller/Makefile.am:
3802         * examples/controller/audio-example.c:
3803         * examples/cutter/.cvsignore:
3804         * examples/cutter/Makefile.am:
3805         * examples/cutter/cutter.c:
3806         * examples/cutter/cutter.h:
3807         * examples/events/Makefile.am:
3808         * examples/events/seek.c:
3809         * examples/helloworld/.cvsignore:
3810         * examples/helloworld/Makefile.am:
3811         * examples/helloworld/helloworld.c:
3812         * examples/helloworld2/.cvsignore:
3813         * examples/helloworld2/Makefile.am:
3814         * examples/helloworld2/helloworld2.c:
3815         * examples/launch/.cvsignore:
3816         * examples/launch/Makefile.am:
3817         * examples/launch/mp3parselaunch.c:
3818         * examples/launch/mp3play:
3819         * examples/manual/.cvsignore:
3820         * examples/manual/Makefile.am:
3821         * examples/manual/extract.pl:
3822         * examples/metadata/Makefile.am:
3823         * examples/metadata/read-metadata.c:
3824         * examples/mixer/.cvsignore:
3825         * examples/mixer/Makefile.am:
3826         * examples/mixer/mixer.c:
3827         * examples/mixer/mixer.h:
3828         * examples/pingpong/.cvsignore:
3829         * examples/pingpong/Makefile.am:
3830         * examples/pingpong/pingpong.c:
3831         * examples/plugins/.cvsignore:
3832         * examples/plugins/Makefile.am:
3833         * examples/plugins/example.c:
3834         * examples/plugins/example.h:
3835         * examples/pwg/.cvsignore:
3836         * examples/pwg/Makefile.am:
3837         * examples/pwg/extract.pl:
3838         * examples/queue/.cvsignore:
3839         * examples/queue/Makefile.am:
3840         * examples/queue/queue.c:
3841         * examples/queue2/.cvsignore:
3842         * examples/queue2/Makefile.am:
3843         * examples/queue2/queue2.c:
3844         * examples/queue3/.cvsignore:
3845         * examples/queue3/Makefile.am:
3846         * examples/queue3/queue3.c:
3847         * examples/queue4/.cvsignore:
3848         * examples/queue4/Makefile.am:
3849         * examples/queue4/queue4.c:
3850         * examples/retag/.cvsignore:
3851         * examples/retag/Makefile.am:
3852         * examples/retag/retag.c:
3853         * examples/retag/transcode.c:
3854         * examples/thread/.cvsignore:
3855         * examples/thread/Makefile.am:
3856         * examples/thread/thread.c:
3857         * examples/typefind/.cvsignore:
3858         * examples/typefind/Makefile.am:
3859         * examples/typefind/typefind.c:
3860         * examples/xml/.cvsignore:
3861         * examples/xml/Makefile.am:
3862         * examples/xml/createxml.c:
3863         * examples/xml/runxml.c:
3864         * tests/Makefile.am:
3865         * tests/check/Makefile.am:
3866         * testsuite/.cvsignore:
3867         * testsuite/Makefile.am:
3868         * testsuite/Rules:
3869         * testsuite/caps/.cvsignore:
3870         * testsuite/caps/Makefile.am:
3871         * testsuite/caps/app_fixate.c:
3872         * testsuite/caps/audioscale.c:
3873         * testsuite/caps/caps.c:
3874         * testsuite/caps/caps.h:
3875         * testsuite/caps/caps_strings:
3876         * testsuite/caps/compatibility.c:
3877         * testsuite/caps/deserialize.c:
3878         * testsuite/caps/enumcaps.c:
3879         * testsuite/caps/eratosthenes.c:
3880         * testsuite/caps/filtercaps.c:
3881         * testsuite/caps/fixed.c:
3882         * testsuite/caps/fraction-convert.c:
3883         * testsuite/caps/fraction-multiply-and-zero.c:
3884         * testsuite/caps/intersect2.c:
3885         * testsuite/caps/intersection.c:
3886         * testsuite/caps/normalisation.c:
3887         * testsuite/caps/random.c:
3888         * testsuite/caps/renegotiate.c:
3889         * testsuite/caps/sets.c:
3890         * testsuite/caps/simplify.c:
3891         * testsuite/caps/string-conversions.c:
3892         * testsuite/caps/structure.c:
3893         * testsuite/caps/subtract.c:
3894         * testsuite/caps/union.c:
3895         * testsuite/debug/.cvsignore:
3896         * testsuite/debug/Makefile.am:
3897         * testsuite/debug/category.c:
3898         * testsuite/debug/commandline.c:
3899         * testsuite/debug/global.c:
3900         * testsuite/debug/output.c:
3901         * testsuite/debug/printf_extension.c:
3902         * testsuite/dlopen/.cvsignore:
3903         * testsuite/dlopen/Makefile.am:
3904         * testsuite/dlopen/dlopen_gst.c:
3905         * testsuite/dlopen/loadgst.c:
3906         * testsuite/elements/.cvsignore:
3907         * testsuite/elements/Makefile.am:
3908         * testsuite/elements/gst-inspect-check.in:
3909         * testsuite/elements/struct_i386.h:
3910         * testsuite/elements/struct_size.c:
3911         * testsuite/indexers/.cvsignore:
3912         * testsuite/indexers/Makefile.am:
3913         * testsuite/indexers/cache1.c:
3914         * testsuite/indexers/indexdump.c:
3915         * testsuite/parse/.cvsignore:
3916         * testsuite/parse/Makefile.am:
3917         * testsuite/parse/parse1.c:
3918         * testsuite/parse/parse2.c:
3919         * testsuite/plugin/.cvsignore:
3920         * testsuite/plugin/Makefile.am:
3921         * testsuite/plugin/README:
3922         * testsuite/plugin/dynamic.c:
3923         * testsuite/plugin/linked.c:
3924         * testsuite/plugin/loading.c:
3925         * testsuite/plugin/registry.c:
3926         * testsuite/plugin/static.c:
3927         * testsuite/plugin/static2.c:
3928         * testsuite/plugin/testplugin.c:
3929         * testsuite/plugin/testplugin2.c:
3930         * testsuite/plugin/testplugin2_s.c:
3931         * testsuite/plugin/testplugin_s.c:
3932         * testsuite/refcounting/.cvsignore:
3933         * testsuite/refcounting/Makefile.am:
3934         * testsuite/refcounting/bin.c:
3935         * testsuite/refcounting/element.c:
3936         * testsuite/refcounting/element_pad.c:
3937         * testsuite/refcounting/mainloop.c:
3938         * testsuite/refcounting/mem.c:
3939         * testsuite/refcounting/mem.h:
3940         * testsuite/refcounting/object.c:
3941         * testsuite/refcounting/pad.c:
3942         * testsuite/refcounting/sched.c:
3943         * testsuite/refcounting/thread.c:
3944         * testsuite/states/.cvsignore:
3945         * testsuite/states/Makefile.am:
3946         * testsuite/states/bin.c:
3947         * testsuite/states/locked.c:
3948         * testsuite/states/parent.c:
3949         * testsuite/threads/.cvsignore:
3950         * testsuite/threads/159566.c:
3951         * testsuite/threads/159852.c:
3952         * testsuite/threads/Makefile.am:
3953         * testsuite/threads/queue.c:
3954         * testsuite/threads/signals.c:
3955         * testsuite/threads/staticrec.c:
3956         * testsuite/threads/thread.c:
3957         * testsuite/threads/threadb.c:
3958         * testsuite/threads/threadc.c:
3959         * testsuite/threads/threadd.c:
3960         * testsuite/threads/threade.c:
3961         * testsuite/threads/threadf.c:
3962         * testsuite/threads/threadg.c:
3963         * testsuite/threads/threadh.c:
3964         * testsuite/threads/threadi.c:
3965           move all of these under tests
3966
3967 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3968
3969         * configure.ac:
3970         * tests/Makefile.am:
3971           fix distcheck
3972
3973 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3974
3975         * docs/gst/gstreamer-sections.txt:
3976         * tests/sched/.cvsignore:
3977         * tests/sched/Makefile.am:
3978         * tests/sched/cases/(fs-fs).xml:
3979         * tests/sched/cases/(fs-i-fs).xml:
3980         * tests/sched/cases/(fs-i-i-fs).xml:
3981         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3982         * tests/sched/dynamic-pipeline.c:
3983         * tests/sched/interrupt1.c:
3984         * tests/sched/interrupt2.c:
3985         * tests/sched/interrupt3.c:
3986         * tests/sched/runtestcases:
3987         * tests/sched/runxml.c:
3988         * tests/sched/sched-stress.c:
3989         * tests/sched/sort.c:
3990         * tests/sched/testcases:
3991         * tests/sched/testcases1.tc:
3992         * tests/seeking/.cvsignore:
3993         * tests/seeking/Makefile.am:
3994         * tests/seeking/seeking1.c:
3995         * tests/threadstate/.cvsignore:
3996         * tests/threadstate/Makefile.am:
3997         * tests/threadstate/test1.c:
3998         * tests/threadstate/test2.c:
3999         * tests/threadstate/threadstate1.c:
4000         * tests/threadstate/threadstate2.c:
4001         * tests/threadstate/threadstate3.c:
4002         * tests/threadstate/threadstate4.c:
4003         * tests/threadstate/threadstate5.c:
4004           remove obsolete tests
4005         * configure.ac:
4006         * tests/bench-complexity.scm:
4007         * tests/bench-mass_elements.scm:
4008         * tests/complexity.c:
4009         * tests/complexity.gnuplot:
4010         * tests/instantiate/.cvsignore:
4011         * tests/instantiate/Makefile.am:
4012         * tests/instantiate/caps.c:
4013         * tests/mass_elements.c:
4014         * tests/network-clock-utils.scm:
4015         * tests/network-clock.scm:
4016         * tests/plot-data:
4017         First pass at cleaning up tests/ dir before moving the rest
4018         Combined with CVS surgery
4019
4020 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4021
4022         * po/POTFILES.in:
4023           queue has moved, update
4024
4025 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4026
4027         * docs/gst/gstreamer-sections.txt:
4028           remove double entries from the docs
4029         * gst/gst_private.h:
4030         * gst/gstinfo.c: (_gst_debug_init):
4031           remove the THREAD debug category
4032         * gst/Makefile.am:
4033         * gst/gstqueue.c:
4034         * gst/gstqueue.h:
4035         * docs/gst/gstreamer.types:
4036         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4037         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4038           completely move queue and fix up debugging categories
4039
4040 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4041
4042         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4043           make initialization portable, using LL is not
4044
4045 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4046
4047         * win32/common/gstconfig.h:
4048           add large padding
4049
4050 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * win32/common/libgstreamer.def:
4053           rename symbols; sort base section
4054
4055 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4056
4057         * gst/gstclock.c: (do_linear_regression):
4058           remove crack non-portable handrolled DEBUG macro
4059
4060 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4061
4062         * docs/random/release:
4063           update notes
4064         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4065         (gst_object_flags_get_type), (register_gst_bin_flags),
4066         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4067         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4068         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4069         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4070         (gst_caps_flags_get_type), (register_gst_clock_return),
4071         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4072         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4073         (gst_clock_flags_get_type), (register_gst_state),
4074         (gst_state_get_type), (register_gst_state_change_return),
4075         (gst_state_change_return_get_type), (register_gst_state_change),
4076         (gst_state_change_get_type), (register_gst_element_flags),
4077         (gst_element_flags_get_type), (register_gst_core_error),
4078         (gst_core_error_get_type), (register_gst_library_error),
4079         (gst_library_error_get_type), (register_gst_resource_error),
4080         (gst_resource_error_get_type), (register_gst_stream_error),
4081         (gst_stream_error_get_type), (register_gst_event_type_flags),
4082         (gst_event_type_flags_get_type), (register_gst_event_type),
4083         (gst_event_type_get_type), (register_gst_seek_type),
4084         (gst_seek_type_get_type), (register_gst_seek_flags),
4085         (gst_seek_flags_get_type), (register_gst_format),
4086         (gst_format_get_type), (register_gst_index_certainty),
4087         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4088         (gst_index_entry_type_get_type),
4089         (register_gst_index_lookup_method),
4090         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4091         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4092         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4093         (gst_index_flags_get_type), (register_gst_debug_level),
4094         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4095         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4096         (gst_iterator_result_get_type), (register_gst_iterator_item),
4097         (gst_iterator_item_get_type), (register_gst_message_type),
4098         (gst_message_type_get_type), (register_gst_mini_object_flags),
4099         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4100         (gst_pad_link_return_get_type), (register_gst_flow_return),
4101         (gst_flow_return_get_type), (register_gst_activate_mode),
4102         (gst_activate_mode_get_type), (register_gst_pad_direction),
4103         (gst_pad_direction_get_type), (register_gst_pad_flags),
4104         (gst_pad_flags_get_type), (register_gst_pad_presence),
4105         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4106         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4107         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4108         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4109         (gst_plugin_flags_get_type), (register_gst_rank),
4110         (gst_rank_get_type), (register_gst_query_type),
4111         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4112         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4113         (gst_tag_flag_get_type), (register_gst_task_state),
4114         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4115         (gst_alloc_trace_flags_get_type),
4116         (register_gst_type_find_probability),
4117         (gst_type_find_probability_get_type), (register_gst_uri_type),
4118         (gst_uri_type_get_type), (register_gst_parse_error),
4119         (gst_parse_error_get_type):
4120         * win32/common/gstenumtypes.h:
4121         * win32/common/gstversion.h:
4122           update visual studio generated files
4123
4124 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4125
4126         * win32/vs6/libgstbase.dsp:
4127         * win32/vs6/libgstelements.dsp:
4128           update project files for new locations
4129
4130 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * Makefile.am:
4133           remove some files
4134         * README:
4135           reinstate and update
4136         * DEVEL:
4137         * REQUIREMENTS:
4138           removed
4139         * LICENSE:
4140         * docs/random/LICENSE:
4141           moved to random
4142
4143 2005-11-30  Edward Hervey  <edward@fluendo.com>
4144
4145         * gst/gsttypefind.c: (gst_type_find_register):
4146         * gst/gsttypefind.h:
4147         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4148         (gst_type_find_factory_dispose):
4149         * gst/gsttypefindfactory.h:
4150         Fix memory leak in GstTypeFindFactory.
4151
4152 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4153
4154         * gst/gst.c:
4155         * plugins/elements/Makefile.am:
4156         * plugins/elements/gstelements.c:
4157         * plugins/elements/gstqueue.c:
4158           move queue from core to the elements plugin
4159
4160 2005-11-29  Andy Wingo  <wingo@pobox.com>
4161
4162         * libs/gst/base/gstbasetransform.h: 
4163         * libs/gst/base/gstbasesrc.h: 
4164         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4165
4166         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4167         of pointers by which to pad very extensible base classes (like the
4168         ones in libs/gst/base).
4169
4170 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4171
4172         * docs/gst/gstreamer-docs.sgml:
4173         * docs/gst/gstreamer-sections.txt:
4174         * docs/libs/gstreamer-libs-docs.sgml:
4175         * docs/libs/gstreamer-libs-sections.txt:
4176           moving documentation from core to lib
4177
4178 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4179
4180         * check/Makefile.am:
4181         * configure.ac:
4182         * docs/gst/Makefile.am:
4183         * gst/Makefile.am:
4184         * gst/base/.cvsignore:
4185         * gst/base/Makefile.am:
4186         * gst/base/README:
4187         * gst/base/gstadapter.c:
4188         * gst/base/gstadapter.h:
4189         * gst/base/gstbasesink.c:
4190         * gst/base/gstbasesink.h:
4191         * gst/base/gstbasesrc.c:
4192         * gst/base/gstbasesrc.h:
4193         * gst/base/gstbasetransform.c:
4194         * gst/base/gstbasetransform.h:
4195         * gst/base/gstcollectpads.c:
4196         * gst/base/gstcollectpads.h:
4197         * gst/base/gstpushsrc.c:
4198         * gst/base/gstpushsrc.h:
4199         * gst/base/gsttypefindhelper.c:
4200         * gst/base/gsttypefindhelper.h:
4201         * gst/check/Makefile.am:
4202         * gst/check/gstcheck.c:
4203         * gst/check/gstcheck.h:
4204         * gst/net/Makefile.am:
4205         * gst/net/gstnet.h:
4206         * gst/net/gstnetclientclock.c:
4207         * gst/net/gstnetclientclock.h:
4208         * gst/net/gstnettimepacket.c:
4209         * gst/net/gstnettimepacket.h:
4210         * gst/net/gstnettimeprovider.c:
4211         * gst/net/gstnettimeprovider.h:
4212         * libs/gst/Makefile.am:
4213         * libs/gst/base/Makefile.am:
4214         * libs/gst/base/gstbasetransform.c:
4215         * libs/gst/check/Makefile.am:
4216         * plugins/elements/Makefile.am:
4217         * po/POTFILES.in:
4218           CVS surgery + support to move base, check, and net out of gst
4219           and into libs/gst
4220
4221 2005-11-29  Andy Wingo  <wingo@pobox.com>
4222
4223         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
4224
4225         * gst/gststructure.h (struct _GstStructure): Only one pointer of
4226         padding.
4227
4228         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
4229
4230         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
4231
4232         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
4233
4234         * gst/gstobject.h: (struct _GstObject): Only one pointer of
4235         padding; reduces object size by about 30%. We don't expect
4236         anything else to go into gstobject.
4237
4238         * gst/gstminiobject.h (struct _GstMiniObject)
4239         (struct _GstMiniObjectClass): Only one pointer of padding; the
4240         payload is only a pointer and two ints anyway. For the class there
4241         are only two methods as well.
4242         
4243         * gst/gstelement.h (struct _GstElementClass): Removed
4244         the state_changed signal callback, it is not used.
4245
4246 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * docs/gst/gstreamer.types:
4249           fix includes, though they are a little dinky
4250
4251 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4252
4253         * check/Makefile.am:
4254           look in the right place for elements, a lot more chance of
4255           success
4256         * gst/Makefile.am:
4257           remove indexers and elements subdirs
4258         * plugins/Makefile.am:
4259           make indexers conditional
4260
4261 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4262
4263         * Makefile.am:
4264         * configure.ac:
4265         * plugins/elements/Makefile.am:
4266         * plugins/elements/gstcapsfilter.c:
4267         * plugins/elements/gstfilesink.c:
4268         * plugins/elements/gstfilesrc.c:
4269         * plugins/elements/gstidentity.c:
4270         * plugins/indexers/Makefile.am:
4271           do CVS surgery and related build fixery to move elements
4272           and indexers in a new gstreamer/plugins directory, out of the
4273           gst/ directory
4274
4275 2005-11-29  Andy Wingo  <wingo@pobox.com>
4276
4277         * check/Makefile.am:
4278         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4279         * pkgconfig/gstreamer-net.pc.in:
4280         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
4281         #322257.
4282
4283 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4284
4285         * tools/Makefile.am:
4286         * tools/gst-complete.1.in:
4287         * tools/gst-complete.c:
4288         * tools/gst-compprep.1.in:
4289         * tools/gst-compprep.c:
4290           removing -compprep and -complete
4291
4292 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * gst/gstevent.c: (gst_event_new_new_segment),
4295         (gst_event_parse_new_segment):
4296         * gst/gstevent.h:
4297           fix #320529 - clean up new_segment API and structure.
4298           Let's hope everyone was using the methods, and not the structure.
4299
4300 2005-11-29  Edward Hervey  <edward@fluendo.com>
4301
4302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4303         (gst_base_sink_event), (gst_base_sink_do_sync),
4304         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4305         Properly handle non GST_FORMAT_TIME segment
4306         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4307         Properly handle non GST_FORMAT_TIME segment
4308         * gst/gstsegment.c:
4309         This function is valid if the accumulator is 0 and the format
4310         is different from the requested format.
4311         
4312 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4313
4314         * docs/gst/gstreamer-sections.txt:
4315         Add gst_query_new_seeking and gst_query_parse_seeking to the
4316         docs.
4317
4318 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4319
4320         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4321           Treat a pad alloc with new caps the same as if we were not
4322           negotiated, in order to allow a changing upstream output
4323           to produce a new format of data.
4324
4325 2005-11-29  Edward Hervey  <edward@fluendo.com>
4326
4327         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4328         (gst_base_transform_event), (gst_base_transform_eventfunc):
4329         The event virtual method is now properly implemented, with a default
4330         handler
4331         Sub classes should call the parent_class event method. They should
4332         return FALSE if they had a problem handling the given event, or don't
4333         want GstBaseTransform to send that even downstream
4334         * gst/elements/gstidentity.c: (gst_identity_class_init),
4335         (gst_identity_init), (gst_identity_event),
4336         (gst_identity_transform_ip), (gst_identity_set_property),
4337         (gst_identity_get_property):
4338         * gst/elements/gstidentity.h:
4339         Added the single-segment boolean property.
4340         If set to TRUE, it will output a single segment of data, starting from
4341         0, will eat up all incoming newsegment, and modify the timestamp of the
4342         buffers accordingly
4343
4344 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4345
4346         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4347           Don't ref NULL target pad (#322751). Improve docs.
4348
4349 2005-11-29  Michael Smith  <msmith@fluendo.com>
4350
4351         * gst/gstregistryxml.c: (load_plugin):
4352           Don't crash if we failed to load a feature from a plugin. 
4353
4354 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4357         (GST_START_TEST):
4358           use more check API and less GLib API
4359
4360 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4361
4362         * Makefile.am:
4363           don't run checks if we don't have check
4364         * common/check.mak:
4365           remove the registry when running make torture
4366         * docs/gst/gstreamer-sections.txt:
4367           remove second multiply
4368         * gst/gstqueue.c: (gst_queue_loop):
4369           fix a compile warning when disabling debug
4370
4371 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4372
4373         * gst/gstinfo.h:
4374         Hey! Let's print the pad name if the pointer != NULL instead
4375         of when it == NULL :-)
4376
4377 2005-11-28  Wim Taymans  <wim@fluendo.com>
4378
4379         * check/gst/gstutils.c: (GST_START_TEST):
4380         Updated check, add some scaling accuracy checking code.
4381
4382         * gst/gstutils.c: (gst_util_div128_64),
4383         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4384         (gst_util_uint64_scale_int):
4385         Fix 6 times faster division code. Optimize for common 
4386         1/1 and less common X/1 cases.
4387
4388 2005-11-28  Wim Taymans  <wim@fluendo.com>
4389
4390         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4391         More checks.
4392
4393         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4394         (do_linear_regression), (gst_clock_add_observation):
4395         Cleanups.
4396         Release lock when the clock cannot be slaved.
4397         Catch the case where the regression returned an invalid denominator.
4398
4399         * gst/gstutils.c: (gst_util_div128_64_iterate),
4400         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4401         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4402         Add protentially more performant non-iterative 128/64 divide function
4403         that unfortunatly does not work yet.
4404         Shortcut the trivial 0/X = 0 case.
4405         Remove the warnings on overflow.
4406
4407 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * gst/gstplugin.c: (gst_plugin_register_func):
4410           everything causing a plugin not to load should be at least a WARNING
4411
4412 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * docs/random/ensonic/dparams.txt:
4415           some TODOs for the next dev cycle
4416         * libs/gst/controller/gstcontroller.c:
4417         (gst_controlled_property_set_interpolation_mode),
4418         (gst_controlled_property_new):
4419         * libs/gst/controller/gstcontroller.h:
4420           use base type to assign acccessor functions
4421
4422 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4423
4424         * check/Makefile.am:
4425         Oops, that should have been top_srcdir
4426
4427 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4428
4429         * check/Makefile.am:
4430         * check/elements/fdsrc.c: (GST_START_TEST):
4431         Use a cmdline define to specify the location of a file to use for
4432         testing, to avoid breaking distcheck.
4433
4434 2005-11-28  Andy Wingo  <wingo@pobox.com>
4435
4436         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4437
4438 2005-11-28  Edward Hervey  <edward@fluendo.com>
4439
4440         * tools/gst-launch.c: (main):
4441         Clarify the output strings, makes it easier to translate.
4442         Fixes #322626
4443
4444 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * gst/Makefile.am:
4447           don't try and build net if we don't even have <sys/socket.h>
4448
4449 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4450
4451         * check/Makefile.am:
4452         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4453         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4454           Add tests for fdsrc seekability
4455
4456         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4457         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4458         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4459         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4460         * gst/elements/gstfdsrc.h:
4461           fdsrc should not be a 'live' source.
4462           Implement seeking on seekable fd's.
4463
4464         * gst/gstquery.c: (gst_query_new_seeking),
4465         (gst_query_parse_seeking):
4466         * gst/gstquery.h:
4467           Implement SEEKING query functions: 
4468             *_new_seeking and *_parse_seeking
4469
4470 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4471
4472         * gst/gstelement.c: (gst_element_dispose):
4473           don't loop forever
4474
4475         * gst/gstiterator.c:
4476         * gst/gststructure.c:
4477           doc fixes
4478
4479         * libs/gst/controller/gstcontroller.c:
4480         (gst_controlled_property_set_interpolation_mode):
4481         * libs/gst/controller/gstcontroller.h:
4482         * libs/gst/controller/gstinterpolation.c:
4483         (interpolate_none_get_enum_value_array):
4484           support controlling enums
4485
4486 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4487
4488         * gst/gstvalue.c:
4489           Improve documentation for gst_value_union().
4490
4491         * gst/gstvalue.h:
4492           Change return value for union, intersect and subtract functions
4493           from gint to gboolean.
4494
4495 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * gst/gstvalue.c: (gst_value_serialize_any_list),
4498         (gst_value_transform_any_list_string),
4499         (gst_value_deserialize_list), (gst_value_deserialize_array),
4500         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4501         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4502         (gst_value_set_fraction_range_full),
4503         (gst_value_deserialize_fraction_range),
4504         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4505         (gst_value_deserialize_boolean),
4506         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4507         (gst_value_serialize_float), (gst_value_deserialize_float),
4508         (gst_string_wrap), (gst_value_deserialize_string),
4509         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4510         (gst_value_union_int_range_int_range),
4511         (gst_value_intersect_int_range_int_range),
4512         (gst_value_intersect_double_range_double_range),
4513         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4514         (gst_value_subtract_int_range_int_range),
4515         (gst_value_subtract_double_double_range),
4516         (gst_value_subtract_double_range_double_range),
4517         (gst_value_deserialize_fraction):
4518         * gst/gstvalue.h:
4519           Use gint, gdouble and gchar in our API instead of int, double and
4520           char (and make usage in gstvalue.c more consistent).
4521
4522 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4523
4524         * check/Makefile.am:
4525         * libs/gst/controller/Makefile.am:
4526         * libs/gst/dataprotocol/Makefile.am:
4527           fix up Makefile.am and remove GST_ENABLE_NEW
4528
4529 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4530
4531         * configure.ac:
4532         * gst/Makefile.am:
4533         * gst/base/Makefile.am:
4534         * gst/check/Makefile.am:
4535         * gst/elements/Makefile.am:
4536         * gst/net/Makefile.am:
4537           update LDFLAGS use some more
4538
4539 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4540
4541         * common/m4/gst-doc.m4:
4542           Fixes #312589
4543
4544 2005-11-26  Edward Hervey  <edward@fluendo.com>
4545
4546         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4547         This shouldn't issue a g_warning since it returns NULL if it
4548         couldn't find the plugin, and all functions using this behave
4549         properly on a NULL return. Switching to a GST_WARNING.
4550
4551 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4552
4553         * gst/gstbin.c: (gst_bin_handle_message_func):
4554         Don't leak clock messages.
4555
4556 2005-11-25  Wim Taymans  <wim@fluendo.com>
4557
4558         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4559         (gst_util_uint64_scale_int):
4560         Optimisations, remove unneeded vars.
4561
4562 2005-11-25  Wim Taymans  <wim@fluendo.com>
4563
4564         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4565         Added more checks for the high precision uint64 cases.
4566
4567         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4568         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4569         Implement high precision (guint64 * guint64) / guint64.
4570
4571 2005-11-24  Wim Taymans  <wim@fluendo.com>
4572
4573         * gst/base/gstbasesrc.c: (gst_base_src_query):
4574         Fix wrong percentage query.
4575
4576         * gst/gstutils.c: (gst_util_uint64_scale),
4577         (gst_util_uint64_scale_int):
4578         Add some more common cases that can be handled 
4579         efficiently to _scale.
4580
4581 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4582
4583         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4584         (gst_mini_object_suite):
4585           don't use check calls from threads; check probably isn't
4586           threadsafe and using a lock to make it threadsafe would
4587           defeat the purpose of this check
4588         * gst/check/gstcheck.c:
4589         * gst/check/gstcheck.h:
4590           use GST_DEBUG some more
4591
4592 2005-11-24  Wim Taymans  <wim@fluendo.com>
4593
4594         * gst/gstutils.c: (gst_util_uint64_scale),
4595         (gst_util_uint64_scale_int):
4596         Chain trivial case to _scale_int.
4597
4598 2005-11-24  Wim Taymans  <wim@fluendo.com>
4599
4600         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4601         Added test for scaling.
4602
4603         * gst/gstclock.h:
4604         Small doc fix.
4605
4606         * gst/gstutils.c: (gst_util_uint64_scale_int):
4607         Implemented high precision scaling code.
4608
4609 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4610
4611         * gst/gstinfo.h:
4612           do not crash on pad==NULL
4613
4614 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         Patch by: Stefan Kost
4617
4618         * common/gtk-doc.mak:
4619         * docs/gst/Makefile.am:
4620         * docs/libs/Makefile.am:
4621           Fix distcheck issues for the libraries docs build
4622           Closes #319599.
4623
4624 2005-11-24  Michael Smith <msmith@fluendo.com>
4625
4626         * docs/manual/basics-helloworld.xml:
4627           Fix bug #315027: memory leak in example code in docs.
4628
4629 2005-11-24  Michael Smith <msmith@fluendo.com>
4630
4631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4632           Unlock the PREROLL_LOCK in a failure case.
4633
4634 2005-11-24  Wim Taymans  <wim@fluendo.com>
4635
4636         * docs/gst/gstreamer-sections.txt:
4637         * gst/base/gstadapter.h:
4638         * gst/base/gstbasesink.h:
4639         * gst/base/gstbasesrc.h:
4640         * gst/base/gstbasetransform.h:
4641         * gst/base/gstpushsrc.h:
4642         * gst/elements/gstfakesink.h:
4643         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4644         * gst/elements/gstfakesrc.h:
4645         * gst/elements/gstfilesink.h:
4646         * gst/elements/gstfilesrc.h:
4647         * gst/gst.c:
4648         * gst/gstbin.c:
4649         * gst/gstbuffer.c: (_gst_buffer_copy):
4650         * gst/gstbus.h:
4651         * gst/gstcaps.c:
4652         * gst/gstchildproxy.c:
4653         * gst/gstclock.c:
4654         * gst/gstelement.c:
4655         * gst/gstelementfactory.c:
4656         * gst/gstelementfactory.h:
4657         * gst/gstevent.c:
4658         * gst/gstghostpad.h:
4659         * gst/gstindex.h:
4660         * gst/gstinterface.h:
4661         * gst/gstminiobject.c:
4662         * gst/gstminiobject.h:
4663         * gst/gstpad.c:
4664         * gst/gstpad.h:
4665         * gst/gstpadtemplate.h:
4666         * gst/gstpipeline.h:
4667         * gst/gstpluginfeature.h:
4668         * gst/gstquery.h:
4669         * gst/gstqueue.h:
4670         * gst/gsttaglist.c:
4671         * gst/gsttaglist.h:
4672         * gst/gsttagsetter.c:
4673         * gst/gsttagsetter.h:
4674         * gst/gsttrace.c:
4675         * gst/gsttrace.h:
4676         * gst/gsttypefind.h:
4677         * gst/gsturi.h:
4678         * gst/gstvalue.c:
4679         * gst/net/gstnetclientclock.c:
4680         * gst/net/gstnetclientclock.h:
4681         * gst/net/gstnettimepacket.c:
4682         * gst/net/gstnettimeprovider.c:
4683         * gst/net/gstnettimeprovider.h:
4684         Doc fixes.
4685
4686 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4687
4688         * configure.ac: back to HEAD
4689
4690 === release 0.9.6 ===
4691
4692 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4693
4694         * configure.ac:
4695           releasing 0.9.6, "Always On Time"
4696
4697 2005-11-23  Wim Taymans  <wim@fluendo.com>
4698
4699         * docs/gst/gstreamer-sections.txt:
4700         * gst/glib-compat.c:
4701         * gst/gsttagsetter.c:
4702         * gst/gstvalue.c:
4703         * gst/net/gstnetclientclock.c:
4704         * gst/net/gstnettimepacket.h:
4705         Doc updates.
4706
4707 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * docs/faq/using.xml:
4710         * docs/libs/tmpl/gstcontrol.sgml:
4711         * docs/manual/advanced-dparams.xml:
4712         * docs/manual/appendix-checklist.xml:
4713         * docs/manual/basics-elements.xml:
4714         * docs/pwg/other-source.xml:
4715         * docs/random/moving-plugins:
4716         * gst/gstpad.c:
4717         * tools/gst-launch.1.in:
4718           remove mentions of sinesrc
4719
4720 2005-11-23  Michael Smith <msmith@fluendo.com>
4721
4722         * docs/gst/gstreamer-sections.txt:
4723           Update for new API and API changes.
4724         * gst/gstobject.h:
4725           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4726         * gst/gstvalue.c:
4727           Documentation typo fix.
4728         * gst/net/gstnettimepacket.c:
4729           Documentation fixes for arguments.
4730
4731 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4732
4733         * gst/gststructure.c: (gst_structure_get_fraction),
4734         (gst_structure_parse_value),
4735         (gst_structure_fixate_field_nearest_fraction):
4736         * gst/gststructure.h:
4737         * gst/gstutils.c: (gst_util_uint64_scale_int):
4738         * gst/gstutils.h:
4739         * scripts/update-funcnames:
4740         API Changes. 
4741         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4742         Make gst_structure_fixate_field_nearest_fraction take a numerator
4743         and denominator argument instead of a GValue
4744         add gst_structure_get_fraction helper function.
4745
4746 2005-11-23  Wim Taymans  <wim@fluendo.com>
4747
4748         * docs/design/part-TODO.txt:
4749         Update TODO.
4750
4751         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4752         * gst/net/gstnetclientclock.h:
4753         Use parent fields for timeout and window_size.
4754
4755 2005-11-23  Andy Wingo  <wingo@pobox.com>
4756
4757         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4758         rate_num/rate_denom change.
4759
4760         * gst/net/gstnetclientclock.c
4761         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4762         OBJECT_LOCK. Don't call add_observation with the lock.
4763
4764         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4765         fraction.
4766         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4767         rate fraction.
4768         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4769         deal with rate as a fraction whose numerator and denominator are
4770         GstClockTime values.
4771         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4772         master; the other fields are protected by the SLAVE_LOCK.
4773         (do_linear_regression): Note that this must be called with the
4774         SLAVE_LOCK.
4775         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4776         OBJECT_LOCK. Call set_calibration instead of touching the
4777         variables directly.
4778         (gst_clock_set_property, gst_clock_get_property): Protect
4779         master/slave parameters with the SLAVE_LOCK.
4780
4781         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4782         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4783         note that all of the instance variables that add_observation and
4784         the set_master functions use are protected by that lock and not
4785         the OBJECT_LOCK.
4786         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4787
4788         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4789         the caller to take the object lock.
4790
4791 2005-11-23  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/gsterror.c: (_gst_core_errors_init):
4794         * gst/gsterror.h:
4795         Add error for clock stuff.
4796
4797         * gst/gstpipeline.c: (gst_pipeline_change_state),
4798         (gst_pipeline_set_clock):
4799         Post clock error when clock cannot be used in a pipeline.
4800
4801 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4802
4803         * docs/gst/gstreamer-sections.txt:
4804           make two symbols from gstinfo private for the docs
4805         * gst/base/gstcollectpads.h:
4806         * gst/gstutils.c:
4807           fix doc typos, update docs
4808
4809 2005-11-22  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4812         (gst_base_sink_wait), (gst_base_sink_do_sync),
4813         (gst_base_sink_handle_event):
4814         * gst/base/gstbasesink.h:
4815         No need to store the clock, the parent element class already
4816         has it.
4817
4818         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4819         Updates for clock_set returning a gboolean
4820
4821         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4822         (gst_clock_id_wait_async), (gst_clock_class_init),
4823         (gst_clock_init), (gst_clock_finalize),
4824         (gst_clock_get_internal_time), (gst_clock_get_time),
4825         (gst_clock_slave_callback), (gst_clock_set_master),
4826         (gst_clock_get_master), (do_linear_regression),
4827         (gst_clock_add_observation), (gst_clock_set_property),
4828         (gst_clock_get_property):
4829         * gst/gstclock.h:
4830         Implement master/slave. When setting a clock as a slave, a
4831         periodic timeout is scheduled to sample master and slave times.
4832         Then the slave clock is recalibrated to match offset and rate
4833         of the master clock.
4834         Update logging a bit.
4835         Add flag so that a clock can state that is cannot be slaved to
4836         another clock.
4837
4838         * gst/gstelement.c: (gst_element_set_clock):
4839         * gst/gstelement.h:
4840         The set clock returns a gboolean for when an element cannot
4841         deal with the selected clock in the pipeline. 
4842
4843         * gst/gstpipeline.c: (gst_pipeline_change_state),
4844         (gst_pipeline_set_clock):
4845         * gst/gstpipeline.h:
4846         Handle the case where the selected clock cannot be set on
4847         the pipeline.
4848
4849         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4850         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4851         (gst_net_client_clock_set_property),
4852         (gst_net_client_clock_get_property),
4853         (gst_net_client_clock_observe_times):
4854         * gst/net/gstnetclientclock.h:
4855         Use regression code in GstClock parent, remove duplicated
4856         functionality.
4857
4858 2005-11-22  Michael Smith <msmith@fluendo.com>
4859
4860         * gst/gstutils.c: (gst_util_clock_time_scale):
4861         * gst/gstutils.h:
4862         * docs/gst/gstreamer-sections.txt:
4863           Rename method to have extra underscore.
4864
4865 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4866
4867         * gst/elements/Makefile.am:
4868         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4869         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4870         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4871         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4872         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4873         * gst/elements/gstfakesrc.h:
4874         * gst/gstqueue.c: (queue_leaky_get_type):
4875           correctly fix GEnumValues so that nick is the short lowercase
4876           dashed tag
4877         * tools/gst-inspect.c: (print_element_properties_info):
4878           also show the nick, since it's useful to use from parse_launch
4879           syntax
4880           Fixes #322139
4881
4882 2005-11-22  Michael Smith <msmith@fluendo.com>
4883
4884         * gst/gstutils.c: (gst_util_clocktime_scale):
4885         * gst/gstutils.h:
4886         * docs/gst/gstreamer-sections.txt:
4887           Add util method for scaling a clocktime by a fraction. Useful 
4888           implementation is left as an exercise for the reader.
4889
4890 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4891
4892         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4893         If needed, allocate storage in the destination value during
4894         collection.
4895
4896 2005-11-22  Edward Hervey  <edward@fluendo.com>
4897
4898         * docs/gst/gstreamer-sections.txt:
4899         * gst/Makefile.am:
4900         * gst/gst.h:
4901         * gst/gsturitype.c:
4902         * gst/gsturitype.h:
4903         * gst/gstutils.c: (gst_util_set_object_arg):
4904         * tools/gst-compprep.c: (main):
4905         * tools/gst-inspect.c: (print_element_properties_info):
4906         Removed GstURI, closes bug #321061
4907
4908 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4909
4910         * check/gst/gststructure.c: (GST_START_TEST):
4911         * gst/gststructure.c: (gst_structure_parse_value):
4912           Oops, broke automatic string type parsing.
4913           Add a test to catch it in future.
4914
4915 2005-11-22  Andy Wingo  <wingo@pobox.com>
4916
4917         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4918         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4919         Actually rename the function implementations. Grr.
4920
4921 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4922
4923         * check/gst/capslist.h:
4924           Comment test cases
4925         * check/gst/gststructure.c: (GST_START_TEST),
4926         (gst_structure_suite):
4927           Test automatic value type detection in gst_structure_from_string.
4928         * gst/gststructure.c: (gst_structure_parse_value):
4929           Add fraction as a type we try and guess automatically in
4930           caps/structure strings.
4931
4932 2005-11-22  Andy Wingo  <wingo@pobox.com>
4933
4934         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4935
4936         * gst/gsttagsetter.h:
4937         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4938         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4939         (gst_tag_setter_add_tag_valist)
4940         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4941         _add_values, _add_valist, and _add_valist_values. Since this is an
4942         interface the function suffixes should be more explicit so
4943         language binding don't end up with element.add_valist ->
4944         gst_tag_setter_add_valist, for example. Fixes #322069.
4945
4946 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4947
4948         * check/gst/gstcaps.c: (GST_START_TEST):
4949           Extend caps string tests to check that a caps to string
4950           conversion is reversible and produces the same caps.
4951
4952         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4953           Output "fraction" as the generic type fraction range, so caps
4954           serialisation and deserialisation works.
4955         * check/gst/capslist.h:
4956         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4957           Support 'MIN' and 'MAX' for deserialising fractions.
4958
4959 2005-11-22  Andy Wingo  <wingo@pobox.com>
4960
4961         * gst/gstevent.h (gst_event_new_new_segment)
4962         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4963         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4964         Renamed from *_newsegment, *_buffersize, *_notarget.
4965
4966         * scripts/update-funcnames: New script, performs the changes
4967         listed above.
4968
4969 2005-11-22  Wim Taymans  <wim@fluendo.com>
4970
4971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4972         Make sure the GstFlowReturn is returned.
4973
4974         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4975         (gst_bus_add_signal_watch):
4976         * gst/gstbus.h:
4977         add gst_bus_add_signal_watch_full.
4978
4979         * gst/gstplugin.c: (gst_plugin_load_file):
4980         Small style cleanup.
4981
4982 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4983
4984         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4985           Block the fakesrc srcpad when we send an event, to avoid
4986           contention on the stream_lock causing random test failures.
4987
4988 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4989
4990         * check/gst/gstvalue.c: (GST_START_TEST):
4991         * gst/gstvalue.c: (gst_value_fraction_subtract):
4992           Fix subtraction.
4993
4994 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4995
4996         * gst/gst.h:
4997           include "gstchildproxy.h"
4998         * gst/gstchildproxy.h:
4999         * libs/gst/controller/gstcontroller.h:
5000           use G_GNUC_NULL_TERMINATED
5001
5002 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5003
5004         * check/gst/capslist.h:
5005         * check/gst/gstcaps.c: (GST_START_TEST):
5006         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5007         * gst/gststructure.c: (gst_structure_parse_range),
5008         (gst_structure_fixate_field_nearest_fraction):
5009         * gst/gststructure.h:
5010         * gst/gstvalue.c: (gst_value_init_fraction_range),
5011         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5012         (gst_value_collect_fraction_range),
5013         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5014         (gst_value_set_fraction_range_full),
5015         (gst_value_get_fraction_range_min),
5016         (gst_value_get_fraction_range_max),
5017         (gst_value_serialize_fraction_range),
5018         (gst_value_transform_fraction_range_string),
5019         (gst_value_compare_fraction_range),
5020         (gst_value_deserialize_fraction_range),
5021         (gst_value_intersect_fraction_fraction_range),
5022         (gst_value_intersect_fraction_range_fraction_range),
5023         (gst_value_subtract_fraction_fraction_range),
5024         (gst_value_subtract_fraction_range_fraction),
5025         (gst_value_subtract_fraction_range_fraction_range),
5026         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5027         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5028         (gst_value_transform_string_fraction), (_gst_value_initialize):
5029         * gst/gstvalue.h:
5030           Implement fraction ranges and extend GstFraction to support
5031           arithmetic subtraction, as well as deserialization from integer
5032           strings such as "100"
5033           Add a testsuite as for int and double range set operations
5034
5035 2005-11-21  Andy Wingo  <wingo@pobox.com>
5036
5037         * gst/gsttaglist.h: 
5038         * gst/gstcaps.h: 
5039         * gst/gststructure.h: Add glib-compat.h.
5040
5041 2005-11-21  Wim Taymans  <wim@fluendo.com>
5042
5043         * gst/gstbin.c: (gst_bin_change_state_func):
5044         Fix for #321595
5045
5046 2005-11-21  Wim Taymans  <wim@fluendo.com>
5047
5048         * gst/gstsegment.h:
5049         And add a nice define too.
5050
5051 2005-11-21  Wim Taymans  <wim@fluendo.com>
5052
5053         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5054         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5055         (gst_segment_set_duration), (gst_segment_set_last_stop),
5056         (gst_segment_set_seek), (gst_segment_set_newsegment),
5057         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5058         (gst_segment_clip):
5059         * gst/gstsegment.h:
5060         Make binding friendly.
5061
5062 2005-11-21  Andy Wingo  <wingo@pobox.com>
5063
5064         * gst/gsttagsetter.h: 
5065         * gst/gsttaglist.h: 
5066         * gst/gststructure.h: 
5067         * gst/gstcaps.h: 
5068         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5069         #319940.
5070
5071         * gst/gsterror.c (_gst_core_errors_init):
5072         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5073         category.
5074
5075         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5076         (noinst_HEADERS): noinst the -private.
5077
5078 2005-11-21  Michael Smith <msmith@fluendo.com>
5079
5080         * gst/gstplugin.h:
5081         * gst/gstregistry.h:
5082           Remove unimplemented declarations for which we can see no sensible
5083           use.
5084
5085 2005-11-21  Andy Wingo  <wingo@pobox.com>
5086
5087         * gst/gst.h: Include glib-compat.h.
5088
5089         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5090
5091         * gst/glib-compat.c: Include the public and the private header.
5092
5093         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5094
5095         * gst/gstvalue.c: 
5096         * gst/gstpad.c: 
5097         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5098
5099         * check/gst/gstevent.c (create_custom_events): Check that
5100         FLUSH_STOP is serialized.
5101
5102         * check/elements/identity.c (event_func): 
5103         * check/elements/fakesrc.c (event_func): No stream lock, the core
5104         takes it.
5105
5106         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5107         stream lock taking, yay.
5108
5109         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5110         ensure that core takes the stream lock.
5111
5112         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5113         lock name change.
5114
5115         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5116         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5117         it already. For the flush start we do take it though so we get the
5118         right preroll state change messages.
5119
5120         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5121         the stream lock here, the core does it for us.
5122
5123         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5124         GST_STREAM_GET_LOCK.
5125         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5126         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5127         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5128         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5129         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5130         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5131
5132         * gst/gstpad.c: Update for stream lock name change.
5133
5134         * gst/base/gstbasesink.c: Update for preroll lock name change.
5135
5136 2005-11-21  Wim Taymans  <wim@fluendo.com>
5137
5138         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5139         (gst_clock_get_master):
5140         * gst/gstclock.h:
5141         * gst/gstsystemclock.c: (gst_system_clock_init):
5142         Convert Clock flags to object flags.
5143         Added methods to manage master/slave clocks.
5144
5145 2005-11-21  Wim Taymans  <wim@fluendo.com>
5146
5147         * check/gst/gstsegment.c: (GST_START_TEST):
5148         * docs/design/part-TODO.txt:
5149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5150         (gst_base_sink_event), (gst_base_sink_do_sync),
5151         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5152         (gst_base_sink_query), (gst_base_sink_change_state):
5153         * gst/base/gstbasesink.h:
5154         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5155         (gst_base_src_default_newsegment),
5156         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5157         (gst_base_src_get_range), (gst_base_src_loop),
5158         (gst_base_src_change_state):
5159         * gst/base/gstbasesrc.h:
5160         * gst/base/gstbasetransform.c:
5161         (gst_base_transform_prepare_output_buf),
5162         (gst_base_transform_event), (gst_base_transform_change_state):
5163         * gst/base/gstbasetransform.h:
5164         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5165         (gst_collect_pads_event):
5166         * gst/base/gstcollectpads.h:
5167         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5168         (gst_fake_src_create):
5169         * gst/elements/gstfakesrc.h:
5170         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5171         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5172         (gst_segment_set_last_stop), (gst_segment_set_seek),
5173         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5174         (gst_segment_to_running_time), (gst_segment_clip):
5175         * gst/gstsegment.h:
5176         More segment updates, replace code in plugins with segment
5177         helper functions.
5178
5179 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5180
5181         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
5182         Don't ignore sscanf results
5183
5184 2005-11-21  Andy Wingo  <wingo@pobox.com>
5185
5186         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
5187
5188         * *.h:
5189         * *.c: Ran scripts/update-macros. Oh yes.
5190
5191         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
5192         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
5193         GST_GET_LOCK, etc.
5194
5195         * scripts/update-macros: New script. Run it on your files to
5196         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
5197         well.
5198
5199 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5200
5201         * docs/gst/Makefile.am:
5202         * docs/gst/gstreamer-docs.sgml:
5203         * docs/gst/gstreamer-sections.txt:
5204         * docs/gst/gstreamer.types:
5205         * gst/gstinfo.h:
5206           more docs fixes, add new api to the docs
5207
5208 2005-11-21  Andy Wingo  <wingo@pobox.com>
5209
5210         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
5211         state_broadcast call.
5212
5213         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
5214
5215 2005-11-21  Julien MOUTTE  <julien@moutte.net>
5216
5217         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
5218         function calls for arrays.
5219
5220 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
5221
5222         * docs/random/ensonic/media-device-daemon.txt:
5223           wild idea, can this be done?
5224         * docs/gst/gstreamer-sections.txt:
5225         * gst/gsterror.h:
5226         * gst/gstfilter.c:
5227         * gst/gstfilter.h:
5228         * gst/gstplugin.h:
5229         * gst/gstpluginfeature.c:
5230         * gst/gsttrace.c:
5231         * gst/gstvalue.c:
5232         * gst/gstvalue.h:
5233           doc fixes and additions
5234
5235 2005-11-21  Andy Wingo  <wingo@pobox.com>
5236
5237         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
5238         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
5239         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
5240         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
5241         private to the basesrc implementation.
5242
5243         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
5244         behalf of event function if necessary. It should no longer be
5245         necessary to take the stream lock in pad's event functions. Fixes
5246         #320299.
5247
5248 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5249         * docs/gst/gstreamer-sections.txt:
5250         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
5251         (gst_structure_fixate_field_nearest_double),
5252         (gst_structure_fixate_field_boolean):
5253         * gst/gststructure.h:
5254         * win32/common/libgstreamer.def:
5255         * win32/gstreamer.def:
5256
5257         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
5258         (#322027)
5259
5260 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
5261
5262         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
5263         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
5264         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
5265         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
5266         (gst_fdsrc_uri_handler_init):
5267         * gst/elements/gstfdsrc.h:
5268           Port fd:// URI handler from 0.8 to fdsrc
5269
5270 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5271
5272         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
5273         (gst_value_serialize_fourcc):
5274         * gst/gstvalue.h:
5275           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
5276           consistent with our other format defines (#320324).
5277
5278 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5279
5280         * gst/gstvalue.c: (gst_value_is_fixed):
5281           Revert previous commit. Value lists are by definition
5282           not fixed, as they are a list of possible values.
5283
5284 2005-11-21  Andy Wingo  <wingo@pobox.com>
5285
5286         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
5287         during the stable series if we need it. Fixes #319178.
5288
5289         * gst/gstevent.c (gst_event_new_filler): Removed.
5290
5291         * check/gst/gstevent.c: Update comment about filler events.
5292
5293 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5294
5295         * gst/gstvalue.c: (gst_value_is_fixed):
5296           Should handle both value arrays and value lists.
5297
5298 2005-11-21  Andy Wingo  <wingo@pobox.com>
5299
5300         patch by: Alessandro Dessina <alessandro nnva org>
5301
5302         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5303         functions to access arrays. Fixes #321962.
5304
5305 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5306
5307         * docs/gst/gstreamer.types:
5308           gst_collectpads_get_type => gst_collect_pads_get_type.
5309           
5310         * gst/base/gstbasetransform.c:
5311           Remove unused SIGNAL_HANDOFF enum.
5312
5313 2005-11-21  Andy Wingo  <wingo@pobox.com>
5314
5315         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5316         the event type (upstream, downstream, serialized). Renamed
5317         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5318         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5319         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5320
5321         * gst/gstevent.c: Update for new CUSTOM event names.
5322
5323         * check/gst/gstevent.c: Update check for new CUSTOM event names.
5324
5325         * gst/gstevent.h:
5326         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5327         bug #319392.
5328
5329 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5330
5331         * docs/gst/gstreamer-sections.txt:
5332         * win32/common/libgstbase.def:
5333         * win32/libgstbase.def:
5334         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5335         (gst_collect_pads_class_init), (gst_collect_pads_init),
5336         (gst_collect_pads_finalize), (gst_collect_pads_new),
5337         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5338         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5339         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5340         (gst_collect_pads_start), (gst_collect_pads_stop),
5341         (gst_collect_pads_peek), (gst_collect_pads_pop),
5342         (gst_collect_pads_available), (gst_collect_pads_read),
5343         (gst_collect_pads_flush), (gst_collect_pads_event),
5344         (gst_collect_pads_chain):
5345         * gst/base/gstcollectpads.h:
5346           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5347           unimplemented functions as unimplemented. Add padding to
5348           GstCollectData. (#320766, #320423)
5349
5350 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5351
5352         * gst/gstmessage.c:
5353           Improve docs for DURATION message (usage of duration parameter)
5354           (#320113)
5355
5356 2005-11-20  Wim Taymans  <wim@fluendo.com>
5357
5358         * check/Makefile.am:
5359         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5360         (main):
5361         * gst/Makefile.am:
5362         * gst/gst.h:
5363         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5364         (gst_segment_set_seek), (gst_segment_set_newsegment),
5365         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5366         (gst_segment_clip):
5367         * gst/gstsegment.h:
5368         Added segment helper structure and methods. Not fully implemented
5369         yet.
5370         Added segment check.
5371
5372 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5373
5374         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5375           Add a deserialisation test for fractions
5376         * examples/metadata/read-metadata.c: (message_loop),
5377         (make_pipeline), (main):
5378           Fix up metadata reading sample.
5379         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5380           Debug format fix
5381         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5382           Don't try and fixate empty caps
5383         * gst/gst_private.h:
5384           Wrap in G_BEGIN_DECLS/G_END_DECLS
5385         * gst/gstvalue.c: (gst_value_collect_fraction),
5386         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5387         (gst_value_transform_string_fraction),
5388         (gst_value_compare_fraction):
5389           Add some extra guards to ensure that we don't end up 
5390           with an invalid denominator of 0 in a gstfraction and
5391           that fractions always get reduced.
5392
5393 2005-11-20  Wim Taymans  <wim@fluendo.com>
5394
5395         * docs/gst/gstreamer-sections.txt:
5396         * gst/gstbuffer.h:
5397         * gst/gstelement.c:
5398         * gst/gstformat.c:
5399         * gst/gstformat.h:
5400         * gst/gstindex.h:
5401         * gst/gstquery.c:
5402         * gst/gstquery.h:
5403         * gst/gstvalue.c:
5404         Doc fixes.
5405
5406 2005-11-20  Wim Taymans  <wim@fluendo.com>
5407
5408         * docs/design/part-TODO.txt:
5409         * gst/gstcaps.h:
5410         Make a proper enum of the flag.
5411
5412 2005-11-19  Wim Taymans  <wim@fluendo.com>
5413
5414         * docs/design/part-TODO.txt:
5415         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5416         (gst_format_to_quark), (gst_format_register):
5417         * gst/gstformat.h:
5418         * gst/gstquery.c: (_gst_query_initialize),
5419         (gst_query_type_get_name), (gst_query_type_to_quark),
5420         (gst_query_type_register):
5421         * gst/gstquery.h:
5422         Add type to quark and type to string conversions.
5423
5424 2005-11-19  Andy Wingo  <wingo@pobox.com>
5425
5426         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5427         #320097.
5428
5429 2005-11-19  Wim Taymans  <wim@fluendo.com>
5430
5431         * docs/design/part-TODO.txt:
5432         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5433         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5434         (gst_bin_handle_message_func):
5435         * gst/gstbin.h:
5436         Make message handling overridable.
5437
5438 2005-11-19  Andy Wingo  <wingo@pobox.com>
5439
5440         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5441
5442         * gst/gstclock.h:
5443         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5444         be a GstClockTime.
5445         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5446         is a GstClockTime. Fixes #321710.
5447
5448         * gst/gstclock.h (GstClock): Remove offset property. Add
5449         internal_calibration and external_calibration. Fix padding. Pad
5450         also by GstClockTime so we don't run into problems.
5451
5452         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5453         (gst_clock_get_rate_offset): Remove.
5454         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5455
5456         * gst/gstutils.h:
5457         * gst/gstutils.c (g_static_rec_cond_wait)
5458         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5459
5460         * gst/gstbin.c: Remove terrible continue_state prototype.
5461
5462         * gst/gstelement.h (gst_element_continue_state): Make public.
5463
5464         * gst/gstelement.h:
5465         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5466         by continue_state. Fixes #319389.
5467
5468         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5469         Really fixes #168438. However I don't see anywhere where the
5470         filter function is called... stupid GStreamer...
5471         
5472         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5473         don't have a dispose function, so it won't get called when the
5474         object is unreffed, but oh well!
5475
5476         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5477         allows a destroy function to be set so user_data can be freed.
5478         Fixes #168438.
5479         (gst_index_set_filter): Call gst_index_set_filter_full.
5480
5481         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5482
5483         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5484         string should produce an error, given the lack of a way to
5485         represent NULL strings. Fixes #165650.
5486         
5487         * gst/gstvalue.h: 
5488         * gst/gstvalue.c (gst_value_array_append_value) 
5489         (gst_value_array_prepend_value, gst_value_array_get_size) 
5490         (gst_value_array_get_value): New API, copied from
5491         gst_value_list_*, only operates on arrays.
5492         (gst_value_list_append_value, gst_value_list_prepend_value) 
5493         (gst_value_list_concat, gst_value_list_get_size) 
5494         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5495
5496         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5497         init_list, because it works on both.
5498         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5499         (gst_value_copy_list_or_array): Renamed from copy_list.
5500         (gst_value_free_list_or_array): Renamed from free_list.
5501         (gst_value_collect_list_or_array): Renamed from collect_list.
5502         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5503         (gst_value_list_or_array_peek_pointer): Renamed from
5504         list_peek_pointer.
5505         (_gst_value_array_value_table, _gst_value_list_value_table):
5506         Update value table functions.
5507         (gst_value_compare_list_or_array): Renamed from compare_list.
5508
5509         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5510         some constness.
5511
5512         * gst/gsttaglist.c:
5513         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5514         GstTagList*. Fixes #143472.
5515
5516         * gst/gststructure.h: Clarify what the foreach/map functions can
5517         or can't do to their arguments.
5518
5519 2005-11-18  Wim Taymans  <wim@fluendo.com>
5520
5521         * gst/gstclock.c: (gst_clock_set_calibration),
5522         (gst_clock_get_calibration):
5523         Doc and API fixes.
5524         Calibration can be set with internal time equal to current
5525         internal time too.
5526
5527 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5528
5529         * gst/gsterror.c:
5530         * gst/gsterror.h:
5531           document
5532
5533 2005-11-18  Andy Wingo  <wingo@pobox.com>
5534
5535         * configure.ac: 
5536         * pkgconfig/gstreamer-net.pc.in:
5537         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5538         * pkgconfig/Makefile.am: Add net pkgconfig files.
5539
5540 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5541
5542         * gst/gstcaps.c:
5543         * gst/gstghostpad.c:
5544         * gst/gsttrace.c:
5545         * gst/gstvalue.c:
5546         * gst/gstvalue.h:
5547           docs fixes
5548
5549 2005-11-18  Andy Wingo  <wingo@pobox.com>
5550
5551         * gst/net/gstnetclientclock.c: Turn off debugging.
5552
5553         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5554         times connverge somewhat. Can't make a real test.
5555
5556         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5557         integer arithmetic. Return the minimum of the domain, which can be
5558         set as "internal" for gst_clock_set_calibration.
5559         (gst_net_client_clock_observe_times): Call _set_calibration.
5560         (gst_net_client_clock_new): Call _set_calibration instead of
5561         rate_offset.
5562
5563         * check/net/gstnetclientclock.c (test_functioning): Use the right
5564         adjustment api.
5565
5566         * gst/gstclock.h:
5567         * gst/gstclock.c (gst_clock_get_calibration) 
5568         (gst_clock_set_calibration): New functions, obsolete the ones I
5569         added yesterday. Doh. Precision issues mean we have to extrapolate
5570         from a point in the more recent past than 1970.
5571         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5572         obsolete.
5573         (gst_clock_adjust_unlocked): Use the right calibration data.
5574
5575 2005-11-18  Edward Hervey  <edward@fluendo.com>
5576
5577         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5578         Also reset the ->current_* values in READY->PAUSED
5579
5580 2005-11-18  Andy Wingo  <wingo@pobox.com>
5581
5582         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5583         Whoops, check the right fd. Also add some debugging.
5584         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5585         (do_linear_regression): Add a crapload of debugging. Subtract off
5586         the minimum values from the input series to discard unneeded bits.
5587         Use only int arithmetic. There is still double arithmetic when
5588         calculating the intercept that needs fixing. Return boolean to
5589         indicate success; FALSE would mean the domain or range is too
5590         great. Still needs fixes.
5591
5592 2005-11-18  Wim Taymans  <wim@fluendo.com>
5593
5594         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5595         For the current position in stream time, we need to subtract
5596         accumulated time.
5597         
5598         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5599         Release lock before calling the callback function of async
5600         entries.
5601
5602 2005-11-18  Andy Wingo  <wingo@pobox.com>
5603
5604         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5605         Port goes all the way to MAXUINT16.
5606
5607         * gst/net/gstnettimeprovider.c: Make the port range the same as
5608         for the kernel: 0 assigns, otherwise ports are less than
5609         MAXUINT16.
5610
5611         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5612         port change.
5613
5614         * check/net/gstnetclientclock.c (test_functioning): Add the start
5615         of another test. 
5616
5617 2005-11-18  Wim Taymans  <wim@fluendo.com>
5618
5619         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5620         (gst_bin_remove_func), (bin_bus_handler):
5621         * gst/gstbin.h:
5622         Removing a clock provider from a bin, triggers a clock lost message
5623         so that a new clock will be selected.
5624         Adding a clock to a bin triggers a clock provider message.
5625         Make sure we reselect a clock when we received a clock lost message.
5626         Keep a reference to the element that provided the clock.
5627
5628 2005-11-18  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5631         the clock initially so it produces values around the base time.
5632         (gst_net_client_clock_class_init): Typo fix.
5633         (gst_net_client_clock_thread): Add note on when the socket gets
5634         closed.
5635
5636 2005-11-17  Wim Taymans  <wim@fluendo.com>
5637
5638         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5639         Free remote and local time arrays.
5640
5641 2005-11-17  Wim Taymans  <wim@fluendo.com>
5642
5643         * gst/net/gstnetclientclock.c: (do_linear_regression),
5644         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5645         Fix compilation, uninitialized vars and a forgotten continue.
5646
5647 2005-11-17  Andy Wingo  <wingo@pobox.com>
5648
5649         * check/Makefile.am (check_PROGRAMS): 
5650         * check/net/gstnetclientclock.c: Add a most minimal test for the
5651         net client clock. More to come later.
5652
5653         * gst/net/gstnet.h: 
5654         * gst/net/Makefile.am: Add netclientclock.
5655
5656         * gst/net/gstnetclientclock.h:
5657         * gst/net/gstnetclientclock.c: New files, implement an untested
5658         GstClock that takes its time from a network time provider.
5659         Implements the algorithm in network-clock.scm.
5660
5661         * tests/network-clock.scm (*window-size*): Rename from
5662         *queue-length*.
5663         * tests/network-clock.scm (network-time): 
5664         * tests/network-clock-utils.scm (q-push): Update callers.
5665
5666 2005-11-17  Wim Taymans  <wim@fluendo.com>
5667
5668         * gst/gstbin.c: (gst_bin_provide_clock_func),
5669         (gst_bin_sort_iterator_new):
5670         And unref the child too..
5671
5672 2005-11-17  Wim Taymans  <wim@fluendo.com>
5673
5674         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5675         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5676         Refactor the sort iterator so it can be used while holding the
5677         LOCK too.
5678         Make clock selection select a clock closest to the source.
5679
5680 2005-11-17  Michael Smith <msmith@fluendo.com>
5681
5682         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5683         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5684         * gst/gstclock.h:
5685           Anonymous structs are a gcc (and some other compilers) extension, so
5686           don't use them. Since this is only for ABI-compatibility, and our
5687           API/ABI freeze is over in a few days, this whole thing will only
5688           last a few days, so don't bother trying to think up a meaningful
5689           name for the struct.
5690
5691 2005-11-17  Andy Wingo  <wingo@pobox.com>
5692
5693         * gst/gstclock.h (GstClock): Add rate and offset properties,
5694         preserving ABI stability. Add rate/offset accessors. Will file bug
5695         for the freeze break.
5696
5697         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5698         and offset, trying to keep precision and avoiding
5699         underflow/overflow.
5700         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5701         functions. Make gst_clock_set_time_adjust obsolete.
5702         (gst_clock_set_time_adjust): Note that this function is obsolete.
5703         Will file bug soon.
5704
5705         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5706         greppable by using GST_PADDING-1+1.
5707
5708 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5709
5710         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5711
5712         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5713           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5714
5715         * gst/gstpadtemplate.h:
5716         * gst/gstpluginfeature.h:
5717           Don't use c++ style comments in headers (#321638).
5718
5719 2005-11-16  Andy Wingo  <wingo@pobox.com>
5720
5721         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5722         buffer.
5723
5724         * check/net/gstnettimeprovider.c: Check to see that the time
5725         provider actually provides times. Works, yo!
5726
5727 2005-11-16  Wim Taymans  <wim@fluendo.com>
5728
5729         * check/Makefile.am:
5730         Enable more tests.
5731
5732         * check/elements/fakesrc.c: (GST_START_TEST):
5733         Set element to NULL before disposing it.
5734
5735 2005-11-16  Andy Wingo  <wingo@pobox.com>
5736
5737         * gst/net/Makefile.am:
5738         * gst/net/gstnet.h:
5739         * gst/net/gstnettimeprovider.c: 
5740         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5741         provider, include it from gstnet.h, and add it to the build.
5742
5743         * gst/net/gstnettimepacket.h: 
5744         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5745         sending and receiving.
5746
5747 2005-11-16  Wim Taymans  <wim@fluendo.com>
5748
5749         * check/Makefile.am:
5750         Enable valgrind check.
5751
5752         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5753         (gst_fake_src_alloc_buffer):
5754         Fix memleak.
5755
5756 2005-11-16  Wim Taymans  <wim@fluendo.com>
5757
5758         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5759         Call parent finalize too.
5760
5761 2005-11-16  Wim Taymans  <wim@fluendo.com>
5762
5763         * check/Makefile.am:
5764         Enable valgrind check that should work fine now.
5765
5766         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5767         * gst/gstqueue.c: (gst_queue_init):
5768         Fix memleaks in pad allocation.
5769
5770 2005-11-16  Andy Wingo  <wingo@pobox.com>
5771
5772         * gst/net/Makefile.am:
5773         * gst/net/gstnet.h: New part of core to hold network elements and
5774         objects. Put in core because it exposes API that applications want
5775         to use. The library is named libgstnet-tempname right now because
5776         of the existing libgstnet in gst-plugins-base. Solution is
5777         probably to rename the one in plugins-base; will file a bug for
5778         the freeze break.
5779
5780         * gst/net/gstnettimeprovider.c: 
5781         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5782         get_time call over the network.
5783
5784         * configure.ac: 
5785         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5786
5787         * check/Makefile.am:
5788         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5789         get additions shortly.
5790
5791 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5792
5793         * gst/gstpad.c: (gst_pad_new_from_static_template):
5794         * gst/gstpad.h:
5795           add gst_pad_new_from_static_template functions
5796         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5797         (gst_check_setup_sink_pad):
5798         * gst/elements/gsttee.c: (gst_tee_init):
5799           and use them
5800
5801 2005-11-16  Wim Taymans  <wim@fluendo.com>
5802
5803         * gst/gstpad.c: (gst_pad_pause_task):
5804         Removed warning, it's not really an error either.
5805
5806 2005-11-16  Wim Taymans  <wim@fluendo.com>
5807
5808         * gst/base/gstbasetransform.c:
5809         (gst_base_transform_prepare_output_buf),
5810         (gst_base_transform_event):
5811         Check if the caps are NULL, this can happen if the element
5812         is shutting down and the pad caps are set to NULL.
5813
5814 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5815
5816         * gst/elements/gsttee.c: (gst_tee_init):
5817           fix pad template leak in tee
5818
5819 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5820
5821         * gst/glib-compat.c: (g_value_dup_gst_object):
5822         * gst/glib-compat.h:
5823         * gst/gstpad.c: (gst_pad_set_property):
5824           use gst_object_ref when setting the pad template; this will
5825           trigger the pad template leaks on GLib 2.6 and the slaves
5826
5827 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * gst/glib-compat.c: (gst_flags_get_first_value):
5830         * gst/glib-compat.h:
5831         * gst/gstregistryxml.c:
5832           remove functions copied from GLib 2.6
5833
5834 2005-11-16  Michael Smith <msmith@fluendo.com>
5835
5836         * gst/Makefile.am:
5837           Don't link against VALGRIND_LIBS. That was always the wrong thing to
5838           do, but only breaks with newer valgrind versions. We're not a
5839           valgrind tool, we have no link-time dependencies on libcoregrind.
5840
5841 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5842
5843         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5844           some debug changes
5845         * gst/gstmessage.h:
5846           typo fixes
5847
5848 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5849
5850         * gst/base/gstbasesrc.c: (gst_base_src_init):
5851         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5852         * gst/gstqueue.c: (gst_queue_init):
5853         * gst/gstregistryxml.c: (load_feature):
5854           Revert all these unrefs, they don't even pass make check !
5855
5856 2005-11-15  Johan Dahlin  <johan@gnome.org>
5857
5858         * gst/base/gstbasesrc.c: (gst_base_src_init):
5859         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5860         * gst/gstqueue.c: (gst_queue_init): 
5861         Free pad templates, fixes a couple of leaks.
5862
5863 2005-11-15  Daniel Fischer  <dan at f3c dot com>
5864
5865         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * gst/gstpad.c: (gst_pad_get_property):
5868           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5869           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5870           (#321452)
5871
5872 2005-11-15  Wim Taymans  <wim@fluendo.com>
5873
5874         * gst/gstevent.c:
5875         Small doc update.
5876
5877 2005-11-15  Andy Wingo  <wingo@pobox.com>
5878
5879         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5880
5881         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5882         using GST_CLOCK_TIME_NONE to disable base time management.
5883         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5884         time if it was NONE before.
5885         (gst_pipeline_change_state): Only munge the base time if
5886         stream_time != GST_CLOCK_TIME_NONE.
5887
5888         * check/gst/gstpipeline.c (test_base_time): Punt around the
5889         problem of the probe not being called, because that's not the
5890         issue I'm looking at. Add a check that setting stream_time to NONE
5891         disables base time management.
5892         
5893 2005-11-15  Wim Taymans  <wim@fluendo.com>
5894
5895         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5896         segment_stop == -1 at startup.
5897
5898         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5899         (gst_base_transform_change_state):
5900         Init segment values at start.
5901
5902 2005-11-15  Wim Taymans  <wim@fluendo.com>
5903
5904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5905         0 segment values are 0 in any format.
5906
5907         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5908         * gst/base/gstbasetransform.h:
5909         Parse newsegment correctly in basetransform
5910
5911         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5912         Sync to clock using updated segment values.
5913
5914 2005-11-15  Andy Wingo  <wingo@pobox.com>
5915
5916         * check/gst/gstpipeline.c (test_base_time): Add check that the
5917         base time and stream time are reset correctly.
5918
5919 2005-11-15  Wim Taymans  <wim@fluendo.com>
5920
5921         * docs/design/part-TODO.txt:
5922         Some more TODO items.
5923
5924 2005-11-15  Andy Wingo  <wingo@pobox.com>
5925
5926         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5927         error if the user selected "no clock" as the clocking method.
5928
5929         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5930         timestamps with live capture.
5931
5932         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5933         is 0 but we are a live source, timestamp the buffers using the
5934         element's clock.
5935
5936 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5937
5938         * docs/gst/gstreamer-sections.txt:
5939         * gst/gsterror.c:
5940         * gst/gstghostpad.c:
5941         * gst/gstobject.h:
5942         * gst/gstxml.c:
5943           more section docs
5944
5945 2005-11-14  Wim Taymans  <wim@fluendo.com>
5946
5947         * common/gst.supp:
5948           add suppressions from Wim's Debian machine
5949
5950 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5951
5952         * common/gst.supp:
5953           add suppressions from Andy's AMD64 Ubuntu machine
5954
5955 2005-11-14  Andy Wingo  <wingo@pobox.com>
5956
5957         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5958         STATE_LOCK not necessary. Fixes #311489.
5959
5960         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5961         #305291.
5962
5963         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5964         this function is not implemented.
5965
5966 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5967
5968         * gst/base/gstbasetransform.c:
5969         (gst_base_transform_prepare_output_buf):
5970         Ref the source pad caps while we need them.
5971         Fixes (#321386)
5972
5973 2005-11-11  Wim Taymans  <wim@fluendo.com>
5974
5975         * docs/gst/gstreamer-sections.txt:
5976         Added some docs for GstCollectData.
5977
5978         * gst/base/gstadapter.c:
5979         Some small code example fix.
5980
5981         * gst/base/gstcollectpads.c:
5982         * gst/base/gstcollectpads.h:
5983         Document some more.
5984
5985 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5986
5987         * configure.ac: back to HEAD
5988
5989 === release 0.9.5 ===
5990
5991 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5992
5993         * configure.ac:
5994           releasing 0.9.5, "Bike Lunch Day"
5995
5996 2005-11-11  Wim Taymans  <wim@fluendo.com>
5997
5998         * gst/gstbuffer.c: (_gst_buffer_copy):
5999         Copy more flags.
6000
6001         * gst/gstcaps.c: (gst_caps_is_equal):
6002         Fix some docs.
6003         Make _is_equal fast in the trivial cases.
6004
6005         * gst/gstminiobject.c:
6006         * gst/gstminiobject.h:
6007         More docs. Spifify .h file.
6008
6009         * gst/gstutils.c:
6010         Small doc update.
6011
6012 2005-11-11  Wim Taymans  <wim@fluendo.com>
6013
6014         * gst/base/gstbasetransform.c:
6015         (gst_base_transform_prepare_output_buf),
6016         (gst_base_transform_handle_buffer):
6017         Small cleanups.
6018         If we're processing a buffer and need to allocate an output
6019         buffer, we cannot accept a format change. If we did get a 
6020         format change, we have to alloc a buffer ourselves of the 
6021         right size.
6022
6023 2005-11-11  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6026         While checking the flag for reentrancy in the gstcaps function
6027         is nice to detect recursive invocations, it also makes it 
6028         impossible to call getcaps from multiple threads, which must be
6029         possible. So, checking for recursive calls has to go.
6030
6031 2005-11-11  Michael Smith <msmith@fluendo.com>
6032
6033         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6034           Don't sync on buffers that fall partially outside our current
6035           segment. Prevents an assertion failure/abort playing some files.
6036
6037 2005-11-10  Andy Wingo  <wingo@pobox.com>
6038
6039         * check/gst/gstbin.c (test_message_state_changed_children): Style
6040         fix..
6041
6042         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6043         gst_bus_poll with the signal watch. Ensures that poll and a signal
6044         watch see the same messages.
6045
6046         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6047         a poll and a watch at the same time get the same messages.
6048
6049 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6050
6051         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6052         * gst/gstcaps.c: (gst_caps_intersect):
6053           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6054           and it's not needed.
6055
6056 2005-11-10  Wim Taymans  <wim@fluendo.com>
6057
6058         * docs/design/part-TODO.txt:
6059         Updated todo.
6060
6061 2005-11-10  Wim Taymans  <wim@fluendo.com>
6062
6063         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6064         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6065         (gst_base_src_do_sync), (gst_base_src_get_range):
6066         Implement clock sync in base class.
6067
6068 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         patch by: Tim-Philipp Müller <tim at centricular dot net>
6071
6072         * gst/gststructure.c: (gst_structure_parse_field),
6073         (gst_structure_from_string):
6074           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6075           so that gst_parse_launch() can deal with spaces in filtered link
6076           caps (fixes #164479)
6077         * check/gst/capslist.h:
6078         * check/gst/gststructure.c: (GST_START_TEST):
6079           add unit tests for this change
6080
6081 2005-11-10  Wim Taymans  <wim@fluendo.com>
6082
6083         * docs/gst/gstreamer-sections.txt:
6084         * gst/gstelement.c:
6085         * gst/gstelement.h:
6086         Fix docs, move some STATE macros to private.
6087
6088 2005-11-10  Wim Taymans  <wim@fluendo.com>
6089
6090         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6091         Added check for bug #317341
6092
6093         * gst/gstbuffer.c:
6094         * gst/gstbuffer.h:
6095         Some more spiffifying.
6096
6097         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6098         Call peer linkfunction if we are a source pad. Totally fixes
6099         #317341
6100
6101         * gst/gstpad.c:
6102         Update docs, source pads should call the peer linkfunction
6103         so they can atomically perform the pad link.
6104
6105 2005-11-09  Wim Taymans  <wim@fluendo.com>
6106
6107         * gst/gstbuffer.c:
6108         * gst/gstbuffer.h:
6109         Uber-spiffy-spiffify some more.
6110
6111 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6114         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6115         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6116         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6117         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6118         * gst/gstpad.c: (gst_pad_init):
6119           Use GST_DEBUG_FUNCPTR() more extensively.
6120
6121 2005-11-09  Wim Taymans  <wim@fluendo.com>
6122
6123         * gst/gstobject.c: (gst_object_class_init):
6124         * gst/gstobject.h:
6125         Documentation fixes.
6126
6127 2005-11-09  Edward Hervey  <edward@fluendo.com>
6128
6129         * gst/gsttypefindfactory.c:
6130         Fix docs.
6131         
6132 2005-11-09  Edward Hervey  <edward@fluendo.com>
6133
6134         * gst/base/gsttypefindhelper.c:
6135         * gst/gsttypefind.c:
6136         * gst/gsttypefind.h:
6137         Fix docs.
6138
6139 2005-11-09  Wim Taymans  <wim@fluendo.com>
6140
6141         * gst/gstiterator.c:
6142         Fix revision data.
6143
6144         * gst/gsttask.c:
6145         * gst/gsttask.h:
6146         Fix docs.
6147
6148 2005-11-09  Wim Taymans  <wim@fluendo.com>
6149
6150         * gst/gstevent.h:
6151         * gst/gsturi.h:
6152         Fix docs.
6153
6154 2005-11-09  Wim Taymans  <wim@fluendo.com>
6155
6156         * docs/gst/gstreamer-sections.txt:
6157         Moved the message async delivery private lock and cond
6158         to the private section.
6159
6160         * gst/gstmessage.c:
6161         * gst/gstmessage.h:
6162         Fixed docs.
6163
6164 2005-11-09  Edward Hervey  <edward@fluendo.com>
6165
6166         * docs/gst/gstreamer-sections.txt:
6167         * gst/gsturi.c:
6168         * gst/gsturi.h:
6169         Document GstURIHandler
6170
6171 2005-11-09  Wim Taymans  <wim@fluendo.com>
6172
6173         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
6174         (gst_iterator_find_custom):
6175         * gst/gstiterator.h:
6176         Fix iterator docs.
6177
6178 2005-11-09  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/gstbin.h:
6181         Document another field.
6182
6183         * gst/gststructure.c:
6184         * gst/gststructure.h:
6185         Document.
6186
6187 2005-11-09  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.h:
6190         Documented structs.
6191
6192 2005-11-09  Wim Taymans  <wim@fluendo.com>
6193
6194         * docs/gst/gstreamer-sections.txt:
6195         Added some new macros.
6196
6197         * gst/gstclock.c:
6198         * gst/gstclock.h:
6199         * gst/gstobject.h:
6200         Docs updates.
6201
6202 2005-11-09  Wim Taymans  <wim@fluendo.com>
6203
6204         * docs/design/part-TODO.txt:
6205         Some more items for the TODO
6206
6207         * gst/gstcaps.c:
6208         * gst/gstcaps.h:
6209         Document GstCaps.
6210
6211 2005-11-09  Andy Wingo  <wingo@pobox.com>
6212
6213         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
6214         to work on something else now tho...
6215
6216         * gst/base/gstadapter.c: More adapter docs.
6217
6218         * gst/elements/gstfilesink.c (gst_file_sink_start) 
6219         (gst_file_sink_stop): New functions, replace the state change
6220         handler.
6221         (gst_file_sink_class_init): Hook up the start and stop functions.
6222         (gst_file_sink_base_init): Don't set the state change handler any
6223         more. It was a bit ugly too, being set from here...
6224         (gst_file_sink_get_property, gst_file_sink_set_property):
6225         Cleanups...
6226         (gst_file_sink_set_location): More robust check that doesn't call
6227         GST_STATE. Ugggggg.
6228
6229 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6232           Hold STREAM_LOCK while pushing newsegment or tag events as well.
6233
6234 2005-11-08  Wim Taymans  <wim@fluendo.com>
6235
6236         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6237         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6238         (gst_base_sink_chain), (gst_base_sink_change_state):
6239         * gst/base/gstbasesink.h:
6240         * gst/base/gstbasesrc.h:
6241         * gst/gstelement.h:
6242         * gst/gstevent.h:
6243         Avoid excessive typechecking in macros.
6244
6245         * gst/gstminiobject.c: (gst_mini_object_get_type),
6246         (gst_mini_object_init), (gst_mini_object_new),
6247         (gst_mini_object_free):
6248         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6249         (gst_object_finalize):
6250         Remove cruft code, optimize alloc_trace.
6251
6252 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6253
6254         * docs/faq/gst-uninstalled:
6255           fix up PS1 for systems that try to reset it
6256
6257 2005-11-07  Wim Taymans  <wim@fluendo.com>
6258
6259         * gst/base/gstbasesrc.c: (gst_base_src_init),
6260         (gst_base_src_get_range):
6261         Set the segment_end to -1 initially. Fixed typefind.
6262
6263 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6264
6265         * gst/base/gstadapter.c:
6266           Debug category should be 'adapter', not 'GstAdapter'.
6267           
6268         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
6269         (gst_collectpads_class_init), (gst_collectpads_init),
6270         (gst_collectpads_peek), (gst_collectpads_pop),
6271         (gst_collectpads_event), (gst_collectpads_chain):
6272           Add debug category and some debugging output. Use boilerplate
6273           macros. Remove some extraneous words from docs.
6274
6275 2005-11-05  Andy Wingo  <wingo@pobox.com>
6276
6277         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
6278         macro.
6279
6280 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6281
6282         * docs/gst/gstreamer-sections.txt:
6283         * gst/gstcaps.h:
6284         * gst/gstinfo.c:
6285         * gst/gstminiobject.h:
6286         * gst/gstobject.h:
6287         * gst/gstutils.h:
6288           more docs added
6289
6290 2005-11-04  Wim Taymans  <wim@fluendo.com>
6291
6292         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6293         Small update to stop at the configured segment_end
6294         position.
6295
6296 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
6297
6298         * gst/gstregistry.c:
6299         * gst/gstregistry.h:
6300           added missing docs
6301
6302 2005-11-04  Edward Hervey  <edward@fluendo.com>
6303
6304         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6305         Check if we are doing a segment seek and have arrived at the
6306         end of that segment.
6307
6308 2005-11-04  Wim Taymans  <wim@fluendo.com>
6309
6310         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6311         Don't leak a mutex unlock in case of an error.
6312
6313         * gst/gstbus.h:
6314         Doc fixes.
6315
6316 2005-11-04  Wim Taymans  <wim@fluendo.com>
6317
6318         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6319         (gst_bus_post):
6320         Get the context to wake up only once.
6321
6322 2005-11-03  Wim Taymans  <wim@fluendo.com>
6323
6324         * check/states/sinks.c: (GST_START_TEST):
6325         Uncomment fixed check.
6326
6327         * docs/design/part-TODO.txt:
6328         Updated TODO.
6329
6330         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6331         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6332         (gst_base_sink_get_position):
6333         If we are going to PLAYING, post the right pending state
6334         when we post the intermediate paused message.
6335
6336         * gst/gstelement.c: (gst_element_continue_state),
6337         (gst_element_set_state_func), (gst_element_change_state):
6338         Don't post state changes that were between the same state
6339         and were not ASYNC.
6340
6341 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6342
6343         * docs/gst/gstreamer-sections.txt:
6344         * gst/gstcaps.h:
6345         * gst/gstinfo.c:
6346         * gst/gstminiobject.h:
6347         * gst/gstobject.h:
6348         * gst/gstutils.h:
6349           more docs and doc style fixes
6350
6351 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6352
6353         * docs/gst/gstreamer-sections.txt:
6354         * gst/gstelement.c:
6355         * gst/gstminiobject.c:
6356         doc fixes
6357
6358 2005-11-03  Andy Wingo  <wingo@pobox.com>
6359
6360         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6361         state-changed messages actually have the right order and the right
6362         values.
6363
6364 2005-11-03  Wim Taymans  <wim@fluendo.com>
6365
6366         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6367         Added some more checks. Specifically the case where NO_PREROLL
6368         elements are in the pipeline.
6369
6370         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6371         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6372         (gst_base_sink_get_position):
6373         Post READY->PAUSED state change messages too.
6374         Fix bug where VOID was posted as pending state...
6375
6376         * gst/gstbin.c: (gst_bin_recalc_state):
6377         use _element_continue_state() to continue the state change.
6378
6379         * gst/gstelement.c: (gst_element_continue_state),
6380         (gst_element_commit_state), (gst_element_set_state_func),
6381         (gst_element_change_state), (gst_element_change_state_func):
6382         Lots of state change cleanups, assign the STATE_RETURN in
6383         a new continue_state() function that also propagates the
6384         last return value from a state change to the app.
6385         Update some debug statements with proper category.
6386
6387 2005-11-03  Wim Taymans  <wim@fluendo.com>
6388
6389         * docs/design/part-events.txt:
6390         * docs/design/part-gstpipeline.txt:
6391         * docs/design/part-messages.txt:
6392         * docs/design/part-overview.txt:
6393         * docs/design/part-seeking.txt:
6394         * docs/design/part-states.txt:
6395         * docs/design/part-trickmodes.txt:
6396         * docs/manual/advanced-position.xml:
6397         Small docs updates.
6398
6399         * gst/gstobject.h:
6400         People think !! is ugly, this looks better.
6401
6402         * gst/gstpad.c: (gst_pad_set_blocked_async):
6403         Remove !! since it's fixed elsewhere now.
6404
6405 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6406
6407         * gst/gstminiobject.h:
6408         * gst/gstobject.h:
6409           Add !! to _FLAG_IS_SET macros to make the result boolean.
6410
6411 2005-11-03  Edward Hervey  <edward@fluendo.com>
6412
6413         * gst/gstpad.c: (gst_pad_set_blocked_async):
6414         comparing a flag and a gboolean rarely returns coherent results...
6415         Added two characters (!!) to make that work correctly.
6416         
6417 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6418
6419         * gst/gstbus.c: (gst_bus_class_init):
6420           Fix some typos.
6421           
6422         * gst/gstqueue.c: (gst_queue_loop):
6423           Don't assume a miniobject that isn't a buffer is an
6424           event (it could be that there is a refcounting
6425           problem somewhere and the pointer is stale and
6426           refers to an already destroyed miniobject).
6427
6428 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6429
6430         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6431
6432 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6433
6434         * docs/manual/advanced-position.xml:
6435           Update seek example and explanations to current 0.9 API.
6436
6437         * gst/elements/gsttypefindelement.c:
6438         (gst_type_find_element_activate):
6439           Remove FIXME comment now that the found caps
6440           are unreffed.
6441
6442 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6443
6444         * gst/gstregistryxml.c: (load_feature):
6445           Add another GST_STR_NULL instance
6446
6447 2005-11-02  Edward Hervey  <edward@fluendo.com>
6448
6449         * gst/gstpad.c: (handle_pad_block):
6450         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6451         
6452 2005-11-02  Wim Taymans  <wim@fluendo.com>
6453
6454         * gst/gstbin.c:
6455         Fix typo in docs.
6456
6457         * gst/gstelement.c: (gst_element_commit_state):
6458         Remove unused value.
6459
6460         * gst/gstiterator.c:
6461         Mention that the returned element is reffed in the docs.
6462
6463 2005-11-02  Wim Taymans  <wim@fluendo.com>
6464
6465         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6466         (gst_pad_push), (gst_pad_push_event):
6467         Unlock blocked pads when they are flushed.
6468
6469 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * docs/README:
6472         * docs/gst/gstreamer-sections.txt:
6473         * gst/gstbin.c:
6474           doc updates
6475         * gst/gstregistry.c: (gst_registry_scan_path_level):
6476           fix for a nasty little missed situation where an installed plug-in
6477           which was in the cache did not get overridden by an uninstalled one
6478           which was earlier in the plugin path because the newly created plugin
6479           for the uninstalled one (not in the registry) didn't get its
6480           ->registered set to TRUE
6481
6482 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6483
6484         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6485         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6486         (gst_collectpads_is_active), (gst_collectpads_collect),
6487         (gst_collectpads_collect_range), (gst_collectpads_start),
6488         (gst_collectpads_stop), (gst_collectpads_peek),
6489         (gst_collectpads_pop), (gst_collectpads_available),
6490         (gst_collectpads_read), (gst_collectpads_flush):
6491           Guard public API with assertions.
6492         
6493         * gst/gstpad.c:
6494           Fix docs for gst_pad_set_link_function().
6495
6496 2005-11-02  Johan Dahlin  <johan@gnome.org>
6497
6498         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6499         Unref found_caps after we used it.
6500
6501 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6504           Don't try to ref NULL.
6505
6506 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * win32/common/config.h.in:
6509           provide a GST_FUNCTION that just gives a string for now
6510
6511 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6514         (gst_object_flags_get_type), (register_gst_bin_flags),
6515         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6516         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6517         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6518         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6519         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6520         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6521         (gst_clock_flags_get_type), (register_gst_state),
6522         (gst_state_get_type), (register_gst_state_change_return),
6523         (gst_state_change_return_get_type), (register_gst_state_change),
6524         (gst_state_change_get_type), (register_gst_element_flags),
6525         (gst_element_flags_get_type), (register_gst_core_error),
6526         (gst_core_error_get_type), (register_gst_library_error),
6527         (gst_library_error_get_type), (register_gst_resource_error),
6528         (gst_resource_error_get_type), (register_gst_stream_error),
6529         (gst_stream_error_get_type), (register_gst_event_type),
6530         (gst_event_type_get_type), (register_gst_seek_type),
6531         (gst_seek_type_get_type), (register_gst_seek_flags),
6532         (gst_seek_flags_get_type), (register_gst_format),
6533         (gst_format_get_type), (register_gst_index_certainty),
6534         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6535         (gst_index_entry_type_get_type),
6536         (register_gst_index_lookup_method),
6537         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6538         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6539         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6540         (gst_index_flags_get_type), (register_gst_debug_level),
6541         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6542         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6543         (gst_iterator_result_get_type), (register_gst_iterator_item),
6544         (gst_iterator_item_get_type), (register_gst_message_type),
6545         (gst_message_type_get_type), (register_gst_mini_object_flags),
6546         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6547         (gst_pad_link_return_get_type), (register_gst_flow_return),
6548         (gst_flow_return_get_type), (register_gst_activate_mode),
6549         (gst_activate_mode_get_type), (register_gst_pad_direction),
6550         (gst_pad_direction_get_type), (register_gst_pad_flags),
6551         (gst_pad_flags_get_type), (register_gst_pad_presence),
6552         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6553         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6554         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6555         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6556         (gst_plugin_flags_get_type), (register_gst_rank),
6557         (gst_rank_get_type), (register_gst_query_type),
6558         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6559         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6560         (gst_tag_flag_get_type), (register_gst_task_state),
6561         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6562         (gst_alloc_trace_flags_get_type),
6563         (register_gst_type_find_probability),
6564         (gst_type_find_probability_get_type), (register_gst_uri_type),
6565         (gst_uri_type_get_type), (register_gst_parse_error),
6566         (gst_parse_error_get_type):
6567         * win32/common/gstversion.h:
6568           update win32 copies
6569
6570 2005-11-01  Luca Ognibene  <luogni@tin.it>
6571
6572         * gst/gst.c:
6573           fix docs. popt is dead, long live GOption.
6574
6575 2005-10-31  Wim Taymans  <wim@fluendo.com>
6576
6577         * gst/gstbuffer.h:
6578         Small doc fix.
6579
6580 2005-10-31  Andy Wingo  <wingo@pobox.com>
6581
6582         * Boo!
6583
6584         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6585
6586         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6587         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6588         the possibility of deadlocks here if code calling notify() or
6589         set() has a lock that can be taken in another notify handler (ABBA
6590         with class lock and e.g. python GIL state lock).
6591
6592 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6593
6594         * gst/gstbus.c: Doc updates.
6595
6596 2005-10-28  Wim Taymans  <wim@fluendo.com>
6597
6598         * docs/design/part-TODO.txt:
6599         * gst/gstiterator.c:
6600         * gst/gstsystemclock.c:
6601         * gst/gstsystemclock.h:
6602         Doc updates.
6603
6604 2005-10-28  Edward Hervey  <edward@fluendo.com>
6605
6606         * docs/gst/gstreamer-docs.sgml:
6607         * docs/gst/gstreamer-sections.txt:
6608         the GstURIType documentation page is private, it only defines GstURIType
6609         which should be defined in the GstURIHandler page
6610         
6611 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6612
6613         * gst/gstbin.c: (gst_bin_class_init):
6614         * gst/gstbin.h:
6615         * gst/gstutils.c:
6616         Documentation updates.
6617
6618 2005-10-28  Wim Taymans  <wim@fluendo.com>
6619
6620         * docs/gst/gstreamer-sections.txt:
6621         * gst/gstclock.c:
6622         * gst/gstclock.h:
6623         Documented the clocks.
6624
6625 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6626
6627         * docs/gst/gstreamer-sections.txt:
6628           move some macros to private sections
6629         * gst/gstminiobject.c:
6630         * gst/gstminiobject.h:
6631           add descriptions provided by ds and some more
6632         * gst/gstpad.h:
6633           mark macro as to be removed
6634
6635 2005-10-28  Wim Taymans  <wim@fluendo.com>
6636
6637         * docs/design/part-TODO.txt:
6638         Add an item to TODO.
6639
6640         * gst/gstiterator.c: (gst_iterator_fold),
6641         (gst_iterator_find_custom):
6642         * gst/gstiterator.h:
6643         Add iterator docs.
6644
6645 2005-10-28  Wim Taymans  <wim@fluendo.com>
6646
6647         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6648         (gst_base_transform_init):
6649         Don't leak class.
6650
6651         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6652         An EOS event marks the queue as completely filled.
6653
6654 2005-10-27  Wim Taymans  <wim@fluendo.com>
6655
6656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6657         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6658         Some more debugging.
6659
6660         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6661         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6662         (gst_base_transform_event), (gst_base_transform_getrange),
6663         (gst_base_transform_chain):
6664         * gst/base/gstbasetransform.h:
6665         Fix debugging,
6666         Protect transform and concurrent buffer alloc with a new lock.
6667         Try not to break ABI/API.
6668
6669 2005-10-27  Wim Taymans  <wim@fluendo.com>
6670
6671         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6672         (gst_base_src_init), (gst_base_src_query),
6673         (gst_base_src_default_newsegment),
6674         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6675         (gst_base_src_send_event), (gst_base_src_event_handler),
6676         (gst_base_src_pad_get_range), (gst_base_src_loop),
6677         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6678         (gst_base_src_start), (gst_base_src_deactivate),
6679         (gst_base_src_activate_push), (gst_base_src_change_state):
6680         Move some stuff around and cleanup things.
6681
6682 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6683
6684         * gst/base/gstbasesrc.c: (gst_base_src_query):
6685           Add missing break statements.
6686
6687 2005-10-27  Wim Taymans  <wim@fluendo.com>
6688
6689         * check/gst/gstbin.c: (GST_START_TEST):
6690         An extra refcount is taken in basesrc.
6691
6692         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6693         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6694         (gst_base_src_loop):
6695         Small cleanups, check for flushing after being unlocked from the 
6696         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6697         Don't send out EOS when going to READY.
6698
6699 2005-10-27  Wim Taymans  <wim@fluendo.com>
6700
6701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6702         (gst_base_sink_get_position):
6703         Some more debug.
6704
6705         * gst/gstbin.c: (message_check), (bin_replace_message),
6706         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6707         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6708         (bin_query_duration_init), (bin_query_duration_fold),
6709         (bin_query_duration_done), (bin_query_generic_fold),
6710         (gst_bin_query):
6711         * tools/gst-launch.c: (main):
6712         Remove old option.
6713
6714 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * examples/controller/audio-example.c: (main):
6717         * examples/queue/queue.c: (event_loop):
6718         * gst/base/gstbasetransform.h:
6719         * gst/gstelement.c: (gst_element_send_event):
6720         * gst/gstevent.h:
6721         * gst/gstpad.c: (gst_pad_send_event):
6722           fixing examples
6723           fixing docs typos
6724           changing log priority in error situations
6725
6726 2005-10-25  Wim Taymans  <wim@fluendo.com>
6727
6728         * gst/gstbin.c: (message_check), (bin_replace_message),
6729         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6730         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6731         (bin_query_duration_init), (bin_query_duration_fold),
6732         (bin_query_duration_done), (bin_query_generic_fold),
6733         (gst_bin_query):
6734         Some doc and debug updates.
6735         Cache previously requested query DURATION for speed. invalidate
6736         cached duration if element posts a DURATION message.
6737
6738 2005-10-25  Wim Taymans  <wim@fluendo.com>
6739
6740         * docs/design/part-TODO.txt:
6741         Update TODO.
6742
6743         * gst/gstbin.c: (message_check), (bin_replace_message),
6744         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6745         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6746         (bin_query_duration_init), (bin_query_duration_fold),
6747         (bin_query_duration_done), (bin_query_generic_fold),
6748         (gst_bin_query):
6749         Handle SEGMENT_START/DONE messages correctly.
6750         More evolved query algorithm that handles duration queries
6751         correctly.
6752
6753         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6754         (gst_element_get_state_func), (gst_element_abort_state),
6755         (gst_element_commit_state), (gst_element_lost_state):
6756         Some more debugging.
6757
6758         * gst/gstmessage.h:
6759         Added doc.
6760
6761 2005-10-25  Wim Taymans  <wim@fluendo.com>
6762
6763         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6764         Don't use invalid stream_time.
6765
6766         * gst/gstevent.c: (gst_event_new_newsegment):
6767         stream_time in newsegment cannot be undefined.
6768
6769 2005-10-24  Wim Taymans  <wim@fluendo.com>
6770
6771         * gst/gstbus.c:
6772         Doc fix.
6773
6774         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6775         (gst_queue_loop):
6776         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6777
6778 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6779
6780         * docs/libs/tmpl/gstdparam.sgml:
6781         * docs/libs/tmpl/gstdplinint.sgml:
6782         * docs/libs/tmpl/gstdpman.sgml:
6783         * docs/libs/tmpl/gstdpsmooth.sgml:
6784         * docs/libs/tmpl/gstunitconvert.sgml:
6785           these are obsolete
6786
6787 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * configure.ac:
6790           back to HEAD
6791
6792 === release 0.9.4 ===
6793
6794 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * configure.ac:
6797           releasing 0.9.4, "Tyrannosaurus Rex"
6798
6799 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6800
6801         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6802         (gst_file_sink_get_current_offset):
6803           Use fseeko() and ftello() if available. When falling back on
6804           lseek() to get the current offset, fflush() first to make sure
6805           everything is up-to-date and we get the right offset.
6806
6807 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6810         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6811         * gst/gsterror.c: (_gst_stream_errors_init):
6812         * gst/gsterror.h:
6813         * gst/gstqueue.c: (gst_queue_loop):
6814         * po/POTFILES.in:
6815           remove prematurely added error category and clean up the instances
6816
6817 2005-10-21  Wim Taymans  <wim@fluendo.com>
6818
6819         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6820         (gst_base_sink_get_position), (gst_base_sink_query),
6821         (gst_base_sink_change_state):
6822         Simply set the right flag when going to playing, that's all
6823         we need to do instead of calling a function inside the object
6824         lock (that could take the lock as well and deadlock)
6825
6826 2005-10-21  Wim Taymans  <wim@fluendo.com>
6827
6828         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6829         (gst_base_src_loop):
6830         Don't warn, the peer element knows what to do best when
6831         the seek failed, it might try something else.
6832
6833 2005-10-21  Wim Taymans  <wim@fluendo.com>
6834
6835         * gst/base/gstbasesrc.c: (gst_base_src_init),
6836         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6837         Fix seeking.
6838
6839 2005-10-21  Wim Taymans  <wim@fluendo.com>
6840
6841         * docs/design/part-segments.txt:
6842         More docs.
6843
6844         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6845         Correctly set caps, even on the subbufer.
6846
6847 2005-10-21  Wim Taymans  <wim@fluendo.com>
6848
6849         * docs/gst/gstreamer-docs.sgml:
6850         * docs/gst/gstreamer-sections.txt:
6851         * gst/gstelement.h:
6852         * gst/gstevent.c:
6853         * gst/gstevent.h:
6854         * gst/gstmessage.h:
6855         * gst/gstpad.h:
6856         * gst/gstparse.h:
6857         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6858         * gst/gsttask.h:
6859         * gst/gstutils.c:
6860         * gst/gstutils.h:
6861         And 2% more doc coverage.
6862
6863 2005-10-21  Andy Wingo  <wingo@pobox.com>
6864
6865         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6866         position reporting.
6867
6868 2005-10-20  Wim Taymans  <wim@fluendo.com>
6869
6870         * gst/gsterror.c: (gst_error_get_message):
6871         * gst/gstparse.h:
6872         * gst/gstquery.h:
6873         * gst/gststructure.c:
6874         * gst/gsttrace.c:
6875         * gst/gstutils.c:
6876         More docs.
6877
6878 2005-10-20  Wim Taymans  <wim@fluendo.com>
6879
6880         * gst/gstbuffer.h:
6881         * gst/gstpad.c:
6882         * gst/gstparse.c:
6883         Another 1% more coverage.
6884
6885 2005-10-20  Wim Taymans  <wim@fluendo.com>
6886
6887         * docs/gst/gstreamer-sections.txt:
6888         * gst/gstelement.c: (gst_element_get_state_func),
6889         (gst_element_abort_state), (gst_element_commit_state),
6890         (gst_element_lost_state):
6891         * gst/gstevent.h:
6892         * gst/gstquery.c: (gst_query_set_position),
6893         (gst_query_parse_position), (gst_query_set_duration),
6894         (gst_query_parse_duration), (gst_query_new_convert):
6895         * gst/gstutils.c:
6896         Yay! 1% more docs coverage.
6897
6898 2005-10-20  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstpad.h:
6901         * gst/gstquery.c: (gst_query_set_position),
6902         (gst_query_parse_position), (gst_query_set_duration),
6903         (gst_query_parse_duration), (gst_query_new_convert):
6904         * gst/gstquery.h:
6905         * gst/gstutils.c: (gst_element_query_convert):
6906         * gst/gstutils.h:
6907         Docs and consistency fixes.
6908
6909 2005-10-20  Wim Taymans  <wim@fluendo.com>
6910
6911         * gst/gsttask.c:
6912         * gst/gsttask.h:
6913         More docs.
6914
6915 2005-10-20  Wim Taymans  <wim@fluendo.com>
6916
6917         * gst/gstbin.c: (message_check), (bin_replace_message),
6918         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6919         (update_degree), (gst_bin_sort_iterator_next),
6920         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6921         Reworked the message handling a bit, cache the messages instead of
6922         only the senders. alows us to do more in the future.
6923
6924 2005-10-20  Wim Taymans  <wim@fluendo.com>
6925
6926         * docs/design/part-TODO.txt:
6927         Update TODO
6928
6929         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6930         (gst_base_sink_query):
6931         Don't use clock time to report position when in EOS.
6932
6933 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * tools/gst-inspect.c: (print_interfaces),
6936         (print_element_properties_info), (print_element_info):
6937           Fix interface output with gst-inspect -a; don't print
6938           newlines after double/float properties.
6939
6940 2005-10-20  Wim Taymans  <wim@fluendo.com>
6941
6942         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6943         (gst_base_sink_query):
6944         Speed up current position calculation.
6945
6946         * gst/base/gstbasesrc.c: (gst_base_src_query),
6947         (gst_base_src_default_newsegment):
6948         Correctly set stream position in newsegment.
6949
6950         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6951         (update_degree), (gst_bin_sort_iterator_next),
6952         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6953         * gst/gstmessage.c: (gst_message_new_custom):
6954         Clean up debugging info
6955
6956         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6957         (gst_queue_loop), (gst_queue_handle_src_query):
6958         Pause task faster.
6959
6960 2005-10-19  Wim Taymans  <wim@fluendo.com>
6961
6962         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6963         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6964         Fix query handling again.
6965
6966 2005-10-19  Wim Taymans  <wim@fluendo.com>
6967
6968         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6969         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6970         * gst/base/gstbasesrc.c: (gst_base_src_query):
6971         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6972         * gst/elements/gsttypefindelement.c:
6973         (gst_type_find_handle_src_query), (find_element_get_length),
6974         (gst_type_find_element_activate):
6975         API change fix.
6976
6977         * gst/gstquery.c: (gst_query_new_position),
6978         (gst_query_set_position), (gst_query_parse_position),
6979         (gst_query_new_duration), (gst_query_set_duration),
6980         (gst_query_parse_duration), (gst_query_set_segment),
6981         (gst_query_parse_segment):
6982         * gst/gstquery.h:
6983         Bundling query position/duration is not a good idea since duration
6984         does not change much and we don't want to recalculate it for every
6985         position query, so they are separated again..
6986         Base value in segment query is not needed.
6987
6988         * gst/gstqueue.c: (gst_queue_handle_src_query):
6989         * gst/gstutils.c: (gst_element_query_position),
6990         (gst_element_query_duration), (gst_pad_query_position),
6991         (gst_pad_query_duration):
6992         * gst/gstutils.h:
6993         Updates for query API change.
6994         Added some docs here and there.
6995
6996 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * check/gst/gstbin.c: (GST_START_TEST):
6999         * check/gst/gstghostpad.c: (GST_START_TEST):
7000         * check/pipelines/cleanup.c: (GST_START_TEST):
7001           wait on thread to die so we can check refcount correctly
7002
7003 2005-10-18  Wim Taymans  <wim@fluendo.com>
7004
7005         * check/pipelines/stress.c: (GST_START_TEST):
7006         Make check a little more time consuming.
7007
7008 2005-10-18  Wim Taymans  <wim@fluendo.com>
7009
7010         * check/Makefile.am:
7011         * check/pipelines/stress.c: (GST_START_TEST),
7012         (simple_launch_lines_suite), (main):
7013         Small state change torture test.
7014
7015         * docs/design/part-states.txt:
7016         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7017         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7018         (gst_base_sink_change_state):
7019         Never take state lock from streaming thread, clean up ugly
7020         hacks. Unfortunatly core does not yet support nice ways to
7021         async commit state.
7022         
7023         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7024         (bin_bus_handler):
7025         Start state recalc if a STATE_DIRTY message is posted, but only
7026         on the toplevel bin.
7027
7028         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7029         (gst_element_get_state_func), (gst_element_abort_state),
7030         (gst_element_commit_state), (gst_element_lost_state),
7031         (gst_element_set_state_func), (gst_element_change_state):
7032         * gst/gstelement.h:
7033         State variables are now protected with the LOCK, the state
7034         lock is only used to serialize _set_state().
7035
7036 2005-10-18  Wim Taymans  <wim@fluendo.com>
7037
7038         * check/gst/gstbin.c: (GST_START_TEST):
7039         * check/gst/gstmessage.c: (GST_START_TEST):
7040         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7041         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7042         (bin_bus_handler):
7043         * gst/gstelement.c: (gst_element_abort_state),
7044         (gst_element_commit_state), (gst_element_lost_state):
7045         * gst/gstmessage.c: (gst_message_new_state_changed),
7046         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7047         (gst_message_new_segment_done), (gst_message_new_duration),
7048         (gst_message_parse_state_changed),
7049         (gst_message_parse_segment_start),
7050         (gst_message_parse_segment_done), (gst_message_parse_duration):
7051         * gst/gstmessage.h:
7052         * tools/gst-launch.c: (event_loop):
7053         Seriously, this is better than a previous commit as we only need
7054         to notify the fact that an element changed state in a streaming
7055         thread, marking the state of the parents dirty, hence the 
7056         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7057         message.
7058
7059 2005-10-18  Wim Taymans  <wim@fluendo.com>
7060
7061         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7062         (gst_bin_recalc_func):
7063         * gst/gstelement.c: (gst_element_set_clock),
7064         (gst_element_abort_state), (gst_element_lost_state):
7065         Cleanups, prepare for state change fixes.
7066
7067 2005-10-18  Wim Taymans  <wim@fluendo.com>
7068
7069         * gst/gstbin.h:
7070         * gst/gstelement.c: (gst_element_class_init),
7071         (gst_element_set_state), (gst_element_set_state_func):
7072         * gst/gstelement.h:
7073         Pending ABI changes.
7074         GThreadPool in GstBinClass to monitor async state changes.
7075         state_cookie in GstElement to detect concurrent gst/set state.
7076         set_state is now virtual too in case a very complicated element
7077         has to be constructed.
7078
7079 2005-10-18  Wim Taymans  <wim@fluendo.com>
7080
7081         * check/gst/gstbin.c: (GST_START_TEST):
7082         * check/gst/gstmessage.c: (GST_START_TEST):
7083         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7084         * gst/gstbin.c: (bin_bus_handler):
7085         * gst/gstelement.c: (gst_element_commit_state),
7086         (gst_element_lost_state):
7087         * gst/gstmessage.c: (gst_message_new_state_changed),
7088         (gst_message_new_segment_start), (gst_message_new_segment_done),
7089         (gst_message_new_duration), (gst_message_parse_state_changed),
7090         (gst_message_parse_segment_start),
7091         (gst_message_parse_segment_done), (gst_message_parse_duration):
7092         * gst/gstmessage.h:
7093         * tools/gst-launch.c: (event_loop):
7094         Make messages future proof.
7095         state-change gets a flag if it was a message comming from the
7096         streaming thread.
7097         segment-start/stop can also be specified in other formats.
7098         A message to notify an app that a pipeline changed playback 
7099         duration.
7100         Also fix a GstMessage leak in -launch
7101
7102 2005-10-18  Andy Wingo  <wingo@pobox.com>
7103
7104         * gst/gstelement.c (gst_element_dispose): More helpful message.
7105
7106 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7107
7108         reviewed by: <delete if not using a buddy>
7109
7110         * common/gtk-doc.mak:
7111
7112 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7113
7114         * gst/gstregistry.c: (gst_registry_scan_path_level):
7115           unref a plug-in we get that was already initialized
7116
7117 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7118
7119         * docs/gst/gstreamer-sections.txt:
7120         * docs/libs/gstreamer-libs-sections.txt:
7121         * gst/gstelement.h:
7122           add new api entries
7123           hide internal macro
7124
7125 2005-10-17  Andy Wingo  <wingo@pobox.com>
7126
7127         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7128         cleanup.
7129
7130         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7131
7132         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7133
7134         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7135         (gst_element_get_state_func): Better debug message.
7136         (gst_element_commit_state): s/INFO/DEBUG/.
7137         (gst_element_lost_state, gst_element_change_state): 
7138
7139         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7140         (gst_message_new_custom): s/INFO/LOG/.
7141
7142 2005-10-17  Michael Smith <msmith@fluendo.com>
7143
7144         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7145           Check if end time is valid using end time, not start time.
7146
7147 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7148
7149         * check/gst-libs/controller.c: (GST_START_TEST),
7150         (gst_controller_suite):
7151         * libs/gst/controller/gstcontroller.c:
7152         (gst_controlled_property_set_interpolation_mode):
7153         * libs/gst/controller/gstcontroller.h:
7154         * libs/gst/controller/gstinterpolation.c:
7155         * testsuite/controller/.cvsignore:
7156         * testsuite/controller/Makefile.am:
7157         * testsuite/controller/interpolator.c:
7158           merge controller testsuites
7159           fix broken tests
7160           remove mem-chunk from docs
7161
7162 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * gst/gstmemchunk.c:
7165         * gst/gstmemchunk.h:
7166         * gst/gsttrashstack.c:
7167         * gst/gsttrashstack.h:
7168           out.  get out.  you're fired.  to the Attic !
7169
7170 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * gst/gstcaps.c: (gst_caps_intersect):
7173           fix signedness issues in a (hopefully) correct way
7174         * gst/gstelement.c: (gst_element_pads_activate):
7175           some debugging
7176         * gst/gstobject.c: (gst_object_set_parent):
7177           some debugging
7178
7179 2005-10-17  Julien MOUTTE  <julien@moutte.net>
7180
7181         * gst/gstvalue.h: Fix prototypes.
7182
7183 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7184
7185         * docs/gst/gstreamer-sections.txt:
7186         * gst/gst.c: (gst_version_string):
7187         * gst/gst.h:
7188         * gst/gstversion.h.in:
7189         * win32/common/libgstreamer.def:
7190           add gst_version_string ()
7191
7192 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7193
7194         * configure.ac:
7195           clean up further
7196         * gst/gst.c: (init_post):
7197         * win32/common/config.h.in:
7198           it's PLUGINDIR now
7199         * gst/gstcaps.c: (gst_caps_intersect):
7200           use gint64, the range could be bigger than a guint
7201
7202 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * gst/gstclock.h:
7205           document potential problem in 2038
7206
7207 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7208
7209         * gst/gstcaps.c: (gst_caps_intersect):
7210           Fix guint j diving under 0
7211
7212 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7213
7214         * configure.ac:
7215         * win32/common/config.h:
7216         * win32/common/config.h.in:
7217           check for process.h, declares getpid() on Windows
7218         * gst/gstinfo.c:
7219           include process.h if we have it
7220         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
7221         * gst/gstmemchunk.h:
7222           fix signedness issues
7223         * win32/common/libgstreamer.def:
7224           fix get_type's
7225
7226 2005-10-16  Julien MOUTTE  <julien@moutte.net>
7227
7228         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
7229         fix. Because of unsigned ints, caps intersection was going nuts and
7230         trying to access structures with G_MAXUINT index. That fixes
7231         videotestsrc ! ffmpegcolorspace ! fakesink
7232         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
7233         consistency.
7234
7235 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * configure.ac:
7238           use the gettext macro
7239         * gst/elements/gstelements.c:
7240         * gst/gst.c:
7241         * gst/indexers/gstindexers.c:
7242           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
7243         * win32/common/config.h:
7244           updated config.h
7245         * win32/common/config.h.in:
7246           add the template to generate config.h
7247         * win32/common/gstenumtypes.c:
7248         * win32/common/gstversion.h:
7249           updated copies
7250
7251 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * gst/gst.c: (gst_version):
7254         * gst/gstversion.h.in:
7255           add the nano
7256
7257 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7258
7259         * gst/gstevent.h:
7260           Oops, add missing closing bracket.
7261
7262 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * configure.ac:
7265           use common m4's for argument checking
7266
7267 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7268
7269         * docs/gst/gstreamer-sections.txt:
7270         * gst/gstevent.h:
7271           Add GST_EVENT_TYPE_NAME() macro.
7272
7273 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7274
7275         * gst/gstinfo.c:
7276         * gst/gstpluginfeature.c:
7277         * gst/gsttask.c:
7278           privatize more symbols
7279
7280 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7281
7282         * configure.ac:
7283           add srcdir, builddir includes to GST_ALL_CFLAGS, since
7284           everything that uses GStreamer API should have the includes
7285
7286 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         * docs/gst/gstreamer-sections.txt:
7289         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7290         * gst/gstvalue.h:
7291           give each value a _get_type, removes the DATA exports
7292
7293 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7294
7295         * gst/gst.c:
7296         * gst/gst.h:
7297           remove _gst_registry_auto_load, not used anymore
7298         * gst/gstbin.c: (gst_bin_get_type):
7299         * gst/gstbin.h:
7300         * gst/gstelement.c: (gst_element_get_type):
7301         * gst/gstelement.h:
7302         * gst/gstobject.c: (gst_object_get_type):
7303         * gst/gstobject.h:
7304         * gst/gstpad.c: (gst_pad_get_type):
7305         * gst/gstpad.h:
7306           make _get_type functions similar, fixes data export from library
7307
7308 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7309
7310         * configure.ac:
7311           correctly make conditionals
7312         * gst/elements/Makefile.am:
7313         * gst/elements/gstelements.c:
7314           fix typo causing fdsrc not to build
7315
7316 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         * testsuite/Makefile.am:
7319         * testsuite/bytestream/.cvsignore:
7320         * testsuite/bytestream/Makefile.am:
7321         * testsuite/bytestream/filepadsink.c:
7322         * testsuite/bytestream/gstbstest.c:
7323         * testsuite/bytestream/test1.c:
7324         * testsuite/bytestream/testfile1:
7325         * testsuite/caps/normalisation.c:
7326         * testsuite/caps/random.c: (main):
7327         * testsuite/cleanup/.cvsignore:
7328         * testsuite/cleanup/Makefile.am:
7329         * testsuite/cleanup/cleanup1.c:
7330         * testsuite/cleanup/cleanup2.c:
7331         * testsuite/cleanup/cleanup3.c:
7332         * testsuite/cleanup/cleanup4.c:
7333         * testsuite/cleanup/cleanup5.c:
7334         * testsuite/controller/interpolator.c:
7335         * testsuite/debug/printf_extension.c: (main):
7336         * testsuite/elements/tee.c:
7337         * testsuite/negotiation/.cvsignore:
7338         * testsuite/negotiation/Makefile.am:
7339         * testsuite/negotiation/pad_link.c:
7340         * testsuite/pad/Makefile.am:
7341         * testsuite/pad/chainnopull.c:
7342         * testsuite/pad/getnopush.c:
7343         * testsuite/pad/link.c:
7344         * testsuite/refcounting/sched.c: (create_pipeline):
7345         * testsuite/registry/Makefile.am:
7346         * testsuite/registry/gst-print-formats.c:
7347         * testsuite/schedulers/.cvsignore:
7348         * testsuite/schedulers/142183-2.c:
7349         * testsuite/schedulers/142183.c:
7350         * testsuite/schedulers/143777-2.c:
7351         * testsuite/schedulers/143777.c:
7352         * testsuite/schedulers/147713.c:
7353         * testsuite/schedulers/147819.c:
7354         * testsuite/schedulers/147894-2.c:
7355         * testsuite/schedulers/147894.c:
7356         * testsuite/schedulers/Makefile.am:
7357         * testsuite/schedulers/group_link.c:
7358         * testsuite/schedulers/queue_link.c:
7359         * testsuite/schedulers/relink.c:
7360         * testsuite/schedulers/unlink.c:
7361         * testsuite/schedulers/unref.c:
7362         * testsuite/schedulers/useless_iteration.c:
7363         * testsuite/states/bin.c:
7364           clean out/remove some stuff from the testsuite directories
7365
7366 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * configure.ac:
7369           check for some headers
7370         * gst/elements/Makefile.am:
7371         * gst/elements/gstelements.c:
7372           don't compile fdsrc without sys/socket.h
7373         * gst/indexers/Makefile.am:
7374         * gst/indexers/gstindexers.c: (plugin_init):
7375           don't compile fileindex without mmap
7376
7377 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7378
7379         * configure.ac:
7380           reorganize
7381           clean up
7382           document more
7383           remove cruft
7384         * check/Makefile.am:
7385         * docs/gst/Makefile.am:
7386         * examples/helloworld/Makefile.am:
7387         * gst/Makefile.am:
7388         * gst/base/Makefile.am:
7389         * gst/check/Makefile.am:
7390         * gst/elements/Makefile.am:
7391         * gst/indexers/Makefile.am:
7392         * gst/parse/Makefile.am:
7393         * libs/gst/controller/Makefile.am:
7394         * libs/gst/dataprotocol/Makefile.am:
7395         * examples/helloworld/helloworld.c: (event_loop):
7396           compile fixes, though it's not being compiled currently
7397
7398 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7399
7400         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7401           Add some simple tests for the new taglist date API.
7402
7403 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7406         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7407           Beautify 'last-message' output: print 'none' for buffer timestamps
7408           and durations if none is set; improve alignment with next messages.
7409
7410 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7411
7412         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7413         * gst/gstpluginfeature.h:
7414         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7415         * gst/gstregistry.h:
7416         * docs/gst/gstreamer-sections.txt:
7417           Add new API to check plugin feature version requirements.
7418
7419         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7420           Some basic tests for the above.         
7421
7422 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * gst/gststructure.c: (gst_structure_to_string):
7425           guard against NULL printf - happens when for example
7426           a message structure with GstClock gets serialized
7427
7428 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7429
7430         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7431           Fix presumable copy'n'pasto.
7432
7433 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7434
7435         * gst/elements/gstfakesrc.h:
7436         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7437         * gst/elements/gsttypefindelement.c:
7438           fix some signedness
7439         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7440           I wonder if this could actually write +2GB files before
7441
7442 2005-10-13  Andy Wingo  <wingo@pobox.com>
7443
7444         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7445         Fix Timmeke Waymans bug.
7446         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7447         string of the proper length to gst_caps_from_string. There's a
7448         potential for, before this fix, that this could cause someone
7449         connecting over the network to cause a segfault if the payload is
7450         not NUL-terminated.
7451
7452 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7453
7454         * docs/design/draft-push-pull.txt:
7455         * docs/design/part-overview.txt:
7456         * docs/random/TODO-pre-0.9:
7457         * docs/random/old/ChangeLog.gstreamer:
7458         * gst/base/gstpushsrc.c:
7459         * gst/gstclock.c:
7460           fixed typos
7461
7462 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7463
7464         * gst/glib-compat.c: (gst_flags_get_first_value):
7465         * gst/glib-compat.h:
7466         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7467         (gst_value_compare_double), (gst_value_serialize_flags):
7468           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7469           infinite loop
7470
7471 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7474         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7475           fix up debugging
7476         * tools/gst-launch.c: (event_loop):
7477           print out clock nicely
7478
7479 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7480
7481         * docs/gst/gstreamer-sections.txt:
7482         * gst/gsttaglist.h:
7483         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7484         (gst_tag_list_get_date_index):
7485           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7486           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7487
7488 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7489
7490         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7491         (gst_collectpads_chain):
7492         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7493         in CollectData.
7494
7495 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7496
7497         * docs/gst/gstreamer-sections.txt:
7498         * gst/gst.c:
7499         * gst/gsterror.h:
7500         * tools/gst-inspect.c: (main):
7501         * tools/gst-launch.c: (main):
7502         * tools/gst-run.c: (main):
7503         * tools/gst-xmlinspect.c: (main):
7504           fix GOption context leaks
7505           doc fixes
7506
7507 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7508
7509         * gst/gstbus.c:
7510           use HAVE_UNISTD_H
7511         * win32/common/config.h:
7512           update config
7513         * win32/vs6/grammar.dsp:
7514         * win32/vs6/libgstelements.dsp:
7515         * win32/vs6/libgstreamer.dsp:
7516           update vs6 files
7517
7518 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7519
7520         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7521         * gst/base/gstbasesrc.c: (gst_base_src_query):
7522           fix more guint64<->gdouble conversions
7523
7524 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * Makefile.am:
7527           add win32-update target
7528         * win32/common/gstconfig.h:
7529         * win32/common/gstenumtypes.c:
7530         * win32/common/gstenumtypes.h:
7531         * win32/common/gstversion.h:
7532           add files that visual studio can't generate
7533
7534 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7535
7536         * Makefile.am:
7537           add a win32-update target
7538         * configure.ac:
7539
7540 2005-10-12  Wim Taymans  <wim@fluendo.com>
7541
7542         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7543         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7544         * gst/gstelement.c: (gst_element_commit_state),
7545         (gst_element_set_state):
7546         Protect flags with proper lock.
7547         unref provided cached clock in dispose.
7548
7549 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7550
7551         * gst/gst.c:
7552         * gst/gstminiobject.h:
7553         * gst/gstpad.h:
7554         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7555           removed unused flags from miniobject
7556           doc fixes
7557
7558 2005-10-12  Wim Taymans  <wim@fluendo.com>
7559
7560         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7561         (gst_file_sink_event), (gst_file_sink_render):
7562         Flush before seeking.
7563
7564 2005-10-12  Andy Wingo  <wingo@pobox.com>
7565
7566         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7567         always been the case.
7568
7569 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7570
7571         * check/gst/gstbin.c: (GST_START_TEST):
7572         * docs/gst/gstreamer-sections.txt:
7573         * gst/base/gstbasesink.c: (gst_base_sink_init):
7574         * gst/base/gstbasesrc.c: (gst_base_src_init),
7575         (gst_base_src_get_range), (gst_base_src_check_get_range),
7576         (gst_base_src_start), (gst_base_src_stop):
7577         * gst/base/gstbasesrc.h:
7578         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7579         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7580         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7581         (bin_bus_handler):
7582         * gst/gstbin.h:
7583         * gst/gstbuffer.h:
7584         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7585         * gst/gstbus.h:
7586         * gst/gstelement.c: (gst_element_is_locked_state),
7587         (gst_element_set_locked_state), (gst_element_commit_state),
7588         (gst_element_set_state):
7589         * gst/gstelement.h:
7590         * gst/gstindex.c: (gst_index_init):
7591         * gst/gstindex.h:
7592         * gst/gstminiobject.h:
7593         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7594         (gst_object_set_parent):
7595         * gst/gstobject.h:
7596         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7597         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7598         * gst/gstpad.h:
7599         * gst/gstpadtemplate.h:
7600         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7601         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7602         * gst/gstpipeline.h:
7603         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7604         (gst_file_index_commit):
7605         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7606         * testsuite/pad/link.c: (gst_test_src_init),
7607         (gst_test_filter_init), (gst_test_sink_init):
7608         * testsuite/states/locked.c: (main):
7609           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7610           moved bitshift from macro to enum definition
7611
7612 2005-10-12  Wim Taymans  <wim@fluendo.com>
7613
7614         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7615         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7616         (gst_file_sink_render):
7617         Some more debugging info.
7618
7619 2005-10-12  Wim Taymans  <wim@fluendo.com>
7620
7621         * docs/design/part-states.txt:
7622         * tools/gst-launch.c: (main):
7623         Some doc updates.
7624         Revert non-intentional change.
7625
7626 2005-10-12  Wim Taymans  <wim@fluendo.com>
7627
7628         * check/gst/gstbin.c: (GST_START_TEST):
7629         * check/gst/gstelement.c: (GST_START_TEST):
7630         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7631         * check/gst/gstghostpad.c: (GST_START_TEST):
7632         * check/gst/gstpipeline.c: (GST_START_TEST):
7633         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7634         * check/states/sinks.c: (GST_START_TEST):
7635         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7636         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7637         (gst_bin_remove_func), (gst_bin_get_state_func),
7638         (gst_bin_recalc_state), (gst_bin_change_state_func),
7639         (bin_bus_handler):
7640         * gst/gstelement.c: (gst_element_get_state_func),
7641         (gst_element_get_state), (gst_element_abort_state),
7642         (gst_element_commit_state), (gst_element_set_state),
7643         (gst_element_change_state), (gst_element_change_state_func):
7644         * gst/gstelement.h:
7645         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7646         (gst_pipeline_provide_clock_func):
7647         * gst/gstutils.c: (gst_element_link_pads_filtered):
7648         * tools/gst-launch.c: (main):
7649         * tools/gst-typefind.c: (main):
7650         Use GstClockTime in _get_state() instead of GTimeVal.
7651         Remove old code in gstutils.c
7652
7653 2005-10-12  Andy Wingo  <wingo@pobox.com>
7654
7655         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7656         removed.
7657
7658         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7659         there is no task. Shouldn't affect any code, as nothing in our
7660         plugins checks this return value.
7661         (gst_pad_stop_task): Also take the stream lock if the pad has no
7662         task. Docs updated.
7663
7664 2005-10-12  Wim Taymans  <wim@fluendo.com>
7665
7666         * gst/gstpad.c: (pre_activate), (post_activate),
7667         (gst_pad_activate_pull), (gst_pad_activate_push):
7668         Cleanup activation code. Reset old state if
7669         activation failed.
7670
7671 2005-10-12  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7674         (gst_base_sink_change_state):
7675         No need to prerol after receiving EOS.
7676
7677         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7678         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7679         * gst/elements/gstidentity.c: (gst_identity_event):
7680         Print events more verbosely.
7681
7682 2005-10-12  Wim Taymans  <wim@fluendo.com>
7683
7684         * check/Makefile.am:
7685         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7686         * check/states/sinks2.c:
7687         Moved sinks2 testcode in sinks check.
7688
7689         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7690         (gst_bin_remove_func), (gst_bin_recalc_state),
7691         (gst_bin_change_state_func), (bin_bus_handler):
7692         Fix potential race condition when _get_state() iterated over an
7693         ASYNC element right before it posted a state completion.
7694
7695         * gst/gstclock.h:
7696         Do proper cast here.
7697
7698         * gst/gstevent.c: (gst_event_new_newsegment),
7699         (gst_event_parse_newsegment):
7700         A playback rate of 0.0 is not allowed.
7701
7702 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7703
7704         * win32/common/config.h:
7705         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7706         (_trewinddir), (_ttelldir), (_tseekdir):
7707         * win32/common/dirent.h:
7708         * win32/common/gtchar.h:
7709         * win32/common/libgstbase.def:
7710         * win32/common/libgstreamer.def:
7711         * win32/vs6/grammar.dsp:
7712         * win32/vs6/gst_inspect.dsp:
7713         * win32/vs6/gst_launch.dsp:
7714         * win32/vs6/gstreamer.dsw:
7715         * win32/vs6/libgstbase.dsp:
7716         * win32/vs6/libgstelements.dsp:
7717         * win32/vs6/libgstreamer.dsp:
7718           Visual Studio 6 project files, and a new common directory.
7719           Phear.
7720
7721 2005-10-11  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7724         (gst_base_sink_do_sync), (gst_base_sink_query),
7725         (gst_base_sink_change_state):
7726         * gst/base/gstbasesink.h:
7727         Correctly parse newsegment info.
7728
7729 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * gst/gst.c: (init_post):
7732           split plugin paths correctly
7733
7734 2005-10-11  Wim Taymans  <wim@fluendo.com>
7735
7736         * check/gst/gstevent.c: (GST_START_TEST):
7737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7738         (gst_base_sink_change_state):
7739         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7740         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7741         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7742         * gst/gstevent.c: (gst_event_new_newsegment),
7743         (gst_event_parse_newsegment):
7744         * gst/gstevent.h:
7745         Added extra flag to newsegment for future API freeze.
7746         Updated check and base elements.
7747
7748 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7749
7750         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7751         (gst_collectpads_add_pad), (gst_collectpads_pop),
7752         (gst_collectpads_event), (gst_collectpads_chain):
7753         * gst/base/gstcollectpads.h: Handle EOS correctly.
7754
7755 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * tools/gst-launch.c: (main):
7758           more null protecting
7759
7760 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7761
7762         * gst/gst-i18n-lib.h:
7763           check for ENABLE_NLS, not GETTEXT_PACKAGE
7764         * gst/gstregistry.c: (gst_registry_add_plugin),
7765         (gst_registry_scan_path_level),
7766         (_gst_registry_remove_cache_plugins):
7767           protect possibly NULL strings
7768         * gst/parse/types.h:
7769           config.h already included before
7770         * tools/gst-inspect.c: (main):
7771           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7772           check for ENABLE_NLS, not GETTEXT_PACKAGE
7773         * tools/gst-launch.c: (main):
7774           check for ENABLE_NLS, not GETTEXT_PACKAGE
7775
7776 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7777
7778         * configure.ac:
7779           if we don't have glib, fail before testing 2.8
7780         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7781           fix a leak, should fix plugins-base testsuite
7782
7783 2005-10-11  Andy Wingo  <wingo@pobox.com>
7784
7785         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7786         take the mode we're going to as an arg. Go head and set the mode
7787         and flushing flags now, so that if the activate function starts a
7788         thread all the flags will be in the right state.
7789         (post_activate): Renamed also. Just handle making sure streaming
7790         finishes for the deactivation case, and setting the deactivated
7791         mode.
7792         (gst_pad_set_active): Complain loudly if deactivation fails.
7793         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7794         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7795         remove the terrible hack.
7796
7797 2005-10-11  Wim Taymans  <wim@fluendo.com>
7798
7799         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7800         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7801         (gst_bin_recalc_state), (gst_bin_change_state_func),
7802         (gst_bin_dispose), (bin_bus_handler):
7803         * gst/gstbin.h:
7804         Prepare to make current EOS message queue more generic.
7805         Fix some typos.
7806
7807         * gst/gstevent.c: (gst_event_new_newsegment),
7808         (gst_event_parse_newsegment):
7809         * gst/gstevent.h:
7810         Rename base to stream_time.
7811
7812         * gst/gstmessage.h:
7813         Fix typo in docs.
7814
7815 2005-10-11  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7818         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7819         (gst_bin_change_state_func), (bin_bus_handler):
7820         * gst/gstbin.h:
7821         Work on proper clock selection.
7822
7823 2005-10-11  Edward Hervey  <edward@fluendo.com>
7824
7825         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7826         * libs/gst/controller/gstcontroller.h:
7827         Added GList* version of _remove_properties() in order to be able to wrap
7828         it in bindings.
7829
7830 2005-10-11  Wim Taymans  <wim@fluendo.com>
7831
7832         * docs/design/part-states.txt:
7833         Some more docs.
7834
7835         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7836         (gst_bin_change_state_func), (bin_bus_handler):
7837         Doc updates. Don't distribute the same clock over and over again.
7838
7839         * gst/gstclock.c:
7840         * gst/gstclock.h:
7841         Doc updates.
7842
7843         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7844         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7845         (gst_pad_send_event):
7846         * gst/gstpad.h:
7847         Make probe emission threadsafe again.
7848         Register quarks and move _get_name() from utils.
7849         Doc updates.
7850
7851         * gst/gstpipeline.c: (gst_pipeline_class_init),
7852         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7853         Only redistribute the clock of it changed.
7854
7855         * gst/gstsystemclock.h:
7856         Doc updates. 
7857
7858         * gst/gstutils.c:
7859         * gst/gstutils.h:
7860         Moved the _flow_get_name() to GstPad.
7861
7862 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7863
7864         * check/gst-libs/gdp.c: (GST_START_TEST):
7865         * check/gst/gstcaps.c: (GST_START_TEST):
7866         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7867         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7868         (gst_dp_packet_from_caps):
7869           fix more valgrind warnings before turning up the heat
7870
7871 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7872
7873         * gst/parse/grammar.y:
7874           some cleanup before the hacking
7875
7876 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7877
7878         * gst/base/gstbasesrc.c: (gst_base_src_query):
7879           use conversions
7880         * gst/gstutils.c: (gst_guint64_to_gdouble),
7881         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7882         * gst/gstutils.h:
7883           externalize, basesrc uses it
7884           obviously the implementation needs testing
7885
7886 2005-10-10  Wim Taymans  <wim@fluendo.com>
7887
7888         * tests/sched/Makefile.am:
7889         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7890         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7891
7892 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7893
7894         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7895           apparently converting from guint64 to double is not implemented
7896           on MSVC
7897
7898 2005-10-10  Wim Taymans  <wim@fluendo.com>
7899
7900         * check/Makefile.am:
7901         * check/generic/states.c: (GST_START_TEST):
7902         * check/gst/gstbin.c: (GST_START_TEST):
7903         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7904         * check/states/sinks.c: (GST_START_TEST):
7905         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7906         (main):
7907         Check fixes, use API as stated in design docs, remove hacks.
7908
7909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7910         (gst_base_sink_change_state):
7911         Catch stopping our task while we're shutting down.
7912
7913         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7914         (gst_bin_remove_func), (gst_bin_get_state_func),
7915         (gst_bin_recalc_state), (gst_bin_change_state_func),
7916         (bin_bus_handler):
7917         * gst/gstbin.h:
7918         * gst/gstelement.c: (gst_element_init),
7919         (gst_element_get_state_func), (gst_element_abort_state),
7920         (gst_element_commit_state), (gst_element_lost_state),
7921         (gst_element_set_state), (gst_element_change_state),
7922         (gst_element_change_state_func):
7923         * gst/gstelement.h:
7924         New state change algorithm (see #318116)
7925
7926         * gst/gstpipeline.c: (gst_pipeline_class_init),
7927         (gst_pipeline_init), (gst_pipeline_set_property),
7928         (gst_pipeline_get_property), (do_pipeline_seek),
7929         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7930         * gst/gstpipeline.h:
7931         Remove crude state change hacks.
7932
7933         * gst/gstutils.h:
7934         Remove crude hacks.
7935
7936         * tools/gst-launch.c: (main):
7937         Fixes for state change. Needs some more work to fully use the
7938         new stuff.
7939
7940 2005-10-10  Andy Wingo  <wingo@pobox.com>
7941
7942         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7943
7944         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7945         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7946         issue.
7947
7948 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7949
7950         * gst/gstiterator.c: (gst_iterator_new):
7951           Fix my previous commit: GTypes passed to gst_iterator_new()
7952           can be fundamental types.
7953
7954 2005-10-10  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/gstelement.c: (gst_element_iterate_pad_list),
7957         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7958         (gst_element_iterate_sink_pads):
7959         Use src/sink pads lists for the respective iterators instead
7960         of filtering.
7961
7962 2005-10-10  Andy Wingo  <wingo@pobox.com>
7963
7964         Merged in popt removal + GOption addition patch from Ronald, bug
7965         #169772.
7966
7967         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7968         GstElement macros around, remove popt-related symbols, add goption
7969         stuff.
7970
7971         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7972         
7973         * docs/gst/Makefile.am:
7974         * docs/libs/Makefile.am: No POPT_CFLAGS.
7975         
7976         * examples/manual/Makefile.am:
7977         * docs/manual/basics-init.xml: Doc updates with an example.
7978         
7979         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7980         (gst_init), (parse_one_option), (parse_goption_arg):
7981         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7982         bit of hand merging and debugging to get the GOption stuff working
7983         tho.
7984         
7985         * tests/Makefile.am:
7986         * tools/Makefile.am:
7987         * tools/gst-inspect.c: (main):
7988         * tools/gst-launch.c: (main):
7989         * tools/gst-run.c: (main):
7990         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7991
7992 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7993
7994         * gst/gstiterator.c: (gst_iterator_new):
7995           Add assertions to make sure passed GType is likely to really
7996           be a GType (as the compiler won't catch it if the size and
7997           GType arguments get mixed up, see #318447).
7998
7999 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8000
8001         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8002
8003         * gst/gstbin.c: (gst_bin_iterate_sorted):
8004           Pass GType and size arguments to gst_iterator_new() in the right
8005           order (maybe we should make _new() take the GType as first argument
8006           just like _new_list()?) (#318447).
8007           
8008
8009 2005-10-10  Wim Taymans  <wim@fluendo.com>
8010
8011         * gst/gstelement.c: (gst_element_finalize):
8012         And free the GStaticRecMutex too
8013
8014 2005-10-10  Andy Wingo  <wingo@pobox.com>
8015
8016         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8017         Allocate and free the mutex properly.
8018
8019         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8020         New macros.
8021         (GstElement): The state_lock is now recursive. Rebuild your
8022         plugins, suckers. Old macros adapted.
8023
8024         * docs/gst/gstreamer-sections.txt: Doc updates.
8025
8026         * gst/gstutils.h:
8027         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8028         (g_static_rec_cond_wait): Ported from state changes patch, while
8029         we wait on bug #317802 to be solved in a well-distributed GLib.
8030
8031         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8032         gst_element_change_state, variable name changes.
8033         (gst_element_change_state): Split out of gst_element_set_state in
8034         preparation for the state change merge. Doesn't pay attention to
8035         the 'transition' argument.
8036         (gst_element_set_state): Updates, hopefully purely cosmetic.
8037         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8038         state change patch.
8039         (gst_element_get_state_func): Renamed from get_state, cosmetic
8040         changes.
8041
8042 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         * gst/elements/gstelements.c:
8045         * win32/GStreamer.vcproj:
8046         * win32/config.h:
8047         * win32/dirent.c: (_tseekdir):
8048         * win32/gst-inspect.vcproj:
8049         * win32/gst-launch.vcproj:
8050         * win32/gstconfig.h:
8051         * win32/gstelements.vcproj:
8052         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8053         * win32/gstreamer.def:
8054         * win32/msvc71.sln:
8055           updates for the win32 build (patch from Sebastien Moutte)
8056
8057 2005-10-10  Andy Wingo  <wingo@pobox.com>
8058
8059         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8060         gst_bin_get_state, cleaned up (but no logic changes).
8061         (bin_element_is_sink): Comment updates.
8062         (sink_iterator_filter): Remove needless cast.
8063         (gst_bin_iterate_sinks): Doc update.
8064         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8065         cleaned up (but no logic changes).
8066
8067         * check/states/sinks.c (test_src_sink): Cleanups from the state
8068         change patch.
8069         (test_livesrc_sink): Sync on the state.
8070
8071         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8072         the state change patch.
8073
8074         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8075         change patch.
8076
8077         * check/gst/gstbin.c: Merge in some style fixes and additional
8078         checks from Wim's state change patch.
8079
8080 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8083         (gst_type_find_helper):
8084           Check whether we have the requested data already in our list of
8085           cached buffers before pulling a new buffer; also make the buffer
8086           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8087
8088 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8089
8090         * gst/gstcaps.c:
8091         * gst/gstevent.c:
8092           doc updates
8093         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8094           don't use long long, it's not portable.  Replacing with
8095           gint64 seems to work; let's hope no skeletons fall out of the closet.
8096
8097 2005-10-10  Andy Wingo  <wingo@pobox.com>
8098
8099         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8100
8101 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8102
8103         * docs/gst/gstreamer-sections.txt:
8104         * gst/gstevent.c:
8105         * gst/gstevent.h:
8106         * gst/gstinfo.c:
8107         * gst/gstinfo.h:
8108         * gst/gstmessage.c: (gst_message_parse_state_changed):
8109         * gst/gstpad.c:
8110         * gst/gstpad.h:
8111           more docs, fix compilation
8112
8113 2005-10-09  Philippe Khalaf <burger@speedy.org>
8114         * gst/gstmessage.c:
8115           Fixed a few forgotten variables on previous commit
8116
8117 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8118
8119         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8120           Fix evil typefind crasher: getrange() might return a short
8121           buffer at the end of a file, but gst_type_find_peek() must
8122           either return the full data as requested or NULL, but
8123           never a short buffer.
8124
8125 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8126
8127         * gst/gstmessage.c: (gst_message_new_state_changed),
8128         (gst_message_parse_state_changed):
8129         * gst/gstmessage.h:
8130           don't use "new", it's a C++ keyword
8131
8132 2005-10-08  Wim Taymans  <wim@fluendo.com>
8133
8134         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8135         * gst/gstelement.c: (gst_element_post_message):
8136         * gst/gstpipeline.c: (gst_pipeline_change_state):
8137         Small docs and debug updates.
8138
8139 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8140
8141         * docs/gst/gstreamer-sections.txt:
8142         * gst/gstelementfactory.c:
8143         * gst/gstevent.c:
8144         * gst/gsttaglist.c:
8145           more docs
8146
8147 2005-10-08  Wim Taymans  <wim@fluendo.com>
8148
8149         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8150         (gst_bin_dispose), (bin_bus_handler):
8151         Fix typos, add comments.
8152         Clear EOS list when going to PAUSED from any direction and do it
8153         in a threadsafe way.
8154         Get base time in a threadsafe way too.
8155         Fix confusing debug in the change_state function.
8156         Various other small cleanups.
8157         
8158         * gst/gstelement.c: (gst_element_post_message):
8159         Fix very verbose bus posting code.
8160
8161         * gst/gstpipeline.c: (gst_pipeline_class_init),
8162         (gst_pipeline_set_property), (gst_pipeline_get_property),
8163         (gst_pipeline_change_state):
8164         Small ARG_ -> PROP_ cleanup
8165
8166 2005-10-08  Wim Taymans  <wim@fluendo.com>
8167
8168         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8169         Do a less CPU demanding EOS check because we can.
8170
8171 2005-10-08  Wim Taymans  <wim@fluendo.com>
8172
8173         * libs/gst/dataprotocol/dataprotocol.c:
8174         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8175         (gst_dp_packet_from_event):
8176         * libs/gst/dataprotocol/dataprotocol.h:
8177         * libs/gst/dataprotocol/dp-private.h:
8178         It's about time we bump the version number.
8179         Since event types don't fit in the guint8 anymore describing
8180         the payload type, make payload type 16 bits wide.
8181
8182 2005-10-08  Wim Taymans  <wim@fluendo.com>
8183
8184         * docs/design/part-TODO.txt:
8185         * docs/design/part-clocks.txt:
8186         * docs/design/part-events.txt:
8187         * docs/design/part-gstbin.txt:
8188         * docs/design/part-gstelement.txt:
8189         * docs/design/part-gstpipeline.txt:
8190         * docs/design/part-live-source.txt:
8191         * docs/design/part-messages.txt:
8192         * docs/design/part-overview.txt:
8193         * docs/design/part-states.txt:
8194         Many doc updates.
8195
8196 2005-10-08  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/gstevent.c:
8199         * gst/gstevent.h:
8200         Fix event quark registration.
8201         Add some space between events so we can insert them in the
8202         right groups.
8203
8204 2005-10-08  Wim Taymans  <wim@fluendo.com>
8205
8206         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8207         (gst_base_sink_handle_buffer):
8208         Better log message.
8209
8210         * gst/gstbus.h:
8211         * gst/gstelement.h:
8212         More docs.
8213
8214         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8215         (gst_queue_set_property), (gst_queue_get_property):
8216         * gst/gstqueue.h:
8217         Remove old unused properties.
8218
8219 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8220         * docs/gst/gstreamer-sections.txt:
8221         * gst/gstmessage.c:
8222         * gst/gstmessage.h:
8223         * gst/gstminiobject.c:
8224         * gst/gstminiobject.h:
8225         * gst/gstobject.h:
8226         * gst/gstpad.h:
8227         * gst/gstutils.h:
8228           lots of new docs and doc fixes
8229
8230 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8231
8232         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
8233         * gst/gstplugin.h:
8234         * gst/gstregistry.c: (gst_registry_lookup_locked),
8235         (gst_registry_scan_path_level):
8236         * gst/gstregistryxml.c: (load_plugin):
8237           Only ever load one plugin for a given plugin basename.
8238           This ensures correct overriding of GST_PLUGIN_PATH over
8239           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
8240           system installed plugins.
8241
8242 2005-10-08  Wim Taymans  <wim@fluendo.com>
8243
8244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8245         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
8246         Prepare for doing QOS.
8247
8248 2005-10-08  Wim Taymans  <wim@fluendo.com>
8249
8250         * check/gst/gstbin.c: (GST_START_TEST):
8251         * check/pipelines/cleanup.c: (GST_START_TEST):
8252         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8253         Allow new clock message too.
8254
8255 2005-10-08  Wim Taymans  <wim@fluendo.com>
8256
8257         * gst/gstmessage.c: (gst_message_new_error),
8258         (gst_message_new_warning), (gst_message_new_tag),
8259         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8260         (gst_message_new_clock_lost), (gst_message_new_new_clock),
8261         (gst_message_new_segment_start), (gst_message_new_segment_done),
8262         (gst_message_parse_state_changed),
8263         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
8264         (gst_message_parse_new_clock):
8265         * gst/gstmessage.h:
8266         Also carry the clock in question.
8267
8268 2005-10-08  Wim Taymans  <wim@fluendo.com>
8269
8270         * gst/gstmessage.c: (gst_message_new_custom),
8271         (gst_message_new_eos), (gst_message_new_error),
8272         (gst_message_new_warning), (gst_message_new_tag),
8273         (gst_message_new_state_changed), (gst_message_new_clock_provide),
8274         (gst_message_new_new_clock), (gst_message_new_segment_start),
8275         (gst_message_new_segment_done), (gst_message_parse_state_changed),
8276         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
8277         * gst/gstmessage.h:
8278         Clean up.
8279         Added clock related messages.
8280
8281         * gst/gstpipeline.c: (gst_pipeline_change_state):
8282         Post message when the clock changed.
8283
8284         * tools/gst-launch.c: (event_loop):
8285         Print new clock.
8286
8287 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8288
8289         * tools/gst-inspect.c: (print_element_properties_info):
8290           Can't pass NULL strings to g_print() on windows.
8291
8292 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8293
8294         * docs/Makefile.am:
8295         * docs/gst/Makefile.am:
8296         * docs/gst/gstreamer-docs.sgml:
8297         * docs/gst/running.xml:
8298         * docs/version.entities.in:
8299           add a chapter on running GStreamer.
8300           document GST_DEBUG and GST_PLUGIN* env vars
8301
8302 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8303
8304         * Makefile.am:
8305           remove include dir
8306         * configure.ac:
8307           remove PLUGINS_BUILDDIR stuff
8308         * gst/gst.c: (init_post):
8309           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8310         * idiottest.mak:
8311           remove, it was condescending and not needed
8312
8313 2005-10-08  Wim Taymans  <wim@fluendo.com>
8314
8315         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8316         (gst_base_sink_handle_object), (gst_base_sink_event),
8317         (gst_base_sink_wait), (gst_base_sink_handle_event),
8318         (gst_base_sink_change_state):
8319         * gst/base/gstbasesink.h:
8320         Repost EOS message while going to PLAYING if still EOS.
8321         Make sure that when receiving a FLUSH_START we don't attempt
8322         to sync on the clock anymore.
8323
8324 2005-10-08  Wim Taymans  <wim@fluendo.com>
8325
8326         * tools/gst-launch.c: (event_loop):
8327         Better message printout.
8328
8329 2005-10-08  Wim Taymans  <wim@fluendo.com>
8330
8331         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8332         (gst_bin_child_proxy_get_children_count):
8333         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8334         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8335         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8336         (gst_child_proxy_set_valist):
8337         * gst/parse/grammar.y:
8338         Make ChildProxy threadsafe and fix mem leaks.
8339
8340 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * gst/gst.c: (init_post):
8343           debug the GST_PLUGIN_ env vars
8344
8345 2005-10-08  Wim Taymans  <wim@fluendo.com>
8346
8347         * check/gst/gstbin.c: (GST_START_TEST):
8348         * check/gst/gstmessage.c: (GST_START_TEST):
8349         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8350         * gst/gstelement.c: (gst_element_commit_state),
8351         (gst_element_lost_state):
8352         * gst/gstmessage.c: (gst_message_new_state_changed),
8353         (gst_message_parse_state_changed):
8354         * gst/gstmessage.h:
8355         * tools/gst-launch.c: (event_loop):
8356         Added extra field to STATE_CHANGE message with the pending
8357         state, which will be different from the new state soon.
8358
8359 2005-10-08  Wim Taymans  <wim@fluendo.com>
8360
8361         * gst/gstbus.c: (gst_bus_pop):
8362         * gst/gstclock.c:
8363         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8364         Small cleanups and doc updates.
8365
8366 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * gst/gst.c: (init_pre):
8369         * gst/gstbin.c: (gst_bin_add_func):
8370           log distributing clocks and base time
8371         * gst/gstregistry.c: (gst_registry_add_plugin),
8372         (gst_registry_scan_path_level), (gst_registry_scan_path):
8373           clean up the debugging output a little
8374         * gst/gstutils.c: (gst_element_state_get_name):
8375           warn about a memleak (I've actually seen this be used, though
8376           it was probably a bug)
8377
8378 2005-10-07  Wim Taymans  <wim@fluendo.com>
8379
8380         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8381         (gst_base_src_init), (gst_base_src_default_newsegment),
8382         (gst_base_src_newsegment), (gst_base_src_do_seek),
8383         (gst_base_src_loop), (gst_base_src_start):
8384         * gst/base/gstbasesrc.h:
8385         Make the newsegment event customizable by subclasses.
8386
8387 2005-10-07  Wim Taymans  <wim@fluendo.com>
8388
8389         * gst/gstevent.c: (gst_event_new_buffersize),
8390         (gst_event_parse_buffersize):
8391         * gst/gstevent.h:
8392         New event for future idea.
8393
8394 2005-10-07  Andy Wingo  <wingo@pobox.com>
8395
8396         * gst/gstelement.c (gst_element_post_message): Doc update.
8397
8398         * docs/gst/gstreamer-sections.txt: Update.
8399
8400         * gst/gstmessage.c (gst_message_new_application): Made into a
8401         function like honest API calls.
8402         (gst_message_new_element): New message type.
8403
8404         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8405
8406         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8407         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8408         times.
8409
8410         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8411         NO_PREROLL from gst_element_change_state to fall through.
8412
8413 2005-10-07  Wim Taymans  <wim@fluendo.com>
8414
8415         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8416         (gst_ghost_pad_do_activate_push):
8417         Activating a ghostpad with no internal pad in push mode
8418         is ok.
8419
8420 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * gst/gstobject.h:
8423           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8424           Fixes compilation on Windows.
8425
8426 2005-10-07  Michael Smith <msmith@fluendo.com>
8427
8428         * tools/gst-inspect.c:
8429           Print out feature and plugin count at the end when printing out
8430           all features.
8431
8432 2005-10-04  Michael Smith <msmith@fluendo.com>
8433
8434         * gst/gsterror.c: (_gst_stream_errors_init):
8435           Add another error string used in a few existing plugins.
8436
8437         * gst/gstplugin.c:
8438         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8439         * tools/gst-inspect.c: (print_element_info):
8440           When a feature disappears from a plugin (and the feature exists in
8441           the cached registry file), things went horribly wrong. This isn't a
8442           complete fix, we should actually be removing the 'missing' features
8443           from the features list when we load the actual plugin. That's not
8444           yet implemented. 
8445
8446 2005-10-04  Johan Dahlin  <johan@gnome.org>
8447
8448         * check/gst/gstiterator.c: (GST_START_TEST):
8449         * gst/gstbin.c: (gst_bin_iterate_elements),
8450         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8451         * gst/gstelement.c: (gst_element_iterate_pads):
8452         * gst/gstformat.c: (gst_format_iterate_definitions):
8453         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8454         (gst_iterator_new_list), (gst_iterator_filter):
8455         * gst/gstiterator.h:
8456         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8457         Add a GType to GstIterator, update callsites and tests.
8458
8459 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8460
8461         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8462           give events a chance to be handled by event probes when the pad
8463           is not linked
8464
8465 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8466
8467         * gst/gstevent.c: (gst_event_type_get_name),
8468         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8469         * gst/gstevent.h:
8470           add string representations for event types
8471
8472 2005-10-06  Wim Taymans  <wim@fluendo.com>
8473
8474         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8475         Don't use NULL pointers.
8476
8477 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8478
8479         * gst/gst_private.h:
8480         * gst/gstbus.c:
8481         * gst/gstelement.c:
8482         * gst/gstinfo.c:
8483         * gst/gstpluginfeature.c:
8484           widen the debug category in output to fit the biggest one we have
8485           add a bus category and use it
8486           play with the colors
8487           fix up some categories
8488
8489 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8492           add push activation of sink ghost pads.
8493           Andye, please verify
8494
8495 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8496
8497         * gst/gstutils.c: (gst_element_link_pads):
8498           fix a bug in the case where neither element has a pad
8499         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8500           add a test for that case
8501
8502 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8503
8504         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8505           emit have-data before checking for peers.  This allows
8506           for probe handlers to connect elements.  This helps autopluggers.
8507         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8508         (gst_pad_suite):
8509           add six checks, linked/unlinked with no/true/false probe
8510
8511 2005-10-04  Wim Taymans  <wim@fluendo.com>
8512
8513         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8514         (gst_fake_sink_event), (gst_fake_sink_preroll),
8515         (gst_fake_sink_render), (gst_fake_sink_change_state):
8516         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8517         (gst_fake_src_get_property), (gst_fake_src_create),
8518         (gst_fake_src_stop):
8519         * gst/elements/gstidentity.c: (gst_identity_stop):
8520         Protect last_message with lock.
8521
8522 2005-10-04  Edward Hervey  <edward@fluendo.com>
8523
8524         * gst/gstformat.h: 
8525         Added precision in the comments for GST_FORMAT_DEFAULT
8526
8527 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8528
8529         * tools/gst-launch.c: (main):
8530           Don't try to run erroneous pipelines.
8531
8532 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8533
8534         * gst/gstbus.c: We don't need this header.
8535
8536 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8537
8538         * configure.ac:
8539           back to development
8540
8541 === release 0.9.3 ===
8542
8543 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8544
8545         * README:
8546         * configure.ac:
8547           Releasing 0.9.3, "Unregistered"
8548
8549 2005-10-03  Andy Wingo  <wingo@pobox.com>
8550
8551         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8552         whereby calling a pad's activatepush() function can start a thread
8553         that starts to push or pull before the pad gets the FLUSHING flag
8554         unset. Hack around it by holding the stream lock until the flag is
8555         set. Need to replace this with a proper solution. Together with
8556         the ghost pad fixes, this fixes mp3 playing/tagreading.
8557
8558         * docs/design/part-gstghostpad.txt: Add a note about activation of
8559         proxy pads outside of ghost pads.
8560
8561         * gst/gstghostpad.c: Implement the ghost pad activation design.
8562
8563 2005-10-02  Andy Wingo  <wingo@pobox.com>
8564
8565         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8566         It is volatile, after all.
8567
8568         * docs/design/part-gstghostpad.txt: Flesh out activation with
8569         ghost pads.
8570
8571         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8572         GST_DEBUG_FUNCPTR.
8573
8574 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8575
8576         * configure.ac:
8577           Fix (unused) AM_CONDITIONAL tests.
8578
8579 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8580
8581         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8582
8583         * gst/gstutils.c: (gst_pad_query_convert):
8584           Add assertion that makes sure src_val is >=0, just like
8585           gst_query_new_convert() has. (#315895)
8586
8587 2005-09-30  Edward Hervey  <edward@fluendo.com>
8588
8589         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8590         Let's not iterate pads we're not interested in, it avoids getting 
8591         sky-high refcounts on sinkpad.
8592
8593 2005-09-30  Wim Taymans  <wim@fluendo.com>
8594
8595         * gst/gstelement.c: (gst_element_set_state),
8596         (gst_element_change_state):
8597         Small tweak, element in ASYNC remains ASYNC.
8598
8599 2005-09-30  Wim Taymans  <wim@fluendo.com>
8600
8601         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8602         Only error is an error.
8603
8604         * gst/gstbin.c: (gst_bin_change_state):
8605         Better debugging.
8606
8607         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8608         Also call pad_block in pad alloc.
8609
8610         * gst/gstutils.c: (gst_flow_get_name):
8611         Better debugging.
8612
8613 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8614
8615         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8616         (gst_base_src_get_range):
8617           Fix documentation typos. Add some more debug info.
8618
8619 2005-09-29  David Schleef  <ds@schleef.org>
8620
8621         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8622           more end-user friendly.
8623         * tools/gst-inspect.c: (main): Check if command-line argument is
8624           a file and attempt to load that file as a plugin.
8625
8626 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * check/gst/gstbin.c:
8629         * check/states/sinks.c:
8630           fix tests for the new warning
8631         * check/gst/gstpipeline.c:
8632           add a test for pipeline and bus interaction
8633         * gst/gstelement.c:
8634           elements should be NULL if they get disposed; add a warning if not
8635
8636 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8637
8638         * gst/gstobject.c:
8639           for 2.6 refcounting, make debug log more correct by printing
8640           the actual refcounts at the time of swap (Wim)
8641
8642 2005-09-29  Andy Wingo  <wingo@pobox.com>
8643
8644         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8645         removes signal watches previously added via
8646         gst_bus_add_signal_watch.
8647         (gst_bus_add_signal_watch): Don't return the source id, just store
8648         it on the bus if there wasn't an id already.
8649
8650         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8651         add_signal_watch and remove_signal_watch.
8652
8653 2005-09-29  Edward Hervey  <edward@fluendo.com>
8654
8655         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8656         Better if we actually iterate the list :)
8657
8658 2005-09-29  Wim Taymans  <wim@fluendo.com>
8659
8660         * check/gst/gstbin.c: (GST_START_TEST):
8661         Change for new bus API.
8662
8663         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8664         (send_messages), (GST_START_TEST), (gstbus_suite):
8665         Change for new bus signal API.
8666
8667         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8668         (gst_bus_source_prepare), (gst_bus_source_check),
8669         (gst_bus_create_watch), (gst_bus_add_watch_full),
8670         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8671         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8672         * gst/gstbus.h:
8673         Remove support for multiple GSources operating on different
8674         message types as it is too complex and unneeded when using
8675         signals.
8676         Added support for receiving signals from the bus.
8677
8678 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * docs/libs/tmpl/gstdataprotocol.sgml:
8681         * docs/manual/advanced-dataaccess.xml:
8682         * gst/elements/gstcapsfilter.c:
8683         * gst/gstutils.c:
8684           rename filter-caps to caps property
8685
8686 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8687
8688         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8689           More robust fraction string parsing.
8690
8691         * docs/pwg/appendix-porting.xml:
8692           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8693
8694 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8695
8696         * gst/gstcaps.c: (gst_caps_do_simplify):
8697           Thou shalt not free a structure and then continue using it
8698           in the next loop iteration.
8699
8700         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8701         (gst_caps_suite):
8702           Add test case for caps simplification.
8703
8704 2005-09-29  Wim Taymans  <wim@fluendo.com>
8705
8706         * check/gst/gstbin.c: (GST_START_TEST):
8707         Oops.
8708
8709 2005-09-29  Wim Taymans  <wim@fluendo.com>
8710
8711         * check/gst/gstbin.c: (GST_START_TEST):
8712         Add bus to bin.
8713
8714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8715         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8716         (find_element), (gst_bin_sort_iterator_next),
8717         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8718         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8719         (gst_bin_change_state), (gst_bin_dispose):
8720         A bin does not have a bus, it gets the bus from the parent.
8721
8722         * gst/gstelement.c: (gst_element_requires_clock),
8723         (gst_element_provides_clock), (gst_element_is_indexable),
8724         (gst_element_is_locked_state), (gst_element_change_state),
8725         (gst_element_set_bus_func):
8726         Small cleanups.
8727
8728         * gst/gstpipeline.c: (gst_pipeline_class_init),
8729         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8730         The pipeline provides a bus.
8731
8732 2005-09-28  Johan Dahlin  <johan@gnome.org>
8733
8734         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8735         gst_structure_get_enum instead of gst_structure_get_int
8736
8737         * gst/gststructure.c (gst_structure_get_enum): Impl.
8738
8739         * gst/gststructure.h (gst_structure_get_enum): Add
8740
8741         * docs/gst/gstreamer-sections.txt: Ditto
8742
8743         * gst/gstmessage.c (gst_message_new_state_changed): Use
8744         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8745         which does introspection.
8746         Reviewed by Christian Schaller
8747
8748 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8749
8750         * gst/gstinfo.c: (gst_debug_log_default):
8751           don't do dummy g_strdup()s
8752         * libs/gst/controller/gstcontroller.c:
8753         (on_object_controlled_property_changed),
8754         (gst_controlled_property_new), (gst_controller_new_valist),
8755         (gst_controller_new_list),
8756         (gst_controller_remove_properties_valist), (gst_controller_set),
8757         (gst_controller_get), (gst_controller_sync_values),
8758         (gst_controller_get_value_array), (_gst_controller_class_init),
8759         (gst_controller_get_type):
8760         * libs/gst/controller/gstcontroller.h:
8761         * libs/gst/controller/gstinterpolation.c:
8762         (gst_controlled_property_find_timed_value_node):
8763           convert // to /**/ comments
8764
8765 2005-09-28  Wim Taymans  <wim@fluendo.com>
8766
8767         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8768         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8769         (gst_bus_sync_signal_handler):
8770         * gst/gstbus.h:
8771         Added async-message and sync-message signals to the bus.
8772         Added helper BusFunc to emit signals for all posted messages.
8773
8774         * gst/gstmessage.c: (gst_message_type_get_name),
8775         (gst_message_type_to_quark), (gst_message_get_type):
8776         * gst/gstmessage.h:
8777         Register quarks for message names.
8778
8779 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8780
8781         * docs/libs/gstreamer-libs-sections.txt:
8782         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8783         (gst_controller_new_list):
8784         * libs/gst/controller/gstcontroller.h:
8785           added another constructor for language bindings
8786
8787 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8790           add another check
8791         * gst/gstbus.c:
8792           add some doc
8793         * gst/gstinfo.c: (_gst_debug_init):
8794           slightly more readable color for refcount debugging
8795
8796 2005-09-28  Wim Taymans  <wim@fluendo.com>
8797
8798         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8799         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8800         (find_element), (gst_bin_sort_iterator_next),
8801         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8802         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8803         (gst_bin_change_state), (gst_bin_dispose):
8804         Small doc fixes. get_clock -> provide_clock.
8805
8806         * gst/gstelement.c: (gst_element_class_init),
8807         (gst_element_provides_clock), (gst_element_provide_clock),
8808         (gst_element_get_clock), (gst_element_commit_state),
8809         (gst_element_lost_state):
8810         * gst/gstelement.h:
8811         Make get/set_clock() symetric. Add provide_clock vmethod since
8812         that is actually what this function does.
8813
8814         * gst/gstpipeline.c: (gst_pipeline_class_init),
8815         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8816         (gst_pipeline_get_clock):
8817         get_clock -> provide_clock.
8818
8819 2005-09-28  Andy Wingo  <wingo@pobox.com>
8820
8821         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8822         lieu of real docs...
8823
8824         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8825
8826 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8827
8828         * gst/elements/gstcapsfilter.c:
8829         * gst/elements/gstfakesink.c:
8830         * gst/elements/gstfakesrc.c:
8831         * gst/elements/gstfdsink.c:
8832         * gst/elements/gstfdsrc.c:
8833         * gst/elements/gstfilesink.c:
8834         * gst/elements/gstfilesrc.c:
8835         * gst/elements/gstidentity.c:
8836         * gst/elements/gsttee.c:
8837         * gst/elements/gsttypefindelement.c:
8838           Make element details static.
8839
8840 2005-09-28  Wim Taymans  <wim@fluendo.com>
8841
8842         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8843         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8844         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8845         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8846         (gst_bin_change_state), (gst_bin_dispose):
8847         Some documentation updates.
8848         Clean up dispose handlers.
8849
8850         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8851         * gst/gstpad.c: (gst_pad_dispose):
8852         Clean up dispose handler.
8853
8854         * gst/gstpipeline.c: (gst_pipeline_change_state):
8855         Removed spurious UNLOCK.
8856
8857 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
8858
8859         * docs/gst/gstreamer-sections.txt:
8860         * gst/base/gstbasesrc.h:
8861         * gst/gstelement.h:
8862         * gst/gstevent.h:
8863         * gst/gstobject.h:
8864         * gst/gstpad.h:
8865         * gst/gstpipeline.c:
8866         * gst/gstpipeline.h:
8867         * gst/gstutils.h:
8868         * gst/gstxml.h:
8869           added two new functions to the docs
8870                 documents all undocumented GstXXXFlags
8871                 completed some incomplete docs 
8872
8873 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * gst/gstbin.c: (gst_bin_dispose):
8876         * gst/gstelement.c: (gst_element_dispose):
8877           remove now useless and leaky resurrection code in dispose
8878         * gst/base/gstbasesrc.c: (gst_base_src_init):
8879         * gst/gstelementfactory.c: (gst_element_factory_create):
8880         * gst/gstobject.c: (gst_object_set_parent):
8881           add some debugging
8882
8883 2005-09-27  Wim Taymans  <wim@fluendo.com>
8884
8885         * docs/design/part-TODO.txt:
8886         Update TODO.
8887
8888         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8889         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8890         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8891         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8892         (gst_bin_change_state):
8893         * gst/gstelement.h:
8894         Remove element variable, we keep element info in the iterator now.
8895
8896 2005-09-27  Andy Wingo  <wingo@pobox.com>
8897
8898         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8899         values.
8900
8901 2005-09-27  Wim Taymans  <wim@fluendo.com>
8902
8903         * check/gst/gstbin.c: (GST_START_TEST):
8904         Enable check that works now.
8905
8906         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8907         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8908         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8909         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8910         (gst_bin_change_state):
8911         * gst/gstbin.h:
8912         Redid the state change algorithm using a topological sort algo.
8913         Handles all cases correctly.
8914         Exposed iterator for state change order.
8915
8916         * gst/gstelement.h:
8917         Temp storage for state changes. Need to get rid of this soon.
8918
8919 2005-09-27  Wim Taymans  <wim@fluendo.com>
8920
8921         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8922         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8923         (link_fold_func), (gst_pad_proxy_setcaps):
8924         Leak fixes, the fold functions need to unref the passed object and
8925         _get_parent_*() returns ref to parent.
8926
8927 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8928
8929         * check/gst/gstbuffer.c: (test_make_writable):
8930           Plug leak in test case and fix 'make check-valgrind'
8931
8932 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * gst/gstbuffer.c: (gst_subbuffer_init):
8935           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8936           works correctly in all circumstances (we could have just copied
8937           the parent buffer's readonly flag, but conceptually it seems
8938           cleaner to mark all subbuffers as read-only). (based on patch
8939           by Alessandro Decina, #314710).
8940         
8941         * check/gst/gstbuffer.c: (create_read_only_buffer),
8942         (test_make_writable), (test_subbuffer_make_writable),
8943         (gst_test_suite):
8944           Add some tests for gst_buffer_make_writable().
8945
8946 2005-09-27  Wim Taymans  <wim@fluendo.com>
8947
8948         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8949         use gst_object_has_ancestor().
8950
8951         * gst/gstobject.c: (gst_object_has_ancestor):
8952         * gst/gstobject.h:
8953         gst_object_has_ancestor() copied from gstbin.c as it is a
8954         usefull function.
8955
8956         * tests/instantiate/create.c: (create_all_elements):
8957         * tests/lat.c: (handoff_src), (handoff_sink):
8958         * tests/sched/runxml.c: (main):
8959         * tests/seeking/seeking1.c: (main):
8960         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8961         (main):
8962         Fix compilation of some tests.
8963
8964 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8965
8966         * gst/gsterror.h:
8967           Remove comment. GST_TYPE_G_ERROR is here to stay,
8968           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8969           (#316961, #300610).
8970
8971 2005-09-26  Wim Taymans  <wim@fluendo.com>
8972
8973         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8974         Added check that shows error in state change order.
8975
8976 2005-09-26  Wim Taymans  <wim@fluendo.com>
8977
8978         * gst/gstbin.c: (gst_bin_change_state):
8979         Make state change function use 3 queues again, we were
8980         adding elements in the wrong order.
8981
8982         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8983         Some debug info,
8984
8985         * gst/gstpad.c: (gst_pad_dispose):
8986         Added some debug info first.
8987
8988 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8989
8990         * docs/design/draft-push-pull.txt:
8991         * docs/design/part-events.txt:
8992         * docs/design/part-overview.txt:
8993         * docs/design/part-scheduling.txt:
8994           Replace all _pull_region() with _pull_range()
8995           
8996 2005-09-26  Andy Wingo  <wingo@pobox.com>
8997
8998         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8999
9000         * check/gst-libs/controller.c: Update for controller api change.
9001
9002         * configure.ac: 
9003         * tests/Makefile.am:
9004         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9005         over by GLib bug 118439.
9006         
9007         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9008         routines to a function.
9009
9010         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9011
9012         * libs/gst/controller/gsthelper.c:
9013         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9014         (gst_object_sync_values): Renamed from sink_values. Ugh.
9015
9016         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9017
9018         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9019         Renamed from controller_key, as it is exported.
9020
9021         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9022
9023 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9024
9025         * gst/Makefile.am:
9026         * gst/gst.h:
9027         * gst/gstpad.h:
9028         * gst/gstpadtemplate.h:
9029         * gst/gstquery.c:
9030         * gst/gstquery.h:
9031         * gst/gstqueryutils.c:
9032         * gst/gstqueryutils.h:
9033           remove queryutils headers after moving the two used functions
9034           to gstquery.  also fixes build problem for gstsiddec
9035
9036 2005-09-26  Michael Smith <msmith@fluendo.com>
9037
9038         * tools/gst-launch.1.in:
9039         Correct documentation in manpage of debug syntax
9040
9041 2005-09-26  Wim Taymans  <wim@fluendo.com>
9042
9043         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9044         (gst_base_src_is_seekable), (gst_base_src_change_state):
9045         Some more debugging info.
9046
9047 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9048
9049         * docs/gst/gstreamer-sections.txt:
9050         * gst/base/gstbasetransform.h:
9051         * gst/gstindex.h:
9052           added more docs
9053
9054 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9055
9056         * docs/gst/.cvsignore:
9057         * docs/gst/tmpl/.cvsignore:
9058         * docs/gst/tmpl/gstpipeline.sgml:
9059         * docs/gst/tmpl/gstplugin.sgml:
9060         * gst/gstpipeline.c:
9061         * gst/gstplugin.c:
9062         * gst/gstplugin.h:
9063           inlined the last two docs files
9064           removed the tmpl directory from cvs (no more conflicts here!)
9065
9066 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9067
9068         * docs/gst/gstreamer-sections.txt:
9069         * docs/gst/tmpl/.cvsignore:
9070         * docs/gst/tmpl/gstpad.sgml:
9071         * docs/gst/tmpl/gstpadtemplate.sgml:
9072         * gst/Makefile.am:
9073         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9074         (gst_pad_finalize), (gst_pad_set_pad_template):
9075         * gst/gstpad.h:
9076         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9077         (gst_pad_template_class_init), (gst_pad_template_init),
9078         (gst_pad_template_dispose), (name_is_valid),
9079         (gst_static_pad_template_get), (gst_pad_template_new),
9080         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9081         (gst_pad_template_pad_created):
9082         * gst/gstpadtemplate.h:
9083           inlined two more docs
9084           factored gstpadtemplate out of gstpad
9085
9086 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9089         (test_children_state_change_order_semi_sink):
9090           Fix test case: we can't rely on a fixed state change order when
9091           going from READY => PAUSED because the sink might commit its 
9092           new state first when the first buffer created by the source 
9093           reaches the sink before the source has finished its change state.
9094           (Test case still fails at times, see #316856, comment 5 onwards)
9095
9096 2005-09-24  Wim Taymans  <wim@fluendo.com>
9097
9098         * docs/design/part-events.txt:
9099         * docs/design/part-gstbus.txt:
9100         * docs/design/part-gstpipeline.txt:
9101         * docs/design/part-messages.txt:
9102         * docs/design/part-overview.txt:
9103         * docs/design/part-segments.txt:
9104         * gst/gstbin.c:
9105         * gst/gstbuffer.c:
9106         * gst/gstclock.c:
9107         * gst/gstelement.c:
9108         * gst/gstevent.c:
9109         * gst/gstfilter.c:
9110         * gst/gstiterator.c:
9111         Various documentation updates.
9112
9113 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * gst/gstclock.h:
9116           Well, that's embarassing.  Luckily we weren't using
9117           GST_CLOCK_DIFF anywhere.
9118
9119 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9120
9121         * common/gtk-doc.mak:
9122           don't fail on building XML, FC4 slave shows a bunch of doc
9123           missing bits that I don't get
9124         * gst/gstpad.c:
9125         * gst/gstpipeline.c:
9126         * gst/gststructure.c:
9127           some doc updates
9128
9129 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9130
9131         * docs/design/part-gstbin.txt:
9132         * docs/design/part-gstbus.txt:
9133         * gst/gstbus.c:
9134           Add blurb about how the bus goes into flushing mode and
9135           drops all messages when its bin goes from READY into NULL 
9136           state.
9137
9138 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9139
9140         * docs/gst/gstreamer-sections.txt:
9141         * gst/gststructure.c: (gst_structure_get_clock_time):
9142         * gst/gststructure.h:
9143           add a method to get a GstClockTime out of a structure
9144
9145 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9146
9147         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9148         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9149           Added test to check state change order in bins (can still be made
9150           to fail here under heavy disk load; bails out with 'Push on pad
9151           fakesink:sink0, but it was not activated in push mode').
9152
9153         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9154           Fix state change order when there is only a semi sink (#316856)
9155
9156         * gst/gstbus.c: (gst_bus_class_init):
9157           Use _class_peek_parent(), not _class_ref(); fix docs to say
9158           'default main context' instead of 'mainloop' where that is
9159           what's meant.
9160
9161         * gst/gstelement.c: (gst_element_commit_state),
9162         (gst_element_set_state):
9163           Fix typos in debug messages
9164
9165 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9166
9167         * docs/README:
9168         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9169         * gst/gstpluginfeature.c:
9170         * gst/gstutils.c:
9171           various doc updates
9172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9173           change an assert into an error until it gets fixed properly
9174
9175 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
9176
9177         * docs/gst/gstreamer-sections.txt:
9178         * docs/gst/tmpl/.cvsignore:
9179         * docs/gst/tmpl/gstelement.sgml:
9180         * docs/gst/tmpl/gstinfo.sgml:
9181         * docs/gst/tmpl/gstobject.sgml:
9182         * gst/gstelement.c:
9183         * gst/gstelement.h:
9184         * gst/gstinfo.c:
9185         * gst/gstinfo.h:
9186         * gst/gstobject.c: (gst_object_class_init):
9187         * gst/gstobject.h:
9188           inlined 3 more biiiig doc files and added some missing docs on the fly
9189
9190 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * check/gst/.cvsignore:
9193         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
9194         * gst/gstregistryxml.c: (load_plugin),
9195         (gst_registry_xml_save_plugin):
9196           put back source in registry.  add checks for find_plugin.
9197         * testsuite/states/bin.c: (assert_state), (empty_bin),
9198         (test_adding_one_element), (main):
9199         * testsuite/states/locked.c: (main):
9200           some compile/run fixes
9201
9202 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9203
9204         * check/gst/gstvalue.c: (GST_START_TEST):
9205           fix leaks in the test itself
9206
9207 2005-09-22  Wim Taymans  <wim@fluendo.com>
9208
9209         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9210         (gst_base_sink_send_event), (gst_base_sink_peer_query),
9211         (gst_base_sink_query):
9212         Prepare for more accurate position reporting and query
9213         handling.
9214
9215         * gst/gstelement.c: (gst_element_send_event),
9216         (gst_element_set_state):
9217         Add some comment.
9218
9219 2005-09-22  Wim Taymans  <wim@fluendo.com>
9220
9221         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
9222         (gst_query_parse_segment):
9223         * gst/gstquery.h:
9224         More documentation.
9225         Add segment query for future use.
9226
9227 2005-09-22  Wim Taymans  <wim@fluendo.com>
9228
9229         * gst/gstbin.c: (gst_bin_add_func):
9230         Some more debug info.
9231
9232         * gst/gstelement.c: (gst_element_send_event):
9233         Simplify send_event
9234
9235         * gst/gstelement.h:
9236         Don't know how flags got broken.
9237
9238         * gst/gstquery.h:
9239         Added new query.
9240
9241 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9242
9243         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
9244           Add simplistic test suite for GST_TYPE_DATE serialisation and
9245           deserialisation.
9246
9247 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9248
9249         * docs/gst/gstreamer-sections.txt:
9250         * gst/gststructure.c: (gst_structure_set_valist),
9251         (gst_structure_get_date):
9252         * gst/gststructure.h:
9253         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
9254         (gst_date_copy), (gst_value_compare_date),
9255         (gst_value_serialize_date), (gst_value_deserialize_date),
9256         (gst_value_transform_date_string),
9257         (gst_value_transform_string_date), (_gst_value_initialize):
9258         * gst/gstvalue.h:
9259           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
9260           bunch of utility functions along with a hack that checks that
9261           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
9262           is required. Part of the grand scheme in #170777.
9263
9264 2005-09-22  Andy Wingo  <wingo@pobox.com>
9265
9266         * gst/gstconfig.h.in: Psych out gtk-doc.
9267
9268         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
9269
9270         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
9271
9272         * tools/gst-inspect.c (print_element_list): Plug some
9273         inconsequential leaks.
9274
9275         * gst/gstregistry.c (gst_registry_get_default): Doc.
9276
9277         * check/gst/gstplugin.c: 
9278         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
9279         * gst/gstelementfactory.c (gst_element_factory_create): 
9280         * gst/gstindexfactory.c (gst_index_factory_create): Update for
9281         refcount changes.
9282
9283         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
9284         (gst_plugin_feature_load): Doc, don't eat refs.
9285
9286         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
9287         (gst_plugin_list_free): Doc.
9288         (gst_plugin_load_file): Doc updates.
9289
9290         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
9291         accessors returning refcounted objects, return a ref.
9292
9293         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
9294         accessor for caps. IDEMPOTENCE. Oh yes.
9295
9296 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
9297
9298         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9299
9300         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9301         (_gst_debug_register_funcptr):
9302           Add mutex to serialise access to the hash table with
9303           the function pointer => function name string mapping;
9304           make that hash table static scope (#316809).
9305
9306         * gst/registries/.cvsignore:
9307           Remove left-over file.
9308
9309 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9310
9311         * docs/pwg/appendix-porting.xml:
9312           And something about newsegment events and caps-on-buffers to
9313           the porting guide (feel free to improve).
9314
9315 2005-09-21  Andy Wingo  <wingo@pobox.com>
9316
9317         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9318         data and event probes on the same pad.
9319         (test_buffer_probe_once): Test that removing probes from within
9320         the probe functions works.
9321
9322 2005-09-21  Andy Wingo  <wingo@pobox.com>
9323
9324         * check/gst/gstutils.c: New file.
9325         (test_buffer_probe_n_times): A simple buffer probe test. More to
9326         come, foolios.
9327
9328         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9329         have-data::buffer, not have-data.
9330         (gst_pad_add_event_probe): Likewise for have-data::event.
9331         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9332         peer' isn't quite right yet though.
9333         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9334         (gst_pad_remove_data_probe): Change to take the guint handler_id
9335         as their arg, not the function+data, which is more glib-like.
9336
9337         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9338         the signal emission to indicate if the data is a buffer or an
9339         event.
9340         (gst_pad_get_type): Initialize buffer and event quarks.
9341         (gst_pad_class_init): have-data is now a detailed signal, yes it
9342         is.
9343
9344 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9345
9346         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9347         * gst/gstutils.c: (gst_util_set_value_from_string),
9348         (gst_util_set_object_arg):
9349           Don't put functional code in g_return_if_fail() or
9350           g_return_val_if_fail() statements, otherwise things will 
9351           break when G_DISABLE_CHECKS is defined during compilation.
9352
9353 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9354
9355         * docs/gst/tmpl/.cvsignore:
9356         * docs/gst/tmpl/gstvalue.sgml:
9357         * gst/gstvalue.c:
9358         * gst/gstvalue.h:
9359           inlied another one and added  some obvious docs
9360
9361 2005-09-21  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9364         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9365         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9366         (gst_fdsrc_get_property), (gst_fdsrc_create):
9367         * gst/elements/gstfdsrc.h:
9368         Properly implement fdsrc. Removed signal and timeout,
9369         better implemented somewhere else.
9370
9371 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9372
9373         * docs/gst/tmpl/.cvsignore:
9374         * docs/gst/tmpl/gstimplementsinterface.sgml:
9375         * gst/gstinterface.c:
9376           inlined more docs
9377
9378 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * docs/gst/gstreamer-sections.txt:
9381         * docs/gst/tmpl/.cvsignore:
9382         * docs/gst/tmpl/gstenumtypes.sgml:
9383           remove obsolete doc file
9384
9385 2005-09-21  David Schleef  <ds@schleef.org>
9386
9387         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9388         little beer, fix a little leak.
9389
9390 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9391
9392         * docs/gst/gstreamer-docs.sgml:
9393         * docs/gst/gstreamer-sections.txt:
9394         * docs/gst/tmpl/.cvsignore:
9395         * gst/Makefile.am:
9396         * gst/gst.h:
9397         * gst/gstbin.c:
9398         * gst/gstelement.h:
9399         * gst/gstindex.c: (gst_index_class_init):
9400         * gst/gstindex.h:
9401         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9402         (gst_index_factory_class_init), (gst_index_factory_init),
9403         (gst_index_factory_finalize), (gst_index_factory_new),
9404         (gst_index_factory_destroy), (gst_index_factory_find),
9405         (gst_index_factory_create), (gst_index_factory_make):
9406         * gst/gstindexfactory.h:
9407         * gst/gstpluginfeature.c:
9408         * gst/gstpluginfeature.h:
9409         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9410           more docs inlined, splitted gstindex.{c,h}
9411
9412 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9413
9414         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9415           fix a leak
9416
9417 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9418
9419         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9420           Set sync to FALSE by default.
9421
9422 2005-09-20  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9425         (gst_base_sink_init):
9426         Make sync property settable from subclass.
9427
9428         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9429         (gst_fake_sink_change_state):
9430         Set sync to FALSE by default.
9431
9432 2005-09-20  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9435         * tools/gst-launch.c: (main):
9436         The timeout handler should have lower priority than the source
9437         so we don't timeout before popping a message with 0 timeout.
9438         Dump error messages after failed state change.
9439
9440 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9441
9442         * tools/gst-inspect.c: (print_element_properties_info):
9443           Fix two typos.
9444
9445 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9446
9447         * check/gst/gstevent.c:
9448         * gst/elements/gstfakesink.c:
9449         * gst/elements/gstfakesink.h:
9450           remove the sync property from fakesink.
9451           has the side effect of setting sync TRUE
9452           for fakesink, which is a change.  Anyone who knows how
9453           to fix this nicely in a GObject-y way, feel free.
9454
9455 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9456
9457         * docs/gst/gstreamer-docs.sgml:
9458           remove probe refsection
9459
9460 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9461
9462         * check/Makefile.am:
9463           disable valgrinding the controller test again
9464         * docs/gst/gstreamer-sections.txt:
9465           update for api-changes
9466
9467 2005-09-20  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9470         (gst_base_sink_set_property), (gst_base_sink_get_property),
9471         (gst_base_sink_do_sync):
9472         * gst/base/gstbasesink.h:
9473         Added sync property to basesink to disable clock sync.
9474
9475 2005-09-20  Andy Wingo  <wingo@pobox.com>
9476
9477         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9478         eating the caller's refcount.
9479
9480         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9481         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9482         refcount.
9483
9484         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9485         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9486         of GLib 2.8 public, so we can know which refcount to check in
9487         tests.
9488
9489         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9490         (gst_object_init): Only set the gst refcount if we're going ahead
9491         with the refcount hack.
9492
9493 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9494
9495         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9496         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9497           more leaks plumbed, added more debug-logging
9498         * gst/gstmacros.h:
9499           whitespace fix
9500
9501 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * gst/gstmessage.c:
9504           remove include of gstmemchunk.h
9505
9506 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9507
9508         * gst/gstclock.c: (_gst_clock_id_free):
9509           Commit from the Political Party For More Atomic CVS Commits,
9510           so that people don't waste too much of their day fishing
9511           out obvious leaks out of massive commits.
9512           Oh, and fix a pretty damn obvious leak in the memchunk
9513           removal code.
9514
9515 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9516
9517         * check/Makefile.am:
9518         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9519           plug mem-leak, re-add to valgrindable tests
9520
9521 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9522
9523         * gst/gstplugin.h:
9524           unbreak the build for those who have chronic arthritis
9525           and typing "make check" is just too taxing on the hands
9526
9527 2005-09-20  Andy Wingo  <wingo@pobox.com>
9528
9529         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9530         really want it out, you should fix plugins at the same time.
9531
9532 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9533
9534         * configure.ac:
9535         * docs/gst/gstreamer-sections.txt:
9536         * gst/gstobject.c:
9537           added missing symbols to api docs
9538           disable ref-count hack if we have glib >= 2.8
9539
9540 2005-09-19  David Schleef  <ds@schleef.org>
9541
9542         * docs/gst/Makefile.am: Ignore a few more internal headers
9543         * docs/gst/gstreamer-docs.sgml: Remove old sections
9544         * docs/gst/gstreamer-sections.txt: Remove old sections
9545         * docs/gst/tmpl/gstobject.sgml: update
9546         * docs/gst/tmpl/gstplugin.sgml: update
9547         * docs/gst/tmpl/gstpluginfeature.sgml: update
9548         * docs/random/ds/0.9-suggested-changes: update.
9549         * gst/Makefile.am: remove memchunk and trashstack, since they're
9550           not used.
9551         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9552         * gst/gst.h: don't include some headers
9553         * gst/gstchildproxy.c: add gstmarshal.h
9554         * gst/gstclock.c: Don't use memchunks
9555         * gst/gstminiobject.c: Add some docs
9556         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9557         * gst/gstobject.h: same
9558         * gst/gstplugin.c: include gstmacros.h
9559         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9560         * gst/gstquery.c: don't use memchunks
9561         * gst/gstregistry.c: rename gst_registry_deinit()
9562         * gst/gstregistry.h: same
9563
9564 2005-09-19  David Schleef  <ds@schleef.org>
9565
9566         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9567         * docs/libs/gstreamer-libs-sections.txt:
9568         * docs/libs/tmpl/gstgetbits.sgml:
9569         * docs/libs/tmpl/gstputbits.sgml:
9570
9571 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9572
9573         * win32/gstenumtypes.c:
9574         * win32/gstenumtypes.h:
9575           Update.
9576
9577 2005-09-19  Wim Taymans  <wim@fluendo.com>
9578
9579         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9580         Automatically PAUSE and RESUME a pipeline when a flushing seek
9581         is performed.
9582
9583 2005-09-19  Andy Wingo  <wingo@pobox.com>
9584
9585         * gst/gstregistry.h: Spacing fixen.
9586
9587 2005-09-19  Wim Taymans  <wim@fluendo.com>
9588
9589         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9590         Handle state change failure more correctly.
9591
9592 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9593
9594         * check/Makefile.am:
9595         * check/pipelines/cleanup.c: (run_pipeline):
9596         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9597         (GST_START_TEST):
9598           enable cleanup again after fixing the leak
9599         * docs/README:
9600           some more info on docs
9601
9602 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * check/Makefile.am:
9605           re-enable tests now that leaks are plugged
9606         * check/gst/gst.c:
9607         * check/gst/gstbin.c:
9608         * check/gst/gstpipeline.c:
9609           add some more tests while fixing leaks
9610         * common/check.mak:
9611           make sure binaries are uptodate when valgrinding/gdbing
9612         * gst/gst.c:
9613         * gst/gstelementfactory.c:
9614           remove a ref too many, and add a FIXME for when we get
9615           round to disposing of classes
9616         * gst/gstplugin.c:
9617           fix the refcounting when loading a plugin from a file and
9618           the code pretends that the pointer is the same even though
9619           of course it can change
9620         * gst/gstpluginfeature.c:
9621           unref plugins marked cached (a bit confusing as a name)
9622           as the docs state should be done
9623           various doc additions to explain refcounting
9624         * gst/gstregistry.c:
9625         * gst/gstregistryxml.c:
9626           debugging
9627
9628 2005-09-19  Wim Taymans  <wim@fluendo.com>
9629
9630         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9631         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9632         (send_messages), (GST_START_TEST), (gstbus_suite):
9633         * check/gst/gstpipeline.c: (GST_START_TEST):
9634         * check/pipelines/cleanup.c: (run_pipeline):
9635         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9636         (GST_START_TEST):
9637         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9638         (gst_bus_source_check), (gst_bus_source_dispatch),
9639         (gst_bus_create_watch), (gst_bus_add_watch_full),
9640         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9641         * gst/gstbus.h:
9642         * tools/gst-launch.c: (event_loop):
9643         * tools/gst-md5sum.c: (event_loop):
9644         GstBusHandler -> GstBusFunc, return value has the same meaning as
9645         any other GSource (FALSE == remove source).
9646         _add_watch() and _add_watch_full() now take a MessageType mask to
9647         only handle specific types of messages.
9648         _poll() returns the GstMessage instead of the message type to avoid
9649         race conditions.
9650         _have_pending() takes a MessageType mask now too.
9651         Added testsuite for multiple bus watches.
9652         Fix testsuites and applications for new bus API.
9653
9654 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * check/Makefile.am:
9657           mark a bunch of the tests as to fix until we fix them
9658
9659 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         * common/check.mak:
9662           use GST_PLUGIN settings for valgrind tests as well, so we're
9663           valgrinding the correct thing
9664         * gst/gst.c: (init_post):
9665           plug another leak
9666
9667 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9668
9669         * gst/gst.c: (init_post), (gst_deinit):
9670         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9671         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9672         * gst/gstindex.c: (gst_index_factory_class_init),
9673         (gst_index_factory_finalize):
9674         * gst/gstobject.c: (gst_object_dispose):
9675         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9676         (gst_plugin_load_file), (gst_plugin_desc_free):
9677         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9678         (gst_plugin_feature_finalize):
9679         * gst/gstregistry.c: (gst_registry_class_init),
9680         (gst_registry_init), (gst_registry_finalize),
9681         (gst_registry_get_default), (gst_registry_deinit):
9682         * gst/gstregistry.h:
9683         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9684           various cleanups and memleak plugging.  make valgrind is happy now.
9685
9686 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9687
9688         * common/check.mak:
9689           add a check-valgrind target
9690
9691 2005-09-18  David Schleef  <ds@schleef.org>
9692
9693         * tools/gst-inspect.c: Revert the GOption code.
9694
9695 2005-09-17  David Schleef  <ds@schleef.org>
9696
9697         * check/Makefile.am: Fix environment variables.
9698         * check/gst/gstplugin.c: Fix for API changes.
9699         * tools/gst-inspect.c: Fix for API changes.
9700         * tools/gst-xmlinspect.c: Fix for API changes.
9701         * gst/gstelementfactory.c:
9702         * gst/gstplugin.c:
9703         * gst/gstplugin.h:
9704         * gst/gstpluginfeature.c:
9705         * gst/gstpluginfeature.h:
9706         * gst/gstregistry.c:
9707         * gst/gstregistry.h:
9708         * gst/gstregistryxml.c:
9709         * gst/gsttypefind.c:
9710         * gst/gsttypefindfactory.c:
9711         * gst/indexers/gstfileindex.c:
9712         * gst/indexers/gstmemindex.c:
9713         * gst/schedulers/Makefile.am:
9714           Change registry to keep track of both plugins and features,
9715           removing the feature tracking from plugins themselves.
9716
9717 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * check/Makefile.am:
9720         * tools/gst-register.1.in:
9721           remove gst-register
9722
9723 2005-09-15  David Schleef  <ds@schleef.org>
9724
9725         * check/gst/gstplugin.c:
9726         * gst/gstelementfactory.c:
9727         * gst/gstplugin.c:
9728         * gst/gstpluginfeature.c:
9729         * gst/gstregistry.c:
9730           Getting tired of debugging.  Disabled all the unreffing of
9731           plugins and features, which fixes the segfaults, but of
9732           course leaks like crazy.  At least playbin works.
9733
9734 2005-09-15  David Schleef  <ds@schleef.org>
9735
9736         * check/gst/gstplugin.c: (register_check_elements),
9737         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9738         More testing
9739         * gst/elements/gsttypefindelement.c: Fix refcounting.
9740         * gst/gsttypefind.c:
9741         * gst/gsttypefindfactory.c:
9742         * gst/gsttypefindfactory.h:
9743
9744 2005-09-15  David Schleef  <ds@schleef.org>
9745
9746         * gst/gstindex.c: get refcounting correct.
9747         * gst/gstregistry.c: Handle the case where a feature/plugin is
9748           not found.
9749
9750 2005-09-15  David Schleef  <ds@schleef.org>
9751
9752         * check/Makefile.am:
9753         * check/gst/gstplugin.c: Add test
9754         * gst/gstplugin.c: Fix problems noticed by testsuite
9755         * gst/gstplugin.h:
9756         * gst/gstregistry.c: 
9757         * gst/gstregistry.h:
9758
9759 2005-09-15  David Schleef  <ds@schleef.org>
9760
9761         * gst/gstplugin.c: Implement semi-decent recounting and locking
9762           in plugins and plugin features.
9763         * gst/gstplugin.h:
9764         * gst/gstpluginfeature.c:
9765         * gst/gstpluginfeature.h:
9766         * gst/gstregistry.c:
9767
9768 2005-09-15  Michael Smith <msmith@fluendo.com>
9769
9770         * gst/gstregistry.c: (gst_registry_get_feature_list):
9771           Implement this. Makes oggdemux work; decodebin still broken.
9772
9773 2005-09-14  David Schleef  <ds@schleef.org>
9774
9775         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9776           #316076)
9777         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9778         * gst/check/Makefile.am:
9779         * libs/gst/controller/Makefile.am:
9780         * libs/gst/dataprotocol/Makefile.am:
9781
9782 2005-09-14  David Schleef  <ds@schleef.org>
9783
9784         * configure.ac: Remove getbits library.  Nothing uses it, and
9785           it should be in something like liboil if someone did want
9786           to use it.
9787         * libs/gst/Makefile.am:
9788         * libs/gst/getbits/Makefile.am:
9789         * libs/gst/getbits/gbtest.c:
9790         * libs/gst/getbits/getbits.c:
9791         * libs/gst/getbits/getbits.h:
9792         * libs/gst/getbits/gstgetbits_generic.c:
9793         * libs/gst/getbits/gstgetbits_i386.s:
9794         * libs/gst/getbits/gstgetbits_inl.h:
9795
9796 2005-09-14  David Schleef  <ds@schleef.org>
9797
9798         * gst/Makefile.am: Dist glib-compat.h
9799
9800 2005-09-14  David Schleef  <ds@schleef.org>
9801
9802         * configure.ac: Remove gst/registries, since it's no longer used.
9803         * gst/registries/Makefile.am:
9804         * gst/registries/gstlibxmlregistry.c:
9805         * gst/registries/gstlibxmlregistry.h:
9806         * gst/registries/gstxmlregistry.c:
9807         * gst/registries/gstxmlregistry.h:
9808         * gst/registries/registrytest.c:
9809
9810 2005-09-14  David Schleef  <ds@schleef.org>
9811
9812         * gst/glib-compat.h:
9813         * gst/gstregistryxml.c:
9814           Convergence is near.  Seriously.
9815
9816 2005-09-14  David Schleef  <ds@schleef.org>
9817
9818         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9819         * gst/glib-compat.h:
9820           Attempt #4 to appease the buildbots.
9821
9822 2005-09-14  David Schleef  <ds@schleef.org>
9823
9824         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9825           Attempt #3.
9826
9827 2005-09-14  David Schleef  <ds@schleef.org>
9828
9829         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9830         Attempt #2.
9831
9832 2005-09-14  David Schleef  <ds@schleef.org>
9833
9834         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9835           the new functions.
9836
9837 2005-09-14  David Schleef  <ds@schleef.org>
9838
9839         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9840         * gst/glib-compat.h: Add some functions that are in newer versions
9841           of glib than we care to require.
9842         * gst/gstregistryxml.c: Use them.
9843
9844 2005-09-14  David Schleef  <ds@schleef.org>
9845
9846         * po/POTFILES.in: remove gst-register.c
9847
9848 2005-09-14  David Schleef  <ds@schleef.org>
9849
9850         * docs/gst/gstreamer-docs.sgml:
9851         * docs/gst/gstreamer-sections.txt:
9852         * docs/gst/gstreamer.types:
9853         * docs/gst/tmpl/gstelement.sgml:
9854         * docs/gst/tmpl/gstplugin.sgml:
9855         * docs/gst/tmpl/gstpluginfeature.sgml:
9856           Documentation updates for registry changes.
9857
9858 2005-09-14  David Schleef  <ds@schleef.org>
9859
9860         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9861           because we don't require glib-2.8.
9862
9863 2005-09-14  David Schleef  <ds@schleef.org>
9864
9865         * gst/gstregistryxml.c: Added.  Essentially moved out of the
9866           registries directory.
9867
9868 2005-09-14  David Schleef  <ds@schleef.org>
9869
9870         * check/Makefile.am:
9871         * check/generic/states.c:
9872         * gst/Makefile.am:
9873         * gst/gst.c:
9874         * gst/gst.h:
9875         * gst/gst_private.h:
9876         * gst/gstelementfactory.c:
9877         * gst/gstindex.c:
9878         * gst/gstinfo.c:
9879         * gst/gstplugin.c:
9880         * gst/gstplugin.h:
9881         * gst/gstpluginfeature.c:
9882         * gst/gstpluginfeature.h:
9883         * gst/gstregistry.c:
9884         * gst/gstregistry.h:
9885         * gst/gstregistrypool.c: remove
9886         * gst/gstregistrypool.h: remove
9887         * gst/gsttypefind.c:
9888         * gst/gsttypefindfactory.c:
9889         * gst/gsturi.c:
9890         * tools/Makefile.am:
9891         * tools/gst-compprep.c:
9892         * tools/gst-inspect.c:
9893         * tools/gst-register.c: remove
9894         * tools/gst-xmlinspect.c:
9895           Registry rewrite.  Changes registry from being a file created
9896           by a tool into a simple cache file created automatically by 
9897           libgstreamer.  Removed gst-register (because it's no longer
9898           needed).  Remove registry pools, because we only have one
9899           registry implementation (XML).  Fix up other subsystems as
9900           necessary.
9901
9902 2005-09-13  Michael Smith <msmith@fluendo.com>
9903
9904         * gst/gstconfig.h.in:
9905           Don't Use windows linking attributes for MinGW. Fixes #316157
9906
9907 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9908
9909         * gst/gstutils.c: (set_state_async_thread_func),
9910         (gst_element_set_state_async):
9911           Apparently people think it's better if this function doesn't
9912           try to set the state to whatever state was asked for on the first
9913           call to this function for any object.  Seriously.
9914
9915 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * check/gst/gstpipeline.c: (GST_START_TEST):
9918         * docs/gst/gstreamer-sections.txt:
9919         * gst/gstutils.c: (set_state_async_thread_func),
9920         (gst_element_set_state_async):
9921         * gst/gstutils.h:
9922           add a "gst_element_set_state_async" method that
9923           sets the state and starts a thread to make sure the state
9924           change completes as best as it can
9925
9926 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9929           codify design+behaviour in testsuite after discussion
9930
9931 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * docs/gst/tmpl/gstelement.sgml:
9934         * docs/manual/appendix-quotes.xml:
9935           add a quote
9936         * gst/gstelement.c: (gst_element_set_state):
9937           add some debug
9938
9939 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9940
9941         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9942         (gst_base_transform_prepare_output_buf),
9943         (gst_base_transform_handle_buffer):
9944         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9945         (gst_capsfilter_prepare_buf):
9946           Remove the requirement for sub-classes to call the parent
9947           implementation of prepare_output_buffer with a wrapper function.
9948           
9949         * gst/gsttaglist.h:
9950         * gst/gsttagsetter.h:
9951           Fix #define wrapper
9952
9953 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9954
9955         * docs/gst/gstreamer-sections.txt:
9956           more doc cleanups
9957
9958 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9959
9960         * docs/gst/gstreamer-sections.txt:
9961         * docs/gst/tmpl/gstelement.sgml:
9962         * docs/gst/tmpl/gstplugin.sgml:
9963         * gst/gstminiobject.c:
9964         * gst/gstvalue.h:
9965           docs now stop throwing warnings
9966
9967 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * docs/gst/gstreamer-sections.txt:
9970         * docs/gst/gstreamer.types:
9971         * docs/gst/tmpl/gstpad.sgml:
9972         * docs/gst/tmpl/gsttypes.sgml:
9973         * gst/base/gstadapter.h:
9974         * gst/base/gstbasesink.h:
9975         * gst/base/gstbasesrc.h:
9976         * gst/gstbin.h:
9977         * gst/gstbuffer.h:
9978         * gst/gstbus.h:
9979         * gst/gstcaps.h:
9980         * gst/gstclock.h:
9981         * gst/gstelement.h:
9982         * gst/gstevent.h:
9983         * gst/gstmessage.h:
9984         * gst/gstpad.h:
9985         * gst/gststructure.c:
9986         * gst/registries/gstlibxmlregistry.h:
9987           various documentation fixes
9988
9989 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * docs/gst/gstreamer-sections.txt:
9992         * docs/gst/tmpl/gstvalue.sgml:
9993           rearrange gstvalue section
9994         * gst/gstutils.c: (gst_element_state_get_name):
9995           NONE -> VOID
9996         * gst/gstvalue.c: (_gst_value_initialize):
9997         * gst/gstvalue.h:
9998           doc updates
9999
10000 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10001
10002         * check/gst-libs/controller.c:
10003           Header include fix.
10004         * gst/base/gstbasetransform.c:
10005         (gst_base_transform_default_prepare_buf),
10006         (gst_base_transform_handle_buffer):
10007         * gst/base/gstbasetransform.h:
10008           Some more basetransform changes and fixes to enable sub-classes
10009           that modify buffer metadata only.
10010         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10011         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10012         (gst_capsfilter_prepare_buf):
10013           If the output pad has fixed allowed caps and input buffers 
10014           don't have any, set the fixed caps on outgoing buffers.
10015
10016 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10017         * check/elements/identity.c: (GST_START_TEST):
10018           Make the error a little clearer when the test fails because
10019           identity made a copy of the buffer.
10020         * docs/gst/gstreamer-sections.txt:
10021           New symbols in gstbasetransform.h
10022         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10023         (gst_base_transform_init), (gst_base_transform_transform_size),
10024         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10025         (gst_base_transform_default_prepare_buf),
10026         (gst_base_transform_get_unit_size),
10027         (gst_base_transform_buffer_alloc),
10028         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10029         (gst_base_transform_change_state),
10030         (gst_base_transform_set_passthrough),
10031         (gst_base_transform_set_in_place),
10032         (gst_base_transform_is_in_place):
10033         * gst/base/gstbasetransform.h:
10034           Change BaseTransform to separate in_place operate from same_caps
10035           output. in_place implies that the element can perform the transform
10036           on incoming buffers in-place, even if the caps on the output are
10037           different.
10038           Sub-class elements can now implement special buffer allocation
10039           methods for outgoing buffers if they wish to.
10040           Big documentation addition.
10041         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10042         * gst/elements/gstelements.c:
10043           Changes for basetransform modifications.
10044         * gst/elements/Makefile.am:
10045         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10046           Compile fix. Extra debug output.
10047
10048 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10051         (gst_pad_suite):
10052           add tests for valid pad naming
10053         * gst/check/gstcheck.c: (gst_check_log_message_func),
10054         (gst_check_log_critical_func):
10055           add ASSERT_WARNING
10056           remove printing of code, it is fragile when the code contains
10057           % and the line number is enough info
10058         * gst/check/gstcheck.h:
10059         * gst/gstpad.c: (gst_pad_template_new):
10060           fix memleaks
10061
10062 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * configure.ac:
10065           say what CHECK flags we use
10066         * docs/libs/gstreamer-libs.types:
10067         * libs/gst/controller/Makefile.am:
10068         * libs/gst/controller/gst-controller.c:
10069         * libs/gst/controller/gst-controller.h:
10070         * libs/gst/controller/gst-helper.c:
10071         * libs/gst/controller/gst-interpolation.c:
10072         * libs/gst/controller/gstcontroller.c:
10073         * libs/gst/controller/gsthelper.c:
10074         * libs/gst/controller/gstinterpolation.c:
10075         * tools/gst-inspect.c: (print_plugin_info):
10076           we don't use dashes in header names
10077
10078 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10079
10080         * check/Makefile.am:
10081         * check/gst/.cvsignore:
10082         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10083         (gst_pipeline_suite), (main):
10084           adding a test for pipelines and state changes
10085         * gst/gstutils.c: (get_state_func):
10086           add some debugging
10087         * gstreamer.spec.in:
10088           fix up spec file
10089
10090 2005-09-08  Michael Smith <msmith@fluendo.com>
10091
10092         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10093         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10094         (gst_file_src_is_seekable), (gst_file_src_get_size),
10095         (gst_file_src_start):
10096         * gst/elements/gstfilesrc.h:
10097           Various fixes for unseekable, unmmapable, and non-normal files, so
10098           that fallback to read() rather than mmap() works.
10099         * gst/gstevent.c: (gst_event_new_newsegment):
10100           Allow newsegment events with segment_start == segment_end, as will
10101           correctly happen if you use filesrc on a zero-size file, for
10102           example.
10103
10104 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10105
10106         * gst/gstplugin.c: (gst_plugin_load_file):
10107           Call g_module_close when we don't load the module
10108
10109         * gst/registries/gstlibxmlregistry.c:
10110         (gst_xml_registry_get_property):
10111           Port leak fix from 0.8
10112
10113 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10114
10115         * docs/gst/gstreamer-docs.sgml:
10116         * docs/gst/tmpl/.cvsignore:
10117         * docs/gst/tmpl/gsttrace.sgml:
10118         * docs/gst/tmpl/gsttrashstack.sgml:
10119         * gst/Makefile.am:
10120         * gst/gst.h:
10121         * gst/gstelement.h:
10122         * gst/gstevent.h:
10123         * gst/gstmessage.c:
10124         * gst/gstmessage.h:
10125         * gst/gsttag.c:
10126         * gst/gsttag.h:
10127         * gst/gsttaginterface.c:
10128         * gst/gsttaginterface.h:
10129         * gst/gsttaglist.c:
10130         * gst/gsttaglist.h:
10131         * gst/gsttagsetter.c:
10132         * gst/gsttagsetter.h:
10133         * gst/gsttrace.c:
10134         * gst/gsttrace.h:
10135         * gst/gsttrashstack.c:
10136           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10137           inlined docs for gsttrace, gsttrashstack
10138
10139 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10140
10141         * gst/Makefile.am:
10142         * gst/elements/gstbufferstore.h:
10143         * gst/elements/gsttypefindelement.c:
10144         * gst/elements/gsttypefindelement.h:
10145         * gst/gst.h:
10146         * gst/gsttypefind.c:
10147         * gst/gsttypefind.h:
10148         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10149         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10150         (gst_type_find_factory_dispose),
10151         (gst_type_find_factory_unload_thyself),
10152         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10153         (gst_type_find_factory_get_caps),
10154         (gst_type_find_factory_get_extensions),
10155         (gst_type_find_factory_call_function):
10156         * gst/gsttypefindfactory.h:
10157         * gst/registries/gstlibxmlregistry.c:
10158         * gst/registries/gstxmlregistry.c:
10159           splitted gsttypefind into gsttypefind, gsttypefindfactory
10160
10161 2005-09-07  Andy Wingo  <wingo@pobox.com>
10162
10163         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10164         condition whereby the pad's task function is entered before the
10165         pad_mode variable was set.
10166
10167 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10168
10169         * gst/gstpad.c: (gst_pad_alloc_buffer):
10170           Catch misbehaving pad_alloc functions that don't
10171           set up caps and do it for them.
10172
10173 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10174
10175         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10176           test for pipe!=NULL
10177         * docs/gst/tmpl/.cvsignore:
10178         * docs/gst/tmpl/gstmemchunk.sgml:
10179         * docs/gst/tmpl/gstparse.sgml:
10180         * docs/gst/tmpl/gsttaglist.sgml:
10181         * docs/gst/tmpl/gsttagsetter.sgml:
10182         * docs/gst/tmpl/gsttypefind.sgml:
10183         * docs/gst/tmpl/gsttypefindfactory.sgml:
10184         * gst/gstmemchunk.c:
10185         * gst/gstparse.c:
10186         * gst/gsttag.c:
10187         * gst/gsttaginterface.c:
10188         * gst/gsttypefind.c:
10189         * gst/gsttypefind.h:
10190           inlined more docs
10191
10192 === release 0.9.2 ===
10193
10194 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10195
10196         * NEWS:
10197         * RELEASE:
10198         * configure.ac:
10199           releasing 0.9.2, "South"
10200
10201 2005-09-05  Andy Wingo  <wingo@pobox.com>
10202
10203         * gst/registries/gstxmlregistry.h:
10204         * gst/registries/gstxmlregistry.c: Um... resurrect...
10205         
10206         * gst/registries/gstxmlregistry.h:
10207         * gst/registries/gstxmlregistry.c: and update to newer API.
10208         Incidentally they should be a bit faster now that they don't have
10209         to parse the caps.
10210         
10211 2005-09-05  Andy Wingo  <wingo@pobox.com>
10212
10213         * gst/registries/gstxmlregistry.h:
10214         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
10215         replaced by the libxml registry a while back
10216
10217 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10218
10219         * docs/gst/tmpl/gstplugin.sgml:
10220         * gst/elements/gstelements.c:
10221         * gst/gst.c:
10222         * gst/gstplugin.c: (gst_plugin_register_func),
10223         (gst_plugin_desc_copy), (gst_plugin_desc_free),
10224         (gst_plugin_get_source):
10225         * gst/gstplugin.h:
10226         * gst/registries/gstlibxmlregistry.c: (load_plugin),
10227         (gst_xml_registry_save_plugin):
10228         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
10229         (gst_xml_registry_save_plugin):
10230         * tools/gst-inspect.c: (print_plugin_info):
10231           add a "source" plugin description field, to represent the source
10232           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
10233           will set it to PACKAGE, which is automake's idea of the name of
10234           the source project.
10235
10236 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10237
10238         * Makefile.am:
10239         * autogen.sh:
10240         * configure.ac:
10241         * docs/Makefile.am:
10242         * docs/faq/Makefile.am:
10243         * docs/gst/tmpl/gstelement.sgml:
10244         * docs/gst/tmpl/gsttypes.sgml:
10245         * docs/htmlinstall.mak:
10246         * docs/manual/Makefile.am:
10247         * docs/pwg/Makefile.am:
10248           reorganize doc build a little
10249           split out docbook and gtk-doc stuff
10250           have two separate --enable's and enable them through autogen
10251           but disable by default in configure (to be similar to other
10252           projects)
10253         * gstreamer.spec.in:
10254           clean up docs install
10255         * po/af.po:
10256         * po/az.po:
10257         * po/ca.po:
10258         * po/cs.po:
10259         * po/de.po:
10260         * po/en_GB.po:
10261         * po/fr.po:
10262         * po/it.po:
10263         * po/nb.po:
10264         * po/nl.po:
10265         * po/ru.po:
10266         * po/sq.po:
10267         * po/sr.po:
10268         * po/sv.po:
10269         * po/tr.po:
10270         * po/uk.po:
10271         * po/vi.po:
10272           translation updates
10273
10274 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10275
10276         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
10277           Add comment.
10278           
10279         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10280         (gst_fake_sink_change_state):
10281           Make state change function thread-safe.
10282           
10283         * gst/gstpad.c: (gst_pad_alloc_buffer):
10284           Set offset on generic buffer allocated by fallback.
10285
10286 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
10287
10288         * docs/gst/gstreamer-sections.txt:
10289         * docs/gst/tmpl/gstelement.sgml:
10290         * gst/gstpad.c:
10291         * libs/gst/controller/gst-controller.c:
10292         (gst_controlled_property_set_interpolation_mode),
10293         (gst_controlled_property_new),
10294         (gst_controller_find_controlled_property):
10295          run the wingo-magic script against the docs
10296
10297 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10298
10299         * docs/gst/gstreamer-docs.sgml:
10300         * docs/gst/gstreamer-sections.txt:
10301         * docs/gst/tmpl/.cvsignore:
10302         * docs/gst/tmpl/gstelementdetails.sgml:
10303         * docs/gst/tmpl/gstelementfactory.sgml:
10304         * gst/gst.c:
10305         * gst/gstbus.c:
10306         * gst/gstelementfactory.c:
10307         * gst/gstelementfactory.h:
10308           merged elementdetails docs into elementfactory docs
10309           inlined both
10310
10311 2005-09-02  Andy Wingo  <wingo@pobox.com>
10312
10313         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10314         consider this enum an enum and not a flags.
10315
10316 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
10317
10318         * docs/gst/gstreamer-docs.sgml:
10319         * docs/gst/tmpl/.cvsignore:
10320         * docs/gst/tmpl/gstghostpad.sgml:
10321         * docs/gst/tmpl/gstiterator.sgml:
10322         * docs/gst/tmpl/gstmacros.sgml:
10323         * docs/gst/tmpl/gstrealpad.sgml:
10324         * docs/gst/tmpl/gstregistry.sgml:
10325         * docs/gst/tmpl/gstregistrypool.sgml:
10326         * docs/gst/tmpl/gststructure.sgml:
10327         * docs/gst/tmpl/gstsystemclock.sgml:
10328         * docs/gst/tmpl/gsttrace.sgml:
10329         * gst/gstghostpad.c:
10330         * gst/gstmacros.h:
10331         * gst/gstmemchunk.c:
10332         * gst/gstmemchunk.h:
10333         * gst/gstqueue.c:
10334         * gst/gstregistry.c:
10335         * gst/gstregistrypool.c:
10336         * gst/gststructure.c:
10337         * gst/gstsystemclock.c:
10338           more docs inlined
10339
10340 2005-09-02  Andy Wingo  <wingo@pobox.com>
10341
10342         * gst/gstelement.h (GstState): Renamed from GstElementState,
10343         changed to be a normal enum instead of flags.
10344         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10345         munged to be GST_STATE_CHANGE_*.
10346         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10347         work with the new state representation.
10348         (GstStateChange): New enumeration of possible state transitions.
10349         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10350         (GstElementClass::change_state): Pass the GstStateChange along as
10351         an argument. Helps language bindings, so they don't have to use
10352         tricky lock-needing macros like GST_STATE_CHANGE ().
10353
10354         * scripts/update-states (file): New script. Run it on a file to
10355         update it for state naming and API changes. Updates files in
10356         place.
10357
10358         * All files updated for the new API.
10359
10360 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10361
10362         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10363         * gst/gstutils.c: (gst_util_set_value_from_string),
10364         (gst_util_set_object_arg):
10365           fix a bunch of unchecked return values
10366         * tools/gst-complete.c: (main):
10367         * gstreamer.spec.in:
10368           clean up a little
10369
10370 2005-09-01  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10373         (gst_base_sink_event), (gst_base_sink_do_sync),
10374         (gst_base_sink_handle_event):
10375         * gst/base/gstbasesink.h:
10376         Handle newsegments more correctly.
10377
10378         * gst/gstbus.c:
10379         Fix docs.
10380
10381         * gst/gstevent.c: (gst_event_new_newsegment):
10382         A newsegment cannot have a start_time of -1
10383
10384 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10385
10386         * win32/gstenumtypes.c:
10387         * win32/gstenumtypes.h:
10388           Update
10389
10390 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * libs/gst/controller/gst-controller.c:
10393         (gst_controlled_property_set_interpolation_mode),
10394         (gst_controlled_property_new):
10395          fixed boolean again
10396
10397 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10398
10399         * docs/faq/gst-uninstalled:
10400           add -good
10401         * gst/gstevent.c:
10402         * gst/gstevent.h:
10403           remove wrong docs
10404         * gst/gstutils.c: (gst_element_link_filtered):
10405         * gst/gstutils.h:
10406           add gst_element_link_filtered
10407
10408 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10409
10410         * docs/gst/gstreamer-docs.sgml:
10411         * docs/gst/gstreamer-sections.txt:
10412         * docs/gst/tmpl/.cvsignore:
10413         * docs/gst/tmpl/gsterror.sgml:
10414         * docs/gst/tmpl/gstfilter.sgml:
10415         * docs/gst/tmpl/gsturihandler.sgml:
10416         * docs/gst/tmpl/gsturitype.sgml:
10417         * docs/gst/tmpl/gstutils.sgml:
10418         * docs/gst/tmpl/gstxml.sgml:
10419         * gst/gsterror.c:
10420         * gst/gsterror.h:
10421         * gst/gstfilter.c:
10422         * gst/gsturi.c:
10423         * gst/gsturitype.c:
10424         * gst/gstutils.c:
10425         * gst/gstxml.c:
10426           inlined more docs, fixed double id-ref
10427
10428 2005-08-31  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10431         (gst_base_transform_handle_buffer):
10432         Passthrough elements don't need the caps as they don't care.
10433
10434 2005-08-31  Wim Taymans  <wim@fluendo.com>
10435
10436         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10437         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10438         Don't leak refcounts on buffers.
10439
10440 2005-08-31  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10443         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10444         (gst_base_transform_chain), (gst_base_transform_change_state):
10445         * gst/base/gstbasetransform.h:
10446         Handle the case where we are not negotiated more gracefully.
10447
10448 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10449
10450         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10451         (gst_file_src_map_region):
10452           Set READONLY flag on mmap'ed buffers, otherwise
10453           gst_buffer_make_writable() won't work properly (#314708).
10454
10455 2005-08-31  Wim Taymans  <wim@fluendo.com>
10456
10457         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10458         passthrough elements can even do inplace on non writable
10459         buffers (as they don't touch them).
10460
10461 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10462
10463         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10464         (gst_test_mono_source_set_property),
10465         (gst_test_mono_source_class_init), (GST_START_TEST),
10466         (gst_controller_suite):
10467           more tests (hehe I have the most)
10468         * gst/gstbus.c:
10469           describe popping messages whenusing mulltiple sources
10470         * libs/gst/controller/gst-controller.c:
10471         (gst_controlled_property_set_interpolation_mode),
10472         (gst_controlled_property_new):
10473         * libs/gst/controller/gst-controller.h:
10474         * libs/gst/controller/gst-interpolation.c:
10475           implement boolean properties
10476
10477 2005-08-31  Wim Taymans  <wim@fluendo.com>
10478
10479         * gst/gstminiobject.c: (gst_mini_object_ref):
10480         Cannot assert that the refcount has to be positive
10481         since a disposed object can be resurrected.
10482
10483 2005-08-31  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstpad.c: (gst_pad_init):
10486         Revert change, need to first fix badly behaving 
10487         apps.
10488
10489 2005-08-30  Wim Taymans  <wim@fluendo.com>
10490
10491         * check/elements/fakesrc.c: (setup_fakesrc):
10492         * check/elements/identity.c: (setup_identity):
10493         Activate pads before using them.
10494
10495 2005-08-30  Wim Taymans  <wim@fluendo.com>
10496
10497         * gst/base/gstadapter.c: (gst_adapter_flush):
10498         Flushing out 0 bytes is ok for this function.
10499
10500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10501         no newsegment gives a warning and sets the start/stop to 
10502         invalid.
10503
10504         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10505         (gst_base_transform_set_passthrough):
10506         Some debug info.
10507
10508         * gst/gstminiobject.c: (gst_mini_object_ref):
10509         Check refcount here too.
10510
10511         * gst/gstpad.c: (gst_pad_init):
10512         Pads are initially flushing and refusing data.
10513
10514         * gst/gstutils.c: (gst_element_link_pads_filtered):
10515         When adding a capsfilter element make sure it has the
10516         same state as the parent bin.
10517
10518 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10519
10520         * docs/gst/tmpl/.cvsignore:
10521         * docs/gst/tmpl/gstformat.sgml:
10522         * docs/gst/tmpl/gstversion.sgml:
10523         * gst/gstbus.h:
10524         * gst/gstformat.c:
10525         * gst/gstformat.h:
10526         * gst/gstversion.h.in:
10527           more docs and two more inlined
10528
10529 2005-08-30  Wim Taymans  <wim@fluendo.com>
10530
10531         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10532         Don't sync to clock.
10533
10534 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10535
10536         * docs/gst/gstreamer-sections.txt:
10537           ultral33t func10ns deserve to appear in the docs actually
10538         * docs/gst/tmpl/.cvsignore:
10539         * docs/gst/tmpl/gstcompat.sgml:
10540         * docs/gst/tmpl/gstconfig.sgml:
10541         * gst/check/gstcheck.c:
10542         * gst/gstcompat.h:
10543         * gst/gstconfig.h.in:
10544           inlined more docs
10545
10546 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10547
10548         * docs/gst/tmpl/.cvsignore:
10549         * docs/gst/tmpl/gstquery.sgml:
10550         * docs/gst/tmpl/gstutils.sgml:
10551         * gst/gstquery.c:
10552         * gst/gstquery.h:
10553           inlined and extended docs
10554
10555 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10556
10557         * check/gst-libs/controller.c: (GST_START_TEST),
10558         (gst_controller_suite):
10559           more tests
10560         * docs/gst/tmpl/gstutils.sgml:
10561         * docs/libs/gstreamer-libs-sections.txt:
10562         * docs/libs/tmpl/gstdataprotocol.sgml:
10563           include path fixes
10564         * examples/controller/audio-example.c: (main):
10565           controller example works now
10566         * gst/gstclock.h:
10567           doc fixes
10568         * tools/gst-inspect.c: (print_element_properties_info):
10569           show param spec flags
10570
10571 2005-08-29  Andy Wingo  <wingo@pobox.com>
10572
10573         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10574
10575 2005-08-28  Andy Wingo  <wingo@pobox.com>
10576
10577         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10578         as having two arguments instead of just one. Allows superclasses
10579         to access information on subclasses -- see the terrible for() loop
10580         in gtype.c:g_type_create_instance for the reason why. All callers
10581         changed.
10582
10583 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10584
10585         * docs/design/part-messages.txt:
10586           update info
10587         * docs/gst/tmpl/.cvsignore:
10588         * docs/gst/tmpl/gstcaps.sgml:
10589         * docs/gst/tmpl/gstclock.sgml:
10590         * gst/gstbus.c:
10591         * gst/gstcaps.c:
10592         * gst/gstcaps.h:
10593         * gst/gstclock.c:
10594         * gst/gstclock.h:
10595         * gst/gstmessage.c:
10596           added descriptions for bus and message
10597           inline caps and clock docs
10598
10599 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10600
10601         * gst/gstmessage.c:
10602         * gst/gstmessage.h:
10603           doc fixes
10604
10605 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10606
10607         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10608           fix div-by-zero
10609
10610 2005-08-26  Andy Wingo  <wingo@pobox.com>
10611
10612         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10613         element_set_state's return val.
10614         (test_2_elements): Add test that's been disabled for months.
10615
10616         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10617         can-activate-pull properties.
10618
10619         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10620         can-activate-pull properties. Implement is_seekable so fakesrc can
10621         operate in pull mode.
10622
10623         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10624         properties.
10625         (gst_base_sink_activate, gst_base_sink_activate_pull)
10626         (gst_base_sink_activate_push): Make activation mode choosing work.
10627         Cleanups.
10628         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10629         is right. Make pull mode work. Post an eos before pausing in pull
10630         mode.
10631         (gst_base_sink_change_state): Pay attention to the core's
10632         change_state() return val.
10633         
10634         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10635         has-getrange properties. Cleanups.
10636         
10637         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10638         has_getrange and replace with can_activate_pull and
10639         can_activate_push.
10640
10641         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10642         locking comments. Remove has_loop, has_chain and replace with
10643         can_activate_pull and can_activate_push.
10644
10645 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10646
10647         * configure.ac:
10648         * examples/Makefile.am:
10649         * examples/metadata/Makefile.am:
10650         * examples/metadata/read-metadata.c: (message_loop),
10651         (have_pad_handler), (make_pipeline), (print_tag), (main):
10652           Add metadata reading example that loops over a list of filenames,
10653           dumping any tags found.
10654
10655         * gst/gstbus.c: (gst_bus_dispose):
10656         * gst/gstelement.c: (gst_element_dispose):
10657           Release a few potentially-held references in dispose.
10658
10659 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10660
10661         * docs/gst/tmpl/gstminiobject.sgml:
10662           do *not* add tmpl/*.sgml files to CVS!
10663
10664 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10665
10666         * libs/gst/bytestream/.cvsignore:
10667         * libs/gst/bytestream/Makefile.am:
10668         * libs/gst/bytestream/adapter.c:
10669         * libs/gst/bytestream/adapter.h:
10670         * libs/gst/bytestream/bytestream.c:
10671         * libs/gst/bytestream/bytestream.h:
10672         * libs/gst/bytestream/filepad.c:
10673         * libs/gst/bytestream/filepad.h:
10674           removing obsolete files
10675
10676 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10677
10678         * docs/gst/gstreamer-docs.sgml:
10679         * docs/libs/gstreamer-libs-docs.sgml:
10680           disabed additional index entries again, as this makes docs-gen just
10681           slow and they aren't useful yet
10682         * docs/libs/gstreamer-libs-sections.txt:
10683           little -section.txt cleanup for libs
10684
10685 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10686
10687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10688         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10689           fix up some debugging
10690         (gst_base_transform_get_unit_size),
10691         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10692         (gst_base_transform_handle_buffer):
10693         * gst/base/gstbasetransform.h:
10694           handle and store timed NEWSEGMENT events so that subclasses that
10695           calculate time by counting samples have a segment_start time they
10696           need to add to their timestamps - see audioresample
10697
10698 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10699
10700         * gst/gstbin.h:
10701           removed ';' from the end of macro defs
10702         * docs/gst/gstreamer-docs.sgml:
10703         * docs/gst/gstreamer-sections.txt:
10704         * docs/gst/tmpl/.cvsignore:
10705         * gst/gstbus.h:
10706         * gst/gstelement.c: (gst_element_class_init),
10707         (gst_element_set_state), (activate_pads),
10708         (gst_element_save_thyself):
10709         * gst/gstevent.c: (gst_event_new_newsegment):
10710         * gst/gstevent.h:
10711         * gst/gstiterator.c:
10712         * gst/gstiterator.h:
10713         * gst/gstpad.c:
10714         * gst/gstprobe.h:
10715         * gst/gstutils.c: (gst_pad_query_convert):
10716         * gst/gstutils.h:
10717           fixed parameter name mismatches between source, header and docs
10718           added some more docs, resolved the last batch of unused elements in
10719           docs (now someone needs to doc them)
10720
10721 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10722
10723         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10724         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10725           don't walk through the plugins backwards.  Where is all this
10726           reversed logic coming from ?
10727
10728 2005-08-25  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10731         (gst_base_transform_transform_size),
10732         (gst_base_transform_configure_caps),
10733         (gst_base_transform_get_unit_size),
10734         (gst_base_transform_buffer_alloc),
10735         (gst_base_transform_change_state):
10736         * gst/base/gstbasetransform.h:
10737         Cache caps unit_size.
10738         Make sure we cannot negotiate up and downstream at the
10739         same time.
10740
10741 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * gst/gst.c: (init_pre), (init_post):
10744           register the installed plugin path after the env var
10745         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10746         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10747           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10748           directories, so the tests can prefer uninstalled over installed
10749
10750 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10751
10752         * gst/base/gstbasetransform.h:
10753           comment
10754         * gst/gstpad.c:
10755           add to docs
10756
10757 2005-08-25  Wim Taymans  <wim@fluendo.com>
10758
10759         * gst/gstbin.c: (bin_bus_handler):
10760         Be a bit more conservative about the posted message.
10761         
10762         * gst/gstbus.c: (gst_bus_post):
10763         Some cleanups, warn wrong return values.
10764
10765 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10766
10767         * check/gst/gstbin.c: (GST_START_TEST):
10768         * gst/gstbin.c: (bin_bus_handler):
10769         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10770         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10771         (gst_message_new_warning), (gst_message_new_tag),
10772         (gst_message_new_state_changed), (gst_message_new_segment_start),
10773         (gst_message_new_segment_done), (gst_message_new_custom):
10774         * gst/gstmessage.h:
10775         * tools/gst-launch.c: (event_loop):
10776         * tools/gst-md5sum.c: (event_loop):
10777           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10778
10779 2005-08-25  Wim Taymans  <wim@fluendo.com>
10780
10781         * check/generic/states.c: (GST_START_TEST):
10782         Cleanup can be done at the end.
10783
10784         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10785         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10786         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10787         Oh boy.. Thanks for finding this, Thomas. 
10788
10789 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10790
10791         * docs/gst/gstreamer.types:
10792           added missing types
10793
10794 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10795
10796         * docs/gst/gstreamer-docs.sgml:
10797         * docs/gst/gstreamer-sections.txt:
10798         * docs/gst/tmpl/.cvsignore:
10799         * gst/gstbin.c:
10800         * gst/gstiterator.c:
10801         * gst/gstutils.c:
10802         * gst/registries/gstxmlregistry.h:
10803           added missing classes and symbols (123 more to go)
10804           removed removed symbols from section file
10805           fixed many doc-comments
10806
10807 2005-08-24  Wim Taymans  <wim@fluendo.com>
10808
10809         * check/generic/states.c: (GST_START_TEST):
10810         Make sure all tasks are stopped.
10811
10812         * check/gst/gstbin.c: (GST_START_TEST):
10813         Unref after usage for proper valgrinding.
10814
10815         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10816         Really wait for the task to stop before destroying the
10817         mutex.
10818
10819         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10820         (gst_queue_src_activate_push):
10821         Small cleanups. Don't stop the task when we did not start
10822         it.
10823
10824         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10825         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10826         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10827         (gst_task_join):
10828         * gst/gsttask.h:
10829         Protect the stream lock with the object lock.
10830         Disallow setting the stream lock when running.
10831         Add cleanup_all to wait for the threadpool to finish.
10832         Remove code to autoallocate a mutex if none was provided.
10833         Add _join() to wait for a task to stop.
10834         Protect the thread pool with a global lock.
10835
10836 2005-08-24  Wim Taymans  <wim@fluendo.com>
10837
10838         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10839         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10840         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10841         * gst/base/gstbasesink.h:
10842         Handle newsegment events correctly.
10843         Drop buffers out of the segment range.
10844
10845 2005-08-22  Andy Wingo  <wingo@pobox.com>
10846
10847         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10848         macro, implements an interface and gstimplementsinterface for a
10849         new type.
10850
10851 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10852
10853         * check/Makefile.am:
10854         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10855           add a test that does a bunch of state changes on elements
10856           needs some fixing for valgrind
10857         * check/states/sinks.c: (gst_object_suite):
10858           whitespace
10859         * gst/gstcaps.h:
10860           add prototype for gst_caps_is_equal_fixed
10861         * gst/gstplugin.c:
10862         * gst/gstregistrypool.c:
10863           doc fixes
10864
10865 2005-08-24  Andy Wingo  <wingo@pobox.com>
10866
10867         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10868         convert a negative value. Doesn't make much sense. Mostly this is
10869         here to force callers to ensure -1 maps to -1.
10870
10871 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10872
10873         * docs/pwg/advanced-types.xml:
10874           Well done to Michael for catching my deliberate introduction
10875           of this spelling mistake. 
10876         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10877         * gst/gstelement.h:
10878           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10879           unlink pads before removing the element from the bin.
10880
10881 2005-08-24  Andy Wingo  <wingo@pobox.com>
10882
10883         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10884         the same thing as GST_DEBUG=*:4.
10885         (parse_debug_level, parse_debug_category): New helper parsers.
10886
10887 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10890         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10891         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10892         (gst_base_transform_buffer_alloc),
10893         (gst_base_transform_handle_buffer):
10894           use gboolean return values and pointers to size so we can use the
10895           full GST_BUFFER_SIZE range (guint) for buffer sizes
10896           use GstPadDirection for transform_caps
10897         * gst/base/gstbasetransform.h:
10898           rename get_size to get_unit_size since that's what it is
10899         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10900           use GstPadDirection for transform_caps
10901         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10902         * gst/gstutils.h:
10903           cleanup and debugging
10904
10905 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10906
10907         * gst/gstelement.c: (gst_element_class_init),
10908         (gst_element_set_state), (activate_pads),
10909         (gst_element_save_thyself):
10910         * tools/gst-compprep.c: (main):
10911         * tools/gst-inspect.c: (print_element_properties_info):
10912         * tools/gst-xmlinspect.c: (print_element_properties):
10913           Fixed long standing mem-leak
10914
10915 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10916
10917         * check/gst/gstbin.c: (GST_START_TEST):
10918         * gst/gstbin.c: (bin_bus_handler):
10919         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10920         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10921         (gst_message_new_warning), (gst_message_new_tag),
10922         (gst_message_new_state_changed), (gst_message_new_segment_start),
10923         (gst_message_new_segment_done), (gst_message_new_custom):
10924         * gst/gstmessage.h:
10925         * tools/gst-launch.c: (event_loop):
10926         * tools/gst-md5sum.c: (event_loop):
10927           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10928           that applications can sensibly post custom messages with references
10929           to their own objects.
10930
10931 2005-08-24  Andy Wingo  <wingo@pobox.com>
10932
10933         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10934         already.
10935
10936 2005-08-24  Wim Taymans  <wim@fluendo.com>
10937
10938         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10939         (gst_base_transform_transform_caps),
10940         (gst_base_transform_transform_size),
10941         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10942         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10943         (gst_base_transform_handle_buffer):
10944         * gst/base/gstbasetransform.h:
10945         Many fixes and new features added by Thomas. Can now also do
10946         transforms with variable sizes and a custom fixate_caps function.
10947
10948 2005-08-24  Wim Taymans  <wim@fluendo.com>
10949
10950         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10951         Some debugging.
10952
10953         * gst/gstclock.h:
10954         Cast to ClockTime before formatting to time.
10955
10956         * gst/gstutils.h:
10957         Cleanups.
10958
10959 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10960
10961         * check/gst-libs/controller.c: (GST_START_TEST),
10962         (gst_controller_suite):
10963         * docs/gst/tmpl/gstcaps.sgml:
10964         * docs/gst/tmpl/gstghostpad.sgml:
10965         * docs/gst/tmpl/gstquery.sgml:
10966         * docs/gst/tmpl/gstutils.sgml:
10967         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10968         (gst_object_sink_values), (gst_object_get_value_arrays),
10969         (gst_object_get_value_array):
10970           gracefully handle helper method calls to objects that are not beeing
10971           controlled, added test case for that          
10972
10973 2005-08-23  Wim Taymans  <wim@fluendo.com>
10974
10975         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10976         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10977         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10978         (gst_event_parse_qos), (gst_event_new_seek),
10979         (gst_event_parse_seek):
10980         * gst/gstevent.h:
10981         Some more debugging output and doc cleanups.
10982
10983         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10984         Fix possible deadlock.
10985
10986 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10987
10988         * docs/gst/gstreamer-docs.sgml:
10989         * docs/gst/gstreamer-sections.txt:
10990         * docs/gst/gstreamer.types:
10991         * docs/gst/tmpl/.cvsignore:
10992         * gst/gstbin.h:
10993         * gst/gstbus.c:
10994         * gst/gstelement.c:
10995         * gst/gstevent.h:
10996           added 100 symbols from gstreamer-unused.txt to the right sections
10997           fixed more broken comments
10998           added GstBus to docs
10999
11000 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11001
11002         * docs/gst/gstreamer-sections.txt:
11003         * docs/gst/tmpl/.cvsignore:
11004         * docs/gst/tmpl/gstbin.sgml:
11005         * docs/gst/tmpl/gstbuffer.sgml:
11006         * gst/base/gstbasesrc.c:
11007         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11008         * gst/gstbuffer.c:
11009         * gst/gstbuffer.h:
11010         * tools/gst-launch.1.in:
11011           inlined more doc comments, added missing comments and fixed comments
11012           fixed typos
11013
11014 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11017           some debugging
11018         * gst/gstcaps.h:
11019           whitespace fixes
11020         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11021           more debugging
11022         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11023         * gst/gststructure.h:
11024           add a fixate function for booleans; add a FIXME that these func
11025           names should probably be gst_structure_fixate_*
11026
11027 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11028
11029         * docs/gst/gstreamer-docs.sgml:
11030         * docs/gst/gstreamer-sections.txt:
11031         * gst/Makefile.am:
11032         * gst/gstbin.c: (gst_bin_get_type),
11033         (gst_bin_child_proxy_get_child_by_index),
11034         (gst_bin_child_proxy_get_children_count),
11035         (gst_bin_child_proxy_init):
11036         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11037         (gst_child_proxy_get_child_by_index),
11038         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11039         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11040         (gst_child_proxy_get), (gst_child_proxy_set_property),
11041         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11042         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11043         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11044         * gst/gstchildproxy.h:
11045         * gst/parse/grammar.y:
11046         * tools/gst-inspect.c: (print_interfaces),
11047         (print_element_properties_info), (print_element_info):
11048           ported gstchildproxy over from 0.8
11049           ported gst-inspect fixes and enhancements over from 0.8
11050
11051 2005-08-22  Wim Taymans  <wim@fluendo.com>
11052
11053         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11054         (gst_base_transform_handle_buffer):
11055         Also call the transform function if we have ANY caps.
11056
11057         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11058         Fix debug info.
11059
11060 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11061
11062         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11063           Don't pretend to handle seek events if the source is not seekable
11064
11065 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11066
11067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11068           Remove extra parameter to debug output
11069
11070         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11071         (gst_base_src_do_seek), (gst_base_src_activate_push):
11072           Fix seek event handling.
11073
11074         * gst/gstpipeline.c: (gst_pipeline_change_state):
11075         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11076         (gst_queue_src_activate_push):
11077           Don't start the src pad task on FLUSH_STOP if the pad
11078           isn't linked.
11079           Debug changes.
11080
11081 2005-08-22  Wim Taymans  <wim@fluendo.com>
11082
11083         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11084         Added check for gst_static_caps_get() refcounting.
11085
11086 2005-08-22  Wim Taymans  <wim@fluendo.com>
11087
11088         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11089         Make _static_caps_get() refcounting sane.
11090         
11091         * gst/gstelement.c: (gst_element_set_state):
11092         Add g_return_val_if_fail() to protect against segfaults.
11093
11094 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11095
11096         * docs/gst/tmpl/gstevent.sgml:
11097         * gst/gstevent.c:
11098         * gst/gstevent.h:
11099           inlined remaining docs, added missing doc comments
11100
11101 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * check/gst/gstbin.c: (GST_START_TEST):
11104           since we don't know when preroll is done, use refcount range
11105           check for the sink
11106         * gst/check/gstcheck.h:
11107           add macro for checking refcount range
11108
11109 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * check/Makefile.am:
11112           clean up environment for when registry gets built versus
11113           when actual tests are run; valgrind seems to not report
11114           leaks if GST_PLUGIN_PATH is set to some specific values
11115         * check/gst/gstbin.c: (GST_START_TEST):
11116           add more refcounting checks; maybe this exposes a
11117           preroll lock bug ?
11118         * common/check.mak:
11119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11120         * gst/check/gstcheck.h:
11121         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11122         (gst_bin_change_state):
11123         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11124           add/fix debugging/whitespace
11125
11126 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11127
11128         * check/gst/gstevent.c: (event_probe), (test_event),
11129         (GST_START_TEST):
11130          Er, don't call gst_bin_watch_for_state_change you idiot.
11131
11132 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11133
11134         * check/Makefile.am:
11135           Use CHECK_CFLAGS and CHECK_LIBS
11136         * check/gst/gstevent.c: (event_probe), (test_event),
11137         (GST_START_TEST):
11138           Don't leak events.
11139         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11140         (gst_base_src_start), (gst_base_src_stop),
11141         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11142         (gst_base_src_change_state):
11143           Sprinkle gst_base_src_stop liberally around error paths to fix
11144           problems reusing a source after failed state changes.
11145         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11146         (helper_find_suggest), (gst_type_find_helper):
11147           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11148         * gst/gstevent.h:
11149         * docs/gst/tmpl/gstevent.sgml:
11150           Migrate part of the docs from the SGML file. Wait for ensonic to
11151           tell me how I did it wrong ;)
11152         * tools/gst-typefind.c: (main):
11153           Extra robustness to state changes between files.
11154
11155 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * check/Makefile.am:
11158           don't valgrind the controller test - it's leaking - Stefan, HELP
11159         * gst/check/gstcheck.c: (gst_check_message_error),
11160         (gst_check_chain_func), (gst_check_setup_element),
11161         (gst_check_teardown_element), (gst_check_setup_src_pad),
11162         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11163         (gst_check_teardown_sink_pad):
11164         * gst/check/gstcheck.h:
11165           add a bunch of methods to set up elements, and src and sink pads
11166         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11167         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11168         (GST_START_TEST):
11169           use them
11170         * gst/gstmessage.c:
11171         * gst/gsttag.h:
11172           whitespace/doc fixes
11173
11174 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * gst/gstelement.h:
11177           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
11178           be handled by the application and not always printed as well
11179
11180 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11181
11182         * check/Makefile.am:
11183           set GST_TOOLS_DIR
11184         * gst/check/gstcheck.c: (gst_check_message_error):
11185         * gst/check/gstcheck.h:
11186           add a fail_unless_equals_int
11187           add fail_unless for error messages
11188
11189 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * check/Makefile.am:
11192         * check/gst.supp:
11193         * common/Makefile.am:
11194         * common/check.mak:
11195         * common/gst.supp:
11196           factor out some of the common stuff so we can use it
11197
11198 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11199
11200         * check/Makefile.am:
11201         * check/gst/gstiterator.c: (GST_START_TEST):
11202         * check/gst/gstsystemclock.c: (GST_START_TEST),
11203         (gst_systemclock_suite):
11204         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11205         * gst/gstclock.c:
11206           valgrind more tests
11207
11208 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11209
11210         * check/elements/.cvsignore:
11211         * check/elements/gstfakesrc.c:
11212           rename to name of element
11213         * check/elements/identity.c: (chain_func), (event_func),
11214         (setup_identity), (cleanup_identity), (GST_START_TEST),
11215         (identity_suite), (main):
11216           add a test for identity
11217         * check/Makefile.am:
11218         * pkgconfig/Makefile.am:
11219         * pkgconfig/gstreamer-check.pc.in:
11220         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11221         * gst/check:
11222         * gst/Makefile.am:
11223         * configure.ac:
11224           move the check stuff to a library that gets installed
11225         * check/gst-libs/controller.c: (GST_START_TEST):
11226         * check/gst-libs/gdp.c:
11227         * check/gst/gst.c: (GST_START_TEST):
11228         * check/gst/gstbin.c:
11229         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11230         * check/gst/gstbus.c:
11231         * check/gst/gstcaps.c: (GST_START_TEST):
11232         * check/gst/gstelement.c:
11233         * check/gst/gstghostpad.c:
11234         * check/gst/gstiterator.c:
11235         * check/gst/gstmessage.c:
11236         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
11237         * check/gst/gstobject.c:
11238         * check/gst/gstpad.c: (GST_START_TEST):
11239         * check/gst/gststructure.c: (GST_START_TEST):
11240         * check/gst/gstsystemclock.c: (GST_START_TEST),
11241         (gst_systemclock_suite):
11242         * check/gst/gsttag.c: (gst_tag_suite):
11243         * check/gst/gstvalue.c:
11244         * check/pipelines/cleanup.c:
11245         * check/pipelines/simple_launch_lines.c:
11246         * check/states/sinks.c:
11247           change include statement
11248
11249         * docs/gst/gstreamer-sections.txt:
11250         * docs/gst/tmpl/gstpad.sgml:
11251           document more pad stuff
11252         * gst/gstminiobject.c: (gst_mini_object_ref),
11253         (gst_mini_object_unref):
11254           debug refcounting
11255
11256 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
11257
11258         * docs/gst/tmpl/gst.sgml:
11259         * gst/gst.c:
11260           eliminate another tmpl file, fix spelling in the long-description
11261
11262 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11263
11264         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11265         (test_event), (timediff), (gstevents_suite):
11266           Should fix build on 64-bit arch's
11267
11268 2005-08-18  Andy Wingo  <wingo@pobox.com>
11269
11270         Make sure that when a pipeline goes to PLAYING, that data has
11271         actually hit the sink.
11272
11273         * check/states/sinks.c (test_sink): A sink that doesn't get any
11274         data shouldn't return SUCCESS for going to either PLAYING or
11275         PAUSED. Test also the return values on the way back down.
11276
11277         * gst/gstelement.c (gst_element_set_state): When changing the
11278         state of an element currently changing state asynchronously, go to
11279         lost-state after commiting the pending state. Makes future calls
11280         to get_state continue to return ASYNC.
11281
11282         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
11283         ASYNC when going to PLAYING if we still don't have preroll, as can
11284         happen with live sources.
11285
11286 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11287
11288         * docs/pwg/advanced-types.xml:
11289           Hack long paragraph into 2 chunks as a workaround for buggy
11290           jadetex version in sid and breezy that loops infinitely and
11291           eats all RAM.
11292
11293 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11294
11295         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11296         (test_event), (timediff), (gstevents_suite):
11297           Provide more error margin in clock measurements to allow for 
11298           g_get_current_time inaccuracies.
11299
11300 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11301
11302         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11303         (test_event), (timediff), (gstevents_suite):
11304            Fix error message output so I might be able to tell why the
11305            test works here but fails on the build farm.
11306
11307 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
11308
11309         * check/Makefile.am:
11310         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11311         (test_event), (timediff), (gstevents_suite), (main):
11312           I wrote a test!
11313
11314         * docs/design/part-seeking.txt:
11315           Spelling correction
11316
11317         * docs/gst/tmpl/gstevent.sgml:
11318         * docs/gst/tmpl/gstfakesrc.sgml:
11319           Docs updates.
11320
11321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11322           Treat a buffer-without-newsegment the same as a receiving 
11323           a newsegment not in time format, and disable syncing to the clock
11324           with a warning.
11325
11326         * gst/gstbus.c: (gst_bus_set_sync_handler):
11327           Assert if anyone tries to replace the existing sync_handler for bus, 
11328           as only the owner should be setting it.
11329
11330         * gst/gstevent.h:
11331           Have a fixed set of custom event enums with events identified by
11332           their structure name (as in 0.8), rather than a free-for-all
11333           allowing collisions between enum values from different plugins.
11334
11335         * gst/gstpad.c: (gst_pad_class_init):
11336           Docs change.
11337           
11338         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11339           Handle out-of-band downstream events from the sending thread.
11340
11341 2005-08-17  Andy Wingo  <wingo@pobox.com>
11342
11343         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11344         play-timeout==0 to mean no timeout at all. In that case, don't
11345         bother with a get_state or a warning, just return directly, even
11346         if it's ASYNC.
11347
11348         * gst/base/gstbasetransform.c: Debug changes.
11349
11350         * gst/gstutils.h:
11351         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11352         ensure bins post state change messages. A bit of a hack but I can't
11353         think of a way to avoid it.
11354
11355         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11356
11357 2005-08-16  Andy Wingo  <wingo@pobox.com>
11358
11359         * gst/base/gstadapter.h:
11360         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11361         peek() but you own the data. Not terribly efficient atm.
11362
11363 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11364
11365         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11366         (gst_element_found_tags):
11367         * gst/gstutils.h:
11368           Add two utility functions for tag handling.
11369
11370 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11371
11372         * docs/manual/advanced-dataaccess.xml:
11373         * docs/manual/basics-helloworld.xml:
11374           Fix docs to use _bin_add() before _link(), which fixes the examples
11375           with recent core versions (reported by Madhan Raj M
11376           <raj_madan@rediffmail.com>, #313199).
11377
11378 2005-08-16  Wim Taymans  <wim@fluendo.com>
11379
11380         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11381         Added subtract checks.
11382
11383         * docs/design/part-events.txt:
11384         Some more docs about newsegment
11385
11386         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11387         Fix FIXME
11388
11389         * gst/gstcaps.c: (gst_caps_to_string):
11390         Add comments, cleanups.
11391         
11392         * gst/gstelement.c: (gst_element_save_thyself):
11393         cleanups
11394         
11395         * gst/gstvalue.c: (gst_value_collect_int_range),
11396         (gst_string_unwrap), (gst_value_union_int_int_range),
11397         (gst_value_union_int_range_int_range),
11398         (gst_value_intersect_int_int_range),
11399         (gst_value_intersect_int_range_int_range),
11400         (gst_value_intersect_double_double_range),
11401         (gst_value_intersect_double_range_double_range),
11402         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11403         (gst_value_subtract_int_range_int),
11404         (gst_value_subtract_double_range_double),
11405         (gst_value_subtract_double_range_double_range),
11406         (gst_value_subtract_from_list), (gst_value_subtract_list),
11407         (gst_value_can_compare), (gst_value_compare_fraction):
11408         Cleanups, add comments, remove unneeded asserts.
11409
11410 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11411
11412         * tools/gst-launch.c: (event_loop):
11413           don't convert NULL structures to strings
11414
11415 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11416
11417         * docs/gst/gstreamer-sections.txt:
11418           made some defines private
11419         * docs/gst/tmpl/gstconfig.sgml:
11420         * docs/gst/tmpl/gstqueue.sgml:
11421         * docs/gst/tmpl/gsttaglist.sgml:
11422         * docs/gst/tmpl/gsttypes.sgml:
11423         * docs/gst/tmpl/gstutils.sgml:
11424         * docs/pwg/appendix-porting.xml:
11425         * gst/base/gstbasesink.h:
11426         * gst/base/gstbasesrc.c:
11427         * gst/base/gstbasesrc.h:
11428         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11429         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11430         * gst/gstelement.c: (gst_element_class_init):
11431         * gst/gstpad.c: (gst_pad_class_init):
11432         * gst/gstqueue.c: (gst_queue_class_init):
11433         * gst/gstxml.c: (gst_xml_class_init):
11434           documented all undocumented signal inline
11435         * libs/gst/controller/gst-controller.h:
11436           added padding
11437
11438 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11439
11440         * docs/pwg/appendix-porting.xml:
11441           Document _set_link_function -> _set_setcaps_function.
11442
11443 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11444
11445         * check/Makefile.am:
11446           add a .check target for running the check
11447         * check/gst-libs/controller.c: (GST_START_TEST):
11448           cosmetic fixups
11449         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11450           complete checks for gstbuffer; would be nice if I could get the
11451           gcov stuff to work so I can see if I actually completed gstbuffer.c
11452         * check/gstcheck.h:
11453           add ASSERT_BUFFER_REFCOUNT
11454
11455 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11456
11457         * docs/gst/gstreamer-sections.txt:
11458         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11459         * gst/gsttag.h:
11460           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11461           spew out a warning if a tag that is already registered
11462           is re-registered, unless it is re-registered with a 
11463           different type (#308438).
11464
11465 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11466
11467         * docs/pwg/appendix-porting.xml:
11468         * docs/pwg/building-state.xml:
11469           Add some paragraphs about state changes in 0.9 to the PWG
11470           and the porting guide, in particular about the new meaning
11471           of GST_STATE_PAUSED and how to write state change functions
11472           with concurrent access by multiple threads in mind.
11473
11474 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11475
11476         * docs/gst/gstreamer-docs.sgml:
11477         * docs/libs/gstreamer-libs-docs.sgml:
11478           added deprecation and since indexes
11479         * libs/gst/controller/gst-controller.c:
11480         * libs/gst/controller/gst-helper.c:
11481           added since tags
11482
11483
11484 2005-08-11  Wim Taymans  <wim@fluendo.com>
11485
11486         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11487         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11488         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11489         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11490         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11491         (gst_ghost_pad_set_target):
11492         Actually implement (re)setting the target on a ghostpad
11493         as described in the docs.
11494
11495 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11496
11497         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11498           Check whether GST_DEBUG_NO_COLOR environment variable is
11499           set and disable coloured debug output if that is the case.
11500
11501 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11502
11503         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11504         (gst_type_find_helper):
11505           The memory returned by gst_type_find_peek() needs to
11506           stay valid until the end of a typefind function, and
11507           typefind functions may keep results from different 
11508           offsets around, so we can't just unref the buffer from
11509           the previous _peek(), but have to save all buffers 
11510           returned by _peek() until typefinding is done and only
11511           free them then.
11512
11513 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * docs/gst/gstreamer-sections.txt:
11516         * gst/gstutils.h:
11517           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11518
11519 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11520
11521         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11522           Fix a pretty good memleak.
11523
11524 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11525
11526         * gst/gstiterator.h:
11527           Fix wrong include and 'make distcheck'.
11528
11529 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11530
11531         * gst/gstbin.c: (bin_bus_handler):
11532           Use gst_element_post_message() instead.
11533
11534 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11535
11536         * gst/base/gstadapter.h:
11537         * gst/base/gstbasesink.h:
11538         * gst/base/gstbasesrc.h:
11539         * gst/base/gstbasetransform.h:
11540         * gst/base/gstcollectpads.h:
11541         * gst/base/gstpushsrc.h:
11542         * gst/gstiterator.h:
11543           Add padding to our base elements' class and instance structs and
11544           to GstIterator (you will need to rebuild all plugins and apps!)
11545
11546 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11547
11548         * gst/gstbin.c: (bin_bus_handler):
11549           Make default message forwarding from child->bus to bin->bus
11550           threadsafe and make it not emit warnings if the parent has no bus.
11551
11552 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11553
11554         * gst/gstelement.c: (activate_pads):
11555           On paused->ready, set pad->caps to NULL, as is the documented
11556           behaviour in this state change. Fixes playback of series of
11557           media files when visualization is enabled in Totem.
11558
11559 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11560
11561         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11562           Allow NULL as filter-caps (which means "any").
11563
11564 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11565
11566         * docs/libs/gstreamer-libs-sections.txt:
11567         * libs/gst/controller/gst-controller.c:
11568         * libs/gst/controller/gst-controller.h:
11569         * libs/gst/controller/gst-helper.c:
11570           adding more entries to the docs and fix small doc-bugs
11571
11572 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11573
11574         * docs/gst/gstreamer-docs.sgml:
11575         * docs/gst/gstreamer-sections.txt:
11576         * docs/gst/gstreamer.types:
11577         * docs/gst/tmpl/gstbasesink.sgml:
11578         * docs/gst/tmpl/gstbasesrc.sgml:
11579         * docs/gst/tmpl/gstbasetransform.sgml:
11580         * docs/gst/tmpl/gstfakesrc.sgml:
11581         * gst/base/gstcollectpads.c:
11582         * gst/base/gstcollectpads.h:
11583         * libs/gst/controller/gst-controller.c:
11584         * libs/gst/controller/gst-controller.h:
11585         * libs/gst/controller/gst-helper.c:
11586         * libs/gst/controller/gst-interpolation.c:
11587         * libs/gst/controller/lib.c:
11588           added long/short desc for controller docs
11589           added collectpads base class docs
11590           added correct includes to base-class docs
11591
11592 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11593
11594         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11595         (gst_test_mono_source_set_property),
11596         (gst_test_mono_source_class_init), (GST_START_TEST),
11597         (gst_controller_suite):
11598         * docs/gst/gstreamer-docs.sgml:
11599         * docs/gst/gstreamer-sections.txt:
11600         * docs/gst/gstreamer.types:
11601         * docs/libs/gstreamer-libs-docs.sgml:
11602         * docs/libs/gstreamer-libs-sections.txt:
11603         * gst/base/gstadapter.c:
11604         * libs/gst/controller/gst-controller.c:
11605         (gst_controlled_property_new), (gst_controlled_property_free),
11606         (gst_controller_new_valist),
11607         (gst_controller_remove_properties_valist),
11608         (gst_controller_sink_values), (_gst_controller_finalize):
11609         * libs/gst/controller/gst-controller.h:
11610         * libs/gst/controller/gst-helper.c:
11611         (gst_object_control_properties), (gst_object_uncontrol_properties),
11612         (gst_object_get_controller), (gst_object_set_controller),
11613         (gst_object_sink_values), (gst_object_get_value_arrays),
11614         (gst_object_get_value_array):
11615           more tests (and fixes) for the controller
11616           more docs for the controller
11617           integrated companies docs for the adapter 
11618
11619 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11622         (GST_START_TEST), (fakesrc_suite):
11623           add tests for sizetype
11624
11625 2005-08-04  Andy Wingo  <wingo@pobox.com>
11626
11627         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11628         fixes buffer_alloc proxying among other things.
11629
11630         * gst/base/gstbasetransform.c:
11631         * gst/base/gstbasetransform.h:
11632         Revert patch to gstbasetransform from 7-28 removing
11633         delay_configure.
11634
11635         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11636         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11637         Semantics changed, should return not the size of the output buffer
11638         but the byte size of a buffer with a given caps.
11639
11640         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11641         debug object.
11642         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11643         out) are not the pad caps until setcaps finishes.
11644         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11645         not-in-place case as well. Deal with changing from in-place to
11646         not-in-place within calling pad_alloc_buffer. Still a bit
11647         concerned about the overhead here...
11648
11649 2005-08-03  Andy Wingo  <wingo@pobox.com>
11650
11651         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11652         fixating is an error.
11653
11654 2005-08-04  Edward Hervey  <edward@fluendo.com>
11655
11656         * gst/base/gstadapter.h: 
11657         Added gst_adapter_get_type() to the header
11658
11659 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11660
11661         * check/Makefile.am:
11662         * check/gst-libs/controller.c:
11663         * libs/gst/controller/gst-controller.c:
11664         (gst_controller_new_valist):
11665           added check test suite for the controller
11666         * gst/base/gstpushsrc.c:
11667           fixed a doc typo
11668
11669 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11670
11671         * docs/gst/Makefile.am:
11672         * docs/gst/gstreamer-docs.sgml:
11673         * docs/gst/gstreamer-sections.txt:
11674         * docs/gst/gstreamer.types:
11675         * docs/gst/tmpl/gstfakesrc.sgml:
11676         * gst/base/README:
11677         * gst/base/gstbasesink.c:
11678         * gst/base/gstbasesink.h:
11679         * gst/base/gstbasesrc.c:
11680         * gst/base/gstbasesrc.h:
11681         * gst/base/gstbasetransform.c:
11682         * gst/base/gstpushsrc.c:
11683         * gst/base/gstpushsrc.h:
11684           add short/long description docs to base classes
11685           add pushsrc to the docs
11686           remove consolidated doc fragments
11687
11688 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11689
11690         * configure.ac:
11691         * docs/libs/Makefile.am:
11692         * docs/libs/gstreamer-libs-docs.sgml:
11693         * docs/libs/gstreamer-libs-sections.txt:
11694         * docs/libs/gstreamer-libs.types:
11695         * examples/Makefile.am:
11696         * examples/controller/.cvsignore:
11697         * examples/controller/Makefile.am:
11698         * examples/controller/audio-example.c: (main):
11699         * libs/gst/Makefile.am:
11700         * libs/gst/controller/.cvsignore:
11701         * libs/gst/controller/Makefile.am:
11702         * libs/gst/controller/gst-controller.c:
11703         (on_object_controlled_property_changed), (gst_timed_value_compare),
11704         (gst_timed_value_find),
11705         (gst_controlled_property_set_interpolation_mode),
11706         (gst_controlled_property_new), (gst_controlled_property_free),
11707         (gst_controller_find_controlled_property),
11708         (gst_controller_new_valist), (gst_controller_new),
11709         (gst_controller_remove_properties_valist),
11710         (gst_controller_remove_properties), (gst_controller_set),
11711         (gst_controller_set_from_list), (gst_controller_unset),
11712         (gst_controller_get), (gst_controller_get_all),
11713         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11714         (gst_controller_get_value_array),
11715         (gst_controller_set_interpolation_mode),
11716         (_gst_controller_finalize), (_gst_controller_init),
11717         (_gst_controller_class_init), (gst_controller_get_type):
11718         * libs/gst/controller/gst-controller.h:
11719         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11720         (g_object_uncontrol_properties), (g_object_get_controller),
11721         (g_object_set_controller), (g_object_sink_values),
11722         (g_object_get_value_arrays), (g_object_get_value_array):
11723         * libs/gst/controller/gst-interpolation.c:
11724         (gst_controlled_property_find_timed_value_node),
11725         (interpolate_none_get), (interpolate_trigger_get),
11726         (interpolate_trigger_get_value_array):
11727         * libs/gst/controller/lib.c: (gst_controller_init):
11728         * pkgconfig/Makefile.am:
11729         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11730         * pkgconfig/gstreamer-control.pc.in:
11731         * testsuite/Makefile.am:
11732         * testsuite/controller/.cvsignore:
11733         * testsuite/controller/Makefile.am:
11734         * testsuite/controller/interpolator.c: (main):
11735           added controller code
11736           removed dparam pc files
11737
11738 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11739         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11740         (gst_collectpads_stop):
11741           Broadcast the condition when shutting down, to make sure we wake all
11742           threads up. Shut down pads on finalize, for safety.
11743
11744 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11745         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11746         (gst_base_transform_handle_buffer),
11747         (gst_base_transform_change_state):
11748           Handle PAUSED->READY->PAUSED transition after negotiation
11749           occurred already.
11750         * gst/gstmessage.c: (gst_message_init):
11751           Extra piece of debug for new messages.
11752
11753 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11754
11755         * configure.ac:
11756         * docs/gst/tmpl/gstbasesrc.sgml:
11757         * docs/gst/tmpl/gstelement.sgml:
11758         * docs/gst/tmpl/gstevent.sgml:
11759         * docs/gst/tmpl/gstfakesrc.sgml:
11760         * docs/gst/tmpl/gstformat.sgml:
11761         * docs/gst/tmpl/gstghostpad.sgml:
11762         * docs/gst/tmpl/gstpad.sgml:
11763         * docs/gst/tmpl/gstquery.sgml:
11764         * docs/gst/tmpl/gststructure.sgml:
11765         * docs/gst/tmpl/gsttaglist.sgml:
11766         * docs/gst/tmpl/gstvalue.sgml:
11767         * docs/libs/gstreamer-libs-docs.sgml:
11768         * docs/libs/gstreamer-libs-sections.txt:
11769         * docs/libs/gstreamer-libs.types:
11770         * libs/gst/Makefile.am:
11771         * libs/gst/control/.cvsignore:
11772         * libs/gst/control/Makefile.am:
11773         * libs/gst/control/control.c:
11774         * libs/gst/control/control.h:
11775         * libs/gst/control/dparam.c:
11776         * libs/gst/control/dparam.h:
11777         * libs/gst/control/dparam_smooth.c:
11778         * libs/gst/control/dparam_smooth.h:
11779         * libs/gst/control/dparamcommon.h:
11780         * libs/gst/control/dparammanager.c:
11781         * libs/gst/control/dparammanager.h:
11782         * libs/gst/control/dplinearinterp.c:
11783         * libs/gst/control/dplinearinterp.h:
11784         * libs/gst/control/unitconvert.c:
11785         * libs/gst/control/unitconvert.h:
11786         * testsuite/Makefile.am:
11787         * testsuite/dynparams/.cvsignore:
11788         * testsuite/dynparams/Makefile.am:
11789         * testsuite/dynparams/dparamstest.c:
11790         * tools/Makefile.am:
11791         * tools/gst-inspect.c: (print_element_info), (main):
11792         * tools/gst-xmlinspect.c: (print_element_info), (main):
11793           deactivate and remove dparams (libgstcontrol)
11794
11795 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11796
11797         * gst/elements/gsttypefindelement.c:
11798         (gst_type_find_element_have_type), (gst_type_find_element_init),
11799         (stop_typefinding), (gst_type_find_element_handle_event),
11800         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11801         * gst/elements/gsttypefindelement.h:
11802           Set caps on all outgoing buffers, not just the first one.
11803
11804 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11805
11806         * gst/elements/gsttypefindelement.c:
11807         (gst_type_find_element_have_type),
11808         (gst_type_find_element_check_set_buffer_caps),
11809         (gst_type_find_element_init), (stop_typefinding),
11810         (gst_type_find_element_handle_event),
11811         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11812         * gst/elements/gsttypefindelement.h:
11813           Set caps on first outgoing buffer when we've found the type.
11814
11815 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11816
11817         * docs/gst/gstreamer-docs.sgml:
11818         * docs/gst/gstreamer-sections.txt:
11819         * docs/gst/tmpl/gstscheduler.sgml:
11820         * docs/gst/tmpl/gstschedulerfactory.sgml:
11821           Remove some old cruft from docs.
11822
11823 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11824
11825         * gst/gstpad.h:
11826           Fix inline docs for GstPadLinkReturn.
11827           
11828         * gst/gststructure.c: (gst_structure_has_name):
11829         * gst/gststructure.h:
11830         * docs/gst/gstreamer-sections.txt:
11831           New API: gst_structure_has_name().
11832
11833 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
11834
11835         * configure.ac:
11836           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11837           and _LARGEFILE_SOURCE in config.h as required. Do not 
11838           export those flags in our .pc files any longer (#142209).
11839
11840           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11841
11842         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11843         (gst_file_sink_do_seek), (gst_file_sink_event),
11844         (gst_file_sink_get_current_offset), (gst_file_sink_render):
11845           Redo seek/tell calls with large file support in mind; add some
11846           debugging messages; add log message that tells us when large
11847           file support is unavailable or not enabled for some reason.
11848
11849         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11850           Add log message that tells us when large file support 
11851           is unavailable or not enabled for some reason.
11852
11853 2005-07-29  Wim Taymans  <wim@fluendo.com>
11854
11855         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11856         Added test for removing an element with ghostpad from a bin.
11857         Fixed test as current implementation does the right thing.
11858
11859         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11860         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11861         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11862         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11863         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11864         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11865         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11866         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11867         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11868         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11869         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11870         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11871         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11872         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11873         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11874         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11875         * gst/gstghostpad.h:
11876         Clean up ghostpads, remove properties for internal stuff.
11877         Make threadsafe.
11878         Fix refcounting.
11879         Prepare for switching targets, not all use cases work yet.
11880
11881 2005-07-29  Wim Taymans  <wim@fluendo.com>
11882
11883         * docs/design/part-gstghostpad.txt:
11884         Small update.
11885
11886         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11887         (gst_bin_remove_func):
11888         Unlinking pads while holding the bin LOCK is not a good
11889         idea.
11890
11891         * gst/gstpad.c: (gst_pad_class_init),
11892         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11893         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11894         No prob setting template after creating the pad.
11895
11896 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11897
11898         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11899         (gst_bus_peek), (gst_bus_source_dispatch),
11900         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11901         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11902           gst_bus_poll may be called from other threads. Handle
11903           this nicely by not making poll_data disappear off the
11904           stack once gst_bus_poll returns.
11905           gst_bus_peek now increments the refcount on the returned
11906           message.
11907
11908 2005-07-29  Wim Taymans  <wim@fluendo.com>
11909
11910         * docs/design/part-gstghostpad.txt:
11911         Overview of current GhostPad datastructures and use
11912         cases for changing the target.
11913
11914 2005-07-28  Wim Taymans  <wim@fluendo.com>
11915
11916         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11917         Added checks for hierarchy consistency whan adding linked
11918         elements to bins.
11919
11920         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11921         Added check to test element scheduling without bin/pipeline.
11922
11923         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11924         First add elements to bin, then link.
11925         
11926         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11927         (gst_bin_remove_func):
11928         Unlink pads from elements added/removed from bin to maintain
11929         hierarchy consistency.
11930
11931 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11932
11933         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11934         (gst_base_transform_handle_buffer):
11935         * gst/base/gstbasetransform.h:
11936           Remove broken delay_configure (fixes renegotiation of software
11937           scaling pipelines); remove some leftover printf()s.
11938
11939 2005-07-28  Wim Taymans  <wim@fluendo.com>
11940
11941         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11942         Added some more tests for wrong hierarchy
11943
11944         * docs/design/part-overview.txt:
11945         Some updates.
11946
11947         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11948         Cleanups.
11949
11950         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11951         (gst_element_dispose):
11952         Some more cleanups.
11953
11954         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11955         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11956         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11957         (gst_pad_set_caps), (gst_pad_send_event):
11958         Check for correct hierarchy when linking pads. Moving to
11959         strict requirement for ghostpads when linking elements in
11960         different bins.
11961
11962         * gst/gstpad.h:
11963         Clean ups. Added WRONG_HIERARCHY return value.
11964
11965 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11966
11967         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11968           Better debug if no transform is possible.
11969
11970 2005-07-27  Wim Taymans  <wim@fluendo.com>
11971
11972         * docs/random/wtay/network-transp:
11973         Some old doc I had.
11974
11975 2005-07-27  Wim Taymans  <wim@fluendo.com>
11976
11977         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11978         (gst_dp_event_from_packet):
11979         Fix serialization of seek events.
11980
11981 2005-07-27  Wim Taymans  <wim@fluendo.com>
11982
11983         * check/gst-libs/gdp.c: (GST_START_TEST):
11984         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11985         Fix compilation and fix event serialization.
11986
11987 2005-07-27  Wim Taymans  <wim@fluendo.com>
11988
11989         * CHANGES-0.9:
11990         * docs/design/part-TODO.txt:
11991         * docs/design/part-events.txt:
11992         Some docs updates
11993
11994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11995         (gst_base_sink_event), (gst_base_sink_do_sync),
11996         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11997         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11998         (gst_base_src_do_seek), (gst_base_src_event_handler),
11999         (gst_base_src_loop):
12000         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12001         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12002         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12003         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12004         (gst_base_transform_set_passthrough),
12005         (gst_base_transform_is_passthrough):
12006         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12007         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12008         Event updates.
12009
12010         * gst/gstbuffer.h:
12011         Use faster casts.
12012
12013         * gst/gstelement.c: (gst_element_seek):
12014         * gst/gstelement.h:
12015         Update gst_element_seek.
12016
12017         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12018         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12019         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12020         (gst_event_new_eos), (gst_event_new_newsegment),
12021         (gst_event_parse_newsegment), (gst_event_new_tag),
12022         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12023         (gst_event_parse_qos), (gst_event_new_seek),
12024         (gst_event_parse_seek), (gst_event_new_navigation):
12025         * gst/gstevent.h:
12026         Make GstEvent use GstStructure. Add parsing code, make sure the
12027         API is sufficiently generic.
12028         Mark possible directions of events and serialization.
12029
12030         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12031         (_gst_message_copy), (gst_message_new_segment_start),
12032         (gst_message_new_segment_done), (gst_message_new_custom),
12033         (gst_message_parse_segment_start),
12034         (gst_message_parse_segment_done):
12035         Small cleanups.
12036
12037         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12038         (gst_pad_set_caps), (gst_pad_send_event):
12039         Update for new events. 
12040         Catch events sent in wrong directions.
12041
12042         * gst/gstqueue.c: (gst_queue_link_src),
12043         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12044         (gst_queue_handle_src_query):
12045         Event updates.
12046
12047         * gst/gsttag.c:
12048         * gst/gsttag.h:
12049         Remove event code from this file.
12050
12051         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12052         (gst_dp_event_from_packet):
12053         Event updates.
12054
12055 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12056
12057         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12058         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12059         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12060           Make debugging actually useful.
12061
12062 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12063
12064         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12065         (gst_pad_fixate_caps):
12066           Implement default fixation once again, so that gst_pad_fixate()
12067           actually does anything at all. This probably needs to be some
12068           sort of a last resort, and use profile-based fixation first, but
12069           since that doesn't exist yet, this is the best we have. Fixes
12070           visualization in Totem.
12071
12072 2005-07-22  Wim Taymans  <wim@fluendo.com>
12073
12074         * docs/design/part-events.txt:
12075         Small update.
12076
12077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12078         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12079         (gst_base_sink_activate_pull):
12080         Some more comments.
12081
12082         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12083         (gst_fake_src_create):
12084         Fix handoff marshall.
12085
12086         * gst/elements/gstidentity.c: (gst_identity_class_init),
12087         (gst_identity_transform_ip):
12088         We're a real inplace element.
12089
12090         * gst/gstbus.c: (gst_bus_post):
12091         Added some comments.
12092
12093         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12094         * tests/muxing/case1.c: (main):
12095         * tests/sched/dynamic-pipeline.c: (main):
12096         * tests/sched/interrupt1.c: (main):
12097         * tests/sched/interrupt2.c: (main):
12098         * tests/sched/interrupt3.c: (main):
12099         * tests/sched/runxml.c: (main):
12100         * tests/sched/sched-stress.c: (main):
12101         * tests/seeking/seeking1.c: (event_received), (main):
12102         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12103         (main):
12104         * tests/threadstate/threadstate3.c: (main):
12105         * tests/threadstate/threadstate4.c: (main):
12106         * tests/threadstate/threadstate5.c: (main):
12107         Fix the tests.
12108
12109 2005-07-21  Wim Taymans  <wim@fluendo.com>
12110
12111         * docs/design/part-seeking.txt:
12112         Some small additions.
12113
12114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12115         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12116         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12117         * gst/base/gstbasesink.h:
12118         discont values are gint64, handle the math correctly.
12119
12120         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12121         Make the basesrc report error if the source pad is not linked.
12122
12123         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12124         (gst_queue_loop), (gst_queue_handle_src_query),
12125         (gst_queue_src_activate_push):
12126         Make queue collect data even if the srcpad is not linked.
12127         Start pushing out data as soon as it is linked.
12128
12129         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12130         * gst/gstutils.h:
12131         Added gst_flow_get_name() to ease error reporting.
12132
12133 2005-07-20  Wim Taymans  <wim@fluendo.com>
12134
12135         * gst/gstmessage.c: (gst_message_new_segment_start),
12136         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12137         (gst_message_parse_segment_done):
12138         * gst/gstmessage.h:
12139         Added a bunch of messages for advanced seeking.
12140
12141         * gst/parse/grammar.y:
12142         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12143         (gst_dpman_state_changed):
12144         Fix some new-pad -> pad-added signals
12145
12146 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12147
12148         * docs/manual/appendix-porting.xml:
12149         * docs/pwg/appendix-porting.xml:
12150           Document new-pad/state-change signal renames and the FixedList
12151           type rename.
12152
12153 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12154
12155         * docs/manual/advanced-autoplugging.xml:
12156         * docs/manual/basics-helloworld.xml:
12157         * docs/manual/basics-pads.xml:
12158         * docs/random/ds/0.9-suggested-changes:
12159         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12160         * gst/gstelement.h:
12161         * gst/gstevent.h:
12162         * gst/gstformat.h:
12163         * gst/gstquery.h:
12164         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12165         (gst_structure_parse_array), (gst_structure_parse_value):
12166         * gst/gstvalue.c: (gst_type_is_fixed),
12167         (gst_value_list_prepend_value), (gst_value_list_append_value),
12168         (gst_value_list_get_size), (gst_value_list_get_value),
12169         (gst_value_transform_array_string), (gst_value_serialize_array),
12170         (gst_value_deserialize_array), (gst_value_intersect_array),
12171         (gst_value_is_fixed), (_gst_value_initialize):
12172         * gst/gstvalue.h:
12173           GstElement::new-pad -> pad-added, GstElement::state-change ->
12174           state-changed, GstValueFixedList -> GstValueArray, add format and
12175           flags as their own arguments in gst_element_seek() (should improve
12176           "bindeability"), remove function generators since they don't work
12177           under a whole bunch of compilers (they were deprecated already
12178           anyway).
12179
12180 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12181
12182         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12183         (_gst_debug_register_funcptr):
12184         * gst/gstinfo.h:
12185           Fix illegal cast on some platforms (#309253).
12186
12187 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12188
12189         * gst/gstmessage.c: (gst_message_new_custom):
12190         * gst/gstmessage.h:
12191           Add _new_custom, make _new_application a macro to _new_custom.
12192
12193 2005-07-20  Wim Taymans  <wim@fluendo.com>
12194
12195         * gst/base/gstbasesrc.c: (gst_base_src_init),
12196         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12197         * gst/base/gstbasesrc.h:
12198         Add a gboolean to decide when to push out a discont.
12199
12200         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12201         (gst_queue_loop), (gst_queue_handle_src_query),
12202         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
12203         (gst_queue_set_property), (gst_queue_get_property):
12204         Some cleanups.
12205
12206         * tests/threadstate/threadstate1.c: (main):
12207         Make a thread test compile and run... very silly..
12208
12209
12210 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12211
12212         * docs/manual/appendix-porting.xml:
12213           Mention removal of libgstgconf-0.9.la and existence of gconf
12214           elements.
12215
12216 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12217
12218         * docs/pwg/advanced-clock.xml:
12219         * docs/pwg/appendix-porting.xml:
12220         * docs/pwg/intro-preface.xml:
12221         * docs/pwg/other-base.xml:
12222         * docs/pwg/other-manager.xml:
12223         * docs/pwg/other-nton.xml:
12224         * docs/pwg/other-ntoone.xml:
12225         * docs/pwg/other-oneton.xml:
12226         * docs/pwg/pwg.xml:
12227           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
12228           demuxer), remove n-to-n (was never written), fix some code examples
12229           and links and update the porting section to include all this.
12230
12231 2005-07-19  Wim Taymans  <wim@fluendo.com>
12232
12233         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
12234         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
12235         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
12236         (gst_queue_src_activate_push), (gst_queue_change_state),
12237         (gst_queue_get_property):
12238         * gst/gstqueue.h:
12239         Propagate GstFlowReturn more intelligently upstream and output
12240         an ERROR/EOS when streaming stopped due to fatal error.
12241
12242 2005-07-19  Wim Taymans  <wim@fluendo.com>
12243
12244         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12245         Don't block forever for the state change to complete, the
12246         pipeline already did with a sensible timeout.
12247
12248 2005-07-19  Wim Taymans  <wim@fluendo.com>
12249
12250         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12251         Make sure we never call the create function is we
12252         got deactivated.
12253
12254 2005-07-19  Andy Wingo  <wingo@pobox.com>
12255
12256         * gst/parse/parse.l: Attempt to solve bug #172815.
12257
12258 2005-07-19  Wim Taymans  <wim@fluendo.com>
12259
12260         * docs/design/part-clocks.txt:
12261         * docs/design/part-events.txt:
12262         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
12263         Small docs updates.
12264         Only update the seeking values when we are not
12265         busy streaming.
12266
12267 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12268
12269         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12270           Oops, ignore the result of gst_pad_push_event here.
12271
12272 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
12273
12274         * gst/base/gstbasesrc.c: (gst_base_src_loop),
12275         (gst_base_src_activate_push):
12276           Send discont event from the loop function, as pads
12277           aren't activated yet in the activate_push handler.
12278
12279         * gst/gstbin.c: (bin_bus_handler):
12280           Don't leak element name.
12281
12282 2005-07-18  Andy Wingo  <wingo@pobox.com>
12283
12284         * configure.ac: Use AS_LIBTOOL_TAGS.
12285
12286 2005-07-18  Wim Taymans  <wim@fluendo.com>
12287
12288         * docs/gst/gstreamer.types:
12289         Remove deleted types.
12290
12291 2005-07-18  Wim Taymans  <wim@fluendo.com>
12292
12293         * check/elements/gstfakesrc.c: (GST_START_TEST):
12294         * configure.ac:
12295         * gst/Makefile.am:
12296         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
12297         (init_popt_callback):
12298         * gst/gst.h:
12299         * gst/gst_private.h:
12300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12301         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12302         * gst/gstbin.h:
12303         * gst/gstbus.h:
12304         * gst/gstconfig.h.in:
12305         * gst/gstelement.c: (gst_element_class_init),
12306         (gst_element_set_base_time), (gst_element_get_base_time),
12307         (iterator_fold_with_resync), (gst_element_change_state),
12308         (gst_element_dispose), (gst_element_get_bus):
12309         * gst/gstelement.h:
12310         * gst/gstelementfactory.h:
12311         * gst/gsterror.c: (_gst_core_errors_init):
12312         * gst/gsterror.h:
12313         * gst/gstevent.h:
12314         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12315         * gst/gstindex.c:
12316         * gst/gstinfo.c: (_gst_debug_init):
12317         * gst/gstmessage.c: (_gst_message_copy):
12318         * gst/gstmessage.h:
12319         * gst/gstminiobject.h:
12320         * gst/gstobject.c:
12321         * gst/gstobject.h:
12322         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12323         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12324         * gst/gstpad.h:
12325         * gst/gstparse.h:
12326         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12327         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12328         (gst_pipeline_get_last_stream_time):
12329         * gst/gstpipeline.h:
12330         * gst/gstpluginfeature.h:
12331         * gst/gstquery.h:
12332         * gst/gstscheduler.c:
12333         * gst/gstscheduler.h:
12334         * gst/gststructure.h:
12335         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12336         (gst_task_finalize), (gst_task_func), (gst_task_create),
12337         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12338         (gst_task_stop), (gst_task_pause):
12339         * gst/gsttask.h:
12340         * gst/gsttypefind.h:
12341         * gst/gsttypes.h:
12342         * gst/registries/gstlibxmlregistry.c: (load_feature),
12343         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12344         * gst/registries/gstxmlregistry.c:
12345         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12346         * gst/schedulers/threadscheduler.c:
12347         * libs/gst/control/dparammanager.h:
12348         * tools/gst-inspect.c: (print_element_list),
12349         (print_plugin_features), (print_element_features):
12350         * tools/gst-xmlinspect.c: (print_element_list),
12351         (print_plugin_info), (main):
12352         Removed plugable schedulers.
12353         Removed Scheduler/Manager from elements.
12354         Removed gsttypes.h, rearranged includes.
12355         Removed dependency pad<->element, element<>pipeline, and
12356         various others,  fix includes.
12357         implement gst_pad_get_parent() with gst_object_get_parent()
12358         Make GstTask sefcontained.
12359         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12360         timeout.
12361         Fix endless loop in iterator_fold_with_resync.
12362
12363
12364 2005-07-18  Wim Taymans  <wim@fluendo.com>
12365
12366         * gst/Makefile.am:
12367         * gst/gstarch.h:
12368         Remove old file.
12369
12370 2005-07-18  Wim Taymans  <wim@fluendo.com>
12371
12372         * gst/Makefile.am:
12373         No more cothreads.h
12374
12375 2005-07-18  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/cothreads.c:
12378         * gst/cothreads.h:
12379         Let's remove these.
12380
12381 2005-07-18  Wim Taymans  <wim@fluendo.com>
12382
12383         * docs/design/part-dynamic.txt:
12384         * docs/design/part-events.txt:
12385         * docs/design/part-seeking.txt:
12386         Some more docs in the works.
12387
12388         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12389         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12390         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12391         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12392         (gst_base_transform_handle_buffer),
12393         (gst_base_transform_sink_activate_push),
12394         (gst_base_transform_src_activate_pull),
12395         (gst_base_transform_set_passthrough),
12396         (gst_base_transform_is_passthrough):
12397         Refcounting fixes.
12398
12399         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12400         Cleanups.
12401
12402         * gst/gstevent.c: (gst_event_finalize):
12403         Set SRC to NULL.
12404
12405         * gst/gstutils.c: (gst_element_unlink),
12406         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12407         (gst_pad_proxy_setcaps):
12408         * gst/gstutils.h:
12409         Add _get_parent_element() to get a pads parent as an element.
12410
12411 2005-07-18  Wim Taymans  <wim@fluendo.com>
12412
12413         * check/gst/gstbin.c: (GST_START_TEST):
12414         Remove bogus test.
12415
12416 2005-07-18  Wim Taymans  <wim@fluendo.com>
12417
12418         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12419         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12420         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12421         (gst_base_sink_event), (gst_base_sink_do_sync),
12422         (gst_base_sink_chain), (gst_base_sink_loop),
12423         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12424         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12425         Refcounting fixes.
12426         Fix logic for returning ASYNC when not prerolled.
12427
12428 2005-07-18  Wim Taymans  <wim@fluendo.com>
12429
12430         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12431         Fix nasty refcount bug.
12432
12433 2005-07-16 Philippe Khalaf <burger@speedy.org>
12434
12435         * gst/elements/gstfdsrc.c:
12436         * gst/elements/gstfdsrc.h:
12437         * gst/elements/gstelements.c:
12438         * gst/elements/Makefile.am:
12439         Ported fdsrc to 0.9.
12440
12441 2005-07-16  Wim Taymans  <wim@fluendo.com>
12442
12443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12444         (gst_base_sink_do_sync):
12445         Fix compile error.
12446
12447 2005-07-16  Wim Taymans  <wim@fluendo.com>
12448
12449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12450         (gst_base_sink_event), (gst_base_sink_get_times),
12451         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12452         * gst/base/gstbasesink.h:
12453         Store and use discont values when syncing buffers as described
12454         in design docs.
12455         
12456         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12457         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12458         (gst_base_src_activate_push):
12459         Push discont event when starting.
12460
12461         * gst/elements/gstidentity.c: (gst_identity_transform):
12462         Small cleanups.
12463
12464         * gst/gstbin.c: (gst_bin_change_state):
12465         Small cleanups in base_time  distribution.
12466
12467         * gst/gstelement.c: (gst_element_set_base_time),
12468         (gst_element_get_base_time), (gst_element_change_state):
12469         * gst/gstelement.h:
12470         Added methods for the base_time of the element.
12471         Some MT fixes.
12472
12473         * gst/gstpipeline.c: (gst_pipeline_send_event),
12474         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12475         (gst_pipeline_get_last_stream_time):
12476         * gst/gstpipeline.h:
12477         MT fixes.
12478         Handle seeking as described in design doc, remove stream_time
12479         hack.
12480         Cleanups clock and stream_time selection code. Added accessors
12481         for the stream_time.
12482         
12483
12484 2005-07-16  Andy Wingo  <wingo@pobox.com>
12485
12486         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12487         (#305291).
12488
12489 2005-07-16  Wim Taymans  <wim@fluendo.com>
12490
12491         * check/gst/gstbin.c: (GST_START_TEST):
12492         Make elements silent as the deep_notify refs the
12493         parent, which might make the test fail.
12494
12495         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12496         Don't hold the lock for too long.
12497
12498 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12499
12500         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12501           Don't unref the caps we passed to gst_caps_make_writable() after
12502           passing them. gst_caps_make_writable() will do that for us.
12503
12504 2005-07-15  Andy Wingo  <wingo@pobox.com>
12505
12506         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12507         (#157311).
12508
12509         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12510         own marshalling function for the handoff signal. Properly type the
12511         buffer as a buffer. Fixes some warnings. Should do a more general
12512         solution.
12513         (gst_identity_class_init): Plug into the right marshaller.
12514
12515 2005-07-15  Wim Taymans  <wim@fluendo.com>
12516
12517         * docs/design/part-TODO.txt:
12518         * docs/design/part-clocks.txt:
12519         * docs/design/part-element-sink.txt:
12520         * docs/design/part-events.txt:
12521         * docs/design/part-gstpipeline.txt:
12522         Updated docs, mostly DISCONT related.
12523
12524 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * docs/pwg/building-pads.xml:
12527           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12528
12529 2005-07-15  Andy Wingo  <wingo@pobox.com>
12530
12531         * tools/gst-typefind.c: Update, add copyright block.
12532
12533         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12534         Normalize and truncate caps before fixation.
12535
12536         * gst/gstcaps.h:
12537         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12538         discards all but the first structure from its argument.
12539
12540 2005-07-15  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12543         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12544         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12545         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12546         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12547         (gst_base_transform_chain), (gst_base_transform_change_state),
12548         (gst_base_transform_set_passthrough),
12549         (gst_base_transform_is_passthrough):
12550         * gst/base/gstbasetransform.h:
12551         Make passthrough work using the bufferpools.
12552         Changed API a bit, subclasses have to write into a buffer
12553         provided by the base class.
12554         More debug info in nego functions.
12555         
12556         * gst/elements/gstidentity.c: (gst_identity_init),
12557         (gst_identity_transform):
12558         Port to new base class.
12559
12560 2005-07-15  Wim Taymans  <wim@fluendo.com>
12561
12562         * gst/gstmessage.c: (gst_message_new_state_changed):
12563         * tools/gst-launch.c: (event_loop), (main):
12564         Totally dump messages in -launch with the -m option.
12565         Fix message name for State messages,
12566
12567 2005-07-14  Wim Taymans  <wim@fluendo.com>
12568
12569         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12570         Post error messages on errors.
12571
12572 2005-07-14  Wim Taymans  <wim@fluendo.com>
12573
12574         * gst/gstcaps.c: (gst_caps_do_simplify):
12575         Remove debug info.
12576
12577         * gst/gsterror.h:
12578         Define error for stream stopped.
12579
12580         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12581         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12582         Do proper return values.
12583
12584         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12585         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12586         (gst_pad_get_range):
12587         Better return values.
12588
12589         * gst/gstpad.h:
12590         Reorganise return values, add macro to check for fatal errors.
12591
12592         * gst/gstqueue.c: (gst_queue_chain):
12593         Return proper GstFlowReturn values,
12594
12595 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12596
12597         * docs/gst/gstreamer-sections.txt:
12598         * docs/gst/gstreamer.types:
12599         * docs/gst/tmpl/gst.sgml:
12600         * docs/gst/tmpl/gstbasesink.sgml:
12601         * docs/gst/tmpl/gstbasesrc.sgml:
12602         * docs/gst/tmpl/gstbasetransform.sgml:
12603         * docs/gst/tmpl/gstbin.sgml:
12604         * docs/gst/tmpl/gstbuffer.sgml:
12605         * docs/gst/tmpl/gstcaps.sgml:
12606         * docs/gst/tmpl/gstclock.sgml:
12607         * docs/gst/tmpl/gstcompat.sgml:
12608         * docs/gst/tmpl/gstconfig.sgml:
12609         * docs/gst/tmpl/gstelement.sgml:
12610         * docs/gst/tmpl/gstelementdetails.sgml:
12611         * docs/gst/tmpl/gstelementfactory.sgml:
12612         * docs/gst/tmpl/gstenumtypes.sgml:
12613         * docs/gst/tmpl/gsterror.sgml:
12614         * docs/gst/tmpl/gstevent.sgml:
12615         * docs/gst/tmpl/gstfakesink.sgml:
12616         * docs/gst/tmpl/gstfakesrc.sgml:
12617         * docs/gst/tmpl/gstfilesink.sgml:
12618         * docs/gst/tmpl/gstfilesrc.sgml:
12619         * docs/gst/tmpl/gstfilter.sgml:
12620         * docs/gst/tmpl/gstformat.sgml:
12621         * docs/gst/tmpl/gstghostpad.sgml:
12622         * docs/gst/tmpl/gstimplementsinterface.sgml:
12623         * docs/gst/tmpl/gstindex.sgml:
12624         * docs/gst/tmpl/gstindexfactory.sgml:
12625         * docs/gst/tmpl/gstinfo.sgml:
12626         * docs/gst/tmpl/gstiterator.sgml:
12627         * docs/gst/tmpl/gstmacros.sgml:
12628         * docs/gst/tmpl/gstmemchunk.sgml:
12629         * docs/gst/tmpl/gstminiobject.sgml:
12630         * docs/gst/tmpl/gstobject.sgml:
12631         * docs/gst/tmpl/gstpad.sgml:
12632         * docs/gst/tmpl/gstpadtemplate.sgml:
12633         * docs/gst/tmpl/gstparse.sgml:
12634         * docs/gst/tmpl/gstpipeline.sgml:
12635         * docs/gst/tmpl/gstplugin.sgml:
12636         * docs/gst/tmpl/gstpluginfeature.sgml:
12637         * docs/gst/tmpl/gstquery.sgml:
12638         * docs/gst/tmpl/gstqueue.sgml:
12639         * docs/gst/tmpl/gstregistry.sgml:
12640         * docs/gst/tmpl/gstregistrypool.sgml:
12641         * docs/gst/tmpl/gstscheduler.sgml:
12642         * docs/gst/tmpl/gstschedulerfactory.sgml:
12643         * docs/gst/tmpl/gststructure.sgml:
12644         * docs/gst/tmpl/gstsystemclock.sgml:
12645         * docs/gst/tmpl/gsttaglist.sgml:
12646         * docs/gst/tmpl/gsttagsetter.sgml:
12647         * docs/gst/tmpl/gsttrace.sgml:
12648         * docs/gst/tmpl/gsttrashstack.sgml:
12649         * docs/gst/tmpl/gsttypefind.sgml:
12650         * docs/gst/tmpl/gsttypefindfactory.sgml:
12651         * docs/gst/tmpl/gsttypes.sgml:
12652         * docs/gst/tmpl/gsturihandler.sgml:
12653         * docs/gst/tmpl/gsturitype.sgml:
12654         * docs/gst/tmpl/gstutils.sgml:
12655         * docs/gst/tmpl/gstvalue.sgml:
12656         * docs/gst/tmpl/gstversion.sgml:
12657         * docs/gst/tmpl/gstxml.sgml:
12658         * docs/libs/tmpl/gstcontrol.sgml:
12659         * docs/libs/tmpl/gstdataprotocol.sgml:
12660         * docs/libs/tmpl/gstdparam.sgml:
12661         * docs/libs/tmpl/gstdplinint.sgml:
12662         * docs/libs/tmpl/gstdpman.sgml:
12663         * docs/libs/tmpl/gstdpsmooth.sgml:
12664         * docs/libs/tmpl/gstgetbits.sgml:
12665         * docs/libs/tmpl/gstunitconvert.sgml:
12666         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12667         (gst_push_src_base_init), (gst_push_src_class_init),
12668         (gst_push_src_init), (gst_push_src_create):
12669         * gst/base/gstpushsrc.h:
12670         * gst/elements/gstelements.c:
12671         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12672         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12673         (gst_fake_sink_init), (gst_fake_sink_set_property),
12674         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12675         (gst_fake_sink_event), (gst_fake_sink_preroll),
12676         (gst_fake_sink_render), (gst_fake_sink_change_state):
12677         * gst/elements/gstfakesink.h:
12678         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12679         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12680         (gst_fake_src_base_init), (gst_fake_src_class_init),
12681         (gst_fake_src_init), (gst_fake_src_event_handler),
12682         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12683         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12684         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12685         (gst_fake_src_create_buffer), (gst_fake_src_create),
12686         (gst_fake_src_start), (gst_fake_src_stop):
12687         * gst/elements/gstfakesrc.h:
12688         * gst/elements/gstfilesink.c: (_do_init),
12689         (gst_file_sink_base_init), (gst_file_sink_class_init),
12690         (gst_file_sink_init), (gst_file_sink_dispose),
12691         (gst_file_sink_set_location), (gst_file_sink_set_property),
12692         (gst_file_sink_get_property), (gst_file_sink_open_file),
12693         (gst_file_sink_close_file), (gst_file_sink_query),
12694         (gst_file_sink_event), (gst_file_sink_render),
12695         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12696         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12697         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12698         * gst/elements/gstfilesink.h:
12699         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12700         (gst_file_src_class_init), (gst_file_src_init),
12701         (gst_file_src_finalize), (gst_file_src_set_location),
12702         (gst_file_src_set_property), (gst_file_src_get_property),
12703         (gst_file_src_map_region), (gst_file_src_map_small_region),
12704         (gst_file_src_create_mmap), (gst_file_src_create_read),
12705         (gst_file_src_create), (gst_file_src_is_seekable),
12706         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12707         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12708         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12709         (gst_file_src_uri_handler_init):
12710         * gst/elements/gstfilesrc.h:
12711           more autistic cleanliness in functions/names/defines
12712
12713 2005-07-13  Andy Wingo  <wingo@pobox.com>
12714
12715         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12716         source couldn't negotiate.
12717
12718         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12719         connections again.
12720
12721         * gst/gstutils.h:
12722         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12723         function. I am channeling Hades. Put your boots on suckers!!!
12724
12725 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12726
12727         * testsuite/caps/Makefile.am:
12728         * testsuite/caps/value_compare.c:
12729         * testsuite/caps/value_intersect.c:
12730         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12731           move two testsuite apps over to the check dir
12732
12733 2005-07-12  Wim Taymans  <wim@fluendo.com>
12734
12735         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12736         Added more debug info in the negotiate process.
12737
12738         * gst/gstmessage.h:
12739         Prepare for segment playback.
12740
12741         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12742         Better debugging.
12743
12744         * gst/gstutils.c:
12745         Some more docs.
12746
12747         * tools/gst-launch.c: (main):
12748         NULL pipeline on errors.
12749
12750 2005-07-12  Andy Wingo  <wingo@pobox.com>
12751
12752         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12753         not it comes from a malloc region. Make sure our copy gets freed.
12754
12755 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12756
12757         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12758         * check/gst/gstmessage.c: (GST_START_TEST):
12759         * check/gst/gststructure.c: (GST_START_TEST),
12760         (gst_structure_suite), (main):
12761           more testing
12762         * gst/gstelement.c: (gst_element_message_full):
12763           clean up GError and debug string now that they get copied
12764         * gst/gstmessage.c: (gst_message_new_error),
12765         (gst_message_new_warning), (gst_message_parse_error),
12766         (gst_message_parse_warning):
12767           use GST_TYPE_G_ERROR for structure_new, and take copies of
12768           arguments, so that we don't mess up refcounting
12769
12770 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12771
12772         * check/Makefile.am:
12773           add per-test valgrind targets
12774         * check/gst-libs/gdp.c: (GST_START_TEST),
12775         (gst_data_protocol_suite), (main):
12776           clean up
12777
12778 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12779
12780         * check/Makefile.am:
12781           instate more valgrindable tests
12782         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12783         (GST_START_TEST), (fakesrc_suite):
12784         * check/gst/gstpad.c: (GST_START_TEST):
12785         * check/gst/gststructure.c: (GST_START_TEST):
12786           fix test leaks
12787         * docs/gst/tmpl/gstminiobject.sgml:
12788         * gst/gstpad.c: (gst_pad_finalize):
12789           fix the static mutex leak
12790
12791 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12792
12793         * check/Makefile.am:
12794           add two more tests for valgrinding
12795         * check/gst/gstvalue.c: (GST_START_TEST):
12796           test refcount of deserialized buffer, found a leak
12797         * docs/gst/gstreamer-docs.sgml:
12798         * docs/gst/gstreamer-sections.txt:
12799         * docs/gst/gstreamer.types:
12800         * docs/gst/tmpl/gstminiobject.sgml:
12801           add miniobject to docs
12802         * gst/gstminiobject.c:
12803           add some docs
12804         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12805         (gst_string_unwrap):
12806           fix a hard-to-find invalid write for one of the tests
12807           fix a leak for deserialized buffers
12808
12809 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12810
12811         * docs/pwg/advanced-events.xml:
12812         * docs/pwg/advanced-request.xml:
12813         * docs/pwg/advanced-scheduling.xml:
12814         * docs/pwg/appendix-porting.xml:
12815         * docs/pwg/building-boiler.xml:
12816         * docs/pwg/intro-preface.xml:
12817         * docs/pwg/other-ntoone.xml:
12818           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12819           of example code and explanation for pad activation, loop() and
12820           getrange() functions and a bit more. Remove old comments pointing
12821           to loop-functions.
12822         * examples/pwg/Makefile.am:
12823           Add loop/getrange examples.
12824
12825 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * configure.ac:
12828           check for valgrind binary + some fixes
12829         * check/gst.supp:
12830           valgrind suppressions for the tests
12831         * check/Makefile.am:
12832           add a valgrind: target that valgrinds the unit tests
12833         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12834         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12835         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12836         * check/gst/gstghostpad.c:
12837           added some cleanup
12838         * check/gst/gstdata.c:
12839           removed
12840         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12841         (thread_unref), (gst_mini_object_suite), (main):
12842           added
12843         * gst/gst.c: (gst_deinit):
12844         * gst/gst.h:
12845           add a method to clean up.
12846         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12847         (gst_system_clock_obtain):
12848           allow for disposing the system clock.
12849         * tools/gst-launch.c: (main):
12850           deinit
12851
12852 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12853
12854         * docs/gst/tmpl/gstbasesrc.sgml:
12855         * docs/gst/tmpl/gstfakesrc.sgml:
12856         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12857         (gst_base_src_init), (gst_base_src_set_property),
12858         (gst_base_src_get_property), (gst_base_src_get_range),
12859         (gst_base_src_start):
12860         * gst/base/gstbasesrc.h:
12861           add num-buffers property
12862         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12863         (gst_fakesrc_init), (gst_fakesrc_set_property),
12864         (gst_fakesrc_get_property), (gst_fakesrc_create),
12865         (gst_fakesrc_start):
12866           remove num-buffers property
12867
12868 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12869
12870         * docs/gst/gstreamer-sections.txt:
12871         * docs/gst/tmpl/gstbasesink.sgml:
12872         * docs/gst/tmpl/gstbasesrc.sgml:
12873         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12874         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12875         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12876         (gst_base_sink_set_property), (gst_base_sink_get_property),
12877         (gst_base_sink_handle_object), (gst_base_sink_event),
12878         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12879         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12880         (gst_base_sink_loop), (gst_base_sink_deactivate),
12881         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12882         (gst_base_sink_change_state):
12883         * gst/base/gstbasesink.h:
12884         * gst/base/gstbasesrc.h:
12885         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12886         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12887         (gst_filesink_init):
12888           more macro splitting
12889
12890 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12891
12892         * gst/gstelement.c: (gst_element_get_bus):
12893           add debug
12894         * tools/gst-launch.c: (check_intr), (event_loop):
12895           fix bus leaks
12896
12897 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12900           fix a caps leak
12901
12902 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12903
12904         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12905         (gst_base_src_finalize):
12906           add finalize method and clean up properly
12907         * gst/gstpipeline.c: (gst_pipeline_dispose):
12908           add debug
12909
12910 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12913         (gst_bin_suite):
12914           add more things to check
12915         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12916         * gst/gstelement.c:
12917           more debug
12918
12919 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12922         (GST_START_TEST), (fakesrc_suite):
12923         * check/gst-libs/gdp.c: (GST_START_TEST):
12924         * check/gst/gst.c: (GST_START_TEST):
12925         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12926         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12927         * check/gst/gstbus.c: (GST_START_TEST):
12928         * check/gst/gstcaps.c: (GST_START_TEST):
12929         * check/gst/gstdata.c: (GST_START_TEST):
12930         * check/gst/gstelement.c: (GST_START_TEST):
12931         * check/gst/gstghostpad.c: (GST_START_TEST):
12932         * check/gst/gstiterator.c: (GST_START_TEST):
12933         * check/gst/gstmessage.c: (GST_START_TEST):
12934         * check/gst/gstobject.c: (GST_START_TEST):
12935         * check/gst/gstpad.c: (GST_START_TEST):
12936         * check/gst/gststructure.c: (GST_START_TEST):
12937         * check/gst/gstsystemclock.c: (GST_START_TEST),
12938         (gst_systemclock_suite):
12939         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12940         * check/gst/gstvalue.c: (GST_START_TEST):
12941         * check/pipelines/cleanup.c: (GST_START_TEST):
12942         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12943         * check/states/sinks.c: (GST_START_TEST):
12944         * check/gstcheck.c: (gst_check_init):
12945         * check/gstcheck.h:
12946           add debugging category
12947           use GST_START_TEST now, so we add a debug line
12948
12949 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12950
12951         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12952           add test for state change message on a bin
12953         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12954           add another test
12955         * gst/gstbin.c: (gst_bin_init):
12956         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12957         * gst/gstelement.c: (gst_element_post_message),
12958         (gst_element_set_state):
12959         * gst/gstelementfactory.c: (gst_element_factory_create):
12960         * gst/gstmessage.c: (gst_message_new):
12961         * gst/gstscheduler.c:
12962           various debugging additions and cleanups
12963
12964 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12965
12966         * check/Makefile.am:
12967         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12968         (main):
12969           adding tests for elements
12970         * gst/gstelement.c: (gst_element_dispose):
12971
12972 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12973
12974         * gst/registries/gstlibxmlregistry.c: (load_feature):
12975           plug more leaks.  A simple gst_init() now is leakfree, yay.
12976
12977 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12978
12979         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12980         (gst_xml_registry_load):
12981           plug another memleak
12982
12983 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * configure.ac:
12986           use GST_SET_ERROR_CFLAGS
12987         * docs/faq/cvs.xml:
12988           change to ERROR_CFLAGS
12989
12990 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * configure.ac:
12993           make GST_ERROR_CFLAGS overridable and re-enable Werror
12994         * docs/faq/cvs.xml:
12995           add a note about error CFLAGS
12996         * docs/gst/tmpl/gstfakesrc.sgml:
12997         * gst/elements/gstfakesrc.c:
12998           comment out some unused code
12999         * gst/gst.c: (split_and_iterate):
13000         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13001         (load_feature):
13002           plug some memleaks
13003
13004 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13005
13006         * common/Makefile.am:
13007         * common/gtk-doc.mak:
13008         * docs/gst/Makefile.am:
13009           factor out gtk-doc.mak
13010
13011 2005-07-07  Wim Taymans  <wim@fluendo.com>
13012
13013         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13014         (gst_thread_scheduler_dispose):
13015         Unlock the STREAM_LOCK completely.
13016
13017 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13018
13019         * check/Makefile.am:
13020         * check/elements/.cvsignore:
13021         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13022         (START_TEST), (fakesrc_suite), (main):
13023         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13024         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13025         (gst_fakesrc_create), (gst_fakesrc_start):
13026         * gst/elements/gstfakesrc.h:
13027           adding a first element test
13028
13029 2005-07-07  Andy Wingo  <wingo@pobox.com>
13030
13031         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13032         debug message.
13033
13034 2005-07-07  Wim Taymans  <wim@fluendo.com>
13035
13036         * gst/gstquery.c:
13037         * gst/gstquery.h:
13038         Remove old types
13039
13040 2005-07-07  Wim Taymans  <wim@fluendo.com>
13041
13042         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13043         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13044         Allow subclasses to implement their own negotiation.
13045
13046 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13047
13048         * docs/design/part-gstbin.txt:
13049         * docs/design/part-gstpipeline.txt:
13050           Update design notes to reflect the movement of
13051           responsibility for bus handling from GstPipeline to
13052           GstBin
13053
13054 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13055
13056         * configure.ac:
13057           Remove unnecessary queue2/3/4 examples.
13058
13059 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13060
13061         * examples/Makefile.am:
13062         * examples/helloworld/helloworld.c: (event_loop), (main):
13063         * examples/queue/queue.c: (event_loop), (main):
13064         * examples/queue2/queue2.c: (main):
13065           Update a couple of the examples to work again.
13066
13067         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13068         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13069          Spelling corrections and extra debug.
13070         
13071         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13072         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13073         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13074         * gst/gstbin.h:
13075         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13076         (gst_pipeline_change_state):
13077         * gst/gstpipeline.h:
13078           Move the bus handler for children to the GstBin, and create a
13079           separate bus for receiving messages from children to the one the
13080           bus sends 'upwards' on.
13081
13082 2005-07-06  Wim Taymans  <wim@fluendo.com>
13083
13084         * gst/base/README:
13085         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13086         (gst_base_sink_handle_object), (gst_base_sink_loop),
13087         (gst_base_sink_change_state):
13088         * gst/base/gstbasesink.h:
13089         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13090         (gst_base_src_init), (gst_base_src_setcaps),
13091         (gst_base_src_getcaps), (gst_base_src_loop),
13092         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13093         (gst_base_src_start), (gst_base_src_change_state):
13094         * gst/base/gstbasesrc.h:
13095         Make basesrc negotiate.
13096         Handle the case where preroll fails in basesink.
13097         Update README.
13098
13099 2005-07-06  Wim Taymans  <wim@fluendo.com>
13100
13101         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13102         Implement the fixate function.
13103         Clean up acceptcaps.
13104
13105 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13106
13107         * docs/pwg/building-filterfactory.xml:
13108         * docs/pwg/pwg.xml:
13109           Remove never-written filter-factory chapter; I'll add the various
13110           base classes to part 4 ("other element types") later on.
13111
13112 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13113
13114         * docs/pwg/advanced-negotiation.xml:
13115         * docs/pwg/building-boiler.xml:
13116         * docs/pwg/building-pads.xml:
13117         * docs/pwg/pwg.xml:
13118         * examples/pwg/Makefile.am:
13119           Add a chapter on caps negotiation, simplify the original code
13120           samples a bit w.r.t. caps negotiation, add link to the advanced
13121           section. Add a bunch of examples showing different use cases of
13122           different types of caps negotiation. Upstream renegotiation isn't
13123           fully documented yet since nobody knows how that works.
13124
13125 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13126
13127         * check/gst/gstpad.c:
13128         * check/gstcheck.c:
13129         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13130           if pad has no parent, return NULL as list of internal links
13131
13132 2005-07-05  Andy Wingo  <wingo@pobox.com>
13133
13134         * gst/elements/gstfilesrc.c:
13135         * gst/elements/gstfakesrc.c: 
13136         * gst/base/gstpushsrc.c:
13137         * gst/base/gstbasesrc.h: 
13138         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13139         
13140 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13141
13142         * Makefile.am:
13143           better report generation target (lcov needs a patch)
13144
13145 2005-07-05  Andy Wingo  <wingo@pobox.com>
13146
13147         * gst/elements, testsuite: Null if we got it...
13148
13149 2005-07-05  Wim Taymans  <wim@fluendo.com>
13150
13151         * configure.ac:
13152         * libs/gst/dataprotocol/Makefile.am:
13153         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13154         * libs/gst/dataprotocol/dataprotocol.h:
13155         * pkgconfig/Makefile.am:
13156         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13157         * pkgconfig/gstreamer-dataprotocol.pc.in:
13158         Ported dataprotol to 0.9. 
13159         Added pkgconfig files.
13160
13161 2005-07-05  Andy Wingo  <wingo@pobox.com>
13162
13163         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13164         Default to returning TRUE for the case when tranform_caps returns
13165         a fixed caps, like for identity or volume.
13166
13167         * check/gst/gstbus.c (pound_bus_with_messages): 
13168         * check/gst/gstmessage.c (START_TEST): 
13169         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13170         message API change.
13171
13172         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13173         logic weaks here: always run transform_caps, trying passthrough
13174         operation only if the original caps intersects with the transform.
13175
13176         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
13177         source and sink caps.
13178
13179         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
13180         Intersect the peer caps with the pad template before going into
13181         transform_caps.
13182         (gst_base_transform_transform_caps): More debugging.
13183
13184         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
13185         src argument.
13186
13187 2005-07-04  Edward Hervey  <edward@fluendo.com>
13188
13189         * gst/gstutils.c:
13190         * gst/gstutils.h:
13191         (gst_pad_add_*_probe): now returns the signal id for better wrapping
13192         in bindings.
13193
13194 2005-07-04  Andy Wingo  <wingo@pobox.com>
13195
13196         * check/gst/gstpad.c: Only set explicit caps on pads.
13197
13198 2005-07-01  Andy Wingo  <wingo@pobox.com>
13199
13200         * tests/network-clock.scm: Commentary update.
13201
13202         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
13203         Didn't really make sense, not implementable with basetransform,
13204         etc.
13205         (gst_identity_transform): Unref inbuf via make_writable. Feeble
13206         attempt at implementing the sync property, needs an unlock method.
13207
13208         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
13209         New func, by default returns the same caps (the identity
13210         transformation).
13211         (gst_base_transform_getcaps): Uses transform_caps to return
13212         something sensible.
13213         (gst_base_transform_setcaps): Complicated logic to get caps on
13214         both pads, even if they are different, and to call set_caps once
13215         for every time both pads get their caps set.
13216         (gst_base_transform_handle_buffer): Give the ref to the transform
13217         function. Allows in-place modification of the buffer.
13218
13219         * gst/base/gstbasetransform.h (transform_caps): New class method.
13220         Given caps on one side, what can I do on the other.
13221         (set_caps): Take two caps, one for each side of the element.
13222
13223         * gst/gstpad.h:
13224         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
13225         caps in place. This is safe because we can check the mutability of
13226         the caps, and a good idea because fixate functions are just called
13227         as a matter of last resort. (Not actually implemented.)
13228         (gst_pad_set_caps): If the caps we're setting is actually the same
13229         as the existing pad caps, just update the pointer without calling
13230         setcaps. Assert that caps is either NULL or fixed, as per the
13231         docs.
13232
13233         * gst/gstghostpad.c: Update for fixate changes.
13234
13235 2005-07-02  Andy Wingo  <wingo@pobox.com>
13236
13237         * gst/gstcaps.c:
13238         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
13239         two refcounts makes it immutable, which is enough. Doc more.
13240
13241 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
13242
13243         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
13244           Put the mini_object into GValue as a mini_object,
13245           not a gpointer, since that's how we declared
13246           the signal.
13247
13248 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13249
13250         * examples/pwg/Makefile.am:
13251           Fix buildbot again.
13252
13253 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13254
13255         * docs/pwg/building-testapp.xml:
13256           Add extra check.
13257         * examples/pwg/Makefile.am:
13258           Fix buildbot.
13259
13260 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13261
13262         * configure.ac:
13263         * examples/Makefile.am:
13264         * examples/pwg/Makefile.am:
13265         * examples/pwg/extract.pl:
13266           Enable building the PWG examples.
13267         * docs/pwg/advanced-interfaces.xml:
13268           Add URI interface stub.
13269         * docs/pwg/advanced-types.xml:
13270         * docs/pwg/other-autoplugger.xml:
13271         * docs/pwg/appendix-porting.xml:
13272         * docs/pwg/pwg.xml:
13273           Add porting guide (mostly stubs), remove autoplugging (see ADM).
13274         * docs/pwg/building-boiler.xml:
13275         * docs/pwg/building-chainfn.xml:
13276         * docs/pwg/building-pads.xml:
13277         * docs/pwg/building-props.xml:
13278         * docs/pwg/building-state.xml:
13279         * docs/pwg/building-testapp.xml:
13280           Update the building-*.xml parts for 0.9 changes. All examples
13281           code blocks compile in examples/pwg/*.
13282
13283 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13284
13285         * docs/manual/advanced-autoplugging.xml:
13286         * docs/manual/appendix-checklist.xml:
13287         * docs/manual/appendix-integration.xml:
13288         * docs/manual/highlevel-components.xml:
13289           Fix playbin/decodebin examples, update docs a bit, mention bus
13290           instead of signals in various places, mention kmplayer and
13291           kaffeine since they have a working GStreamer backend in the KDE
13292           section.
13293
13294 2005-06-30  Wim Taymans  <wim@fluendo.com>
13295
13296         * CHANGES-0.9:
13297         * docs/design/draft-ghostpads.txt:
13298         * docs/design/draft-push-pull.txt:
13299         * docs/design/draft-query.txt:
13300         * docs/design/part-TODO.txt:
13301         * docs/design/part-query.txt:
13302         Added CHANGES-0.9 doc, updated status of other docs.
13303         
13304         * gst/gstquery.h:
13305         Remove "hmm" macro
13306
13307 2005-06-30  Wim Taymans  <wim@fluendo.com>
13308
13309         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13310         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13311         (gst_base_sink_change_state):
13312         * gst/base/gstbasesink.h:
13313         Some tweaks, only EOS and a buffer complete a preroll.
13314
13315 2005-06-30  Andy Wingo  <wingo@pobox.com>
13316
13317         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13318         activate_push down to the internal pad as well.
13319
13320 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
13321
13322         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13323
13324         * gst/gsttaginterface.c:
13325           Some documentation fixes (#307394 and #307397).
13326
13327 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
13328
13329         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13330
13331         * gst/gstvalue.c: (gst_value_intersect_list):
13332           Fix memleak (#309125).
13333
13334 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13335
13336         * docs/manual/advanced-dataaccess.xml:
13337           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13338         * docs/manual/basics-pads.xml:
13339           Add reference for filtered caps to above chapter.
13340
13341 2005-06-30  Wim Taymans  <wim@fluendo.com>
13342
13343         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13344         (gst_bin_change_state):
13345         Probes are gone.
13346         Lame attempt at making the state change function a bit
13347         more readable.
13348
13349 2005-06-30  Wim Taymans  <wim@fluendo.com>
13350
13351         * docs/design/part-clocks.txt:
13352         * docs/design/part-element-sink.txt:
13353         * docs/design/part-events.txt:
13354         * docs/design/part-preroll.txt:
13355         * docs/design/part-states.txt:
13356         Some more tweeks and additions to the docs.
13357
13358 2005-06-30  Wim Taymans  <wim@fluendo.com>
13359
13360         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13361         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13362         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13363         (gst_pad_check_pull_range), (gst_pad_get_range),
13364         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13365         * gst/gstpad.h:
13366         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13367         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13368         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13369         (gst_pad_remove_buffer_probe):
13370         Removed atomic operations, use existing LOCK.
13371         Move exception handling out of main code path.
13372
13373 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13374
13375         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13376         (silly_return_true_function), (gst_pad_class_init),
13377         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13378         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13379         (gst_pad_send_event):
13380           Fix accumulator, add default value by using _emitv() instead
13381           of _emit() for signal emission.
13382
13383 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13384
13385         * docs/manual/advanced-dataaccess.xml:
13386         * examples/manual/Makefile.am:
13387           Add probe example.
13388         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13389           Make work (??).
13390
13391 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13392
13393         * gst/elements/gstfilesink.c: (gst_filesink_render):
13394           Simplify code so that we don't have to handle short
13395           writes and return GST_FLOW_ERROR if an error occured.
13396
13397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13398
13399         * docs/gst/gstreamer-docs.sgml:
13400           Remove probes more.
13401
13402 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13403
13404         * docs/gst/gstreamer-sections.txt:
13405         * docs/gst/tmpl/gstpad.sgml:
13406         * docs/gst/tmpl/gstprobe.sgml:
13407         * gst/Makefile.am:
13408         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13409         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13410         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13411         (gst_pad_push_event), (gst_pad_send_event):
13412         * gst/gstpad.h:
13413         * gst/gstutils.c: (gst_pad_add_data_probe),
13414         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13415         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13416         (gst_pad_remove_buffer_probe):
13417         * gst/gstutils.h:
13418           Remove old probes, add new g-signal-based probes and some utility
13419           functions.
13420
13421 2005-06-29  Edward Hervey  <edward@fluendo.com>
13422
13423         * gst/gstelementfactory.c:
13424         * gst/gstutils.h:
13425         * gst/gstutils.c:
13426         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13427         the definition to the header file.
13428
13429 2005-06-29  Andy Wingo  <wingo@pobox.com>
13430
13431         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13432         plugins from the source directory.
13433
13434 2005-06-29  Wim Taymans  <wim@fluendo.com>
13435
13436         * docs/gst/tmpl/gstbuffer.sgml:
13437         * docs/gst/tmpl/gstclock.sgml:
13438         Some fixings for blantently wrong text.
13439
13440 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * check/Makefile.am:
13443         * gst/gst.c: (add_path_func), (init_pre):
13444         * gst/gstregistry.c: (gst_registry_add_path):
13445           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13446           only scan the GST_PLUGIN_PATH locations, and not add
13447           system locations
13448
13449 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13450
13451         * docs/gst/gstreamer-sections.txt:
13452         * docs/gst/tmpl/gstbasesrc.sgml:
13453         * gst/gstelement.c:
13454         * gst/gstelement.h:
13455         * gst/gstevent.c:
13456         * gst/gstutils.c:
13457           doc fixes
13458
13459 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13460
13461         * docs/manual/advanced-autoplugging.xml:
13462           Fix autoplugging example.
13463
13464 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13465
13466         * docs/manual/advanced-autoplugging.xml:
13467         * docs/manual/mime-world.fig:
13468           Try to get autoplugging working, fix type detection. Fix text
13469           in hello-world image.
13470
13471 2005-06-29  Wim Taymans  <wim@fluendo.com>
13472
13473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13474         (gst_base_sink_change_state):
13475         Small debug line.
13476
13477         * gst/gstclock.h:
13478         map SIGNAL and BROADCAST to the right function.
13479
13480         * gst/gstobject.h:
13481         Remove redundant braces.
13482
13483         * gst/gstpad.c: (gst_pad_set_caps):
13484         Don't call setcaps function when reseting caps to NULL.
13485
13486         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13487         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13488         (gst_system_clock_id_unschedule):
13489         Use BROADCAST as this is what we do.
13490
13491 2005-06-29  Wim Taymans  <wim@fluendo.com>
13492
13493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13494         We are actually prerolling before commiting the state
13495         change. 
13496
13497 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13498
13499         * docs/manual/advanced-clocks.xml:
13500         * docs/manual/advanced-interfaces.xml:
13501         * docs/manual/advanced-metadata.xml:
13502         * docs/manual/advanced-position.xml:
13503         * docs/manual/advanced-schedulers.xml:
13504         * docs/manual/advanced-threads.xml:
13505         * docs/manual/appendix-porting.xml:
13506         * docs/manual/basics-bins.xml:
13507         * docs/manual/basics-bus.xml:
13508         * docs/manual/basics-elements.xml:
13509         * docs/manual/basics-helloworld.xml:
13510         * docs/manual/basics-pads.xml:
13511         * docs/manual/highlevel-components.xml:
13512         * docs/manual/manual.xml:
13513         * docs/manual/thread.fig:
13514           Update (until threads/scheduling) Application Development Manual;
13515           remove GstThread, add GstBus, add simple porting checklist, add
13516           documentation for tag writing, clocks, make all examples until this
13517           part compile and run.
13518         * examples/manual/Makefile.am:
13519           Update from changes to Application Development Manual; add bus
13520           example, remove thread example.
13521
13522 2005-06-28  Wim Taymans  <wim@fluendo.com>
13523
13524         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13525         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13526         (gst_bus_source_dispatch):
13527         Add debugging messages.
13528         Make internal methods static.
13529         Handle the case where the bus is flushed in the handler.
13530         
13531         * gst/gstelement.c: (gst_element_get_bus):
13532         Fix refcount in _get_bus();
13533
13534         * gst/gstpipeline.c: (gst_pipeline_change_state),
13535         (gst_pipeline_get_clock_func):
13536         Clock refcounting fixes.
13537         Handle the case where preroll timed out more gracefully.
13538         
13539         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13540         Clean up the internal thread in dispose. This is needed
13541         for subclasses that actually get disposed.
13542         
13543         * gst/schedulers/threadscheduler.c:
13544         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13545         (gst_thread_scheduler_dispose):
13546         Free thread pool in dispose.
13547
13548 2005-06-28  Andy Wingo  <wingo@pobox.com>
13549
13550         * tests/network-clock-utils.scm (debug, print-event): New utils.
13551
13552         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13553         (*packet-loss*): Unified loss probability.
13554         (network-time): Report out-of-band events.
13555
13556         * tests/plot-data: Add support for out-of-band events. Hack it
13557         into this script instead of passing it down the pipe; should fix
13558         this later.
13559
13560 2005-06-28  Wim Taymans  <wim@fluendo.com>
13561
13562         * docs/gst/gstreamer.types:
13563         * docs/gst/tmpl/gstbasesrc.sgml:
13564         * docs/gst/tmpl/gstpad.sgml:
13565         Docs fixes.
13566
13567 2005-06-28  Wim Taymans  <wim@fluendo.com>
13568
13569         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13570         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13571         (gst_proxy_pad_do_fixatecaps):
13572         Correctly proxy the check_pull_range function.
13573
13574 2005-06-28  Andy Wingo  <wingo@pobox.com>
13575
13576         * tests/network-clock.scm: Removed need for slib.
13577         
13578 2005-06-28  Wim Taymans  <wim@fluendo.com>
13579
13580         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13581         (gst_basesink_preroll_queue_flush):
13582         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13583         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13584         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13585         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13586         (gst_proxy_pad_set_property):
13587         * gst/gstpad.c:
13588         * gst/gstpad.h:
13589         * gst/gstqueue.c: (gst_queue_init):
13590         The deprecated pad loop function is removed now.
13591
13592 2005-06-28  Andy Wingo  <wingo@pobox.com>
13593
13594         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13595         New parameters, simulate network packet loss.
13596
13597         * tests/network-clock-utils.scm: Initialize the RNG.
13598
13599 2005-06-28  Wim Taymans  <wim@fluendo.com>
13600
13601         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13602         (gst_basesink_event), (gst_basesink_deactivate):
13603         Flushing the preroll queue always needs to unlock the waiters.
13604
13605 2005-06-28  Edward Hervey  <edward@fluendo.com>
13606
13607         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13608         Wheen a seek was successful on a pipeline, set the stream_time to the
13609         seek offset in order to have a synchronized stream_time.
13610
13611 2005-06-28  Wim Taymans  <wim@fluendo.com>
13612
13613         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13614         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13615         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13616         (gst_proxy_pad_do_fixatecaps):
13617         Call wrapper function instead of just calling the function
13618         pointers. This takes care of any locking and whatmore.
13619
13620 2005-06-28  Wim Taymans  <wim@fluendo.com>
13621
13622         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13623         (gst_pad_pull_range):
13624         * gst/gstpad.h:
13625         CONNECTED -> LINKED.
13626
13627 2005-06-28  Andy Wingo  <wingo@pobox.com>
13628
13629         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13630         source-munging commit!!!
13631
13632         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13633         (gst_object_sink): Take gpointer arguments, not GstObject --
13634         avoids casts. Like GLib.
13635
13636         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13637         activate.
13638
13639 2005-06-27  Andy Wingo  <wingo@pobox.com>
13640
13641         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13642         remaining buffer.
13643
13644         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13645         returns a sorted copy of the trace list.
13646         (gst_alloc_trace_print_live): New API, only prints traces with
13647         live objects. Sort the list.
13648         (gst_alloc_trace_print_all): Sort the list.
13649         (gst_alloc_trace_print): Align columns.
13650
13651         * gst/elements/gstttypefindelement.c:
13652         * gst/elements/gsttee.c:
13653         * gst/base/gstbasesrc.c:
13654         * gst/base/gstbasesink.c:
13655         * gst/base/gstbasetransform.c:
13656         * gst/gstqueue.c: Adapt for pad activation changes.
13657
13658         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13659         sched.
13660         (gst_pipeline_dispose): Drop ref on sched.
13661
13662         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13663         (gst_pad_activate_default): Push mode by default.
13664         (pre_activate_switch, post_activate_switch): New stubs, things to
13665         do before and after switching activation modes on pads.
13666         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13667         the pad's activate function to choose which mode to activate.
13668         Shortcut on deactivation and call the right function directly.
13669         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13670         mode.
13671         (gst_pad_activate_push): New API, same for push mode.
13672         (gst_pad_set_activate_function) 
13673         (gst_pad_set_activatepull_function) 
13674         (gst_pad_set_activatepush_function): Setters for new API.
13675
13676         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13677         Trace all miniobjects.
13678         (gst_mini_object_make_writable): Unref the arg if we copy, like
13679         gst_caps_make_writable.
13680
13681         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13682
13683         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13684         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13685         Adapt for new pad API.
13686
13687         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13688
13689         * gst/gstelement.h:
13690         * gst/gstelement.c (gst_element_iterate_src_pads) 
13691         (gst_element_iterate_sink_pads): New API functions.
13692         
13693         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13694         should fold into gstiterator.c in some form.
13695         (gst_element_pads_activate): Simplified via use of fold and
13696         delegation of decisions to gstpad->activate.
13697
13698         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13699         help in debugging.
13700
13701         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13702         class once in init, like gstmessage. Didn't run into this issue
13703         but it seems correct. Don't initialize a trace, gstminiobject does
13704         that.
13705
13706         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13707         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13708         to the bus.
13709         (assert_live_count): New util function, uses alloc traces to check
13710         cleanup.
13711
13712         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13713         To be modified when unlink drops the internal pad.
13714
13715 2005-06-27  Wim Taymans  <wim@fluendo.com>
13716
13717         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13718         (gst_bin_change_state):
13719         Cleanup the get_state() function a little, make sure it
13720         iterates the same set of elements.
13721         Added stub iterate_state_order().
13722
13723 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13724
13725         * docs/gst/gstreamer-docs.sgml:
13726         * docs/gst/gstreamer-sections.txt:
13727         * docs/gst/gstreamer.types:
13728         * docs/gst/tmpl/gstbasesink.sgml:
13729         * docs/gst/tmpl/gstbasesrc.sgml:
13730         * docs/gst/tmpl/gstbasetransform.sgml:
13731         * docs/gst/tmpl/gstelement.sgml:
13732         * docs/gst/tmpl/gstiterator.sgml:
13733         * gst/base/gstbasesrc.c:
13734         * gst/base/gstbasesrc.h:
13735         * gst/base/gstbasetransform.h:
13736         * gst/gstelement.c:
13737         * gst/gstiterator.h:
13738           adding basetransform and iterator docs
13739
13740 2005-06-27  Andy Wingo  <wingo@pobox.com>
13741
13742         * docs/design/part-activation.txt: Notes on how activation should
13743         work -- not quite implemented yet.
13744
13745 2005-06-25  Wim Taymans  <wim@fluendo.com>
13746
13747         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13748         At least get the chain function correct, needs more
13749         fixing.
13750
13751 2005-06-25  Wim Taymans  <wim@fluendo.com>
13752
13753         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13754         (gst_basesink_handle_object), (gst_basesink_event),
13755         (gst_basesink_do_sync), (gst_basesink_handle_event),
13756         (gst_basesink_change_state):
13757         * gst/gsttask.h:
13758         Right, two problems here: ghostpads don't take locks and
13759         glib _rec_mutex_lock_full() with depth==0 still locks.
13760         Catch illegal locking and g_warn them.
13761
13762 2005-06-25  Wim Taymans  <wim@fluendo.com>
13763
13764         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13765         Have to check for completion now...
13766
13767 2005-06-25  Wim Taymans  <wim@fluendo.com>
13768
13769         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13770         (gst_basesink_handle_object), (gst_basesink_event),
13771         (gst_basesink_do_sync), (gst_basesink_handle_event),
13772         (gst_basesink_change_state):
13773         * gst/gstpad.h:
13774         Unlock STREAM_LOCK whatever the recursion was.
13775
13776 2005-06-25  Wim Taymans  <wim@fluendo.com>
13777
13778         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13779         (gst_basesink_preroll_queue_empty),
13780         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13781         (gst_basesink_event), (gst_basesink_do_sync),
13782         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13783         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13784         (gst_basesink_change_state):
13785         Reworked the base sink, handle event and buffer serialisation
13786         correctly and removed possible deadlock.
13787         Handle EOS correctly.
13788
13789 2005-06-25  Wim Taymans  <wim@fluendo.com>
13790
13791         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13792         (gst_pipeline_change_state):
13793         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13794         Allow elements to post EOS in the state change function.
13795         Fix up -launch, make it exit the poll loop when the
13796         pipeline actually changed state.
13797         Fix up warning parsing in -launch.
13798
13799 2005-06-25  Wim Taymans  <wim@fluendo.com>
13800
13801         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13802         (gst_tee_sink_activate):
13803         Core takes STREAM_LOCK for us now.
13804
13805 2005-06-25  Wim Taymans  <wim@fluendo.com>
13806
13807         * gst/gstelement.c: (gst_element_get_state_func),
13808         (gst_element_set_state):
13809         * gst/gstelement.h:
13810         * gst/gstmessage.c: (gst_message_parse_error),
13811         (gst_message_parse_warning):
13812         Keep track of current target state while performing a state
13813         change so that subclasses can do something interesting.
13814         Fix parsing of warning/error messages when GError is NULL.
13815
13816 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * docs/gst/Makefile.am:
13819         * docs/gst/gstreamer-docs.sgml:
13820         * docs/gst/gstreamer-sections.txt:
13821         * docs/gst/gstreamer.types:
13822         * docs/gst/tmpl/gstbasesink.sgml:
13823         * docs/gst/tmpl/gstbasesrc.sgml:
13824         * docs/gst/tmpl/gstbin.sgml:
13825         * docs/gst/tmpl/gstcompat.sgml:
13826         * docs/gst/tmpl/gstfakesink.sgml:
13827         * docs/gst/tmpl/gstfakesrc.sgml:
13828         * docs/gst/tmpl/gstfilesink.sgml:
13829         * docs/gst/tmpl/gstfilesrc.sgml:
13830         * docs/gst/tmpl/gstindex.sgml:
13831         * docs/manual/appendix-quotes.xml:
13832         * gst/base/gstbasesrc.h:
13833         * gst/elements/gstfakesrc.h:
13834         * gst/gstmessage.h:
13835           start pulling in base classes and elements in our docs
13836
13837 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
13838
13839         * docs/gst/Makefile.am:
13840         * docs/libs/Makefile.am:
13841           fixed make distcheck with gtk-doc 1.3
13842
13843 2005-06-23  Wim Taymans  <wim@fluendo.com>
13844
13845         * gst/gstelement.c: (gst_element_get_state_func),
13846         (gst_element_set_state), (gst_element_change_state):
13847         When the state did not change, also report NO_PREROLL
13848         when it matters.
13849
13850 2005-06-23  Wim Taymans  <wim@fluendo.com>
13851
13852         * gst/gstpad.c: (gst_pad_event_default):
13853         * gst/gstqueue.c: (gst_queue_loop):
13854         No unsafe task pausing please.
13855
13856 2005-06-23  Wim Taymans  <wim@fluendo.com>
13857
13858         * gst/schedulers/threadscheduler.c:
13859         (gst_thread_scheduler_task_start),
13860         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13861         Ref the task before pushing it on the threadpool. This
13862         makes sure that we have a ref when the threadfunction is
13863         actually called.
13864
13865 2005-06-23  Andy Wingo  <wingo@pobox.com>
13866
13867         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13868         offset is greater than the file's size.
13869
13870         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
13871         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13872         * gst/gstobject.c (gst_object_class_init): Make the class lock
13873         recursive. Wim won't let me drop deep_notify. Decodebin works
13874         again, whoopdy doo.
13875
13876         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13877         internal pad, and hacks accordingly. Doesn't do it on the target
13878         pad because we change its caps. Probably catches all cases of
13879         interest tho.
13880         (gst_ghost_pad_set_property): Connect to notify::caps as
13881         appropritate.
13882
13883         * tests/network-clock.scm (plot-simulation): Pipe data to the
13884         elite python skript.
13885
13886         * tests/network-clock-utils.scm (define-parameter): New macro,
13887         defines a parameter that can be set via the command line.
13888         (set-parameter!, parse-parameter-arguments): Command line args
13889         parser.
13890
13891         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13892         stdin.
13893
13894 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13895
13896         * gst/elements/gsttypefindelement.c:
13897         (gst_type_find_element_handle_event):
13898           Don't restart typefinding on a discont.
13899         * gst/gstelement.c: (gst_element_set_state):
13900           Debug spelling fix.
13901         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13902           Allow changing mode of an active pad.
13903           Debug output fixes.
13904         * gst/registries/gstlibxmlregistry.c: (load_feature):
13905           Don't cast a static pad template to a normal pad template.
13906
13907 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13908
13909         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13910         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13911           remove gst_strtoll completely, since it didn't actually do
13912           anything more than what g_ascii_strtoull already does.
13913           check for range errors when deserializing
13914           do a cast for the unsigned cases; but further fixing needs
13915           a decision on what the interpretation of "(int)" and
13916           deserialization should be for values that fall outside the
13917           type's boundaries (ie, refuse, or interpret as casting)
13918
13919 2005-06-23  Wim Taymans  <wim@fluendo.com>
13920
13921         * check/Makefile.am:
13922         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13923         * docs/design/part-live-source.txt:
13924         * docs/design/part-states.txt:
13925         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13926         (gst_basesrc_set_live), (gst_basesrc_is_live),
13927         (gst_basesrc_get_range), (gst_basesrc_activate),
13928         (gst_basesrc_change_state):
13929         * gst/base/gstbasesrc.h:
13930         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13931         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13932         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13933         * gst/gstelement.c: (gst_element_get_state_func),
13934         (gst_element_set_state):
13935         * gst/gstelement.h:
13936         * gst/gsttypes.h:
13937         * tools/gst-launch.c: (event_loop), (main):
13938         Added support for live sources and other elements that
13939         cannot do preroll.
13940         Updated design docs, added live-source design doc.
13941         Implemented live source functionality in basesrc
13942         Fix error condition in _bin_get_state()
13943         Implement live source handling in -launch.
13944         Added check for live sources.
13945         Fixed case in GstBin where elements were changed state
13946         multiple times.
13947
13948
13949 2005-06-23  Andy Wingo  <wingo@pobox.com>
13950
13951         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13952         borken refcounting.
13953
13954         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13955         gst_caps_replace takes care of this for us.
13956
13957         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13958         gst_pad_set_caps on the target, not just its setcaps() function.
13959
13960         * tests/network-clock.scm: 
13961         * tests/network-clock-utils.scm: A network clock simulator.
13962         Something of an algorithmic testbed before doing something in C.
13963
13964 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * check/Makefile.am:
13967         * check/gst/capslist.h:
13968           copy over from 0.8, and add two with bitmasks specified with
13969           (int) 0xFF...
13970         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13971           add test to parse everything from capslist.h
13972         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13973         (main):
13974           add test for structure deserialization
13975         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13976           add tests for deserialization of strings to int types
13977         * gst/gststructure.c: (gst_structure_nth_field_name):
13978         * gst/gststructure.h:
13979           add a way to get the name of a field referenced by index
13980         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13981           instead of checking if the resulting long long lies between
13982           min and max, we check if the long long would fit into
13983           a number of bytes for the final type.
13984           This fixes cases where a string represents 2^32 - 1, which
13985           when cast to int would be the (valid) -1, but is bigger than
13986           G_MAXINT
13987
13988 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * gst/parse/grammar.y:
13991           add a log line for type deserialization
13992
13993 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * check/gst/gstvalue.c: (START_TEST):
13996         * gst/gstvalue.c: (gst_value_deserialize):
13997           return long long, not int, so gint64 deserialization actually
13998           works.  Is there any flag that makes the compiler check this ?
13999           Fixes #308559
14000
14001 2005-06-22  Wim Taymans  <wim@fluendo.com>
14002
14003         * gst/gstbuffer.h:
14004         Added convenience macros for setting buffers in GValue.
14005
14006 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * check/gst/.cvsignore:
14009         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14010           add a test deserializing int64, and comment part out because
14011           it fails, yay !
14012
14013 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14014
14015         * check/Makefile.am:
14016         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14017         * testsuite/Makefile.am:
14018         * testsuite/caps/Makefile.am:
14019         * testsuite/caps/value_serialize.c:
14020         * testsuite/test_gst_init.c:
14021           move a value_serialize test over
14022
14023 2005-06-20  Wim Taymans  <wim@fluendo.com>
14024
14025         * gst/gstpad.c:
14026         Small doc updates.
14027         
14028         * gst/gstvalue.c: (gst_value_compare_buffer),
14029         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14030         (gst_value_compare_flags), (gst_value_serialize_flags),
14031         (gst_value_deserialize_flags), (_gst_value_initialize):
14032         Fix serialisation of buffers, they are not boxed types anymore
14033
14034 2005-06-20  Wim Taymans  <wim@fluendo.com>
14035
14036         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14037         Testcase to show error in buffer-on-caps serialisation.
14038
14039 2005-06-20  Andy Wingo  <wingo@pobox.com>
14040
14041         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14042         will be adding to later.
14043
14044         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14045         if its socks fill with rocks.
14046         (gst_system_clock_obtain): Set the name on object construction.
14047         Avoid double-checked locking.
14048
14049 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14050
14051         * gst/gsturi.c: (gst_element_make_from_uri):
14052           Fix potential endless loop.
14053
14054 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14055
14056         * check/Makefile.am:
14057           add gsttag
14058         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14059         (main):
14060           move over from testsuite dir and clean up
14061         * configure.ac:
14062         * gst/gsttag.c:
14063         * testsuite/Makefile.am:
14064         * testsuite/tags/.cvsignore:
14065         * testsuite/tags/Makefile.am:
14066         * testsuite/tags/merge.c:
14067           remove testsuite/tags
14068
14069 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14070
14071         * docs/gst/gstreamer-sections.txt:
14072         * docs/gst/tmpl/gstenumtypes.sgml:
14073         * win32/gstenumtypes.c:
14074           clean up documentation build a little
14075
14076 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14077
14078         * check/gstcheck.h:
14079           add macros for checking refcounts on objects and caps
14080         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14081           add some more unit tests
14082         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14083         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14084           fix leaked refcounts (I hope :)) so unittest works
14085         * gst/gstpad.h:
14086           whitespace removal
14087
14088 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14089
14090         * configure.ac: back to HEAD
14091
14092 === release 0.9.1 ===
14093
14094 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14095
14096         * NEWS:
14097         * RELEASE:
14098           updated
14099
14100 2005-06-17  Andy Wingo  <wingo@pobox.com>
14101
14102         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14103         assert; it's always possible that the pad gets deactivated in
14104         between the checks in gstpad.c and the implementation. Rely on
14105         finish_preroll() to return a FLUSHING or similar instead of on the
14106         assert.
14107         
14108         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14109         clock and post an EOS message if we come out of finish_preroll in
14110         the playing state.
14111
14112 2005-06-16  David Schleef  <ds@schleef.org>
14113
14114         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14115         (gst_capsfilter_set_property): Allow NULL as possible value
14116         for filter_caps property, indicating GST_CAPS_ANY.
14117
14118 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14119
14120         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14121           fix debug output
14122         * gst/schedulers/Makefile.am:
14123           use libgst prefix
14124         * gstreamer.spec.in:
14125           fix spec for it
14126
14127 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * gstreamer.spec.in:
14130           clean up
14131
14132 2005-06-08  Andy Wingo  <wingo@pobox.com>
14133
14134         * gst/gstutils.c: RPAD fixes all around.
14135         (gst_element_link_pads): Refcounting fixes.
14136
14137         * tools/gst-inspect.c:
14138         * tools/gst-xmlinspect.c:
14139         * parse/grammar.y:
14140         * gst/base/gsttypefindhelper.c:
14141         * gst/base/gstbasesink.c:
14142         * gst/gstqueue.c: RPAD fixes.
14143
14144         * gst/gstghostpad.h:
14145         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14146         pads. The tricky thing is they provide both source and sink
14147         interfaces, since they proxy the internal pad for the external
14148         pad, and vice versa. Implement with lower-level ProxyPad objects,
14149         with the interior proxy pad as a child of the exterior ghost pad.
14150         Should write a doc on this.
14151         
14152         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14153         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14154         gst_object API.
14155         
14156         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14157         pads are real pads. No ghost pads in this file. Not documenting
14158         the myriad s/RPAD/PAD/ and REALIZE fixes.
14159         (gst_pad_class_init): Add properties for "direction" and
14160         "template". Both are construct-only, so they can't change during
14161         the life of the pad. Fixes properly deriving from GstPad.
14162         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14163         derived objects, just set properties when creating the objects via
14164         g_object_new.
14165         (gst_pad_get_parent): Implement as a function, return NULL if the
14166         parent is not an element.
14167         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14168         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14169         
14170         * gst/gstobject.c (gst_object_class_init): Make name a construct
14171         property. Don't set it in the object init.
14172
14173         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
14174         with UNKNOWN direction.
14175         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
14176         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
14177         (gst_element_remove_pad): Remove ghost-pad special cases.
14178         (gst_element_pads_activate): Remove rpad cruft.
14179
14180         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
14181         catch the pad's-parent-not-an-element case.
14182
14183         * gst/gst.h: Include gstghostpad.h.
14184
14185         * gst/gst.c (init_post): No more real, ghost pads.
14186
14187         * gst/Makefile.am: Add gstghostpad.[ch].
14188
14189         * check/Makefile.am:
14190         * check/gst/gstbin.c:
14191         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
14192         into a bin creates ghost pads, and that the refcounts are right.
14193         Partly moved from gstbin.c.
14194
14195 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14196
14197         * check/gst-libs/.cvsignore:
14198         * check/gst/.cvsignore:
14199         * check/pipelines/.cvsignore:
14200           ignore more
14201         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
14202         (START_TEST), (cleanup_suite), (main):
14203           add some tests related to cleanup after running pipelines
14204
14205 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14206
14207         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
14208           add a testsuite for GstBuffer
14209
14210 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14211
14212         * gst/gstminiobject.h:
14213           add defines for accessing the refcount
14214
14215 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
14216
14217         * Makefile.am: added support for html unit test coverage reports
14218
14219 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
14220
14221         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14222           Free existing caps if the capsfilter changes. Add a FIXME about
14223           setting those caps on the pads.
14224
14225         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
14226           Before adding a ghost pad to a parent bin, check that there isn't
14227           already one for the element on the bin. Prevents infinite recursion
14228           when using decodebin in parse pipelines. Andy says he'll rewrite the
14229           way this works anyway, so ignore the hack.
14230
14231 2005-06-02  Andy Wingo  <wingo@pobox.com>
14232
14233         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
14234         file size, pass it on to the type find helper.
14235
14236         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
14237         segment_start and segment_end properly according to the seek
14238         method. Segment_end is still a bit flaky because offset can be
14239         negative for CUR and END cases, but it takes -1 as an "unset"
14240         value.
14241
14242 2005-06-02  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
14245         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
14246         (gst_basesink_activate):
14247         * gst/base/gstbasesink.h:
14248         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14249         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14250         (gst_pad_query), (gst_pad_start_task):
14251         * gst/gstpad.h:
14252         * gst/gstqueue.c: (gst_queue_bufferalloc),
14253         (gst_queue_handle_sink_event), (gst_queue_chain):
14254         Bufferalloc: return GstFlowReturn to more accuratly report
14255         why allocation failed.
14256
14257 2005-06-02  Wim Taymans  <wim@fluendo.com>
14258
14259         * gst/gstpipeline.c: (gst_pipeline_send_event):
14260         Take snapshot of state without blocking.
14261
14262 2005-06-02  Wim Taymans  <wim@fluendo.com>
14263
14264         * docs/design/part-TODO.txt:
14265         * docs/design/part-caps.txt:
14266         * docs/design/part-clocks.txt:
14267         * docs/design/part-negotiation.txt:
14268         * docs/design/part-preroll.txt:
14269         Small doc updates 
14270
14271 2005-05-30  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/elements/gstidentity.c: (gst_identity_event),
14274         (gst_identity_transform), (gst_identity_get_property):
14275         Protect last_message property as it is accessed from
14276         multiple threads.
14277
14278 2005-05-30  Wim Taymans  <wim@fluendo.com>
14279
14280         * gst/gstelement.c: (gst_element_init),
14281         (gst_element_pads_activate), (gst_element_change_state):
14282         Slicker pad activation code.
14283
14284 2005-05-30  Wim Taymans  <wim@fluendo.com>
14285
14286         * gst/Makefile.am:
14287         * gst/gstelement.h:
14288         * gst/gstelementfactory.h:
14289         * gst/gsttypes.h:
14290         Move elementfactory methods to separate .h file.
14291
14292 2005-05-30  Wim Taymans  <wim@fluendo.com>
14293
14294         * docs/design/part-overview.txt:
14295         * gst/gstsystemclock.h:
14296         Small typo fixes, doc updates.
14297
14298 2005-05-30  Wim Taymans  <wim@fluendo.com>
14299
14300         * gst/gst.c: (gst_init_get_popt_table), (init_post),
14301         (init_popt_callback):
14302         Remove cpu-opt flag.
14303
14304 2005-05-30  Wim Taymans  <wim@fluendo.com>
14305
14306         * gst/gstbuffer.c: (gst_subbuffer_finalize),
14307         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14308         * gst/gstbuffer.h:
14309         Avoid typechecking in places where not needed.
14310         Added accessor for malloc_data.
14311
14312 2005-05-30  Wim Taymans  <wim@fluendo.com>
14313
14314         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14315         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14316         (gst_pad_configure_sink), (gst_pad_configure_src),
14317         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14318         (gst_pad_start_task):
14319         Propagate errors from _set_caps() in configure_src/sink
14320         functions instead of returning TRUE.
14321         FLUSH events can travel up and downstream
14322
14323
14324 2005-05-30  Wim Taymans  <wim@fluendo.com>
14325
14326         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14327         (gst_basesink_activate):
14328         Handle EOS in preroll.
14329
14330 2005-05-30  Wim Taymans  <wim@fluendo.com>
14331
14332         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14333         (gst_queue_loop), (gst_queue_handle_src_event):
14334         Remove old pieces of code
14335         Flushing the queue in an upstream event is a very bad idea.
14336
14337 2005-05-26  Andy Wingo  <wingo@pobox.com>
14338
14339         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14340         gst_value_set_mini_object so as to add a ref on the object (which
14341         will be removed when the value is unset).
14342
14343         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14344         arg type in ::handoff.
14345
14346         * gst/gstelement.c (gst_element_change_state): Also deactivate
14347         pads in READY->NULL, just in case the element didn't make it to
14348         PAUSED. Wingo tested, Wim approved.
14349
14350 2005-05-26  Wim Taymans  <wim@fluendo.com>
14351
14352         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14353         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14354         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14355         A flushing pad cannot be used to alloc_buffer from.
14356
14357 2005-05-26  Wim Taymans  <wim@fluendo.com>
14358
14359         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14360         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14361         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14362         (gst_bus_create_watch), (gst_bus_add_watch_full):
14363         * gst/gstbus.h:
14364         Implement a real GSource and use g_main_context_wakeup() to
14365         signal new messages instead of the socketpair.
14366
14367 2005-05-25  Wim Taymans  <wim@fluendo.com>
14368
14369         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14370         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14371         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14372         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14373         (gst_pad_send_event), (gst_pad_start_task):
14374         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14375         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14376         (gst_queue_sink_activate), (gst_queue_src_activate),
14377         (gst_queue_change_state):
14378         * gst/gstqueue.h:
14379         Fix state changes for non sinks. We now change sinks, then elements
14380         with unconnected srcpads, then the rest.
14381         More efficient queue unlocking in flush and state changes.
14382         Set the pad activate mode even if it does not have an activate
14383         function.
14384
14385 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14386
14387         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14388           Don't go in pull mode for non-seekable sources.
14389         * gst/elements/gsttypefindelement.h:
14390         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14391         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14392         (free_entry), (stop_typefinding),
14393         (gst_type_find_element_handle_event), (find_peek),
14394         (gst_type_find_element_chain), (do_pull_typefind),
14395         (gst_type_find_element_change_state):
14396           Allow typefinding (w/o seeking) in push-mode, simplified version
14397           of what was in 0.8.
14398         * gst/gstutils.c: (gst_buffer_join):
14399         * gst/gstutils.h:
14400           gst_buffer_join() from 0.8.
14401
14402 2005-05-25  Wim Taymans  <wim@fluendo.com>
14403
14404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14405         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14406         (gst_pad_send_event), (gst_pad_start_task):
14407         Disable attempt at mode switching until it is figured out.
14408
14409 2005-05-25  Wim Taymans  <wim@fluendo.com>
14410
14411         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14412         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14413         (gst_basesink_finish_preroll), (gst_basesink_chain),
14414         (gst_basesink_loop), (gst_basesink_activate),
14415         (gst_basesink_change_state):
14416         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14417         (gst_basesrc_get_range), (gst_basesrc_loop),
14418         (gst_basesrc_activate):
14419         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14420         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14421         (gst_real_pad_init), (gst_real_pad_set_property),
14422         (gst_real_pad_get_property), (gst_pad_set_active),
14423         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14424         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14425         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14426         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14427         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14428         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14429         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14430         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14431         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14432         (gst_pad_stop_task):
14433         * gst/gstpad.h:
14434         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14435         (gst_queue_loop), (gst_queue_src_activate):
14436         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14437         (gst_task_get_state):
14438         * gst/gsttask.h:
14439         * gst/schedulers/threadscheduler.c:
14440         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14441         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14442         in task function.
14443         Remove ACTIVE pad flag, use FLUSHING everywhere
14444         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14445         functions.
14446         Add locks around IS_FLUSHING when reading.
14447         Take STREAM lock in chain(), get_range() functions so plugins
14448         don't need to take it anymore.
14449         
14450
14451
14452 2005-05-25  Wim Taymans  <wim@fluendo.com>
14453
14454         * tools/gst-launch.c: (event_loop):
14455         Unref message after using its contents instead of
14456         before.
14457
14458 2005-05-24  Wim Taymans  <wim@fluendo.com>
14459
14460         * docs/design/draft-ghostpads.txt:
14461         * docs/design/draft-push-pull.txt:
14462         * docs/design/draft-query.txt:
14463         * docs/design/part-overview.txt:
14464         Docs updates, added general overview doc.
14465
14466 2005-05-21  David Schleef  <ds@schleef.org>
14467
14468         * docs/gst/tmpl/old/GstBin.sgml:
14469         * docs/gst/tmpl/old/GstBuffer.sgml:
14470         * docs/gst/tmpl/old/GstCaps.sgml:
14471         * docs/gst/tmpl/old/GstClock.sgml:
14472         * docs/gst/tmpl/old/GstCompat.sgml:
14473         * docs/gst/tmpl/old/GstData.sgml:
14474         * docs/gst/tmpl/old/GstElement.sgml:
14475         * docs/gst/tmpl/old/GstEvent.sgml:
14476         * docs/gst/tmpl/old/GstIndex.sgml:
14477         * docs/gst/tmpl/old/GstStructure.sgml:
14478         * docs/gst/tmpl/old/GstTag.sgml:
14479         * docs/gst/tmpl/old/cothreads.sgml:
14480         * docs/gst/tmpl/old/cothreads_compat.sgml:
14481         * docs/gst/tmpl/old/gettext.sgml:
14482         * docs/gst/tmpl/old/gobject2gtk.sgml:
14483         * docs/gst/tmpl/old/grammar.tab.sgml:
14484         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14485         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14486         * docs/gst/tmpl/old/gst_private.sgml:
14487         * docs/gst/tmpl/old/gstaggregator.sgml:
14488         * docs/gst/tmpl/old/gstarch.sgml:
14489         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14490         * docs/gst/tmpl/old/gstbufferstore.sgml:
14491         * docs/gst/tmpl/old/gstdata_private.sgml:
14492         * docs/gst/tmpl/old/gstdisksink.sgml:
14493         * docs/gst/tmpl/old/gstdisksrc.sgml:
14494         * docs/gst/tmpl/old/gstelementfactory.sgml:
14495         * docs/gst/tmpl/old/gstextratypes.sgml:
14496         * docs/gst/tmpl/old/gstfakesink.sgml:
14497         * docs/gst/tmpl/old/gstfakesrc.sgml:
14498         * docs/gst/tmpl/old/gstfdsink.sgml:
14499         * docs/gst/tmpl/old/gstfdsrc.sgml:
14500         * docs/gst/tmpl/old/gstfilesink.sgml:
14501         * docs/gst/tmpl/old/gstfilesrc.sgml:
14502         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14503         * docs/gst/tmpl/old/gstidentity.sgml:
14504         * docs/gst/tmpl/old/gstindexfactory.sgml:
14505         * docs/gst/tmpl/old/gstmarshal.sgml:
14506         * docs/gst/tmpl/old/gstmd5sink.sgml:
14507         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14508         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14509         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14510         * docs/gst/tmpl/old/gstpipefilter.sgml:
14511         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14512         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14513         * docs/gst/tmpl/old/gstshaper.sgml:
14514         * docs/gst/tmpl/old/gstspider.sgml:
14515         * docs/gst/tmpl/old/gstspideridentity.sgml:
14516         * docs/gst/tmpl/old/gststatistics.sgml:
14517         * docs/gst/tmpl/old/gsttee.sgml:
14518         * docs/gst/tmpl/old/gsttimecache.sgml:
14519         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14520         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14521         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14522         * docs/gst/tmpl/old/types.sgml:
14523           I didn't intend to add these or check them in.
14524
14525 2005-05-19  David Schleef  <ds@schleef.org>
14526
14527         * configure.ac: Use -no-common everywhere.  In a sane world, it
14528           would be the default in libtool, because without it, you can't
14529           build DLLs on Windows.
14530         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14531         * docs/gst/gstreamer-sections.txt:
14532         * docs/gst/tmpl/gstcpu.sgml:
14533         * docs/gst/tmpl/gstdata.sgml:
14534         * docs/gst/tmpl/gstthread.sgml:
14535
14536 2005-05-19  David Schleef  <ds@schleef.org>
14537
14538         * gst/gstminiobject.c: (gst_value_set_mini_object),
14539         (gst_value_take_mini_object), (gst_value_get_mini_object):
14540         * gst/gstminiobject.h: Add GValue set/get functions.
14541
14542 2005-05-19  Wim Taymans  <wim@fluendo.com>
14543
14544         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14545         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14546         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14547         * gst/gstbuffer.h:
14548         * gst/gstbus.c: (gst_bus_post):
14549         * gst/gstelement.c: (gst_element_get_random_pad):
14550         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14551         Make subbufer unref the parent in finalize.
14552         some more debugging info.
14553
14554
14555 2005-05-19  Wim Taymans  <wim@fluendo.com>
14556
14557         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14558         (gst_basesink_init), (gst_basesink_finalize),
14559         (gst_basesink_activate), (gst_basesink_change_state):
14560         Don't free preroll queue too early.
14561
14562 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14563
14564         * gst/Makefile.am:
14565         * gst/ROADMAP:
14566           Hi, I'm outdated. Please shoot me.
14567
14568 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14569
14570         * gst/gstpipeline.c: (gst_pipeline_send_event):
14571           Do not access variables after they have been deleted.
14572
14573 2005-05-19  Wim Taymans  <wim@fluendo.com>
14574
14575         * tools/gst-inspect.c: (print_plugin_features):
14576         A plugin feature does unfortunatly not use the
14577         object name yet...
14578
14579 2005-05-18  Wim Taymans  <wim@fluendo.com>
14580
14581         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14582         Port _span() functions to new subbuffers.
14583
14584 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14585
14586         * gst/gstbin.c: (gst_bin_add_func):
14587           Fix clock settery in bins when adding kids after the clock has
14588           been selected.
14589
14590 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14591
14592         * gst/elements/gstidentity.c: (gst_identity_class_init):
14593           Workaround until signals support GstMiniObject.
14594
14595 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14596
14597         * gst/gstbuffer.c:
14598         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14599
14600 2005-05-18  Wim Taymans  <wim@fluendo.com>
14601
14602         * gst/base/Makefile.am:
14603         * gst/base/gstadapter.c: (gst_adapter_base_init),
14604         (gst_adapter_class_init), (gst_adapter_init),
14605         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14606         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14607         (gst_adapter_flush), (gst_adapter_available),
14608         (gst_adapter_available_fast):
14609         * gst/base/gstadapter.h:
14610         Ported and added adapter to the base classes.
14611
14612 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14613
14614         * gst/gst.c:
14615         * gst/gstmessage.c:
14616           Make sure the class is reffed/unreffed once before threads can be
14617           used.  Fixes #304551.
14618
14619 2005-05-17  Wim Taymans  <wim@fluendo.com>
14620
14621         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14622         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14623         * gst/gstminiobject.c: (gst_mini_object_get_type),
14624         (gst_mini_object_free):
14625         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14626         (gst_pad_push), (gst_pad_push_event):
14627         * gst/gstqueue.c: (gst_queue_change_state):
14628         Don't queue buffers in basesink when we are flushing.
14629         Unref buffer when flushing in basesink.
14630         Flush queue when going to READY
14631         Unref buffer when _push() returns an error.
14632         Don't free MiniObject instance when refcount is incremented
14633         in _finalize() so that we can recover objects.
14634
14635 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14636
14637         * docs/manual/advanced-schedulers.xml:
14638         * docs/manual/appendix-checklist.xml:
14639         * docs/pwg/advanced-clock.xml:
14640         * docs/pwg/advanced-interfaces.xml:
14641         * docs/pwg/advanced-request.xml:
14642         * docs/pwg/advanced-types.xml:
14643         * docs/pwg/intro-preface.xml:
14644         * examples/plugins/example.c: (gst_example_get_type),
14645         (gst_example_class_init), (gst_example_chain),
14646         (gst_example_set_property), (gst_example_get_property),
14647         (gst_example_change_state), (plugin_init):
14648         * examples/plugins/example.h:
14649           small doc fixes
14650
14651 2005-05-17  Wim Taymans  <wim@fluendo.com>
14652
14653         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14654         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14655         * gst/gstqueue.c: (gst_queue_change_state):
14656         Clear queue when going to READY.
14657         Remove IN_SETCAPS flag too.
14658
14659 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14660
14661         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14662           Remove implicit cast from gboolean to GstElementStateReturn;
14663           make sure we still return failure in paused => ready case if
14664           the parent class fails to change state and our own stop 
14665           vfunc succeeds.
14666
14667 2005-05-17  Wim Taymans  <wim@fluendo.com>
14668
14669         * tools/gst-launch.c: (event_loop):
14670         Message was unreffed too soon.
14671
14672 2005-05-16  Andy Wingo  <wingo@pobox.com>
14673
14674         * gst/gstbin.c (sink_iterator_filter): Err... um...
14675
14676         * check/gst/gstbin.c (test_ghost_pads): New test for the
14677         ghosting-if-elements-not-in-same-bin behavior.
14678
14679 2005-05-16  David Schleef  <ds@schleef.org>
14680
14681         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14682         accessing refcount directly.
14683
14684 2005-05-15  David Schleef  <ds@schleef.org>
14685
14686         * check/Makefile.am: remove GstData checks
14687         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14688         * gst/Makefile.am: add miniobject, remove data
14689         * gst/gst.h: add miniobject, remove data
14690         * gst/gstdata.c: remove
14691         * gst/gstdata.h: remove
14692         * gst/gstdata_private.h: remove
14693         * gst/gsttypes.h: remove GstEvent and GstMessage
14694         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14695         * gst/gstmarshal.list: change BOXED -> OBJECT
14696
14697         Implement GstMiniObject.
14698         * gst/gstminiobject.c:
14699         * gst/gstminiobject.h:
14700
14701         Modify to be subclasses of GstMiniObject.
14702         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14703         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14704         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14705         (gst_subbuffer_get_type), (gst_subbuffer_init),
14706         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14707         (gst_buffer_span):
14708         * gst/gstbuffer.h:
14709         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14710         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14711         (_gst_event_copy), (gst_event_new):
14712         * gst/gstevent.h:
14713         * gst/gstmessage.c: (_gst_message_initialize),
14714         (gst_message_get_type), (gst_message_class_init),
14715         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14716         (gst_message_new), (gst_message_new_error),
14717         (gst_message_new_warning), (gst_message_new_tag),
14718         (gst_message_new_state_changed), (gst_message_new_application):
14719         * gst/gstmessage.h:
14720         * gst/gstprobe.c: (gst_probe_perform),
14721         (gst_probe_dispatcher_dispatch):
14722         * gst/gstprobe.h:
14723         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14724         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14725         (_gst_query_copy), (gst_query_new):
14726
14727         Update elements for GstData -> GstMiniObject changes
14728         * gst/gstquery.h:
14729         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14730         (gst_queue_chain), (gst_queue_loop):
14731         * gst/elements/gstbufferstore.c:
14732         (gst_buffer_store_add_buffer_func),
14733         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14734         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14735         (gst_fakesink_render):
14736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14737         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14738         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14739         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14740         (gst_filesrc_create_read):
14741         * gst/elements/gstidentity.c: (gst_identity_class_init):
14742         * gst/elements/gsttypefindelement.c:
14743         (gst_type_find_element_src_event), (free_entry_buffers),
14744         (gst_type_find_element_handle_event):
14745         * libs/gst/dataprotocol/dataprotocol.c:
14746         (gst_dp_header_from_buffer):
14747         * libs/gst/dataprotocol/dataprotocol.h:
14748         * libs/gst/dataprotocol/dp-private.h:
14749
14750 2005-05-15  David Schleef  <ds@schleef.org>
14751
14752         * gst/elements/gstelements.c: Don't include headers that were
14753         just removed.
14754
14755 2005-05-15  David Schleef  <ds@schleef.org>
14756
14757         * gst/elements/Makefile.am: Remove some elements that don't
14758         need to be in the core (or even exist at all).
14759         * gst/elements/gstaggregator.c:
14760         * gst/elements/gstaggregator.h:
14761         * gst/elements/gstmd5sink.c:
14762         * gst/elements/gstmd5sink.h:
14763         * gst/elements/gstmultifilesrc.c:
14764         * gst/elements/gstmultifilesrc.h:
14765         * gst/elements/gstpipefilter.c:
14766         * gst/elements/gstpipefilter.h:
14767         * gst/elements/gstshaper.c:
14768         * gst/elements/gstshaper.h:
14769         * gst/elements/gststatistics.c:
14770         * gst/elements/gststatistics.h:
14771         * po/POTFILES.in: Remove above files.
14772
14773 2005-05-14  Andy Wingo  <wingo@pobox.com>
14774
14775         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14776         so as to get the refs right.
14777         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14778         unreffing objects that don't pass the filter.
14779
14780         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14781         gst_element_set_bus.
14782         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14783         normal cases, this will destroy the bus.
14784
14785         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14786         object.
14787
14788         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14789         has no sinks.
14790
14791 2005-05-13  Andy Wingo  <wingo@pobox.com>
14792
14793         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14794         gst_pad_link, call pad_link_maybe_ghosting,
14795         (pad_link_maybe_ghosting): Links pads, making sure that the
14796         elements being linked are in the same bin.
14797         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14798         Helpers for pad_link_maybe_ghosting.
14799
14800 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14801
14802         * configure.ac:
14803           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14804
14805 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14806
14807         * docs/design/part-element-source.txt:
14808           Mention GstPushSrc
14809
14810 2005-05-12  Wim Taymans  <wim@fluendo.com>
14811
14812         * gst/base/gstbasesink.c: (gst_basesink_init),
14813         (gst_basesink_activate):
14814         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14815         (gst_basesrc_is_seekable):
14816         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14817         (bin_element_is_sink), (gst_bin_change_state):
14818         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14819         * gst/gstelement.h:
14820         Identify sinks by their flag to avoid overly complicated
14821         checks (fow now).
14822         Do state changes even for elements not reachable from the
14823         sinks.
14824         BaseSink is a sink now :)
14825         Some more debugging info in the basesrc.
14826
14827
14828 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14829
14830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14831           Implement _query on a bin, similar to _send_event.
14832
14833 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14834
14835         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14836           Discont event offset format should be GST_FORMAT_BYTES,
14837           not GST_FORMAT_TIME.
14838
14839 2005-05-12  Wim Taymans  <wim@fluendo.com>
14840
14841         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14842         Same fix as Ronald's but without the signal. 
14843
14844 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14845
14846         * gst/gstutils.c: (gst_element_query_position):
14847           No, an element is not a pad.
14848
14849 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14850
14851         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14852         (gst_bin_get_state):
14853           If a child is removed from a bin while we remove the child from
14854           the bin and while we're retrieving its state, signal this to the
14855           get_state function so we abort the wait (instead of waiting for
14856           a timeout) and can immediately re-iterate over all other elements.
14857
14858 2005-05-12  Wim Taymans  <wim@fluendo.com>
14859
14860         * gst/base/Makefile.am:
14861         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14862         (gst_basesrc_start):
14863         * gst/base/gstbasesrc.h:
14864         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14865         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14866         (gst_pushsrc_init), (gst_pushsrc_create):
14867         * gst/base/gstpushsrc.h:
14868         Added is_seekable to BaseSrc
14869         Added simple PushSrc.
14870
14871 2005-05-11  Wim Taymans  <wim@fluendo.com>
14872
14873         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14874         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14875         (gst_element_link_pads), (gst_element_query_position),
14876         (gst_element_query_convert), (intersect_caps_func),
14877         (gst_pad_query_position), (gst_pad_query_convert):
14878         Fix refcounting in utils function.
14879         No point in trying to activate a pad when it's added, it could
14880         be added from the state change function and then we deadlock, the
14881         element has to decide what to do.
14882
14883 2005-05-10  Andy Wingo  <wingo@pobox.com>
14884
14885         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14886         *all* the arguments.
14887
14888         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14889         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14890         lock (according to the docs -- if this is wrong change the docs).
14891
14892         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14893         flush messages in the NULL state.
14894
14895         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14896         message immediately and return.
14897         (gst_bus_set_flushing): New function. If a bus is flushing, it
14898         flushes out any queued messages and immediately unrefs new
14899         messages. This is so when an element goes to NULL, all of the
14900         unhandled messages coming from it can be freed, and their
14901         references to the element dropped. In other words: message source
14902         ref considered harmful :P
14903
14904         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14905         we're finished with it.
14906
14907         * gst/gstmessage.c (gst_message_new_state_changed): 
14908
14909 2005-05-10  Wim Taymans  <wim@fluendo.com>
14910
14911         * gst/gstvalue.c: (gst_value_compare_flags),
14912         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14913         (_gst_value_initialize):
14914         Added flags serialize/deserialize/compare code.
14915
14916 2005-05-09  Andy Wingo  <wingo@pobox.com>
14917
14918         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14919         Intersect the peer's caps with our caps.
14920
14921 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14922
14923         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14924         * gst/elements/gsttypefindelement.c: (find_peek):
14925           Handle negative offsets better. Fixes decodebin.
14926
14927 2005-05-09  Wim Taymans  <wim@fluendo.com>
14928
14929         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14930         (gst_base_transform_event):
14931         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14932         Implement accept_caps.
14933         Fix silly lock/unlock mismatch in base class.
14934
14935 2005-05-09  Wim Taymans  <wim@fluendo.com>
14936
14937         * docs/design/draft-push-pull.txt:
14938         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14939         * gst/elements/gstfilesink.c: (gst_filesink_init),
14940         (gst_filesink_query):
14941         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14942         (gst_type_find_handle_src_query), (find_element_get_length):
14943         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14944         * gst/gstelement.h:
14945         * gst/gstmessage.c:
14946         * gst/gstmessage.h:
14947         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14948         (gst_real_pad_get_caps_unlocked),
14949         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14950         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14951         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14952         (gst_real_pad_dispose), (gst_real_pad_finalize),
14953         (gst_pad_load_and_link), (gst_pad_save_thyself),
14954         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14955         (gst_pad_check_pull_range), (gst_pad_pull_range),
14956         (gst_pad_template_get_type), (gst_pad_template_class_init),
14957         (gst_pad_template_init), (gst_pad_template_dispose),
14958         (name_is_valid), (gst_static_pad_template_get),
14959         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14960         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14961         (gst_pad_get_element_private), (gst_pad_start_task),
14962         (gst_pad_pause_task), (gst_pad_stop_task),
14963         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14964         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14965         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14966         (gst_ghost_pad_new):
14967         * gst/gstpad.h:
14968         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14969         (gst_query_new_position), (gst_query_set_position),
14970         (gst_query_parse_position), (gst_query_new_convert),
14971         (gst_query_set_convert), (gst_query_parse_convert):
14972         * gst/gstquery.h:
14973         * gst/gstqueryutils.c:
14974         * gst/gstqueryutils.h:
14975         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14976         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14977         (gst_queue_handle_src_query):
14978         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14979         (gst_element_query_position), (gst_element_query_convert),
14980         (intersect_caps_func), (gst_pad_query_position),
14981         (gst_pad_query_convert):
14982         * gst/gstutils.h:
14983         * tools/gst-inspect.c: (print_pad_info):
14984         * tools/gst-xmlinspect.c: (print_element_info):
14985         Remove old query functions. Ported old code.
14986         Added position/convert helper functions to gstutils.
14987         Reordered gstpad.c code, grouping relevant things.
14988         Remove gst_message_new(), always need to speficy a specific
14989         message.
14990
14991
14992 2005-05-09  Andy Wingo  <wingo@pobox.com>
14993
14994         * gst/gstiterator.h: Add some includes.
14995
14996         * gst/gstqueryutils.h: Include more headers.
14997
14998         * gst/gstpad.h:
14999         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15000         some uses of gst_pad_query.
15001
15002         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15003         NULL out parameters.
15004         (gst_query_new_position): New proc, allocates a new position
15005         query.
15006
15007         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15008         gstqueryutils.c to the build.
15009
15010         * gst/gststructure.c (gst_structure_set_valist): Implement with
15011         the generic G_VALUE_COLLECT.
15012         
15013 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15014
15015         * gst/Makefile.am: (gst_headers):
15016         Added gstqueryutils.h to the list of headers to install, that was
15017         a 'nachty' move wingo :)
15018
15019 2005-05-06  Andy Wingo  <wingo@pobox.com>
15020
15021         * gst/gstquery.h
15022         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15023         GstData, init a memchunk.
15024         (standard_definitions): Add a few query types, deprecate a few.
15025         (gst_query_get_type): New proc.
15026         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15027         implementation.
15028         (gst_query_new_application, gst_query_get_structure): New public
15029         procs.
15030
15031         * docs/design/draft-query.txt: Removed LINKS from the query types,
15032         because all the rest can be dispatched to other pads -- seemed
15033         ugly to have a query that couldn't be dispatched. internal_links
15034         is fine as a pad method.
15035
15036         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15037         in gstpad.c, but maintain binary compatibility for the moment.
15038         Will fix before 0.9 is out.
15039
15040         * gst/gstqueryutils.c: 
15041         * gst/gstqueryutils.h: New files, implement 3 methods for each
15042         query type: parse_query, parse_response, and set. Probably need an
15043         allocator as well.
15044
15045         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15046
15047         * gst/elements/gstfilesink.c (gst_filesink_query2):
15048         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15049         query_types, and formats methods.
15050
15051         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15052         (gst_pad_set_query2_function): New functions.
15053         (gst_real_pad_init): Set query2_default as the default query2
15054         function. Basically just dispatches to internally linked pads.
15055
15056         Needs review!
15057         
15058         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15059         without using the atomic operations. Only one thread can possibly
15060         be accessing the data at this point. Changed so as to avoid
15061         gst_atomic operations.
15062
15063 2005-05-06  Wim Taymans  <wim@fluendo.com>
15064
15065         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15066         Also set caps if we use the fallback buffer alloc.
15067
15068 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15069
15070         * docs/gst/Makefile.am:
15071         * docs/gst/gstreamer-docs.sgml:
15072         * docs/gst/gstreamer-sections.txt:
15073         * docs/gst/tmpl/gstatomic.sgml:
15074         * docs/gst/tmpl/gstmemchunk.sgml:
15075         * testsuite/elements/struct_i386.h:
15076         * win32/GStreamer.vcproj:
15077         * win32/Makefile:
15078           Purge GstAtomic stuff from docs and win32 makefiles as well
15079
15080 2005-05-06  Wim Taymans  <wim@fluendo.com>
15081
15082         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15083         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15084         * gst/gstpad.c: (gst_pad_peer_get_caps):
15085         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15086         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15087         (gst_queue_src_activate), (gst_queue_change_state):
15088         * gst/gstqueue.h:
15089         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15090         (intersect_caps_func):
15091         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15092         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15093         Some fixes for the peer_get_caps() change.
15094
15095 2005-05-06  Wim Taymans  <wim@fluendo.com>
15096
15097         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15098         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15099         (gst_basesink_activate):
15100         Actually do something with error codes returned from the push
15101         functions.
15102
15103 2005-05-06  Wim Taymans  <wim@fluendo.com>
15104
15105         * docs/design/part-element-sink.txt:
15106         * docs/design/part-element-source.txt:
15107         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15108         (gst_basesink_event), (gst_basesink_activate):
15109         * gst/base/gstbasesink.h:
15110         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15111         (gst_basesrc_activate):
15112         * gst/base/gstbasesrc.h:
15113         * gst/gstelement.c: (gst_element_pads_activate):
15114         Some more documentation.
15115         Fixed scheduling decision in _pads_activate().
15116
15117 2005-05-05  Andy Wingo  <wingo@pobox.com>
15118
15119         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15120         the test suite.
15121
15122 2005-05-05  Wim Taymans  <wim@fluendo.com>
15123
15124         * gst/base/Makefile.am:
15125         * gst/base/gstbasesink.h:
15126         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15127         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15128         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15129         (gst_collectpads_class_init), (gst_collectpads_init),
15130         (gst_collectpads_finalize), (gst_collectpads_new),
15131         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15132         (find_pad), (gst_collectpads_remove_pad),
15133         (gst_collectpads_is_active), (gst_collectpads_collect),
15134         (gst_collectpads_collect_range), (gst_collectpads_start),
15135         (gst_collectpads_stop), (gst_collectpads_peek),
15136         (gst_collectpads_pop), (gst_collectpads_available),
15137         (gst_collectpads_read), (gst_collectpads_flush),
15138         (gst_collectpads_chain):
15139         * gst/base/gstcollectpads.h:
15140         * gst/elements/Makefile.am:
15141         * gst/elements/gstelements.c:
15142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15143         (gst_fakesink_get_times), (gst_fakesink_event),
15144         (gst_fakesink_preroll), (gst_fakesink_render):
15145         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15146         (gst_filesink_init), (gst_filesink_set_location),
15147         (gst_filesink_open_file), (gst_filesink_close_file),
15148         (gst_filesink_pad_query), (gst_filesink_event),
15149         (gst_filesink_render), (gst_filesink_change_state):
15150         * gst/elements/gstfilesink.h:
15151         Added object to help in making collect pad based elements.
15152         Ported filesink.
15153         Make event function in sink baseclass return gboolean.
15154
15155 2005-05-05  Wim Taymans  <wim@fluendo.com>
15156
15157         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15158         (gst_bin_get_by_name):
15159         * gst/gstbuffer.h:
15160         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15161         (gst_clock_finalize):
15162         * gst/gstdata.c: (gst_data_replace):
15163         * gst/gstdata.h:
15164         * gst/gstelement.c: (gst_element_request_pad),
15165         (gst_element_pads_activate):
15166         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15167         (gst_object_unref):
15168         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15169         (gst_pad_set_checkgetrange_function),
15170         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
15171         (gst_pad_check_pull_range), (gst_pad_pull_range),
15172         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15173         (gst_pad_pause_task), (gst_pad_stop_task):
15174         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15175         (gst_element_request_pad), (gst_pad_proxy_getcaps):
15176         Fix name lookup in GstBin.
15177         Added _data_replace() function and _buffer_replace()
15178         Use finalize method to clean up clock.
15179         Fix refcounting on request pads.
15180         Fix pad schedule mode error.
15181         Some more object refcounting debug info,
15182
15183
15184 2005-05-04  Andy Wingo <wingo@pobox.com>
15185
15186         * check/Makefile.am:
15187         * docs/gst/tmpl/gstatomic.sgml:
15188         * docs/gst/tmpl/gstplugin.sgml:
15189         * gst/base/gstbasesink.c: (gst_basesink_activate):
15190         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
15191         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
15192         (gst_basesrc_query), (gst_basesrc_set_property),
15193         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
15194         (gst_basesrc_activate):
15195         * gst/base/gstbasesrc.h:
15196         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
15197         (gst_base_transform_src_activate):
15198         * gst/elements/gstelements.c:
15199         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15200         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15201         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15202         * gst/elements/gsttypefindelement.c: (find_element_get_length),
15203         (gst_type_find_element_checkgetrange),
15204         (gst_type_find_element_activate):
15205         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
15206         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
15207         (gst_caps_load_thyself):
15208         * gst/gstelement.c: (gst_element_pads_activate),
15209         (gst_element_save_thyself), (gst_element_restore_thyself):
15210         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
15211         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
15212         * gst/gstpad.h:
15213         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
15214         (gst_xml_parse_file), (gst_xml_parse_memory),
15215         (gst_xml_get_element), (gst_xml_make_element):
15216         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15217         (_file_index_id_save_xml), (gst_file_index_commit):
15218         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
15219         (read_enum), (load_pad_template), (load_feature), (load_plugin),
15220         (load_paths):
15221         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
15222         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
15223         * tools/gst-complete.c: (main):
15224         * tools/gst-compprep.c: (main):
15225         * tools/gst-inspect.c: (print_element_properties_info):
15226         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
15227         * tools/gst-xmlinspect.c: (print_element_properties):
15228         GCC 4 fixen.
15229         
15230 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15231
15232         * gst/gstplugin.c: (gst_plugin_check_module),
15233         (gst_plugin_check_file), (gst_plugin_load_file):
15234             apply patch from #172526 to make register work on MacOSX
15235
15236 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15237
15238         * docs/gst/tmpl/gstconfig.sgml:
15239         * gst/gstconfig.h.in:
15240           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
15241         * testsuite/debug/printf_extension.c: (main):
15242           Do not use GST_PTR_FORMAT on pointers to types with
15243           sizeof < sizeof(gpointer).  Fixes test on 64-bit
15244         * testsuite/elements/property.h:
15245           use correct printf format
15246
15247 2005-05-02  Wim Taymans  <wim@fluendo.com>
15248
15249         * docs/design/draft-push-pull.txt:
15250         * docs/design/draft-query.txt:
15251         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
15252         (gst_basesrc_start):
15253         Added draft for new query API.
15254         Added draft for better selecting scheduling methods.
15255         Make basesrc ignore length if the subclass does not support
15256         it.
15257
15258 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15259
15260         * gst/Makefile.am:
15261           possible fixes for automake-1.5 - _LIBADD is reserved
15262
15263 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15264
15265         * docs/faq/Makefile.am:
15266         * docs/manual/Makefile.am:
15267         * docs/manuals.mak:
15268         * docs/pwg/Makefile.am:
15269         * gst/Makefile.am:
15270           possible fixes for automake-1.5
15271
15272 2005-04-28  Wim Taymans  <wim@fluendo.com>
15273
15274         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15275         (gst_basesink_pad_getcaps), (gst_basesink_init),
15276         (gst_basesink_do_sync):
15277         * gst/gstclock.c: (gst_clock_entry_new):
15278         * gst/gstevent.c: (gst_event_discont_get_value):
15279         * gst/gstpipeline.c: (pipeline_bus_handler),
15280         (gst_pipeline_change_state):
15281         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15282         Better debugging of clocking info.
15283         Allow NULL values when getting discont values.
15284
15285 2005-04-27  Wim Taymans  <wim@fluendo.com>
15286
15287         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15288         * check/gst/gstpad.c: (gst_pad_suite):
15289         Increase timeout for checks.
15290
15291 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15292
15293         * check/Makefile.am:
15294           fix the broken rule for cleanup.  Apparently this rule is
15295           only needed on FC2, so maybe this warrants further autotool
15296           inspection.
15297
15298 2005-04-26  Wim Taymans  <wim@fluendo.com>
15299
15300         * gst/gsttrashstack.h:
15301         Ooohh. a nasty one! After having a failed pop() from the stack,
15302         it's possible that the stack is empty. In that case, don't
15303         follow the NULL pointer.
15304
15305 2005-04-25  Wim Taymans  <wim@fluendo.com>
15306
15307         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15308         (gst_pad_set_checkgetrange_function),
15309         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15310         (gst_pad_check_pull_range), (gst_pad_pull_range),
15311         (gst_static_pad_template_get_caps), (gst_pad_start_task),
15312         (gst_pad_pause_task), (gst_pad_stop_task):
15313         * gst/gstplugin.c: (gst_plugin_load):
15314         * gst/gstplugin.h:
15315         Remove gst_library_load as it does more harm than good with
15316         the new g_module flags.
15317         Revert bogus caps template check in pad linking, pad caps
15318         are important when linking not the template, which is more
15319         general than the current caps.
15320
15321 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15322
15323         * gst/autoplug/.cvsignore:
15324         * gst/autoplug/Makefile.am:
15325         * gst/autoplug/gstsearchfuncs.c:
15326         * gst/autoplug/gstsearchfuncs.h:
15327         * gst/autoplug/gstspider.c:
15328         * gst/autoplug/gstspider.h:
15329         * gst/autoplug/gstspideridentity.c:
15330         * gst/autoplug/gstspideridentity.h:
15331         * gst/autoplug/spidertest.c:
15332           Die, spider, die.
15333
15334 2005-04-25  Wim Taymans  <wim@fluendo.com>
15335
15336         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15337         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15338         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15339         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15340         * gst/gstpad.h:
15341         Added stubs for unimplemented functions. 
15342
15343 2005-04-24  David Schleef  <ds@schleef.org>
15344
15345         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15346         please fix.
15347
15348 2005-04-24  David Schleef  <ds@schleef.org>
15349
15350         Convert everything from GstAtomicInt to g_atomic_int_*, and
15351         remove gstatomic.
15352         * gst/Makefile.am:
15353         * gst/gstatomic.c:
15354         * gst/gstatomic.h:
15355         * gst/gstatomic_impl.h:
15356         * gst/gstbuffer.c:
15357         * gst/gstcaps.c:
15358         * gst/gstcaps.h:
15359         * gst/gstclock.c:
15360         * gst/gstclock.h:
15361         * gst/gstdata.c:
15362         * gst/gstdata.h:
15363         * gst/gstdata_private.h:
15364         * gst/gstevent.c:
15365         * gst/gstinfo.c:
15366         * gst/gstinfo.h:
15367         * gst/gstmessage.c:
15368         * gst/gstobject.c:
15369         * gst/gstobject.h:
15370         * gst/gststructure.c:
15371         * gst/gststructure.h:
15372         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15373         * gst/gstutils.h:
15374
15375 2005-04-24  David Schleef  <ds@schleef.org>
15376
15377         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15378         make the regressions tests work.  Remove some code that is no
15379         longer true.
15380         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15381         Disable warning for pads without templates.
15382
15383 2005-04-24  David Schleef  <ds@schleef.org>
15384
15385         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15386         functions that handle filtered links.
15387         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15388         removed functions.
15389         * gst/gstutils.c: Fix/remove utility functions that handle
15390         filtered caps.
15391         * gst/gstutils.h:
15392         * gst/gstvalue.c: Add serialization/deserialization of caps
15393         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15394         requires fixing so that the filter caps notation creates
15395         a capsfilter element and sets the filter_caps property.  I
15396         think everyone probably wants to keep the shorthand notation.
15397         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15398         * docs/gst/tmpl/gstpad.sgml:
15399
15400         * gst/elements/gstelements.c: Register capsfilter element.
15401         * gst/Makefile.am: fix spacing
15402         * docs/random/ds/0.9-suggested-changes: random
15403
15404 2005-04-23  David Schleef  <ds@schleef.org>
15405
15406         * gst/elements/Makefile.am:
15407         * gst/elements/gstcapsfilter.c: New element that acts like an
15408         identity, but filters caps.  Will eventually replace filtered
15409         caps in pad linking.
15410         * gst/gstutils.c: (gst_element_create_all_pads): New function
15411         to create all the ALWAYS pads that are registered with an
15412         element class.  This functionality should eventually be
15413         merged in with GstElement initialization.
15414         * gst/gstutils.h:
15415         * testsuite/trigger/README: part of trigger test code that should
15416         have been checked in a long time ago.
15417
15418 2005-04-23  David Schleef  <ds@schleef.org>
15419
15420         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15421         needed with new versions of libtool (nobody will confirm this),
15422         and hard to carry around.
15423         * gst/autoplug/Makefile.am:
15424         * gst/base/Makefile.am:
15425         * gst/elements/Makefile.am:
15426         * gst/indexers/Makefile.am:
15427         * gst/schedulers/Makefile.am:
15428         * libs/gst/bytestream/Makefile.am:
15429         * libs/gst/control/Makefile.am:
15430         * libs/gst/dataprotocol/Makefile.am:
15431         * libs/gst/getbits/Makefile.am:
15432
15433 2005-04-21  Wim Taymans  <wim@fluendo.com>
15434
15435         * docs/design/draft-push-pull.txt:
15436         * docs/design/part-MT-refcounting.txt:
15437         * docs/design/part-TODO.txt:
15438         * docs/design/part-caps.txt:
15439         * docs/design/part-events.txt:
15440         * docs/design/part-gstbus.txt:
15441         * docs/design/part-gstpipeline.txt:
15442         * docs/design/part-messages.txt:
15443         * docs/design/part-push-pull.txt:
15444         * docs/design/part-query.txt:
15445         Some more docs.
15446
15447 2005-04-21  Wim Taymans  <wim@fluendo.com>
15448
15449         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15450         (gst_message_new), (gst_message_new_error),
15451         (gst_message_new_warning), (gst_message_new_tag),
15452         (gst_message_new_state_changed), (gst_message_new_application),
15453         (gst_message_get_structure):
15454         * gst/gstmessage.h:
15455         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15456         (gst_structure_copy_conditional):
15457         Use parent refcount in GstMessage to ensure GstStructure
15458         consistency.
15459         Cleaned up headers a bit.
15460         
15461
15462 2005-04-20  Wim Taymans  <wim@fluendo.com>
15463
15464         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15465         (gst_basesink_pad_getcaps), (gst_basesink_init),
15466         (gst_basesink_chain_unlocked):
15467         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15468         (gst_type_find_helper):
15469         * gst/elements/gsttypefindelement.c:
15470         (gst_type_find_element_have_type), (gst_type_find_element_init),
15471         (stop_typefinding), (gst_type_find_element_handle_event),
15472         (find_suggest), (gst_type_find_element_chain),
15473         (gst_type_find_element_checkgetrange),
15474         (gst_type_find_element_getrange), (do_typefind),
15475         (gst_type_find_element_activate):
15476         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15477         (gst_buffer_default_free), (gst_buffer_default_copy),
15478         (gst_buffer_set_caps):
15479         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15480         (gst_caps_replace):
15481         * gst/gstmessage.c: (gst_message_new),
15482         (gst_message_new_state_changed):
15483         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15484         (gst_pad_set_checkgetrange_function),
15485         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15486         (gst_pad_set_caps), (gst_pad_check_pull_range),
15487         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15488         * gst/gstpad.h:
15489         * gst/gsttypefind.c: (gst_type_find_register):
15490         Make gst_caps_replace() work like other _replace() functions.
15491         Use _caps_replace() where possible.
15492         Make sure _message_new() initialises its field.
15493         Add gst_static_pad_template_get_caps()
15494
15495
15496 2005-04-18  Andy Wingo  <wingo@pobox.com>
15497
15498         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15499         on the peer, not the pad. I think that was a typo. Pass an extra
15500         arg to see if random access is possible. Activate the pads as
15501         PULL_RANGE if possible.
15502
15503         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15504
15505         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15506         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15507         to PROP_....
15508
15509 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15510
15511         * docs/faq/using.xml:
15512           Add note on gstreamer-properties (#154996).
15513
15514 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15515
15516         * docs/random/bbb/optional-properties:
15517           Some analysis on optional properties.
15518
15519 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15520
15521         * docs/gst/tmpl/gstelementfactory.sgml:
15522         * gst/gstelement.h:
15523         * gst/gstelementfactory.c: (gst_element_factory_init),
15524         (gst_element_factory_cleanup), (gst_element_register),
15525         (__gst_element_factory_add_static_pad_template),
15526         (gst_element_factory_get_static_pad_templates),
15527         (gst_element_factory_can_src_caps),
15528         (gst_element_factory_can_sink_caps):
15529         * gst/registries/Makefile.am:
15530         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15531         (gst_xml_registry_class_init), (gst_xml_registry_init),
15532         (gst_xml_registry_new), (gst_xml_registry_set_property),
15533         (gst_xml_registry_get_property), (get_time), (make_dir),
15534         (gst_xml_registry_get_perms_func),
15535         (plugin_times_older_than_recurse), (plugin_times_older_than),
15536         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15537         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15538         (add_to_char_array), (read_string), (read_uint), (read_enum),
15539         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15540         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15541         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15542         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15543         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15544         (gst_xml_registry_rebuild):
15545         * gst/registries/gstlibxmlregistry.h:
15546         * tools/gst-compprep.c: (main):
15547         * tools/gst-inspect.c: (print_pad_templates_info):
15548         * tools/gst-xmlinspect.c: (print_element_info):
15549           Use libxml2 for registry parsing, use staticpadtemplates in
15550           elementfactories. Makes gst_init() +/- 10x faster.
15551
15552 2005-04-12  Wim Taymans  <wim@fluendo.com>
15553
15554         * gst/base/Makefile.am:
15555         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15556         (gst_basesink_pad_getcaps), (gst_basesink_init),
15557         (gst_basesink_event), (gst_basesink_change_state):
15558         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15559         (gst_basesrc_init), (gst_basesrc_query),
15560         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15561         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15562         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15563         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15564         (gst_basesrc_stop), (gst_basesrc_activate),
15565         (gst_basesrc_change_state):
15566         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15567         (helper_find_suggest), (gst_type_find_helper):
15568         * gst/base/gsttypefindhelper.h:
15569         * gst/elements/Makefile.am:
15570         * gst/elements/gstelements.c:
15571         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15572         (gst_fakesink_get_times), (gst_fakesink_event),
15573         (gst_fakesink_preroll), (gst_fakesink_render):
15574         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15575         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15576         (gst_fakesrc_get_property), (gst_fakesrc_create),
15577         (gst_fakesrc_start), (gst_fakesrc_stop):
15578         * gst/elements/gstfakesrc.h:
15579         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15580         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15581         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15582         (gst_filesrc_create_read), (gst_filesrc_create),
15583         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15584         (gst_filesrc_start):
15585         * gst/elements/gsttypefindelement.c:
15586         (gst_type_find_element_have_type), (gst_type_find_element_init),
15587         (start_typefinding), (stop_typefinding), (push_buffer_store),
15588         (gst_type_find_element_handle_event),
15589         (gst_type_find_element_chain),
15590         (gst_type_find_element_checkgetrange),
15591         (gst_type_find_element_getrange), (do_typefind),
15592         (gst_type_find_element_activate),
15593         (gst_type_find_element_change_state):
15594         * gst/elements/gsttypefindelement.h:
15595         * gst/gstpipeline.c: (pipeline_bus_handler):
15596         Added typefind helper.
15597         Small preroll fix in the base sink.
15598         Disable typefind code in basesrc.
15599         Crude port of typefindelement.
15600         Fakesrc cleanups.
15601
15602
15603 2005-04-11  Wim Taymans  <wim@fluendo.com>
15604
15605         * check/gst/gstbus.c: (gstbus_suite):
15606         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15607         * check/gstcheck.h:
15608           Fix up the timeout so that the test does not fail.
15609
15610 2005-04-06  Wim Taymans  <wim@fluendo.com>
15611
15612         * gst/base/README:
15613         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15614         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15615         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15616         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15617         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15618         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15619         (gst_basesrc_stop), (gst_basesrc_activate),
15620         (gst_basesrc_change_state), (basesrc_find_peek),
15621         (basesrc_find_suggest), (gst_basesrc_type_find):
15622         * gst/base/gstbasesrc.h:
15623         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15624         (gst_filesrc_class_init), (gst_filesrc_init),
15625         (gst_filesrc_finalize), (gst_filesrc_set_location),
15626         (gst_filesrc_set_property), (gst_filesrc_get_property),
15627         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15628         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15629         (gst_filesrc_create_read), (gst_filesrc_create),
15630         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15631         * gst/elements/gstfilesrc.h:
15632         * gst/gstelement.c: (gst_element_get_state_func),
15633         (gst_element_lost_state), (gst_element_pads_activate):
15634         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15635         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15636         (gst_pad_pull_range):
15637         * gst/gstpad.h:
15638         More work on the generic source base class, implement seeking,
15639         query.
15640         Make filesrc extend the base source class.
15641         Added gst_pad_set_checkgetrange_function to GstPad.
15642
15643 2005-04-06  Andy Wingo  <wingo@pobox.com>
15644
15645         * pkgconfig/gstreamer-base.pc.in:
15646         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15647
15648         * pkgconfig/Makefile.am:
15649         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15650
15651 2005-04-04  Wim Taymans  <wim@fluendo.com>
15652
15653         * gst/base/Makefile.am:
15654         * gst/base/README:
15655         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15656         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15657         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15658         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15659         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15660         (gst_basesrc_base_init), (gst_basesrc_class_init),
15661         (gst_basesrc_init), (gst_basesrc_get_formats),
15662         (gst_basesrc_get_query_types), (gst_basesrc_query),
15663         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15664         (gst_basesrc_set_property), (gst_basesrc_get_property),
15665         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15666         (gst_basesrc_loop), (gst_basesrc_activate),
15667         (gst_basesrc_change_state):
15668         * gst/base/gstbasesrc.h:
15669         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15670         (gst_fakesrc_class_init), (gst_fakesrc_init),
15671         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15672         (gst_fakesrc_get_property), (gst_fakesrc_create):
15673         * gst/elements/gstfakesrc.h:
15674         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15675         (gst_filesrc_open_file), (gst_filesrc_loop),
15676         (gst_filesrc_activate), (filesrc_find_peek),
15677         (gst_filesrc_type_find):
15678         Made base source class, make fakesrc extend it.
15679         Add comments to basesink class.
15680         Some filesrc cleanup.
15681
15682 2005-03-31  David Schleef  <ds@schleef.org>
15683
15684         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15685         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15686         expected to link against libgstreamer.
15687         * gst/base/Makefile.am: link against libgstreamer
15688         * gst/elements/Makefile.am: same
15689
15690 2005-03-31  Andy Wingo  <wingo@pobox.com>
15691
15692         * tests/instantiate/Makefile.am:
15693         * tests/instantiate/caps.c: Add test to test speed of caps copy
15694         and free.
15695
15696         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15697         GMemChunk to be fair.
15698
15699         * gst/gsttrashstack.h: Remove warning about using the fallback
15700         trash stack implementation, it's still faster than malloc.
15701
15702 2005-03-30  Andy Wingo  <wingo@pobox.com>
15703
15704         * tests/complexity.c: Add a copyright.
15705
15706 2005-03-31  Wim Taymans  <wim@fluendo.com>
15707
15708         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15709         (gst_base_transform_class_init), (gst_base_transform_init),
15710         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15711         (gst_base_transform_get_property),
15712         (gst_base_transform_sink_activate),
15713         (gst_base_transform_src_activate),
15714         (gst_base_transform_change_state):
15715         * gst/base/gstbasetransform.h:
15716         * gst/elements/gstidentity.c: (gst_identity_class_init),
15717         (gst_identity_event), (gst_identity_check_perfect),
15718         (gst_identity_transform), (gst_identity_start),
15719         (gst_identity_stop):
15720         Added start/stop methods to transform base class so subclasses 
15721         don't need to deal with state changes even.
15722
15723 2005-03-31  Wim Taymans  <wim@fluendo.com>
15724
15725         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15726         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15727         * gst/gstevent.h:
15728         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15729         (gst_pad_pull_range):
15730         Added rate to the discont event to prepare for variable speed
15731         and reverse playback.
15732
15733 2005-03-29  David Schleef  <ds@schleef.org>
15734
15735         * configure.ac:
15736         * testsuite/trigger/Makefile.am:
15737         * testsuite/trigger/trigger.c: A little example program to show
15738         how trigger-based elements can work.
15739
15740 2005-03-29  Wim Taymans  <wim@fluendo.com>
15741
15742         * gst/base/Makefile.am:
15743         * gst/base/README:
15744         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15745         (gst_basesink_base_init), (gst_basesink_class_init),
15746         (gst_basesink_pad_getcaps), (gst_basesink_init),
15747         (gst_basesink_activate), (gst_basesink_change_state):
15748         * gst/base/gstbasesink.h:
15749         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15750         (gst_base_transform_base_init), (gst_base_transform_finalize),
15751         (gst_base_transform_class_init), (gst_base_transform_init),
15752         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15753         (gst_base_transform_event), (gst_base_transform_getrange),
15754         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15755         (gst_base_transform_set_property),
15756         (gst_base_transform_get_property),
15757         (gst_base_transform_sink_activate),
15758         (gst_base_transform_src_activate),
15759         (gst_base_transform_change_state):
15760         * gst/base/gstbasetransform.h:
15761         * gst/elements/gstidentity.c: (gst_identity_finalize),
15762         (gst_identity_class_init), (gst_identity_init),
15763         (gst_identity_event), (gst_identity_check_perfect),
15764         (gst_identity_transform), (gst_identity_set_property),
15765         (gst_identity_get_property), (gst_identity_change_state):
15766         * gst/elements/gstidentity.h:
15767         * gst/gstelement.c: (gst_element_get_state_func),
15768         (gst_element_lost_state), (gst_element_pads_activate):
15769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15770         (gst_pad_check_pull_range), (gst_pad_pull_range):
15771         * gst/gstpad.h:
15772         Simplify pad activation.
15773         Added function to check if pull_range can be performed.
15774         Error out when pulling inactive or flushing pads.
15775         Removed const from refcounted types as it does not make sense.
15776         Simplify pad templates in basesink
15777         Added base class for simple 1-to-1 transforms.
15778         Make identity subclass the base transform.
15779
15780 2005-03-29  Andy Wingo  <wingo@pobox.com>
15781
15782         * docs/libs/gstreamer-libs-overrides.txt: 
15783         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15784         really don't understand what's going on, but like whatever. I want
15785         green buildbot!
15786
15787         * docs/gst/Makefile.am:
15788         * docs/libs/Makefile.am: Dist the overrides files.
15789
15790         * check/Makefile.am (clean-local): Remove .libs directories.
15791
15792         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15793         elements to EXTRA_DIST, so po/ files are happy.
15794
15795         * po/POTFILES.in: Er, remove it here.
15796
15797         * po/POTFILES: Remove gstspider.c.
15798
15799         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15800
15801         * docs/libs/gstreamer-libs-docs.sgml: 
15802         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15803         bytestream.
15804
15805         * tests/complexity.c (main): Set the length of the preroll queue
15806         on the sinks to prevent a lockup.
15807
15808         * libs/gst/dataprotocol/Makefile.am: 
15809         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15810         the same as the one in check/gst-libs/gdp.c.
15811
15812         * po/, docs/gst/: Commit automatic changes to docs and po files.
15813
15814         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15815         the versioned libgstbase.
15816
15817         * check/Makefile.am: Depend on an unversioned gst-register, seems
15818         to make autoconf happier.
15819
15820         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15821
15822 2005-03-28  Wim Taymans  <wim@fluendo.com>
15823
15824         * configure.ac:
15825         * docs/design/part-gstelement.txt:
15826         * docs/design/part-negotiation.txt:
15827         * docs/design/part-preroll.txt:
15828         * docs/design/part-scheduling.txt:
15829         * docs/design/part-states.txt:
15830         * gst/Makefile.am:
15831         * gst/base/Makefile.am:
15832         * gst/base/README:
15833         * gst/base/gstbasesink.c: (gst_basesink_get_template),
15834         (gst_basesink_base_init), (gst_basesink_class_init),
15835         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15836         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15837         (gst_basesink_set_pad_functions),
15838         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15839         (gst_basesink_set_property), (gst_basesink_get_property),
15840         (gst_base_sink_get_template), (gst_base_sink_get_caps),
15841         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15842         (gst_basesink_preroll_queue_push),
15843         (gst_basesink_preroll_queue_empty),
15844         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15845         (gst_basesink_event), (gst_basesink_get_times),
15846         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15847         (gst_basesink_chain_unlocked), (gst_basesink_chain),
15848         (gst_basesink_loop), (gst_basesink_activate),
15849         (gst_basesink_change_state):
15850         * gst/base/gstbasesink.h:
15851         * gst/elements/Makefile.am:
15852         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15853         (gst_fakesink_class_init), (gst_fakesink_init),
15854         (gst_fakesink_set_property), (gst_fakesink_get_property),
15855         (gst_fakesink_get_times), (gst_fakesink_event),
15856         (gst_fakesink_preroll), (gst_fakesink_render),
15857         (gst_fakesink_change_state):
15858         * gst/elements/gstfakesink.h:
15859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15860         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15861         * gst/gstelement.c: (gst_element_add_pad),
15862         (gst_element_get_state_func), (gst_element_abort_state),
15863         (gst_element_commit_state), (gst_element_lost_state),
15864         (gst_element_set_state), (gst_element_pads_activate):
15865         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15866         * gst/gstpipeline.c: (gst_pipeline_send_event),
15867         (gst_pipeline_change_state):
15868         Added state change code.
15869         Added/updated docs.
15870         Added sink base class, make fakesink extend the base class.
15871         Small cleanups in GstPipeline.
15872
15873 2005-03-26  David Schleef  <ds@schleef.org>
15874
15875         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15876         is broken and should be implemented in a different library.
15877         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15878         * gst/gst.h: remove gstcpu.h
15879         * gst/gstcpu.c: remove
15880         * gst/gstcpu.h: remove
15881         * gst/Makefile.am.future: Remove this file.  It's ancient.
15882
15883 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15884
15885         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15886         (gst_bin_send_event):
15887           Add default event/set_manager handlers. The set_manager handler
15888           takes care that the manager is distributed over kids that were
15889           already in the bin before the manager was set. The event handler
15890           is a utility virtual function that sends the event over all sinks,
15891           so that gst_element_send_event (bin, event); has the expected
15892           behaviour.
15893         * gst/gstpad.c: (gst_pad_event_default):
15894           Re-install default event handling for discontinuities, so that
15895           seeking works without requiring hacks in applications or extra
15896           code in sinks.
15897         * gst/gstpipeline.c: (gst_pipeline_class_init),
15898         (gst_pipeline_send_event):
15899           Half hack, half utility: set a pipeline to PAUSED for seek events,
15900           since that is the only way we can guarantee a/v sync. Means that
15901           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15902           and it "just works".
15903
15904 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15905
15906         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15907           Lock/unlock mismatch.
15908
15909 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15910
15911         * docs/faq/gst-uninstalled:
15912           add gst-plugins-base
15913         * docs/gst/Makefile.am:
15914           don't error out until docs are fixed
15915         * docs/gst/gstreamer.types:
15916           remove thread
15917
15918 2005-03-22  Wim Taymans  <wim@fluendo.com>
15919
15920         * check/Makefile.am:
15921         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15922         * gst/gststructure.c: (gst_structure_set_valist),
15923         (gst_structure_copy_conditional):
15924         Activated more tests.
15925         Added message test.
15926         Added G_TYPE_POINTER to GstStructure.
15927         
15928
15929 2005-03-22  Wim Taymans  <wim@fluendo.com>
15930
15931         * docs/design/part-TODO.txt:
15932         * docs/design/part-events.txt:
15933         * docs/design/part-gstbin.txt:
15934         * docs/design/part-gstbus.txt:
15935         * docs/design/part-gstpipeline.txt:
15936         * docs/design/part-messages.txt:
15937         * gst/gstbus.c:
15938         * gst/gstmessage.c:
15939         Docs updates
15940
15941 2005-03-21  Wim Taymans  <wim@fluendo.com>
15942
15943         * gst/gstbus.c: (gst_bus_post):
15944         Fix copy-and-paste error.
15945
15946 2005-03-21  Wim Taymans  <wim@fluendo.com>
15947
15948         * check/Makefile.am:
15949         * gst/Makefile.am:
15950         * gst/elements/Makefile.am:
15951         * gst/elements/gstelements.c:
15952         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15953         (gst_fakesink_event), (gst_fakesink_chain):
15954         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15955         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15956         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15957         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15958         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15959         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15960         (gst_fakesrc_loop), (gst_fakesrc_activate),
15961         (gst_fakesrc_change_state):
15962         * gst/elements/gstfakesrc.h:
15963         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15964         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15965         (gst_filesrc_open_file), (gst_filesrc_loop),
15966         (gst_filesrc_activate), (gst_filesrc_change_state),
15967         (filesrc_find_peek), (filesrc_find_suggest),
15968         (gst_filesrc_type_find):
15969         * gst/elements/gstidentity.c: (gst_identity_finalize),
15970         (gst_identity_class_init), (gst_identity_init),
15971         (gst_identity_proxy_getcaps), (identity_queue_push),
15972         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15973         (gst_identity_getrange), (gst_identity_chain),
15974         (gst_identity_sink_loop), (gst_identity_src_loop),
15975         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15976         (gst_identity_set_property), (gst_identity_get_property),
15977         (gst_identity_change_state):
15978         * gst/elements/gstidentity.h:
15979         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15980         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15981         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15982         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15983         (gst_tee_sink_activate):
15984         * gst/elements/gsttee.h:
15985         * gst/gst.c: (gst_register_core_elements), (init_post):
15986         * gst/gst.h:
15987         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15988         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15989         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15990         (gst_bin_change_state):
15991         * gst/gstbin.h:
15992         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15993         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15994         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15995         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15996         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15997         (bus_watch_callback), (bus_watch_destroy),
15998         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15999         (poll_timeout), (gst_bus_poll):
16000         * gst/gstbus.h:
16001         * gst/gstcaps.h:
16002         * gst/gstdata.h:
16003         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16004         (gst_element_post_message), (gst_element_message_full),
16005         (gst_element_get_state_func), (gst_element_get_state),
16006         (gst_element_abort_state), (gst_element_commit_state),
16007         (gst_element_lost_state), (gst_element_set_state),
16008         (gst_element_pads_activate), (gst_element_change_state),
16009         (gst_element_dispose), (gst_element_set_manager_func),
16010         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16011         (gst_element_set_manager), (gst_element_get_manager),
16012         (gst_element_set_bus), (gst_element_get_bus),
16013         (gst_element_set_scheduler), (gst_element_get_scheduler):
16014         * gst/gstelement.h:
16015         * gst/gstevent.c: (gst_event_new_segment_seek),
16016         (gst_event_new_flush):
16017         * gst/gstevent.h:
16018         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16019         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16020         (gst_message_new_eos), (gst_message_new_error),
16021         (gst_message_new_warning), (gst_message_new_tag),
16022         (gst_message_new_state_changed), (gst_message_new_application),
16023         (gst_message_get_structure), (gst_message_parse_tag),
16024         (gst_message_parse_state_changed), (gst_message_parse_error),
16025         (gst_message_parse_warning):
16026         * gst/gstmessage.h:
16027         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16028         (gst_real_pad_set_property), (gst_pad_set_active),
16029         (gst_pad_is_active), (gst_pad_set_blocked_async),
16030         (gst_pad_set_blocked), (gst_pad_is_blocked),
16031         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16032         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16033         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16034         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16035         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16036         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16037         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16038         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16039         (gst_pad_set_caps), (gst_pad_configure_sink),
16040         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16041         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16042         (gst_real_pad_dispose), (gst_real_pad_finalize),
16043         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16044         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16045         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16046         * gst/gstpad.h:
16047         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16048         (pipeline_bus_handler), (gst_pipeline_change_state),
16049         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16050         * gst/gstpipeline.h:
16051         * gst/gstprobe.h:
16052         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16053         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16054         (gst_queue_link_src), (gst_queue_bufferalloc),
16055         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16056         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16057         (gst_queue_loop), (gst_queue_handle_src_event),
16058         (gst_queue_handle_src_query), (gst_queue_src_activate),
16059         (gst_queue_change_state):
16060         * gst/gstqueue.h:
16061         * gst/gstscheduler.c: (gst_scheduler_init),
16062         (gst_scheduler_dispose), (gst_scheduler_create_task),
16063         (gst_scheduler_factory_create):
16064         * gst/gstscheduler.h:
16065         * gst/gststructure.c: (gst_structure_get_type),
16066         (gst_structure_copy_conditional):
16067         * gst/gststructure.h:
16068         * gst/gsttaginterface.h:
16069         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16070         (gst_task_init), (gst_task_dispose), (gst_task_create),
16071         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16072         (gst_task_pause):
16073         * gst/gsttask.h:
16074         * gst/gstthread.c:
16075         * gst/gstthread.h:
16076         * gst/gsttypes.h:
16077         * gst/schedulers/Makefile.am:
16078         * gst/schedulers/cothreads_compat.h:
16079         * gst/schedulers/entryscheduler.c:
16080         * gst/schedulers/faircothreads.c:
16081         * gst/schedulers/faircothreads.h:
16082         * gst/schedulers/fairscheduler.c:
16083         * gst/schedulers/gstbasicscheduler.c:
16084         * gst/schedulers/gstoptimalscheduler.c:
16085         * gst/schedulers/gthread-cothreads.h:
16086         * gst/schedulers/threadscheduler.c:
16087         (gst_thread_scheduler_task_get_type),
16088         (gst_thread_scheduler_task_class_init),
16089         (gst_thread_scheduler_task_init),
16090         (gst_thread_scheduler_task_start),
16091         (gst_thread_scheduler_task_stop),
16092         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16093         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16094         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16095         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16096         (plugin_init):
16097         * libs/gst/Makefile.am:
16098         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16099         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16100         (gst_file_pad_parent_set):
16101         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16102         (gst_dp_event_from_packet):
16103         * tests/complexity.c: (main):
16104         * tests/mass_elements.c: (main):
16105         * testsuite/states/locked.c: (message_received), (main):
16106         * testsuite/states/parent.c: (main):
16107         * tools/gst-inspect.c: (print_element_flag_info),
16108         (print_implementation_info), (print_pad_info):
16109         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16110         (main):
16111         * tools/gst-md5sum.c: (event_loop), (main):
16112         * tools/gst-typefind.c: (main):
16113         * tools/gst-xmlinspect.c: (print_element_info):
16114         Next big merge.
16115         Added GstBus for mainloop integration.
16116         Added GstMessage for sending notifications on the bus.
16117         Added GstTask as an abstraction for pipeline entry points.
16118         Removed GstThread.
16119         Removed Schedulers.
16120         Simplified GstQueue for multithreaded core.
16121         Made _link threadsafe, removed old capsnego.
16122         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16123         Added pad blocking functions.
16124         Reworked scheduling functions in GstPad to prepare for
16125         scheduling updates soon.
16126         Moved events out of data stream.
16127         Simplified GstEvent types.
16128         Added return values to push/pull.
16129         Removed clocking from GstElement.
16130         Added prototypes for state change function for next merge.
16131         Removed iterate from bins and state change management.
16132         Fixed some elements, disabled others for now.
16133         Fixed -inspect and -launch.
16134         Added check for GstBus.
16135
16136 2005-03-10  Wim Taymans  <wim@fluendo.com>
16137
16138         * docs/design/part-MT-refcounting.txt:
16139         * docs/design/part-clocks.txt:
16140         * docs/design/part-gstelement.txt:
16141         * docs/design/part-gstobject.txt:
16142         * docs/design/part-standards.txt:
16143         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16144         (gst_bin_remove_func), (gst_bin_remove):
16145         * gst/gstbin.h:
16146         * gst/gstbuffer.c:
16147         * gst/gstcaps.h:
16148         * testsuite/clock/clock1.c: (main):
16149         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16150         (main):
16151         * testsuite/dlopen/loadgst.c: (do_test):
16152         * testsuite/refcounting/bin.c: (add_remove_test1),
16153         (add_remove_test2), (main):
16154         * testsuite/refcounting/element.c: (main):
16155         * testsuite/refcounting/element_pad.c: (main):
16156         * testsuite/refcounting/pad.c: (main):
16157         * tools/gst-launch.c: (sigint_handler_sighandler):
16158         * tools/gst-typefind.c: (main):
16159         Doc updates.
16160         Added doc about clock.
16161         removed gst_bin_iterate_recurse_up(), marked methods
16162         for removal.
16163         Fix more testsuites.
16164
16165 2005-03-09  Wim Taymans  <wim@fluendo.com>
16166
16167         * gst/gstpad.c: (gst_pad_get_direction),
16168         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16169         (gst_pad_collect_valist):
16170         * testsuite/bins/interface.c: (main):
16171         * testsuite/caps/audioscale.c: (test_caps):
16172         * testsuite/caps/caps.c: (test1), (test2), (test3):
16173         * testsuite/caps/deserialize.c: (main):
16174         * testsuite/caps/enumcaps.c: (main):
16175         * testsuite/caps/filtercaps.c: (main):
16176         * testsuite/caps/intersect2.c: (main):
16177         * testsuite/caps/random.c: (main):
16178         * testsuite/caps/renegotiate.c: (my_fixate), (main):
16179         * testsuite/caps/sets.c: (check_caps):
16180         * testsuite/caps/simplify.c: (check_caps), (main):
16181         * testsuite/caps/subtract.c: (check_caps):
16182         Fix _pad_get_direction wrt ghostpads.
16183         Fix caps testsuite.
16184
16185 2005-03-09  Wim Taymans  <wim@fluendo.com>
16186
16187         * check/Makefile.am:
16188         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
16189         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
16190         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
16191         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
16192         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
16193         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
16194         (gst_bin_remove), (gst_bin_iterate_recurse_up),
16195         (bin_element_is_sink), (gst_bin_iterate_sinks),
16196         (gst_bin_iterate_all_by_interface):
16197         * gst/gstbin.h:
16198         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
16199         (gst_element_change_state), (gst_element_dispose),
16200         (gst_element_finalize), (gst_element_set_loop_function):
16201         * gst/gstelement.h:
16202         * gst/gstiterator.c: (find_custom_fold_func):
16203         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16204         (gst_pad_collectv), (gst_pad_collect_valist),
16205         (gst_pad_template_new):
16206         * gst/gstpipeline.c: (gst_pipeline_class_init),
16207         (gst_pipeline_dispose), (gst_pipeline_set_property),
16208         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
16209         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
16210         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
16211         * gst/gstutils.h:
16212         * gst/schedulers/entryscheduler.c:
16213         * gst/schedulers/gstbasicscheduler.c:
16214         (gst_basic_scheduler_cothreaded_chain),
16215         (gst_basic_scheduler_chain_add_element):
16216         * testsuite/bins/interface.c: (main):
16217         Added GstBin test.
16218         Added GstSystemClock test.
16219         Implemented clock distribution code in GstBin.
16220         Implemented iterate sinks method for future use.
16221         Rearranged gstelement.h
16222         Fix GstIterator comparison bug.
16223         Moved some code to GstPipeline, mostly clocking related.
16224
16225 2005-03-09  Wim Taymans  <wim@fluendo.com>
16226
16227         * configure.ac:
16228         * gst/gst_private.h:
16229         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16230         (gst_bin_remove_func), (gst_bin_remove),
16231         (gst_bin_get_by_name_recurse_up):
16232         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
16233         (gst_clock_id_compare_func), (gst_clock_id_wait),
16234         (gst_clock_id_wait_async), (gst_clock_init),
16235         (gst_clock_adjust_unlocked), (gst_clock_get_time):
16236         * gst/gstelement.h:
16237         * gst/gstinfo.c: (_gst_debug_init):
16238         * gst/gstobject.h:
16239         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
16240         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
16241         * gst/gstpad.h:
16242         Bump version number, we're now 0.9.0
16243         Add future debugging category.
16244         Fix NULL _unref() in _get_by_name_recurse_up
16245         Rearrange gstpad.h.
16246         Update some docs.
16247
16248 2005-03-08  Wim Taymans  <wim@fluendo.com>
16249
16250         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
16251         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
16252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16253         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
16254         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
16255         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
16256         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
16257         * gst/elements/gstidentity.c: (gst_identity_class_init):
16258         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
16259         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
16260         * gst/elements/gstshaper.c: (gst_shaper_class_init):
16261         * gst/elements/gststatistics.c: (gst_statistics_class_init):
16262         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
16263         (gst_tee_link):
16264         * gst/gstelement.c: (gst_element_class_init),
16265         (gst_element_base_class_init), (gst_element_init),
16266         (gst_element_get_random_pad), (gst_element_wait_state_change),
16267         (gst_element_change_state), (gst_element_dispose),
16268         (gst_element_finalize), (gst_element_set_loop_function):
16269         * gst/gstelement.h:
16270         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
16271         * gst/gstthread.c: (gst_thread_class_init),
16272         (gst_thread_release_children_locks), (gst_thread_change_state):
16273         * gst/schedulers/gstbasicscheduler.c:
16274         (gst_basic_scheduler_loopfunc_wrapper),
16275         (gst_basic_scheduler_chain_wrapper),
16276         (gst_basic_scheduler_src_wrapper),
16277         (gst_basic_scheduler_remove_element):
16278         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
16279         Remove threadsafe properties. Fix elements because GObject
16280         complains when installing a property before declaring a
16281         set/get_property handler.
16282         Rearrange gstelement.h file, use STATE macros for state locks.
16283         Free mutexes in the finalize method instead of dispose.
16284
16285 2005-03-08  Wim Taymans  <wim@fluendo.com>
16286
16287         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16288         * gst/gstthread.c: (gst_thread_release_children_locks):
16289         Added parentage check.
16290         Fix build og GstThread again.
16291
16292 2005-03-08  Wim Taymans  <wim@fluendo.com>
16293
16294         * docs/design/part-MT-refcounting.txt:
16295         * docs/design/part-conventions.txt:
16296         * docs/design/part-gstobject.txt:
16297         * docs/design/part-relations.txt:
16298         * docs/design/part-standards.txt:
16299         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16300         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16301         (gst_bin_get_by_name), (gst_bin_get_by_interface),
16302         (gst_bin_iterate_all_by_interface):
16303         * gst/gstbuffer.h:
16304         * gst/gstclock.h:
16305         * gst/gstelement.c: (gst_element_class_init),
16306         (gst_element_change_state), (gst_element_set_loop_function):
16307         * gst/gstelement.h:
16308         * gst/gstiterator.c:
16309         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16310         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16311         (gst_object_dispatch_properties_changed), (gst_object_set_name),
16312         (gst_object_set_parent), (gst_object_unparent),
16313         (gst_object_check_uniqueness):
16314         * gst/gstobject.h:
16315         Docs updates, clean up some headers.
16316
16317 2005-03-07  Wim Taymans  <wim@fluendo.com>
16318
16319         * check/.cvsignore:
16320         * check/Makefile.am:
16321         * check/gst-libs/.cvsignore:
16322         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16323         * check/gst/.cvsignore:
16324         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16325         (START_TEST), (gstbus_suite), (main):
16326         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16327         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16328         (gst_data_suite), (main):
16329         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16330         (add_fold_func), (gstiterator_suite), (main):
16331         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16332         (thread_name_object), (thread_name_object_default),
16333         (gst_object_name_compare), (gst_object_suite), (main):
16334         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16335         (gst_pad_suite), (main):
16336         * check/gstcheck.c: (gst_check_log_message_func),
16337         (gst_check_log_critical_func), (gst_check_init):
16338         * check/gstcheck.h:
16339         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16340         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16341         Added checks.
16342
16343 2005-03-07  Wim Taymans  <wim@fluendo.com>
16344
16345         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16346         (gst_list_iterator_next), (gst_list_iterator_resync),
16347         (gst_list_iterator_free), (gst_iterator_new_list),
16348         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16349         (gst_iterator_free), (gst_iterator_push), (filter_next),
16350         (filter_resync), (filter_uninit), (filter_free),
16351         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16352         (gst_iterator_foreach), (find_custom_fold_func),
16353         (gst_iterator_find_custom):
16354         * gst/gstiterator.h:
16355         Added missing files.
16356
16357 2005-03-07  Wim Taymans  <wim@fluendo.com>
16358
16359         * Makefile.am:
16360         * configure.ac:
16361         * docs/design/part-MT-refcounting.txt:
16362         * docs/design/part-conventions.txt:
16363         * docs/design/part-gstobject.txt:
16364         * docs/design/part-relations.txt:
16365         * examples/mixer/mixer.c: (main):
16366         * examples/thread/thread.c: (eos), (main):
16367         * gst/Makefile.am:
16368         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16369         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16370         (gst_spider_plug_from_srcpad):
16371         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16372         (gst_spider_identity_change_state),
16373         (gst_spider_identity_sink_loop_type_finding):
16374         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16375         * gst/elements/gstidentity.c: (gst_identity_init):
16376         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16377         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16378         * gst/elements/gsttypefindelement.c: (free_entry):
16379         * gst/gst.c:
16380         * gst/gst.h:
16381         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16382         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16383         (gst_bin_set_index), (gst_bin_set_element_sched),
16384         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16385         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16386         (gst_bin_iterate_elements), (iterate_child_recurse),
16387         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16388         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16389         (compare_interface), (gst_bin_get_by_interface),
16390         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16391         * gst/gstbin.h:
16392         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16393         (gst_buffer_default_free), (gst_buffer_default_copy),
16394         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16395         (gst_buffer_create_sub):
16396         * gst/gstbuffer.h:
16397         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16398         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16399         (gst_caps_unref), (gst_static_caps_get),
16400         (gst_caps_remove_and_get_structure), (gst_caps_append),
16401         (gst_caps_append_structure), (gst_caps_remove_structure),
16402         (gst_caps_copy_nth), (gst_caps_set_simple),
16403         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16404         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16405         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16406         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16407         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16408         (gst_caps_structure_figure_out_union),
16409         (gst_caps_switch_structures), (gst_caps_do_simplify),
16410         (gst_caps_replace), (gst_caps_from_string),
16411         (gst_caps_copy_conditional):
16412         * gst/gstcaps.h:
16413         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16414         (_gst_clock_id_free), (gst_clock_id_unref),
16415         (gst_clock_id_compare_func), (gst_clock_id_wait),
16416         (gst_clock_id_wait_async), (gst_clock_class_init),
16417         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16418         (gst_clock_get_time), (gst_clock_set_time_adjust),
16419         (gst_clock_set_property), (gst_clock_get_property):
16420         * gst/gstclock.h:
16421         * gst/gstcompat.h:
16422         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16423         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16424         * gst/gstdata.h:
16425         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16426         (gst_element_requires_clock), (gst_element_provides_clock),
16427         (gst_element_set_clock), (gst_element_clock_wait),
16428         (gst_element_wait), (gst_element_set_time_delay),
16429         (gst_element_is_indexable), (gst_element_add_pad),
16430         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16431         (pad_compare_name), (gst_element_get_static_pad),
16432         (gst_element_request_pad), (gst_element_get_request_pad),
16433         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16434         (gst_element_class_get_pad_template_list),
16435         (gst_element_class_get_pad_template), (gst_element_error_func),
16436         (gst_element_get_random_pad), (gst_element_get_event_masks),
16437         (gst_element_send_event), (gst_element_seek),
16438         (gst_element_get_query_types), (gst_element_query),
16439         (gst_element_get_formats), (gst_element_convert),
16440         (gst_element_is_locked_state), (gst_element_set_locked_state),
16441         (gst_element_sync_state_with_parent), (gst_element_change_state),
16442         (gst_element_finalize), (gst_element_yield),
16443         (gst_element_interrupt), (gst_element_set_scheduler),
16444         (gst_element_get_scheduler), (gst_element_set_loop_function):
16445         * gst/gstelement.h:
16446         * gst/gstevent.h:
16447         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16448         (gst_format_get_by_nick), (gst_format_get_details),
16449         (gst_format_iterate_definitions):
16450         * gst/gstformat.h:
16451         * gst/gstindex.c: (gst_index_gtype_resolver):
16452         * gst/gstinfo.c:
16453         * gst/gstinfo.h:
16454         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16455         (gst_mem_chunk_free):
16456         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16457         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16458         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16459         (gst_object_dispatch_properties_changed),
16460         (gst_object_set_name_default), (gst_object_set_name),
16461         (gst_object_get_name), (gst_object_set_name_prefix),
16462         (gst_object_get_name_prefix), (gst_object_set_parent),
16463         (gst_object_get_parent), (gst_object_unparent),
16464         (gst_object_check_uniqueness), (gst_object_save_thyself),
16465         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16466         (gst_object_set_property), (gst_object_get_property),
16467         (gst_object_get_path_string):
16468         * gst/gstobject.h:
16469         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16470         (gst_real_pad_init), (gst_real_pad_get_property),
16471         (gst_pad_custom_new), (gst_pad_get_direction),
16472         (gst_pad_set_active), (gst_pad_is_active),
16473         (gst_pad_set_event_function), (gst_pad_is_linked),
16474         (gst_pad_link_free), (gst_pad_link_intersect),
16475         (gst_pad_link_fixate), (gst_pad_set_caps),
16476         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16477         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16478         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16479         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16480         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16481         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16482         (gst_pad_realize), (gst_pad_get_allowed_caps),
16483         (gst_real_pad_dispose), (gst_real_pad_finalize),
16484         (gst_pad_collectv), (gst_pad_collect_valist),
16485         (gst_pad_template_dispose), (gst_pad_template_new),
16486         (gst_pad_get_internal_links):
16487         * gst/gstpad.h:
16488         * gst/gstpipeline.c: (gst_pipeline_dispose),
16489         (gst_pipeline_change_state):
16490         * gst/gstpipeline.h:
16491         * gst/gstplugin.c:
16492         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16493         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16494         * gst/gstpluginfeature.h:
16495         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16496         * gst/gstquery.c: (_gst_query_type_initialize),
16497         (gst_query_type_register), (gst_query_type_get_by_nick),
16498         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16499         * gst/gstquery.h:
16500         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16501         * gst/gstscheduler.c: (gst_scheduler_add_element),
16502         (gst_scheduler_factory_create):
16503         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16504         (gst_structure_free), (gst_structure_set_name),
16505         (gst_structure_id_set_value), (gst_structure_set_value),
16506         (gst_structure_set_valist), (gst_structure_remove_field),
16507         (gst_structure_remove_fields),
16508         (gst_structure_remove_fields_valist),
16509         (gst_structure_remove_all_fields), (gst_structure_foreach),
16510         (gst_structure_map_in_place),
16511         (gst_caps_structure_fixate_field_nearest_int),
16512         (gst_caps_structure_fixate_field_nearest_double):
16513         * gst/gststructure.h:
16514         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16515         (gst_system_clock_init), (gst_system_clock_dispose),
16516         (gst_system_clock_async_thread),
16517         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16518         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16519         * gst/gstsystemclock.h:
16520         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16521         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16522         * gst/gsttaginterface.c:
16523         * gst/gstthread.c: (gst_thread_dispose),
16524         (gst_thread_release_children_locks), (gst_thread_change_state),
16525         (gst_thread_main_loop):
16526         * gst/gsttrashstack.h:
16527         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16528         * gst/gsttypes.h:
16529         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16530         (gst_element_request_pad), (gst_element_get_pad_from_template),
16531         (gst_element_request_compatible_pad),
16532         (gst_element_get_compatible_pad_filtered),
16533         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16534         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16535         (gst_element_link_many), (gst_element_link),
16536         (gst_element_link_pads), (gst_element_unlink_pads),
16537         (gst_element_unlink_many), (gst_element_unlink),
16538         (gst_pad_can_link_filtered), (gst_pad_can_link),
16539         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16540         (gst_object_default_error), (gst_bin_add_many),
16541         (gst_bin_remove_many), (gst_element_populate_std_props),
16542         (gst_element_class_install_std_props), (gst_buffer_merge),
16543         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16544         (link_fold_func), (gst_pad_proxy_setcaps):
16545         * gst/gstutils.h:
16546         * gst/gstvalue.c: (gst_value_deserialize_string):
16547         * gst/parse/grammar.y:
16548         * gst/schedulers/gstbasicscheduler.c:
16549         (gst_basic_scheduler_cothreaded_chain),
16550         (gst_basic_scheduler_chain_recursive_add),
16551         (gst_basic_scheduler_pad_link):
16552         * gst/schedulers/gstoptimalscheduler.c:
16553         (get_group_schedule_function),
16554         (gst_opt_scheduler_state_transition),
16555         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16556         * libs/gst/bytestream/bytestream.c:
16557         * libs/gst/dataprotocol/dataprotocol.c:
16558         (gst_dp_header_from_buffer):
16559         * po/nb.po:
16560         * po/ru.po:
16561         * tests/threadstate/threadstate2.c: (eos):
16562         * tools/gst-compprep.c: (main):
16563         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16564         (print_pad_info), (print_children_info):
16565         * tools/gst-launch.c: (idle_func), (main):
16566         * tools/gst-md5sum.c: (idle_func), (main):
16567         * tools/gst-xmlinspect.c: (print_element_info):
16568         First THREADED backport attempt, focusing on adding locks and
16569         making sure the API is threadsafe. Needs more work. More docs
16570         follow this week.
16571
16572 2005-02-24  Andy Wingo  <wingo@pobox.com>
16573
16574         * tests/bench-complexity.scm:
16575         * tests/complexity.gnuplot: New files, good for running complexity
16576         benchmarks.
16577
16578         * tests/Makefile.am:
16579         * tests/complexity.c: New test, sets up N elements, at each level
16580         teeing into M streams per element. Eeeenteresting.
16581
16582         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16583         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16584         running bench-mass_elements.scm.
16585
16586         * tests/bench-mass_elements.scm: New script, runs mass_elements
16587         for various numbers of identities, outputting the results to a
16588         file. Requires guile 1.6. Just for testing.
16589
16590 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16591
16592         * gst/schedulers/fairscheduler.c:
16593           compile with debug disabled
16594
16595 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16596
16597         * configure.ac:
16598           hunting season on 0.9 is now OPEN