tools/gst-feedback-m.m: Update for 0.9/0.10 (fixes #323870).
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tools/gst-feedback-m.m:
4           Update for 0.9/0.10 (fixes #323870).
5
6 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10           
11         * tests/check/gst/gstminiobject.c: (my_foo_init),
12         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
13         (test_value_collection), (gst_mini_object_suite):
14           Add test to ensure refcounts end up as expected when passing
15           GstMiniObjects through g_object_get() and g_object_set().
16
17 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18
19         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
21         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
22         of collectpads. This version removes a lot of races without
23         touching API/ABI. Yay !
24
25 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
26
27         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
28           Don't allow activation of a srcpad in pull_range if it has no
29           getrange function.
30           Change some debug statements to be a little clearer
31
32         * plugins/elements/gsttypefindelement.c:
33         (gst_type_find_handle_src_query):
34           Check that we have a peer before executing queries thereupon.
35
36         * tests/examples/metadata/read-metadata.c: (message_loop):
37           Use gst_bus_pop instead of gst_bus_poll when we just want it to
38           immediately return us any available message with 0 timeout.
39
40 2005-12-12  Michael Smith  <msmith@fluendo.com>
41
42         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
43           Don't unref factories after calling them.
44         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
45         * plugins/elements/gsttypefindelement.c:
46         (gst_type_find_element_chain):
47           Free lists of factories after using them. Fixing typefinding memory
48           leaks.
49
50 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
51
52         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
53         (gst_plugin_feature_load):
54           more meaningful debug output
55         * configure.ac:
56         * tests/Makefile.am:
57         * tests/old/examples/Makefile.am:
58           make make distcheck happy again
59
60 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
61
62         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
63           Catch the special case where we are operating chain-based,
64           but the downstream peer pad has no chain function. Emit a
65           custom error message in this case instead of letting the
66           core generate one implying that this is some sort of core
67           bug. It's not, it just means that whatever got plugged
68           into the pipeline downstream when we announced the type
69           can only operate pull-based, while our source can only
70           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
71           Error string has not been marked for translation yet, as
72           it probably needs some more work first.
73
74         (gst_type_find_element_get_best_possibility):
75           Add helper function to find the best of all available
76           found possibilities that qualify given the min. threshold.
77
78         (gst_type_find_element_handle_event):
79           Fix the case where we get an EOS while still in TYPEFIND
80           mode (we want to chose the best of all possible types,
81           not just the first type that happens to be in our unsorted
82           list of possible types).
83
84         (gst_type_find_element_chain):
85           Make sure we return GST_FLOW_ERROR when we errored out
86           in stop_typefinding(); also, don't just find the best of
87           all found type entries and then use the last examined
88           type entry, but actually use the best entry.
89
90 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
91
92         * tests/examples/typefind/typefind.c: (type_found):
93         * tests/examples/xml/runxml.c: (xml_loaded):
94           More gcc4 fixes and a mem leak fix.
95
96 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
97
98         * tests/examples/xml/createxml.c: (object_saved):
99           gcc 4 fixes
100
101 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
102
103         * tests/Makefile.am:
104           enable the examples even more
105
106 2005-12-12  Andy Wingo  <wingo@pobox.com>
107
108         * libs/gst/net/gstnettimeprovider.c
109         (gst_net_time_provider_class_init, gst_net_time_provider_init)
110         (gst_net_time_provider_set_property)
111         (gst_net_time_provider_get_property): Export "active" as a GObject
112         property.
113         (gst_net_time_provider_thread): Only respond to time queries if
114         the time provider is active.
115
116         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
117         NetTimeProvider, preserving binary compat.
118
119 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
120
121         * tests/examples/controller/audio-example.c: (main):
122         * tests/examples/launch/Makefile.am:
123           convert comments again
124
125 2005-12-12  Wim Taymans  <wim@fluendo.com>
126
127         * libs/gst/base/gstpushsrc.c:
128         Fix typo.
129
130 2005-12-12  Wim Taymans  <wim@fluendo.com>
131
132         * docs/libs/gstreamer-libs-sections.txt:
133         Added new symbol to docs.
134
135         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
136         (gst_base_src_init), (gst_base_src_set_format),
137         (gst_base_src_default_query), (gst_base_src_query),
138         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
139         (gst_base_src_perform_seek), (gst_base_src_send_event),
140         (gst_base_src_default_event), (gst_base_src_event_handler),
141         (gst_base_src_set_property), (gst_base_src_get_property),
142         (gst_base_src_wait), (gst_base_src_do_sync),
143         (gst_base_src_update_length), (gst_base_src_get_range),
144         (gst_base_src_check_get_range), (gst_base_src_loop),
145         (gst_base_src_default_negotiate), (gst_base_src_start),
146         (gst_base_src_activate_push), (gst_base_src_activate_pull),
147         (gst_base_src_change_state):
148         * libs/gst/base/gstbasesrc.h:
149         Implement seeking to other formats than _BYTES.
150         Implement more seeking methods correctly.
151         Doc updates.
152         Added query vmethod.
153         Added do_seek vmethod to make life easier for subclasses
154         when seeking.
155         API addition: gst_base_src_set_format()
156
157 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
158
159         * tests/examples/Makefile.am:
160           added that too
161
162 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
163
164         * configure.ac:
165         * docs/random/ensonic/media-device-daemon.txt:
166         * tests/examples/controller/.cvsignore:
167         * tests/examples/controller/Makefile.am:
168         * tests/examples/controller/audio-example.c: (main):
169         * tests/examples/helloworld/.cvsignore:
170         * tests/examples/helloworld/Makefile.am:
171         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
172         * tests/examples/launch/.cvsignore:
173         * tests/examples/launch/Makefile.am:
174         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
175         * tests/examples/metadata/.cvsignore:
176         * tests/examples/metadata/Makefile.am:
177         * tests/examples/metadata/read-metadata.c: (message_loop),
178         (make_pipeline), (print_tag), (main):
179         * tests/examples/queue/.cvsignore:
180         * tests/examples/queue/Makefile.am:
181         * tests/examples/queue/queue.c: (event_loop), (main):
182         * tests/examples/typefind/.cvsignore:
183         * tests/examples/typefind/Makefile.am:
184         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
185         (main):
186         * tests/examples/xml/.cvsignore:
187         * tests/examples/xml/Makefile.am:
188         * tests/examples/xml/createxml.c: (object_saved), (main):
189         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
190         * tests/old/examples/Makefile.am:
191         * tests/old/examples/TODO:
192         * tests/old/examples/controller/.cvsignore:
193         * tests/old/examples/controller/Makefile.am:
194         * tests/old/examples/controller/audio-example.c:
195         * tests/old/examples/helloworld/.cvsignore:
196         * tests/old/examples/helloworld/Makefile.am:
197         * tests/old/examples/helloworld/helloworld.c:
198         * tests/old/examples/launch/.cvsignore:
199         * tests/old/examples/launch/Makefile.am:
200         * tests/old/examples/launch/mp3parselaunch.c:
201         * tests/old/examples/launch/mp3play:
202         * tests/old/examples/manual/Makefile.am:
203         * tests/old/examples/metadata/Makefile.am:
204         * tests/old/examples/metadata/read-metadata.c:
205         * tests/old/examples/queue/.cvsignore:
206         * tests/old/examples/queue/Makefile.am:
207         * tests/old/examples/queue/queue.c:
208         * tests/old/examples/typefind/.cvsignore:
209         * tests/old/examples/typefind/Makefile.am:
210         * tests/old/examples/typefind/typefind.c:
211         * tests/old/examples/xml/.cvsignore:
212         * tests/old/examples/xml/Makefile.am:
213         * tests/old/examples/xml/createxml.c:
214         * tests/old/examples/xml/runxml.c:
215           applied some simple fixing to some examples
216           re-enabled the working examples
217
218 2005-12-12  Wim Taymans  <wim@fluendo.com>
219
220         * gst/gstsegment.c: (gst_segment_init),
221         (gst_segment_set_last_stop), (gst_segment_set_seek),
222         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
223         (gst_segment_to_running_time):
224         Added more documentation.
225         Make sure the last_pos value is updated properly.
226         Make sure to_stream_time and to_running_time don't
227         operate on wrong values.
228
229         * tests/check/gst/gstsegment.c: (GST_START_TEST):
230         Update check.
231
232 2005-12-12  Michael Smith  <msmith@fluendo.com>
233
234         * plugins/elements/gsttypefindelement.c: (free_entry),
235         (gst_type_find_element_chain):
236           Now that we're not leaking factories, make sure we keep references
237           to them while we need them.
238
239 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         * tests/check/gst/struct_i386.h:
242           ifdef out the XML structs
243
244 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * gst/gstvalue.c: (gst_value_transform_double_fraction):
247           floor is not needed, F is always positive; this obviates the
248           need for adding -lm when building without libxml
249
250 2005-12-12  Wim Taymans  <wim@fluendo.com>
251
252         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
253         Take current playback rate into account when reporting
254         the position.
255
256 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
257
258         * docs/manual/mime-world.fig:
259           Let's try this again, this time with a file that is
260           actually in XFig format.
261
262 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
263
264         * docs/manual/mime-world.fig:
265           Add audioconvert element to diagram so that it
266           matches the text and the code (fixes #319526).
267
268 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
269
270         * docs/pwg/building-chainfn.xml:
271         * docs/pwg/building-pads.xml:
272         * docs/pwg/building-state.xml:
273         * docs/pwg/other-source.xml:
274           Update state change stuff for 0.10 (fixes #322969).
275
276 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
277
278         * docs/manual/advanced-dataaccess.xml:
279         * docs/manual/appendix-checklist.xml:
280         * docs/manual/appendix-programs.xml:
281         * docs/manual/basics-pads.xml:
282         * docs/manual/highlevel-components.xml:
283         * docs/manual/manual.xml:
284           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
285           add converters in front of pipelines; remove curly
286           brackets for threads stuff, they no longer exist; use
287           GST_TYPE_FRACTION for framerates; update some pieces of
288           code to 0.10, but there's plenty more to do.
289
290         * docs/manual/appendix-porting.xml:
291           Expand on asynchroneous state changes; s/0.9/0.10/;
292           mention disappearance of gst_init_get_popt_table()
293           (fixes #322916).
294
295 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
296
297         * docs/faq/using.xml:
298           Spider no longer exists, and neither does gst-launch-ext.
299           Update examples to use decodebin and playbin and put
300           converters in front of sinks (fixes #323726).
301
302 2005-12-09  Michael Smith  <msmith@fluendo.com>
303
304         * plugins/elements/gsttypefindelement.c: (find_peek),
305         (gst_type_find_element_chain):
306           Fix leaking element factories in typefinding.
307           Fix problem where we forgot about a probable type on non-seekable
308           files, and thus later mis-typefound it.
309
310 2005-12-09  Michael Smith  <msmith@fluendo.com>
311
312         * common/m4/gst-makecontext.m4:
313         * common/m4/gst-mcsc.m4:
314         * configure.ac:
315         * win32/common/config.h:
316         * win32/common/config.h.in:
317           Remove makecontext stuff; not used in 0.10 and causes problems on
318           HPUX according to bug #322441
319
320 2005-12-07  Wim Taymans  <wim@fluendo.com>
321
322         * tests/check/Makefile.am:
323         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
324         (main):
325         * tests/check/libs/struct_i386.h:
326         Added ABI check for libs
327
328 2005-12-07  Wim Taymans  <wim@fluendo.com>
329
330         * tests/check/Makefile.am:
331         And add the struct_i386.h to dist.
332
333 2005-12-07  Wim Taymans  <wim@fluendo.com>
334
335         * tests/check/Makefile.am:
336         * tests/check/gst/.cvsignore:
337         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
338         (main):
339         * tests/check/gst/struct_i386.h:
340         Added check for ABI compatibility.
341
342 2005-12-07  Wim Taymans  <wim@fluendo.com>
343
344         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
345         (gst_fake_src_get_times), (gst_fake_src_create):
346         Fix broken sync option, fixes #323259
347
348 2005-12-07  Wim Taymans  <wim@fluendo.com>
349
350         * gst/gstbuffer.c:
351         Small docs update.
352
353         * gst/gstcaps.c: (gst_caps_is_equal):
354         Don't assert on NULL <--> X. Fixes #323260
355
356         * gst/gstminiobject.c: (gst_mini_object_replace):
357         If we're doing atomic operations, we might just as well use
358         the proper way to get an atomic pointer.
359
360         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
361         Clean up debugging.
362
363 2005-12-07  Michael Smith  <msmith@fluendo.com>
364
365         * gst/parse/grammar.y:
366           Remove handling of { } for threads.
367
368 2005-12-06  David Schleef  <ds@schleef.org>
369
370         * libs/gst/base/gstbasetransform.c: speling fix.
371
372 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
373
374         * docs/libs/tmpl/gstdataprotocol.sgml:
375         * docs/random/omega/testing/gstobject.c:
376         * gst/gst.c:
377         * gst/gstclock.c:
378         * gst/gstelement.c:
379         * gst/gstelementfactory.c:
380         * gst/gsterror.c:
381         * gst/gstevent.c:
382         * gst/gstghostpad.c:
383         * gst/gstinfo.c:
384         * gst/gstpadtemplate.c:
385         * gst/gstregistryxml.c:
386         * gst/gsttaglist.c:
387         * gst/gsttagsetter.c:
388         * gst/gsttypefind.c:
389         * gst/gstvalue.c:
390         * libs/gst/base/gstbasesrc.c:
391         * libs/gst/net/gstnetclientclock.c:
392         * libs/gst/net/gstnettimeprovider.c:
393         * plugins/elements/gstfakesrc.c:
394         * plugins/elements/gstfdsrc.c:
395         * plugins/elements/gstfilesrc.c:
396         * plugins/elements/gstidentity.c:
397         * plugins/elements/gstqueue.c:
398         * plugins/elements/gsttypefindelement.c:
399         * plugins/indexers/gstfileindex.c:
400         * plugins/indexers/gstmemindex.c:
401         * tests/check/gst/gsttag.c:
402         * tests/old/examples/cutter/cutter.c:
403         * tests/old/examples/mixer/mixer.c:
404         * tests/old/examples/xml/runxml.c: (main):
405         * tests/old/testsuite/caps/normalisation.c:
406         * tests/old/testsuite/debug/global.c:
407         * tests/old/testsuite/parse/parse1.c:
408         * tools/gst-xmlinspect.c:
409         * win32/common/dirent.c:
410           expand tabs
411
412 === release 0.10.0 ===
413
414 2005-12-05   <thomas (at) apestaart (dot) org>
415
416         * configure.ac:
417           releasing 0.10.0, "Maroilles"
418
419 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
420
421         submitted by: Funda Wang <fundawang@linux.net.cn>
422
423         * po/LINGUAS:
424         * po/zh_CN.po:
425           added Chinese (Traditional) translation
426
427 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
428
429         * docs/gst/gstreamer-sections.txt:
430         * docs/libs/tmpl/gstdataprotocol.sgml:
431         * docs/random/thomasvs/TODO:
432         * gst/gstutils.c:
433         * gst/gstutils.h:
434           fix docs
435
436 2005-12-05  Andy Wingo  <wingo@pobox.com>
437
438         patch by: Wim Taymans <wim@fluendo.com>
439
440         * libs/gst/base/gstbasetransform.c
441         (gst_base_transform_prepare_output_buf)
442         (gst_base_transform_buffer_alloc):
443         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
444         alloc_buffer_and_set_caps.
445
446         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
447         set_caps on the source pad.
448         (gst_pad_alloc_buffer_and_set_caps): New function, does what
449         alloc_buffer used to do. Fixes #322874.
450
451         * docs/gst/gstreamer-sections.txt: 
452         * docs/design/part-negotiation.txt: 
453         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
454         changes.
455
456 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         patch by: Sebastien Moutte
459
460         * win32/MANIFEST:
461         * win32/common/config.h.in:
462         * win32/vs6/libgstcontroller.dsp:
463           win32 build fixes
464
465 2005-12-05  Wim Taymans  <wim@fluendo.com>
466
467         * gst/gstcaps.c: (gst_caps_is_equal):
468         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
469         (gst_fake_src_create):
470         Back out previous code changes, leave doc updates, file bugs 
471         instead. 
472
473 2005-12-05  Wim Taymans  <wim@fluendo.com>
474
475         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
476         (gst_fake_src_get_times), (gst_fake_src_create):
477         * plugins/elements/gstfakesrc.h:
478         Fix broken sync code.
479
480 2005-12-05  Wim Taymans  <wim@fluendo.com>
481
482         * gst/gstcaps.c: (gst_caps_is_equal):
483         Comparing NULL against !NULL yields different caps, not a
484         failure.
485
486 2005-12-05  Wim Taymans  <wim@fluendo.com>
487
488         * gst/gstpipeline.c:
489         Fix small typo in docs.
490
491 2005-12-05  Andy Wingo  <wingo@pobox.com>
492
493         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
494
495         * gst/gst.c (init_post): remove hard-coded 0.9 location for
496         registries/plugins with a MAJORMINOR one.
497         (plugin_desc): Rename library from gstcoreleements to
498         staticelements. Fixes #323222.
499
500 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
501
502         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
503           Change debug category to 'collectpads' from 'collect_pads'
504           (fixes #323250).
505
506 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         patch by: Sebastien Moutte
509
510         * libs/gst/controller/gstinterpolation.c:
511           use convert function for uint64/double
512         * win32/vs6/libgstcontroller.dsp:
513           link to GLib
514
515 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
516
517         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
518         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
519         * gst/gstutils.h:
520         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
521           add tests that seem to show that the guint64/gdouble conversions
522           are correct.
523
524 2005-12-02  Wim Taymans  <wim@fluendo.com>
525
526         * gst/gstregistry.c: (gst_registry_add_path):
527         * gst/gstregistry.h:
528         * gst/gstregistryxml.c:
529         Fix docs again.
530
531 2005-12-02  Wim Taymans  <wim@fluendo.com>
532
533         * gst/gstutils.c: (gst_util_uint64_scale_int64),
534         (gst_util_uint64_scale_int):
535         Small cleanup.
536
537         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
538         Add debug log line.
539
540         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
541         Add FIXME.
542
543 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * win32/MANIFEST:
546         * win32/common/config.h:
547         * win32/vs6/gstreamer.dsw:
548         * win32/vs6/libgstcoreelements.dsp:
549         * win32/vs6/libgstelements.dsp:
550           renamed core elements plugin
551
552 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
553
554         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
555         (get_candidates):
556           do piece-wise major/minor comparison so 0.9 < 0.10
557           also allow .exe extensions for tools
558
559 2005-12-02  Michael Smith  <msmith@fluendo.com>
560
561         * gst/gst.c:
562           Escape a % to make gtkdoc happier; bug 322958.
563
564 === release 0.9.7 ===
565
566 2005-12-01   <thomas (at) apestaart (dot) org>
567
568         * configure.ac:
569           releasing 0.9.7, "My Dog Has No Nose"
570
571 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
572
573         * common/gst-xmlinspect.py:
574         * configure.ac:
575         * docs/libs/tmpl/gstdataprotocol.sgml:
576         * docs/random/release:
577         * po/af.po:
578         * po/az.po:
579         * po/bg.po:
580         * po/ca.po:
581         * po/cs.po:
582         * po/de.po:
583         * po/en_GB.po:
584         * po/fr.po:
585         * po/it.po:
586         * po/nb.po:
587         * po/nl.po:
588         * po/ru.po:
589         * po/sq.po:
590         * po/sr.po:
591         * po/sv.po:
592         * po/tr.po:
593         * po/uk.po:
594         * po/vi.po:
595         * win32/common/config.h:
596         * win32/common/config.h.in:
597         * win32/vs6/gst_inspect.dsp:
598         * win32/vs6/gst_launch.dsp:
599         * win32/vs6/libgstbase.dsp:
600         * win32/vs6/libgstelements.dsp:
601         * win32/vs6/libgstreamer.dsp:
602         * win32/vs7/GStreamer.vcproj:
603         * win32/vs7/gst-inspect.vcproj:
604         * win32/vs7/gst-launch.vcproj:
605         * win32/vs7/libgstbase.vcproj:
606           bump GST_MAJORMINOR to 0.10
607           reset libtool version
608
609 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
610
611         * po/LINGUAS:
612         * po/bg.po:
613           Added Bulgarian translation by (Alexander Shopov)
614
615 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
616
617         * tests/check/gst/gstplugin.c:
618           fix test
619
620 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
621
622         * common/gst-xmlinspect.py:
623         * common/gtk-doc-plugins.mak:
624         * configure.ac:
625         * docs/Makefile.am:
626         * docs/gst/Makefile.am:
627         * docs/gst/gstreamer-docs.sgml:
628         * docs/gst/gstreamer-sections.txt:
629         * docs/gst/gstreamer.types:
630         * docs/gst/gstreamer.types.in:
631         * docs/plugins/Makefile.am:
632         * docs/plugins/gstreamer-plugins-docs.sgml:
633         * docs/plugins/gstreamer-plugins-sections.txt:
634         * docs/plugins/gstreamer-plugins.types:
635         * docs/plugins/inspect.stamp:
636         * docs/plugins/inspect/plugin-coreelements.xml:
637         * docs/plugins/inspect/plugin-coreindexers.xml:
638         * docs/plugins/scanobj-build.stamp:
639         * gstreamer.spec.in:
640         * plugins/elements/Makefile.am:
641         * plugins/elements/gstelements.c:
642         * plugins/elements/gstfakesink.c:
643         * plugins/elements/gstfakesrc.c:
644         * plugins/elements/gstfilesink.c:
645         * plugins/elements/gstfilesrc.c:
646         * plugins/elements/gstqueue.c:
647         * plugins/indexers/Makefile.am:
648         * plugins/indexers/gstindexers.c:
649           document core plugins in a separate document just like all the
650           others
651           rename these plugins to something starting with core
652
653 2005-12-01  Andy Wingo  <wingo@pobox.com>
654
655         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
656         padding here before, but it missed the commit.
657
658 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
659
660         * libs/gst/controller/gstinterpolation.c:
661           whitespace prices have crashed, we should feel free to use some now
662           use gst_guint64_to_gdouble
663
664 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
665
666         * libs/gst/controller/gstcontroller.c:
667         * libs/gst/controller/gsthelper.c:
668         * libs/gst/controller/gstinterpolation.c:
669         * libs/gst/controller/lib.c:
670           wrap config.h include
671
672 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
673
674         * docs/gst/gstreamer-sections.txt:
675           update docs
676
677 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * plugins/elements/gstelements.c:
680         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
681         (gst_fd_sink__class_init), (gst_fd_sink__init),
682         (gst_fd_sink__chain), (gst_fd_sink__set_property),
683         (gst_fd_sink__get_property):
684         * plugins/elements/gstfdsink.h:
685         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
686         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
687         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
688         (gst_fd_src_unlock), (gst_fd_src_set_property),
689         (gst_fd_src_get_property), (gst_fd_src_create),
690         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
691         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
692         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
693         (gst_fd_src_uri_handler_init):
694         * plugins/elements/gstfdsrc.h:
695         * plugins/elements/gstqueue.c: (gst_queue_get_type):
696           more anal cleanup
697
698 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
699
700         * docs/gst/Makefile.am:
701         * docs/gst/gstreamer.types.in:
702         * gst/Makefile.am:
703           fix the docs build
704
705 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
706
707         * configure.ac:
708         * gst/Makefile.am:
709         * gst/gst.c:
710         * gst/gstplugin.h:
711         * gst/gstregistry.h:
712         * tests/benchmarks/complexity.c:
713         * tests/benchmarks/mass-elements.c:
714         * tests/check/Makefile.am:
715         * tools/Makefile.am:
716         * tools/gst-inspect.c:
717         * tools/gst-xmlinspect.c:
718           various fixes to make
719           --disable-nls --disable-registry --disable-loadsave
720           --disable-parse --disable-gst-debug
721           work and get the core .so down to 360444 bytes after stripping
722
723 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
724
725         * Makefile.am:
726         * configure.ac:
727           descend into tests
728         * docs/random/thomasvs/TODO:
729         * tests/Makefile.am:
730         * tests/README:
731           add a README
732
733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * win32/GStreamer.vcproj:
736         * win32/MANIFEST:
737         * win32/Makefile:
738         * win32/Makefile.inspect:
739         * win32/Makefile.launch:
740         * win32/Makefile.register:
741         * win32/README.txt:
742         * win32/gst-inspect.vcproj:
743         * win32/gst-launch.vcproj:
744         * win32/gst-register.vcproj:
745         * win32/gstelements.vcproj:
746         * win32/gstgetbits.def:
747         * win32/gstgetbits.vcproj:
748         * win32/gstreamer-dbg.def:
749         * win32/gstreamer.def:
750         * win32/libgstbase.def:
751         * win32/libgstbase.vcproj:
752         * win32/link_oldruntime.c:
753         * win32/mman.c:
754         * win32/mman.h:
755         * win32/mman.inl:
756         * win32/msvc71.sln:
757           move even more stuff, win32/ is nice and clean now
758
759 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * libs/gst/control/.cvsignore:
762         * win32/MANIFEST:
763         * win32/config.h:
764         * win32/dirent.c:
765         * win32/dirent.h:
766         * win32/gstbytestream.def:
767         * win32/gstbytestream.vcproj:
768         * win32/gstconfig.h:
769         * win32/gstenumtypes.c:
770         * win32/gstenumtypes.h:
771         * win32/gstoptimalscheduler.vcproj:
772         * win32/gstversion.h:
773         * win32/gtchar.h:
774         * win32/testsuite/bins.vcproj:
775         * win32/testsuite/bytestream.vcproj:
776         * win32/testsuite/caps.vcproj:
777         * win32/testsuite/cleanup.vcproj:
778         * win32/testsuite/clock.vcproj:
779         * win32/testsuite/debug.vcproj:
780         * win32/testsuite/dlopen.vcproj:
781         * win32/testsuite/dynparams.vcproj:
782         * win32/testsuite/elements.vcproj:
783         * win32/testsuite/ghostpads.vcproj:
784         * win32/testsuite/indexers.vcproj:
785         * win32/testsuite/negotiation.vcproj:
786         * win32/testsuite/parse.vcproj:
787         * win32/testsuite/plugin.vcproj:
788         * win32/testsuite/refcounting.vcproj:
789         * win32/testsuite/schedulers.vcproj:
790         * win32/testsuite/states.vcproj:
791         * win32/testsuite/tags.vcproj:
792         * win32/testsuite/threads.vcproj:
793           remove old win32 stuff that isn't maintained and should be
794           reorganized
795
796 2005-11-30  Andy Wingo  <wingo@pobox.com>
797
798         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
799         loading the gst.interfaces python module bork.
800
801         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
802         available since GLib 2.2. Fixes #318031.
803
804 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
805
806         * Makefile.am:
807         * check/.cvsignore:
808         * check/Makefile.am:
809         * check/elements/.cvsignore:
810         * check/elements/fakesrc.c:
811         * check/elements/fdsrc.c:
812         * check/elements/identity.c:
813         * check/generic/.cvsignore:
814         * check/generic/states.c:
815         * check/gst-libs/.cvsignore:
816         * check/gst-libs/controller.c:
817         * check/gst-libs/gdp.c:
818         * check/gst/.cvsignore:
819         * check/gst/capslist.h:
820         * check/gst/gst.c:
821         * check/gst/gstbin.c:
822         * check/gst/gstbuffer.c:
823         * check/gst/gstbus.c:
824         * check/gst/gstcaps.c:
825         * check/gst/gstelement.c:
826         * check/gst/gstevent.c:
827         * check/gst/gstghostpad.c:
828         * check/gst/gstiterator.c:
829         * check/gst/gstmessage.c:
830         * check/gst/gstminiobject.c:
831         * check/gst/gstobject.c:
832         * check/gst/gstpad.c:
833         * check/gst/gstpipeline.c:
834         * check/gst/gstplugin.c:
835         * check/gst/gstsegment.c:
836         * check/gst/gststructure.c:
837         * check/gst/gstsystemclock.c:
838         * check/gst/gsttag.c:
839         * check/gst/gstutils.c:
840         * check/gst/gstvalue.c:
841         * check/net/.cvsignore:
842         * check/net/gstnetclientclock.c:
843         * check/net/gstnettimeprovider.c:
844         * check/pipelines/.cvsignore:
845         * check/pipelines/cleanup.c:
846         * check/pipelines/simple_launch_lines.c:
847         * check/pipelines/stress.c:
848         * check/states/.cvsignore:
849         * check/states/sinks.c:
850         * configure.ac:
851         * examples/Makefile.am:
852         * examples/appreader/.cvsignore:
853         * examples/appreader/Makefile.am:
854         * examples/appreader/appreader.c:
855         * examples/controller/.cvsignore:
856         * examples/controller/Makefile.am:
857         * examples/controller/audio-example.c:
858         * examples/cutter/.cvsignore:
859         * examples/cutter/Makefile.am:
860         * examples/cutter/cutter.c:
861         * examples/cutter/cutter.h:
862         * examples/events/Makefile.am:
863         * examples/events/seek.c:
864         * examples/helloworld/.cvsignore:
865         * examples/helloworld/Makefile.am:
866         * examples/helloworld/helloworld.c:
867         * examples/helloworld2/.cvsignore:
868         * examples/helloworld2/Makefile.am:
869         * examples/helloworld2/helloworld2.c:
870         * examples/launch/.cvsignore:
871         * examples/launch/Makefile.am:
872         * examples/launch/mp3parselaunch.c:
873         * examples/launch/mp3play:
874         * examples/manual/.cvsignore:
875         * examples/manual/Makefile.am:
876         * examples/manual/extract.pl:
877         * examples/metadata/Makefile.am:
878         * examples/metadata/read-metadata.c:
879         * examples/mixer/.cvsignore:
880         * examples/mixer/Makefile.am:
881         * examples/mixer/mixer.c:
882         * examples/mixer/mixer.h:
883         * examples/pingpong/.cvsignore:
884         * examples/pingpong/Makefile.am:
885         * examples/pingpong/pingpong.c:
886         * examples/plugins/.cvsignore:
887         * examples/plugins/Makefile.am:
888         * examples/plugins/example.c:
889         * examples/plugins/example.h:
890         * examples/pwg/.cvsignore:
891         * examples/pwg/Makefile.am:
892         * examples/pwg/extract.pl:
893         * examples/queue/.cvsignore:
894         * examples/queue/Makefile.am:
895         * examples/queue/queue.c:
896         * examples/queue2/.cvsignore:
897         * examples/queue2/Makefile.am:
898         * examples/queue2/queue2.c:
899         * examples/queue3/.cvsignore:
900         * examples/queue3/Makefile.am:
901         * examples/queue3/queue3.c:
902         * examples/queue4/.cvsignore:
903         * examples/queue4/Makefile.am:
904         * examples/queue4/queue4.c:
905         * examples/retag/.cvsignore:
906         * examples/retag/Makefile.am:
907         * examples/retag/retag.c:
908         * examples/retag/transcode.c:
909         * examples/thread/.cvsignore:
910         * examples/thread/Makefile.am:
911         * examples/thread/thread.c:
912         * examples/typefind/.cvsignore:
913         * examples/typefind/Makefile.am:
914         * examples/typefind/typefind.c:
915         * examples/xml/.cvsignore:
916         * examples/xml/Makefile.am:
917         * examples/xml/createxml.c:
918         * examples/xml/runxml.c:
919         * tests/Makefile.am:
920         * tests/check/Makefile.am:
921         * testsuite/.cvsignore:
922         * testsuite/Makefile.am:
923         * testsuite/Rules:
924         * testsuite/caps/.cvsignore:
925         * testsuite/caps/Makefile.am:
926         * testsuite/caps/app_fixate.c:
927         * testsuite/caps/audioscale.c:
928         * testsuite/caps/caps.c:
929         * testsuite/caps/caps.h:
930         * testsuite/caps/caps_strings:
931         * testsuite/caps/compatibility.c:
932         * testsuite/caps/deserialize.c:
933         * testsuite/caps/enumcaps.c:
934         * testsuite/caps/eratosthenes.c:
935         * testsuite/caps/filtercaps.c:
936         * testsuite/caps/fixed.c:
937         * testsuite/caps/fraction-convert.c:
938         * testsuite/caps/fraction-multiply-and-zero.c:
939         * testsuite/caps/intersect2.c:
940         * testsuite/caps/intersection.c:
941         * testsuite/caps/normalisation.c:
942         * testsuite/caps/random.c:
943         * testsuite/caps/renegotiate.c:
944         * testsuite/caps/sets.c:
945         * testsuite/caps/simplify.c:
946         * testsuite/caps/string-conversions.c:
947         * testsuite/caps/structure.c:
948         * testsuite/caps/subtract.c:
949         * testsuite/caps/union.c:
950         * testsuite/debug/.cvsignore:
951         * testsuite/debug/Makefile.am:
952         * testsuite/debug/category.c:
953         * testsuite/debug/commandline.c:
954         * testsuite/debug/global.c:
955         * testsuite/debug/output.c:
956         * testsuite/debug/printf_extension.c:
957         * testsuite/dlopen/.cvsignore:
958         * testsuite/dlopen/Makefile.am:
959         * testsuite/dlopen/dlopen_gst.c:
960         * testsuite/dlopen/loadgst.c:
961         * testsuite/elements/.cvsignore:
962         * testsuite/elements/Makefile.am:
963         * testsuite/elements/gst-inspect-check.in:
964         * testsuite/elements/struct_i386.h:
965         * testsuite/elements/struct_size.c:
966         * testsuite/indexers/.cvsignore:
967         * testsuite/indexers/Makefile.am:
968         * testsuite/indexers/cache1.c:
969         * testsuite/indexers/indexdump.c:
970         * testsuite/parse/.cvsignore:
971         * testsuite/parse/Makefile.am:
972         * testsuite/parse/parse1.c:
973         * testsuite/parse/parse2.c:
974         * testsuite/plugin/.cvsignore:
975         * testsuite/plugin/Makefile.am:
976         * testsuite/plugin/README:
977         * testsuite/plugin/dynamic.c:
978         * testsuite/plugin/linked.c:
979         * testsuite/plugin/loading.c:
980         * testsuite/plugin/registry.c:
981         * testsuite/plugin/static.c:
982         * testsuite/plugin/static2.c:
983         * testsuite/plugin/testplugin.c:
984         * testsuite/plugin/testplugin2.c:
985         * testsuite/plugin/testplugin2_s.c:
986         * testsuite/plugin/testplugin_s.c:
987         * testsuite/refcounting/.cvsignore:
988         * testsuite/refcounting/Makefile.am:
989         * testsuite/refcounting/bin.c:
990         * testsuite/refcounting/element.c:
991         * testsuite/refcounting/element_pad.c:
992         * testsuite/refcounting/mainloop.c:
993         * testsuite/refcounting/mem.c:
994         * testsuite/refcounting/mem.h:
995         * testsuite/refcounting/object.c:
996         * testsuite/refcounting/pad.c:
997         * testsuite/refcounting/sched.c:
998         * testsuite/refcounting/thread.c:
999         * testsuite/states/.cvsignore:
1000         * testsuite/states/Makefile.am:
1001         * testsuite/states/bin.c:
1002         * testsuite/states/locked.c:
1003         * testsuite/states/parent.c:
1004         * testsuite/threads/.cvsignore:
1005         * testsuite/threads/159566.c:
1006         * testsuite/threads/159852.c:
1007         * testsuite/threads/Makefile.am:
1008         * testsuite/threads/queue.c:
1009         * testsuite/threads/signals.c:
1010         * testsuite/threads/staticrec.c:
1011         * testsuite/threads/thread.c:
1012         * testsuite/threads/threadb.c:
1013         * testsuite/threads/threadc.c:
1014         * testsuite/threads/threadd.c:
1015         * testsuite/threads/threade.c:
1016         * testsuite/threads/threadf.c:
1017         * testsuite/threads/threadg.c:
1018         * testsuite/threads/threadh.c:
1019         * testsuite/threads/threadi.c:
1020           move all of these under tests
1021
1022 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1023
1024         * configure.ac:
1025         * tests/Makefile.am:
1026           fix distcheck
1027
1028 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1029
1030         * docs/gst/gstreamer-sections.txt:
1031         * tests/sched/.cvsignore:
1032         * tests/sched/Makefile.am:
1033         * tests/sched/cases/(fs-fs).xml:
1034         * tests/sched/cases/(fs-i-fs).xml:
1035         * tests/sched/cases/(fs-i-i-fs).xml:
1036         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1037         * tests/sched/dynamic-pipeline.c:
1038         * tests/sched/interrupt1.c:
1039         * tests/sched/interrupt2.c:
1040         * tests/sched/interrupt3.c:
1041         * tests/sched/runtestcases:
1042         * tests/sched/runxml.c:
1043         * tests/sched/sched-stress.c:
1044         * tests/sched/sort.c:
1045         * tests/sched/testcases:
1046         * tests/sched/testcases1.tc:
1047         * tests/seeking/.cvsignore:
1048         * tests/seeking/Makefile.am:
1049         * tests/seeking/seeking1.c:
1050         * tests/threadstate/.cvsignore:
1051         * tests/threadstate/Makefile.am:
1052         * tests/threadstate/test1.c:
1053         * tests/threadstate/test2.c:
1054         * tests/threadstate/threadstate1.c:
1055         * tests/threadstate/threadstate2.c:
1056         * tests/threadstate/threadstate3.c:
1057         * tests/threadstate/threadstate4.c:
1058         * tests/threadstate/threadstate5.c:
1059           remove obsolete tests
1060         * configure.ac:
1061         * tests/bench-complexity.scm:
1062         * tests/bench-mass_elements.scm:
1063         * tests/complexity.c:
1064         * tests/complexity.gnuplot:
1065         * tests/instantiate/.cvsignore:
1066         * tests/instantiate/Makefile.am:
1067         * tests/instantiate/caps.c:
1068         * tests/mass_elements.c:
1069         * tests/network-clock-utils.scm:
1070         * tests/network-clock.scm:
1071         * tests/plot-data:
1072         First pass at cleaning up tests/ dir before moving the rest
1073         Combined with CVS surgery
1074
1075 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1076
1077         * po/POTFILES.in:
1078           queue has moved, update
1079
1080 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1081
1082         * docs/gst/gstreamer-sections.txt:
1083           remove double entries from the docs
1084         * gst/gst_private.h:
1085         * gst/gstinfo.c: (_gst_debug_init):
1086           remove the THREAD debug category
1087         * gst/Makefile.am:
1088         * gst/gstqueue.c:
1089         * gst/gstqueue.h:
1090         * docs/gst/gstreamer.types:
1091         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1092         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1093           completely move queue and fix up debugging categories
1094
1095 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1096
1097         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1098           make initialization portable, using LL is not
1099
1100 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1101
1102         * win32/common/gstconfig.h:
1103           add large padding
1104
1105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * win32/common/libgstreamer.def:
1108           rename symbols; sort base section
1109
1110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1111
1112         * gst/gstclock.c: (do_linear_regression):
1113           remove crack non-portable handrolled DEBUG macro
1114
1115 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * docs/random/release:
1118           update notes
1119         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1120         (gst_object_flags_get_type), (register_gst_bin_flags),
1121         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1122         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1123         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1124         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1125         (gst_caps_flags_get_type), (register_gst_clock_return),
1126         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1127         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1128         (gst_clock_flags_get_type), (register_gst_state),
1129         (gst_state_get_type), (register_gst_state_change_return),
1130         (gst_state_change_return_get_type), (register_gst_state_change),
1131         (gst_state_change_get_type), (register_gst_element_flags),
1132         (gst_element_flags_get_type), (register_gst_core_error),
1133         (gst_core_error_get_type), (register_gst_library_error),
1134         (gst_library_error_get_type), (register_gst_resource_error),
1135         (gst_resource_error_get_type), (register_gst_stream_error),
1136         (gst_stream_error_get_type), (register_gst_event_type_flags),
1137         (gst_event_type_flags_get_type), (register_gst_event_type),
1138         (gst_event_type_get_type), (register_gst_seek_type),
1139         (gst_seek_type_get_type), (register_gst_seek_flags),
1140         (gst_seek_flags_get_type), (register_gst_format),
1141         (gst_format_get_type), (register_gst_index_certainty),
1142         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1143         (gst_index_entry_type_get_type),
1144         (register_gst_index_lookup_method),
1145         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1146         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1147         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1148         (gst_index_flags_get_type), (register_gst_debug_level),
1149         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1150         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1151         (gst_iterator_result_get_type), (register_gst_iterator_item),
1152         (gst_iterator_item_get_type), (register_gst_message_type),
1153         (gst_message_type_get_type), (register_gst_mini_object_flags),
1154         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1155         (gst_pad_link_return_get_type), (register_gst_flow_return),
1156         (gst_flow_return_get_type), (register_gst_activate_mode),
1157         (gst_activate_mode_get_type), (register_gst_pad_direction),
1158         (gst_pad_direction_get_type), (register_gst_pad_flags),
1159         (gst_pad_flags_get_type), (register_gst_pad_presence),
1160         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1161         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1162         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1163         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1164         (gst_plugin_flags_get_type), (register_gst_rank),
1165         (gst_rank_get_type), (register_gst_query_type),
1166         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1167         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1168         (gst_tag_flag_get_type), (register_gst_task_state),
1169         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1170         (gst_alloc_trace_flags_get_type),
1171         (register_gst_type_find_probability),
1172         (gst_type_find_probability_get_type), (register_gst_uri_type),
1173         (gst_uri_type_get_type), (register_gst_parse_error),
1174         (gst_parse_error_get_type):
1175         * win32/common/gstenumtypes.h:
1176         * win32/common/gstversion.h:
1177           update visual studio generated files
1178
1179 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1180
1181         * win32/vs6/libgstbase.dsp:
1182         * win32/vs6/libgstelements.dsp:
1183           update project files for new locations
1184
1185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1186
1187         * Makefile.am:
1188           remove some files
1189         * README:
1190           reinstate and update
1191         * DEVEL:
1192         * REQUIREMENTS:
1193           removed
1194         * LICENSE:
1195         * docs/random/LICENSE:
1196           moved to random
1197
1198 2005-11-30  Edward Hervey  <edward@fluendo.com>
1199
1200         * gst/gsttypefind.c: (gst_type_find_register):
1201         * gst/gsttypefind.h:
1202         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1203         (gst_type_find_factory_dispose):
1204         * gst/gsttypefindfactory.h:
1205         Fix memory leak in GstTypeFindFactory.
1206
1207 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1208
1209         * gst/gst.c:
1210         * plugins/elements/Makefile.am:
1211         * plugins/elements/gstelements.c:
1212         * plugins/elements/gstqueue.c:
1213           move queue from core to the elements plugin
1214
1215 2005-11-29  Andy Wingo  <wingo@pobox.com>
1216
1217         * libs/gst/base/gstbasetransform.h: 
1218         * libs/gst/base/gstbasesrc.h: 
1219         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1220
1221         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1222         of pointers by which to pad very extensible base classes (like the
1223         ones in libs/gst/base).
1224
1225 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1226
1227         * docs/gst/gstreamer-docs.sgml:
1228         * docs/gst/gstreamer-sections.txt:
1229         * docs/libs/gstreamer-libs-docs.sgml:
1230         * docs/libs/gstreamer-libs-sections.txt:
1231           moving documentation from core to lib
1232
1233 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1234
1235         * check/Makefile.am:
1236         * configure.ac:
1237         * docs/gst/Makefile.am:
1238         * gst/Makefile.am:
1239         * gst/base/.cvsignore:
1240         * gst/base/Makefile.am:
1241         * gst/base/README:
1242         * gst/base/gstadapter.c:
1243         * gst/base/gstadapter.h:
1244         * gst/base/gstbasesink.c:
1245         * gst/base/gstbasesink.h:
1246         * gst/base/gstbasesrc.c:
1247         * gst/base/gstbasesrc.h:
1248         * gst/base/gstbasetransform.c:
1249         * gst/base/gstbasetransform.h:
1250         * gst/base/gstcollectpads.c:
1251         * gst/base/gstcollectpads.h:
1252         * gst/base/gstpushsrc.c:
1253         * gst/base/gstpushsrc.h:
1254         * gst/base/gsttypefindhelper.c:
1255         * gst/base/gsttypefindhelper.h:
1256         * gst/check/Makefile.am:
1257         * gst/check/gstcheck.c:
1258         * gst/check/gstcheck.h:
1259         * gst/net/Makefile.am:
1260         * gst/net/gstnet.h:
1261         * gst/net/gstnetclientclock.c:
1262         * gst/net/gstnetclientclock.h:
1263         * gst/net/gstnettimepacket.c:
1264         * gst/net/gstnettimepacket.h:
1265         * gst/net/gstnettimeprovider.c:
1266         * gst/net/gstnettimeprovider.h:
1267         * libs/gst/Makefile.am:
1268         * libs/gst/base/Makefile.am:
1269         * libs/gst/base/gstbasetransform.c:
1270         * libs/gst/check/Makefile.am:
1271         * plugins/elements/Makefile.am:
1272         * po/POTFILES.in:
1273           CVS surgery + support to move base, check, and net out of gst
1274           and into libs/gst
1275
1276 2005-11-29  Andy Wingo  <wingo@pobox.com>
1277
1278         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1279
1280         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1281         padding.
1282
1283         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1284
1285         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1286
1287         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1288
1289         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1290         padding; reduces object size by about 30%. We don't expect
1291         anything else to go into gstobject.
1292
1293         * gst/gstminiobject.h (struct _GstMiniObject)
1294         (struct _GstMiniObjectClass): Only one pointer of padding; the
1295         payload is only a pointer and two ints anyway. For the class there
1296         are only two methods as well.
1297         
1298         * gst/gstelement.h (struct _GstElementClass): Removed
1299         the state_changed signal callback, it is not used.
1300
1301 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1302
1303         * docs/gst/gstreamer.types:
1304           fix includes, though they are a little dinky
1305
1306 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1307
1308         * check/Makefile.am:
1309           look in the right place for elements, a lot more chance of
1310           success
1311         * gst/Makefile.am:
1312           remove indexers and elements subdirs
1313         * plugins/Makefile.am:
1314           make indexers conditional
1315
1316 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1317
1318         * Makefile.am:
1319         * configure.ac:
1320         * plugins/elements/Makefile.am:
1321         * plugins/elements/gstcapsfilter.c:
1322         * plugins/elements/gstfilesink.c:
1323         * plugins/elements/gstfilesrc.c:
1324         * plugins/elements/gstidentity.c:
1325         * plugins/indexers/Makefile.am:
1326           do CVS surgery and related build fixery to move elements
1327           and indexers in a new gstreamer/plugins directory, out of the
1328           gst/ directory
1329
1330 2005-11-29  Andy Wingo  <wingo@pobox.com>
1331
1332         * check/Makefile.am:
1333         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1334         * pkgconfig/gstreamer-net.pc.in:
1335         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1336         #322257.
1337
1338 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * tools/Makefile.am:
1341         * tools/gst-complete.1.in:
1342         * tools/gst-complete.c:
1343         * tools/gst-compprep.1.in:
1344         * tools/gst-compprep.c:
1345           removing -compprep and -complete
1346
1347 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1348
1349         * gst/gstevent.c: (gst_event_new_new_segment),
1350         (gst_event_parse_new_segment):
1351         * gst/gstevent.h:
1352           fix #320529 - clean up new_segment API and structure.
1353           Let's hope everyone was using the methods, and not the structure.
1354
1355 2005-11-29  Edward Hervey  <edward@fluendo.com>
1356
1357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1358         (gst_base_sink_event), (gst_base_sink_do_sync),
1359         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1360         Properly handle non GST_FORMAT_TIME segment
1361         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1362         Properly handle non GST_FORMAT_TIME segment
1363         * gst/gstsegment.c:
1364         This function is valid if the accumulator is 0 and the format
1365         is different from the requested format.
1366         
1367 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1368
1369         * docs/gst/gstreamer-sections.txt:
1370         Add gst_query_new_seeking and gst_query_parse_seeking to the
1371         docs.
1372
1373 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1374
1375         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1376           Treat a pad alloc with new caps the same as if we were not
1377           negotiated, in order to allow a changing upstream output
1378           to produce a new format of data.
1379
1380 2005-11-29  Edward Hervey  <edward@fluendo.com>
1381
1382         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1383         (gst_base_transform_event), (gst_base_transform_eventfunc):
1384         The event virtual method is now properly implemented, with a default
1385         handler
1386         Sub classes should call the parent_class event method. They should
1387         return FALSE if they had a problem handling the given event, or don't
1388         want GstBaseTransform to send that even downstream
1389         * gst/elements/gstidentity.c: (gst_identity_class_init),
1390         (gst_identity_init), (gst_identity_event),
1391         (gst_identity_transform_ip), (gst_identity_set_property),
1392         (gst_identity_get_property):
1393         * gst/elements/gstidentity.h:
1394         Added the single-segment boolean property.
1395         If set to TRUE, it will output a single segment of data, starting from
1396         0, will eat up all incoming newsegment, and modify the timestamp of the
1397         buffers accordingly
1398
1399 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1400
1401         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1402           Don't ref NULL target pad (#322751). Improve docs.
1403
1404 2005-11-29  Michael Smith  <msmith@fluendo.com>
1405
1406         * gst/gstregistryxml.c: (load_plugin):
1407           Don't crash if we failed to load a feature from a plugin. 
1408
1409 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1410
1411         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1412         (GST_START_TEST):
1413           use more check API and less GLib API
1414
1415 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * Makefile.am:
1418           don't run checks if we don't have check
1419         * common/check.mak:
1420           remove the registry when running make torture
1421         * docs/gst/gstreamer-sections.txt:
1422           remove second multiply
1423         * gst/gstqueue.c: (gst_queue_loop):
1424           fix a compile warning when disabling debug
1425
1426 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1427
1428         * gst/gstinfo.h:
1429         Hey! Let's print the pad name if the pointer != NULL instead
1430         of when it == NULL :-)
1431
1432 2005-11-28  Wim Taymans  <wim@fluendo.com>
1433
1434         * check/gst/gstutils.c: (GST_START_TEST):
1435         Updated check, add some scaling accuracy checking code.
1436
1437         * gst/gstutils.c: (gst_util_div128_64),
1438         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1439         (gst_util_uint64_scale_int):
1440         Fix 6 times faster division code. Optimize for common 
1441         1/1 and less common X/1 cases.
1442
1443 2005-11-28  Wim Taymans  <wim@fluendo.com>
1444
1445         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1446         More checks.
1447
1448         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1449         (do_linear_regression), (gst_clock_add_observation):
1450         Cleanups.
1451         Release lock when the clock cannot be slaved.
1452         Catch the case where the regression returned an invalid denominator.
1453
1454         * gst/gstutils.c: (gst_util_div128_64_iterate),
1455         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1456         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1457         Add protentially more performant non-iterative 128/64 divide function
1458         that unfortunatly does not work yet.
1459         Shortcut the trivial 0/X = 0 case.
1460         Remove the warnings on overflow.
1461
1462 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1463
1464         * gst/gstplugin.c: (gst_plugin_register_func):
1465           everything causing a plugin not to load should be at least a WARNING
1466
1467 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1468
1469         * docs/random/ensonic/dparams.txt:
1470           some TODOs for the next dev cycle
1471         * libs/gst/controller/gstcontroller.c:
1472         (gst_controlled_property_set_interpolation_mode),
1473         (gst_controlled_property_new):
1474         * libs/gst/controller/gstcontroller.h:
1475           use base type to assign acccessor functions
1476
1477 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1478
1479         * check/Makefile.am:
1480         Oops, that should have been top_srcdir
1481
1482 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1483
1484         * check/Makefile.am:
1485         * check/elements/fdsrc.c: (GST_START_TEST):
1486         Use a cmdline define to specify the location of a file to use for
1487         testing, to avoid breaking distcheck.
1488
1489 2005-11-28  Andy Wingo  <wingo@pobox.com>
1490
1491         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1492
1493 2005-11-28  Edward Hervey  <edward@fluendo.com>
1494
1495         * tools/gst-launch.c: (main):
1496         Clarify the output strings, makes it easier to translate.
1497         Fixes #322626
1498
1499 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1500
1501         * gst/Makefile.am:
1502           don't try and build net if we don't even have <sys/socket.h>
1503
1504 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1505
1506         * check/Makefile.am:
1507         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1508         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1509           Add tests for fdsrc seekability
1510
1511         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1512         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1513         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1514         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1515         * gst/elements/gstfdsrc.h:
1516           fdsrc should not be a 'live' source.
1517           Implement seeking on seekable fd's.
1518
1519         * gst/gstquery.c: (gst_query_new_seeking),
1520         (gst_query_parse_seeking):
1521         * gst/gstquery.h:
1522           Implement SEEKING query functions: 
1523             *_new_seeking and *_parse_seeking
1524
1525 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1526
1527         * gst/gstelement.c: (gst_element_dispose):
1528           don't loop forever
1529
1530         * gst/gstiterator.c:
1531         * gst/gststructure.c:
1532           doc fixes
1533
1534         * libs/gst/controller/gstcontroller.c:
1535         (gst_controlled_property_set_interpolation_mode):
1536         * libs/gst/controller/gstcontroller.h:
1537         * libs/gst/controller/gstinterpolation.c:
1538         (interpolate_none_get_enum_value_array):
1539           support controlling enums
1540
1541 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1542
1543         * gst/gstvalue.c:
1544           Improve documentation for gst_value_union().
1545
1546         * gst/gstvalue.h:
1547           Change return value for union, intersect and subtract functions
1548           from gint to gboolean.
1549
1550 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1551
1552         * gst/gstvalue.c: (gst_value_serialize_any_list),
1553         (gst_value_transform_any_list_string),
1554         (gst_value_deserialize_list), (gst_value_deserialize_array),
1555         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1556         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1557         (gst_value_set_fraction_range_full),
1558         (gst_value_deserialize_fraction_range),
1559         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1560         (gst_value_deserialize_boolean),
1561         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1562         (gst_value_serialize_float), (gst_value_deserialize_float),
1563         (gst_string_wrap), (gst_value_deserialize_string),
1564         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1565         (gst_value_union_int_range_int_range),
1566         (gst_value_intersect_int_range_int_range),
1567         (gst_value_intersect_double_range_double_range),
1568         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1569         (gst_value_subtract_int_range_int_range),
1570         (gst_value_subtract_double_double_range),
1571         (gst_value_subtract_double_range_double_range),
1572         (gst_value_deserialize_fraction):
1573         * gst/gstvalue.h:
1574           Use gint, gdouble and gchar in our API instead of int, double and
1575           char (and make usage in gstvalue.c more consistent).
1576
1577 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1578
1579         * check/Makefile.am:
1580         * libs/gst/controller/Makefile.am:
1581         * libs/gst/dataprotocol/Makefile.am:
1582           fix up Makefile.am and remove GST_ENABLE_NEW
1583
1584 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1585
1586         * configure.ac:
1587         * gst/Makefile.am:
1588         * gst/base/Makefile.am:
1589         * gst/check/Makefile.am:
1590         * gst/elements/Makefile.am:
1591         * gst/net/Makefile.am:
1592           update LDFLAGS use some more
1593
1594 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1595
1596         * common/m4/gst-doc.m4:
1597           Fixes #312589
1598
1599 2005-11-26  Edward Hervey  <edward@fluendo.com>
1600
1601         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1602         This shouldn't issue a g_warning since it returns NULL if it
1603         couldn't find the plugin, and all functions using this behave
1604         properly on a NULL return. Switching to a GST_WARNING.
1605
1606 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1607
1608         * gst/gstbin.c: (gst_bin_handle_message_func):
1609         Don't leak clock messages.
1610
1611 2005-11-25  Wim Taymans  <wim@fluendo.com>
1612
1613         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1614         (gst_util_uint64_scale_int):
1615         Optimisations, remove unneeded vars.
1616
1617 2005-11-25  Wim Taymans  <wim@fluendo.com>
1618
1619         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1620         Added more checks for the high precision uint64 cases.
1621
1622         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1623         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1624         Implement high precision (guint64 * guint64) / guint64.
1625
1626 2005-11-24  Wim Taymans  <wim@fluendo.com>
1627
1628         * gst/base/gstbasesrc.c: (gst_base_src_query):
1629         Fix wrong percentage query.
1630
1631         * gst/gstutils.c: (gst_util_uint64_scale),
1632         (gst_util_uint64_scale_int):
1633         Add some more common cases that can be handled 
1634         efficiently to _scale.
1635
1636 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1637
1638         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1639         (gst_mini_object_suite):
1640           don't use check calls from threads; check probably isn't
1641           threadsafe and using a lock to make it threadsafe would
1642           defeat the purpose of this check
1643         * gst/check/gstcheck.c:
1644         * gst/check/gstcheck.h:
1645           use GST_DEBUG some more
1646
1647 2005-11-24  Wim Taymans  <wim@fluendo.com>
1648
1649         * gst/gstutils.c: (gst_util_uint64_scale),
1650         (gst_util_uint64_scale_int):
1651         Chain trivial case to _scale_int.
1652
1653 2005-11-24  Wim Taymans  <wim@fluendo.com>
1654
1655         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1656         Added test for scaling.
1657
1658         * gst/gstclock.h:
1659         Small doc fix.
1660
1661         * gst/gstutils.c: (gst_util_uint64_scale_int):
1662         Implemented high precision scaling code.
1663
1664 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1665
1666         * gst/gstinfo.h:
1667           do not crash on pad==NULL
1668
1669 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1670
1671         Patch by: Stefan Kost
1672
1673         * common/gtk-doc.mak:
1674         * docs/gst/Makefile.am:
1675         * docs/libs/Makefile.am:
1676           Fix distcheck issues for the libraries docs build
1677           Closes #319599.
1678
1679 2005-11-24  Michael Smith <msmith@fluendo.com>
1680
1681         * docs/manual/basics-helloworld.xml:
1682           Fix bug #315027: memory leak in example code in docs.
1683
1684 2005-11-24  Michael Smith <msmith@fluendo.com>
1685
1686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1687           Unlock the PREROLL_LOCK in a failure case.
1688
1689 2005-11-24  Wim Taymans  <wim@fluendo.com>
1690
1691         * docs/gst/gstreamer-sections.txt:
1692         * gst/base/gstadapter.h:
1693         * gst/base/gstbasesink.h:
1694         * gst/base/gstbasesrc.h:
1695         * gst/base/gstbasetransform.h:
1696         * gst/base/gstpushsrc.h:
1697         * gst/elements/gstfakesink.h:
1698         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1699         * gst/elements/gstfakesrc.h:
1700         * gst/elements/gstfilesink.h:
1701         * gst/elements/gstfilesrc.h:
1702         * gst/gst.c:
1703         * gst/gstbin.c:
1704         * gst/gstbuffer.c: (_gst_buffer_copy):
1705         * gst/gstbus.h:
1706         * gst/gstcaps.c:
1707         * gst/gstchildproxy.c:
1708         * gst/gstclock.c:
1709         * gst/gstelement.c:
1710         * gst/gstelementfactory.c:
1711         * gst/gstelementfactory.h:
1712         * gst/gstevent.c:
1713         * gst/gstghostpad.h:
1714         * gst/gstindex.h:
1715         * gst/gstinterface.h:
1716         * gst/gstminiobject.c:
1717         * gst/gstminiobject.h:
1718         * gst/gstpad.c:
1719         * gst/gstpad.h:
1720         * gst/gstpadtemplate.h:
1721         * gst/gstpipeline.h:
1722         * gst/gstpluginfeature.h:
1723         * gst/gstquery.h:
1724         * gst/gstqueue.h:
1725         * gst/gsttaglist.c:
1726         * gst/gsttaglist.h:
1727         * gst/gsttagsetter.c:
1728         * gst/gsttagsetter.h:
1729         * gst/gsttrace.c:
1730         * gst/gsttrace.h:
1731         * gst/gsttypefind.h:
1732         * gst/gsturi.h:
1733         * gst/gstvalue.c:
1734         * gst/net/gstnetclientclock.c:
1735         * gst/net/gstnetclientclock.h:
1736         * gst/net/gstnettimepacket.c:
1737         * gst/net/gstnettimeprovider.c:
1738         * gst/net/gstnettimeprovider.h:
1739         Doc fixes.
1740
1741 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * configure.ac: back to HEAD
1744
1745 === release 0.9.6 ===
1746
1747 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1748
1749         * configure.ac:
1750           releasing 0.9.6, "Always On Time"
1751
1752 2005-11-23  Wim Taymans  <wim@fluendo.com>
1753
1754         * docs/gst/gstreamer-sections.txt:
1755         * gst/glib-compat.c:
1756         * gst/gsttagsetter.c:
1757         * gst/gstvalue.c:
1758         * gst/net/gstnetclientclock.c:
1759         * gst/net/gstnettimepacket.h:
1760         Doc updates.
1761
1762 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1763
1764         * docs/faq/using.xml:
1765         * docs/libs/tmpl/gstcontrol.sgml:
1766         * docs/manual/advanced-dparams.xml:
1767         * docs/manual/appendix-checklist.xml:
1768         * docs/manual/basics-elements.xml:
1769         * docs/pwg/other-source.xml:
1770         * docs/random/moving-plugins:
1771         * gst/gstpad.c:
1772         * tools/gst-launch.1.in:
1773           remove mentions of sinesrc
1774
1775 2005-11-23  Michael Smith <msmith@fluendo.com>
1776
1777         * docs/gst/gstreamer-sections.txt:
1778           Update for new API and API changes.
1779         * gst/gstobject.h:
1780           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1781         * gst/gstvalue.c:
1782           Documentation typo fix.
1783         * gst/net/gstnettimepacket.c:
1784           Documentation fixes for arguments.
1785
1786 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1787
1788         * gst/gststructure.c: (gst_structure_get_fraction),
1789         (gst_structure_parse_value),
1790         (gst_structure_fixate_field_nearest_fraction):
1791         * gst/gststructure.h:
1792         * gst/gstutils.c: (gst_util_uint64_scale_int):
1793         * gst/gstutils.h:
1794         * scripts/update-funcnames:
1795         API Changes. 
1796         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1797         Make gst_structure_fixate_field_nearest_fraction take a numerator
1798         and denominator argument instead of a GValue
1799         add gst_structure_get_fraction helper function.
1800
1801 2005-11-23  Wim Taymans  <wim@fluendo.com>
1802
1803         * docs/design/part-TODO.txt:
1804         Update TODO.
1805
1806         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1807         * gst/net/gstnetclientclock.h:
1808         Use parent fields for timeout and window_size.
1809
1810 2005-11-23  Andy Wingo  <wingo@pobox.com>
1811
1812         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1813         rate_num/rate_denom change.
1814
1815         * gst/net/gstnetclientclock.c
1816         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1817         OBJECT_LOCK. Don't call add_observation with the lock.
1818
1819         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1820         fraction.
1821         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1822         rate fraction.
1823         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1824         deal with rate as a fraction whose numerator and denominator are
1825         GstClockTime values.
1826         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1827         master; the other fields are protected by the SLAVE_LOCK.
1828         (do_linear_regression): Note that this must be called with the
1829         SLAVE_LOCK.
1830         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1831         OBJECT_LOCK. Call set_calibration instead of touching the
1832         variables directly.
1833         (gst_clock_set_property, gst_clock_get_property): Protect
1834         master/slave parameters with the SLAVE_LOCK.
1835
1836         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1837         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1838         note that all of the instance variables that add_observation and
1839         the set_master functions use are protected by that lock and not
1840         the OBJECT_LOCK.
1841         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1842
1843         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1844         the caller to take the object lock.
1845
1846 2005-11-23  Wim Taymans  <wim@fluendo.com>
1847
1848         * gst/gsterror.c: (_gst_core_errors_init):
1849         * gst/gsterror.h:
1850         Add error for clock stuff.
1851
1852         * gst/gstpipeline.c: (gst_pipeline_change_state),
1853         (gst_pipeline_set_clock):
1854         Post clock error when clock cannot be used in a pipeline.
1855
1856 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1857
1858         * docs/gst/gstreamer-sections.txt:
1859           make two symbols from gstinfo private for the docs
1860         * gst/base/gstcollectpads.h:
1861         * gst/gstutils.c:
1862           fix doc typos, update docs
1863
1864 2005-11-22  Wim Taymans  <wim@fluendo.com>
1865
1866         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1867         (gst_base_sink_wait), (gst_base_sink_do_sync),
1868         (gst_base_sink_handle_event):
1869         * gst/base/gstbasesink.h:
1870         No need to store the clock, the parent element class already
1871         has it.
1872
1873         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1874         Updates for clock_set returning a gboolean
1875
1876         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1877         (gst_clock_id_wait_async), (gst_clock_class_init),
1878         (gst_clock_init), (gst_clock_finalize),
1879         (gst_clock_get_internal_time), (gst_clock_get_time),
1880         (gst_clock_slave_callback), (gst_clock_set_master),
1881         (gst_clock_get_master), (do_linear_regression),
1882         (gst_clock_add_observation), (gst_clock_set_property),
1883         (gst_clock_get_property):
1884         * gst/gstclock.h:
1885         Implement master/slave. When setting a clock as a slave, a
1886         periodic timeout is scheduled to sample master and slave times.
1887         Then the slave clock is recalibrated to match offset and rate
1888         of the master clock.
1889         Update logging a bit.
1890         Add flag so that a clock can state that is cannot be slaved to
1891         another clock.
1892
1893         * gst/gstelement.c: (gst_element_set_clock):
1894         * gst/gstelement.h:
1895         The set clock returns a gboolean for when an element cannot
1896         deal with the selected clock in the pipeline. 
1897
1898         * gst/gstpipeline.c: (gst_pipeline_change_state),
1899         (gst_pipeline_set_clock):
1900         * gst/gstpipeline.h:
1901         Handle the case where the selected clock cannot be set on
1902         the pipeline.
1903
1904         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1905         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1906         (gst_net_client_clock_set_property),
1907         (gst_net_client_clock_get_property),
1908         (gst_net_client_clock_observe_times):
1909         * gst/net/gstnetclientclock.h:
1910         Use regression code in GstClock parent, remove duplicated
1911         functionality.
1912
1913 2005-11-22  Michael Smith <msmith@fluendo.com>
1914
1915         * gst/gstutils.c: (gst_util_clock_time_scale):
1916         * gst/gstutils.h:
1917         * docs/gst/gstreamer-sections.txt:
1918           Rename method to have extra underscore.
1919
1920 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * gst/elements/Makefile.am:
1923         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1924         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1925         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1926         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1927         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1928         * gst/elements/gstfakesrc.h:
1929         * gst/gstqueue.c: (queue_leaky_get_type):
1930           correctly fix GEnumValues so that nick is the short lowercase
1931           dashed tag
1932         * tools/gst-inspect.c: (print_element_properties_info):
1933           also show the nick, since it's useful to use from parse_launch
1934           syntax
1935           Fixes #322139
1936
1937 2005-11-22  Michael Smith <msmith@fluendo.com>
1938
1939         * gst/gstutils.c: (gst_util_clocktime_scale):
1940         * gst/gstutils.h:
1941         * docs/gst/gstreamer-sections.txt:
1942           Add util method for scaling a clocktime by a fraction. Useful 
1943           implementation is left as an exercise for the reader.
1944
1945 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1946
1947         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1948         If needed, allocate storage in the destination value during
1949         collection.
1950
1951 2005-11-22  Edward Hervey  <edward@fluendo.com>
1952
1953         * docs/gst/gstreamer-sections.txt:
1954         * gst/Makefile.am:
1955         * gst/gst.h:
1956         * gst/gsturitype.c:
1957         * gst/gsturitype.h:
1958         * gst/gstutils.c: (gst_util_set_object_arg):
1959         * tools/gst-compprep.c: (main):
1960         * tools/gst-inspect.c: (print_element_properties_info):
1961         Removed GstURI, closes bug #321061
1962
1963 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1964
1965         * check/gst/gststructure.c: (GST_START_TEST):
1966         * gst/gststructure.c: (gst_structure_parse_value):
1967           Oops, broke automatic string type parsing.
1968           Add a test to catch it in future.
1969
1970 2005-11-22  Andy Wingo  <wingo@pobox.com>
1971
1972         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1973         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1974         Actually rename the function implementations. Grr.
1975
1976 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1977
1978         * check/gst/capslist.h:
1979           Comment test cases
1980         * check/gst/gststructure.c: (GST_START_TEST),
1981         (gst_structure_suite):
1982           Test automatic value type detection in gst_structure_from_string.
1983         * gst/gststructure.c: (gst_structure_parse_value):
1984           Add fraction as a type we try and guess automatically in
1985           caps/structure strings.
1986
1987 2005-11-22  Andy Wingo  <wingo@pobox.com>
1988
1989         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1990
1991         * gst/gsttagsetter.h:
1992         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1993         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1994         (gst_tag_setter_add_tag_valist)
1995         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1996         _add_values, _add_valist, and _add_valist_values. Since this is an
1997         interface the function suffixes should be more explicit so
1998         language binding don't end up with element.add_valist ->
1999         gst_tag_setter_add_valist, for example. Fixes #322069.
2000
2001 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2002
2003         * check/gst/gstcaps.c: (GST_START_TEST):
2004           Extend caps string tests to check that a caps to string
2005           conversion is reversible and produces the same caps.
2006
2007         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2008           Output "fraction" as the generic type fraction range, so caps
2009           serialisation and deserialisation works.
2010         * check/gst/capslist.h:
2011         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2012           Support 'MIN' and 'MAX' for deserialising fractions.
2013
2014 2005-11-22  Andy Wingo  <wingo@pobox.com>
2015
2016         * gst/gstevent.h (gst_event_new_new_segment)
2017         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2018         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2019         Renamed from *_newsegment, *_buffersize, *_notarget.
2020
2021         * scripts/update-funcnames: New script, performs the changes
2022         listed above.
2023
2024 2005-11-22  Wim Taymans  <wim@fluendo.com>
2025
2026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2027         Make sure the GstFlowReturn is returned.
2028
2029         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2030         (gst_bus_add_signal_watch):
2031         * gst/gstbus.h:
2032         add gst_bus_add_signal_watch_full.
2033
2034         * gst/gstplugin.c: (gst_plugin_load_file):
2035         Small style cleanup.
2036
2037 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2038
2039         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2040           Block the fakesrc srcpad when we send an event, to avoid
2041           contention on the stream_lock causing random test failures.
2042
2043 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2044
2045         * check/gst/gstvalue.c: (GST_START_TEST):
2046         * gst/gstvalue.c: (gst_value_fraction_subtract):
2047           Fix subtraction.
2048
2049 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2050
2051         * gst/gst.h:
2052           include "gstchildproxy.h"
2053         * gst/gstchildproxy.h:
2054         * libs/gst/controller/gstcontroller.h:
2055           use G_GNUC_NULL_TERMINATED
2056
2057 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2058
2059         * check/gst/capslist.h:
2060         * check/gst/gstcaps.c: (GST_START_TEST):
2061         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2062         * gst/gststructure.c: (gst_structure_parse_range),
2063         (gst_structure_fixate_field_nearest_fraction):
2064         * gst/gststructure.h:
2065         * gst/gstvalue.c: (gst_value_init_fraction_range),
2066         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2067         (gst_value_collect_fraction_range),
2068         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2069         (gst_value_set_fraction_range_full),
2070         (gst_value_get_fraction_range_min),
2071         (gst_value_get_fraction_range_max),
2072         (gst_value_serialize_fraction_range),
2073         (gst_value_transform_fraction_range_string),
2074         (gst_value_compare_fraction_range),
2075         (gst_value_deserialize_fraction_range),
2076         (gst_value_intersect_fraction_fraction_range),
2077         (gst_value_intersect_fraction_range_fraction_range),
2078         (gst_value_subtract_fraction_fraction_range),
2079         (gst_value_subtract_fraction_range_fraction),
2080         (gst_value_subtract_fraction_range_fraction_range),
2081         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2082         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2083         (gst_value_transform_string_fraction), (_gst_value_initialize):
2084         * gst/gstvalue.h:
2085           Implement fraction ranges and extend GstFraction to support
2086           arithmetic subtraction, as well as deserialization from integer
2087           strings such as "100"
2088           Add a testsuite as for int and double range set operations
2089
2090 2005-11-21  Andy Wingo  <wingo@pobox.com>
2091
2092         * gst/gsttaglist.h: 
2093         * gst/gstcaps.h: 
2094         * gst/gststructure.h: Add glib-compat.h.
2095
2096 2005-11-21  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/gstbin.c: (gst_bin_change_state_func):
2099         Fix for #321595
2100
2101 2005-11-21  Wim Taymans  <wim@fluendo.com>
2102
2103         * gst/gstsegment.h:
2104         And add a nice define too.
2105
2106 2005-11-21  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2109         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2110         (gst_segment_set_duration), (gst_segment_set_last_stop),
2111         (gst_segment_set_seek), (gst_segment_set_newsegment),
2112         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2113         (gst_segment_clip):
2114         * gst/gstsegment.h:
2115         Make binding friendly.
2116
2117 2005-11-21  Andy Wingo  <wingo@pobox.com>
2118
2119         * gst/gsttagsetter.h: 
2120         * gst/gsttaglist.h: 
2121         * gst/gststructure.h: 
2122         * gst/gstcaps.h: 
2123         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2124         #319940.
2125
2126         * gst/gsterror.c (_gst_core_errors_init):
2127         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2128         category.
2129
2130         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2131         (noinst_HEADERS): noinst the -private.
2132
2133 2005-11-21  Michael Smith <msmith@fluendo.com>
2134
2135         * gst/gstplugin.h:
2136         * gst/gstregistry.h:
2137           Remove unimplemented declarations for which we can see no sensible
2138           use.
2139
2140 2005-11-21  Andy Wingo  <wingo@pobox.com>
2141
2142         * gst/gst.h: Include glib-compat.h.
2143
2144         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2145
2146         * gst/glib-compat.c: Include the public and the private header.
2147
2148         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2149
2150         * gst/gstvalue.c: 
2151         * gst/gstpad.c: 
2152         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2153
2154         * check/gst/gstevent.c (create_custom_events): Check that
2155         FLUSH_STOP is serialized.
2156
2157         * check/elements/identity.c (event_func): 
2158         * check/elements/fakesrc.c (event_func): No stream lock, the core
2159         takes it.
2160
2161         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2162         stream lock taking, yay.
2163
2164         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2165         ensure that core takes the stream lock.
2166
2167         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2168         lock name change.
2169
2170         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2171         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2172         it already. For the flush start we do take it though so we get the
2173         right preroll state change messages.
2174
2175         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2176         the stream lock here, the core does it for us.
2177
2178         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2179         GST_STREAM_GET_LOCK.
2180         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2181         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2182         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2183         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2184         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2185         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2186
2187         * gst/gstpad.c: Update for stream lock name change.
2188
2189         * gst/base/gstbasesink.c: Update for preroll lock name change.
2190
2191 2005-11-21  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2194         (gst_clock_get_master):
2195         * gst/gstclock.h:
2196         * gst/gstsystemclock.c: (gst_system_clock_init):
2197         Convert Clock flags to object flags.
2198         Added methods to manage master/slave clocks.
2199
2200 2005-11-21  Wim Taymans  <wim@fluendo.com>
2201
2202         * check/gst/gstsegment.c: (GST_START_TEST):
2203         * docs/design/part-TODO.txt:
2204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2205         (gst_base_sink_event), (gst_base_sink_do_sync),
2206         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2207         (gst_base_sink_query), (gst_base_sink_change_state):
2208         * gst/base/gstbasesink.h:
2209         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2210         (gst_base_src_default_newsegment),
2211         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2212         (gst_base_src_get_range), (gst_base_src_loop),
2213         (gst_base_src_change_state):
2214         * gst/base/gstbasesrc.h:
2215         * gst/base/gstbasetransform.c:
2216         (gst_base_transform_prepare_output_buf),
2217         (gst_base_transform_event), (gst_base_transform_change_state):
2218         * gst/base/gstbasetransform.h:
2219         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2220         (gst_collect_pads_event):
2221         * gst/base/gstcollectpads.h:
2222         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2223         (gst_fake_src_create):
2224         * gst/elements/gstfakesrc.h:
2225         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2226         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2227         (gst_segment_set_last_stop), (gst_segment_set_seek),
2228         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2229         (gst_segment_to_running_time), (gst_segment_clip):
2230         * gst/gstsegment.h:
2231         More segment updates, replace code in plugins with segment
2232         helper functions.
2233
2234 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2235
2236         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2237         Don't ignore sscanf results
2238
2239 2005-11-21  Andy Wingo  <wingo@pobox.com>
2240
2241         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2242
2243         * *.h:
2244         * *.c: Ran scripts/update-macros. Oh yes.
2245
2246         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2247         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2248         GST_GET_LOCK, etc.
2249
2250         * scripts/update-macros: New script. Run it on your files to
2251         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2252         well.
2253
2254 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2255
2256         * docs/gst/Makefile.am:
2257         * docs/gst/gstreamer-docs.sgml:
2258         * docs/gst/gstreamer-sections.txt:
2259         * docs/gst/gstreamer.types:
2260         * gst/gstinfo.h:
2261           more docs fixes, add new api to the docs
2262
2263 2005-11-21  Andy Wingo  <wingo@pobox.com>
2264
2265         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2266         state_broadcast call.
2267
2268         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2269
2270 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2271
2272         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2273         function calls for arrays.
2274
2275 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2276
2277         * docs/random/ensonic/media-device-daemon.txt:
2278           wild idea, can this be done?
2279         * docs/gst/gstreamer-sections.txt:
2280         * gst/gsterror.h:
2281         * gst/gstfilter.c:
2282         * gst/gstfilter.h:
2283         * gst/gstplugin.h:
2284         * gst/gstpluginfeature.c:
2285         * gst/gsttrace.c:
2286         * gst/gstvalue.c:
2287         * gst/gstvalue.h:
2288           doc fixes and additions
2289
2290 2005-11-21  Andy Wingo  <wingo@pobox.com>
2291
2292         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2293         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2294         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2295         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2296         private to the basesrc implementation.
2297
2298         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2299         behalf of event function if necessary. It should no longer be
2300         necessary to take the stream lock in pad's event functions. Fixes
2301         #320299.
2302
2303 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2304         * docs/gst/gstreamer-sections.txt:
2305         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2306         (gst_structure_fixate_field_nearest_double),
2307         (gst_structure_fixate_field_boolean):
2308         * gst/gststructure.h:
2309         * win32/common/libgstreamer.def:
2310         * win32/gstreamer.def:
2311
2312         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2313         (#322027)
2314
2315 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2316
2317         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2318         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2319         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2320         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2321         (gst_fdsrc_uri_handler_init):
2322         * gst/elements/gstfdsrc.h:
2323           Port fd:// URI handler from 0.8 to fdsrc
2324
2325 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2326
2327         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2328         (gst_value_serialize_fourcc):
2329         * gst/gstvalue.h:
2330           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2331           consistent with our other format defines (#320324).
2332
2333 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2334
2335         * gst/gstvalue.c: (gst_value_is_fixed):
2336           Revert previous commit. Value lists are by definition
2337           not fixed, as they are a list of possible values.
2338
2339 2005-11-21  Andy Wingo  <wingo@pobox.com>
2340
2341         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2342         during the stable series if we need it. Fixes #319178.
2343
2344         * gst/gstevent.c (gst_event_new_filler): Removed.
2345
2346         * check/gst/gstevent.c: Update comment about filler events.
2347
2348 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * gst/gstvalue.c: (gst_value_is_fixed):
2351           Should handle both value arrays and value lists.
2352
2353 2005-11-21  Andy Wingo  <wingo@pobox.com>
2354
2355         patch by: Alessandro Dessina <alessandro nnva org>
2356
2357         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2358         functions to access arrays. Fixes #321962.
2359
2360 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362         * docs/gst/gstreamer.types:
2363           gst_collectpads_get_type => gst_collect_pads_get_type.
2364           
2365         * gst/base/gstbasetransform.c:
2366           Remove unused SIGNAL_HANDOFF enum.
2367
2368 2005-11-21  Andy Wingo  <wingo@pobox.com>
2369
2370         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2371         the event type (upstream, downstream, serialized). Renamed
2372         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2373         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2374         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2375
2376         * gst/gstevent.c: Update for new CUSTOM event names.
2377
2378         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2379
2380         * gst/gstevent.h:
2381         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2382         bug #319392.
2383
2384 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2385
2386         * docs/gst/gstreamer-sections.txt:
2387         * win32/common/libgstbase.def:
2388         * win32/libgstbase.def:
2389         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2390         (gst_collect_pads_class_init), (gst_collect_pads_init),
2391         (gst_collect_pads_finalize), (gst_collect_pads_new),
2392         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2393         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2394         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2395         (gst_collect_pads_start), (gst_collect_pads_stop),
2396         (gst_collect_pads_peek), (gst_collect_pads_pop),
2397         (gst_collect_pads_available), (gst_collect_pads_read),
2398         (gst_collect_pads_flush), (gst_collect_pads_event),
2399         (gst_collect_pads_chain):
2400         * gst/base/gstcollectpads.h:
2401           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2402           unimplemented functions as unimplemented. Add padding to
2403           GstCollectData. (#320766, #320423)
2404
2405 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2406
2407         * gst/gstmessage.c:
2408           Improve docs for DURATION message (usage of duration parameter)
2409           (#320113)
2410
2411 2005-11-20  Wim Taymans  <wim@fluendo.com>
2412
2413         * check/Makefile.am:
2414         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2415         (main):
2416         * gst/Makefile.am:
2417         * gst/gst.h:
2418         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2419         (gst_segment_set_seek), (gst_segment_set_newsegment),
2420         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2421         (gst_segment_clip):
2422         * gst/gstsegment.h:
2423         Added segment helper structure and methods. Not fully implemented
2424         yet.
2425         Added segment check.
2426
2427 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2428
2429         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2430           Add a deserialisation test for fractions
2431         * examples/metadata/read-metadata.c: (message_loop),
2432         (make_pipeline), (main):
2433           Fix up metadata reading sample.
2434         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2435           Debug format fix
2436         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2437           Don't try and fixate empty caps
2438         * gst/gst_private.h:
2439           Wrap in G_BEGIN_DECLS/G_END_DECLS
2440         * gst/gstvalue.c: (gst_value_collect_fraction),
2441         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2442         (gst_value_transform_string_fraction),
2443         (gst_value_compare_fraction):
2444           Add some extra guards to ensure that we don't end up 
2445           with an invalid denominator of 0 in a gstfraction and
2446           that fractions always get reduced.
2447
2448 2005-11-20  Wim Taymans  <wim@fluendo.com>
2449
2450         * docs/gst/gstreamer-sections.txt:
2451         * gst/gstbuffer.h:
2452         * gst/gstelement.c:
2453         * gst/gstformat.c:
2454         * gst/gstformat.h:
2455         * gst/gstindex.h:
2456         * gst/gstquery.c:
2457         * gst/gstquery.h:
2458         * gst/gstvalue.c:
2459         Doc fixes.
2460
2461 2005-11-20  Wim Taymans  <wim@fluendo.com>
2462
2463         * docs/design/part-TODO.txt:
2464         * gst/gstcaps.h:
2465         Make a proper enum of the flag.
2466
2467 2005-11-19  Wim Taymans  <wim@fluendo.com>
2468
2469         * docs/design/part-TODO.txt:
2470         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2471         (gst_format_to_quark), (gst_format_register):
2472         * gst/gstformat.h:
2473         * gst/gstquery.c: (_gst_query_initialize),
2474         (gst_query_type_get_name), (gst_query_type_to_quark),
2475         (gst_query_type_register):
2476         * gst/gstquery.h:
2477         Add type to quark and type to string conversions.
2478
2479 2005-11-19  Andy Wingo  <wingo@pobox.com>
2480
2481         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2482         #320097.
2483
2484 2005-11-19  Wim Taymans  <wim@fluendo.com>
2485
2486         * docs/design/part-TODO.txt:
2487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2488         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2489         (gst_bin_handle_message_func):
2490         * gst/gstbin.h:
2491         Make message handling overridable.
2492
2493 2005-11-19  Andy Wingo  <wingo@pobox.com>
2494
2495         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2496
2497         * gst/gstclock.h:
2498         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2499         be a GstClockTime.
2500         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2501         is a GstClockTime. Fixes #321710.
2502
2503         * gst/gstclock.h (GstClock): Remove offset property. Add
2504         internal_calibration and external_calibration. Fix padding. Pad
2505         also by GstClockTime so we don't run into problems.
2506
2507         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2508         (gst_clock_get_rate_offset): Remove.
2509         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2510
2511         * gst/gstutils.h:
2512         * gst/gstutils.c (g_static_rec_cond_wait)
2513         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2514
2515         * gst/gstbin.c: Remove terrible continue_state prototype.
2516
2517         * gst/gstelement.h (gst_element_continue_state): Make public.
2518
2519         * gst/gstelement.h:
2520         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2521         by continue_state. Fixes #319389.
2522
2523         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2524         Really fixes #168438. However I don't see anywhere where the
2525         filter function is called... stupid GStreamer...
2526         
2527         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2528         don't have a dispose function, so it won't get called when the
2529         object is unreffed, but oh well!
2530
2531         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2532         allows a destroy function to be set so user_data can be freed.
2533         Fixes #168438.
2534         (gst_index_set_filter): Call gst_index_set_filter_full.
2535
2536         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2537
2538         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2539         string should produce an error, given the lack of a way to
2540         represent NULL strings. Fixes #165650.
2541         
2542         * gst/gstvalue.h: 
2543         * gst/gstvalue.c (gst_value_array_append_value) 
2544         (gst_value_array_prepend_value, gst_value_array_get_size) 
2545         (gst_value_array_get_value): New API, copied from
2546         gst_value_list_*, only operates on arrays.
2547         (gst_value_list_append_value, gst_value_list_prepend_value) 
2548         (gst_value_list_concat, gst_value_list_get_size) 
2549         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2550
2551         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2552         init_list, because it works on both.
2553         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2554         (gst_value_copy_list_or_array): Renamed from copy_list.
2555         (gst_value_free_list_or_array): Renamed from free_list.
2556         (gst_value_collect_list_or_array): Renamed from collect_list.
2557         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2558         (gst_value_list_or_array_peek_pointer): Renamed from
2559         list_peek_pointer.
2560         (_gst_value_array_value_table, _gst_value_list_value_table):
2561         Update value table functions.
2562         (gst_value_compare_list_or_array): Renamed from compare_list.
2563
2564         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2565         some constness.
2566
2567         * gst/gsttaglist.c:
2568         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2569         GstTagList*. Fixes #143472.
2570
2571         * gst/gststructure.h: Clarify what the foreach/map functions can
2572         or can't do to their arguments.
2573
2574 2005-11-18  Wim Taymans  <wim@fluendo.com>
2575
2576         * gst/gstclock.c: (gst_clock_set_calibration),
2577         (gst_clock_get_calibration):
2578         Doc and API fixes.
2579         Calibration can be set with internal time equal to current
2580         internal time too.
2581
2582 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2583
2584         * gst/gsterror.c:
2585         * gst/gsterror.h:
2586           document
2587
2588 2005-11-18  Andy Wingo  <wingo@pobox.com>
2589
2590         * configure.ac: 
2591         * pkgconfig/gstreamer-net.pc.in:
2592         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2593         * pkgconfig/Makefile.am: Add net pkgconfig files.
2594
2595 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2596
2597         * gst/gstcaps.c:
2598         * gst/gstghostpad.c:
2599         * gst/gsttrace.c:
2600         * gst/gstvalue.c:
2601         * gst/gstvalue.h:
2602           docs fixes
2603
2604 2005-11-18  Andy Wingo  <wingo@pobox.com>
2605
2606         * gst/net/gstnetclientclock.c: Turn off debugging.
2607
2608         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2609         times connverge somewhat. Can't make a real test.
2610
2611         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2612         integer arithmetic. Return the minimum of the domain, which can be
2613         set as "internal" for gst_clock_set_calibration.
2614         (gst_net_client_clock_observe_times): Call _set_calibration.
2615         (gst_net_client_clock_new): Call _set_calibration instead of
2616         rate_offset.
2617
2618         * check/net/gstnetclientclock.c (test_functioning): Use the right
2619         adjustment api.
2620
2621         * gst/gstclock.h:
2622         * gst/gstclock.c (gst_clock_get_calibration) 
2623         (gst_clock_set_calibration): New functions, obsolete the ones I
2624         added yesterday. Doh. Precision issues mean we have to extrapolate
2625         from a point in the more recent past than 1970.
2626         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2627         obsolete.
2628         (gst_clock_adjust_unlocked): Use the right calibration data.
2629
2630 2005-11-18  Edward Hervey  <edward@fluendo.com>
2631
2632         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2633         Also reset the ->current_* values in READY->PAUSED
2634
2635 2005-11-18  Andy Wingo  <wingo@pobox.com>
2636
2637         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2638         Whoops, check the right fd. Also add some debugging.
2639         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2640         (do_linear_regression): Add a crapload of debugging. Subtract off
2641         the minimum values from the input series to discard unneeded bits.
2642         Use only int arithmetic. There is still double arithmetic when
2643         calculating the intercept that needs fixing. Return boolean to
2644         indicate success; FALSE would mean the domain or range is too
2645         great. Still needs fixes.
2646
2647 2005-11-18  Wim Taymans  <wim@fluendo.com>
2648
2649         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2650         For the current position in stream time, we need to subtract
2651         accumulated time.
2652         
2653         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2654         Release lock before calling the callback function of async
2655         entries.
2656
2657 2005-11-18  Andy Wingo  <wingo@pobox.com>
2658
2659         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2660         Port goes all the way to MAXUINT16.
2661
2662         * gst/net/gstnettimeprovider.c: Make the port range the same as
2663         for the kernel: 0 assigns, otherwise ports are less than
2664         MAXUINT16.
2665
2666         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2667         port change.
2668
2669         * check/net/gstnetclientclock.c (test_functioning): Add the start
2670         of another test. 
2671
2672 2005-11-18  Wim Taymans  <wim@fluendo.com>
2673
2674         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2675         (gst_bin_remove_func), (bin_bus_handler):
2676         * gst/gstbin.h:
2677         Removing a clock provider from a bin, triggers a clock lost message
2678         so that a new clock will be selected.
2679         Adding a clock to a bin triggers a clock provider message.
2680         Make sure we reselect a clock when we received a clock lost message.
2681         Keep a reference to the element that provided the clock.
2682
2683 2005-11-18  Andy Wingo  <wingo@pobox.com>
2684
2685         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2686         the clock initially so it produces values around the base time.
2687         (gst_net_client_clock_class_init): Typo fix.
2688         (gst_net_client_clock_thread): Add note on when the socket gets
2689         closed.
2690
2691 2005-11-17  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2694         Free remote and local time arrays.
2695
2696 2005-11-17  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/net/gstnetclientclock.c: (do_linear_regression),
2699         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2700         Fix compilation, uninitialized vars and a forgotten continue.
2701
2702 2005-11-17  Andy Wingo  <wingo@pobox.com>
2703
2704         * check/Makefile.am (check_PROGRAMS): 
2705         * check/net/gstnetclientclock.c: Add a most minimal test for the
2706         net client clock. More to come later.
2707
2708         * gst/net/gstnet.h: 
2709         * gst/net/Makefile.am: Add netclientclock.
2710
2711         * gst/net/gstnetclientclock.h:
2712         * gst/net/gstnetclientclock.c: New files, implement an untested
2713         GstClock that takes its time from a network time provider.
2714         Implements the algorithm in network-clock.scm.
2715
2716         * tests/network-clock.scm (*window-size*): Rename from
2717         *queue-length*.
2718         * tests/network-clock.scm (network-time): 
2719         * tests/network-clock-utils.scm (q-push): Update callers.
2720
2721 2005-11-17  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstbin.c: (gst_bin_provide_clock_func),
2724         (gst_bin_sort_iterator_new):
2725         And unref the child too..
2726
2727 2005-11-17  Wim Taymans  <wim@fluendo.com>
2728
2729         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2730         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2731         Refactor the sort iterator so it can be used while holding the
2732         LOCK too.
2733         Make clock selection select a clock closest to the source.
2734
2735 2005-11-17  Michael Smith <msmith@fluendo.com>
2736
2737         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2738         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2739         * gst/gstclock.h:
2740           Anonymous structs are a gcc (and some other compilers) extension, so
2741           don't use them. Since this is only for ABI-compatibility, and our
2742           API/ABI freeze is over in a few days, this whole thing will only
2743           last a few days, so don't bother trying to think up a meaningful
2744           name for the struct.
2745
2746 2005-11-17  Andy Wingo  <wingo@pobox.com>
2747
2748         * gst/gstclock.h (GstClock): Add rate and offset properties,
2749         preserving ABI stability. Add rate/offset accessors. Will file bug
2750         for the freeze break.
2751
2752         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2753         and offset, trying to keep precision and avoiding
2754         underflow/overflow.
2755         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2756         functions. Make gst_clock_set_time_adjust obsolete.
2757         (gst_clock_set_time_adjust): Note that this function is obsolete.
2758         Will file bug soon.
2759
2760         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2761         greppable by using GST_PADDING-1+1.
2762
2763 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2764
2765         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2766
2767         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2768           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2769
2770         * gst/gstpadtemplate.h:
2771         * gst/gstpluginfeature.h:
2772           Don't use c++ style comments in headers (#321638).
2773
2774 2005-11-16  Andy Wingo  <wingo@pobox.com>
2775
2776         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2777         buffer.
2778
2779         * check/net/gstnettimeprovider.c: Check to see that the time
2780         provider actually provides times. Works, yo!
2781
2782 2005-11-16  Wim Taymans  <wim@fluendo.com>
2783
2784         * check/Makefile.am:
2785         Enable more tests.
2786
2787         * check/elements/fakesrc.c: (GST_START_TEST):
2788         Set element to NULL before disposing it.
2789
2790 2005-11-16  Andy Wingo  <wingo@pobox.com>
2791
2792         * gst/net/Makefile.am:
2793         * gst/net/gstnet.h:
2794         * gst/net/gstnettimeprovider.c: 
2795         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2796         provider, include it from gstnet.h, and add it to the build.
2797
2798         * gst/net/gstnettimepacket.h: 
2799         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2800         sending and receiving.
2801
2802 2005-11-16  Wim Taymans  <wim@fluendo.com>
2803
2804         * check/Makefile.am:
2805         Enable valgrind check.
2806
2807         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2808         (gst_fake_src_alloc_buffer):
2809         Fix memleak.
2810
2811 2005-11-16  Wim Taymans  <wim@fluendo.com>
2812
2813         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2814         Call parent finalize too.
2815
2816 2005-11-16  Wim Taymans  <wim@fluendo.com>
2817
2818         * check/Makefile.am:
2819         Enable valgrind check that should work fine now.
2820
2821         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2822         * gst/gstqueue.c: (gst_queue_init):
2823         Fix memleaks in pad allocation.
2824
2825 2005-11-16  Andy Wingo  <wingo@pobox.com>
2826
2827         * gst/net/Makefile.am:
2828         * gst/net/gstnet.h: New part of core to hold network elements and
2829         objects. Put in core because it exposes API that applications want
2830         to use. The library is named libgstnet-tempname right now because
2831         of the existing libgstnet in gst-plugins-base. Solution is
2832         probably to rename the one in plugins-base; will file a bug for
2833         the freeze break.
2834
2835         * gst/net/gstnettimeprovider.c: 
2836         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2837         get_time call over the network.
2838
2839         * configure.ac: 
2840         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2841
2842         * check/Makefile.am:
2843         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2844         get additions shortly.
2845
2846 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2847
2848         * gst/gstpad.c: (gst_pad_new_from_static_template):
2849         * gst/gstpad.h:
2850           add gst_pad_new_from_static_template functions
2851         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2852         (gst_check_setup_sink_pad):
2853         * gst/elements/gsttee.c: (gst_tee_init):
2854           and use them
2855
2856 2005-11-16  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/gstpad.c: (gst_pad_pause_task):
2859         Removed warning, it's not really an error either.
2860
2861 2005-11-16  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/base/gstbasetransform.c:
2864         (gst_base_transform_prepare_output_buf),
2865         (gst_base_transform_event):
2866         Check if the caps are NULL, this can happen if the element
2867         is shutting down and the pad caps are set to NULL.
2868
2869 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * gst/elements/gsttee.c: (gst_tee_init):
2872           fix pad template leak in tee
2873
2874 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2875
2876         * gst/glib-compat.c: (g_value_dup_gst_object):
2877         * gst/glib-compat.h:
2878         * gst/gstpad.c: (gst_pad_set_property):
2879           use gst_object_ref when setting the pad template; this will
2880           trigger the pad template leaks on GLib 2.6 and the slaves
2881
2882 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2883
2884         * gst/glib-compat.c: (gst_flags_get_first_value):
2885         * gst/glib-compat.h:
2886         * gst/gstregistryxml.c:
2887           remove functions copied from GLib 2.6
2888
2889 2005-11-16  Michael Smith <msmith@fluendo.com>
2890
2891         * gst/Makefile.am:
2892           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2893           do, but only breaks with newer valgrind versions. We're not a
2894           valgrind tool, we have no link-time dependencies on libcoregrind.
2895
2896 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2897
2898         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2899           some debug changes
2900         * gst/gstmessage.h:
2901           typo fixes
2902
2903 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2904
2905         * gst/base/gstbasesrc.c: (gst_base_src_init):
2906         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2907         * gst/gstqueue.c: (gst_queue_init):
2908         * gst/gstregistryxml.c: (load_feature):
2909           Revert all these unrefs, they don't even pass make check !
2910
2911 2005-11-15  Johan Dahlin  <johan@gnome.org>
2912
2913         * gst/base/gstbasesrc.c: (gst_base_src_init):
2914         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2915         * gst/gstqueue.c: (gst_queue_init): 
2916         Free pad templates, fixes a couple of leaks.
2917
2918 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2919
2920         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2921
2922         * gst/gstpad.c: (gst_pad_get_property):
2923           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2924           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2925           (#321452)
2926
2927 2005-11-15  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/gstevent.c:
2930         Small doc update.
2931
2932 2005-11-15  Andy Wingo  <wingo@pobox.com>
2933
2934         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2935
2936         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2937         using GST_CLOCK_TIME_NONE to disable base time management.
2938         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2939         time if it was NONE before.
2940         (gst_pipeline_change_state): Only munge the base time if
2941         stream_time != GST_CLOCK_TIME_NONE.
2942
2943         * check/gst/gstpipeline.c (test_base_time): Punt around the
2944         problem of the probe not being called, because that's not the
2945         issue I'm looking at. Add a check that setting stream_time to NONE
2946         disables base time management.
2947         
2948 2005-11-15  Wim Taymans  <wim@fluendo.com>
2949
2950         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2951         segment_stop == -1 at startup.
2952
2953         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2954         (gst_base_transform_change_state):
2955         Init segment values at start.
2956
2957 2005-11-15  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2960         0 segment values are 0 in any format.
2961
2962         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2963         * gst/base/gstbasetransform.h:
2964         Parse newsegment correctly in basetransform
2965
2966         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2967         Sync to clock using updated segment values.
2968
2969 2005-11-15  Andy Wingo  <wingo@pobox.com>
2970
2971         * check/gst/gstpipeline.c (test_base_time): Add check that the
2972         base time and stream time are reset correctly.
2973
2974 2005-11-15  Wim Taymans  <wim@fluendo.com>
2975
2976         * docs/design/part-TODO.txt:
2977         Some more TODO items.
2978
2979 2005-11-15  Andy Wingo  <wingo@pobox.com>
2980
2981         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2982         error if the user selected "no clock" as the clocking method.
2983
2984         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2985         timestamps with live capture.
2986
2987         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2988         is 0 but we are a live source, timestamp the buffers using the
2989         element's clock.
2990
2991 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2992
2993         * docs/gst/gstreamer-sections.txt:
2994         * gst/gsterror.c:
2995         * gst/gstghostpad.c:
2996         * gst/gstobject.h:
2997         * gst/gstxml.c:
2998           more section docs
2999
3000 2005-11-14  Wim Taymans  <wim@fluendo.com>
3001
3002         * common/gst.supp:
3003           add suppressions from Wim's Debian machine
3004
3005 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3006
3007         * common/gst.supp:
3008           add suppressions from Andy's AMD64 Ubuntu machine
3009
3010 2005-11-14  Andy Wingo  <wingo@pobox.com>
3011
3012         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3013         STATE_LOCK not necessary. Fixes #311489.
3014
3015         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3016         #305291.
3017
3018         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3019         this function is not implemented.
3020
3021 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3022
3023         * gst/base/gstbasetransform.c:
3024         (gst_base_transform_prepare_output_buf):
3025         Ref the source pad caps while we need them.
3026         Fixes (#321386)
3027
3028 2005-11-11  Wim Taymans  <wim@fluendo.com>
3029
3030         * docs/gst/gstreamer-sections.txt:
3031         Added some docs for GstCollectData.
3032
3033         * gst/base/gstadapter.c:
3034         Some small code example fix.
3035
3036         * gst/base/gstcollectpads.c:
3037         * gst/base/gstcollectpads.h:
3038         Document some more.
3039
3040 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * configure.ac: back to HEAD
3043
3044 === release 0.9.5 ===
3045
3046 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3047
3048         * configure.ac:
3049           releasing 0.9.5, "Bike Lunch Day"
3050
3051 2005-11-11  Wim Taymans  <wim@fluendo.com>
3052
3053         * gst/gstbuffer.c: (_gst_buffer_copy):
3054         Copy more flags.
3055
3056         * gst/gstcaps.c: (gst_caps_is_equal):
3057         Fix some docs.
3058         Make _is_equal fast in the trivial cases.
3059
3060         * gst/gstminiobject.c:
3061         * gst/gstminiobject.h:
3062         More docs. Spifify .h file.
3063
3064         * gst/gstutils.c:
3065         Small doc update.
3066
3067 2005-11-11  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/base/gstbasetransform.c:
3070         (gst_base_transform_prepare_output_buf),
3071         (gst_base_transform_handle_buffer):
3072         Small cleanups.
3073         If we're processing a buffer and need to allocate an output
3074         buffer, we cannot accept a format change. If we did get a 
3075         format change, we have to alloc a buffer ourselves of the 
3076         right size.
3077
3078 2005-11-11  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3081         While checking the flag for reentrancy in the gstcaps function
3082         is nice to detect recursive invocations, it also makes it 
3083         impossible to call getcaps from multiple threads, which must be
3084         possible. So, checking for recursive calls has to go.
3085
3086 2005-11-11  Michael Smith <msmith@fluendo.com>
3087
3088         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3089           Don't sync on buffers that fall partially outside our current
3090           segment. Prevents an assertion failure/abort playing some files.
3091
3092 2005-11-10  Andy Wingo  <wingo@pobox.com>
3093
3094         * check/gst/gstbin.c (test_message_state_changed_children): Style
3095         fix..
3096
3097         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3098         gst_bus_poll with the signal watch. Ensures that poll and a signal
3099         watch see the same messages.
3100
3101         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3102         a poll and a watch at the same time get the same messages.
3103
3104 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3105
3106         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3107         * gst/gstcaps.c: (gst_caps_intersect):
3108           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3109           and it's not needed.
3110
3111 2005-11-10  Wim Taymans  <wim@fluendo.com>
3112
3113         * docs/design/part-TODO.txt:
3114         Updated todo.
3115
3116 2005-11-10  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3119         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3120         (gst_base_src_do_sync), (gst_base_src_get_range):
3121         Implement clock sync in base class.
3122
3123 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         patch by: Tim-Philipp Müller <tim at centricular dot net>
3126
3127         * gst/gststructure.c: (gst_structure_parse_field),
3128         (gst_structure_from_string):
3129           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3130           so that gst_parse_launch() can deal with spaces in filtered link
3131           caps (fixes #164479)
3132         * check/gst/capslist.h:
3133         * check/gst/gststructure.c: (GST_START_TEST):
3134           add unit tests for this change
3135
3136 2005-11-10  Wim Taymans  <wim@fluendo.com>
3137
3138         * docs/gst/gstreamer-sections.txt:
3139         * gst/gstelement.c:
3140         * gst/gstelement.h:
3141         Fix docs, move some STATE macros to private.
3142
3143 2005-11-10  Wim Taymans  <wim@fluendo.com>
3144
3145         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3146         Added check for bug #317341
3147
3148         * gst/gstbuffer.c:
3149         * gst/gstbuffer.h:
3150         Some more spiffifying.
3151
3152         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3153         Call peer linkfunction if we are a source pad. Totally fixes
3154         #317341
3155
3156         * gst/gstpad.c:
3157         Update docs, source pads should call the peer linkfunction
3158         so they can atomically perform the pad link.
3159
3160 2005-11-09  Wim Taymans  <wim@fluendo.com>
3161
3162         * gst/gstbuffer.c:
3163         * gst/gstbuffer.h:
3164         Uber-spiffy-spiffify some more.
3165
3166 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3167
3168         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3169         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3170         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3171         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3172         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3173         * gst/gstpad.c: (gst_pad_init):
3174           Use GST_DEBUG_FUNCPTR() more extensively.
3175
3176 2005-11-09  Wim Taymans  <wim@fluendo.com>
3177
3178         * gst/gstobject.c: (gst_object_class_init):
3179         * gst/gstobject.h:
3180         Documentation fixes.
3181
3182 2005-11-09  Edward Hervey  <edward@fluendo.com>
3183
3184         * gst/gsttypefindfactory.c:
3185         Fix docs.
3186         
3187 2005-11-09  Edward Hervey  <edward@fluendo.com>
3188
3189         * gst/base/gsttypefindhelper.c:
3190         * gst/gsttypefind.c:
3191         * gst/gsttypefind.h:
3192         Fix docs.
3193
3194 2005-11-09  Wim Taymans  <wim@fluendo.com>
3195
3196         * gst/gstiterator.c:
3197         Fix revision data.
3198
3199         * gst/gsttask.c:
3200         * gst/gsttask.h:
3201         Fix docs.
3202
3203 2005-11-09  Wim Taymans  <wim@fluendo.com>
3204
3205         * gst/gstevent.h:
3206         * gst/gsturi.h:
3207         Fix docs.
3208
3209 2005-11-09  Wim Taymans  <wim@fluendo.com>
3210
3211         * docs/gst/gstreamer-sections.txt:
3212         Moved the message async delivery private lock and cond
3213         to the private section.
3214
3215         * gst/gstmessage.c:
3216         * gst/gstmessage.h:
3217         Fixed docs.
3218
3219 2005-11-09  Edward Hervey  <edward@fluendo.com>
3220
3221         * docs/gst/gstreamer-sections.txt:
3222         * gst/gsturi.c:
3223         * gst/gsturi.h:
3224         Document GstURIHandler
3225
3226 2005-11-09  Wim Taymans  <wim@fluendo.com>
3227
3228         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3229         (gst_iterator_find_custom):
3230         * gst/gstiterator.h:
3231         Fix iterator docs.
3232
3233 2005-11-09  Wim Taymans  <wim@fluendo.com>
3234
3235         * gst/gstbin.h:
3236         Document another field.
3237
3238         * gst/gststructure.c:
3239         * gst/gststructure.h:
3240         Document.
3241
3242 2005-11-09  Wim Taymans  <wim@fluendo.com>
3243
3244         * gst/gstbin.h:
3245         Documented structs.
3246
3247 2005-11-09  Wim Taymans  <wim@fluendo.com>
3248
3249         * docs/gst/gstreamer-sections.txt:
3250         Added some new macros.
3251
3252         * gst/gstclock.c:
3253         * gst/gstclock.h:
3254         * gst/gstobject.h:
3255         Docs updates.
3256
3257 2005-11-09  Wim Taymans  <wim@fluendo.com>
3258
3259         * docs/design/part-TODO.txt:
3260         Some more items for the TODO
3261
3262         * gst/gstcaps.c:
3263         * gst/gstcaps.h:
3264         Document GstCaps.
3265
3266 2005-11-09  Andy Wingo  <wingo@pobox.com>
3267
3268         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3269         to work on something else now tho...
3270
3271         * gst/base/gstadapter.c: More adapter docs.
3272
3273         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3274         (gst_file_sink_stop): New functions, replace the state change
3275         handler.
3276         (gst_file_sink_class_init): Hook up the start and stop functions.
3277         (gst_file_sink_base_init): Don't set the state change handler any
3278         more. It was a bit ugly too, being set from here...
3279         (gst_file_sink_get_property, gst_file_sink_set_property):
3280         Cleanups...
3281         (gst_file_sink_set_location): More robust check that doesn't call
3282         GST_STATE. Ugggggg.
3283
3284 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3285
3286         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3287           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3288
3289 2005-11-08  Wim Taymans  <wim@fluendo.com>
3290
3291         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3292         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3293         (gst_base_sink_chain), (gst_base_sink_change_state):
3294         * gst/base/gstbasesink.h:
3295         * gst/base/gstbasesrc.h:
3296         * gst/gstelement.h:
3297         * gst/gstevent.h:
3298         Avoid excessive typechecking in macros.
3299
3300         * gst/gstminiobject.c: (gst_mini_object_get_type),
3301         (gst_mini_object_init), (gst_mini_object_new),
3302         (gst_mini_object_free):
3303         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3304         (gst_object_finalize):
3305         Remove cruft code, optimize alloc_trace.
3306
3307 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3308
3309         * docs/faq/gst-uninstalled:
3310           fix up PS1 for systems that try to reset it
3311
3312 2005-11-07  Wim Taymans  <wim@fluendo.com>
3313
3314         * gst/base/gstbasesrc.c: (gst_base_src_init),
3315         (gst_base_src_get_range):
3316         Set the segment_end to -1 initially. Fixed typefind.
3317
3318 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         * gst/base/gstadapter.c:
3321           Debug category should be 'adapter', not 'GstAdapter'.
3322           
3323         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3324         (gst_collectpads_class_init), (gst_collectpads_init),
3325         (gst_collectpads_peek), (gst_collectpads_pop),
3326         (gst_collectpads_event), (gst_collectpads_chain):
3327           Add debug category and some debugging output. Use boilerplate
3328           macros. Remove some extraneous words from docs.
3329
3330 2005-11-05  Andy Wingo  <wingo@pobox.com>
3331
3332         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3333         macro.
3334
3335 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3336
3337         * docs/gst/gstreamer-sections.txt:
3338         * gst/gstcaps.h:
3339         * gst/gstinfo.c:
3340         * gst/gstminiobject.h:
3341         * gst/gstobject.h:
3342         * gst/gstutils.h:
3343           more docs added
3344
3345 2005-11-04  Wim Taymans  <wim@fluendo.com>
3346
3347         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3348         Small update to stop at the configured segment_end
3349         position.
3350
3351 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3352
3353         * gst/gstregistry.c:
3354         * gst/gstregistry.h:
3355           added missing docs
3356
3357 2005-11-04  Edward Hervey  <edward@fluendo.com>
3358
3359         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3360         Check if we are doing a segment seek and have arrived at the
3361         end of that segment.
3362
3363 2005-11-04  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3366         Don't leak a mutex unlock in case of an error.
3367
3368         * gst/gstbus.h:
3369         Doc fixes.
3370
3371 2005-11-04  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3374         (gst_bus_post):
3375         Get the context to wake up only once.
3376
3377 2005-11-03  Wim Taymans  <wim@fluendo.com>
3378
3379         * check/states/sinks.c: (GST_START_TEST):
3380         Uncomment fixed check.
3381
3382         * docs/design/part-TODO.txt:
3383         Updated TODO.
3384
3385         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3386         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3387         (gst_base_sink_get_position):
3388         If we are going to PLAYING, post the right pending state
3389         when we post the intermediate paused message.
3390
3391         * gst/gstelement.c: (gst_element_continue_state),
3392         (gst_element_set_state_func), (gst_element_change_state):
3393         Don't post state changes that were between the same state
3394         and were not ASYNC.
3395
3396 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3397
3398         * docs/gst/gstreamer-sections.txt:
3399         * gst/gstcaps.h:
3400         * gst/gstinfo.c:
3401         * gst/gstminiobject.h:
3402         * gst/gstobject.h:
3403         * gst/gstutils.h:
3404           more docs and doc style fixes
3405
3406 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3407
3408         * docs/gst/gstreamer-sections.txt:
3409         * gst/gstelement.c:
3410         * gst/gstminiobject.c:
3411         doc fixes
3412
3413 2005-11-03  Andy Wingo  <wingo@pobox.com>
3414
3415         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3416         state-changed messages actually have the right order and the right
3417         values.
3418
3419 2005-11-03  Wim Taymans  <wim@fluendo.com>
3420
3421         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3422         Added some more checks. Specifically the case where NO_PREROLL
3423         elements are in the pipeline.
3424
3425         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3426         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3427         (gst_base_sink_get_position):
3428         Post READY->PAUSED state change messages too.
3429         Fix bug where VOID was posted as pending state...
3430
3431         * gst/gstbin.c: (gst_bin_recalc_state):
3432         use _element_continue_state() to continue the state change.
3433
3434         * gst/gstelement.c: (gst_element_continue_state),
3435         (gst_element_commit_state), (gst_element_set_state_func),
3436         (gst_element_change_state), (gst_element_change_state_func):
3437         Lots of state change cleanups, assign the STATE_RETURN in
3438         a new continue_state() function that also propagates the
3439         last return value from a state change to the app.
3440         Update some debug statements with proper category.
3441
3442 2005-11-03  Wim Taymans  <wim@fluendo.com>
3443
3444         * docs/design/part-events.txt:
3445         * docs/design/part-gstpipeline.txt:
3446         * docs/design/part-messages.txt:
3447         * docs/design/part-overview.txt:
3448         * docs/design/part-seeking.txt:
3449         * docs/design/part-states.txt:
3450         * docs/design/part-trickmodes.txt:
3451         * docs/manual/advanced-position.xml:
3452         Small docs updates.
3453
3454         * gst/gstobject.h:
3455         People think !! is ugly, this looks better.
3456
3457         * gst/gstpad.c: (gst_pad_set_blocked_async):
3458         Remove !! since it's fixed elsewhere now.
3459
3460 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * gst/gstminiobject.h:
3463         * gst/gstobject.h:
3464           Add !! to _FLAG_IS_SET macros to make the result boolean.
3465
3466 2005-11-03  Edward Hervey  <edward@fluendo.com>
3467
3468         * gst/gstpad.c: (gst_pad_set_blocked_async):
3469         comparing a flag and a gboolean rarely returns coherent results...
3470         Added two characters (!!) to make that work correctly.
3471         
3472 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3473
3474         * gst/gstbus.c: (gst_bus_class_init):
3475           Fix some typos.
3476           
3477         * gst/gstqueue.c: (gst_queue_loop):
3478           Don't assume a miniobject that isn't a buffer is an
3479           event (it could be that there is a refcounting
3480           problem somewhere and the pointer is stale and
3481           refers to an already destroyed miniobject).
3482
3483 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3484
3485         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3486
3487 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * docs/manual/advanced-position.xml:
3490           Update seek example and explanations to current 0.9 API.
3491
3492         * gst/elements/gsttypefindelement.c:
3493         (gst_type_find_element_activate):
3494           Remove FIXME comment now that the found caps
3495           are unreffed.
3496
3497 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3498
3499         * gst/gstregistryxml.c: (load_feature):
3500           Add another GST_STR_NULL instance
3501
3502 2005-11-02  Edward Hervey  <edward@fluendo.com>
3503
3504         * gst/gstpad.c: (handle_pad_block):
3505         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3506         
3507 2005-11-02  Wim Taymans  <wim@fluendo.com>
3508
3509         * gst/gstbin.c:
3510         Fix typo in docs.
3511
3512         * gst/gstelement.c: (gst_element_commit_state):
3513         Remove unused value.
3514
3515         * gst/gstiterator.c:
3516         Mention that the returned element is reffed in the docs.
3517
3518 2005-11-02  Wim Taymans  <wim@fluendo.com>
3519
3520         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3521         (gst_pad_push), (gst_pad_push_event):
3522         Unlock blocked pads when they are flushed.
3523
3524 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3525
3526         * docs/README:
3527         * docs/gst/gstreamer-sections.txt:
3528         * gst/gstbin.c:
3529           doc updates
3530         * gst/gstregistry.c: (gst_registry_scan_path_level):
3531           fix for a nasty little missed situation where an installed plug-in
3532           which was in the cache did not get overridden by an uninstalled one
3533           which was earlier in the plugin path because the newly created plugin
3534           for the uninstalled one (not in the registry) didn't get its
3535           ->registered set to TRUE
3536
3537 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3538
3539         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3540         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3541         (gst_collectpads_is_active), (gst_collectpads_collect),
3542         (gst_collectpads_collect_range), (gst_collectpads_start),
3543         (gst_collectpads_stop), (gst_collectpads_peek),
3544         (gst_collectpads_pop), (gst_collectpads_available),
3545         (gst_collectpads_read), (gst_collectpads_flush):
3546           Guard public API with assertions.
3547         
3548         * gst/gstpad.c:
3549           Fix docs for gst_pad_set_link_function().
3550
3551 2005-11-02  Johan Dahlin  <johan@gnome.org>
3552
3553         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3554         Unref found_caps after we used it.
3555
3556 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3557
3558         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3559           Don't try to ref NULL.
3560
3561 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3562
3563         * win32/common/config.h.in:
3564           provide a GST_FUNCTION that just gives a string for now
3565
3566 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3567
3568         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3569         (gst_object_flags_get_type), (register_gst_bin_flags),
3570         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3571         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3572         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3573         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3574         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3575         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3576         (gst_clock_flags_get_type), (register_gst_state),
3577         (gst_state_get_type), (register_gst_state_change_return),
3578         (gst_state_change_return_get_type), (register_gst_state_change),
3579         (gst_state_change_get_type), (register_gst_element_flags),
3580         (gst_element_flags_get_type), (register_gst_core_error),
3581         (gst_core_error_get_type), (register_gst_library_error),
3582         (gst_library_error_get_type), (register_gst_resource_error),
3583         (gst_resource_error_get_type), (register_gst_stream_error),
3584         (gst_stream_error_get_type), (register_gst_event_type),
3585         (gst_event_type_get_type), (register_gst_seek_type),
3586         (gst_seek_type_get_type), (register_gst_seek_flags),
3587         (gst_seek_flags_get_type), (register_gst_format),
3588         (gst_format_get_type), (register_gst_index_certainty),
3589         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3590         (gst_index_entry_type_get_type),
3591         (register_gst_index_lookup_method),
3592         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3593         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3594         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3595         (gst_index_flags_get_type), (register_gst_debug_level),
3596         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3597         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3598         (gst_iterator_result_get_type), (register_gst_iterator_item),
3599         (gst_iterator_item_get_type), (register_gst_message_type),
3600         (gst_message_type_get_type), (register_gst_mini_object_flags),
3601         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3602         (gst_pad_link_return_get_type), (register_gst_flow_return),
3603         (gst_flow_return_get_type), (register_gst_activate_mode),
3604         (gst_activate_mode_get_type), (register_gst_pad_direction),
3605         (gst_pad_direction_get_type), (register_gst_pad_flags),
3606         (gst_pad_flags_get_type), (register_gst_pad_presence),
3607         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3608         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3609         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3610         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3611         (gst_plugin_flags_get_type), (register_gst_rank),
3612         (gst_rank_get_type), (register_gst_query_type),
3613         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3614         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3615         (gst_tag_flag_get_type), (register_gst_task_state),
3616         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3617         (gst_alloc_trace_flags_get_type),
3618         (register_gst_type_find_probability),
3619         (gst_type_find_probability_get_type), (register_gst_uri_type),
3620         (gst_uri_type_get_type), (register_gst_parse_error),
3621         (gst_parse_error_get_type):
3622         * win32/common/gstversion.h:
3623           update win32 copies
3624
3625 2005-11-01  Luca Ognibene  <luogni@tin.it>
3626
3627         * gst/gst.c:
3628           fix docs. popt is dead, long live GOption.
3629
3630 2005-10-31  Wim Taymans  <wim@fluendo.com>
3631
3632         * gst/gstbuffer.h:
3633         Small doc fix.
3634
3635 2005-10-31  Andy Wingo  <wingo@pobox.com>
3636
3637         * Boo!
3638
3639         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3640
3641         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3642         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3643         the possibility of deadlocks here if code calling notify() or
3644         set() has a lock that can be taken in another notify handler (ABBA
3645         with class lock and e.g. python GIL state lock).
3646
3647 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3648
3649         * gst/gstbus.c: Doc updates.
3650
3651 2005-10-28  Wim Taymans  <wim@fluendo.com>
3652
3653         * docs/design/part-TODO.txt:
3654         * gst/gstiterator.c:
3655         * gst/gstsystemclock.c:
3656         * gst/gstsystemclock.h:
3657         Doc updates.
3658
3659 2005-10-28  Edward Hervey  <edward@fluendo.com>
3660
3661         * docs/gst/gstreamer-docs.sgml:
3662         * docs/gst/gstreamer-sections.txt:
3663         the GstURIType documentation page is private, it only defines GstURIType
3664         which should be defined in the GstURIHandler page
3665         
3666 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3667
3668         * gst/gstbin.c: (gst_bin_class_init):
3669         * gst/gstbin.h:
3670         * gst/gstutils.c:
3671         Documentation updates.
3672
3673 2005-10-28  Wim Taymans  <wim@fluendo.com>
3674
3675         * docs/gst/gstreamer-sections.txt:
3676         * gst/gstclock.c:
3677         * gst/gstclock.h:
3678         Documented the clocks.
3679
3680 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3681
3682         * docs/gst/gstreamer-sections.txt:
3683           move some macros to private sections
3684         * gst/gstminiobject.c:
3685         * gst/gstminiobject.h:
3686           add descriptions provided by ds and some more
3687         * gst/gstpad.h:
3688           mark macro as to be removed
3689
3690 2005-10-28  Wim Taymans  <wim@fluendo.com>
3691
3692         * docs/design/part-TODO.txt:
3693         Add an item to TODO.
3694
3695         * gst/gstiterator.c: (gst_iterator_fold),
3696         (gst_iterator_find_custom):
3697         * gst/gstiterator.h:
3698         Add iterator docs.
3699
3700 2005-10-28  Wim Taymans  <wim@fluendo.com>
3701
3702         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3703         (gst_base_transform_init):
3704         Don't leak class.
3705
3706         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3707         An EOS event marks the queue as completely filled.
3708
3709 2005-10-27  Wim Taymans  <wim@fluendo.com>
3710
3711         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3712         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3713         Some more debugging.
3714
3715         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3716         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3717         (gst_base_transform_event), (gst_base_transform_getrange),
3718         (gst_base_transform_chain):
3719         * gst/base/gstbasetransform.h:
3720         Fix debugging,
3721         Protect transform and concurrent buffer alloc with a new lock.
3722         Try not to break ABI/API.
3723
3724 2005-10-27  Wim Taymans  <wim@fluendo.com>
3725
3726         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3727         (gst_base_src_init), (gst_base_src_query),
3728         (gst_base_src_default_newsegment),
3729         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3730         (gst_base_src_send_event), (gst_base_src_event_handler),
3731         (gst_base_src_pad_get_range), (gst_base_src_loop),
3732         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3733         (gst_base_src_start), (gst_base_src_deactivate),
3734         (gst_base_src_activate_push), (gst_base_src_change_state):
3735         Move some stuff around and cleanup things.
3736
3737 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * gst/base/gstbasesrc.c: (gst_base_src_query):
3740           Add missing break statements.
3741
3742 2005-10-27  Wim Taymans  <wim@fluendo.com>
3743
3744         * check/gst/gstbin.c: (GST_START_TEST):
3745         An extra refcount is taken in basesrc.
3746
3747         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3748         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3749         (gst_base_src_loop):
3750         Small cleanups, check for flushing after being unlocked from the 
3751         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3752         Don't send out EOS when going to READY.
3753
3754 2005-10-27  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3757         (gst_base_sink_get_position):
3758         Some more debug.
3759
3760         * gst/gstbin.c: (message_check), (bin_replace_message),
3761         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3762         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3763         (bin_query_duration_init), (bin_query_duration_fold),
3764         (bin_query_duration_done), (bin_query_generic_fold),
3765         (gst_bin_query):
3766         * tools/gst-launch.c: (main):
3767         Remove old option.
3768
3769 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3770
3771         * examples/controller/audio-example.c: (main):
3772         * examples/queue/queue.c: (event_loop):
3773         * gst/base/gstbasetransform.h:
3774         * gst/gstelement.c: (gst_element_send_event):
3775         * gst/gstevent.h:
3776         * gst/gstpad.c: (gst_pad_send_event):
3777           fixing examples
3778           fixing docs typos
3779           changing log priority in error situations
3780
3781 2005-10-25  Wim Taymans  <wim@fluendo.com>
3782
3783         * gst/gstbin.c: (message_check), (bin_replace_message),
3784         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3785         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3786         (bin_query_duration_init), (bin_query_duration_fold),
3787         (bin_query_duration_done), (bin_query_generic_fold),
3788         (gst_bin_query):
3789         Some doc and debug updates.
3790         Cache previously requested query DURATION for speed. invalidate
3791         cached duration if element posts a DURATION message.
3792
3793 2005-10-25  Wim Taymans  <wim@fluendo.com>
3794
3795         * docs/design/part-TODO.txt:
3796         Update TODO.
3797
3798         * gst/gstbin.c: (message_check), (bin_replace_message),
3799         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3800         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3801         (bin_query_duration_init), (bin_query_duration_fold),
3802         (bin_query_duration_done), (bin_query_generic_fold),
3803         (gst_bin_query):
3804         Handle SEGMENT_START/DONE messages correctly.
3805         More evolved query algorithm that handles duration queries
3806         correctly.
3807
3808         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3809         (gst_element_get_state_func), (gst_element_abort_state),
3810         (gst_element_commit_state), (gst_element_lost_state):
3811         Some more debugging.
3812
3813         * gst/gstmessage.h:
3814         Added doc.
3815
3816 2005-10-25  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3819         Don't use invalid stream_time.
3820
3821         * gst/gstevent.c: (gst_event_new_newsegment):
3822         stream_time in newsegment cannot be undefined.
3823
3824 2005-10-24  Wim Taymans  <wim@fluendo.com>
3825
3826         * gst/gstbus.c:
3827         Doc fix.
3828
3829         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3830         (gst_queue_loop):
3831         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3832
3833 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3834
3835         * docs/libs/tmpl/gstdparam.sgml:
3836         * docs/libs/tmpl/gstdplinint.sgml:
3837         * docs/libs/tmpl/gstdpman.sgml:
3838         * docs/libs/tmpl/gstdpsmooth.sgml:
3839         * docs/libs/tmpl/gstunitconvert.sgml:
3840           these are obsolete
3841
3842 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3843
3844         * configure.ac:
3845           back to HEAD
3846
3847 === release 0.9.4 ===
3848
3849 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         * configure.ac:
3852           releasing 0.9.4, "Tyrannosaurus Rex"
3853
3854 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3857         (gst_file_sink_get_current_offset):
3858           Use fseeko() and ftello() if available. When falling back on
3859           lseek() to get the current offset, fflush() first to make sure
3860           everything is up-to-date and we get the right offset.
3861
3862 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3865         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3866         * gst/gsterror.c: (_gst_stream_errors_init):
3867         * gst/gsterror.h:
3868         * gst/gstqueue.c: (gst_queue_loop):
3869         * po/POTFILES.in:
3870           remove prematurely added error category and clean up the instances
3871
3872 2005-10-21  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3875         (gst_base_sink_get_position), (gst_base_sink_query),
3876         (gst_base_sink_change_state):
3877         Simply set the right flag when going to playing, that's all
3878         we need to do instead of calling a function inside the object
3879         lock (that could take the lock as well and deadlock)
3880
3881 2005-10-21  Wim Taymans  <wim@fluendo.com>
3882
3883         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3884         (gst_base_src_loop):
3885         Don't warn, the peer element knows what to do best when
3886         the seek failed, it might try something else.
3887
3888 2005-10-21  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/base/gstbasesrc.c: (gst_base_src_init),
3891         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3892         Fix seeking.
3893
3894 2005-10-21  Wim Taymans  <wim@fluendo.com>
3895
3896         * docs/design/part-segments.txt:
3897         More docs.
3898
3899         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3900         Correctly set caps, even on the subbufer.
3901
3902 2005-10-21  Wim Taymans  <wim@fluendo.com>
3903
3904         * docs/gst/gstreamer-docs.sgml:
3905         * docs/gst/gstreamer-sections.txt:
3906         * gst/gstelement.h:
3907         * gst/gstevent.c:
3908         * gst/gstevent.h:
3909         * gst/gstmessage.h:
3910         * gst/gstpad.h:
3911         * gst/gstparse.h:
3912         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3913         * gst/gsttask.h:
3914         * gst/gstutils.c:
3915         * gst/gstutils.h:
3916         And 2% more doc coverage.
3917
3918 2005-10-21  Andy Wingo  <wingo@pobox.com>
3919
3920         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3921         position reporting.
3922
3923 2005-10-20  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/gsterror.c: (gst_error_get_message):
3926         * gst/gstparse.h:
3927         * gst/gstquery.h:
3928         * gst/gststructure.c:
3929         * gst/gsttrace.c:
3930         * gst/gstutils.c:
3931         More docs.
3932
3933 2005-10-20  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/gstbuffer.h:
3936         * gst/gstpad.c:
3937         * gst/gstparse.c:
3938         Another 1% more coverage.
3939
3940 2005-10-20  Wim Taymans  <wim@fluendo.com>
3941
3942         * docs/gst/gstreamer-sections.txt:
3943         * gst/gstelement.c: (gst_element_get_state_func),
3944         (gst_element_abort_state), (gst_element_commit_state),
3945         (gst_element_lost_state):
3946         * gst/gstevent.h:
3947         * gst/gstquery.c: (gst_query_set_position),
3948         (gst_query_parse_position), (gst_query_set_duration),
3949         (gst_query_parse_duration), (gst_query_new_convert):
3950         * gst/gstutils.c:
3951         Yay! 1% more docs coverage.
3952
3953 2005-10-20  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/gstpad.h:
3956         * gst/gstquery.c: (gst_query_set_position),
3957         (gst_query_parse_position), (gst_query_set_duration),
3958         (gst_query_parse_duration), (gst_query_new_convert):
3959         * gst/gstquery.h:
3960         * gst/gstutils.c: (gst_element_query_convert):
3961         * gst/gstutils.h:
3962         Docs and consistency fixes.
3963
3964 2005-10-20  Wim Taymans  <wim@fluendo.com>
3965
3966         * gst/gsttask.c:
3967         * gst/gsttask.h:
3968         More docs.
3969
3970 2005-10-20  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/gstbin.c: (message_check), (bin_replace_message),
3973         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3974         (update_degree), (gst_bin_sort_iterator_next),
3975         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3976         Reworked the message handling a bit, cache the messages instead of
3977         only the senders. alows us to do more in the future.
3978
3979 2005-10-20  Wim Taymans  <wim@fluendo.com>
3980
3981         * docs/design/part-TODO.txt:
3982         Update TODO
3983
3984         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3985         (gst_base_sink_query):
3986         Don't use clock time to report position when in EOS.
3987
3988 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * tools/gst-inspect.c: (print_interfaces),
3991         (print_element_properties_info), (print_element_info):
3992           Fix interface output with gst-inspect -a; don't print
3993           newlines after double/float properties.
3994
3995 2005-10-20  Wim Taymans  <wim@fluendo.com>
3996
3997         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3998         (gst_base_sink_query):
3999         Speed up current position calculation.
4000
4001         * gst/base/gstbasesrc.c: (gst_base_src_query),
4002         (gst_base_src_default_newsegment):
4003         Correctly set stream position in newsegment.
4004
4005         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4006         (update_degree), (gst_bin_sort_iterator_next),
4007         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4008         * gst/gstmessage.c: (gst_message_new_custom):
4009         Clean up debugging info
4010
4011         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4012         (gst_queue_loop), (gst_queue_handle_src_query):
4013         Pause task faster.
4014
4015 2005-10-19  Wim Taymans  <wim@fluendo.com>
4016
4017         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4018         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4019         Fix query handling again.
4020
4021 2005-10-19  Wim Taymans  <wim@fluendo.com>
4022
4023         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4024         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4025         * gst/base/gstbasesrc.c: (gst_base_src_query):
4026         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4027         * gst/elements/gsttypefindelement.c:
4028         (gst_type_find_handle_src_query), (find_element_get_length),
4029         (gst_type_find_element_activate):
4030         API change fix.
4031
4032         * gst/gstquery.c: (gst_query_new_position),
4033         (gst_query_set_position), (gst_query_parse_position),
4034         (gst_query_new_duration), (gst_query_set_duration),
4035         (gst_query_parse_duration), (gst_query_set_segment),
4036         (gst_query_parse_segment):
4037         * gst/gstquery.h:
4038         Bundling query position/duration is not a good idea since duration
4039         does not change much and we don't want to recalculate it for every
4040         position query, so they are separated again..
4041         Base value in segment query is not needed.
4042
4043         * gst/gstqueue.c: (gst_queue_handle_src_query):
4044         * gst/gstutils.c: (gst_element_query_position),
4045         (gst_element_query_duration), (gst_pad_query_position),
4046         (gst_pad_query_duration):
4047         * gst/gstutils.h:
4048         Updates for query API change.
4049         Added some docs here and there.
4050
4051 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4052
4053         * check/gst/gstbin.c: (GST_START_TEST):
4054         * check/gst/gstghostpad.c: (GST_START_TEST):
4055         * check/pipelines/cleanup.c: (GST_START_TEST):
4056           wait on thread to die so we can check refcount correctly
4057
4058 2005-10-18  Wim Taymans  <wim@fluendo.com>
4059
4060         * check/pipelines/stress.c: (GST_START_TEST):
4061         Make check a little more time consuming.
4062
4063 2005-10-18  Wim Taymans  <wim@fluendo.com>
4064
4065         * check/Makefile.am:
4066         * check/pipelines/stress.c: (GST_START_TEST),
4067         (simple_launch_lines_suite), (main):
4068         Small state change torture test.
4069
4070         * docs/design/part-states.txt:
4071         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4072         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4073         (gst_base_sink_change_state):
4074         Never take state lock from streaming thread, clean up ugly
4075         hacks. Unfortunatly core does not yet support nice ways to
4076         async commit state.
4077         
4078         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4079         (bin_bus_handler):
4080         Start state recalc if a STATE_DIRTY message is posted, but only
4081         on the toplevel bin.
4082
4083         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4084         (gst_element_get_state_func), (gst_element_abort_state),
4085         (gst_element_commit_state), (gst_element_lost_state),
4086         (gst_element_set_state_func), (gst_element_change_state):
4087         * gst/gstelement.h:
4088         State variables are now protected with the LOCK, the state
4089         lock is only used to serialize _set_state().
4090
4091 2005-10-18  Wim Taymans  <wim@fluendo.com>
4092
4093         * check/gst/gstbin.c: (GST_START_TEST):
4094         * check/gst/gstmessage.c: (GST_START_TEST):
4095         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4096         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4097         (bin_bus_handler):
4098         * gst/gstelement.c: (gst_element_abort_state),
4099         (gst_element_commit_state), (gst_element_lost_state):
4100         * gst/gstmessage.c: (gst_message_new_state_changed),
4101         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4102         (gst_message_new_segment_done), (gst_message_new_duration),
4103         (gst_message_parse_state_changed),
4104         (gst_message_parse_segment_start),
4105         (gst_message_parse_segment_done), (gst_message_parse_duration):
4106         * gst/gstmessage.h:
4107         * tools/gst-launch.c: (event_loop):
4108         Seriously, this is better than a previous commit as we only need
4109         to notify the fact that an element changed state in a streaming
4110         thread, marking the state of the parents dirty, hence the 
4111         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4112         message.
4113
4114 2005-10-18  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4117         (gst_bin_recalc_func):
4118         * gst/gstelement.c: (gst_element_set_clock),
4119         (gst_element_abort_state), (gst_element_lost_state):
4120         Cleanups, prepare for state change fixes.
4121
4122 2005-10-18  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gstbin.h:
4125         * gst/gstelement.c: (gst_element_class_init),
4126         (gst_element_set_state), (gst_element_set_state_func):
4127         * gst/gstelement.h:
4128         Pending ABI changes.
4129         GThreadPool in GstBinClass to monitor async state changes.
4130         state_cookie in GstElement to detect concurrent gst/set state.
4131         set_state is now virtual too in case a very complicated element
4132         has to be constructed.
4133
4134 2005-10-18  Wim Taymans  <wim@fluendo.com>
4135
4136         * check/gst/gstbin.c: (GST_START_TEST):
4137         * check/gst/gstmessage.c: (GST_START_TEST):
4138         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4139         * gst/gstbin.c: (bin_bus_handler):
4140         * gst/gstelement.c: (gst_element_commit_state),
4141         (gst_element_lost_state):
4142         * gst/gstmessage.c: (gst_message_new_state_changed),
4143         (gst_message_new_segment_start), (gst_message_new_segment_done),
4144         (gst_message_new_duration), (gst_message_parse_state_changed),
4145         (gst_message_parse_segment_start),
4146         (gst_message_parse_segment_done), (gst_message_parse_duration):
4147         * gst/gstmessage.h:
4148         * tools/gst-launch.c: (event_loop):
4149         Make messages future proof.
4150         state-change gets a flag if it was a message comming from the
4151         streaming thread.
4152         segment-start/stop can also be specified in other formats.
4153         A message to notify an app that a pipeline changed playback 
4154         duration.
4155         Also fix a GstMessage leak in -launch
4156
4157 2005-10-18  Andy Wingo  <wingo@pobox.com>
4158
4159         * gst/gstelement.c (gst_element_dispose): More helpful message.
4160
4161 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4162
4163         reviewed by: <delete if not using a buddy>
4164
4165         * common/gtk-doc.mak:
4166
4167 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4168
4169         * gst/gstregistry.c: (gst_registry_scan_path_level):
4170           unref a plug-in we get that was already initialized
4171
4172 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4173
4174         * docs/gst/gstreamer-sections.txt:
4175         * docs/libs/gstreamer-libs-sections.txt:
4176         * gst/gstelement.h:
4177           add new api entries
4178           hide internal macro
4179
4180 2005-10-17  Andy Wingo  <wingo@pobox.com>
4181
4182         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4183         cleanup.
4184
4185         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4186
4187         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4188
4189         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4190         (gst_element_get_state_func): Better debug message.
4191         (gst_element_commit_state): s/INFO/DEBUG/.
4192         (gst_element_lost_state, gst_element_change_state): 
4193
4194         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4195         (gst_message_new_custom): s/INFO/LOG/.
4196
4197 2005-10-17  Michael Smith <msmith@fluendo.com>
4198
4199         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4200           Check if end time is valid using end time, not start time.
4201
4202 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * check/gst-libs/controller.c: (GST_START_TEST),
4205         (gst_controller_suite):
4206         * libs/gst/controller/gstcontroller.c:
4207         (gst_controlled_property_set_interpolation_mode):
4208         * libs/gst/controller/gstcontroller.h:
4209         * libs/gst/controller/gstinterpolation.c:
4210         * testsuite/controller/.cvsignore:
4211         * testsuite/controller/Makefile.am:
4212         * testsuite/controller/interpolator.c:
4213           merge controller testsuites
4214           fix broken tests
4215           remove mem-chunk from docs
4216
4217 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * gst/gstmemchunk.c:
4220         * gst/gstmemchunk.h:
4221         * gst/gsttrashstack.c:
4222         * gst/gsttrashstack.h:
4223           out.  get out.  you're fired.  to the Attic !
4224
4225 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4226
4227         * gst/gstcaps.c: (gst_caps_intersect):
4228           fix signedness issues in a (hopefully) correct way
4229         * gst/gstelement.c: (gst_element_pads_activate):
4230           some debugging
4231         * gst/gstobject.c: (gst_object_set_parent):
4232           some debugging
4233
4234 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4235
4236         * gst/gstvalue.h: Fix prototypes.
4237
4238 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4239
4240         * docs/gst/gstreamer-sections.txt:
4241         * gst/gst.c: (gst_version_string):
4242         * gst/gst.h:
4243         * gst/gstversion.h.in:
4244         * win32/common/libgstreamer.def:
4245           add gst_version_string ()
4246
4247 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4248
4249         * configure.ac:
4250           clean up further
4251         * gst/gst.c: (init_post):
4252         * win32/common/config.h.in:
4253           it's PLUGINDIR now
4254         * gst/gstcaps.c: (gst_caps_intersect):
4255           use gint64, the range could be bigger than a guint
4256
4257 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * gst/gstclock.h:
4260           document potential problem in 2038
4261
4262 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4263
4264         * gst/gstcaps.c: (gst_caps_intersect):
4265           Fix guint j diving under 0
4266
4267 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * configure.ac:
4270         * win32/common/config.h:
4271         * win32/common/config.h.in:
4272           check for process.h, declares getpid() on Windows
4273         * gst/gstinfo.c:
4274           include process.h if we have it
4275         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4276         * gst/gstmemchunk.h:
4277           fix signedness issues
4278         * win32/common/libgstreamer.def:
4279           fix get_type's
4280
4281 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4282
4283         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4284         fix. Because of unsigned ints, caps intersection was going nuts and
4285         trying to access structures with G_MAXUINT index. That fixes
4286         videotestsrc ! ffmpegcolorspace ! fakesink
4287         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4288         consistency.
4289
4290 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4291
4292         * configure.ac:
4293           use the gettext macro
4294         * gst/elements/gstelements.c:
4295         * gst/gst.c:
4296         * gst/indexers/gstindexers.c:
4297           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4298         * win32/common/config.h:
4299           updated config.h
4300         * win32/common/config.h.in:
4301           add the template to generate config.h
4302         * win32/common/gstenumtypes.c:
4303         * win32/common/gstversion.h:
4304           updated copies
4305
4306 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4307
4308         * gst/gst.c: (gst_version):
4309         * gst/gstversion.h.in:
4310           add the nano
4311
4312 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4313
4314         * gst/gstevent.h:
4315           Oops, add missing closing bracket.
4316
4317 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * configure.ac:
4320           use common m4's for argument checking
4321
4322 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4323
4324         * docs/gst/gstreamer-sections.txt:
4325         * gst/gstevent.h:
4326           Add GST_EVENT_TYPE_NAME() macro.
4327
4328 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4329
4330         * gst/gstinfo.c:
4331         * gst/gstpluginfeature.c:
4332         * gst/gsttask.c:
4333           privatize more symbols
4334
4335 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4336
4337         * configure.ac:
4338           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4339           everything that uses GStreamer API should have the includes
4340
4341 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4342
4343         * docs/gst/gstreamer-sections.txt:
4344         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4345         * gst/gstvalue.h:
4346           give each value a _get_type, removes the DATA exports
4347
4348 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * gst/gst.c:
4351         * gst/gst.h:
4352           remove _gst_registry_auto_load, not used anymore
4353         * gst/gstbin.c: (gst_bin_get_type):
4354         * gst/gstbin.h:
4355         * gst/gstelement.c: (gst_element_get_type):
4356         * gst/gstelement.h:
4357         * gst/gstobject.c: (gst_object_get_type):
4358         * gst/gstobject.h:
4359         * gst/gstpad.c: (gst_pad_get_type):
4360         * gst/gstpad.h:
4361           make _get_type functions similar, fixes data export from library
4362
4363 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4364
4365         * configure.ac:
4366           correctly make conditionals
4367         * gst/elements/Makefile.am:
4368         * gst/elements/gstelements.c:
4369           fix typo causing fdsrc not to build
4370
4371 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4372
4373         * testsuite/Makefile.am:
4374         * testsuite/bytestream/.cvsignore:
4375         * testsuite/bytestream/Makefile.am:
4376         * testsuite/bytestream/filepadsink.c:
4377         * testsuite/bytestream/gstbstest.c:
4378         * testsuite/bytestream/test1.c:
4379         * testsuite/bytestream/testfile1:
4380         * testsuite/caps/normalisation.c:
4381         * testsuite/caps/random.c: (main):
4382         * testsuite/cleanup/.cvsignore:
4383         * testsuite/cleanup/Makefile.am:
4384         * testsuite/cleanup/cleanup1.c:
4385         * testsuite/cleanup/cleanup2.c:
4386         * testsuite/cleanup/cleanup3.c:
4387         * testsuite/cleanup/cleanup4.c:
4388         * testsuite/cleanup/cleanup5.c:
4389         * testsuite/controller/interpolator.c:
4390         * testsuite/debug/printf_extension.c: (main):
4391         * testsuite/elements/tee.c:
4392         * testsuite/negotiation/.cvsignore:
4393         * testsuite/negotiation/Makefile.am:
4394         * testsuite/negotiation/pad_link.c:
4395         * testsuite/pad/Makefile.am:
4396         * testsuite/pad/chainnopull.c:
4397         * testsuite/pad/getnopush.c:
4398         * testsuite/pad/link.c:
4399         * testsuite/refcounting/sched.c: (create_pipeline):
4400         * testsuite/registry/Makefile.am:
4401         * testsuite/registry/gst-print-formats.c:
4402         * testsuite/schedulers/.cvsignore:
4403         * testsuite/schedulers/142183-2.c:
4404         * testsuite/schedulers/142183.c:
4405         * testsuite/schedulers/143777-2.c:
4406         * testsuite/schedulers/143777.c:
4407         * testsuite/schedulers/147713.c:
4408         * testsuite/schedulers/147819.c:
4409         * testsuite/schedulers/147894-2.c:
4410         * testsuite/schedulers/147894.c:
4411         * testsuite/schedulers/Makefile.am:
4412         * testsuite/schedulers/group_link.c:
4413         * testsuite/schedulers/queue_link.c:
4414         * testsuite/schedulers/relink.c:
4415         * testsuite/schedulers/unlink.c:
4416         * testsuite/schedulers/unref.c:
4417         * testsuite/schedulers/useless_iteration.c:
4418         * testsuite/states/bin.c:
4419           clean out/remove some stuff from the testsuite directories
4420
4421 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * configure.ac:
4424           check for some headers
4425         * gst/elements/Makefile.am:
4426         * gst/elements/gstelements.c:
4427           don't compile fdsrc without sys/socket.h
4428         * gst/indexers/Makefile.am:
4429         * gst/indexers/gstindexers.c: (plugin_init):
4430           don't compile fileindex without mmap
4431
4432 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4433
4434         * configure.ac:
4435           reorganize
4436           clean up
4437           document more
4438           remove cruft
4439         * check/Makefile.am:
4440         * docs/gst/Makefile.am:
4441         * examples/helloworld/Makefile.am:
4442         * gst/Makefile.am:
4443         * gst/base/Makefile.am:
4444         * gst/check/Makefile.am:
4445         * gst/elements/Makefile.am:
4446         * gst/indexers/Makefile.am:
4447         * gst/parse/Makefile.am:
4448         * libs/gst/controller/Makefile.am:
4449         * libs/gst/dataprotocol/Makefile.am:
4450         * examples/helloworld/helloworld.c: (event_loop):
4451           compile fixes, though it's not being compiled currently
4452
4453 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4454
4455         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4456           Add some simple tests for the new taglist date API.
4457
4458 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4461         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4462           Beautify 'last-message' output: print 'none' for buffer timestamps
4463           and durations if none is set; improve alignment with next messages.
4464
4465 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4466
4467         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4468         * gst/gstpluginfeature.h:
4469         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4470         * gst/gstregistry.h:
4471         * docs/gst/gstreamer-sections.txt:
4472           Add new API to check plugin feature version requirements.
4473
4474         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4475           Some basic tests for the above.         
4476
4477 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4478
4479         * gst/gststructure.c: (gst_structure_to_string):
4480           guard against NULL printf - happens when for example
4481           a message structure with GstClock gets serialized
4482
4483 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4486           Fix presumable copy'n'pasto.
4487
4488 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4489
4490         * gst/elements/gstfakesrc.h:
4491         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4492         * gst/elements/gsttypefindelement.c:
4493           fix some signedness
4494         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4495           I wonder if this could actually write +2GB files before
4496
4497 2005-10-13  Andy Wingo  <wingo@pobox.com>
4498
4499         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4500         Fix Timmeke Waymans bug.
4501         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4502         string of the proper length to gst_caps_from_string. There's a
4503         potential for, before this fix, that this could cause someone
4504         connecting over the network to cause a segfault if the payload is
4505         not NUL-terminated.
4506
4507 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4508
4509         * docs/design/draft-push-pull.txt:
4510         * docs/design/part-overview.txt:
4511         * docs/random/TODO-pre-0.9:
4512         * docs/random/old/ChangeLog.gstreamer:
4513         * gst/base/gstpushsrc.c:
4514         * gst/gstclock.c:
4515           fixed typos
4516
4517 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         * gst/glib-compat.c: (gst_flags_get_first_value):
4520         * gst/glib-compat.h:
4521         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4522         (gst_value_compare_double), (gst_value_serialize_flags):
4523           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4524           infinite loop
4525
4526 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4527
4528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4529         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4530           fix up debugging
4531         * tools/gst-launch.c: (event_loop):
4532           print out clock nicely
4533
4534 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * docs/gst/gstreamer-sections.txt:
4537         * gst/gsttaglist.h:
4538         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4539         (gst_tag_list_get_date_index):
4540           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4541           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4542
4543 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4544
4545         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4546         (gst_collectpads_chain):
4547         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4548         in CollectData.
4549
4550 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4551
4552         * docs/gst/gstreamer-sections.txt:
4553         * gst/gst.c:
4554         * gst/gsterror.h:
4555         * tools/gst-inspect.c: (main):
4556         * tools/gst-launch.c: (main):
4557         * tools/gst-run.c: (main):
4558         * tools/gst-xmlinspect.c: (main):
4559           fix GOption context leaks
4560           doc fixes
4561
4562 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * gst/gstbus.c:
4565           use HAVE_UNISTD_H
4566         * win32/common/config.h:
4567           update config
4568         * win32/vs6/grammar.dsp:
4569         * win32/vs6/libgstelements.dsp:
4570         * win32/vs6/libgstreamer.dsp:
4571           update vs6 files
4572
4573 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4574
4575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4576         * gst/base/gstbasesrc.c: (gst_base_src_query):
4577           fix more guint64<->gdouble conversions
4578
4579 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * Makefile.am:
4582           add win32-update target
4583         * win32/common/gstconfig.h:
4584         * win32/common/gstenumtypes.c:
4585         * win32/common/gstenumtypes.h:
4586         * win32/common/gstversion.h:
4587           add files that visual studio can't generate
4588
4589 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * Makefile.am:
4592           add a win32-update target
4593         * configure.ac:
4594
4595 2005-10-12  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4598         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4599         * gst/gstelement.c: (gst_element_commit_state),
4600         (gst_element_set_state):
4601         Protect flags with proper lock.
4602         unref provided cached clock in dispose.
4603
4604 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4605
4606         * gst/gst.c:
4607         * gst/gstminiobject.h:
4608         * gst/gstpad.h:
4609         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4610           removed unused flags from miniobject
4611           doc fixes
4612
4613 2005-10-12  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4616         (gst_file_sink_event), (gst_file_sink_render):
4617         Flush before seeking.
4618
4619 2005-10-12  Andy Wingo  <wingo@pobox.com>
4620
4621         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4622         always been the case.
4623
4624 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4625
4626         * check/gst/gstbin.c: (GST_START_TEST):
4627         * docs/gst/gstreamer-sections.txt:
4628         * gst/base/gstbasesink.c: (gst_base_sink_init):
4629         * gst/base/gstbasesrc.c: (gst_base_src_init),
4630         (gst_base_src_get_range), (gst_base_src_check_get_range),
4631         (gst_base_src_start), (gst_base_src_stop):
4632         * gst/base/gstbasesrc.h:
4633         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4634         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4635         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4636         (bin_bus_handler):
4637         * gst/gstbin.h:
4638         * gst/gstbuffer.h:
4639         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4640         * gst/gstbus.h:
4641         * gst/gstelement.c: (gst_element_is_locked_state),
4642         (gst_element_set_locked_state), (gst_element_commit_state),
4643         (gst_element_set_state):
4644         * gst/gstelement.h:
4645         * gst/gstindex.c: (gst_index_init):
4646         * gst/gstindex.h:
4647         * gst/gstminiobject.h:
4648         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4649         (gst_object_set_parent):
4650         * gst/gstobject.h:
4651         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4652         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4653         * gst/gstpad.h:
4654         * gst/gstpadtemplate.h:
4655         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4656         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4657         * gst/gstpipeline.h:
4658         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4659         (gst_file_index_commit):
4660         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4661         * testsuite/pad/link.c: (gst_test_src_init),
4662         (gst_test_filter_init), (gst_test_sink_init):
4663         * testsuite/states/locked.c: (main):
4664           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4665           moved bitshift from macro to enum definition
4666
4667 2005-10-12  Wim Taymans  <wim@fluendo.com>
4668
4669         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4670         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4671         (gst_file_sink_render):
4672         Some more debugging info.
4673
4674 2005-10-12  Wim Taymans  <wim@fluendo.com>
4675
4676         * docs/design/part-states.txt:
4677         * tools/gst-launch.c: (main):
4678         Some doc updates.
4679         Revert non-intentional change.
4680
4681 2005-10-12  Wim Taymans  <wim@fluendo.com>
4682
4683         * check/gst/gstbin.c: (GST_START_TEST):
4684         * check/gst/gstelement.c: (GST_START_TEST):
4685         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4686         * check/gst/gstghostpad.c: (GST_START_TEST):
4687         * check/gst/gstpipeline.c: (GST_START_TEST):
4688         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4689         * check/states/sinks.c: (GST_START_TEST):
4690         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4691         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4692         (gst_bin_remove_func), (gst_bin_get_state_func),
4693         (gst_bin_recalc_state), (gst_bin_change_state_func),
4694         (bin_bus_handler):
4695         * gst/gstelement.c: (gst_element_get_state_func),
4696         (gst_element_get_state), (gst_element_abort_state),
4697         (gst_element_commit_state), (gst_element_set_state),
4698         (gst_element_change_state), (gst_element_change_state_func):
4699         * gst/gstelement.h:
4700         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4701         (gst_pipeline_provide_clock_func):
4702         * gst/gstutils.c: (gst_element_link_pads_filtered):
4703         * tools/gst-launch.c: (main):
4704         * tools/gst-typefind.c: (main):
4705         Use GstClockTime in _get_state() instead of GTimeVal.
4706         Remove old code in gstutils.c
4707
4708 2005-10-12  Andy Wingo  <wingo@pobox.com>
4709
4710         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4711         removed.
4712
4713         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4714         there is no task. Shouldn't affect any code, as nothing in our
4715         plugins checks this return value.
4716         (gst_pad_stop_task): Also take the stream lock if the pad has no
4717         task. Docs updated.
4718
4719 2005-10-12  Wim Taymans  <wim@fluendo.com>
4720
4721         * gst/gstpad.c: (pre_activate), (post_activate),
4722         (gst_pad_activate_pull), (gst_pad_activate_push):
4723         Cleanup activation code. Reset old state if
4724         activation failed.
4725
4726 2005-10-12  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4729         (gst_base_sink_change_state):
4730         No need to prerol after receiving EOS.
4731
4732         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4733         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4734         * gst/elements/gstidentity.c: (gst_identity_event):
4735         Print events more verbosely.
4736
4737 2005-10-12  Wim Taymans  <wim@fluendo.com>
4738
4739         * check/Makefile.am:
4740         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4741         * check/states/sinks2.c:
4742         Moved sinks2 testcode in sinks check.
4743
4744         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4745         (gst_bin_remove_func), (gst_bin_recalc_state),
4746         (gst_bin_change_state_func), (bin_bus_handler):
4747         Fix potential race condition when _get_state() iterated over an
4748         ASYNC element right before it posted a state completion.
4749
4750         * gst/gstclock.h:
4751         Do proper cast here.
4752
4753         * gst/gstevent.c: (gst_event_new_newsegment),
4754         (gst_event_parse_newsegment):
4755         A playback rate of 0.0 is not allowed.
4756
4757 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4758
4759         * win32/common/config.h:
4760         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4761         (_trewinddir), (_ttelldir), (_tseekdir):
4762         * win32/common/dirent.h:
4763         * win32/common/gtchar.h:
4764         * win32/common/libgstbase.def:
4765         * win32/common/libgstreamer.def:
4766         * win32/vs6/grammar.dsp:
4767         * win32/vs6/gst_inspect.dsp:
4768         * win32/vs6/gst_launch.dsp:
4769         * win32/vs6/gstreamer.dsw:
4770         * win32/vs6/libgstbase.dsp:
4771         * win32/vs6/libgstelements.dsp:
4772         * win32/vs6/libgstreamer.dsp:
4773           Visual Studio 6 project files, and a new common directory.
4774           Phear.
4775
4776 2005-10-11  Wim Taymans  <wim@fluendo.com>
4777
4778         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4779         (gst_base_sink_do_sync), (gst_base_sink_query),
4780         (gst_base_sink_change_state):
4781         * gst/base/gstbasesink.h:
4782         Correctly parse newsegment info.
4783
4784 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4785
4786         * gst/gst.c: (init_post):
4787           split plugin paths correctly
4788
4789 2005-10-11  Wim Taymans  <wim@fluendo.com>
4790
4791         * check/gst/gstevent.c: (GST_START_TEST):
4792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4793         (gst_base_sink_change_state):
4794         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4795         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4796         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4797         * gst/gstevent.c: (gst_event_new_newsegment),
4798         (gst_event_parse_newsegment):
4799         * gst/gstevent.h:
4800         Added extra flag to newsegment for future API freeze.
4801         Updated check and base elements.
4802
4803 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4804
4805         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4806         (gst_collectpads_add_pad), (gst_collectpads_pop),
4807         (gst_collectpads_event), (gst_collectpads_chain):
4808         * gst/base/gstcollectpads.h: Handle EOS correctly.
4809
4810 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4811
4812         * tools/gst-launch.c: (main):
4813           more null protecting
4814
4815 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * gst/gst-i18n-lib.h:
4818           check for ENABLE_NLS, not GETTEXT_PACKAGE
4819         * gst/gstregistry.c: (gst_registry_add_plugin),
4820         (gst_registry_scan_path_level),
4821         (_gst_registry_remove_cache_plugins):
4822           protect possibly NULL strings
4823         * gst/parse/types.h:
4824           config.h already included before
4825         * tools/gst-inspect.c: (main):
4826           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4827           check for ENABLE_NLS, not GETTEXT_PACKAGE
4828         * tools/gst-launch.c: (main):
4829           check for ENABLE_NLS, not GETTEXT_PACKAGE
4830
4831 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * configure.ac:
4834           if we don't have glib, fail before testing 2.8
4835         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4836           fix a leak, should fix plugins-base testsuite
4837
4838 2005-10-11  Andy Wingo  <wingo@pobox.com>
4839
4840         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4841         take the mode we're going to as an arg. Go head and set the mode
4842         and flushing flags now, so that if the activate function starts a
4843         thread all the flags will be in the right state.
4844         (post_activate): Renamed also. Just handle making sure streaming
4845         finishes for the deactivation case, and setting the deactivated
4846         mode.
4847         (gst_pad_set_active): Complain loudly if deactivation fails.
4848         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4849         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4850         remove the terrible hack.
4851
4852 2005-10-11  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4855         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4856         (gst_bin_recalc_state), (gst_bin_change_state_func),
4857         (gst_bin_dispose), (bin_bus_handler):
4858         * gst/gstbin.h:
4859         Prepare to make current EOS message queue more generic.
4860         Fix some typos.
4861
4862         * gst/gstevent.c: (gst_event_new_newsegment),
4863         (gst_event_parse_newsegment):
4864         * gst/gstevent.h:
4865         Rename base to stream_time.
4866
4867         * gst/gstmessage.h:
4868         Fix typo in docs.
4869
4870 2005-10-11  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4873         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4874         (gst_bin_change_state_func), (bin_bus_handler):
4875         * gst/gstbin.h:
4876         Work on proper clock selection.
4877
4878 2005-10-11  Edward Hervey  <edward@fluendo.com>
4879
4880         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4881         * libs/gst/controller/gstcontroller.h:
4882         Added GList* version of _remove_properties() in order to be able to wrap
4883         it in bindings.
4884
4885 2005-10-11  Wim Taymans  <wim@fluendo.com>
4886
4887         * docs/design/part-states.txt:
4888         Some more docs.
4889
4890         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4891         (gst_bin_change_state_func), (bin_bus_handler):
4892         Doc updates. Don't distribute the same clock over and over again.
4893
4894         * gst/gstclock.c:
4895         * gst/gstclock.h:
4896         Doc updates.
4897
4898         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4899         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4900         (gst_pad_send_event):
4901         * gst/gstpad.h:
4902         Make probe emission threadsafe again.
4903         Register quarks and move _get_name() from utils.
4904         Doc updates.
4905
4906         * gst/gstpipeline.c: (gst_pipeline_class_init),
4907         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4908         Only redistribute the clock of it changed.
4909
4910         * gst/gstsystemclock.h:
4911         Doc updates. 
4912
4913         * gst/gstutils.c:
4914         * gst/gstutils.h:
4915         Moved the _flow_get_name() to GstPad.
4916
4917 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4918
4919         * check/gst-libs/gdp.c: (GST_START_TEST):
4920         * check/gst/gstcaps.c: (GST_START_TEST):
4921         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4922         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4923         (gst_dp_packet_from_caps):
4924           fix more valgrind warnings before turning up the heat
4925
4926 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * gst/parse/grammar.y:
4929           some cleanup before the hacking
4930
4931 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/base/gstbasesrc.c: (gst_base_src_query):
4934           use conversions
4935         * gst/gstutils.c: (gst_guint64_to_gdouble),
4936         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4937         * gst/gstutils.h:
4938           externalize, basesrc uses it
4939           obviously the implementation needs testing
4940
4941 2005-10-10  Wim Taymans  <wim@fluendo.com>
4942
4943         * tests/sched/Makefile.am:
4944         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4945         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4946
4947 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4948
4949         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4950           apparently converting from guint64 to double is not implemented
4951           on MSVC
4952
4953 2005-10-10  Wim Taymans  <wim@fluendo.com>
4954
4955         * check/Makefile.am:
4956         * check/generic/states.c: (GST_START_TEST):
4957         * check/gst/gstbin.c: (GST_START_TEST):
4958         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4959         * check/states/sinks.c: (GST_START_TEST):
4960         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4961         (main):
4962         Check fixes, use API as stated in design docs, remove hacks.
4963
4964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4965         (gst_base_sink_change_state):
4966         Catch stopping our task while we're shutting down.
4967
4968         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4969         (gst_bin_remove_func), (gst_bin_get_state_func),
4970         (gst_bin_recalc_state), (gst_bin_change_state_func),
4971         (bin_bus_handler):
4972         * gst/gstbin.h:
4973         * gst/gstelement.c: (gst_element_init),
4974         (gst_element_get_state_func), (gst_element_abort_state),
4975         (gst_element_commit_state), (gst_element_lost_state),
4976         (gst_element_set_state), (gst_element_change_state),
4977         (gst_element_change_state_func):
4978         * gst/gstelement.h:
4979         New state change algorithm (see #318116)
4980
4981         * gst/gstpipeline.c: (gst_pipeline_class_init),
4982         (gst_pipeline_init), (gst_pipeline_set_property),
4983         (gst_pipeline_get_property), (do_pipeline_seek),
4984         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4985         * gst/gstpipeline.h:
4986         Remove crude state change hacks.
4987
4988         * gst/gstutils.h:
4989         Remove crude hacks.
4990
4991         * tools/gst-launch.c: (main):
4992         Fixes for state change. Needs some more work to fully use the
4993         new stuff.
4994
4995 2005-10-10  Andy Wingo  <wingo@pobox.com>
4996
4997         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4998
4999         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5000         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5001         issue.
5002
5003 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5004
5005         * gst/gstiterator.c: (gst_iterator_new):
5006           Fix my previous commit: GTypes passed to gst_iterator_new()
5007           can be fundamental types.
5008
5009 2005-10-10  Wim Taymans  <wim@fluendo.com>
5010
5011         * gst/gstelement.c: (gst_element_iterate_pad_list),
5012         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5013         (gst_element_iterate_sink_pads):
5014         Use src/sink pads lists for the respective iterators instead
5015         of filtering.
5016
5017 2005-10-10  Andy Wingo  <wingo@pobox.com>
5018
5019         Merged in popt removal + GOption addition patch from Ronald, bug
5020         #169772.
5021
5022         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5023         GstElement macros around, remove popt-related symbols, add goption
5024         stuff.
5025
5026         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5027         
5028         * docs/gst/Makefile.am:
5029         * docs/libs/Makefile.am: No POPT_CFLAGS.
5030         
5031         * examples/manual/Makefile.am:
5032         * docs/manual/basics-init.xml: Doc updates with an example.
5033         
5034         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5035         (gst_init), (parse_one_option), (parse_goption_arg):
5036         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5037         bit of hand merging and debugging to get the GOption stuff working
5038         tho.
5039         
5040         * tests/Makefile.am:
5041         * tools/Makefile.am:
5042         * tools/gst-inspect.c: (main):
5043         * tools/gst-launch.c: (main):
5044         * tools/gst-run.c: (main):
5045         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5046
5047 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         * gst/gstiterator.c: (gst_iterator_new):
5050           Add assertions to make sure passed GType is likely to really
5051           be a GType (as the compiler won't catch it if the size and
5052           GType arguments get mixed up, see #318447).
5053
5054 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5055
5056         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5057
5058         * gst/gstbin.c: (gst_bin_iterate_sorted):
5059           Pass GType and size arguments to gst_iterator_new() in the right
5060           order (maybe we should make _new() take the GType as first argument
5061           just like _new_list()?) (#318447).
5062           
5063
5064 2005-10-10  Wim Taymans  <wim@fluendo.com>
5065
5066         * gst/gstelement.c: (gst_element_finalize):
5067         And free the GStaticRecMutex too
5068
5069 2005-10-10  Andy Wingo  <wingo@pobox.com>
5070
5071         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5072         Allocate and free the mutex properly.
5073
5074         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5075         New macros.
5076         (GstElement): The state_lock is now recursive. Rebuild your
5077         plugins, suckers. Old macros adapted.
5078
5079         * docs/gst/gstreamer-sections.txt: Doc updates.
5080
5081         * gst/gstutils.h:
5082         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5083         (g_static_rec_cond_wait): Ported from state changes patch, while
5084         we wait on bug #317802 to be solved in a well-distributed GLib.
5085
5086         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5087         gst_element_change_state, variable name changes.
5088         (gst_element_change_state): Split out of gst_element_set_state in
5089         preparation for the state change merge. Doesn't pay attention to
5090         the 'transition' argument.
5091         (gst_element_set_state): Updates, hopefully purely cosmetic.
5092         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5093         state change patch.
5094         (gst_element_get_state_func): Renamed from get_state, cosmetic
5095         changes.
5096
5097 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5098
5099         * gst/elements/gstelements.c:
5100         * win32/GStreamer.vcproj:
5101         * win32/config.h:
5102         * win32/dirent.c: (_tseekdir):
5103         * win32/gst-inspect.vcproj:
5104         * win32/gst-launch.vcproj:
5105         * win32/gstconfig.h:
5106         * win32/gstelements.vcproj:
5107         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5108         * win32/gstreamer.def:
5109         * win32/msvc71.sln:
5110           updates for the win32 build (patch from Sebastien Moutte)
5111
5112 2005-10-10  Andy Wingo  <wingo@pobox.com>
5113
5114         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5115         gst_bin_get_state, cleaned up (but no logic changes).
5116         (bin_element_is_sink): Comment updates.
5117         (sink_iterator_filter): Remove needless cast.
5118         (gst_bin_iterate_sinks): Doc update.
5119         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5120         cleaned up (but no logic changes).
5121
5122         * check/states/sinks.c (test_src_sink): Cleanups from the state
5123         change patch.
5124         (test_livesrc_sink): Sync on the state.
5125
5126         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5127         the state change patch.
5128
5129         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5130         change patch.
5131
5132         * check/gst/gstbin.c: Merge in some style fixes and additional
5133         checks from Wim's state change patch.
5134
5135 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5136
5137         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5138         (gst_type_find_helper):
5139           Check whether we have the requested data already in our list of
5140           cached buffers before pulling a new buffer; also make the buffer
5141           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5142
5143 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5144
5145         * gst/gstcaps.c:
5146         * gst/gstevent.c:
5147           doc updates
5148         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5149           don't use long long, it's not portable.  Replacing with
5150           gint64 seems to work; let's hope no skeletons fall out of the closet.
5151
5152 2005-10-10  Andy Wingo  <wingo@pobox.com>
5153
5154         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5155
5156 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5157
5158         * docs/gst/gstreamer-sections.txt:
5159         * gst/gstevent.c:
5160         * gst/gstevent.h:
5161         * gst/gstinfo.c:
5162         * gst/gstinfo.h:
5163         * gst/gstmessage.c: (gst_message_parse_state_changed):
5164         * gst/gstpad.c:
5165         * gst/gstpad.h:
5166           more docs, fix compilation
5167
5168 2005-10-09  Philippe Khalaf <burger@speedy.org>
5169         * gst/gstmessage.c:
5170           Fixed a few forgotten variables on previous commit
5171
5172 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5173
5174         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5175           Fix evil typefind crasher: getrange() might return a short
5176           buffer at the end of a file, but gst_type_find_peek() must
5177           either return the full data as requested or NULL, but
5178           never a short buffer.
5179
5180 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * gst/gstmessage.c: (gst_message_new_state_changed),
5183         (gst_message_parse_state_changed):
5184         * gst/gstmessage.h:
5185           don't use "new", it's a C++ keyword
5186
5187 2005-10-08  Wim Taymans  <wim@fluendo.com>
5188
5189         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5190         * gst/gstelement.c: (gst_element_post_message):
5191         * gst/gstpipeline.c: (gst_pipeline_change_state):
5192         Small docs and debug updates.
5193
5194 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * docs/gst/gstreamer-sections.txt:
5197         * gst/gstelementfactory.c:
5198         * gst/gstevent.c:
5199         * gst/gsttaglist.c:
5200           more docs
5201
5202 2005-10-08  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5205         (gst_bin_dispose), (bin_bus_handler):
5206         Fix typos, add comments.
5207         Clear EOS list when going to PAUSED from any direction and do it
5208         in a threadsafe way.
5209         Get base time in a threadsafe way too.
5210         Fix confusing debug in the change_state function.
5211         Various other small cleanups.
5212         
5213         * gst/gstelement.c: (gst_element_post_message):
5214         Fix very verbose bus posting code.
5215
5216         * gst/gstpipeline.c: (gst_pipeline_class_init),
5217         (gst_pipeline_set_property), (gst_pipeline_get_property),
5218         (gst_pipeline_change_state):
5219         Small ARG_ -> PROP_ cleanup
5220
5221 2005-10-08  Wim Taymans  <wim@fluendo.com>
5222
5223         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5224         Do a less CPU demanding EOS check because we can.
5225
5226 2005-10-08  Wim Taymans  <wim@fluendo.com>
5227
5228         * libs/gst/dataprotocol/dataprotocol.c:
5229         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5230         (gst_dp_packet_from_event):
5231         * libs/gst/dataprotocol/dataprotocol.h:
5232         * libs/gst/dataprotocol/dp-private.h:
5233         It's about time we bump the version number.
5234         Since event types don't fit in the guint8 anymore describing
5235         the payload type, make payload type 16 bits wide.
5236
5237 2005-10-08  Wim Taymans  <wim@fluendo.com>
5238
5239         * docs/design/part-TODO.txt:
5240         * docs/design/part-clocks.txt:
5241         * docs/design/part-events.txt:
5242         * docs/design/part-gstbin.txt:
5243         * docs/design/part-gstelement.txt:
5244         * docs/design/part-gstpipeline.txt:
5245         * docs/design/part-live-source.txt:
5246         * docs/design/part-messages.txt:
5247         * docs/design/part-overview.txt:
5248         * docs/design/part-states.txt:
5249         Many doc updates.
5250
5251 2005-10-08  Wim Taymans  <wim@fluendo.com>
5252
5253         * gst/gstevent.c:
5254         * gst/gstevent.h:
5255         Fix event quark registration.
5256         Add some space between events so we can insert them in the
5257         right groups.
5258
5259 2005-10-08  Wim Taymans  <wim@fluendo.com>
5260
5261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5262         (gst_base_sink_handle_buffer):
5263         Better log message.
5264
5265         * gst/gstbus.h:
5266         * gst/gstelement.h:
5267         More docs.
5268
5269         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5270         (gst_queue_set_property), (gst_queue_get_property):
5271         * gst/gstqueue.h:
5272         Remove old unused properties.
5273
5274 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5275         * docs/gst/gstreamer-sections.txt:
5276         * gst/gstmessage.c:
5277         * gst/gstmessage.h:
5278         * gst/gstminiobject.c:
5279         * gst/gstminiobject.h:
5280         * gst/gstobject.h:
5281         * gst/gstpad.h:
5282         * gst/gstutils.h:
5283           lots of new docs and doc fixes
5284
5285 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5286
5287         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5288         * gst/gstplugin.h:
5289         * gst/gstregistry.c: (gst_registry_lookup_locked),
5290         (gst_registry_scan_path_level):
5291         * gst/gstregistryxml.c: (load_plugin):
5292           Only ever load one plugin for a given plugin basename.
5293           This ensures correct overriding of GST_PLUGIN_PATH over
5294           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5295           system installed plugins.
5296
5297 2005-10-08  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5300         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5301         Prepare for doing QOS.
5302
5303 2005-10-08  Wim Taymans  <wim@fluendo.com>
5304
5305         * check/gst/gstbin.c: (GST_START_TEST):
5306         * check/pipelines/cleanup.c: (GST_START_TEST):
5307         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5308         Allow new clock message too.
5309
5310 2005-10-08  Wim Taymans  <wim@fluendo.com>
5311
5312         * gst/gstmessage.c: (gst_message_new_error),
5313         (gst_message_new_warning), (gst_message_new_tag),
5314         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5315         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5316         (gst_message_new_segment_start), (gst_message_new_segment_done),
5317         (gst_message_parse_state_changed),
5318         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5319         (gst_message_parse_new_clock):
5320         * gst/gstmessage.h:
5321         Also carry the clock in question.
5322
5323 2005-10-08  Wim Taymans  <wim@fluendo.com>
5324
5325         * gst/gstmessage.c: (gst_message_new_custom),
5326         (gst_message_new_eos), (gst_message_new_error),
5327         (gst_message_new_warning), (gst_message_new_tag),
5328         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5329         (gst_message_new_new_clock), (gst_message_new_segment_start),
5330         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5331         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5332         * gst/gstmessage.h:
5333         Clean up.
5334         Added clock related messages.
5335
5336         * gst/gstpipeline.c: (gst_pipeline_change_state):
5337         Post message when the clock changed.
5338
5339         * tools/gst-launch.c: (event_loop):
5340         Print new clock.
5341
5342 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5343
5344         * tools/gst-inspect.c: (print_element_properties_info):
5345           Can't pass NULL strings to g_print() on windows.
5346
5347 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5348
5349         * docs/Makefile.am:
5350         * docs/gst/Makefile.am:
5351         * docs/gst/gstreamer-docs.sgml:
5352         * docs/gst/running.xml:
5353         * docs/version.entities.in:
5354           add a chapter on running GStreamer.
5355           document GST_DEBUG and GST_PLUGIN* env vars
5356
5357 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5358
5359         * Makefile.am:
5360           remove include dir
5361         * configure.ac:
5362           remove PLUGINS_BUILDDIR stuff
5363         * gst/gst.c: (init_post):
5364           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5365         * idiottest.mak:
5366           remove, it was condescending and not needed
5367
5368 2005-10-08  Wim Taymans  <wim@fluendo.com>
5369
5370         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5371         (gst_base_sink_handle_object), (gst_base_sink_event),
5372         (gst_base_sink_wait), (gst_base_sink_handle_event),
5373         (gst_base_sink_change_state):
5374         * gst/base/gstbasesink.h:
5375         Repost EOS message while going to PLAYING if still EOS.
5376         Make sure that when receiving a FLUSH_START we don't attempt
5377         to sync on the clock anymore.
5378
5379 2005-10-08  Wim Taymans  <wim@fluendo.com>
5380
5381         * tools/gst-launch.c: (event_loop):
5382         Better message printout.
5383
5384 2005-10-08  Wim Taymans  <wim@fluendo.com>
5385
5386         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5387         (gst_bin_child_proxy_get_children_count):
5388         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5389         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5390         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5391         (gst_child_proxy_set_valist):
5392         * gst/parse/grammar.y:
5393         Make ChildProxy threadsafe and fix mem leaks.
5394
5395 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5396
5397         * gst/gst.c: (init_post):
5398           debug the GST_PLUGIN_ env vars
5399
5400 2005-10-08  Wim Taymans  <wim@fluendo.com>
5401
5402         * check/gst/gstbin.c: (GST_START_TEST):
5403         * check/gst/gstmessage.c: (GST_START_TEST):
5404         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5405         * gst/gstelement.c: (gst_element_commit_state),
5406         (gst_element_lost_state):
5407         * gst/gstmessage.c: (gst_message_new_state_changed),
5408         (gst_message_parse_state_changed):
5409         * gst/gstmessage.h:
5410         * tools/gst-launch.c: (event_loop):
5411         Added extra field to STATE_CHANGE message with the pending
5412         state, which will be different from the new state soon.
5413
5414 2005-10-08  Wim Taymans  <wim@fluendo.com>
5415
5416         * gst/gstbus.c: (gst_bus_pop):
5417         * gst/gstclock.c:
5418         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5419         Small cleanups and doc updates.
5420
5421 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * gst/gst.c: (init_pre):
5424         * gst/gstbin.c: (gst_bin_add_func):
5425           log distributing clocks and base time
5426         * gst/gstregistry.c: (gst_registry_add_plugin),
5427         (gst_registry_scan_path_level), (gst_registry_scan_path):
5428           clean up the debugging output a little
5429         * gst/gstutils.c: (gst_element_state_get_name):
5430           warn about a memleak (I've actually seen this be used, though
5431           it was probably a bug)
5432
5433 2005-10-07  Wim Taymans  <wim@fluendo.com>
5434
5435         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5436         (gst_base_src_init), (gst_base_src_default_newsegment),
5437         (gst_base_src_newsegment), (gst_base_src_do_seek),
5438         (gst_base_src_loop), (gst_base_src_start):
5439         * gst/base/gstbasesrc.h:
5440         Make the newsegment event customizable by subclasses.
5441
5442 2005-10-07  Wim Taymans  <wim@fluendo.com>
5443
5444         * gst/gstevent.c: (gst_event_new_buffersize),
5445         (gst_event_parse_buffersize):
5446         * gst/gstevent.h:
5447         New event for future idea.
5448
5449 2005-10-07  Andy Wingo  <wingo@pobox.com>
5450
5451         * gst/gstelement.c (gst_element_post_message): Doc update.
5452
5453         * docs/gst/gstreamer-sections.txt: Update.
5454
5455         * gst/gstmessage.c (gst_message_new_application): Made into a
5456         function like honest API calls.
5457         (gst_message_new_element): New message type.
5458
5459         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5460
5461         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5462         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5463         times.
5464
5465         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5466         NO_PREROLL from gst_element_change_state to fall through.
5467
5468 2005-10-07  Wim Taymans  <wim@fluendo.com>
5469
5470         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5471         (gst_ghost_pad_do_activate_push):
5472         Activating a ghostpad with no internal pad in push mode
5473         is ok.
5474
5475 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * gst/gstobject.h:
5478           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5479           Fixes compilation on Windows.
5480
5481 2005-10-07  Michael Smith <msmith@fluendo.com>
5482
5483         * tools/gst-inspect.c:
5484           Print out feature and plugin count at the end when printing out
5485           all features.
5486
5487 2005-10-04  Michael Smith <msmith@fluendo.com>
5488
5489         * gst/gsterror.c: (_gst_stream_errors_init):
5490           Add another error string used in a few existing plugins.
5491
5492         * gst/gstplugin.c:
5493         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5494         * tools/gst-inspect.c: (print_element_info):
5495           When a feature disappears from a plugin (and the feature exists in
5496           the cached registry file), things went horribly wrong. This isn't a
5497           complete fix, we should actually be removing the 'missing' features
5498           from the features list when we load the actual plugin. That's not
5499           yet implemented. 
5500
5501 2005-10-04  Johan Dahlin  <johan@gnome.org>
5502
5503         * check/gst/gstiterator.c: (GST_START_TEST):
5504         * gst/gstbin.c: (gst_bin_iterate_elements),
5505         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5506         * gst/gstelement.c: (gst_element_iterate_pads):
5507         * gst/gstformat.c: (gst_format_iterate_definitions):
5508         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5509         (gst_iterator_new_list), (gst_iterator_filter):
5510         * gst/gstiterator.h:
5511         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5512         Add a GType to GstIterator, update callsites and tests.
5513
5514 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5515
5516         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5517           give events a chance to be handled by event probes when the pad
5518           is not linked
5519
5520 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5521
5522         * gst/gstevent.c: (gst_event_type_get_name),
5523         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5524         * gst/gstevent.h:
5525           add string representations for event types
5526
5527 2005-10-06  Wim Taymans  <wim@fluendo.com>
5528
5529         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5530         Don't use NULL pointers.
5531
5532 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5533
5534         * gst/gst_private.h:
5535         * gst/gstbus.c:
5536         * gst/gstelement.c:
5537         * gst/gstinfo.c:
5538         * gst/gstpluginfeature.c:
5539           widen the debug category in output to fit the biggest one we have
5540           add a bus category and use it
5541           play with the colors
5542           fix up some categories
5543
5544 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5547           add push activation of sink ghost pads.
5548           Andye, please verify
5549
5550 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5551
5552         * gst/gstutils.c: (gst_element_link_pads):
5553           fix a bug in the case where neither element has a pad
5554         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5555           add a test for that case
5556
5557 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5560           emit have-data before checking for peers.  This allows
5561           for probe handlers to connect elements.  This helps autopluggers.
5562         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5563         (gst_pad_suite):
5564           add six checks, linked/unlinked with no/true/false probe
5565
5566 2005-10-04  Wim Taymans  <wim@fluendo.com>
5567
5568         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5569         (gst_fake_sink_event), (gst_fake_sink_preroll),
5570         (gst_fake_sink_render), (gst_fake_sink_change_state):
5571         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5572         (gst_fake_src_get_property), (gst_fake_src_create),
5573         (gst_fake_src_stop):
5574         * gst/elements/gstidentity.c: (gst_identity_stop):
5575         Protect last_message with lock.
5576
5577 2005-10-04  Edward Hervey  <edward@fluendo.com>
5578
5579         * gst/gstformat.h: 
5580         Added precision in the comments for GST_FORMAT_DEFAULT
5581
5582 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5583
5584         * tools/gst-launch.c: (main):
5585           Don't try to run erroneous pipelines.
5586
5587 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5588
5589         * gst/gstbus.c: We don't need this header.
5590
5591 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5592
5593         * configure.ac:
5594           back to development
5595
5596 === release 0.9.3 ===
5597
5598 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5599
5600         * README:
5601         * configure.ac:
5602           Releasing 0.9.3, "Unregistered"
5603
5604 2005-10-03  Andy Wingo  <wingo@pobox.com>
5605
5606         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5607         whereby calling a pad's activatepush() function can start a thread
5608         that starts to push or pull before the pad gets the FLUSHING flag
5609         unset. Hack around it by holding the stream lock until the flag is
5610         set. Need to replace this with a proper solution. Together with
5611         the ghost pad fixes, this fixes mp3 playing/tagreading.
5612
5613         * docs/design/part-gstghostpad.txt: Add a note about activation of
5614         proxy pads outside of ghost pads.
5615
5616         * gst/gstghostpad.c: Implement the ghost pad activation design.
5617
5618 2005-10-02  Andy Wingo  <wingo@pobox.com>
5619
5620         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5621         It is volatile, after all.
5622
5623         * docs/design/part-gstghostpad.txt: Flesh out activation with
5624         ghost pads.
5625
5626         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5627         GST_DEBUG_FUNCPTR.
5628
5629 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * configure.ac:
5632           Fix (unused) AM_CONDITIONAL tests.
5633
5634 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5635
5636         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5637
5638         * gst/gstutils.c: (gst_pad_query_convert):
5639           Add assertion that makes sure src_val is >=0, just like
5640           gst_query_new_convert() has. (#315895)
5641
5642 2005-09-30  Edward Hervey  <edward@fluendo.com>
5643
5644         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5645         Let's not iterate pads we're not interested in, it avoids getting 
5646         sky-high refcounts on sinkpad.
5647
5648 2005-09-30  Wim Taymans  <wim@fluendo.com>
5649
5650         * gst/gstelement.c: (gst_element_set_state),
5651         (gst_element_change_state):
5652         Small tweak, element in ASYNC remains ASYNC.
5653
5654 2005-09-30  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5657         Only error is an error.
5658
5659         * gst/gstbin.c: (gst_bin_change_state):
5660         Better debugging.
5661
5662         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5663         Also call pad_block in pad alloc.
5664
5665         * gst/gstutils.c: (gst_flow_get_name):
5666         Better debugging.
5667
5668 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5669
5670         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5671         (gst_base_src_get_range):
5672           Fix documentation typos. Add some more debug info.
5673
5674 2005-09-29  David Schleef  <ds@schleef.org>
5675
5676         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5677           more end-user friendly.
5678         * tools/gst-inspect.c: (main): Check if command-line argument is
5679           a file and attempt to load that file as a plugin.
5680
5681 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5682
5683         * check/gst/gstbin.c:
5684         * check/states/sinks.c:
5685           fix tests for the new warning
5686         * check/gst/gstpipeline.c:
5687           add a test for pipeline and bus interaction
5688         * gst/gstelement.c:
5689           elements should be NULL if they get disposed; add a warning if not
5690
5691 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * gst/gstobject.c:
5694           for 2.6 refcounting, make debug log more correct by printing
5695           the actual refcounts at the time of swap (Wim)
5696
5697 2005-09-29  Andy Wingo  <wingo@pobox.com>
5698
5699         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5700         removes signal watches previously added via
5701         gst_bus_add_signal_watch.
5702         (gst_bus_add_signal_watch): Don't return the source id, just store
5703         it on the bus if there wasn't an id already.
5704
5705         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5706         add_signal_watch and remove_signal_watch.
5707
5708 2005-09-29  Edward Hervey  <edward@fluendo.com>
5709
5710         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5711         Better if we actually iterate the list :)
5712
5713 2005-09-29  Wim Taymans  <wim@fluendo.com>
5714
5715         * check/gst/gstbin.c: (GST_START_TEST):
5716         Change for new bus API.
5717
5718         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5719         (send_messages), (GST_START_TEST), (gstbus_suite):
5720         Change for new bus signal API.
5721
5722         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5723         (gst_bus_source_prepare), (gst_bus_source_check),
5724         (gst_bus_create_watch), (gst_bus_add_watch_full),
5725         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5726         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5727         * gst/gstbus.h:
5728         Remove support for multiple GSources operating on different
5729         message types as it is too complex and unneeded when using
5730         signals.
5731         Added support for receiving signals from the bus.
5732
5733 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5734
5735         * docs/libs/tmpl/gstdataprotocol.sgml:
5736         * docs/manual/advanced-dataaccess.xml:
5737         * gst/elements/gstcapsfilter.c:
5738         * gst/gstutils.c:
5739           rename filter-caps to caps property
5740
5741 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5742
5743         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5744           More robust fraction string parsing.
5745
5746         * docs/pwg/appendix-porting.xml:
5747           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5748
5749 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5750
5751         * gst/gstcaps.c: (gst_caps_do_simplify):
5752           Thou shalt not free a structure and then continue using it
5753           in the next loop iteration.
5754
5755         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5756         (gst_caps_suite):
5757           Add test case for caps simplification.
5758
5759 2005-09-29  Wim Taymans  <wim@fluendo.com>
5760
5761         * check/gst/gstbin.c: (GST_START_TEST):
5762         Oops.
5763
5764 2005-09-29  Wim Taymans  <wim@fluendo.com>
5765
5766         * check/gst/gstbin.c: (GST_START_TEST):
5767         Add bus to bin.
5768
5769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5770         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5771         (find_element), (gst_bin_sort_iterator_next),
5772         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5773         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5774         (gst_bin_change_state), (gst_bin_dispose):
5775         A bin does not have a bus, it gets the bus from the parent.
5776
5777         * gst/gstelement.c: (gst_element_requires_clock),
5778         (gst_element_provides_clock), (gst_element_is_indexable),
5779         (gst_element_is_locked_state), (gst_element_change_state),
5780         (gst_element_set_bus_func):
5781         Small cleanups.
5782
5783         * gst/gstpipeline.c: (gst_pipeline_class_init),
5784         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5785         The pipeline provides a bus.
5786
5787 2005-09-28  Johan Dahlin  <johan@gnome.org>
5788
5789         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5790         gst_structure_get_enum instead of gst_structure_get_int
5791
5792         * gst/gststructure.c (gst_structure_get_enum): Impl.
5793
5794         * gst/gststructure.h (gst_structure_get_enum): Add
5795
5796         * docs/gst/gstreamer-sections.txt: Ditto
5797
5798         * gst/gstmessage.c (gst_message_new_state_changed): Use
5799         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5800         which does introspection.
5801         Reviewed by Christian Schaller
5802
5803 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5804
5805         * gst/gstinfo.c: (gst_debug_log_default):
5806           don't do dummy g_strdup()s
5807         * libs/gst/controller/gstcontroller.c:
5808         (on_object_controlled_property_changed),
5809         (gst_controlled_property_new), (gst_controller_new_valist),
5810         (gst_controller_new_list),
5811         (gst_controller_remove_properties_valist), (gst_controller_set),
5812         (gst_controller_get), (gst_controller_sync_values),
5813         (gst_controller_get_value_array), (_gst_controller_class_init),
5814         (gst_controller_get_type):
5815         * libs/gst/controller/gstcontroller.h:
5816         * libs/gst/controller/gstinterpolation.c:
5817         (gst_controlled_property_find_timed_value_node):
5818           convert // to /**/ comments
5819
5820 2005-09-28  Wim Taymans  <wim@fluendo.com>
5821
5822         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5823         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5824         (gst_bus_sync_signal_handler):
5825         * gst/gstbus.h:
5826         Added async-message and sync-message signals to the bus.
5827         Added helper BusFunc to emit signals for all posted messages.
5828
5829         * gst/gstmessage.c: (gst_message_type_get_name),
5830         (gst_message_type_to_quark), (gst_message_get_type):
5831         * gst/gstmessage.h:
5832         Register quarks for message names.
5833
5834 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * docs/libs/gstreamer-libs-sections.txt:
5837         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5838         (gst_controller_new_list):
5839         * libs/gst/controller/gstcontroller.h:
5840           added another constructor for language bindings
5841
5842 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5843
5844         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5845           add another check
5846         * gst/gstbus.c:
5847           add some doc
5848         * gst/gstinfo.c: (_gst_debug_init):
5849           slightly more readable color for refcount debugging
5850
5851 2005-09-28  Wim Taymans  <wim@fluendo.com>
5852
5853         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5854         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5855         (find_element), (gst_bin_sort_iterator_next),
5856         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5857         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5858         (gst_bin_change_state), (gst_bin_dispose):
5859         Small doc fixes. get_clock -> provide_clock.
5860
5861         * gst/gstelement.c: (gst_element_class_init),
5862         (gst_element_provides_clock), (gst_element_provide_clock),
5863         (gst_element_get_clock), (gst_element_commit_state),
5864         (gst_element_lost_state):
5865         * gst/gstelement.h:
5866         Make get/set_clock() symetric. Add provide_clock vmethod since
5867         that is actually what this function does.
5868
5869         * gst/gstpipeline.c: (gst_pipeline_class_init),
5870         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5871         (gst_pipeline_get_clock):
5872         get_clock -> provide_clock.
5873
5874 2005-09-28  Andy Wingo  <wingo@pobox.com>
5875
5876         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5877         lieu of real docs...
5878
5879         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5880
5881 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * gst/elements/gstcapsfilter.c:
5884         * gst/elements/gstfakesink.c:
5885         * gst/elements/gstfakesrc.c:
5886         * gst/elements/gstfdsink.c:
5887         * gst/elements/gstfdsrc.c:
5888         * gst/elements/gstfilesink.c:
5889         * gst/elements/gstfilesrc.c:
5890         * gst/elements/gstidentity.c:
5891         * gst/elements/gsttee.c:
5892         * gst/elements/gsttypefindelement.c:
5893           Make element details static.
5894
5895 2005-09-28  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5898         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5899         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5900         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5901         (gst_bin_change_state), (gst_bin_dispose):
5902         Some documentation updates.
5903         Clean up dispose handlers.
5904
5905         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5906         * gst/gstpad.c: (gst_pad_dispose):
5907         Clean up dispose handler.
5908
5909         * gst/gstpipeline.c: (gst_pipeline_change_state):
5910         Removed spurious UNLOCK.
5911
5912 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5913
5914         * docs/gst/gstreamer-sections.txt:
5915         * gst/base/gstbasesrc.h:
5916         * gst/gstelement.h:
5917         * gst/gstevent.h:
5918         * gst/gstobject.h:
5919         * gst/gstpad.h:
5920         * gst/gstpipeline.c:
5921         * gst/gstpipeline.h:
5922         * gst/gstutils.h:
5923         * gst/gstxml.h:
5924           added two new functions to the docs
5925                 documents all undocumented GstXXXFlags
5926                 completed some incomplete docs 
5927
5928 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5929
5930         * gst/gstbin.c: (gst_bin_dispose):
5931         * gst/gstelement.c: (gst_element_dispose):
5932           remove now useless and leaky resurrection code in dispose
5933         * gst/base/gstbasesrc.c: (gst_base_src_init):
5934         * gst/gstelementfactory.c: (gst_element_factory_create):
5935         * gst/gstobject.c: (gst_object_set_parent):
5936           add some debugging
5937
5938 2005-09-27  Wim Taymans  <wim@fluendo.com>
5939
5940         * docs/design/part-TODO.txt:
5941         Update TODO.
5942
5943         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5944         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5945         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5946         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5947         (gst_bin_change_state):
5948         * gst/gstelement.h:
5949         Remove element variable, we keep element info in the iterator now.
5950
5951 2005-09-27  Andy Wingo  <wingo@pobox.com>
5952
5953         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5954         values.
5955
5956 2005-09-27  Wim Taymans  <wim@fluendo.com>
5957
5958         * check/gst/gstbin.c: (GST_START_TEST):
5959         Enable check that works now.
5960
5961         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5962         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5963         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5964         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5965         (gst_bin_change_state):
5966         * gst/gstbin.h:
5967         Redid the state change algorithm using a topological sort algo.
5968         Handles all cases correctly.
5969         Exposed iterator for state change order.
5970
5971         * gst/gstelement.h:
5972         Temp storage for state changes. Need to get rid of this soon.
5973
5974 2005-09-27  Wim Taymans  <wim@fluendo.com>
5975
5976         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5977         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5978         (link_fold_func), (gst_pad_proxy_setcaps):
5979         Leak fixes, the fold functions need to unref the passed object and
5980         _get_parent_*() returns ref to parent.
5981
5982 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5983
5984         * check/gst/gstbuffer.c: (test_make_writable):
5985           Plug leak in test case and fix 'make check-valgrind'
5986
5987 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5988
5989         * gst/gstbuffer.c: (gst_subbuffer_init):
5990           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5991           works correctly in all circumstances (we could have just copied
5992           the parent buffer's readonly flag, but conceptually it seems
5993           cleaner to mark all subbuffers as read-only). (based on patch
5994           by Alessandro Decina, #314710).
5995         
5996         * check/gst/gstbuffer.c: (create_read_only_buffer),
5997         (test_make_writable), (test_subbuffer_make_writable),
5998         (gst_test_suite):
5999           Add some tests for gst_buffer_make_writable().
6000
6001 2005-09-27  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6004         use gst_object_has_ancestor().
6005
6006         * gst/gstobject.c: (gst_object_has_ancestor):
6007         * gst/gstobject.h:
6008         gst_object_has_ancestor() copied from gstbin.c as it is a
6009         usefull function.
6010
6011         * tests/instantiate/create.c: (create_all_elements):
6012         * tests/lat.c: (handoff_src), (handoff_sink):
6013         * tests/sched/runxml.c: (main):
6014         * tests/seeking/seeking1.c: (main):
6015         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6016         (main):
6017         Fix compilation of some tests.
6018
6019 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6020
6021         * gst/gsterror.h:
6022           Remove comment. GST_TYPE_G_ERROR is here to stay,
6023           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6024           (#316961, #300610).
6025
6026 2005-09-26  Wim Taymans  <wim@fluendo.com>
6027
6028         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6029         Added check that shows error in state change order.
6030
6031 2005-09-26  Wim Taymans  <wim@fluendo.com>
6032
6033         * gst/gstbin.c: (gst_bin_change_state):
6034         Make state change function use 3 queues again, we were
6035         adding elements in the wrong order.
6036
6037         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6038         Some debug info,
6039
6040         * gst/gstpad.c: (gst_pad_dispose):
6041         Added some debug info first.
6042
6043 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * docs/design/draft-push-pull.txt:
6046         * docs/design/part-events.txt:
6047         * docs/design/part-overview.txt:
6048         * docs/design/part-scheduling.txt:
6049           Replace all _pull_region() with _pull_range()
6050           
6051 2005-09-26  Andy Wingo  <wingo@pobox.com>
6052
6053         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6054
6055         * check/gst-libs/controller.c: Update for controller api change.
6056
6057         * configure.ac: 
6058         * tests/Makefile.am:
6059         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6060         over by GLib bug 118439.
6061         
6062         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6063         routines to a function.
6064
6065         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6066
6067         * libs/gst/controller/gsthelper.c:
6068         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6069         (gst_object_sync_values): Renamed from sink_values. Ugh.
6070
6071         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6072
6073         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6074         Renamed from controller_key, as it is exported.
6075
6076         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6077
6078 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6079
6080         * gst/Makefile.am:
6081         * gst/gst.h:
6082         * gst/gstpad.h:
6083         * gst/gstpadtemplate.h:
6084         * gst/gstquery.c:
6085         * gst/gstquery.h:
6086         * gst/gstqueryutils.c:
6087         * gst/gstqueryutils.h:
6088           remove queryutils headers after moving the two used functions
6089           to gstquery.  also fixes build problem for gstsiddec
6090
6091 2005-09-26  Michael Smith <msmith@fluendo.com>
6092
6093         * tools/gst-launch.1.in:
6094         Correct documentation in manpage of debug syntax
6095
6096 2005-09-26  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6099         (gst_base_src_is_seekable), (gst_base_src_change_state):
6100         Some more debugging info.
6101
6102 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6103
6104         * docs/gst/gstreamer-sections.txt:
6105         * gst/base/gstbasetransform.h:
6106         * gst/gstindex.h:
6107           added more docs
6108
6109 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * docs/gst/.cvsignore:
6112         * docs/gst/tmpl/.cvsignore:
6113         * docs/gst/tmpl/gstpipeline.sgml:
6114         * docs/gst/tmpl/gstplugin.sgml:
6115         * gst/gstpipeline.c:
6116         * gst/gstplugin.c:
6117         * gst/gstplugin.h:
6118           inlined the last two docs files
6119           removed the tmpl directory from cvs (no more conflicts here!)
6120
6121 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6122
6123         * docs/gst/gstreamer-sections.txt:
6124         * docs/gst/tmpl/.cvsignore:
6125         * docs/gst/tmpl/gstpad.sgml:
6126         * docs/gst/tmpl/gstpadtemplate.sgml:
6127         * gst/Makefile.am:
6128         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6129         (gst_pad_finalize), (gst_pad_set_pad_template):
6130         * gst/gstpad.h:
6131         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6132         (gst_pad_template_class_init), (gst_pad_template_init),
6133         (gst_pad_template_dispose), (name_is_valid),
6134         (gst_static_pad_template_get), (gst_pad_template_new),
6135         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6136         (gst_pad_template_pad_created):
6137         * gst/gstpadtemplate.h:
6138           inlined two more docs
6139           factored gstpadtemplate out of gstpad
6140
6141 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6142
6143         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6144         (test_children_state_change_order_semi_sink):
6145           Fix test case: we can't rely on a fixed state change order when
6146           going from READY => PAUSED because the sink might commit its 
6147           new state first when the first buffer created by the source 
6148           reaches the sink before the source has finished its change state.
6149           (Test case still fails at times, see #316856, comment 5 onwards)
6150
6151 2005-09-24  Wim Taymans  <wim@fluendo.com>
6152
6153         * docs/design/part-events.txt:
6154         * docs/design/part-gstbus.txt:
6155         * docs/design/part-gstpipeline.txt:
6156         * docs/design/part-messages.txt:
6157         * docs/design/part-overview.txt:
6158         * docs/design/part-segments.txt:
6159         * gst/gstbin.c:
6160         * gst/gstbuffer.c:
6161         * gst/gstclock.c:
6162         * gst/gstelement.c:
6163         * gst/gstevent.c:
6164         * gst/gstfilter.c:
6165         * gst/gstiterator.c:
6166         Various documentation updates.
6167
6168 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6169
6170         * gst/gstclock.h:
6171           Well, that's embarassing.  Luckily we weren't using
6172           GST_CLOCK_DIFF anywhere.
6173
6174 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * common/gtk-doc.mak:
6177           don't fail on building XML, FC4 slave shows a bunch of doc
6178           missing bits that I don't get
6179         * gst/gstpad.c:
6180         * gst/gstpipeline.c:
6181         * gst/gststructure.c:
6182           some doc updates
6183
6184 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * docs/design/part-gstbin.txt:
6187         * docs/design/part-gstbus.txt:
6188         * gst/gstbus.c:
6189           Add blurb about how the bus goes into flushing mode and
6190           drops all messages when its bin goes from READY into NULL 
6191           state.
6192
6193 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6194
6195         * docs/gst/gstreamer-sections.txt:
6196         * gst/gststructure.c: (gst_structure_get_clock_time):
6197         * gst/gststructure.h:
6198           add a method to get a GstClockTime out of a structure
6199
6200 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6201
6202         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6203         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6204           Added test to check state change order in bins (can still be made
6205           to fail here under heavy disk load; bails out with 'Push on pad
6206           fakesink:sink0, but it was not activated in push mode').
6207
6208         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6209           Fix state change order when there is only a semi sink (#316856)
6210
6211         * gst/gstbus.c: (gst_bus_class_init):
6212           Use _class_peek_parent(), not _class_ref(); fix docs to say
6213           'default main context' instead of 'mainloop' where that is
6214           what's meant.
6215
6216         * gst/gstelement.c: (gst_element_commit_state),
6217         (gst_element_set_state):
6218           Fix typos in debug messages
6219
6220 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6221
6222         * docs/README:
6223         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6224         * gst/gstpluginfeature.c:
6225         * gst/gstutils.c:
6226           various doc updates
6227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6228           change an assert into an error until it gets fixed properly
6229
6230 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6231
6232         * docs/gst/gstreamer-sections.txt:
6233         * docs/gst/tmpl/.cvsignore:
6234         * docs/gst/tmpl/gstelement.sgml:
6235         * docs/gst/tmpl/gstinfo.sgml:
6236         * docs/gst/tmpl/gstobject.sgml:
6237         * gst/gstelement.c:
6238         * gst/gstelement.h:
6239         * gst/gstinfo.c:
6240         * gst/gstinfo.h:
6241         * gst/gstobject.c: (gst_object_class_init):
6242         * gst/gstobject.h:
6243           inlined 3 more biiiig doc files and added some missing docs on the fly
6244
6245 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6246
6247         * check/gst/.cvsignore:
6248         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6249         * gst/gstregistryxml.c: (load_plugin),
6250         (gst_registry_xml_save_plugin):
6251           put back source in registry.  add checks for find_plugin.
6252         * testsuite/states/bin.c: (assert_state), (empty_bin),
6253         (test_adding_one_element), (main):
6254         * testsuite/states/locked.c: (main):
6255           some compile/run fixes
6256
6257 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * check/gst/gstvalue.c: (GST_START_TEST):
6260           fix leaks in the test itself
6261
6262 2005-09-22  Wim Taymans  <wim@fluendo.com>
6263
6264         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6265         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6266         (gst_base_sink_query):
6267         Prepare for more accurate position reporting and query
6268         handling.
6269
6270         * gst/gstelement.c: (gst_element_send_event),
6271         (gst_element_set_state):
6272         Add some comment.
6273
6274 2005-09-22  Wim Taymans  <wim@fluendo.com>
6275
6276         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6277         (gst_query_parse_segment):
6278         * gst/gstquery.h:
6279         More documentation.
6280         Add segment query for future use.
6281
6282 2005-09-22  Wim Taymans  <wim@fluendo.com>
6283
6284         * gst/gstbin.c: (gst_bin_add_func):
6285         Some more debug info.
6286
6287         * gst/gstelement.c: (gst_element_send_event):
6288         Simplify send_event
6289
6290         * gst/gstelement.h:
6291         Don't know how flags got broken.
6292
6293         * gst/gstquery.h:
6294         Added new query.
6295
6296 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6297
6298         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6299           Add simplistic test suite for GST_TYPE_DATE serialisation and
6300           deserialisation.
6301
6302 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6303
6304         * docs/gst/gstreamer-sections.txt:
6305         * gst/gststructure.c: (gst_structure_set_valist),
6306         (gst_structure_get_date):
6307         * gst/gststructure.h:
6308         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6309         (gst_date_copy), (gst_value_compare_date),
6310         (gst_value_serialize_date), (gst_value_deserialize_date),
6311         (gst_value_transform_date_string),
6312         (gst_value_transform_string_date), (_gst_value_initialize):
6313         * gst/gstvalue.h:
6314           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6315           bunch of utility functions along with a hack that checks that
6316           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6317           is required. Part of the grand scheme in #170777.
6318
6319 2005-09-22  Andy Wingo  <wingo@pobox.com>
6320
6321         * gst/gstconfig.h.in: Psych out gtk-doc.
6322
6323         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6324
6325         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6326
6327         * tools/gst-inspect.c (print_element_list): Plug some
6328         inconsequential leaks.
6329
6330         * gst/gstregistry.c (gst_registry_get_default): Doc.
6331
6332         * check/gst/gstplugin.c: 
6333         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6334         * gst/gstelementfactory.c (gst_element_factory_create): 
6335         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6336         refcount changes.
6337
6338         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6339         (gst_plugin_feature_load): Doc, don't eat refs.
6340
6341         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6342         (gst_plugin_list_free): Doc.
6343         (gst_plugin_load_file): Doc updates.
6344
6345         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6346         accessors returning refcounted objects, return a ref.
6347
6348         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6349         accessor for caps. IDEMPOTENCE. Oh yes.
6350
6351 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6352
6353         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6354
6355         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6356         (_gst_debug_register_funcptr):
6357           Add mutex to serialise access to the hash table with
6358           the function pointer => function name string mapping;
6359           make that hash table static scope (#316809).
6360
6361         * gst/registries/.cvsignore:
6362           Remove left-over file.
6363
6364 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6365
6366         * docs/pwg/appendix-porting.xml:
6367           And something about newsegment events and caps-on-buffers to
6368           the porting guide (feel free to improve).
6369
6370 2005-09-21  Andy Wingo  <wingo@pobox.com>
6371
6372         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6373         data and event probes on the same pad.
6374         (test_buffer_probe_once): Test that removing probes from within
6375         the probe functions works.
6376
6377 2005-09-21  Andy Wingo  <wingo@pobox.com>
6378
6379         * check/gst/gstutils.c: New file.
6380         (test_buffer_probe_n_times): A simple buffer probe test. More to
6381         come, foolios.
6382
6383         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6384         have-data::buffer, not have-data.
6385         (gst_pad_add_event_probe): Likewise for have-data::event.
6386         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6387         peer' isn't quite right yet though.
6388         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6389         (gst_pad_remove_data_probe): Change to take the guint handler_id
6390         as their arg, not the function+data, which is more glib-like.
6391
6392         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6393         the signal emission to indicate if the data is a buffer or an
6394         event.
6395         (gst_pad_get_type): Initialize buffer and event quarks.
6396         (gst_pad_class_init): have-data is now a detailed signal, yes it
6397         is.
6398
6399 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6402         * gst/gstutils.c: (gst_util_set_value_from_string),
6403         (gst_util_set_object_arg):
6404           Don't put functional code in g_return_if_fail() or
6405           g_return_val_if_fail() statements, otherwise things will 
6406           break when G_DISABLE_CHECKS is defined during compilation.
6407
6408 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6409
6410         * docs/gst/tmpl/.cvsignore:
6411         * docs/gst/tmpl/gstvalue.sgml:
6412         * gst/gstvalue.c:
6413         * gst/gstvalue.h:
6414           inlied another one and added  some obvious docs
6415
6416 2005-09-21  Wim Taymans  <wim@fluendo.com>
6417
6418         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6419         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6420         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6421         (gst_fdsrc_get_property), (gst_fdsrc_create):
6422         * gst/elements/gstfdsrc.h:
6423         Properly implement fdsrc. Removed signal and timeout,
6424         better implemented somewhere else.
6425
6426 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * docs/gst/tmpl/.cvsignore:
6429         * docs/gst/tmpl/gstimplementsinterface.sgml:
6430         * gst/gstinterface.c:
6431           inlined more docs
6432
6433 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6434
6435         * docs/gst/gstreamer-sections.txt:
6436         * docs/gst/tmpl/.cvsignore:
6437         * docs/gst/tmpl/gstenumtypes.sgml:
6438           remove obsolete doc file
6439
6440 2005-09-21  David Schleef  <ds@schleef.org>
6441
6442         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6443         little beer, fix a little leak.
6444
6445 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6446
6447         * docs/gst/gstreamer-docs.sgml:
6448         * docs/gst/gstreamer-sections.txt:
6449         * docs/gst/tmpl/.cvsignore:
6450         * gst/Makefile.am:
6451         * gst/gst.h:
6452         * gst/gstbin.c:
6453         * gst/gstelement.h:
6454         * gst/gstindex.c: (gst_index_class_init):
6455         * gst/gstindex.h:
6456         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6457         (gst_index_factory_class_init), (gst_index_factory_init),
6458         (gst_index_factory_finalize), (gst_index_factory_new),
6459         (gst_index_factory_destroy), (gst_index_factory_find),
6460         (gst_index_factory_create), (gst_index_factory_make):
6461         * gst/gstindexfactory.h:
6462         * gst/gstpluginfeature.c:
6463         * gst/gstpluginfeature.h:
6464         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6465           more docs inlined, splitted gstindex.{c,h}
6466
6467 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6470           fix a leak
6471
6472 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6475           Set sync to FALSE by default.
6476
6477 2005-09-20  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6480         (gst_base_sink_init):
6481         Make sync property settable from subclass.
6482
6483         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6484         (gst_fake_sink_change_state):
6485         Set sync to FALSE by default.
6486
6487 2005-09-20  Wim Taymans  <wim@fluendo.com>
6488
6489         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6490         * tools/gst-launch.c: (main):
6491         The timeout handler should have lower priority than the source
6492         so we don't timeout before popping a message with 0 timeout.
6493         Dump error messages after failed state change.
6494
6495 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * tools/gst-inspect.c: (print_element_properties_info):
6498           Fix two typos.
6499
6500 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         * check/gst/gstevent.c:
6503         * gst/elements/gstfakesink.c:
6504         * gst/elements/gstfakesink.h:
6505           remove the sync property from fakesink.
6506           has the side effect of setting sync TRUE
6507           for fakesink, which is a change.  Anyone who knows how
6508           to fix this nicely in a GObject-y way, feel free.
6509
6510 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6511
6512         * docs/gst/gstreamer-docs.sgml:
6513           remove probe refsection
6514
6515 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6516
6517         * check/Makefile.am:
6518           disable valgrinding the controller test again
6519         * docs/gst/gstreamer-sections.txt:
6520           update for api-changes
6521
6522 2005-09-20  Wim Taymans  <wim@fluendo.com>
6523
6524         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6525         (gst_base_sink_set_property), (gst_base_sink_get_property),
6526         (gst_base_sink_do_sync):
6527         * gst/base/gstbasesink.h:
6528         Added sync property to basesink to disable clock sync.
6529
6530 2005-09-20  Andy Wingo  <wingo@pobox.com>
6531
6532         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6533         eating the caller's refcount.
6534
6535         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6536         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6537         refcount.
6538
6539         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6540         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6541         of GLib 2.8 public, so we can know which refcount to check in
6542         tests.
6543
6544         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6545         (gst_object_init): Only set the gst refcount if we're going ahead
6546         with the refcount hack.
6547
6548 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6549
6550         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6551         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6552           more leaks plumbed, added more debug-logging
6553         * gst/gstmacros.h:
6554           whitespace fix
6555
6556 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6557
6558         * gst/gstmessage.c:
6559           remove include of gstmemchunk.h
6560
6561 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * gst/gstclock.c: (_gst_clock_id_free):
6564           Commit from the Political Party For More Atomic CVS Commits,
6565           so that people don't waste too much of their day fishing
6566           out obvious leaks out of massive commits.
6567           Oh, and fix a pretty damn obvious leak in the memchunk
6568           removal code.
6569
6570 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6571
6572         * check/Makefile.am:
6573         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6574           plug mem-leak, re-add to valgrindable tests
6575
6576 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6577
6578         * gst/gstplugin.h:
6579           unbreak the build for those who have chronic arthritis
6580           and typing "make check" is just too taxing on the hands
6581
6582 2005-09-20  Andy Wingo  <wingo@pobox.com>
6583
6584         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6585         really want it out, you should fix plugins at the same time.
6586
6587 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6588
6589         * configure.ac:
6590         * docs/gst/gstreamer-sections.txt:
6591         * gst/gstobject.c:
6592           added missing symbols to api docs
6593           disable ref-count hack if we have glib >= 2.8
6594
6595 2005-09-19  David Schleef  <ds@schleef.org>
6596
6597         * docs/gst/Makefile.am: Ignore a few more internal headers
6598         * docs/gst/gstreamer-docs.sgml: Remove old sections
6599         * docs/gst/gstreamer-sections.txt: Remove old sections
6600         * docs/gst/tmpl/gstobject.sgml: update
6601         * docs/gst/tmpl/gstplugin.sgml: update
6602         * docs/gst/tmpl/gstpluginfeature.sgml: update
6603         * docs/random/ds/0.9-suggested-changes: update.
6604         * gst/Makefile.am: remove memchunk and trashstack, since they're
6605           not used.
6606         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6607         * gst/gst.h: don't include some headers
6608         * gst/gstchildproxy.c: add gstmarshal.h
6609         * gst/gstclock.c: Don't use memchunks
6610         * gst/gstminiobject.c: Add some docs
6611         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6612         * gst/gstobject.h: same
6613         * gst/gstplugin.c: include gstmacros.h
6614         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6615         * gst/gstquery.c: don't use memchunks
6616         * gst/gstregistry.c: rename gst_registry_deinit()
6617         * gst/gstregistry.h: same
6618
6619 2005-09-19  David Schleef  <ds@schleef.org>
6620
6621         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6622         * docs/libs/gstreamer-libs-sections.txt:
6623         * docs/libs/tmpl/gstgetbits.sgml:
6624         * docs/libs/tmpl/gstputbits.sgml:
6625
6626 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6627
6628         * win32/gstenumtypes.c:
6629         * win32/gstenumtypes.h:
6630           Update.
6631
6632 2005-09-19  Wim Taymans  <wim@fluendo.com>
6633
6634         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6635         Automatically PAUSE and RESUME a pipeline when a flushing seek
6636         is performed.
6637
6638 2005-09-19  Andy Wingo  <wingo@pobox.com>
6639
6640         * gst/gstregistry.h: Spacing fixen.
6641
6642 2005-09-19  Wim Taymans  <wim@fluendo.com>
6643
6644         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6645         Handle state change failure more correctly.
6646
6647 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6648
6649         * check/Makefile.am:
6650         * check/pipelines/cleanup.c: (run_pipeline):
6651         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6652         (GST_START_TEST):
6653           enable cleanup again after fixing the leak
6654         * docs/README:
6655           some more info on docs
6656
6657 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * check/Makefile.am:
6660           re-enable tests now that leaks are plugged
6661         * check/gst/gst.c:
6662         * check/gst/gstbin.c:
6663         * check/gst/gstpipeline.c:
6664           add some more tests while fixing leaks
6665         * common/check.mak:
6666           make sure binaries are uptodate when valgrinding/gdbing
6667         * gst/gst.c:
6668         * gst/gstelementfactory.c:
6669           remove a ref too many, and add a FIXME for when we get
6670           round to disposing of classes
6671         * gst/gstplugin.c:
6672           fix the refcounting when loading a plugin from a file and
6673           the code pretends that the pointer is the same even though
6674           of course it can change
6675         * gst/gstpluginfeature.c:
6676           unref plugins marked cached (a bit confusing as a name)
6677           as the docs state should be done
6678           various doc additions to explain refcounting
6679         * gst/gstregistry.c:
6680         * gst/gstregistryxml.c:
6681           debugging
6682
6683 2005-09-19  Wim Taymans  <wim@fluendo.com>
6684
6685         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6686         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6687         (send_messages), (GST_START_TEST), (gstbus_suite):
6688         * check/gst/gstpipeline.c: (GST_START_TEST):
6689         * check/pipelines/cleanup.c: (run_pipeline):
6690         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6691         (GST_START_TEST):
6692         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6693         (gst_bus_source_check), (gst_bus_source_dispatch),
6694         (gst_bus_create_watch), (gst_bus_add_watch_full),
6695         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6696         * gst/gstbus.h:
6697         * tools/gst-launch.c: (event_loop):
6698         * tools/gst-md5sum.c: (event_loop):
6699         GstBusHandler -> GstBusFunc, return value has the same meaning as
6700         any other GSource (FALSE == remove source).
6701         _add_watch() and _add_watch_full() now take a MessageType mask to
6702         only handle specific types of messages.
6703         _poll() returns the GstMessage instead of the message type to avoid
6704         race conditions.
6705         _have_pending() takes a MessageType mask now too.
6706         Added testsuite for multiple bus watches.
6707         Fix testsuites and applications for new bus API.
6708
6709 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * check/Makefile.am:
6712           mark a bunch of the tests as to fix until we fix them
6713
6714 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6715
6716         * common/check.mak:
6717           use GST_PLUGIN settings for valgrind tests as well, so we're
6718           valgrinding the correct thing
6719         * gst/gst.c: (init_post):
6720           plug another leak
6721
6722 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * gst/gst.c: (init_post), (gst_deinit):
6725         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6726         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6727         * gst/gstindex.c: (gst_index_factory_class_init),
6728         (gst_index_factory_finalize):
6729         * gst/gstobject.c: (gst_object_dispose):
6730         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6731         (gst_plugin_load_file), (gst_plugin_desc_free):
6732         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6733         (gst_plugin_feature_finalize):
6734         * gst/gstregistry.c: (gst_registry_class_init),
6735         (gst_registry_init), (gst_registry_finalize),
6736         (gst_registry_get_default), (gst_registry_deinit):
6737         * gst/gstregistry.h:
6738         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6739           various cleanups and memleak plugging.  make valgrind is happy now.
6740
6741 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6742
6743         * common/check.mak:
6744           add a check-valgrind target
6745
6746 2005-09-18  David Schleef  <ds@schleef.org>
6747
6748         * tools/gst-inspect.c: Revert the GOption code.
6749
6750 2005-09-17  David Schleef  <ds@schleef.org>
6751
6752         * check/Makefile.am: Fix environment variables.
6753         * check/gst/gstplugin.c: Fix for API changes.
6754         * tools/gst-inspect.c: Fix for API changes.
6755         * tools/gst-xmlinspect.c: Fix for API changes.
6756         * gst/gstelementfactory.c:
6757         * gst/gstplugin.c:
6758         * gst/gstplugin.h:
6759         * gst/gstpluginfeature.c:
6760         * gst/gstpluginfeature.h:
6761         * gst/gstregistry.c:
6762         * gst/gstregistry.h:
6763         * gst/gstregistryxml.c:
6764         * gst/gsttypefind.c:
6765         * gst/gsttypefindfactory.c:
6766         * gst/indexers/gstfileindex.c:
6767         * gst/indexers/gstmemindex.c:
6768         * gst/schedulers/Makefile.am:
6769           Change registry to keep track of both plugins and features,
6770           removing the feature tracking from plugins themselves.
6771
6772 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6773
6774         * check/Makefile.am:
6775         * tools/gst-register.1.in:
6776           remove gst-register
6777
6778 2005-09-15  David Schleef  <ds@schleef.org>
6779
6780         * check/gst/gstplugin.c:
6781         * gst/gstelementfactory.c:
6782         * gst/gstplugin.c:
6783         * gst/gstpluginfeature.c:
6784         * gst/gstregistry.c:
6785           Getting tired of debugging.  Disabled all the unreffing of
6786           plugins and features, which fixes the segfaults, but of
6787           course leaks like crazy.  At least playbin works.
6788
6789 2005-09-15  David Schleef  <ds@schleef.org>
6790
6791         * check/gst/gstplugin.c: (register_check_elements),
6792         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6793         More testing
6794         * gst/elements/gsttypefindelement.c: Fix refcounting.
6795         * gst/gsttypefind.c:
6796         * gst/gsttypefindfactory.c:
6797         * gst/gsttypefindfactory.h:
6798
6799 2005-09-15  David Schleef  <ds@schleef.org>
6800
6801         * gst/gstindex.c: get refcounting correct.
6802         * gst/gstregistry.c: Handle the case where a feature/plugin is
6803           not found.
6804
6805 2005-09-15  David Schleef  <ds@schleef.org>
6806
6807         * check/Makefile.am:
6808         * check/gst/gstplugin.c: Add test
6809         * gst/gstplugin.c: Fix problems noticed by testsuite
6810         * gst/gstplugin.h:
6811         * gst/gstregistry.c: 
6812         * gst/gstregistry.h:
6813
6814 2005-09-15  David Schleef  <ds@schleef.org>
6815
6816         * gst/gstplugin.c: Implement semi-decent recounting and locking
6817           in plugins and plugin features.
6818         * gst/gstplugin.h:
6819         * gst/gstpluginfeature.c:
6820         * gst/gstpluginfeature.h:
6821         * gst/gstregistry.c:
6822
6823 2005-09-15  Michael Smith <msmith@fluendo.com>
6824
6825         * gst/gstregistry.c: (gst_registry_get_feature_list):
6826           Implement this. Makes oggdemux work; decodebin still broken.
6827
6828 2005-09-14  David Schleef  <ds@schleef.org>
6829
6830         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6831           #316076)
6832         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6833         * gst/check/Makefile.am:
6834         * libs/gst/controller/Makefile.am:
6835         * libs/gst/dataprotocol/Makefile.am:
6836
6837 2005-09-14  David Schleef  <ds@schleef.org>
6838
6839         * configure.ac: Remove getbits library.  Nothing uses it, and
6840           it should be in something like liboil if someone did want
6841           to use it.
6842         * libs/gst/Makefile.am:
6843         * libs/gst/getbits/Makefile.am:
6844         * libs/gst/getbits/gbtest.c:
6845         * libs/gst/getbits/getbits.c:
6846         * libs/gst/getbits/getbits.h:
6847         * libs/gst/getbits/gstgetbits_generic.c:
6848         * libs/gst/getbits/gstgetbits_i386.s:
6849         * libs/gst/getbits/gstgetbits_inl.h:
6850
6851 2005-09-14  David Schleef  <ds@schleef.org>
6852
6853         * gst/Makefile.am: Dist glib-compat.h
6854
6855 2005-09-14  David Schleef  <ds@schleef.org>
6856
6857         * configure.ac: Remove gst/registries, since it's no longer used.
6858         * gst/registries/Makefile.am:
6859         * gst/registries/gstlibxmlregistry.c:
6860         * gst/registries/gstlibxmlregistry.h:
6861         * gst/registries/gstxmlregistry.c:
6862         * gst/registries/gstxmlregistry.h:
6863         * gst/registries/registrytest.c:
6864
6865 2005-09-14  David Schleef  <ds@schleef.org>
6866
6867         * gst/glib-compat.h:
6868         * gst/gstregistryxml.c:
6869           Convergence is near.  Seriously.
6870
6871 2005-09-14  David Schleef  <ds@schleef.org>
6872
6873         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6874         * gst/glib-compat.h:
6875           Attempt #4 to appease the buildbots.
6876
6877 2005-09-14  David Schleef  <ds@schleef.org>
6878
6879         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6880           Attempt #3.
6881
6882 2005-09-14  David Schleef  <ds@schleef.org>
6883
6884         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6885         Attempt #2.
6886
6887 2005-09-14  David Schleef  <ds@schleef.org>
6888
6889         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6890           the new functions.
6891
6892 2005-09-14  David Schleef  <ds@schleef.org>
6893
6894         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6895         * gst/glib-compat.h: Add some functions that are in newer versions
6896           of glib than we care to require.
6897         * gst/gstregistryxml.c: Use them.
6898
6899 2005-09-14  David Schleef  <ds@schleef.org>
6900
6901         * po/POTFILES.in: remove gst-register.c
6902
6903 2005-09-14  David Schleef  <ds@schleef.org>
6904
6905         * docs/gst/gstreamer-docs.sgml:
6906         * docs/gst/gstreamer-sections.txt:
6907         * docs/gst/gstreamer.types:
6908         * docs/gst/tmpl/gstelement.sgml:
6909         * docs/gst/tmpl/gstplugin.sgml:
6910         * docs/gst/tmpl/gstpluginfeature.sgml:
6911           Documentation updates for registry changes.
6912
6913 2005-09-14  David Schleef  <ds@schleef.org>
6914
6915         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6916           because we don't require glib-2.8.
6917
6918 2005-09-14  David Schleef  <ds@schleef.org>
6919
6920         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6921           registries directory.
6922
6923 2005-09-14  David Schleef  <ds@schleef.org>
6924
6925         * check/Makefile.am:
6926         * check/generic/states.c:
6927         * gst/Makefile.am:
6928         * gst/gst.c:
6929         * gst/gst.h:
6930         * gst/gst_private.h:
6931         * gst/gstelementfactory.c:
6932         * gst/gstindex.c:
6933         * gst/gstinfo.c:
6934         * gst/gstplugin.c:
6935         * gst/gstplugin.h:
6936         * gst/gstpluginfeature.c:
6937         * gst/gstpluginfeature.h:
6938         * gst/gstregistry.c:
6939         * gst/gstregistry.h:
6940         * gst/gstregistrypool.c: remove
6941         * gst/gstregistrypool.h: remove
6942         * gst/gsttypefind.c:
6943         * gst/gsttypefindfactory.c:
6944         * gst/gsturi.c:
6945         * tools/Makefile.am:
6946         * tools/gst-compprep.c:
6947         * tools/gst-inspect.c:
6948         * tools/gst-register.c: remove
6949         * tools/gst-xmlinspect.c:
6950           Registry rewrite.  Changes registry from being a file created
6951           by a tool into a simple cache file created automatically by 
6952           libgstreamer.  Removed gst-register (because it's no longer
6953           needed).  Remove registry pools, because we only have one
6954           registry implementation (XML).  Fix up other subsystems as
6955           necessary.
6956
6957 2005-09-13  Michael Smith <msmith@fluendo.com>
6958
6959         * gst/gstconfig.h.in:
6960           Don't Use windows linking attributes for MinGW. Fixes #316157
6961
6962 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6963
6964         * gst/gstutils.c: (set_state_async_thread_func),
6965         (gst_element_set_state_async):
6966           Apparently people think it's better if this function doesn't
6967           try to set the state to whatever state was asked for on the first
6968           call to this function for any object.  Seriously.
6969
6970 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * check/gst/gstpipeline.c: (GST_START_TEST):
6973         * docs/gst/gstreamer-sections.txt:
6974         * gst/gstutils.c: (set_state_async_thread_func),
6975         (gst_element_set_state_async):
6976         * gst/gstutils.h:
6977           add a "gst_element_set_state_async" method that
6978           sets the state and starts a thread to make sure the state
6979           change completes as best as it can
6980
6981 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6982
6983         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6984           codify design+behaviour in testsuite after discussion
6985
6986 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6987
6988         * docs/gst/tmpl/gstelement.sgml:
6989         * docs/manual/appendix-quotes.xml:
6990           add a quote
6991         * gst/gstelement.c: (gst_element_set_state):
6992           add some debug
6993
6994 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6995
6996         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6997         (gst_base_transform_prepare_output_buf),
6998         (gst_base_transform_handle_buffer):
6999         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7000         (gst_capsfilter_prepare_buf):
7001           Remove the requirement for sub-classes to call the parent
7002           implementation of prepare_output_buffer with a wrapper function.
7003           
7004         * gst/gsttaglist.h:
7005         * gst/gsttagsetter.h:
7006           Fix #define wrapper
7007
7008 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7009
7010         * docs/gst/gstreamer-sections.txt:
7011           more doc cleanups
7012
7013 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7014
7015         * docs/gst/gstreamer-sections.txt:
7016         * docs/gst/tmpl/gstelement.sgml:
7017         * docs/gst/tmpl/gstplugin.sgml:
7018         * gst/gstminiobject.c:
7019         * gst/gstvalue.h:
7020           docs now stop throwing warnings
7021
7022 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * docs/gst/gstreamer-sections.txt:
7025         * docs/gst/gstreamer.types:
7026         * docs/gst/tmpl/gstpad.sgml:
7027         * docs/gst/tmpl/gsttypes.sgml:
7028         * gst/base/gstadapter.h:
7029         * gst/base/gstbasesink.h:
7030         * gst/base/gstbasesrc.h:
7031         * gst/gstbin.h:
7032         * gst/gstbuffer.h:
7033         * gst/gstbus.h:
7034         * gst/gstcaps.h:
7035         * gst/gstclock.h:
7036         * gst/gstelement.h:
7037         * gst/gstevent.h:
7038         * gst/gstmessage.h:
7039         * gst/gstpad.h:
7040         * gst/gststructure.c:
7041         * gst/registries/gstlibxmlregistry.h:
7042           various documentation fixes
7043
7044 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * docs/gst/gstreamer-sections.txt:
7047         * docs/gst/tmpl/gstvalue.sgml:
7048           rearrange gstvalue section
7049         * gst/gstutils.c: (gst_element_state_get_name):
7050           NONE -> VOID
7051         * gst/gstvalue.c: (_gst_value_initialize):
7052         * gst/gstvalue.h:
7053           doc updates
7054
7055 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7056
7057         * check/gst-libs/controller.c:
7058           Header include fix.
7059         * gst/base/gstbasetransform.c:
7060         (gst_base_transform_default_prepare_buf),
7061         (gst_base_transform_handle_buffer):
7062         * gst/base/gstbasetransform.h:
7063           Some more basetransform changes and fixes to enable sub-classes
7064           that modify buffer metadata only.
7065         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7066         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7067         (gst_capsfilter_prepare_buf):
7068           If the output pad has fixed allowed caps and input buffers 
7069           don't have any, set the fixed caps on outgoing buffers.
7070
7071 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7072         * check/elements/identity.c: (GST_START_TEST):
7073           Make the error a little clearer when the test fails because
7074           identity made a copy of the buffer.
7075         * docs/gst/gstreamer-sections.txt:
7076           New symbols in gstbasetransform.h
7077         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7078         (gst_base_transform_init), (gst_base_transform_transform_size),
7079         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7080         (gst_base_transform_default_prepare_buf),
7081         (gst_base_transform_get_unit_size),
7082         (gst_base_transform_buffer_alloc),
7083         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7084         (gst_base_transform_change_state),
7085         (gst_base_transform_set_passthrough),
7086         (gst_base_transform_set_in_place),
7087         (gst_base_transform_is_in_place):
7088         * gst/base/gstbasetransform.h:
7089           Change BaseTransform to separate in_place operate from same_caps
7090           output. in_place implies that the element can perform the transform
7091           on incoming buffers in-place, even if the caps on the output are
7092           different.
7093           Sub-class elements can now implement special buffer allocation
7094           methods for outgoing buffers if they wish to.
7095           Big documentation addition.
7096         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7097         * gst/elements/gstelements.c:
7098           Changes for basetransform modifications.
7099         * gst/elements/Makefile.am:
7100         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7101           Compile fix. Extra debug output.
7102
7103 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7104
7105         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7106         (gst_pad_suite):
7107           add tests for valid pad naming
7108         * gst/check/gstcheck.c: (gst_check_log_message_func),
7109         (gst_check_log_critical_func):
7110           add ASSERT_WARNING
7111           remove printing of code, it is fragile when the code contains
7112           % and the line number is enough info
7113         * gst/check/gstcheck.h:
7114         * gst/gstpad.c: (gst_pad_template_new):
7115           fix memleaks
7116
7117 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7118
7119         * configure.ac:
7120           say what CHECK flags we use
7121         * docs/libs/gstreamer-libs.types:
7122         * libs/gst/controller/Makefile.am:
7123         * libs/gst/controller/gst-controller.c:
7124         * libs/gst/controller/gst-controller.h:
7125         * libs/gst/controller/gst-helper.c:
7126         * libs/gst/controller/gst-interpolation.c:
7127         * libs/gst/controller/gstcontroller.c:
7128         * libs/gst/controller/gsthelper.c:
7129         * libs/gst/controller/gstinterpolation.c:
7130         * tools/gst-inspect.c: (print_plugin_info):
7131           we don't use dashes in header names
7132
7133 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7134
7135         * check/Makefile.am:
7136         * check/gst/.cvsignore:
7137         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7138         (gst_pipeline_suite), (main):
7139           adding a test for pipelines and state changes
7140         * gst/gstutils.c: (get_state_func):
7141           add some debugging
7142         * gstreamer.spec.in:
7143           fix up spec file
7144
7145 2005-09-08  Michael Smith <msmith@fluendo.com>
7146
7147         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7148         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7149         (gst_file_src_is_seekable), (gst_file_src_get_size),
7150         (gst_file_src_start):
7151         * gst/elements/gstfilesrc.h:
7152           Various fixes for unseekable, unmmapable, and non-normal files, so
7153           that fallback to read() rather than mmap() works.
7154         * gst/gstevent.c: (gst_event_new_newsegment):
7155           Allow newsegment events with segment_start == segment_end, as will
7156           correctly happen if you use filesrc on a zero-size file, for
7157           example.
7158
7159 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7160
7161         * gst/gstplugin.c: (gst_plugin_load_file):
7162           Call g_module_close when we don't load the module
7163
7164         * gst/registries/gstlibxmlregistry.c:
7165         (gst_xml_registry_get_property):
7166           Port leak fix from 0.8
7167
7168 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7169
7170         * docs/gst/gstreamer-docs.sgml:
7171         * docs/gst/tmpl/.cvsignore:
7172         * docs/gst/tmpl/gsttrace.sgml:
7173         * docs/gst/tmpl/gsttrashstack.sgml:
7174         * gst/Makefile.am:
7175         * gst/gst.h:
7176         * gst/gstelement.h:
7177         * gst/gstevent.h:
7178         * gst/gstmessage.c:
7179         * gst/gstmessage.h:
7180         * gst/gsttag.c:
7181         * gst/gsttag.h:
7182         * gst/gsttaginterface.c:
7183         * gst/gsttaginterface.h:
7184         * gst/gsttaglist.c:
7185         * gst/gsttaglist.h:
7186         * gst/gsttagsetter.c:
7187         * gst/gsttagsetter.h:
7188         * gst/gsttrace.c:
7189         * gst/gsttrace.h:
7190         * gst/gsttrashstack.c:
7191           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7192           inlined docs for gsttrace, gsttrashstack
7193
7194 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7195
7196         * gst/Makefile.am:
7197         * gst/elements/gstbufferstore.h:
7198         * gst/elements/gsttypefindelement.c:
7199         * gst/elements/gsttypefindelement.h:
7200         * gst/gst.h:
7201         * gst/gsttypefind.c:
7202         * gst/gsttypefind.h:
7203         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7204         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7205         (gst_type_find_factory_dispose),
7206         (gst_type_find_factory_unload_thyself),
7207         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7208         (gst_type_find_factory_get_caps),
7209         (gst_type_find_factory_get_extensions),
7210         (gst_type_find_factory_call_function):
7211         * gst/gsttypefindfactory.h:
7212         * gst/registries/gstlibxmlregistry.c:
7213         * gst/registries/gstxmlregistry.c:
7214           splitted gsttypefind into gsttypefind, gsttypefindfactory
7215
7216 2005-09-07  Andy Wingo  <wingo@pobox.com>
7217
7218         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7219         condition whereby the pad's task function is entered before the
7220         pad_mode variable was set.
7221
7222 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7223
7224         * gst/gstpad.c: (gst_pad_alloc_buffer):
7225           Catch misbehaving pad_alloc functions that don't
7226           set up caps and do it for them.
7227
7228 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7229
7230         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7231           test for pipe!=NULL
7232         * docs/gst/tmpl/.cvsignore:
7233         * docs/gst/tmpl/gstmemchunk.sgml:
7234         * docs/gst/tmpl/gstparse.sgml:
7235         * docs/gst/tmpl/gsttaglist.sgml:
7236         * docs/gst/tmpl/gsttagsetter.sgml:
7237         * docs/gst/tmpl/gsttypefind.sgml:
7238         * docs/gst/tmpl/gsttypefindfactory.sgml:
7239         * gst/gstmemchunk.c:
7240         * gst/gstparse.c:
7241         * gst/gsttag.c:
7242         * gst/gsttaginterface.c:
7243         * gst/gsttypefind.c:
7244         * gst/gsttypefind.h:
7245           inlined more docs
7246
7247 === release 0.9.2 ===
7248
7249 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7250
7251         * NEWS:
7252         * RELEASE:
7253         * configure.ac:
7254           releasing 0.9.2, "South"
7255
7256 2005-09-05  Andy Wingo  <wingo@pobox.com>
7257
7258         * gst/registries/gstxmlregistry.h:
7259         * gst/registries/gstxmlregistry.c: Um... resurrect...
7260         
7261         * gst/registries/gstxmlregistry.h:
7262         * gst/registries/gstxmlregistry.c: and update to newer API.
7263         Incidentally they should be a bit faster now that they don't have
7264         to parse the caps.
7265         
7266 2005-09-05  Andy Wingo  <wingo@pobox.com>
7267
7268         * gst/registries/gstxmlregistry.h:
7269         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7270         replaced by the libxml registry a while back
7271
7272 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7273
7274         * docs/gst/tmpl/gstplugin.sgml:
7275         * gst/elements/gstelements.c:
7276         * gst/gst.c:
7277         * gst/gstplugin.c: (gst_plugin_register_func),
7278         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7279         (gst_plugin_get_source):
7280         * gst/gstplugin.h:
7281         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7282         (gst_xml_registry_save_plugin):
7283         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7284         (gst_xml_registry_save_plugin):
7285         * tools/gst-inspect.c: (print_plugin_info):
7286           add a "source" plugin description field, to represent the source
7287           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7288           will set it to PACKAGE, which is automake's idea of the name of
7289           the source project.
7290
7291 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * Makefile.am:
7294         * autogen.sh:
7295         * configure.ac:
7296         * docs/Makefile.am:
7297         * docs/faq/Makefile.am:
7298         * docs/gst/tmpl/gstelement.sgml:
7299         * docs/gst/tmpl/gsttypes.sgml:
7300         * docs/htmlinstall.mak:
7301         * docs/manual/Makefile.am:
7302         * docs/pwg/Makefile.am:
7303           reorganize doc build a little
7304           split out docbook and gtk-doc stuff
7305           have two separate --enable's and enable them through autogen
7306           but disable by default in configure (to be similar to other
7307           projects)
7308         * gstreamer.spec.in:
7309           clean up docs install
7310         * po/af.po:
7311         * po/az.po:
7312         * po/ca.po:
7313         * po/cs.po:
7314         * po/de.po:
7315         * po/en_GB.po:
7316         * po/fr.po:
7317         * po/it.po:
7318         * po/nb.po:
7319         * po/nl.po:
7320         * po/ru.po:
7321         * po/sq.po:
7322         * po/sr.po:
7323         * po/sv.po:
7324         * po/tr.po:
7325         * po/uk.po:
7326         * po/vi.po:
7327           translation updates
7328
7329 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7332           Add comment.
7333           
7334         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7335         (gst_fake_sink_change_state):
7336           Make state change function thread-safe.
7337           
7338         * gst/gstpad.c: (gst_pad_alloc_buffer):
7339           Set offset on generic buffer allocated by fallback.
7340
7341 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * docs/gst/gstreamer-sections.txt:
7344         * docs/gst/tmpl/gstelement.sgml:
7345         * gst/gstpad.c:
7346         * libs/gst/controller/gst-controller.c:
7347         (gst_controlled_property_set_interpolation_mode),
7348         (gst_controlled_property_new),
7349         (gst_controller_find_controlled_property):
7350          run the wingo-magic script against the docs
7351
7352 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7353
7354         * docs/gst/gstreamer-docs.sgml:
7355         * docs/gst/gstreamer-sections.txt:
7356         * docs/gst/tmpl/.cvsignore:
7357         * docs/gst/tmpl/gstelementdetails.sgml:
7358         * docs/gst/tmpl/gstelementfactory.sgml:
7359         * gst/gst.c:
7360         * gst/gstbus.c:
7361         * gst/gstelementfactory.c:
7362         * gst/gstelementfactory.h:
7363           merged elementdetails docs into elementfactory docs
7364           inlined both
7365
7366 2005-09-02  Andy Wingo  <wingo@pobox.com>
7367
7368         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7369         consider this enum an enum and not a flags.
7370
7371 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7372
7373         * docs/gst/gstreamer-docs.sgml:
7374         * docs/gst/tmpl/.cvsignore:
7375         * docs/gst/tmpl/gstghostpad.sgml:
7376         * docs/gst/tmpl/gstiterator.sgml:
7377         * docs/gst/tmpl/gstmacros.sgml:
7378         * docs/gst/tmpl/gstrealpad.sgml:
7379         * docs/gst/tmpl/gstregistry.sgml:
7380         * docs/gst/tmpl/gstregistrypool.sgml:
7381         * docs/gst/tmpl/gststructure.sgml:
7382         * docs/gst/tmpl/gstsystemclock.sgml:
7383         * docs/gst/tmpl/gsttrace.sgml:
7384         * gst/gstghostpad.c:
7385         * gst/gstmacros.h:
7386         * gst/gstmemchunk.c:
7387         * gst/gstmemchunk.h:
7388         * gst/gstqueue.c:
7389         * gst/gstregistry.c:
7390         * gst/gstregistrypool.c:
7391         * gst/gststructure.c:
7392         * gst/gstsystemclock.c:
7393           more docs inlined
7394
7395 2005-09-02  Andy Wingo  <wingo@pobox.com>
7396
7397         * gst/gstelement.h (GstState): Renamed from GstElementState,
7398         changed to be a normal enum instead of flags.
7399         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7400         munged to be GST_STATE_CHANGE_*.
7401         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7402         work with the new state representation.
7403         (GstStateChange): New enumeration of possible state transitions.
7404         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7405         (GstElementClass::change_state): Pass the GstStateChange along as
7406         an argument. Helps language bindings, so they don't have to use
7407         tricky lock-needing macros like GST_STATE_CHANGE ().
7408
7409         * scripts/update-states (file): New script. Run it on a file to
7410         update it for state naming and API changes. Updates files in
7411         place.
7412
7413         * All files updated for the new API.
7414
7415 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7418         * gst/gstutils.c: (gst_util_set_value_from_string),
7419         (gst_util_set_object_arg):
7420           fix a bunch of unchecked return values
7421         * tools/gst-complete.c: (main):
7422         * gstreamer.spec.in:
7423           clean up a little
7424
7425 2005-09-01  Wim Taymans  <wim@fluendo.com>
7426
7427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7428         (gst_base_sink_event), (gst_base_sink_do_sync),
7429         (gst_base_sink_handle_event):
7430         * gst/base/gstbasesink.h:
7431         Handle newsegments more correctly.
7432
7433         * gst/gstbus.c:
7434         Fix docs.
7435
7436         * gst/gstevent.c: (gst_event_new_newsegment):
7437         A newsegment cannot have a start_time of -1
7438
7439 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         * win32/gstenumtypes.c:
7442         * win32/gstenumtypes.h:
7443           Update
7444
7445 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7446
7447         * libs/gst/controller/gst-controller.c:
7448         (gst_controlled_property_set_interpolation_mode),
7449         (gst_controlled_property_new):
7450          fixed boolean again
7451
7452 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * docs/faq/gst-uninstalled:
7455           add -good
7456         * gst/gstevent.c:
7457         * gst/gstevent.h:
7458           remove wrong docs
7459         * gst/gstutils.c: (gst_element_link_filtered):
7460         * gst/gstutils.h:
7461           add gst_element_link_filtered
7462
7463 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * docs/gst/gstreamer-docs.sgml:
7466         * docs/gst/gstreamer-sections.txt:
7467         * docs/gst/tmpl/.cvsignore:
7468         * docs/gst/tmpl/gsterror.sgml:
7469         * docs/gst/tmpl/gstfilter.sgml:
7470         * docs/gst/tmpl/gsturihandler.sgml:
7471         * docs/gst/tmpl/gsturitype.sgml:
7472         * docs/gst/tmpl/gstutils.sgml:
7473         * docs/gst/tmpl/gstxml.sgml:
7474         * gst/gsterror.c:
7475         * gst/gsterror.h:
7476         * gst/gstfilter.c:
7477         * gst/gsturi.c:
7478         * gst/gsturitype.c:
7479         * gst/gstutils.c:
7480         * gst/gstxml.c:
7481           inlined more docs, fixed double id-ref
7482
7483 2005-08-31  Wim Taymans  <wim@fluendo.com>
7484
7485         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7486         (gst_base_transform_handle_buffer):
7487         Passthrough elements don't need the caps as they don't care.
7488
7489 2005-08-31  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7492         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7493         Don't leak refcounts on buffers.
7494
7495 2005-08-31  Wim Taymans  <wim@fluendo.com>
7496
7497         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7498         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7499         (gst_base_transform_chain), (gst_base_transform_change_state):
7500         * gst/base/gstbasetransform.h:
7501         Handle the case where we are not negotiated more gracefully.
7502
7503 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7504
7505         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7506         (gst_file_src_map_region):
7507           Set READONLY flag on mmap'ed buffers, otherwise
7508           gst_buffer_make_writable() won't work properly (#314708).
7509
7510 2005-08-31  Wim Taymans  <wim@fluendo.com>
7511
7512         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7513         passthrough elements can even do inplace on non writable
7514         buffers (as they don't touch them).
7515
7516 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7519         (gst_test_mono_source_set_property),
7520         (gst_test_mono_source_class_init), (GST_START_TEST),
7521         (gst_controller_suite):
7522           more tests (hehe I have the most)
7523         * gst/gstbus.c:
7524           describe popping messages whenusing mulltiple sources
7525         * libs/gst/controller/gst-controller.c:
7526         (gst_controlled_property_set_interpolation_mode),
7527         (gst_controlled_property_new):
7528         * libs/gst/controller/gst-controller.h:
7529         * libs/gst/controller/gst-interpolation.c:
7530           implement boolean properties
7531
7532 2005-08-31  Wim Taymans  <wim@fluendo.com>
7533
7534         * gst/gstminiobject.c: (gst_mini_object_ref):
7535         Cannot assert that the refcount has to be positive
7536         since a disposed object can be resurrected.
7537
7538 2005-08-31  Wim Taymans  <wim@fluendo.com>
7539
7540         * gst/gstpad.c: (gst_pad_init):
7541         Revert change, need to first fix badly behaving 
7542         apps.
7543
7544 2005-08-30  Wim Taymans  <wim@fluendo.com>
7545
7546         * check/elements/fakesrc.c: (setup_fakesrc):
7547         * check/elements/identity.c: (setup_identity):
7548         Activate pads before using them.
7549
7550 2005-08-30  Wim Taymans  <wim@fluendo.com>
7551
7552         * gst/base/gstadapter.c: (gst_adapter_flush):
7553         Flushing out 0 bytes is ok for this function.
7554
7555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7556         no newsegment gives a warning and sets the start/stop to 
7557         invalid.
7558
7559         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7560         (gst_base_transform_set_passthrough):
7561         Some debug info.
7562
7563         * gst/gstminiobject.c: (gst_mini_object_ref):
7564         Check refcount here too.
7565
7566         * gst/gstpad.c: (gst_pad_init):
7567         Pads are initially flushing and refusing data.
7568
7569         * gst/gstutils.c: (gst_element_link_pads_filtered):
7570         When adding a capsfilter element make sure it has the
7571         same state as the parent bin.
7572
7573 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7574
7575         * docs/gst/tmpl/.cvsignore:
7576         * docs/gst/tmpl/gstformat.sgml:
7577         * docs/gst/tmpl/gstversion.sgml:
7578         * gst/gstbus.h:
7579         * gst/gstformat.c:
7580         * gst/gstformat.h:
7581         * gst/gstversion.h.in:
7582           more docs and two more inlined
7583
7584 2005-08-30  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7587         Don't sync to clock.
7588
7589 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7590
7591         * docs/gst/gstreamer-sections.txt:
7592           ultral33t func10ns deserve to appear in the docs actually
7593         * docs/gst/tmpl/.cvsignore:
7594         * docs/gst/tmpl/gstcompat.sgml:
7595         * docs/gst/tmpl/gstconfig.sgml:
7596         * gst/check/gstcheck.c:
7597         * gst/gstcompat.h:
7598         * gst/gstconfig.h.in:
7599           inlined more docs
7600
7601 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * docs/gst/tmpl/.cvsignore:
7604         * docs/gst/tmpl/gstquery.sgml:
7605         * docs/gst/tmpl/gstutils.sgml:
7606         * gst/gstquery.c:
7607         * gst/gstquery.h:
7608           inlined and extended docs
7609
7610 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7611
7612         * check/gst-libs/controller.c: (GST_START_TEST),
7613         (gst_controller_suite):
7614           more tests
7615         * docs/gst/tmpl/gstutils.sgml:
7616         * docs/libs/gstreamer-libs-sections.txt:
7617         * docs/libs/tmpl/gstdataprotocol.sgml:
7618           include path fixes
7619         * examples/controller/audio-example.c: (main):
7620           controller example works now
7621         * gst/gstclock.h:
7622           doc fixes
7623         * tools/gst-inspect.c: (print_element_properties_info):
7624           show param spec flags
7625
7626 2005-08-29  Andy Wingo  <wingo@pobox.com>
7627
7628         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7629
7630 2005-08-28  Andy Wingo  <wingo@pobox.com>
7631
7632         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7633         as having two arguments instead of just one. Allows superclasses
7634         to access information on subclasses -- see the terrible for() loop
7635         in gtype.c:g_type_create_instance for the reason why. All callers
7636         changed.
7637
7638 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7639
7640         * docs/design/part-messages.txt:
7641           update info
7642         * docs/gst/tmpl/.cvsignore:
7643         * docs/gst/tmpl/gstcaps.sgml:
7644         * docs/gst/tmpl/gstclock.sgml:
7645         * gst/gstbus.c:
7646         * gst/gstcaps.c:
7647         * gst/gstcaps.h:
7648         * gst/gstclock.c:
7649         * gst/gstclock.h:
7650         * gst/gstmessage.c:
7651           added descriptions for bus and message
7652           inline caps and clock docs
7653
7654 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7655
7656         * gst/gstmessage.c:
7657         * gst/gstmessage.h:
7658           doc fixes
7659
7660 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7661
7662         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7663           fix div-by-zero
7664
7665 2005-08-26  Andy Wingo  <wingo@pobox.com>
7666
7667         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7668         element_set_state's return val.
7669         (test_2_elements): Add test that's been disabled for months.
7670
7671         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7672         can-activate-pull properties.
7673
7674         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7675         can-activate-pull properties. Implement is_seekable so fakesrc can
7676         operate in pull mode.
7677
7678         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7679         properties.
7680         (gst_base_sink_activate, gst_base_sink_activate_pull)
7681         (gst_base_sink_activate_push): Make activation mode choosing work.
7682         Cleanups.
7683         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7684         is right. Make pull mode work. Post an eos before pausing in pull
7685         mode.
7686         (gst_base_sink_change_state): Pay attention to the core's
7687         change_state() return val.
7688         
7689         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7690         has-getrange properties. Cleanups.
7691         
7692         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7693         has_getrange and replace with can_activate_pull and
7694         can_activate_push.
7695
7696         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7697         locking comments. Remove has_loop, has_chain and replace with
7698         can_activate_pull and can_activate_push.
7699
7700 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7701
7702         * configure.ac:
7703         * examples/Makefile.am:
7704         * examples/metadata/Makefile.am:
7705         * examples/metadata/read-metadata.c: (message_loop),
7706         (have_pad_handler), (make_pipeline), (print_tag), (main):
7707           Add metadata reading example that loops over a list of filenames,
7708           dumping any tags found.
7709
7710         * gst/gstbus.c: (gst_bus_dispose):
7711         * gst/gstelement.c: (gst_element_dispose):
7712           Release a few potentially-held references in dispose.
7713
7714 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7715
7716         * docs/gst/tmpl/gstminiobject.sgml:
7717           do *not* add tmpl/*.sgml files to CVS!
7718
7719 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7720
7721         * libs/gst/bytestream/.cvsignore:
7722         * libs/gst/bytestream/Makefile.am:
7723         * libs/gst/bytestream/adapter.c:
7724         * libs/gst/bytestream/adapter.h:
7725         * libs/gst/bytestream/bytestream.c:
7726         * libs/gst/bytestream/bytestream.h:
7727         * libs/gst/bytestream/filepad.c:
7728         * libs/gst/bytestream/filepad.h:
7729           removing obsolete files
7730
7731 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7732
7733         * docs/gst/gstreamer-docs.sgml:
7734         * docs/libs/gstreamer-libs-docs.sgml:
7735           disabed additional index entries again, as this makes docs-gen just
7736           slow and they aren't useful yet
7737         * docs/libs/gstreamer-libs-sections.txt:
7738           little -section.txt cleanup for libs
7739
7740 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7743         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7744           fix up some debugging
7745         (gst_base_transform_get_unit_size),
7746         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7747         (gst_base_transform_handle_buffer):
7748         * gst/base/gstbasetransform.h:
7749           handle and store timed NEWSEGMENT events so that subclasses that
7750           calculate time by counting samples have a segment_start time they
7751           need to add to their timestamps - see audioresample
7752
7753 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7754
7755         * gst/gstbin.h:
7756           removed ';' from the end of macro defs
7757         * docs/gst/gstreamer-docs.sgml:
7758         * docs/gst/gstreamer-sections.txt:
7759         * docs/gst/tmpl/.cvsignore:
7760         * gst/gstbus.h:
7761         * gst/gstelement.c: (gst_element_class_init),
7762         (gst_element_set_state), (activate_pads),
7763         (gst_element_save_thyself):
7764         * gst/gstevent.c: (gst_event_new_newsegment):
7765         * gst/gstevent.h:
7766         * gst/gstiterator.c:
7767         * gst/gstiterator.h:
7768         * gst/gstpad.c:
7769         * gst/gstprobe.h:
7770         * gst/gstutils.c: (gst_pad_query_convert):
7771         * gst/gstutils.h:
7772           fixed parameter name mismatches between source, header and docs
7773           added some more docs, resolved the last batch of unused elements in
7774           docs (now someone needs to doc them)
7775
7776 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7777
7778         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7779         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7780           don't walk through the plugins backwards.  Where is all this
7781           reversed logic coming from ?
7782
7783 2005-08-25  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7786         (gst_base_transform_transform_size),
7787         (gst_base_transform_configure_caps),
7788         (gst_base_transform_get_unit_size),
7789         (gst_base_transform_buffer_alloc),
7790         (gst_base_transform_change_state):
7791         * gst/base/gstbasetransform.h:
7792         Cache caps unit_size.
7793         Make sure we cannot negotiate up and downstream at the
7794         same time.
7795
7796 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         * gst/gst.c: (init_pre), (init_post):
7799           register the installed plugin path after the env var
7800         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7801         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7802           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7803           directories, so the tests can prefer uninstalled over installed
7804
7805 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7806
7807         * gst/base/gstbasetransform.h:
7808           comment
7809         * gst/gstpad.c:
7810           add to docs
7811
7812 2005-08-25  Wim Taymans  <wim@fluendo.com>
7813
7814         * gst/gstbin.c: (bin_bus_handler):
7815         Be a bit more conservative about the posted message.
7816         
7817         * gst/gstbus.c: (gst_bus_post):
7818         Some cleanups, warn wrong return values.
7819
7820 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7821
7822         * check/gst/gstbin.c: (GST_START_TEST):
7823         * gst/gstbin.c: (bin_bus_handler):
7824         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7825         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7826         (gst_message_new_warning), (gst_message_new_tag),
7827         (gst_message_new_state_changed), (gst_message_new_segment_start),
7828         (gst_message_new_segment_done), (gst_message_new_custom):
7829         * gst/gstmessage.h:
7830         * tools/gst-launch.c: (event_loop):
7831         * tools/gst-md5sum.c: (event_loop):
7832           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7833
7834 2005-08-25  Wim Taymans  <wim@fluendo.com>
7835
7836         * check/generic/states.c: (GST_START_TEST):
7837         Cleanup can be done at the end.
7838
7839         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7840         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7841         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7842         Oh boy.. Thanks for finding this, Thomas. 
7843
7844 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7845
7846         * docs/gst/gstreamer.types:
7847           added missing types
7848
7849 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7850
7851         * docs/gst/gstreamer-docs.sgml:
7852         * docs/gst/gstreamer-sections.txt:
7853         * docs/gst/tmpl/.cvsignore:
7854         * gst/gstbin.c:
7855         * gst/gstiterator.c:
7856         * gst/gstutils.c:
7857         * gst/registries/gstxmlregistry.h:
7858           added missing classes and symbols (123 more to go)
7859           removed removed symbols from section file
7860           fixed many doc-comments
7861
7862 2005-08-24  Wim Taymans  <wim@fluendo.com>
7863
7864         * check/generic/states.c: (GST_START_TEST):
7865         Make sure all tasks are stopped.
7866
7867         * check/gst/gstbin.c: (GST_START_TEST):
7868         Unref after usage for proper valgrinding.
7869
7870         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7871         Really wait for the task to stop before destroying the
7872         mutex.
7873
7874         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7875         (gst_queue_src_activate_push):
7876         Small cleanups. Don't stop the task when we did not start
7877         it.
7878
7879         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7880         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7881         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7882         (gst_task_join):
7883         * gst/gsttask.h:
7884         Protect the stream lock with the object lock.
7885         Disallow setting the stream lock when running.
7886         Add cleanup_all to wait for the threadpool to finish.
7887         Remove code to autoallocate a mutex if none was provided.
7888         Add _join() to wait for a task to stop.
7889         Protect the thread pool with a global lock.
7890
7891 2005-08-24  Wim Taymans  <wim@fluendo.com>
7892
7893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7894         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7895         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7896         * gst/base/gstbasesink.h:
7897         Handle newsegment events correctly.
7898         Drop buffers out of the segment range.
7899
7900 2005-08-22  Andy Wingo  <wingo@pobox.com>
7901
7902         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7903         macro, implements an interface and gstimplementsinterface for a
7904         new type.
7905
7906 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7907
7908         * check/Makefile.am:
7909         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7910           add a test that does a bunch of state changes on elements
7911           needs some fixing for valgrind
7912         * check/states/sinks.c: (gst_object_suite):
7913           whitespace
7914         * gst/gstcaps.h:
7915           add prototype for gst_caps_is_equal_fixed
7916         * gst/gstplugin.c:
7917         * gst/gstregistrypool.c:
7918           doc fixes
7919
7920 2005-08-24  Andy Wingo  <wingo@pobox.com>
7921
7922         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7923         convert a negative value. Doesn't make much sense. Mostly this is
7924         here to force callers to ensure -1 maps to -1.
7925
7926 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7927
7928         * docs/pwg/advanced-types.xml:
7929           Well done to Michael for catching my deliberate introduction
7930           of this spelling mistake. 
7931         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7932         * gst/gstelement.h:
7933           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7934           unlink pads before removing the element from the bin.
7935
7936 2005-08-24  Andy Wingo  <wingo@pobox.com>
7937
7938         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7939         the same thing as GST_DEBUG=*:4.
7940         (parse_debug_level, parse_debug_category): New helper parsers.
7941
7942 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7943
7944         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7945         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7946         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7947         (gst_base_transform_buffer_alloc),
7948         (gst_base_transform_handle_buffer):
7949           use gboolean return values and pointers to size so we can use the
7950           full GST_BUFFER_SIZE range (guint) for buffer sizes
7951           use GstPadDirection for transform_caps
7952         * gst/base/gstbasetransform.h:
7953           rename get_size to get_unit_size since that's what it is
7954         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7955           use GstPadDirection for transform_caps
7956         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7957         * gst/gstutils.h:
7958           cleanup and debugging
7959
7960 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7961
7962         * gst/gstelement.c: (gst_element_class_init),
7963         (gst_element_set_state), (activate_pads),
7964         (gst_element_save_thyself):
7965         * tools/gst-compprep.c: (main):
7966         * tools/gst-inspect.c: (print_element_properties_info):
7967         * tools/gst-xmlinspect.c: (print_element_properties):
7968           Fixed long standing mem-leak
7969
7970 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7971
7972         * check/gst/gstbin.c: (GST_START_TEST):
7973         * gst/gstbin.c: (bin_bus_handler):
7974         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7975         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7976         (gst_message_new_warning), (gst_message_new_tag),
7977         (gst_message_new_state_changed), (gst_message_new_segment_start),
7978         (gst_message_new_segment_done), (gst_message_new_custom):
7979         * gst/gstmessage.h:
7980         * tools/gst-launch.c: (event_loop):
7981         * tools/gst-md5sum.c: (event_loop):
7982           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7983           that applications can sensibly post custom messages with references
7984           to their own objects.
7985
7986 2005-08-24  Andy Wingo  <wingo@pobox.com>
7987
7988         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7989         already.
7990
7991 2005-08-24  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7994         (gst_base_transform_transform_caps),
7995         (gst_base_transform_transform_size),
7996         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7997         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7998         (gst_base_transform_handle_buffer):
7999         * gst/base/gstbasetransform.h:
8000         Many fixes and new features added by Thomas. Can now also do
8001         transforms with variable sizes and a custom fixate_caps function.
8002
8003 2005-08-24  Wim Taymans  <wim@fluendo.com>
8004
8005         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8006         Some debugging.
8007
8008         * gst/gstclock.h:
8009         Cast to ClockTime before formatting to time.
8010
8011         * gst/gstutils.h:
8012         Cleanups.
8013
8014 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8015
8016         * check/gst-libs/controller.c: (GST_START_TEST),
8017         (gst_controller_suite):
8018         * docs/gst/tmpl/gstcaps.sgml:
8019         * docs/gst/tmpl/gstghostpad.sgml:
8020         * docs/gst/tmpl/gstquery.sgml:
8021         * docs/gst/tmpl/gstutils.sgml:
8022         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8023         (gst_object_sink_values), (gst_object_get_value_arrays),
8024         (gst_object_get_value_array):
8025           gracefully handle helper method calls to objects that are not beeing
8026           controlled, added test case for that          
8027
8028 2005-08-23  Wim Taymans  <wim@fluendo.com>
8029
8030         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8031         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8032         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8033         (gst_event_parse_qos), (gst_event_new_seek),
8034         (gst_event_parse_seek):
8035         * gst/gstevent.h:
8036         Some more debugging output and doc cleanups.
8037
8038         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8039         Fix possible deadlock.
8040
8041 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8042
8043         * docs/gst/gstreamer-docs.sgml:
8044         * docs/gst/gstreamer-sections.txt:
8045         * docs/gst/gstreamer.types:
8046         * docs/gst/tmpl/.cvsignore:
8047         * gst/gstbin.h:
8048         * gst/gstbus.c:
8049         * gst/gstelement.c:
8050         * gst/gstevent.h:
8051           added 100 symbols from gstreamer-unused.txt to the right sections
8052           fixed more broken comments
8053           added GstBus to docs
8054
8055 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8056
8057         * docs/gst/gstreamer-sections.txt:
8058         * docs/gst/tmpl/.cvsignore:
8059         * docs/gst/tmpl/gstbin.sgml:
8060         * docs/gst/tmpl/gstbuffer.sgml:
8061         * gst/base/gstbasesrc.c:
8062         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8063         * gst/gstbuffer.c:
8064         * gst/gstbuffer.h:
8065         * tools/gst-launch.1.in:
8066           inlined more doc comments, added missing comments and fixed comments
8067           fixed typos
8068
8069 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8070
8071         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8072           some debugging
8073         * gst/gstcaps.h:
8074           whitespace fixes
8075         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8076           more debugging
8077         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8078         * gst/gststructure.h:
8079           add a fixate function for booleans; add a FIXME that these func
8080           names should probably be gst_structure_fixate_*
8081
8082 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8083
8084         * docs/gst/gstreamer-docs.sgml:
8085         * docs/gst/gstreamer-sections.txt:
8086         * gst/Makefile.am:
8087         * gst/gstbin.c: (gst_bin_get_type),
8088         (gst_bin_child_proxy_get_child_by_index),
8089         (gst_bin_child_proxy_get_children_count),
8090         (gst_bin_child_proxy_init):
8091         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8092         (gst_child_proxy_get_child_by_index),
8093         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8094         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8095         (gst_child_proxy_get), (gst_child_proxy_set_property),
8096         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8097         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8098         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8099         * gst/gstchildproxy.h:
8100         * gst/parse/grammar.y:
8101         * tools/gst-inspect.c: (print_interfaces),
8102         (print_element_properties_info), (print_element_info):
8103           ported gstchildproxy over from 0.8
8104           ported gst-inspect fixes and enhancements over from 0.8
8105
8106 2005-08-22  Wim Taymans  <wim@fluendo.com>
8107
8108         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8109         (gst_base_transform_handle_buffer):
8110         Also call the transform function if we have ANY caps.
8111
8112         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8113         Fix debug info.
8114
8115 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8116
8117         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8118           Don't pretend to handle seek events if the source is not seekable
8119
8120 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8121
8122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8123           Remove extra parameter to debug output
8124
8125         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8126         (gst_base_src_do_seek), (gst_base_src_activate_push):
8127           Fix seek event handling.
8128
8129         * gst/gstpipeline.c: (gst_pipeline_change_state):
8130         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8131         (gst_queue_src_activate_push):
8132           Don't start the src pad task on FLUSH_STOP if the pad
8133           isn't linked.
8134           Debug changes.
8135
8136 2005-08-22  Wim Taymans  <wim@fluendo.com>
8137
8138         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8139         Added check for gst_static_caps_get() refcounting.
8140
8141 2005-08-22  Wim Taymans  <wim@fluendo.com>
8142
8143         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8144         Make _static_caps_get() refcounting sane.
8145         
8146         * gst/gstelement.c: (gst_element_set_state):
8147         Add g_return_val_if_fail() to protect against segfaults.
8148
8149 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8150
8151         * docs/gst/tmpl/gstevent.sgml:
8152         * gst/gstevent.c:
8153         * gst/gstevent.h:
8154           inlined remaining docs, added missing doc comments
8155
8156 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8157
8158         * check/gst/gstbin.c: (GST_START_TEST):
8159           since we don't know when preroll is done, use refcount range
8160           check for the sink
8161         * gst/check/gstcheck.h:
8162           add macro for checking refcount range
8163
8164 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * check/Makefile.am:
8167           clean up environment for when registry gets built versus
8168           when actual tests are run; valgrind seems to not report
8169           leaks if GST_PLUGIN_PATH is set to some specific values
8170         * check/gst/gstbin.c: (GST_START_TEST):
8171           add more refcounting checks; maybe this exposes a
8172           preroll lock bug ?
8173         * common/check.mak:
8174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8175         * gst/check/gstcheck.h:
8176         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8177         (gst_bin_change_state):
8178         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8179           add/fix debugging/whitespace
8180
8181 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8182
8183         * check/gst/gstevent.c: (event_probe), (test_event),
8184         (GST_START_TEST):
8185          Er, don't call gst_bin_watch_for_state_change you idiot.
8186
8187 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8188
8189         * check/Makefile.am:
8190           Use CHECK_CFLAGS and CHECK_LIBS
8191         * check/gst/gstevent.c: (event_probe), (test_event),
8192         (GST_START_TEST):
8193           Don't leak events.
8194         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8195         (gst_base_src_start), (gst_base_src_stop),
8196         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8197         (gst_base_src_change_state):
8198           Sprinkle gst_base_src_stop liberally around error paths to fix
8199           problems reusing a source after failed state changes.
8200         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8201         (helper_find_suggest), (gst_type_find_helper):
8202           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8203         * gst/gstevent.h:
8204         * docs/gst/tmpl/gstevent.sgml:
8205           Migrate part of the docs from the SGML file. Wait for ensonic to
8206           tell me how I did it wrong ;)
8207         * tools/gst-typefind.c: (main):
8208           Extra robustness to state changes between files.
8209
8210 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8211
8212         * check/Makefile.am:
8213           don't valgrind the controller test - it's leaking - Stefan, HELP
8214         * gst/check/gstcheck.c: (gst_check_message_error),
8215         (gst_check_chain_func), (gst_check_setup_element),
8216         (gst_check_teardown_element), (gst_check_setup_src_pad),
8217         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8218         (gst_check_teardown_sink_pad):
8219         * gst/check/gstcheck.h:
8220           add a bunch of methods to set up elements, and src and sink pads
8221         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8222         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8223         (GST_START_TEST):
8224           use them
8225         * gst/gstmessage.c:
8226         * gst/gsttag.h:
8227           whitespace/doc fixes
8228
8229 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8230
8231         * gst/gstelement.h:
8232           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8233           be handled by the application and not always printed as well
8234
8235 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * check/Makefile.am:
8238           set GST_TOOLS_DIR
8239         * gst/check/gstcheck.c: (gst_check_message_error):
8240         * gst/check/gstcheck.h:
8241           add a fail_unless_equals_int
8242           add fail_unless for error messages
8243
8244 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8245
8246         * check/Makefile.am:
8247         * check/gst.supp:
8248         * common/Makefile.am:
8249         * common/check.mak:
8250         * common/gst.supp:
8251           factor out some of the common stuff so we can use it
8252
8253 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8254
8255         * check/Makefile.am:
8256         * check/gst/gstiterator.c: (GST_START_TEST):
8257         * check/gst/gstsystemclock.c: (GST_START_TEST),
8258         (gst_systemclock_suite):
8259         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8260         * gst/gstclock.c:
8261           valgrind more tests
8262
8263 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8264
8265         * check/elements/.cvsignore:
8266         * check/elements/gstfakesrc.c:
8267           rename to name of element
8268         * check/elements/identity.c: (chain_func), (event_func),
8269         (setup_identity), (cleanup_identity), (GST_START_TEST),
8270         (identity_suite), (main):
8271           add a test for identity
8272         * check/Makefile.am:
8273         * pkgconfig/Makefile.am:
8274         * pkgconfig/gstreamer-check.pc.in:
8275         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8276         * gst/check:
8277         * gst/Makefile.am:
8278         * configure.ac:
8279           move the check stuff to a library that gets installed
8280         * check/gst-libs/controller.c: (GST_START_TEST):
8281         * check/gst-libs/gdp.c:
8282         * check/gst/gst.c: (GST_START_TEST):
8283         * check/gst/gstbin.c:
8284         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8285         * check/gst/gstbus.c:
8286         * check/gst/gstcaps.c: (GST_START_TEST):
8287         * check/gst/gstelement.c:
8288         * check/gst/gstghostpad.c:
8289         * check/gst/gstiterator.c:
8290         * check/gst/gstmessage.c:
8291         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8292         * check/gst/gstobject.c:
8293         * check/gst/gstpad.c: (GST_START_TEST):
8294         * check/gst/gststructure.c: (GST_START_TEST):
8295         * check/gst/gstsystemclock.c: (GST_START_TEST),
8296         (gst_systemclock_suite):
8297         * check/gst/gsttag.c: (gst_tag_suite):
8298         * check/gst/gstvalue.c:
8299         * check/pipelines/cleanup.c:
8300         * check/pipelines/simple_launch_lines.c:
8301         * check/states/sinks.c:
8302           change include statement
8303
8304         * docs/gst/gstreamer-sections.txt:
8305         * docs/gst/tmpl/gstpad.sgml:
8306           document more pad stuff
8307         * gst/gstminiobject.c: (gst_mini_object_ref),
8308         (gst_mini_object_unref):
8309           debug refcounting
8310
8311 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8312
8313         * docs/gst/tmpl/gst.sgml:
8314         * gst/gst.c:
8315           eliminate another tmpl file, fix spelling in the long-description
8316
8317 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8318
8319         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8320         (test_event), (timediff), (gstevents_suite):
8321           Should fix build on 64-bit arch's
8322
8323 2005-08-18  Andy Wingo  <wingo@pobox.com>
8324
8325         Make sure that when a pipeline goes to PLAYING, that data has
8326         actually hit the sink.
8327
8328         * check/states/sinks.c (test_sink): A sink that doesn't get any
8329         data shouldn't return SUCCESS for going to either PLAYING or
8330         PAUSED. Test also the return values on the way back down.
8331
8332         * gst/gstelement.c (gst_element_set_state): When changing the
8333         state of an element currently changing state asynchronously, go to
8334         lost-state after commiting the pending state. Makes future calls
8335         to get_state continue to return ASYNC.
8336
8337         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8338         ASYNC when going to PLAYING if we still don't have preroll, as can
8339         happen with live sources.
8340
8341 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8342
8343         * docs/pwg/advanced-types.xml:
8344           Hack long paragraph into 2 chunks as a workaround for buggy
8345           jadetex version in sid and breezy that loops infinitely and
8346           eats all RAM.
8347
8348 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8349
8350         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8351         (test_event), (timediff), (gstevents_suite):
8352           Provide more error margin in clock measurements to allow for 
8353           g_get_current_time inaccuracies.
8354
8355 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8356
8357         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8358         (test_event), (timediff), (gstevents_suite):
8359            Fix error message output so I might be able to tell why the
8360            test works here but fails on the build farm.
8361
8362 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8363
8364         * check/Makefile.am:
8365         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8366         (test_event), (timediff), (gstevents_suite), (main):
8367           I wrote a test!
8368
8369         * docs/design/part-seeking.txt:
8370           Spelling correction
8371
8372         * docs/gst/tmpl/gstevent.sgml:
8373         * docs/gst/tmpl/gstfakesrc.sgml:
8374           Docs updates.
8375
8376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8377           Treat a buffer-without-newsegment the same as a receiving 
8378           a newsegment not in time format, and disable syncing to the clock
8379           with a warning.
8380
8381         * gst/gstbus.c: (gst_bus_set_sync_handler):
8382           Assert if anyone tries to replace the existing sync_handler for bus, 
8383           as only the owner should be setting it.
8384
8385         * gst/gstevent.h:
8386           Have a fixed set of custom event enums with events identified by
8387           their structure name (as in 0.8), rather than a free-for-all
8388           allowing collisions between enum values from different plugins.
8389
8390         * gst/gstpad.c: (gst_pad_class_init):
8391           Docs change.
8392           
8393         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8394           Handle out-of-band downstream events from the sending thread.
8395
8396 2005-08-17  Andy Wingo  <wingo@pobox.com>
8397
8398         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8399         play-timeout==0 to mean no timeout at all. In that case, don't
8400         bother with a get_state or a warning, just return directly, even
8401         if it's ASYNC.
8402
8403         * gst/base/gstbasetransform.c: Debug changes.
8404
8405         * gst/gstutils.h:
8406         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8407         ensure bins post state change messages. A bit of a hack but I can't
8408         think of a way to avoid it.
8409
8410         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8411
8412 2005-08-16  Andy Wingo  <wingo@pobox.com>
8413
8414         * gst/base/gstadapter.h:
8415         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8416         peek() but you own the data. Not terribly efficient atm.
8417
8418 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8419
8420         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8421         (gst_element_found_tags):
8422         * gst/gstutils.h:
8423           Add two utility functions for tag handling.
8424
8425 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8426
8427         * docs/manual/advanced-dataaccess.xml:
8428         * docs/manual/basics-helloworld.xml:
8429           Fix docs to use _bin_add() before _link(), which fixes the examples
8430           with recent core versions (reported by Madhan Raj M
8431           <raj_madan@rediffmail.com>, #313199).
8432
8433 2005-08-16  Wim Taymans  <wim@fluendo.com>
8434
8435         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8436         Added subtract checks.
8437
8438         * docs/design/part-events.txt:
8439         Some more docs about newsegment
8440
8441         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8442         Fix FIXME
8443
8444         * gst/gstcaps.c: (gst_caps_to_string):
8445         Add comments, cleanups.
8446         
8447         * gst/gstelement.c: (gst_element_save_thyself):
8448         cleanups
8449         
8450         * gst/gstvalue.c: (gst_value_collect_int_range),
8451         (gst_string_unwrap), (gst_value_union_int_int_range),
8452         (gst_value_union_int_range_int_range),
8453         (gst_value_intersect_int_int_range),
8454         (gst_value_intersect_int_range_int_range),
8455         (gst_value_intersect_double_double_range),
8456         (gst_value_intersect_double_range_double_range),
8457         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8458         (gst_value_subtract_int_range_int),
8459         (gst_value_subtract_double_range_double),
8460         (gst_value_subtract_double_range_double_range),
8461         (gst_value_subtract_from_list), (gst_value_subtract_list),
8462         (gst_value_can_compare), (gst_value_compare_fraction):
8463         Cleanups, add comments, remove unneeded asserts.
8464
8465 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8466
8467         * tools/gst-launch.c: (event_loop):
8468           don't convert NULL structures to strings
8469
8470 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8471
8472         * docs/gst/gstreamer-sections.txt:
8473           made some defines private
8474         * docs/gst/tmpl/gstconfig.sgml:
8475         * docs/gst/tmpl/gstqueue.sgml:
8476         * docs/gst/tmpl/gsttaglist.sgml:
8477         * docs/gst/tmpl/gsttypes.sgml:
8478         * docs/gst/tmpl/gstutils.sgml:
8479         * docs/pwg/appendix-porting.xml:
8480         * gst/base/gstbasesink.h:
8481         * gst/base/gstbasesrc.c:
8482         * gst/base/gstbasesrc.h:
8483         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8484         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8485         * gst/gstelement.c: (gst_element_class_init):
8486         * gst/gstpad.c: (gst_pad_class_init):
8487         * gst/gstqueue.c: (gst_queue_class_init):
8488         * gst/gstxml.c: (gst_xml_class_init):
8489           documented all undocumented signal inline
8490         * libs/gst/controller/gst-controller.h:
8491           added padding
8492
8493 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8494
8495         * docs/pwg/appendix-porting.xml:
8496           Document _set_link_function -> _set_setcaps_function.
8497
8498 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * check/Makefile.am:
8501           add a .check target for running the check
8502         * check/gst-libs/controller.c: (GST_START_TEST):
8503           cosmetic fixups
8504         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8505           complete checks for gstbuffer; would be nice if I could get the
8506           gcov stuff to work so I can see if I actually completed gstbuffer.c
8507         * check/gstcheck.h:
8508           add ASSERT_BUFFER_REFCOUNT
8509
8510 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8511
8512         * docs/gst/gstreamer-sections.txt:
8513         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8514         * gst/gsttag.h:
8515           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8516           spew out a warning if a tag that is already registered
8517           is re-registered, unless it is re-registered with a 
8518           different type (#308438).
8519
8520 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8521
8522         * docs/pwg/appendix-porting.xml:
8523         * docs/pwg/building-state.xml:
8524           Add some paragraphs about state changes in 0.9 to the PWG
8525           and the porting guide, in particular about the new meaning
8526           of GST_STATE_PAUSED and how to write state change functions
8527           with concurrent access by multiple threads in mind.
8528
8529 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8530
8531         * docs/gst/gstreamer-docs.sgml:
8532         * docs/libs/gstreamer-libs-docs.sgml:
8533           added deprecation and since indexes
8534         * libs/gst/controller/gst-controller.c:
8535         * libs/gst/controller/gst-helper.c:
8536           added since tags
8537
8538
8539 2005-08-11  Wim Taymans  <wim@fluendo.com>
8540
8541         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8542         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8543         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8544         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8545         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8546         (gst_ghost_pad_set_target):
8547         Actually implement (re)setting the target on a ghostpad
8548         as described in the docs.
8549
8550 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8551
8552         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8553           Check whether GST_DEBUG_NO_COLOR environment variable is
8554           set and disable coloured debug output if that is the case.
8555
8556 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8557
8558         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8559         (gst_type_find_helper):
8560           The memory returned by gst_type_find_peek() needs to
8561           stay valid until the end of a typefind function, and
8562           typefind functions may keep results from different 
8563           offsets around, so we can't just unref the buffer from
8564           the previous _peek(), but have to save all buffers 
8565           returned by _peek() until typefinding is done and only
8566           free them then.
8567
8568 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8569
8570         * docs/gst/gstreamer-sections.txt:
8571         * gst/gstutils.h:
8572           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8573
8574 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8575
8576         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8577           Fix a pretty good memleak.
8578
8579 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8580
8581         * gst/gstiterator.h:
8582           Fix wrong include and 'make distcheck'.
8583
8584 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8585
8586         * gst/gstbin.c: (bin_bus_handler):
8587           Use gst_element_post_message() instead.
8588
8589 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8590
8591         * gst/base/gstadapter.h:
8592         * gst/base/gstbasesink.h:
8593         * gst/base/gstbasesrc.h:
8594         * gst/base/gstbasetransform.h:
8595         * gst/base/gstcollectpads.h:
8596         * gst/base/gstpushsrc.h:
8597         * gst/gstiterator.h:
8598           Add padding to our base elements' class and instance structs and
8599           to GstIterator (you will need to rebuild all plugins and apps!)
8600
8601 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8602
8603         * gst/gstbin.c: (bin_bus_handler):
8604           Make default message forwarding from child->bus to bin->bus
8605           threadsafe and make it not emit warnings if the parent has no bus.
8606
8607 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8608
8609         * gst/gstelement.c: (activate_pads):
8610           On paused->ready, set pad->caps to NULL, as is the documented
8611           behaviour in this state change. Fixes playback of series of
8612           media files when visualization is enabled in Totem.
8613
8614 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8615
8616         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8617           Allow NULL as filter-caps (which means "any").
8618
8619 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8620
8621         * docs/libs/gstreamer-libs-sections.txt:
8622         * libs/gst/controller/gst-controller.c:
8623         * libs/gst/controller/gst-controller.h:
8624         * libs/gst/controller/gst-helper.c:
8625           adding more entries to the docs and fix small doc-bugs
8626
8627 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8628
8629         * docs/gst/gstreamer-docs.sgml:
8630         * docs/gst/gstreamer-sections.txt:
8631         * docs/gst/gstreamer.types:
8632         * docs/gst/tmpl/gstbasesink.sgml:
8633         * docs/gst/tmpl/gstbasesrc.sgml:
8634         * docs/gst/tmpl/gstbasetransform.sgml:
8635         * docs/gst/tmpl/gstfakesrc.sgml:
8636         * gst/base/gstcollectpads.c:
8637         * gst/base/gstcollectpads.h:
8638         * libs/gst/controller/gst-controller.c:
8639         * libs/gst/controller/gst-controller.h:
8640         * libs/gst/controller/gst-helper.c:
8641         * libs/gst/controller/gst-interpolation.c:
8642         * libs/gst/controller/lib.c:
8643           added long/short desc for controller docs
8644           added collectpads base class docs
8645           added correct includes to base-class docs
8646
8647 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8648
8649         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8650         (gst_test_mono_source_set_property),
8651         (gst_test_mono_source_class_init), (GST_START_TEST),
8652         (gst_controller_suite):
8653         * docs/gst/gstreamer-docs.sgml:
8654         * docs/gst/gstreamer-sections.txt:
8655         * docs/gst/gstreamer.types:
8656         * docs/libs/gstreamer-libs-docs.sgml:
8657         * docs/libs/gstreamer-libs-sections.txt:
8658         * gst/base/gstadapter.c:
8659         * libs/gst/controller/gst-controller.c:
8660         (gst_controlled_property_new), (gst_controlled_property_free),
8661         (gst_controller_new_valist),
8662         (gst_controller_remove_properties_valist),
8663         (gst_controller_sink_values), (_gst_controller_finalize):
8664         * libs/gst/controller/gst-controller.h:
8665         * libs/gst/controller/gst-helper.c:
8666         (gst_object_control_properties), (gst_object_uncontrol_properties),
8667         (gst_object_get_controller), (gst_object_set_controller),
8668         (gst_object_sink_values), (gst_object_get_value_arrays),
8669         (gst_object_get_value_array):
8670           more tests (and fixes) for the controller
8671           more docs for the controller
8672           integrated companies docs for the adapter 
8673
8674 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8677         (GST_START_TEST), (fakesrc_suite):
8678           add tests for sizetype
8679
8680 2005-08-04  Andy Wingo  <wingo@pobox.com>
8681
8682         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8683         fixes buffer_alloc proxying among other things.
8684
8685         * gst/base/gstbasetransform.c:
8686         * gst/base/gstbasetransform.h:
8687         Revert patch to gstbasetransform from 7-28 removing
8688         delay_configure.
8689
8690         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8691         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8692         Semantics changed, should return not the size of the output buffer
8693         but the byte size of a buffer with a given caps.
8694
8695         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8696         debug object.
8697         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8698         out) are not the pad caps until setcaps finishes.
8699         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8700         not-in-place case as well. Deal with changing from in-place to
8701         not-in-place within calling pad_alloc_buffer. Still a bit
8702         concerned about the overhead here...
8703
8704 2005-08-03  Andy Wingo  <wingo@pobox.com>
8705
8706         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8707         fixating is an error.
8708
8709 2005-08-04  Edward Hervey  <edward@fluendo.com>
8710
8711         * gst/base/gstadapter.h: 
8712         Added gst_adapter_get_type() to the header
8713
8714 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8715
8716         * check/Makefile.am:
8717         * check/gst-libs/controller.c:
8718         * libs/gst/controller/gst-controller.c:
8719         (gst_controller_new_valist):
8720           added check test suite for the controller
8721         * gst/base/gstpushsrc.c:
8722           fixed a doc typo
8723
8724 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * docs/gst/Makefile.am:
8727         * docs/gst/gstreamer-docs.sgml:
8728         * docs/gst/gstreamer-sections.txt:
8729         * docs/gst/gstreamer.types:
8730         * docs/gst/tmpl/gstfakesrc.sgml:
8731         * gst/base/README:
8732         * gst/base/gstbasesink.c:
8733         * gst/base/gstbasesink.h:
8734         * gst/base/gstbasesrc.c:
8735         * gst/base/gstbasesrc.h:
8736         * gst/base/gstbasetransform.c:
8737         * gst/base/gstpushsrc.c:
8738         * gst/base/gstpushsrc.h:
8739           add short/long description docs to base classes
8740           add pushsrc to the docs
8741           remove consolidated doc fragments
8742
8743 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * configure.ac:
8746         * docs/libs/Makefile.am:
8747         * docs/libs/gstreamer-libs-docs.sgml:
8748         * docs/libs/gstreamer-libs-sections.txt:
8749         * docs/libs/gstreamer-libs.types:
8750         * examples/Makefile.am:
8751         * examples/controller/.cvsignore:
8752         * examples/controller/Makefile.am:
8753         * examples/controller/audio-example.c: (main):
8754         * libs/gst/Makefile.am:
8755         * libs/gst/controller/.cvsignore:
8756         * libs/gst/controller/Makefile.am:
8757         * libs/gst/controller/gst-controller.c:
8758         (on_object_controlled_property_changed), (gst_timed_value_compare),
8759         (gst_timed_value_find),
8760         (gst_controlled_property_set_interpolation_mode),
8761         (gst_controlled_property_new), (gst_controlled_property_free),
8762         (gst_controller_find_controlled_property),
8763         (gst_controller_new_valist), (gst_controller_new),
8764         (gst_controller_remove_properties_valist),
8765         (gst_controller_remove_properties), (gst_controller_set),
8766         (gst_controller_set_from_list), (gst_controller_unset),
8767         (gst_controller_get), (gst_controller_get_all),
8768         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8769         (gst_controller_get_value_array),
8770         (gst_controller_set_interpolation_mode),
8771         (_gst_controller_finalize), (_gst_controller_init),
8772         (_gst_controller_class_init), (gst_controller_get_type):
8773         * libs/gst/controller/gst-controller.h:
8774         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8775         (g_object_uncontrol_properties), (g_object_get_controller),
8776         (g_object_set_controller), (g_object_sink_values),
8777         (g_object_get_value_arrays), (g_object_get_value_array):
8778         * libs/gst/controller/gst-interpolation.c:
8779         (gst_controlled_property_find_timed_value_node),
8780         (interpolate_none_get), (interpolate_trigger_get),
8781         (interpolate_trigger_get_value_array):
8782         * libs/gst/controller/lib.c: (gst_controller_init):
8783         * pkgconfig/Makefile.am:
8784         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8785         * pkgconfig/gstreamer-control.pc.in:
8786         * testsuite/Makefile.am:
8787         * testsuite/controller/.cvsignore:
8788         * testsuite/controller/Makefile.am:
8789         * testsuite/controller/interpolator.c: (main):
8790           added controller code
8791           removed dparam pc files
8792
8793 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8794         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8795         (gst_collectpads_stop):
8796           Broadcast the condition when shutting down, to make sure we wake all
8797           threads up. Shut down pads on finalize, for safety.
8798
8799 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8800         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8801         (gst_base_transform_handle_buffer),
8802         (gst_base_transform_change_state):
8803           Handle PAUSED->READY->PAUSED transition after negotiation
8804           occurred already.
8805         * gst/gstmessage.c: (gst_message_init):
8806           Extra piece of debug for new messages.
8807
8808 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8809
8810         * configure.ac:
8811         * docs/gst/tmpl/gstbasesrc.sgml:
8812         * docs/gst/tmpl/gstelement.sgml:
8813         * docs/gst/tmpl/gstevent.sgml:
8814         * docs/gst/tmpl/gstfakesrc.sgml:
8815         * docs/gst/tmpl/gstformat.sgml:
8816         * docs/gst/tmpl/gstghostpad.sgml:
8817         * docs/gst/tmpl/gstpad.sgml:
8818         * docs/gst/tmpl/gstquery.sgml:
8819         * docs/gst/tmpl/gststructure.sgml:
8820         * docs/gst/tmpl/gsttaglist.sgml:
8821         * docs/gst/tmpl/gstvalue.sgml:
8822         * docs/libs/gstreamer-libs-docs.sgml:
8823         * docs/libs/gstreamer-libs-sections.txt:
8824         * docs/libs/gstreamer-libs.types:
8825         * libs/gst/Makefile.am:
8826         * libs/gst/control/.cvsignore:
8827         * libs/gst/control/Makefile.am:
8828         * libs/gst/control/control.c:
8829         * libs/gst/control/control.h:
8830         * libs/gst/control/dparam.c:
8831         * libs/gst/control/dparam.h:
8832         * libs/gst/control/dparam_smooth.c:
8833         * libs/gst/control/dparam_smooth.h:
8834         * libs/gst/control/dparamcommon.h:
8835         * libs/gst/control/dparammanager.c:
8836         * libs/gst/control/dparammanager.h:
8837         * libs/gst/control/dplinearinterp.c:
8838         * libs/gst/control/dplinearinterp.h:
8839         * libs/gst/control/unitconvert.c:
8840         * libs/gst/control/unitconvert.h:
8841         * testsuite/Makefile.am:
8842         * testsuite/dynparams/.cvsignore:
8843         * testsuite/dynparams/Makefile.am:
8844         * testsuite/dynparams/dparamstest.c:
8845         * tools/Makefile.am:
8846         * tools/gst-inspect.c: (print_element_info), (main):
8847         * tools/gst-xmlinspect.c: (print_element_info), (main):
8848           deactivate and remove dparams (libgstcontrol)
8849
8850 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8851
8852         * gst/elements/gsttypefindelement.c:
8853         (gst_type_find_element_have_type), (gst_type_find_element_init),
8854         (stop_typefinding), (gst_type_find_element_handle_event),
8855         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8856         * gst/elements/gsttypefindelement.h:
8857           Set caps on all outgoing buffers, not just the first one.
8858
8859 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8860
8861         * gst/elements/gsttypefindelement.c:
8862         (gst_type_find_element_have_type),
8863         (gst_type_find_element_check_set_buffer_caps),
8864         (gst_type_find_element_init), (stop_typefinding),
8865         (gst_type_find_element_handle_event),
8866         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8867         * gst/elements/gsttypefindelement.h:
8868           Set caps on first outgoing buffer when we've found the type.
8869
8870 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8871
8872         * docs/gst/gstreamer-docs.sgml:
8873         * docs/gst/gstreamer-sections.txt:
8874         * docs/gst/tmpl/gstscheduler.sgml:
8875         * docs/gst/tmpl/gstschedulerfactory.sgml:
8876           Remove some old cruft from docs.
8877
8878 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8879
8880         * gst/gstpad.h:
8881           Fix inline docs for GstPadLinkReturn.
8882           
8883         * gst/gststructure.c: (gst_structure_has_name):
8884         * gst/gststructure.h:
8885         * docs/gst/gstreamer-sections.txt:
8886           New API: gst_structure_has_name().
8887
8888 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * configure.ac:
8891           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8892           and _LARGEFILE_SOURCE in config.h as required. Do not 
8893           export those flags in our .pc files any longer (#142209).
8894
8895           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8896
8897         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8898         (gst_file_sink_do_seek), (gst_file_sink_event),
8899         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8900           Redo seek/tell calls with large file support in mind; add some
8901           debugging messages; add log message that tells us when large
8902           file support is unavailable or not enabled for some reason.
8903
8904         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8905           Add log message that tells us when large file support 
8906           is unavailable or not enabled for some reason.
8907
8908 2005-07-29  Wim Taymans  <wim@fluendo.com>
8909
8910         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8911         Added test for removing an element with ghostpad from a bin.
8912         Fixed test as current implementation does the right thing.
8913
8914         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8915         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8916         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8917         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8918         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8919         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8920         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8921         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8922         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8923         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8924         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8925         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8926         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8927         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8928         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8929         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8930         * gst/gstghostpad.h:
8931         Clean up ghostpads, remove properties for internal stuff.
8932         Make threadsafe.
8933         Fix refcounting.
8934         Prepare for switching targets, not all use cases work yet.
8935
8936 2005-07-29  Wim Taymans  <wim@fluendo.com>
8937
8938         * docs/design/part-gstghostpad.txt:
8939         Small update.
8940
8941         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8942         (gst_bin_remove_func):
8943         Unlinking pads while holding the bin LOCK is not a good
8944         idea.
8945
8946         * gst/gstpad.c: (gst_pad_class_init),
8947         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8948         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8949         No prob setting template after creating the pad.
8950
8951 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8952
8953         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8954         (gst_bus_peek), (gst_bus_source_dispatch),
8955         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8956         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8957           gst_bus_poll may be called from other threads. Handle
8958           this nicely by not making poll_data disappear off the
8959           stack once gst_bus_poll returns.
8960           gst_bus_peek now increments the refcount on the returned
8961           message.
8962
8963 2005-07-29  Wim Taymans  <wim@fluendo.com>
8964
8965         * docs/design/part-gstghostpad.txt:
8966         Overview of current GhostPad datastructures and use
8967         cases for changing the target.
8968
8969 2005-07-28  Wim Taymans  <wim@fluendo.com>
8970
8971         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8972         Added checks for hierarchy consistency whan adding linked
8973         elements to bins.
8974
8975         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8976         Added check to test element scheduling without bin/pipeline.
8977
8978         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8979         First add elements to bin, then link.
8980         
8981         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8982         (gst_bin_remove_func):
8983         Unlink pads from elements added/removed from bin to maintain
8984         hierarchy consistency.
8985
8986 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8987
8988         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8989         (gst_base_transform_handle_buffer):
8990         * gst/base/gstbasetransform.h:
8991           Remove broken delay_configure (fixes renegotiation of software
8992           scaling pipelines); remove some leftover printf()s.
8993
8994 2005-07-28  Wim Taymans  <wim@fluendo.com>
8995
8996         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8997         Added some more tests for wrong hierarchy
8998
8999         * docs/design/part-overview.txt:
9000         Some updates.
9001
9002         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9003         Cleanups.
9004
9005         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9006         (gst_element_dispose):
9007         Some more cleanups.
9008
9009         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9010         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9011         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9012         (gst_pad_set_caps), (gst_pad_send_event):
9013         Check for correct hierarchy when linking pads. Moving to
9014         strict requirement for ghostpads when linking elements in
9015         different bins.
9016
9017         * gst/gstpad.h:
9018         Clean ups. Added WRONG_HIERARCHY return value.
9019
9020 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9021
9022         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9023           Better debug if no transform is possible.
9024
9025 2005-07-27  Wim Taymans  <wim@fluendo.com>
9026
9027         * docs/random/wtay/network-transp:
9028         Some old doc I had.
9029
9030 2005-07-27  Wim Taymans  <wim@fluendo.com>
9031
9032         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9033         (gst_dp_event_from_packet):
9034         Fix serialization of seek events.
9035
9036 2005-07-27  Wim Taymans  <wim@fluendo.com>
9037
9038         * check/gst-libs/gdp.c: (GST_START_TEST):
9039         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9040         Fix compilation and fix event serialization.
9041
9042 2005-07-27  Wim Taymans  <wim@fluendo.com>
9043
9044         * CHANGES-0.9:
9045         * docs/design/part-TODO.txt:
9046         * docs/design/part-events.txt:
9047         Some docs updates
9048
9049         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9050         (gst_base_sink_event), (gst_base_sink_do_sync),
9051         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9052         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9053         (gst_base_src_do_seek), (gst_base_src_event_handler),
9054         (gst_base_src_loop):
9055         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9056         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9057         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9058         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9059         (gst_base_transform_set_passthrough),
9060         (gst_base_transform_is_passthrough):
9061         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9062         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9063         Event updates.
9064
9065         * gst/gstbuffer.h:
9066         Use faster casts.
9067
9068         * gst/gstelement.c: (gst_element_seek):
9069         * gst/gstelement.h:
9070         Update gst_element_seek.
9071
9072         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9073         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9074         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9075         (gst_event_new_eos), (gst_event_new_newsegment),
9076         (gst_event_parse_newsegment), (gst_event_new_tag),
9077         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9078         (gst_event_parse_qos), (gst_event_new_seek),
9079         (gst_event_parse_seek), (gst_event_new_navigation):
9080         * gst/gstevent.h:
9081         Make GstEvent use GstStructure. Add parsing code, make sure the
9082         API is sufficiently generic.
9083         Mark possible directions of events and serialization.
9084
9085         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9086         (_gst_message_copy), (gst_message_new_segment_start),
9087         (gst_message_new_segment_done), (gst_message_new_custom),
9088         (gst_message_parse_segment_start),
9089         (gst_message_parse_segment_done):
9090         Small cleanups.
9091
9092         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9093         (gst_pad_set_caps), (gst_pad_send_event):
9094         Update for new events. 
9095         Catch events sent in wrong directions.
9096
9097         * gst/gstqueue.c: (gst_queue_link_src),
9098         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9099         (gst_queue_handle_src_query):
9100         Event updates.
9101
9102         * gst/gsttag.c:
9103         * gst/gsttag.h:
9104         Remove event code from this file.
9105
9106         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9107         (gst_dp_event_from_packet):
9108         Event updates.
9109
9110 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9111
9112         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9113         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9114         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9115           Make debugging actually useful.
9116
9117 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9118
9119         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9120         (gst_pad_fixate_caps):
9121           Implement default fixation once again, so that gst_pad_fixate()
9122           actually does anything at all. This probably needs to be some
9123           sort of a last resort, and use profile-based fixation first, but
9124           since that doesn't exist yet, this is the best we have. Fixes
9125           visualization in Totem.
9126
9127 2005-07-22  Wim Taymans  <wim@fluendo.com>
9128
9129         * docs/design/part-events.txt:
9130         Small update.
9131
9132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9133         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9134         (gst_base_sink_activate_pull):
9135         Some more comments.
9136
9137         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9138         (gst_fake_src_create):
9139         Fix handoff marshall.
9140
9141         * gst/elements/gstidentity.c: (gst_identity_class_init),
9142         (gst_identity_transform_ip):
9143         We're a real inplace element.
9144
9145         * gst/gstbus.c: (gst_bus_post):
9146         Added some comments.
9147
9148         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9149         * tests/muxing/case1.c: (main):
9150         * tests/sched/dynamic-pipeline.c: (main):
9151         * tests/sched/interrupt1.c: (main):
9152         * tests/sched/interrupt2.c: (main):
9153         * tests/sched/interrupt3.c: (main):
9154         * tests/sched/runxml.c: (main):
9155         * tests/sched/sched-stress.c: (main):
9156         * tests/seeking/seeking1.c: (event_received), (main):
9157         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9158         (main):
9159         * tests/threadstate/threadstate3.c: (main):
9160         * tests/threadstate/threadstate4.c: (main):
9161         * tests/threadstate/threadstate5.c: (main):
9162         Fix the tests.
9163
9164 2005-07-21  Wim Taymans  <wim@fluendo.com>
9165
9166         * docs/design/part-seeking.txt:
9167         Some small additions.
9168
9169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9170         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9171         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9172         * gst/base/gstbasesink.h:
9173         discont values are gint64, handle the math correctly.
9174
9175         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9176         Make the basesrc report error if the source pad is not linked.
9177
9178         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9179         (gst_queue_loop), (gst_queue_handle_src_query),
9180         (gst_queue_src_activate_push):
9181         Make queue collect data even if the srcpad is not linked.
9182         Start pushing out data as soon as it is linked.
9183
9184         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9185         * gst/gstutils.h:
9186         Added gst_flow_get_name() to ease error reporting.
9187
9188 2005-07-20  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/gstmessage.c: (gst_message_new_segment_start),
9191         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9192         (gst_message_parse_segment_done):
9193         * gst/gstmessage.h:
9194         Added a bunch of messages for advanced seeking.
9195
9196         * gst/parse/grammar.y:
9197         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9198         (gst_dpman_state_changed):
9199         Fix some new-pad -> pad-added signals
9200
9201 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9202
9203         * docs/manual/appendix-porting.xml:
9204         * docs/pwg/appendix-porting.xml:
9205           Document new-pad/state-change signal renames and the FixedList
9206           type rename.
9207
9208 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9209
9210         * docs/manual/advanced-autoplugging.xml:
9211         * docs/manual/basics-helloworld.xml:
9212         * docs/manual/basics-pads.xml:
9213         * docs/random/ds/0.9-suggested-changes:
9214         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9215         * gst/gstelement.h:
9216         * gst/gstevent.h:
9217         * gst/gstformat.h:
9218         * gst/gstquery.h:
9219         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9220         (gst_structure_parse_array), (gst_structure_parse_value):
9221         * gst/gstvalue.c: (gst_type_is_fixed),
9222         (gst_value_list_prepend_value), (gst_value_list_append_value),
9223         (gst_value_list_get_size), (gst_value_list_get_value),
9224         (gst_value_transform_array_string), (gst_value_serialize_array),
9225         (gst_value_deserialize_array), (gst_value_intersect_array),
9226         (gst_value_is_fixed), (_gst_value_initialize):
9227         * gst/gstvalue.h:
9228           GstElement::new-pad -> pad-added, GstElement::state-change ->
9229           state-changed, GstValueFixedList -> GstValueArray, add format and
9230           flags as their own arguments in gst_element_seek() (should improve
9231           "bindeability"), remove function generators since they don't work
9232           under a whole bunch of compilers (they were deprecated already
9233           anyway).
9234
9235 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9236
9237         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9238         (_gst_debug_register_funcptr):
9239         * gst/gstinfo.h:
9240           Fix illegal cast on some platforms (#309253).
9241
9242 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9243
9244         * gst/gstmessage.c: (gst_message_new_custom):
9245         * gst/gstmessage.h:
9246           Add _new_custom, make _new_application a macro to _new_custom.
9247
9248 2005-07-20  Wim Taymans  <wim@fluendo.com>
9249
9250         * gst/base/gstbasesrc.c: (gst_base_src_init),
9251         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9252         * gst/base/gstbasesrc.h:
9253         Add a gboolean to decide when to push out a discont.
9254
9255         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9256         (gst_queue_loop), (gst_queue_handle_src_query),
9257         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9258         (gst_queue_set_property), (gst_queue_get_property):
9259         Some cleanups.
9260
9261         * tests/threadstate/threadstate1.c: (main):
9262         Make a thread test compile and run... very silly..
9263
9264
9265 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9266
9267         * docs/manual/appendix-porting.xml:
9268           Mention removal of libgstgconf-0.9.la and existence of gconf
9269           elements.
9270
9271 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9272
9273         * docs/pwg/advanced-clock.xml:
9274         * docs/pwg/appendix-porting.xml:
9275         * docs/pwg/intro-preface.xml:
9276         * docs/pwg/other-base.xml:
9277         * docs/pwg/other-manager.xml:
9278         * docs/pwg/other-nton.xml:
9279         * docs/pwg/other-ntoone.xml:
9280         * docs/pwg/other-oneton.xml:
9281         * docs/pwg/pwg.xml:
9282           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9283           demuxer), remove n-to-n (was never written), fix some code examples
9284           and links and update the porting section to include all this.
9285
9286 2005-07-19  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9289         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9290         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9291         (gst_queue_src_activate_push), (gst_queue_change_state),
9292         (gst_queue_get_property):
9293         * gst/gstqueue.h:
9294         Propagate GstFlowReturn more intelligently upstream and output
9295         an ERROR/EOS when streaming stopped due to fatal error.
9296
9297 2005-07-19  Wim Taymans  <wim@fluendo.com>
9298
9299         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9300         Don't block forever for the state change to complete, the
9301         pipeline already did with a sensible timeout.
9302
9303 2005-07-19  Wim Taymans  <wim@fluendo.com>
9304
9305         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9306         Make sure we never call the create function is we
9307         got deactivated.
9308
9309 2005-07-19  Andy Wingo  <wingo@pobox.com>
9310
9311         * gst/parse/parse.l: Attempt to solve bug #172815.
9312
9313 2005-07-19  Wim Taymans  <wim@fluendo.com>
9314
9315         * docs/design/part-clocks.txt:
9316         * docs/design/part-events.txt:
9317         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9318         Small docs updates.
9319         Only update the seeking values when we are not
9320         busy streaming.
9321
9322 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9323
9324         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9325           Oops, ignore the result of gst_pad_push_event here.
9326
9327 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9328
9329         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9330         (gst_base_src_activate_push):
9331           Send discont event from the loop function, as pads
9332           aren't activated yet in the activate_push handler.
9333
9334         * gst/gstbin.c: (bin_bus_handler):
9335           Don't leak element name.
9336
9337 2005-07-18  Andy Wingo  <wingo@pobox.com>
9338
9339         * configure.ac: Use AS_LIBTOOL_TAGS.
9340
9341 2005-07-18  Wim Taymans  <wim@fluendo.com>
9342
9343         * docs/gst/gstreamer.types:
9344         Remove deleted types.
9345
9346 2005-07-18  Wim Taymans  <wim@fluendo.com>
9347
9348         * check/elements/gstfakesrc.c: (GST_START_TEST):
9349         * configure.ac:
9350         * gst/Makefile.am:
9351         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9352         (init_popt_callback):
9353         * gst/gst.h:
9354         * gst/gst_private.h:
9355         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9356         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9357         * gst/gstbin.h:
9358         * gst/gstbus.h:
9359         * gst/gstconfig.h.in:
9360         * gst/gstelement.c: (gst_element_class_init),
9361         (gst_element_set_base_time), (gst_element_get_base_time),
9362         (iterator_fold_with_resync), (gst_element_change_state),
9363         (gst_element_dispose), (gst_element_get_bus):
9364         * gst/gstelement.h:
9365         * gst/gstelementfactory.h:
9366         * gst/gsterror.c: (_gst_core_errors_init):
9367         * gst/gsterror.h:
9368         * gst/gstevent.h:
9369         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9370         * gst/gstindex.c:
9371         * gst/gstinfo.c: (_gst_debug_init):
9372         * gst/gstmessage.c: (_gst_message_copy):
9373         * gst/gstmessage.h:
9374         * gst/gstminiobject.h:
9375         * gst/gstobject.c:
9376         * gst/gstobject.h:
9377         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9378         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9379         * gst/gstpad.h:
9380         * gst/gstparse.h:
9381         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9382         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9383         (gst_pipeline_get_last_stream_time):
9384         * gst/gstpipeline.h:
9385         * gst/gstpluginfeature.h:
9386         * gst/gstquery.h:
9387         * gst/gstscheduler.c:
9388         * gst/gstscheduler.h:
9389         * gst/gststructure.h:
9390         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9391         (gst_task_finalize), (gst_task_func), (gst_task_create),
9392         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9393         (gst_task_stop), (gst_task_pause):
9394         * gst/gsttask.h:
9395         * gst/gsttypefind.h:
9396         * gst/gsttypes.h:
9397         * gst/registries/gstlibxmlregistry.c: (load_feature),
9398         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9399         * gst/registries/gstxmlregistry.c:
9400         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9401         * gst/schedulers/threadscheduler.c:
9402         * libs/gst/control/dparammanager.h:
9403         * tools/gst-inspect.c: (print_element_list),
9404         (print_plugin_features), (print_element_features):
9405         * tools/gst-xmlinspect.c: (print_element_list),
9406         (print_plugin_info), (main):
9407         Removed plugable schedulers.
9408         Removed Scheduler/Manager from elements.
9409         Removed gsttypes.h, rearranged includes.
9410         Removed dependency pad<->element, element<>pipeline, and
9411         various others,  fix includes.
9412         implement gst_pad_get_parent() with gst_object_get_parent()
9413         Make GstTask sefcontained.
9414         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9415         timeout.
9416         Fix endless loop in iterator_fold_with_resync.
9417
9418
9419 2005-07-18  Wim Taymans  <wim@fluendo.com>
9420
9421         * gst/Makefile.am:
9422         * gst/gstarch.h:
9423         Remove old file.
9424
9425 2005-07-18  Wim Taymans  <wim@fluendo.com>
9426
9427         * gst/Makefile.am:
9428         No more cothreads.h
9429
9430 2005-07-18  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/cothreads.c:
9433         * gst/cothreads.h:
9434         Let's remove these.
9435
9436 2005-07-18  Wim Taymans  <wim@fluendo.com>
9437
9438         * docs/design/part-dynamic.txt:
9439         * docs/design/part-events.txt:
9440         * docs/design/part-seeking.txt:
9441         Some more docs in the works.
9442
9443         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9444         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9445         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9446         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9447         (gst_base_transform_handle_buffer),
9448         (gst_base_transform_sink_activate_push),
9449         (gst_base_transform_src_activate_pull),
9450         (gst_base_transform_set_passthrough),
9451         (gst_base_transform_is_passthrough):
9452         Refcounting fixes.
9453
9454         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9455         Cleanups.
9456
9457         * gst/gstevent.c: (gst_event_finalize):
9458         Set SRC to NULL.
9459
9460         * gst/gstutils.c: (gst_element_unlink),
9461         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9462         (gst_pad_proxy_setcaps):
9463         * gst/gstutils.h:
9464         Add _get_parent_element() to get a pads parent as an element.
9465
9466 2005-07-18  Wim Taymans  <wim@fluendo.com>
9467
9468         * check/gst/gstbin.c: (GST_START_TEST):
9469         Remove bogus test.
9470
9471 2005-07-18  Wim Taymans  <wim@fluendo.com>
9472
9473         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9474         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9475         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9476         (gst_base_sink_event), (gst_base_sink_do_sync),
9477         (gst_base_sink_chain), (gst_base_sink_loop),
9478         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9479         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9480         Refcounting fixes.
9481         Fix logic for returning ASYNC when not prerolled.
9482
9483 2005-07-18  Wim Taymans  <wim@fluendo.com>
9484
9485         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9486         Fix nasty refcount bug.
9487
9488 2005-07-16 Philippe Khalaf <burger@speedy.org>
9489
9490         * gst/elements/gstfdsrc.c:
9491         * gst/elements/gstfdsrc.h:
9492         * gst/elements/gstelements.c:
9493         * gst/elements/Makefile.am:
9494         Ported fdsrc to 0.9.
9495
9496 2005-07-16  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9499         (gst_base_sink_do_sync):
9500         Fix compile error.
9501
9502 2005-07-16  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9505         (gst_base_sink_event), (gst_base_sink_get_times),
9506         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9507         * gst/base/gstbasesink.h:
9508         Store and use discont values when syncing buffers as described
9509         in design docs.
9510         
9511         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9512         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9513         (gst_base_src_activate_push):
9514         Push discont event when starting.
9515
9516         * gst/elements/gstidentity.c: (gst_identity_transform):
9517         Small cleanups.
9518
9519         * gst/gstbin.c: (gst_bin_change_state):
9520         Small cleanups in base_time  distribution.
9521
9522         * gst/gstelement.c: (gst_element_set_base_time),
9523         (gst_element_get_base_time), (gst_element_change_state):
9524         * gst/gstelement.h:
9525         Added methods for the base_time of the element.
9526         Some MT fixes.
9527
9528         * gst/gstpipeline.c: (gst_pipeline_send_event),
9529         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9530         (gst_pipeline_get_last_stream_time):
9531         * gst/gstpipeline.h:
9532         MT fixes.
9533         Handle seeking as described in design doc, remove stream_time
9534         hack.
9535         Cleanups clock and stream_time selection code. Added accessors
9536         for the stream_time.
9537         
9538
9539 2005-07-16  Andy Wingo  <wingo@pobox.com>
9540
9541         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9542         (#305291).
9543
9544 2005-07-16  Wim Taymans  <wim@fluendo.com>
9545
9546         * check/gst/gstbin.c: (GST_START_TEST):
9547         Make elements silent as the deep_notify refs the
9548         parent, which might make the test fail.
9549
9550         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9551         Don't hold the lock for too long.
9552
9553 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9556           Don't unref the caps we passed to gst_caps_make_writable() after
9557           passing them. gst_caps_make_writable() will do that for us.
9558
9559 2005-07-15  Andy Wingo  <wingo@pobox.com>
9560
9561         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9562         (#157311).
9563
9564         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9565         own marshalling function for the handoff signal. Properly type the
9566         buffer as a buffer. Fixes some warnings. Should do a more general
9567         solution.
9568         (gst_identity_class_init): Plug into the right marshaller.
9569
9570 2005-07-15  Wim Taymans  <wim@fluendo.com>
9571
9572         * docs/design/part-TODO.txt:
9573         * docs/design/part-clocks.txt:
9574         * docs/design/part-element-sink.txt:
9575         * docs/design/part-events.txt:
9576         * docs/design/part-gstpipeline.txt:
9577         Updated docs, mostly DISCONT related.
9578
9579 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9580
9581         * docs/pwg/building-pads.xml:
9582           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9583
9584 2005-07-15  Andy Wingo  <wingo@pobox.com>
9585
9586         * tools/gst-typefind.c: Update, add copyright block.
9587
9588         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9589         Normalize and truncate caps before fixation.
9590
9591         * gst/gstcaps.h:
9592         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9593         discards all but the first structure from its argument.
9594
9595 2005-07-15  Wim Taymans  <wim@fluendo.com>
9596
9597         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9598         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9599         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9600         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9601         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9602         (gst_base_transform_chain), (gst_base_transform_change_state),
9603         (gst_base_transform_set_passthrough),
9604         (gst_base_transform_is_passthrough):
9605         * gst/base/gstbasetransform.h:
9606         Make passthrough work using the bufferpools.
9607         Changed API a bit, subclasses have to write into a buffer
9608         provided by the base class.
9609         More debug info in nego functions.
9610         
9611         * gst/elements/gstidentity.c: (gst_identity_init),
9612         (gst_identity_transform):
9613         Port to new base class.
9614
9615 2005-07-15  Wim Taymans  <wim@fluendo.com>
9616
9617         * gst/gstmessage.c: (gst_message_new_state_changed):
9618         * tools/gst-launch.c: (event_loop), (main):
9619         Totally dump messages in -launch with the -m option.
9620         Fix message name for State messages,
9621
9622 2005-07-14  Wim Taymans  <wim@fluendo.com>
9623
9624         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9625         Post error messages on errors.
9626
9627 2005-07-14  Wim Taymans  <wim@fluendo.com>
9628
9629         * gst/gstcaps.c: (gst_caps_do_simplify):
9630         Remove debug info.
9631
9632         * gst/gsterror.h:
9633         Define error for stream stopped.
9634
9635         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9636         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9637         Do proper return values.
9638
9639         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9640         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9641         (gst_pad_get_range):
9642         Better return values.
9643
9644         * gst/gstpad.h:
9645         Reorganise return values, add macro to check for fatal errors.
9646
9647         * gst/gstqueue.c: (gst_queue_chain):
9648         Return proper GstFlowReturn values,
9649
9650 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * docs/gst/gstreamer-sections.txt:
9653         * docs/gst/gstreamer.types:
9654         * docs/gst/tmpl/gst.sgml:
9655         * docs/gst/tmpl/gstbasesink.sgml:
9656         * docs/gst/tmpl/gstbasesrc.sgml:
9657         * docs/gst/tmpl/gstbasetransform.sgml:
9658         * docs/gst/tmpl/gstbin.sgml:
9659         * docs/gst/tmpl/gstbuffer.sgml:
9660         * docs/gst/tmpl/gstcaps.sgml:
9661         * docs/gst/tmpl/gstclock.sgml:
9662         * docs/gst/tmpl/gstcompat.sgml:
9663         * docs/gst/tmpl/gstconfig.sgml:
9664         * docs/gst/tmpl/gstelement.sgml:
9665         * docs/gst/tmpl/gstelementdetails.sgml:
9666         * docs/gst/tmpl/gstelementfactory.sgml:
9667         * docs/gst/tmpl/gstenumtypes.sgml:
9668         * docs/gst/tmpl/gsterror.sgml:
9669         * docs/gst/tmpl/gstevent.sgml:
9670         * docs/gst/tmpl/gstfakesink.sgml:
9671         * docs/gst/tmpl/gstfakesrc.sgml:
9672         * docs/gst/tmpl/gstfilesink.sgml:
9673         * docs/gst/tmpl/gstfilesrc.sgml:
9674         * docs/gst/tmpl/gstfilter.sgml:
9675         * docs/gst/tmpl/gstformat.sgml:
9676         * docs/gst/tmpl/gstghostpad.sgml:
9677         * docs/gst/tmpl/gstimplementsinterface.sgml:
9678         * docs/gst/tmpl/gstindex.sgml:
9679         * docs/gst/tmpl/gstindexfactory.sgml:
9680         * docs/gst/tmpl/gstinfo.sgml:
9681         * docs/gst/tmpl/gstiterator.sgml:
9682         * docs/gst/tmpl/gstmacros.sgml:
9683         * docs/gst/tmpl/gstmemchunk.sgml:
9684         * docs/gst/tmpl/gstminiobject.sgml:
9685         * docs/gst/tmpl/gstobject.sgml:
9686         * docs/gst/tmpl/gstpad.sgml:
9687         * docs/gst/tmpl/gstpadtemplate.sgml:
9688         * docs/gst/tmpl/gstparse.sgml:
9689         * docs/gst/tmpl/gstpipeline.sgml:
9690         * docs/gst/tmpl/gstplugin.sgml:
9691         * docs/gst/tmpl/gstpluginfeature.sgml:
9692         * docs/gst/tmpl/gstquery.sgml:
9693         * docs/gst/tmpl/gstqueue.sgml:
9694         * docs/gst/tmpl/gstregistry.sgml:
9695         * docs/gst/tmpl/gstregistrypool.sgml:
9696         * docs/gst/tmpl/gstscheduler.sgml:
9697         * docs/gst/tmpl/gstschedulerfactory.sgml:
9698         * docs/gst/tmpl/gststructure.sgml:
9699         * docs/gst/tmpl/gstsystemclock.sgml:
9700         * docs/gst/tmpl/gsttaglist.sgml:
9701         * docs/gst/tmpl/gsttagsetter.sgml:
9702         * docs/gst/tmpl/gsttrace.sgml:
9703         * docs/gst/tmpl/gsttrashstack.sgml:
9704         * docs/gst/tmpl/gsttypefind.sgml:
9705         * docs/gst/tmpl/gsttypefindfactory.sgml:
9706         * docs/gst/tmpl/gsttypes.sgml:
9707         * docs/gst/tmpl/gsturihandler.sgml:
9708         * docs/gst/tmpl/gsturitype.sgml:
9709         * docs/gst/tmpl/gstutils.sgml:
9710         * docs/gst/tmpl/gstvalue.sgml:
9711         * docs/gst/tmpl/gstversion.sgml:
9712         * docs/gst/tmpl/gstxml.sgml:
9713         * docs/libs/tmpl/gstcontrol.sgml:
9714         * docs/libs/tmpl/gstdataprotocol.sgml:
9715         * docs/libs/tmpl/gstdparam.sgml:
9716         * docs/libs/tmpl/gstdplinint.sgml:
9717         * docs/libs/tmpl/gstdpman.sgml:
9718         * docs/libs/tmpl/gstdpsmooth.sgml:
9719         * docs/libs/tmpl/gstgetbits.sgml:
9720         * docs/libs/tmpl/gstunitconvert.sgml:
9721         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9722         (gst_push_src_base_init), (gst_push_src_class_init),
9723         (gst_push_src_init), (gst_push_src_create):
9724         * gst/base/gstpushsrc.h:
9725         * gst/elements/gstelements.c:
9726         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9727         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9728         (gst_fake_sink_init), (gst_fake_sink_set_property),
9729         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9730         (gst_fake_sink_event), (gst_fake_sink_preroll),
9731         (gst_fake_sink_render), (gst_fake_sink_change_state):
9732         * gst/elements/gstfakesink.h:
9733         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9734         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9735         (gst_fake_src_base_init), (gst_fake_src_class_init),
9736         (gst_fake_src_init), (gst_fake_src_event_handler),
9737         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9738         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9739         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9740         (gst_fake_src_create_buffer), (gst_fake_src_create),
9741         (gst_fake_src_start), (gst_fake_src_stop):
9742         * gst/elements/gstfakesrc.h:
9743         * gst/elements/gstfilesink.c: (_do_init),
9744         (gst_file_sink_base_init), (gst_file_sink_class_init),
9745         (gst_file_sink_init), (gst_file_sink_dispose),
9746         (gst_file_sink_set_location), (gst_file_sink_set_property),
9747         (gst_file_sink_get_property), (gst_file_sink_open_file),
9748         (gst_file_sink_close_file), (gst_file_sink_query),
9749         (gst_file_sink_event), (gst_file_sink_render),
9750         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9751         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9752         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9753         * gst/elements/gstfilesink.h:
9754         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9755         (gst_file_src_class_init), (gst_file_src_init),
9756         (gst_file_src_finalize), (gst_file_src_set_location),
9757         (gst_file_src_set_property), (gst_file_src_get_property),
9758         (gst_file_src_map_region), (gst_file_src_map_small_region),
9759         (gst_file_src_create_mmap), (gst_file_src_create_read),
9760         (gst_file_src_create), (gst_file_src_is_seekable),
9761         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9762         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9763         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9764         (gst_file_src_uri_handler_init):
9765         * gst/elements/gstfilesrc.h:
9766           more autistic cleanliness in functions/names/defines
9767
9768 2005-07-13  Andy Wingo  <wingo@pobox.com>
9769
9770         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9771         source couldn't negotiate.
9772
9773         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9774         connections again.
9775
9776         * gst/gstutils.h:
9777         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9778         function. I am channeling Hades. Put your boots on suckers!!!
9779
9780 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9781
9782         * testsuite/caps/Makefile.am:
9783         * testsuite/caps/value_compare.c:
9784         * testsuite/caps/value_intersect.c:
9785         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9786           move two testsuite apps over to the check dir
9787
9788 2005-07-12  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9791         Added more debug info in the negotiate process.
9792
9793         * gst/gstmessage.h:
9794         Prepare for segment playback.
9795
9796         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9797         Better debugging.
9798
9799         * gst/gstutils.c:
9800         Some more docs.
9801
9802         * tools/gst-launch.c: (main):
9803         NULL pipeline on errors.
9804
9805 2005-07-12  Andy Wingo  <wingo@pobox.com>
9806
9807         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9808         not it comes from a malloc region. Make sure our copy gets freed.
9809
9810 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9813         * check/gst/gstmessage.c: (GST_START_TEST):
9814         * check/gst/gststructure.c: (GST_START_TEST),
9815         (gst_structure_suite), (main):
9816           more testing
9817         * gst/gstelement.c: (gst_element_message_full):
9818           clean up GError and debug string now that they get copied
9819         * gst/gstmessage.c: (gst_message_new_error),
9820         (gst_message_new_warning), (gst_message_parse_error),
9821         (gst_message_parse_warning):
9822           use GST_TYPE_G_ERROR for structure_new, and take copies of
9823           arguments, so that we don't mess up refcounting
9824
9825 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * check/Makefile.am:
9828           add per-test valgrind targets
9829         * check/gst-libs/gdp.c: (GST_START_TEST),
9830         (gst_data_protocol_suite), (main):
9831           clean up
9832
9833 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * check/Makefile.am:
9836           instate more valgrindable tests
9837         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9838         (GST_START_TEST), (fakesrc_suite):
9839         * check/gst/gstpad.c: (GST_START_TEST):
9840         * check/gst/gststructure.c: (GST_START_TEST):
9841           fix test leaks
9842         * docs/gst/tmpl/gstminiobject.sgml:
9843         * gst/gstpad.c: (gst_pad_finalize):
9844           fix the static mutex leak
9845
9846 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9847
9848         * check/Makefile.am:
9849           add two more tests for valgrinding
9850         * check/gst/gstvalue.c: (GST_START_TEST):
9851           test refcount of deserialized buffer, found a leak
9852         * docs/gst/gstreamer-docs.sgml:
9853         * docs/gst/gstreamer-sections.txt:
9854         * docs/gst/gstreamer.types:
9855         * docs/gst/tmpl/gstminiobject.sgml:
9856           add miniobject to docs
9857         * gst/gstminiobject.c:
9858           add some docs
9859         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9860         (gst_string_unwrap):
9861           fix a hard-to-find invalid write for one of the tests
9862           fix a leak for deserialized buffers
9863
9864 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9865
9866         * docs/pwg/advanced-events.xml:
9867         * docs/pwg/advanced-request.xml:
9868         * docs/pwg/advanced-scheduling.xml:
9869         * docs/pwg/appendix-porting.xml:
9870         * docs/pwg/building-boiler.xml:
9871         * docs/pwg/intro-preface.xml:
9872         * docs/pwg/other-ntoone.xml:
9873           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9874           of example code and explanation for pad activation, loop() and
9875           getrange() functions and a bit more. Remove old comments pointing
9876           to loop-functions.
9877         * examples/pwg/Makefile.am:
9878           Add loop/getrange examples.
9879
9880 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9881
9882         * configure.ac:
9883           check for valgrind binary + some fixes
9884         * check/gst.supp:
9885           valgrind suppressions for the tests
9886         * check/Makefile.am:
9887           add a valgrind: target that valgrinds the unit tests
9888         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9889         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9890         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9891         * check/gst/gstghostpad.c:
9892           added some cleanup
9893         * check/gst/gstdata.c:
9894           removed
9895         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9896         (thread_unref), (gst_mini_object_suite), (main):
9897           added
9898         * gst/gst.c: (gst_deinit):
9899         * gst/gst.h:
9900           add a method to clean up.
9901         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9902         (gst_system_clock_obtain):
9903           allow for disposing the system clock.
9904         * tools/gst-launch.c: (main):
9905           deinit
9906
9907 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9908
9909         * docs/gst/tmpl/gstbasesrc.sgml:
9910         * docs/gst/tmpl/gstfakesrc.sgml:
9911         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9912         (gst_base_src_init), (gst_base_src_set_property),
9913         (gst_base_src_get_property), (gst_base_src_get_range),
9914         (gst_base_src_start):
9915         * gst/base/gstbasesrc.h:
9916           add num-buffers property
9917         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9918         (gst_fakesrc_init), (gst_fakesrc_set_property),
9919         (gst_fakesrc_get_property), (gst_fakesrc_create),
9920         (gst_fakesrc_start):
9921           remove num-buffers property
9922
9923 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9924
9925         * docs/gst/gstreamer-sections.txt:
9926         * docs/gst/tmpl/gstbasesink.sgml:
9927         * docs/gst/tmpl/gstbasesrc.sgml:
9928         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9929         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9930         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9931         (gst_base_sink_set_property), (gst_base_sink_get_property),
9932         (gst_base_sink_handle_object), (gst_base_sink_event),
9933         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9934         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9935         (gst_base_sink_loop), (gst_base_sink_deactivate),
9936         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9937         (gst_base_sink_change_state):
9938         * gst/base/gstbasesink.h:
9939         * gst/base/gstbasesrc.h:
9940         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9941         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9942         (gst_filesink_init):
9943           more macro splitting
9944
9945 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * gst/gstelement.c: (gst_element_get_bus):
9948           add debug
9949         * tools/gst-launch.c: (check_intr), (event_loop):
9950           fix bus leaks
9951
9952 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9955           fix a caps leak
9956
9957 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9960         (gst_base_src_finalize):
9961           add finalize method and clean up properly
9962         * gst/gstpipeline.c: (gst_pipeline_dispose):
9963           add debug
9964
9965 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9968         (gst_bin_suite):
9969           add more things to check
9970         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9971         * gst/gstelement.c:
9972           more debug
9973
9974 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9977         (GST_START_TEST), (fakesrc_suite):
9978         * check/gst-libs/gdp.c: (GST_START_TEST):
9979         * check/gst/gst.c: (GST_START_TEST):
9980         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9981         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9982         * check/gst/gstbus.c: (GST_START_TEST):
9983         * check/gst/gstcaps.c: (GST_START_TEST):
9984         * check/gst/gstdata.c: (GST_START_TEST):
9985         * check/gst/gstelement.c: (GST_START_TEST):
9986         * check/gst/gstghostpad.c: (GST_START_TEST):
9987         * check/gst/gstiterator.c: (GST_START_TEST):
9988         * check/gst/gstmessage.c: (GST_START_TEST):
9989         * check/gst/gstobject.c: (GST_START_TEST):
9990         * check/gst/gstpad.c: (GST_START_TEST):
9991         * check/gst/gststructure.c: (GST_START_TEST):
9992         * check/gst/gstsystemclock.c: (GST_START_TEST),
9993         (gst_systemclock_suite):
9994         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9995         * check/gst/gstvalue.c: (GST_START_TEST):
9996         * check/pipelines/cleanup.c: (GST_START_TEST):
9997         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9998         * check/states/sinks.c: (GST_START_TEST):
9999         * check/gstcheck.c: (gst_check_init):
10000         * check/gstcheck.h:
10001           add debugging category
10002           use GST_START_TEST now, so we add a debug line
10003
10004 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10005
10006         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10007           add test for state change message on a bin
10008         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10009           add another test
10010         * gst/gstbin.c: (gst_bin_init):
10011         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10012         * gst/gstelement.c: (gst_element_post_message),
10013         (gst_element_set_state):
10014         * gst/gstelementfactory.c: (gst_element_factory_create):
10015         * gst/gstmessage.c: (gst_message_new):
10016         * gst/gstscheduler.c:
10017           various debugging additions and cleanups
10018
10019 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * check/Makefile.am:
10022         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10023         (main):
10024           adding tests for elements
10025         * gst/gstelement.c: (gst_element_dispose):
10026
10027 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10028
10029         * gst/registries/gstlibxmlregistry.c: (load_feature):
10030           plug more leaks.  A simple gst_init() now is leakfree, yay.
10031
10032 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10033
10034         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10035         (gst_xml_registry_load):
10036           plug another memleak
10037
10038 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10039
10040         * configure.ac:
10041           use GST_SET_ERROR_CFLAGS
10042         * docs/faq/cvs.xml:
10043           change to ERROR_CFLAGS
10044
10045 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10046
10047         * configure.ac:
10048           make GST_ERROR_CFLAGS overridable and re-enable Werror
10049         * docs/faq/cvs.xml:
10050           add a note about error CFLAGS
10051         * docs/gst/tmpl/gstfakesrc.sgml:
10052         * gst/elements/gstfakesrc.c:
10053           comment out some unused code
10054         * gst/gst.c: (split_and_iterate):
10055         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10056         (load_feature):
10057           plug some memleaks
10058
10059 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10060
10061         * common/Makefile.am:
10062         * common/gtk-doc.mak:
10063         * docs/gst/Makefile.am:
10064           factor out gtk-doc.mak
10065
10066 2005-07-07  Wim Taymans  <wim@fluendo.com>
10067
10068         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10069         (gst_thread_scheduler_dispose):
10070         Unlock the STREAM_LOCK completely.
10071
10072 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10073
10074         * check/Makefile.am:
10075         * check/elements/.cvsignore:
10076         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10077         (START_TEST), (fakesrc_suite), (main):
10078         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10079         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10080         (gst_fakesrc_create), (gst_fakesrc_start):
10081         * gst/elements/gstfakesrc.h:
10082           adding a first element test
10083
10084 2005-07-07  Andy Wingo  <wingo@pobox.com>
10085
10086         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10087         debug message.
10088
10089 2005-07-07  Wim Taymans  <wim@fluendo.com>
10090
10091         * gst/gstquery.c:
10092         * gst/gstquery.h:
10093         Remove old types
10094
10095 2005-07-07  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10098         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10099         Allow subclasses to implement their own negotiation.
10100
10101 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10102
10103         * docs/design/part-gstbin.txt:
10104         * docs/design/part-gstpipeline.txt:
10105           Update design notes to reflect the movement of
10106           responsibility for bus handling from GstPipeline to
10107           GstBin
10108
10109 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10110
10111         * configure.ac:
10112           Remove unnecessary queue2/3/4 examples.
10113
10114 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10115
10116         * examples/Makefile.am:
10117         * examples/helloworld/helloworld.c: (event_loop), (main):
10118         * examples/queue/queue.c: (event_loop), (main):
10119         * examples/queue2/queue2.c: (main):
10120           Update a couple of the examples to work again.
10121
10122         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10123         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10124          Spelling corrections and extra debug.
10125         
10126         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10127         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10128         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10129         * gst/gstbin.h:
10130         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10131         (gst_pipeline_change_state):
10132         * gst/gstpipeline.h:
10133           Move the bus handler for children to the GstBin, and create a
10134           separate bus for receiving messages from children to the one the
10135           bus sends 'upwards' on.
10136
10137 2005-07-06  Wim Taymans  <wim@fluendo.com>
10138
10139         * gst/base/README:
10140         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10141         (gst_base_sink_handle_object), (gst_base_sink_loop),
10142         (gst_base_sink_change_state):
10143         * gst/base/gstbasesink.h:
10144         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10145         (gst_base_src_init), (gst_base_src_setcaps),
10146         (gst_base_src_getcaps), (gst_base_src_loop),
10147         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10148         (gst_base_src_start), (gst_base_src_change_state):
10149         * gst/base/gstbasesrc.h:
10150         Make basesrc negotiate.
10151         Handle the case where preroll fails in basesink.
10152         Update README.
10153
10154 2005-07-06  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10157         Implement the fixate function.
10158         Clean up acceptcaps.
10159
10160 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10161
10162         * docs/pwg/building-filterfactory.xml:
10163         * docs/pwg/pwg.xml:
10164           Remove never-written filter-factory chapter; I'll add the various
10165           base classes to part 4 ("other element types") later on.
10166
10167 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10168
10169         * docs/pwg/advanced-negotiation.xml:
10170         * docs/pwg/building-boiler.xml:
10171         * docs/pwg/building-pads.xml:
10172         * docs/pwg/pwg.xml:
10173         * examples/pwg/Makefile.am:
10174           Add a chapter on caps negotiation, simplify the original code
10175           samples a bit w.r.t. caps negotiation, add link to the advanced
10176           section. Add a bunch of examples showing different use cases of
10177           different types of caps negotiation. Upstream renegotiation isn't
10178           fully documented yet since nobody knows how that works.
10179
10180 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * check/gst/gstpad.c:
10183         * check/gstcheck.c:
10184         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10185           if pad has no parent, return NULL as list of internal links
10186
10187 2005-07-05  Andy Wingo  <wingo@pobox.com>
10188
10189         * gst/elements/gstfilesrc.c:
10190         * gst/elements/gstfakesrc.c: 
10191         * gst/base/gstpushsrc.c:
10192         * gst/base/gstbasesrc.h: 
10193         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10194         
10195 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10196
10197         * Makefile.am:
10198           better report generation target (lcov needs a patch)
10199
10200 2005-07-05  Andy Wingo  <wingo@pobox.com>
10201
10202         * gst/elements, testsuite: Null if we got it...
10203
10204 2005-07-05  Wim Taymans  <wim@fluendo.com>
10205
10206         * configure.ac:
10207         * libs/gst/dataprotocol/Makefile.am:
10208         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10209         * libs/gst/dataprotocol/dataprotocol.h:
10210         * pkgconfig/Makefile.am:
10211         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10212         * pkgconfig/gstreamer-dataprotocol.pc.in:
10213         Ported dataprotol to 0.9. 
10214         Added pkgconfig files.
10215
10216 2005-07-05  Andy Wingo  <wingo@pobox.com>
10217
10218         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10219         Default to returning TRUE for the case when tranform_caps returns
10220         a fixed caps, like for identity or volume.
10221
10222         * check/gst/gstbus.c (pound_bus_with_messages): 
10223         * check/gst/gstmessage.c (START_TEST): 
10224         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10225         message API change.
10226
10227         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10228         logic weaks here: always run transform_caps, trying passthrough
10229         operation only if the original caps intersects with the transform.
10230
10231         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10232         source and sink caps.
10233
10234         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10235         Intersect the peer caps with the pad template before going into
10236         transform_caps.
10237         (gst_base_transform_transform_caps): More debugging.
10238
10239         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10240         src argument.
10241
10242 2005-07-04  Edward Hervey  <edward@fluendo.com>
10243
10244         * gst/gstutils.c:
10245         * gst/gstutils.h:
10246         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10247         in bindings.
10248
10249 2005-07-04  Andy Wingo  <wingo@pobox.com>
10250
10251         * check/gst/gstpad.c: Only set explicit caps on pads.
10252
10253 2005-07-01  Andy Wingo  <wingo@pobox.com>
10254
10255         * tests/network-clock.scm: Commentary update.
10256
10257         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10258         Didn't really make sense, not implementable with basetransform,
10259         etc.
10260         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10261         attempt at implementing the sync property, needs an unlock method.
10262
10263         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10264         New func, by default returns the same caps (the identity
10265         transformation).
10266         (gst_base_transform_getcaps): Uses transform_caps to return
10267         something sensible.
10268         (gst_base_transform_setcaps): Complicated logic to get caps on
10269         both pads, even if they are different, and to call set_caps once
10270         for every time both pads get their caps set.
10271         (gst_base_transform_handle_buffer): Give the ref to the transform
10272         function. Allows in-place modification of the buffer.
10273
10274         * gst/base/gstbasetransform.h (transform_caps): New class method.
10275         Given caps on one side, what can I do on the other.
10276         (set_caps): Take two caps, one for each side of the element.
10277
10278         * gst/gstpad.h:
10279         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10280         caps in place. This is safe because we can check the mutability of
10281         the caps, and a good idea because fixate functions are just called
10282         as a matter of last resort. (Not actually implemented.)
10283         (gst_pad_set_caps): If the caps we're setting is actually the same
10284         as the existing pad caps, just update the pointer without calling
10285         setcaps. Assert that caps is either NULL or fixed, as per the
10286         docs.
10287
10288         * gst/gstghostpad.c: Update for fixate changes.
10289
10290 2005-07-02  Andy Wingo  <wingo@pobox.com>
10291
10292         * gst/gstcaps.c:
10293         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10294         two refcounts makes it immutable, which is enough. Doc more.
10295
10296 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10297
10298         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10299           Put the mini_object into GValue as a mini_object,
10300           not a gpointer, since that's how we declared
10301           the signal.
10302
10303 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10304
10305         * examples/pwg/Makefile.am:
10306           Fix buildbot again.
10307
10308 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10309
10310         * docs/pwg/building-testapp.xml:
10311           Add extra check.
10312         * examples/pwg/Makefile.am:
10313           Fix buildbot.
10314
10315 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10316
10317         * configure.ac:
10318         * examples/Makefile.am:
10319         * examples/pwg/Makefile.am:
10320         * examples/pwg/extract.pl:
10321           Enable building the PWG examples.
10322         * docs/pwg/advanced-interfaces.xml:
10323           Add URI interface stub.
10324         * docs/pwg/advanced-types.xml:
10325         * docs/pwg/other-autoplugger.xml:
10326         * docs/pwg/appendix-porting.xml:
10327         * docs/pwg/pwg.xml:
10328           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10329         * docs/pwg/building-boiler.xml:
10330         * docs/pwg/building-chainfn.xml:
10331         * docs/pwg/building-pads.xml:
10332         * docs/pwg/building-props.xml:
10333         * docs/pwg/building-state.xml:
10334         * docs/pwg/building-testapp.xml:
10335           Update the building-*.xml parts for 0.9 changes. All examples
10336           code blocks compile in examples/pwg/*.
10337
10338 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10339
10340         * docs/manual/advanced-autoplugging.xml:
10341         * docs/manual/appendix-checklist.xml:
10342         * docs/manual/appendix-integration.xml:
10343         * docs/manual/highlevel-components.xml:
10344           Fix playbin/decodebin examples, update docs a bit, mention bus
10345           instead of signals in various places, mention kmplayer and
10346           kaffeine since they have a working GStreamer backend in the KDE
10347           section.
10348
10349 2005-06-30  Wim Taymans  <wim@fluendo.com>
10350
10351         * CHANGES-0.9:
10352         * docs/design/draft-ghostpads.txt:
10353         * docs/design/draft-push-pull.txt:
10354         * docs/design/draft-query.txt:
10355         * docs/design/part-TODO.txt:
10356         * docs/design/part-query.txt:
10357         Added CHANGES-0.9 doc, updated status of other docs.
10358         
10359         * gst/gstquery.h:
10360         Remove "hmm" macro
10361
10362 2005-06-30  Wim Taymans  <wim@fluendo.com>
10363
10364         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10365         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10366         (gst_base_sink_change_state):
10367         * gst/base/gstbasesink.h:
10368         Some tweaks, only EOS and a buffer complete a preroll.
10369
10370 2005-06-30  Andy Wingo  <wingo@pobox.com>
10371
10372         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10373         activate_push down to the internal pad as well.
10374
10375 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10376
10377         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10378
10379         * gst/gsttaginterface.c:
10380           Some documentation fixes (#307394 and #307397).
10381
10382 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10383
10384         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10385
10386         * gst/gstvalue.c: (gst_value_intersect_list):
10387           Fix memleak (#309125).
10388
10389 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10390
10391         * docs/manual/advanced-dataaccess.xml:
10392           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10393         * docs/manual/basics-pads.xml:
10394           Add reference for filtered caps to above chapter.
10395
10396 2005-06-30  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10399         (gst_bin_change_state):
10400         Probes are gone.
10401         Lame attempt at making the state change function a bit
10402         more readable.
10403
10404 2005-06-30  Wim Taymans  <wim@fluendo.com>
10405
10406         * docs/design/part-clocks.txt:
10407         * docs/design/part-element-sink.txt:
10408         * docs/design/part-events.txt:
10409         * docs/design/part-preroll.txt:
10410         * docs/design/part-states.txt:
10411         Some more tweeks and additions to the docs.
10412
10413 2005-06-30  Wim Taymans  <wim@fluendo.com>
10414
10415         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10416         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10417         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10418         (gst_pad_check_pull_range), (gst_pad_get_range),
10419         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10420         * gst/gstpad.h:
10421         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10422         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10423         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10424         (gst_pad_remove_buffer_probe):
10425         Removed atomic operations, use existing LOCK.
10426         Move exception handling out of main code path.
10427
10428 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10429
10430         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10431         (silly_return_true_function), (gst_pad_class_init),
10432         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10433         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10434         (gst_pad_send_event):
10435           Fix accumulator, add default value by using _emitv() instead
10436           of _emit() for signal emission.
10437
10438 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * docs/manual/advanced-dataaccess.xml:
10441         * examples/manual/Makefile.am:
10442           Add probe example.
10443         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10444           Make work (??).
10445
10446 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10447
10448         * gst/elements/gstfilesink.c: (gst_filesink_render):
10449           Simplify code so that we don't have to handle short
10450           writes and return GST_FLOW_ERROR if an error occured.
10451
10452 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10453
10454         * docs/gst/gstreamer-docs.sgml:
10455           Remove probes more.
10456
10457 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10458
10459         * docs/gst/gstreamer-sections.txt:
10460         * docs/gst/tmpl/gstpad.sgml:
10461         * docs/gst/tmpl/gstprobe.sgml:
10462         * gst/Makefile.am:
10463         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10464         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10465         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10466         (gst_pad_push_event), (gst_pad_send_event):
10467         * gst/gstpad.h:
10468         * gst/gstutils.c: (gst_pad_add_data_probe),
10469         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10470         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10471         (gst_pad_remove_buffer_probe):
10472         * gst/gstutils.h:
10473           Remove old probes, add new g-signal-based probes and some utility
10474           functions.
10475
10476 2005-06-29  Edward Hervey  <edward@fluendo.com>
10477
10478         * gst/gstelementfactory.c:
10479         * gst/gstutils.h:
10480         * gst/gstutils.c:
10481         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10482         the definition to the header file.
10483
10484 2005-06-29  Andy Wingo  <wingo@pobox.com>
10485
10486         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10487         plugins from the source directory.
10488
10489 2005-06-29  Wim Taymans  <wim@fluendo.com>
10490
10491         * docs/gst/tmpl/gstbuffer.sgml:
10492         * docs/gst/tmpl/gstclock.sgml:
10493         Some fixings for blantently wrong text.
10494
10495 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * check/Makefile.am:
10498         * gst/gst.c: (add_path_func), (init_pre):
10499         * gst/gstregistry.c: (gst_registry_add_path):
10500           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10501           only scan the GST_PLUGIN_PATH locations, and not add
10502           system locations
10503
10504 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10505
10506         * docs/gst/gstreamer-sections.txt:
10507         * docs/gst/tmpl/gstbasesrc.sgml:
10508         * gst/gstelement.c:
10509         * gst/gstelement.h:
10510         * gst/gstevent.c:
10511         * gst/gstutils.c:
10512           doc fixes
10513
10514 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10515
10516         * docs/manual/advanced-autoplugging.xml:
10517           Fix autoplugging example.
10518
10519 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10520
10521         * docs/manual/advanced-autoplugging.xml:
10522         * docs/manual/mime-world.fig:
10523           Try to get autoplugging working, fix type detection. Fix text
10524           in hello-world image.
10525
10526 2005-06-29  Wim Taymans  <wim@fluendo.com>
10527
10528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10529         (gst_base_sink_change_state):
10530         Small debug line.
10531
10532         * gst/gstclock.h:
10533         map SIGNAL and BROADCAST to the right function.
10534
10535         * gst/gstobject.h:
10536         Remove redundant braces.
10537
10538         * gst/gstpad.c: (gst_pad_set_caps):
10539         Don't call setcaps function when reseting caps to NULL.
10540
10541         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10542         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10543         (gst_system_clock_id_unschedule):
10544         Use BROADCAST as this is what we do.
10545
10546 2005-06-29  Wim Taymans  <wim@fluendo.com>
10547
10548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10549         We are actually prerolling before commiting the state
10550         change. 
10551
10552 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10553
10554         * docs/manual/advanced-clocks.xml:
10555         * docs/manual/advanced-interfaces.xml:
10556         * docs/manual/advanced-metadata.xml:
10557         * docs/manual/advanced-position.xml:
10558         * docs/manual/advanced-schedulers.xml:
10559         * docs/manual/advanced-threads.xml:
10560         * docs/manual/appendix-porting.xml:
10561         * docs/manual/basics-bins.xml:
10562         * docs/manual/basics-bus.xml:
10563         * docs/manual/basics-elements.xml:
10564         * docs/manual/basics-helloworld.xml:
10565         * docs/manual/basics-pads.xml:
10566         * docs/manual/highlevel-components.xml:
10567         * docs/manual/manual.xml:
10568         * docs/manual/thread.fig:
10569           Update (until threads/scheduling) Application Development Manual;
10570           remove GstThread, add GstBus, add simple porting checklist, add
10571           documentation for tag writing, clocks, make all examples until this
10572           part compile and run.
10573         * examples/manual/Makefile.am:
10574           Update from changes to Application Development Manual; add bus
10575           example, remove thread example.
10576
10577 2005-06-28  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10580         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10581         (gst_bus_source_dispatch):
10582         Add debugging messages.
10583         Make internal methods static.
10584         Handle the case where the bus is flushed in the handler.
10585         
10586         * gst/gstelement.c: (gst_element_get_bus):
10587         Fix refcount in _get_bus();
10588
10589         * gst/gstpipeline.c: (gst_pipeline_change_state),
10590         (gst_pipeline_get_clock_func):
10591         Clock refcounting fixes.
10592         Handle the case where preroll timed out more gracefully.
10593         
10594         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10595         Clean up the internal thread in dispose. This is needed
10596         for subclasses that actually get disposed.
10597         
10598         * gst/schedulers/threadscheduler.c:
10599         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10600         (gst_thread_scheduler_dispose):
10601         Free thread pool in dispose.
10602
10603 2005-06-28  Andy Wingo  <wingo@pobox.com>
10604
10605         * tests/network-clock-utils.scm (debug, print-event): New utils.
10606
10607         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10608         (*packet-loss*): Unified loss probability.
10609         (network-time): Report out-of-band events.
10610
10611         * tests/plot-data: Add support for out-of-band events. Hack it
10612         into this script instead of passing it down the pipe; should fix
10613         this later.
10614
10615 2005-06-28  Wim Taymans  <wim@fluendo.com>
10616
10617         * docs/gst/gstreamer.types:
10618         * docs/gst/tmpl/gstbasesrc.sgml:
10619         * docs/gst/tmpl/gstpad.sgml:
10620         Docs fixes.
10621
10622 2005-06-28  Wim Taymans  <wim@fluendo.com>
10623
10624         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10625         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10626         (gst_proxy_pad_do_fixatecaps):
10627         Correctly proxy the check_pull_range function.
10628
10629 2005-06-28  Andy Wingo  <wingo@pobox.com>
10630
10631         * tests/network-clock.scm: Removed need for slib.
10632         
10633 2005-06-28  Wim Taymans  <wim@fluendo.com>
10634
10635         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10636         (gst_basesink_preroll_queue_flush):
10637         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10638         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10639         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10640         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10641         (gst_proxy_pad_set_property):
10642         * gst/gstpad.c:
10643         * gst/gstpad.h:
10644         * gst/gstqueue.c: (gst_queue_init):
10645         The deprecated pad loop function is removed now.
10646
10647 2005-06-28  Andy Wingo  <wingo@pobox.com>
10648
10649         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10650         New parameters, simulate network packet loss.
10651
10652         * tests/network-clock-utils.scm: Initialize the RNG.
10653
10654 2005-06-28  Wim Taymans  <wim@fluendo.com>
10655
10656         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10657         (gst_basesink_event), (gst_basesink_deactivate):
10658         Flushing the preroll queue always needs to unlock the waiters.
10659
10660 2005-06-28  Edward Hervey  <edward@fluendo.com>
10661
10662         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10663         Wheen a seek was successful on a pipeline, set the stream_time to the
10664         seek offset in order to have a synchronized stream_time.
10665
10666 2005-06-28  Wim Taymans  <wim@fluendo.com>
10667
10668         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10669         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10670         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10671         (gst_proxy_pad_do_fixatecaps):
10672         Call wrapper function instead of just calling the function
10673         pointers. This takes care of any locking and whatmore.
10674
10675 2005-06-28  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10678         (gst_pad_pull_range):
10679         * gst/gstpad.h:
10680         CONNECTED -> LINKED.
10681
10682 2005-06-28  Andy Wingo  <wingo@pobox.com>
10683
10684         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10685         source-munging commit!!!
10686
10687         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10688         (gst_object_sink): Take gpointer arguments, not GstObject --
10689         avoids casts. Like GLib.
10690
10691         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10692         activate.
10693
10694 2005-06-27  Andy Wingo  <wingo@pobox.com>
10695
10696         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10697         remaining buffer.
10698
10699         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10700         returns a sorted copy of the trace list.
10701         (gst_alloc_trace_print_live): New API, only prints traces with
10702         live objects. Sort the list.
10703         (gst_alloc_trace_print_all): Sort the list.
10704         (gst_alloc_trace_print): Align columns.
10705
10706         * gst/elements/gstttypefindelement.c:
10707         * gst/elements/gsttee.c:
10708         * gst/base/gstbasesrc.c:
10709         * gst/base/gstbasesink.c:
10710         * gst/base/gstbasetransform.c:
10711         * gst/gstqueue.c: Adapt for pad activation changes.
10712
10713         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10714         sched.
10715         (gst_pipeline_dispose): Drop ref on sched.
10716
10717         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10718         (gst_pad_activate_default): Push mode by default.
10719         (pre_activate_switch, post_activate_switch): New stubs, things to
10720         do before and after switching activation modes on pads.
10721         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10722         the pad's activate function to choose which mode to activate.
10723         Shortcut on deactivation and call the right function directly.
10724         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10725         mode.
10726         (gst_pad_activate_push): New API, same for push mode.
10727         (gst_pad_set_activate_function) 
10728         (gst_pad_set_activatepull_function) 
10729         (gst_pad_set_activatepush_function): Setters for new API.
10730
10731         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10732         Trace all miniobjects.
10733         (gst_mini_object_make_writable): Unref the arg if we copy, like
10734         gst_caps_make_writable.
10735
10736         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10737
10738         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10739         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10740         Adapt for new pad API.
10741
10742         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10743
10744         * gst/gstelement.h:
10745         * gst/gstelement.c (gst_element_iterate_src_pads) 
10746         (gst_element_iterate_sink_pads): New API functions.
10747         
10748         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10749         should fold into gstiterator.c in some form.
10750         (gst_element_pads_activate): Simplified via use of fold and
10751         delegation of decisions to gstpad->activate.
10752
10753         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10754         help in debugging.
10755
10756         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10757         class once in init, like gstmessage. Didn't run into this issue
10758         but it seems correct. Don't initialize a trace, gstminiobject does
10759         that.
10760
10761         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10762         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10763         to the bus.
10764         (assert_live_count): New util function, uses alloc traces to check
10765         cleanup.
10766
10767         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10768         To be modified when unlink drops the internal pad.
10769
10770 2005-06-27  Wim Taymans  <wim@fluendo.com>
10771
10772         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10773         (gst_bin_change_state):
10774         Cleanup the get_state() function a little, make sure it
10775         iterates the same set of elements.
10776         Added stub iterate_state_order().
10777
10778 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10779
10780         * docs/gst/gstreamer-docs.sgml:
10781         * docs/gst/gstreamer-sections.txt:
10782         * docs/gst/gstreamer.types:
10783         * docs/gst/tmpl/gstbasesink.sgml:
10784         * docs/gst/tmpl/gstbasesrc.sgml:
10785         * docs/gst/tmpl/gstbasetransform.sgml:
10786         * docs/gst/tmpl/gstelement.sgml:
10787         * docs/gst/tmpl/gstiterator.sgml:
10788         * gst/base/gstbasesrc.c:
10789         * gst/base/gstbasesrc.h:
10790         * gst/base/gstbasetransform.h:
10791         * gst/gstelement.c:
10792         * gst/gstiterator.h:
10793           adding basetransform and iterator docs
10794
10795 2005-06-27  Andy Wingo  <wingo@pobox.com>
10796
10797         * docs/design/part-activation.txt: Notes on how activation should
10798         work -- not quite implemented yet.
10799
10800 2005-06-25  Wim Taymans  <wim@fluendo.com>
10801
10802         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10803         At least get the chain function correct, needs more
10804         fixing.
10805
10806 2005-06-25  Wim Taymans  <wim@fluendo.com>
10807
10808         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10809         (gst_basesink_handle_object), (gst_basesink_event),
10810         (gst_basesink_do_sync), (gst_basesink_handle_event),
10811         (gst_basesink_change_state):
10812         * gst/gsttask.h:
10813         Right, two problems here: ghostpads don't take locks and
10814         glib _rec_mutex_lock_full() with depth==0 still locks.
10815         Catch illegal locking and g_warn them.
10816
10817 2005-06-25  Wim Taymans  <wim@fluendo.com>
10818
10819         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10820         Have to check for completion now...
10821
10822 2005-06-25  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10825         (gst_basesink_handle_object), (gst_basesink_event),
10826         (gst_basesink_do_sync), (gst_basesink_handle_event),
10827         (gst_basesink_change_state):
10828         * gst/gstpad.h:
10829         Unlock STREAM_LOCK whatever the recursion was.
10830
10831 2005-06-25  Wim Taymans  <wim@fluendo.com>
10832
10833         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10834         (gst_basesink_preroll_queue_empty),
10835         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10836         (gst_basesink_event), (gst_basesink_do_sync),
10837         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10838         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10839         (gst_basesink_change_state):
10840         Reworked the base sink, handle event and buffer serialisation
10841         correctly and removed possible deadlock.
10842         Handle EOS correctly.
10843
10844 2005-06-25  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10847         (gst_pipeline_change_state):
10848         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10849         Allow elements to post EOS in the state change function.
10850         Fix up -launch, make it exit the poll loop when the
10851         pipeline actually changed state.
10852         Fix up warning parsing in -launch.
10853
10854 2005-06-25  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10857         (gst_tee_sink_activate):
10858         Core takes STREAM_LOCK for us now.
10859
10860 2005-06-25  Wim Taymans  <wim@fluendo.com>
10861
10862         * gst/gstelement.c: (gst_element_get_state_func),
10863         (gst_element_set_state):
10864         * gst/gstelement.h:
10865         * gst/gstmessage.c: (gst_message_parse_error),
10866         (gst_message_parse_warning):
10867         Keep track of current target state while performing a state
10868         change so that subclasses can do something interesting.
10869         Fix parsing of warning/error messages when GError is NULL.
10870
10871 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10872
10873         * docs/gst/Makefile.am:
10874         * docs/gst/gstreamer-docs.sgml:
10875         * docs/gst/gstreamer-sections.txt:
10876         * docs/gst/gstreamer.types:
10877         * docs/gst/tmpl/gstbasesink.sgml:
10878         * docs/gst/tmpl/gstbasesrc.sgml:
10879         * docs/gst/tmpl/gstbin.sgml:
10880         * docs/gst/tmpl/gstcompat.sgml:
10881         * docs/gst/tmpl/gstfakesink.sgml:
10882         * docs/gst/tmpl/gstfakesrc.sgml:
10883         * docs/gst/tmpl/gstfilesink.sgml:
10884         * docs/gst/tmpl/gstfilesrc.sgml:
10885         * docs/gst/tmpl/gstindex.sgml:
10886         * docs/manual/appendix-quotes.xml:
10887         * gst/base/gstbasesrc.h:
10888         * gst/elements/gstfakesrc.h:
10889         * gst/gstmessage.h:
10890           start pulling in base classes and elements in our docs
10891
10892 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10893
10894         * docs/gst/Makefile.am:
10895         * docs/libs/Makefile.am:
10896           fixed make distcheck with gtk-doc 1.3
10897
10898 2005-06-23  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/gstelement.c: (gst_element_get_state_func),
10901         (gst_element_set_state), (gst_element_change_state):
10902         When the state did not change, also report NO_PREROLL
10903         when it matters.
10904
10905 2005-06-23  Wim Taymans  <wim@fluendo.com>
10906
10907         * gst/gstpad.c: (gst_pad_event_default):
10908         * gst/gstqueue.c: (gst_queue_loop):
10909         No unsafe task pausing please.
10910
10911 2005-06-23  Wim Taymans  <wim@fluendo.com>
10912
10913         * gst/schedulers/threadscheduler.c:
10914         (gst_thread_scheduler_task_start),
10915         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10916         Ref the task before pushing it on the threadpool. This
10917         makes sure that we have a ref when the threadfunction is
10918         actually called.
10919
10920 2005-06-23  Andy Wingo  <wingo@pobox.com>
10921
10922         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10923         offset is greater than the file's size.
10924
10925         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10926         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10927         * gst/gstobject.c (gst_object_class_init): Make the class lock
10928         recursive. Wim won't let me drop deep_notify. Decodebin works
10929         again, whoopdy doo.
10930
10931         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10932         internal pad, and hacks accordingly. Doesn't do it on the target
10933         pad because we change its caps. Probably catches all cases of
10934         interest tho.
10935         (gst_ghost_pad_set_property): Connect to notify::caps as
10936         appropritate.
10937
10938         * tests/network-clock.scm (plot-simulation): Pipe data to the
10939         elite python skript.
10940
10941         * tests/network-clock-utils.scm (define-parameter): New macro,
10942         defines a parameter that can be set via the command line.
10943         (set-parameter!, parse-parameter-arguments): Command line args
10944         parser.
10945
10946         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10947         stdin.
10948
10949 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10950
10951         * gst/elements/gsttypefindelement.c:
10952         (gst_type_find_element_handle_event):
10953           Don't restart typefinding on a discont.
10954         * gst/gstelement.c: (gst_element_set_state):
10955           Debug spelling fix.
10956         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10957           Allow changing mode of an active pad.
10958           Debug output fixes.
10959         * gst/registries/gstlibxmlregistry.c: (load_feature):
10960           Don't cast a static pad template to a normal pad template.
10961
10962 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10963
10964         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10965         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10966           remove gst_strtoll completely, since it didn't actually do
10967           anything more than what g_ascii_strtoull already does.
10968           check for range errors when deserializing
10969           do a cast for the unsigned cases; but further fixing needs
10970           a decision on what the interpretation of "(int)" and
10971           deserialization should be for values that fall outside the
10972           type's boundaries (ie, refuse, or interpret as casting)
10973
10974 2005-06-23  Wim Taymans  <wim@fluendo.com>
10975
10976         * check/Makefile.am:
10977         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10978         * docs/design/part-live-source.txt:
10979         * docs/design/part-states.txt:
10980         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10981         (gst_basesrc_set_live), (gst_basesrc_is_live),
10982         (gst_basesrc_get_range), (gst_basesrc_activate),
10983         (gst_basesrc_change_state):
10984         * gst/base/gstbasesrc.h:
10985         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10986         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10987         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10988         * gst/gstelement.c: (gst_element_get_state_func),
10989         (gst_element_set_state):
10990         * gst/gstelement.h:
10991         * gst/gsttypes.h:
10992         * tools/gst-launch.c: (event_loop), (main):
10993         Added support for live sources and other elements that
10994         cannot do preroll.
10995         Updated design docs, added live-source design doc.
10996         Implemented live source functionality in basesrc
10997         Fix error condition in _bin_get_state()
10998         Implement live source handling in -launch.
10999         Added check for live sources.
11000         Fixed case in GstBin where elements were changed state
11001         multiple times.
11002
11003
11004 2005-06-23  Andy Wingo  <wingo@pobox.com>
11005
11006         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11007         borken refcounting.
11008
11009         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11010         gst_caps_replace takes care of this for us.
11011
11012         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11013         gst_pad_set_caps on the target, not just its setcaps() function.
11014
11015         * tests/network-clock.scm: 
11016         * tests/network-clock-utils.scm: A network clock simulator.
11017         Something of an algorithmic testbed before doing something in C.
11018
11019 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * check/Makefile.am:
11022         * check/gst/capslist.h:
11023           copy over from 0.8, and add two with bitmasks specified with
11024           (int) 0xFF...
11025         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11026           add test to parse everything from capslist.h
11027         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11028         (main):
11029           add test for structure deserialization
11030         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11031           add tests for deserialization of strings to int types
11032         * gst/gststructure.c: (gst_structure_nth_field_name):
11033         * gst/gststructure.h:
11034           add a way to get the name of a field referenced by index
11035         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11036           instead of checking if the resulting long long lies between
11037           min and max, we check if the long long would fit into
11038           a number of bytes for the final type.
11039           This fixes cases where a string represents 2^32 - 1, which
11040           when cast to int would be the (valid) -1, but is bigger than
11041           G_MAXINT
11042
11043 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11044
11045         * gst/parse/grammar.y:
11046           add a log line for type deserialization
11047
11048 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * check/gst/gstvalue.c: (START_TEST):
11051         * gst/gstvalue.c: (gst_value_deserialize):
11052           return long long, not int, so gint64 deserialization actually
11053           works.  Is there any flag that makes the compiler check this ?
11054           Fixes #308559
11055
11056 2005-06-22  Wim Taymans  <wim@fluendo.com>
11057
11058         * gst/gstbuffer.h:
11059         Added convenience macros for setting buffers in GValue.
11060
11061 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11062
11063         * check/gst/.cvsignore:
11064         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11065           add a test deserializing int64, and comment part out because
11066           it fails, yay !
11067
11068 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11069
11070         * check/Makefile.am:
11071         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11072         * testsuite/Makefile.am:
11073         * testsuite/caps/Makefile.am:
11074         * testsuite/caps/value_serialize.c:
11075         * testsuite/test_gst_init.c:
11076           move a value_serialize test over
11077
11078 2005-06-20  Wim Taymans  <wim@fluendo.com>
11079
11080         * gst/gstpad.c:
11081         Small doc updates.
11082         
11083         * gst/gstvalue.c: (gst_value_compare_buffer),
11084         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11085         (gst_value_compare_flags), (gst_value_serialize_flags),
11086         (gst_value_deserialize_flags), (_gst_value_initialize):
11087         Fix serialisation of buffers, they are not boxed types anymore
11088
11089 2005-06-20  Wim Taymans  <wim@fluendo.com>
11090
11091         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11092         Testcase to show error in buffer-on-caps serialisation.
11093
11094 2005-06-20  Andy Wingo  <wingo@pobox.com>
11095
11096         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11097         will be adding to later.
11098
11099         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11100         if its socks fill with rocks.
11101         (gst_system_clock_obtain): Set the name on object construction.
11102         Avoid double-checked locking.
11103
11104 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11105
11106         * gst/gsturi.c: (gst_element_make_from_uri):
11107           Fix potential endless loop.
11108
11109 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * check/Makefile.am:
11112           add gsttag
11113         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11114         (main):
11115           move over from testsuite dir and clean up
11116         * configure.ac:
11117         * gst/gsttag.c:
11118         * testsuite/Makefile.am:
11119         * testsuite/tags/.cvsignore:
11120         * testsuite/tags/Makefile.am:
11121         * testsuite/tags/merge.c:
11122           remove testsuite/tags
11123
11124 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11125
11126         * docs/gst/gstreamer-sections.txt:
11127         * docs/gst/tmpl/gstenumtypes.sgml:
11128         * win32/gstenumtypes.c:
11129           clean up documentation build a little
11130
11131 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * check/gstcheck.h:
11134           add macros for checking refcounts on objects and caps
11135         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11136           add some more unit tests
11137         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11138         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11139           fix leaked refcounts (I hope :)) so unittest works
11140         * gst/gstpad.h:
11141           whitespace removal
11142
11143 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11144
11145         * configure.ac: back to HEAD
11146
11147 === release 0.9.1 ===
11148
11149 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * NEWS:
11152         * RELEASE:
11153           updated
11154
11155 2005-06-17  Andy Wingo  <wingo@pobox.com>
11156
11157         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11158         assert; it's always possible that the pad gets deactivated in
11159         between the checks in gstpad.c and the implementation. Rely on
11160         finish_preroll() to return a FLUSHING or similar instead of on the
11161         assert.
11162         
11163         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11164         clock and post an EOS message if we come out of finish_preroll in
11165         the playing state.
11166
11167 2005-06-16  David Schleef  <ds@schleef.org>
11168
11169         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11170         (gst_capsfilter_set_property): Allow NULL as possible value
11171         for filter_caps property, indicating GST_CAPS_ANY.
11172
11173 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11174
11175         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11176           fix debug output
11177         * gst/schedulers/Makefile.am:
11178           use libgst prefix
11179         * gstreamer.spec.in:
11180           fix spec for it
11181
11182 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11183
11184         * gstreamer.spec.in:
11185           clean up
11186
11187 2005-06-08  Andy Wingo  <wingo@pobox.com>
11188
11189         * gst/gstutils.c: RPAD fixes all around.
11190         (gst_element_link_pads): Refcounting fixes.
11191
11192         * tools/gst-inspect.c:
11193         * tools/gst-xmlinspect.c:
11194         * parse/grammar.y:
11195         * gst/base/gsttypefindhelper.c:
11196         * gst/base/gstbasesink.c:
11197         * gst/gstqueue.c: RPAD fixes.
11198
11199         * gst/gstghostpad.h:
11200         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11201         pads. The tricky thing is they provide both source and sink
11202         interfaces, since they proxy the internal pad for the external
11203         pad, and vice versa. Implement with lower-level ProxyPad objects,
11204         with the interior proxy pad as a child of the exterior ghost pad.
11205         Should write a doc on this.
11206         
11207         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11208         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11209         gst_object API.
11210         
11211         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11212         pads are real pads. No ghost pads in this file. Not documenting
11213         the myriad s/RPAD/PAD/ and REALIZE fixes.
11214         (gst_pad_class_init): Add properties for "direction" and
11215         "template". Both are construct-only, so they can't change during
11216         the life of the pad. Fixes properly deriving from GstPad.
11217         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11218         derived objects, just set properties when creating the objects via
11219         g_object_new.
11220         (gst_pad_get_parent): Implement as a function, return NULL if the
11221         parent is not an element.
11222         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11223         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11224         
11225         * gst/gstobject.c (gst_object_class_init): Make name a construct
11226         property. Don't set it in the object init.
11227
11228         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11229         with UNKNOWN direction.
11230         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11231         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11232         (gst_element_remove_pad): Remove ghost-pad special cases.
11233         (gst_element_pads_activate): Remove rpad cruft.
11234
11235         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11236         catch the pad's-parent-not-an-element case.
11237
11238         * gst/gst.h: Include gstghostpad.h.
11239
11240         * gst/gst.c (init_post): No more real, ghost pads.
11241
11242         * gst/Makefile.am: Add gstghostpad.[ch].
11243
11244         * check/Makefile.am:
11245         * check/gst/gstbin.c:
11246         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11247         into a bin creates ghost pads, and that the refcounts are right.
11248         Partly moved from gstbin.c.
11249
11250 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11251
11252         * check/gst-libs/.cvsignore:
11253         * check/gst/.cvsignore:
11254         * check/pipelines/.cvsignore:
11255           ignore more
11256         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11257         (START_TEST), (cleanup_suite), (main):
11258           add some tests related to cleanup after running pipelines
11259
11260 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11261
11262         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11263           add a testsuite for GstBuffer
11264
11265 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * gst/gstminiobject.h:
11268           add defines for accessing the refcount
11269
11270 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11271
11272         * Makefile.am: added support for html unit test coverage reports
11273
11274 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11275
11276         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11277           Free existing caps if the capsfilter changes. Add a FIXME about
11278           setting those caps on the pads.
11279
11280         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11281           Before adding a ghost pad to a parent bin, check that there isn't
11282           already one for the element on the bin. Prevents infinite recursion
11283           when using decodebin in parse pipelines. Andy says he'll rewrite the
11284           way this works anyway, so ignore the hack.
11285
11286 2005-06-02  Andy Wingo  <wingo@pobox.com>
11287
11288         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11289         file size, pass it on to the type find helper.
11290
11291         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11292         segment_start and segment_end properly according to the seek
11293         method. Segment_end is still a bit flaky because offset can be
11294         negative for CUR and END cases, but it takes -1 as an "unset"
11295         value.
11296
11297 2005-06-02  Wim Taymans  <wim@fluendo.com>
11298
11299         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11300         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11301         (gst_basesink_activate):
11302         * gst/base/gstbasesink.h:
11303         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11304         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11305         (gst_pad_query), (gst_pad_start_task):
11306         * gst/gstpad.h:
11307         * gst/gstqueue.c: (gst_queue_bufferalloc),
11308         (gst_queue_handle_sink_event), (gst_queue_chain):
11309         Bufferalloc: return GstFlowReturn to more accuratly report
11310         why allocation failed.
11311
11312 2005-06-02  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/gstpipeline.c: (gst_pipeline_send_event):
11315         Take snapshot of state without blocking.
11316
11317 2005-06-02  Wim Taymans  <wim@fluendo.com>
11318
11319         * docs/design/part-TODO.txt:
11320         * docs/design/part-caps.txt:
11321         * docs/design/part-clocks.txt:
11322         * docs/design/part-negotiation.txt:
11323         * docs/design/part-preroll.txt:
11324         Small doc updates 
11325
11326 2005-05-30  Wim Taymans  <wim@fluendo.com>
11327
11328         * gst/elements/gstidentity.c: (gst_identity_event),
11329         (gst_identity_transform), (gst_identity_get_property):
11330         Protect last_message property as it is accessed from
11331         multiple threads.
11332
11333 2005-05-30  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/gstelement.c: (gst_element_init),
11336         (gst_element_pads_activate), (gst_element_change_state):
11337         Slicker pad activation code.
11338
11339 2005-05-30  Wim Taymans  <wim@fluendo.com>
11340
11341         * gst/Makefile.am:
11342         * gst/gstelement.h:
11343         * gst/gstelementfactory.h:
11344         * gst/gsttypes.h:
11345         Move elementfactory methods to separate .h file.
11346
11347 2005-05-30  Wim Taymans  <wim@fluendo.com>
11348
11349         * docs/design/part-overview.txt:
11350         * gst/gstsystemclock.h:
11351         Small typo fixes, doc updates.
11352
11353 2005-05-30  Wim Taymans  <wim@fluendo.com>
11354
11355         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11356         (init_popt_callback):
11357         Remove cpu-opt flag.
11358
11359 2005-05-30  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11362         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11363         * gst/gstbuffer.h:
11364         Avoid typechecking in places where not needed.
11365         Added accessor for malloc_data.
11366
11367 2005-05-30  Wim Taymans  <wim@fluendo.com>
11368
11369         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11370         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11371         (gst_pad_configure_sink), (gst_pad_configure_src),
11372         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11373         (gst_pad_start_task):
11374         Propagate errors from _set_caps() in configure_src/sink
11375         functions instead of returning TRUE.
11376         FLUSH events can travel up and downstream
11377
11378
11379 2005-05-30  Wim Taymans  <wim@fluendo.com>
11380
11381         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11382         (gst_basesink_activate):
11383         Handle EOS in preroll.
11384
11385 2005-05-30  Wim Taymans  <wim@fluendo.com>
11386
11387         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11388         (gst_queue_loop), (gst_queue_handle_src_event):
11389         Remove old pieces of code
11390         Flushing the queue in an upstream event is a very bad idea.
11391
11392 2005-05-26  Andy Wingo  <wingo@pobox.com>
11393
11394         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11395         gst_value_set_mini_object so as to add a ref on the object (which
11396         will be removed when the value is unset).
11397
11398         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11399         arg type in ::handoff.
11400
11401         * gst/gstelement.c (gst_element_change_state): Also deactivate
11402         pads in READY->NULL, just in case the element didn't make it to
11403         PAUSED. Wingo tested, Wim approved.
11404
11405 2005-05-26  Wim Taymans  <wim@fluendo.com>
11406
11407         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11408         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11409         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11410         A flushing pad cannot be used to alloc_buffer from.
11411
11412 2005-05-26  Wim Taymans  <wim@fluendo.com>
11413
11414         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11415         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11416         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11417         (gst_bus_create_watch), (gst_bus_add_watch_full):
11418         * gst/gstbus.h:
11419         Implement a real GSource and use g_main_context_wakeup() to
11420         signal new messages instead of the socketpair.
11421
11422 2005-05-25  Wim Taymans  <wim@fluendo.com>
11423
11424         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11425         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11426         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11427         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11428         (gst_pad_send_event), (gst_pad_start_task):
11429         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11430         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11431         (gst_queue_sink_activate), (gst_queue_src_activate),
11432         (gst_queue_change_state):
11433         * gst/gstqueue.h:
11434         Fix state changes for non sinks. We now change sinks, then elements
11435         with unconnected srcpads, then the rest.
11436         More efficient queue unlocking in flush and state changes.
11437         Set the pad activate mode even if it does not have an activate
11438         function.
11439
11440 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11441
11442         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11443           Don't go in pull mode for non-seekable sources.
11444         * gst/elements/gsttypefindelement.h:
11445         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11446         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11447         (free_entry), (stop_typefinding),
11448         (gst_type_find_element_handle_event), (find_peek),
11449         (gst_type_find_element_chain), (do_pull_typefind),
11450         (gst_type_find_element_change_state):
11451           Allow typefinding (w/o seeking) in push-mode, simplified version
11452           of what was in 0.8.
11453         * gst/gstutils.c: (gst_buffer_join):
11454         * gst/gstutils.h:
11455           gst_buffer_join() from 0.8.
11456
11457 2005-05-25  Wim Taymans  <wim@fluendo.com>
11458
11459         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11460         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11461         (gst_pad_send_event), (gst_pad_start_task):
11462         Disable attempt at mode switching until it is figured out.
11463
11464 2005-05-25  Wim Taymans  <wim@fluendo.com>
11465
11466         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11467         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11468         (gst_basesink_finish_preroll), (gst_basesink_chain),
11469         (gst_basesink_loop), (gst_basesink_activate),
11470         (gst_basesink_change_state):
11471         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11472         (gst_basesrc_get_range), (gst_basesrc_loop),
11473         (gst_basesrc_activate):
11474         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11475         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11476         (gst_real_pad_init), (gst_real_pad_set_property),
11477         (gst_real_pad_get_property), (gst_pad_set_active),
11478         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11479         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11480         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11481         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11482         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11483         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11484         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11485         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11486         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11487         (gst_pad_stop_task):
11488         * gst/gstpad.h:
11489         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11490         (gst_queue_loop), (gst_queue_src_activate):
11491         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11492         (gst_task_get_state):
11493         * gst/gsttask.h:
11494         * gst/schedulers/threadscheduler.c:
11495         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11496         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11497         in task function.
11498         Remove ACTIVE pad flag, use FLUSHING everywhere
11499         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11500         functions.
11501         Add locks around IS_FLUSHING when reading.
11502         Take STREAM lock in chain(), get_range() functions so plugins
11503         don't need to take it anymore.
11504         
11505
11506
11507 2005-05-25  Wim Taymans  <wim@fluendo.com>
11508
11509         * tools/gst-launch.c: (event_loop):
11510         Unref message after using its contents instead of
11511         before.
11512
11513 2005-05-24  Wim Taymans  <wim@fluendo.com>
11514
11515         * docs/design/draft-ghostpads.txt:
11516         * docs/design/draft-push-pull.txt:
11517         * docs/design/draft-query.txt:
11518         * docs/design/part-overview.txt:
11519         Docs updates, added general overview doc.
11520
11521 2005-05-21  David Schleef  <ds@schleef.org>
11522
11523         * docs/gst/tmpl/old/GstBin.sgml:
11524         * docs/gst/tmpl/old/GstBuffer.sgml:
11525         * docs/gst/tmpl/old/GstCaps.sgml:
11526         * docs/gst/tmpl/old/GstClock.sgml:
11527         * docs/gst/tmpl/old/GstCompat.sgml:
11528         * docs/gst/tmpl/old/GstData.sgml:
11529         * docs/gst/tmpl/old/GstElement.sgml:
11530         * docs/gst/tmpl/old/GstEvent.sgml:
11531         * docs/gst/tmpl/old/GstIndex.sgml:
11532         * docs/gst/tmpl/old/GstStructure.sgml:
11533         * docs/gst/tmpl/old/GstTag.sgml:
11534         * docs/gst/tmpl/old/cothreads.sgml:
11535         * docs/gst/tmpl/old/cothreads_compat.sgml:
11536         * docs/gst/tmpl/old/gettext.sgml:
11537         * docs/gst/tmpl/old/gobject2gtk.sgml:
11538         * docs/gst/tmpl/old/grammar.tab.sgml:
11539         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11540         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11541         * docs/gst/tmpl/old/gst_private.sgml:
11542         * docs/gst/tmpl/old/gstaggregator.sgml:
11543         * docs/gst/tmpl/old/gstarch.sgml:
11544         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11545         * docs/gst/tmpl/old/gstbufferstore.sgml:
11546         * docs/gst/tmpl/old/gstdata_private.sgml:
11547         * docs/gst/tmpl/old/gstdisksink.sgml:
11548         * docs/gst/tmpl/old/gstdisksrc.sgml:
11549         * docs/gst/tmpl/old/gstelementfactory.sgml:
11550         * docs/gst/tmpl/old/gstextratypes.sgml:
11551         * docs/gst/tmpl/old/gstfakesink.sgml:
11552         * docs/gst/tmpl/old/gstfakesrc.sgml:
11553         * docs/gst/tmpl/old/gstfdsink.sgml:
11554         * docs/gst/tmpl/old/gstfdsrc.sgml:
11555         * docs/gst/tmpl/old/gstfilesink.sgml:
11556         * docs/gst/tmpl/old/gstfilesrc.sgml:
11557         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11558         * docs/gst/tmpl/old/gstidentity.sgml:
11559         * docs/gst/tmpl/old/gstindexfactory.sgml:
11560         * docs/gst/tmpl/old/gstmarshal.sgml:
11561         * docs/gst/tmpl/old/gstmd5sink.sgml:
11562         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11563         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11564         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11565         * docs/gst/tmpl/old/gstpipefilter.sgml:
11566         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11567         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11568         * docs/gst/tmpl/old/gstshaper.sgml:
11569         * docs/gst/tmpl/old/gstspider.sgml:
11570         * docs/gst/tmpl/old/gstspideridentity.sgml:
11571         * docs/gst/tmpl/old/gststatistics.sgml:
11572         * docs/gst/tmpl/old/gsttee.sgml:
11573         * docs/gst/tmpl/old/gsttimecache.sgml:
11574         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11575         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11576         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11577         * docs/gst/tmpl/old/types.sgml:
11578           I didn't intend to add these or check them in.
11579
11580 2005-05-19  David Schleef  <ds@schleef.org>
11581
11582         * configure.ac: Use -no-common everywhere.  In a sane world, it
11583           would be the default in libtool, because without it, you can't
11584           build DLLs on Windows.
11585         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11586         * docs/gst/gstreamer-sections.txt:
11587         * docs/gst/tmpl/gstcpu.sgml:
11588         * docs/gst/tmpl/gstdata.sgml:
11589         * docs/gst/tmpl/gstthread.sgml:
11590
11591 2005-05-19  David Schleef  <ds@schleef.org>
11592
11593         * gst/gstminiobject.c: (gst_value_set_mini_object),
11594         (gst_value_take_mini_object), (gst_value_get_mini_object):
11595         * gst/gstminiobject.h: Add GValue set/get functions.
11596
11597 2005-05-19  Wim Taymans  <wim@fluendo.com>
11598
11599         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11600         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11601         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11602         * gst/gstbuffer.h:
11603         * gst/gstbus.c: (gst_bus_post):
11604         * gst/gstelement.c: (gst_element_get_random_pad):
11605         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11606         Make subbufer unref the parent in finalize.
11607         some more debugging info.
11608
11609
11610 2005-05-19  Wim Taymans  <wim@fluendo.com>
11611
11612         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11613         (gst_basesink_init), (gst_basesink_finalize),
11614         (gst_basesink_activate), (gst_basesink_change_state):
11615         Don't free preroll queue too early.
11616
11617 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11618
11619         * gst/Makefile.am:
11620         * gst/ROADMAP:
11621           Hi, I'm outdated. Please shoot me.
11622
11623 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11624
11625         * gst/gstpipeline.c: (gst_pipeline_send_event):
11626           Do not access variables after they have been deleted.
11627
11628 2005-05-19  Wim Taymans  <wim@fluendo.com>
11629
11630         * tools/gst-inspect.c: (print_plugin_features):
11631         A plugin feature does unfortunatly not use the
11632         object name yet...
11633
11634 2005-05-18  Wim Taymans  <wim@fluendo.com>
11635
11636         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11637         Port _span() functions to new subbuffers.
11638
11639 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11640
11641         * gst/gstbin.c: (gst_bin_add_func):
11642           Fix clock settery in bins when adding kids after the clock has
11643           been selected.
11644
11645 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11646
11647         * gst/elements/gstidentity.c: (gst_identity_class_init):
11648           Workaround until signals support GstMiniObject.
11649
11650 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11651
11652         * gst/gstbuffer.c:
11653         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11654
11655 2005-05-18  Wim Taymans  <wim@fluendo.com>
11656
11657         * gst/base/Makefile.am:
11658         * gst/base/gstadapter.c: (gst_adapter_base_init),
11659         (gst_adapter_class_init), (gst_adapter_init),
11660         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11661         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11662         (gst_adapter_flush), (gst_adapter_available),
11663         (gst_adapter_available_fast):
11664         * gst/base/gstadapter.h:
11665         Ported and added adapter to the base classes.
11666
11667 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11668
11669         * gst/gst.c:
11670         * gst/gstmessage.c:
11671           Make sure the class is reffed/unreffed once before threads can be
11672           used.  Fixes #304551.
11673
11674 2005-05-17  Wim Taymans  <wim@fluendo.com>
11675
11676         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11677         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11678         * gst/gstminiobject.c: (gst_mini_object_get_type),
11679         (gst_mini_object_free):
11680         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11681         (gst_pad_push), (gst_pad_push_event):
11682         * gst/gstqueue.c: (gst_queue_change_state):
11683         Don't queue buffers in basesink when we are flushing.
11684         Unref buffer when flushing in basesink.
11685         Flush queue when going to READY
11686         Unref buffer when _push() returns an error.
11687         Don't free MiniObject instance when refcount is incremented
11688         in _finalize() so that we can recover objects.
11689
11690 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11691
11692         * docs/manual/advanced-schedulers.xml:
11693         * docs/manual/appendix-checklist.xml:
11694         * docs/pwg/advanced-clock.xml:
11695         * docs/pwg/advanced-interfaces.xml:
11696         * docs/pwg/advanced-request.xml:
11697         * docs/pwg/advanced-types.xml:
11698         * docs/pwg/intro-preface.xml:
11699         * examples/plugins/example.c: (gst_example_get_type),
11700         (gst_example_class_init), (gst_example_chain),
11701         (gst_example_set_property), (gst_example_get_property),
11702         (gst_example_change_state), (plugin_init):
11703         * examples/plugins/example.h:
11704           small doc fixes
11705
11706 2005-05-17  Wim Taymans  <wim@fluendo.com>
11707
11708         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11709         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11710         * gst/gstqueue.c: (gst_queue_change_state):
11711         Clear queue when going to READY.
11712         Remove IN_SETCAPS flag too.
11713
11714 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11715
11716         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11717           Remove implicit cast from gboolean to GstElementStateReturn;
11718           make sure we still return failure in paused => ready case if
11719           the parent class fails to change state and our own stop 
11720           vfunc succeeds.
11721
11722 2005-05-17  Wim Taymans  <wim@fluendo.com>
11723
11724         * tools/gst-launch.c: (event_loop):
11725         Message was unreffed too soon.
11726
11727 2005-05-16  Andy Wingo  <wingo@pobox.com>
11728
11729         * gst/gstbin.c (sink_iterator_filter): Err... um...
11730
11731         * check/gst/gstbin.c (test_ghost_pads): New test for the
11732         ghosting-if-elements-not-in-same-bin behavior.
11733
11734 2005-05-16  David Schleef  <ds@schleef.org>
11735
11736         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11737         accessing refcount directly.
11738
11739 2005-05-15  David Schleef  <ds@schleef.org>
11740
11741         * check/Makefile.am: remove GstData checks
11742         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11743         * gst/Makefile.am: add miniobject, remove data
11744         * gst/gst.h: add miniobject, remove data
11745         * gst/gstdata.c: remove
11746         * gst/gstdata.h: remove
11747         * gst/gstdata_private.h: remove
11748         * gst/gsttypes.h: remove GstEvent and GstMessage
11749         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11750         * gst/gstmarshal.list: change BOXED -> OBJECT
11751
11752         Implement GstMiniObject.
11753         * gst/gstminiobject.c:
11754         * gst/gstminiobject.h:
11755
11756         Modify to be subclasses of GstMiniObject.
11757         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11758         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11759         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11760         (gst_subbuffer_get_type), (gst_subbuffer_init),
11761         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11762         (gst_buffer_span):
11763         * gst/gstbuffer.h:
11764         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11765         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11766         (_gst_event_copy), (gst_event_new):
11767         * gst/gstevent.h:
11768         * gst/gstmessage.c: (_gst_message_initialize),
11769         (gst_message_get_type), (gst_message_class_init),
11770         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11771         (gst_message_new), (gst_message_new_error),
11772         (gst_message_new_warning), (gst_message_new_tag),
11773         (gst_message_new_state_changed), (gst_message_new_application):
11774         * gst/gstmessage.h:
11775         * gst/gstprobe.c: (gst_probe_perform),
11776         (gst_probe_dispatcher_dispatch):
11777         * gst/gstprobe.h:
11778         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11779         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11780         (_gst_query_copy), (gst_query_new):
11781
11782         Update elements for GstData -> GstMiniObject changes
11783         * gst/gstquery.h:
11784         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11785         (gst_queue_chain), (gst_queue_loop):
11786         * gst/elements/gstbufferstore.c:
11787         (gst_buffer_store_add_buffer_func),
11788         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11789         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11790         (gst_fakesink_render):
11791         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11792         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11793         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11794         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11795         (gst_filesrc_create_read):
11796         * gst/elements/gstidentity.c: (gst_identity_class_init):
11797         * gst/elements/gsttypefindelement.c:
11798         (gst_type_find_element_src_event), (free_entry_buffers),
11799         (gst_type_find_element_handle_event):
11800         * libs/gst/dataprotocol/dataprotocol.c:
11801         (gst_dp_header_from_buffer):
11802         * libs/gst/dataprotocol/dataprotocol.h:
11803         * libs/gst/dataprotocol/dp-private.h:
11804
11805 2005-05-15  David Schleef  <ds@schleef.org>
11806
11807         * gst/elements/gstelements.c: Don't include headers that were
11808         just removed.
11809
11810 2005-05-15  David Schleef  <ds@schleef.org>
11811
11812         * gst/elements/Makefile.am: Remove some elements that don't
11813         need to be in the core (or even exist at all).
11814         * gst/elements/gstaggregator.c:
11815         * gst/elements/gstaggregator.h:
11816         * gst/elements/gstmd5sink.c:
11817         * gst/elements/gstmd5sink.h:
11818         * gst/elements/gstmultifilesrc.c:
11819         * gst/elements/gstmultifilesrc.h:
11820         * gst/elements/gstpipefilter.c:
11821         * gst/elements/gstpipefilter.h:
11822         * gst/elements/gstshaper.c:
11823         * gst/elements/gstshaper.h:
11824         * gst/elements/gststatistics.c:
11825         * gst/elements/gststatistics.h:
11826         * po/POTFILES.in: Remove above files.
11827
11828 2005-05-14  Andy Wingo  <wingo@pobox.com>
11829
11830         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11831         so as to get the refs right.
11832         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11833         unreffing objects that don't pass the filter.
11834
11835         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11836         gst_element_set_bus.
11837         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11838         normal cases, this will destroy the bus.
11839
11840         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11841         object.
11842
11843         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11844         has no sinks.
11845
11846 2005-05-13  Andy Wingo  <wingo@pobox.com>
11847
11848         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11849         gst_pad_link, call pad_link_maybe_ghosting,
11850         (pad_link_maybe_ghosting): Links pads, making sure that the
11851         elements being linked are in the same bin.
11852         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11853         Helpers for pad_link_maybe_ghosting.
11854
11855 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11856
11857         * configure.ac:
11858           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11859
11860 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11861
11862         * docs/design/part-element-source.txt:
11863           Mention GstPushSrc
11864
11865 2005-05-12  Wim Taymans  <wim@fluendo.com>
11866
11867         * gst/base/gstbasesink.c: (gst_basesink_init),
11868         (gst_basesink_activate):
11869         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11870         (gst_basesrc_is_seekable):
11871         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11872         (bin_element_is_sink), (gst_bin_change_state):
11873         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11874         * gst/gstelement.h:
11875         Identify sinks by their flag to avoid overly complicated
11876         checks (fow now).
11877         Do state changes even for elements not reachable from the
11878         sinks.
11879         BaseSink is a sink now :)
11880         Some more debugging info in the basesrc.
11881
11882
11883 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11884
11885         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11886           Implement _query on a bin, similar to _send_event.
11887
11888 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11889
11890         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11891           Discont event offset format should be GST_FORMAT_BYTES,
11892           not GST_FORMAT_TIME.
11893
11894 2005-05-12  Wim Taymans  <wim@fluendo.com>
11895
11896         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11897         Same fix as Ronald's but without the signal. 
11898
11899 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11900
11901         * gst/gstutils.c: (gst_element_query_position):
11902           No, an element is not a pad.
11903
11904 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11905
11906         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11907         (gst_bin_get_state):
11908           If a child is removed from a bin while we remove the child from
11909           the bin and while we're retrieving its state, signal this to the
11910           get_state function so we abort the wait (instead of waiting for
11911           a timeout) and can immediately re-iterate over all other elements.
11912
11913 2005-05-12  Wim Taymans  <wim@fluendo.com>
11914
11915         * gst/base/Makefile.am:
11916         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11917         (gst_basesrc_start):
11918         * gst/base/gstbasesrc.h:
11919         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11920         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11921         (gst_pushsrc_init), (gst_pushsrc_create):
11922         * gst/base/gstpushsrc.h:
11923         Added is_seekable to BaseSrc
11924         Added simple PushSrc.
11925
11926 2005-05-11  Wim Taymans  <wim@fluendo.com>
11927
11928         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11929         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11930         (gst_element_link_pads), (gst_element_query_position),
11931         (gst_element_query_convert), (intersect_caps_func),
11932         (gst_pad_query_position), (gst_pad_query_convert):
11933         Fix refcounting in utils function.
11934         No point in trying to activate a pad when it's added, it could
11935         be added from the state change function and then we deadlock, the
11936         element has to decide what to do.
11937
11938 2005-05-10  Andy Wingo  <wingo@pobox.com>
11939
11940         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11941         *all* the arguments.
11942
11943         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11944         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11945         lock (according to the docs -- if this is wrong change the docs).
11946
11947         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11948         flush messages in the NULL state.
11949
11950         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11951         message immediately and return.
11952         (gst_bus_set_flushing): New function. If a bus is flushing, it
11953         flushes out any queued messages and immediately unrefs new
11954         messages. This is so when an element goes to NULL, all of the
11955         unhandled messages coming from it can be freed, and their
11956         references to the element dropped. In other words: message source
11957         ref considered harmful :P
11958
11959         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11960         we're finished with it.
11961
11962         * gst/gstmessage.c (gst_message_new_state_changed): 
11963
11964 2005-05-10  Wim Taymans  <wim@fluendo.com>
11965
11966         * gst/gstvalue.c: (gst_value_compare_flags),
11967         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11968         (_gst_value_initialize):
11969         Added flags serialize/deserialize/compare code.
11970
11971 2005-05-09  Andy Wingo  <wingo@pobox.com>
11972
11973         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11974         Intersect the peer's caps with our caps.
11975
11976 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11977
11978         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11979         * gst/elements/gsttypefindelement.c: (find_peek):
11980           Handle negative offsets better. Fixes decodebin.
11981
11982 2005-05-09  Wim Taymans  <wim@fluendo.com>
11983
11984         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11985         (gst_base_transform_event):
11986         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11987         Implement accept_caps.
11988         Fix silly lock/unlock mismatch in base class.
11989
11990 2005-05-09  Wim Taymans  <wim@fluendo.com>
11991
11992         * docs/design/draft-push-pull.txt:
11993         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11994         * gst/elements/gstfilesink.c: (gst_filesink_init),
11995         (gst_filesink_query):
11996         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11997         (gst_type_find_handle_src_query), (find_element_get_length):
11998         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11999         * gst/gstelement.h:
12000         * gst/gstmessage.c:
12001         * gst/gstmessage.h:
12002         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12003         (gst_real_pad_get_caps_unlocked),
12004         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12005         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12006         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12007         (gst_real_pad_dispose), (gst_real_pad_finalize),
12008         (gst_pad_load_and_link), (gst_pad_save_thyself),
12009         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12010         (gst_pad_check_pull_range), (gst_pad_pull_range),
12011         (gst_pad_template_get_type), (gst_pad_template_class_init),
12012         (gst_pad_template_init), (gst_pad_template_dispose),
12013         (name_is_valid), (gst_static_pad_template_get),
12014         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12015         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12016         (gst_pad_get_element_private), (gst_pad_start_task),
12017         (gst_pad_pause_task), (gst_pad_stop_task),
12018         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12019         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12020         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12021         (gst_ghost_pad_new):
12022         * gst/gstpad.h:
12023         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12024         (gst_query_new_position), (gst_query_set_position),
12025         (gst_query_parse_position), (gst_query_new_convert),
12026         (gst_query_set_convert), (gst_query_parse_convert):
12027         * gst/gstquery.h:
12028         * gst/gstqueryutils.c:
12029         * gst/gstqueryutils.h:
12030         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12031         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12032         (gst_queue_handle_src_query):
12033         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12034         (gst_element_query_position), (gst_element_query_convert),
12035         (intersect_caps_func), (gst_pad_query_position),
12036         (gst_pad_query_convert):
12037         * gst/gstutils.h:
12038         * tools/gst-inspect.c: (print_pad_info):
12039         * tools/gst-xmlinspect.c: (print_element_info):
12040         Remove old query functions. Ported old code.
12041         Added position/convert helper functions to gstutils.
12042         Reordered gstpad.c code, grouping relevant things.
12043         Remove gst_message_new(), always need to speficy a specific
12044         message.
12045
12046
12047 2005-05-09  Andy Wingo  <wingo@pobox.com>
12048
12049         * gst/gstiterator.h: Add some includes.
12050
12051         * gst/gstqueryutils.h: Include more headers.
12052
12053         * gst/gstpad.h:
12054         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12055         some uses of gst_pad_query.
12056
12057         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12058         NULL out parameters.
12059         (gst_query_new_position): New proc, allocates a new position
12060         query.
12061
12062         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12063         gstqueryutils.c to the build.
12064
12065         * gst/gststructure.c (gst_structure_set_valist): Implement with
12066         the generic G_VALUE_COLLECT.
12067         
12068 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12069
12070         * gst/Makefile.am: (gst_headers):
12071         Added gstqueryutils.h to the list of headers to install, that was
12072         a 'nachty' move wingo :)
12073
12074 2005-05-06  Andy Wingo  <wingo@pobox.com>
12075
12076         * gst/gstquery.h
12077         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12078         GstData, init a memchunk.
12079         (standard_definitions): Add a few query types, deprecate a few.
12080         (gst_query_get_type): New proc.
12081         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12082         implementation.
12083         (gst_query_new_application, gst_query_get_structure): New public
12084         procs.
12085
12086         * docs/design/draft-query.txt: Removed LINKS from the query types,
12087         because all the rest can be dispatched to other pads -- seemed
12088         ugly to have a query that couldn't be dispatched. internal_links
12089         is fine as a pad method.
12090
12091         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12092         in gstpad.c, but maintain binary compatibility for the moment.
12093         Will fix before 0.9 is out.
12094
12095         * gst/gstqueryutils.c: 
12096         * gst/gstqueryutils.h: New files, implement 3 methods for each
12097         query type: parse_query, parse_response, and set. Probably need an
12098         allocator as well.
12099
12100         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12101
12102         * gst/elements/gstfilesink.c (gst_filesink_query2):
12103         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12104         query_types, and formats methods.
12105
12106         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12107         (gst_pad_set_query2_function): New functions.
12108         (gst_real_pad_init): Set query2_default as the default query2
12109         function. Basically just dispatches to internally linked pads.
12110
12111         Needs review!
12112         
12113         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12114         without using the atomic operations. Only one thread can possibly
12115         be accessing the data at this point. Changed so as to avoid
12116         gst_atomic operations.
12117
12118 2005-05-06  Wim Taymans  <wim@fluendo.com>
12119
12120         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12121         Also set caps if we use the fallback buffer alloc.
12122
12123 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12124
12125         * docs/gst/Makefile.am:
12126         * docs/gst/gstreamer-docs.sgml:
12127         * docs/gst/gstreamer-sections.txt:
12128         * docs/gst/tmpl/gstatomic.sgml:
12129         * docs/gst/tmpl/gstmemchunk.sgml:
12130         * testsuite/elements/struct_i386.h:
12131         * win32/GStreamer.vcproj:
12132         * win32/Makefile:
12133           Purge GstAtomic stuff from docs and win32 makefiles as well
12134
12135 2005-05-06  Wim Taymans  <wim@fluendo.com>
12136
12137         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12138         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12139         * gst/gstpad.c: (gst_pad_peer_get_caps):
12140         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12141         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12142         (gst_queue_src_activate), (gst_queue_change_state):
12143         * gst/gstqueue.h:
12144         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12145         (intersect_caps_func):
12146         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12147         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12148         Some fixes for the peer_get_caps() change.
12149
12150 2005-05-06  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12153         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12154         (gst_basesink_activate):
12155         Actually do something with error codes returned from the push
12156         functions.
12157
12158 2005-05-06  Wim Taymans  <wim@fluendo.com>
12159
12160         * docs/design/part-element-sink.txt:
12161         * docs/design/part-element-source.txt:
12162         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12163         (gst_basesink_event), (gst_basesink_activate):
12164         * gst/base/gstbasesink.h:
12165         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12166         (gst_basesrc_activate):
12167         * gst/base/gstbasesrc.h:
12168         * gst/gstelement.c: (gst_element_pads_activate):
12169         Some more documentation.
12170         Fixed scheduling decision in _pads_activate().
12171
12172 2005-05-05  Andy Wingo  <wingo@pobox.com>
12173
12174         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12175         the test suite.
12176
12177 2005-05-05  Wim Taymans  <wim@fluendo.com>
12178
12179         * gst/base/Makefile.am:
12180         * gst/base/gstbasesink.h:
12181         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12182         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12183         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12184         (gst_collectpads_class_init), (gst_collectpads_init),
12185         (gst_collectpads_finalize), (gst_collectpads_new),
12186         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12187         (find_pad), (gst_collectpads_remove_pad),
12188         (gst_collectpads_is_active), (gst_collectpads_collect),
12189         (gst_collectpads_collect_range), (gst_collectpads_start),
12190         (gst_collectpads_stop), (gst_collectpads_peek),
12191         (gst_collectpads_pop), (gst_collectpads_available),
12192         (gst_collectpads_read), (gst_collectpads_flush),
12193         (gst_collectpads_chain):
12194         * gst/base/gstcollectpads.h:
12195         * gst/elements/Makefile.am:
12196         * gst/elements/gstelements.c:
12197         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12198         (gst_fakesink_get_times), (gst_fakesink_event),
12199         (gst_fakesink_preroll), (gst_fakesink_render):
12200         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12201         (gst_filesink_init), (gst_filesink_set_location),
12202         (gst_filesink_open_file), (gst_filesink_close_file),
12203         (gst_filesink_pad_query), (gst_filesink_event),
12204         (gst_filesink_render), (gst_filesink_change_state):
12205         * gst/elements/gstfilesink.h:
12206         Added object to help in making collect pad based elements.
12207         Ported filesink.
12208         Make event function in sink baseclass return gboolean.
12209
12210 2005-05-05  Wim Taymans  <wim@fluendo.com>
12211
12212         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12213         (gst_bin_get_by_name):
12214         * gst/gstbuffer.h:
12215         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12216         (gst_clock_finalize):
12217         * gst/gstdata.c: (gst_data_replace):
12218         * gst/gstdata.h:
12219         * gst/gstelement.c: (gst_element_request_pad),
12220         (gst_element_pads_activate):
12221         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12222         (gst_object_unref):
12223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12224         (gst_pad_set_checkgetrange_function),
12225         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12226         (gst_pad_check_pull_range), (gst_pad_pull_range),
12227         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12228         (gst_pad_pause_task), (gst_pad_stop_task):
12229         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12230         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12231         Fix name lookup in GstBin.
12232         Added _data_replace() function and _buffer_replace()
12233         Use finalize method to clean up clock.
12234         Fix refcounting on request pads.
12235         Fix pad schedule mode error.
12236         Some more object refcounting debug info,
12237
12238
12239 2005-05-04  Andy Wingo <wingo@pobox.com>
12240
12241         * check/Makefile.am:
12242         * docs/gst/tmpl/gstatomic.sgml:
12243         * docs/gst/tmpl/gstplugin.sgml:
12244         * gst/base/gstbasesink.c: (gst_basesink_activate):
12245         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12246         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12247         (gst_basesrc_query), (gst_basesrc_set_property),
12248         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12249         (gst_basesrc_activate):
12250         * gst/base/gstbasesrc.h:
12251         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12252         (gst_base_transform_src_activate):
12253         * gst/elements/gstelements.c:
12254         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12255         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12256         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12257         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12258         (gst_type_find_element_checkgetrange),
12259         (gst_type_find_element_activate):
12260         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12261         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12262         (gst_caps_load_thyself):
12263         * gst/gstelement.c: (gst_element_pads_activate),
12264         (gst_element_save_thyself), (gst_element_restore_thyself):
12265         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12266         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12267         * gst/gstpad.h:
12268         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12269         (gst_xml_parse_file), (gst_xml_parse_memory),
12270         (gst_xml_get_element), (gst_xml_make_element):
12271         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12272         (_file_index_id_save_xml), (gst_file_index_commit):
12273         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12274         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12275         (load_paths):
12276         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12277         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12278         * tools/gst-complete.c: (main):
12279         * tools/gst-compprep.c: (main):
12280         * tools/gst-inspect.c: (print_element_properties_info):
12281         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12282         * tools/gst-xmlinspect.c: (print_element_properties):
12283         GCC 4 fixen.
12284         
12285 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12286
12287         * gst/gstplugin.c: (gst_plugin_check_module),
12288         (gst_plugin_check_file), (gst_plugin_load_file):
12289             apply patch from #172526 to make register work on MacOSX
12290
12291 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * docs/gst/tmpl/gstconfig.sgml:
12294         * gst/gstconfig.h.in:
12295           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12296         * testsuite/debug/printf_extension.c: (main):
12297           Do not use GST_PTR_FORMAT on pointers to types with
12298           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12299         * testsuite/elements/property.h:
12300           use correct printf format
12301
12302 2005-05-02  Wim Taymans  <wim@fluendo.com>
12303
12304         * docs/design/draft-push-pull.txt:
12305         * docs/design/draft-query.txt:
12306         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12307         (gst_basesrc_start):
12308         Added draft for new query API.
12309         Added draft for better selecting scheduling methods.
12310         Make basesrc ignore length if the subclass does not support
12311         it.
12312
12313 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12314
12315         * gst/Makefile.am:
12316           possible fixes for automake-1.5 - _LIBADD is reserved
12317
12318 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12319
12320         * docs/faq/Makefile.am:
12321         * docs/manual/Makefile.am:
12322         * docs/manuals.mak:
12323         * docs/pwg/Makefile.am:
12324         * gst/Makefile.am:
12325           possible fixes for automake-1.5
12326
12327 2005-04-28  Wim Taymans  <wim@fluendo.com>
12328
12329         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12330         (gst_basesink_pad_getcaps), (gst_basesink_init),
12331         (gst_basesink_do_sync):
12332         * gst/gstclock.c: (gst_clock_entry_new):
12333         * gst/gstevent.c: (gst_event_discont_get_value):
12334         * gst/gstpipeline.c: (pipeline_bus_handler),
12335         (gst_pipeline_change_state):
12336         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12337         Better debugging of clocking info.
12338         Allow NULL values when getting discont values.
12339
12340 2005-04-27  Wim Taymans  <wim@fluendo.com>
12341
12342         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12343         * check/gst/gstpad.c: (gst_pad_suite):
12344         Increase timeout for checks.
12345
12346 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12347
12348         * check/Makefile.am:
12349           fix the broken rule for cleanup.  Apparently this rule is
12350           only needed on FC2, so maybe this warrants further autotool
12351           inspection.
12352
12353 2005-04-26  Wim Taymans  <wim@fluendo.com>
12354
12355         * gst/gsttrashstack.h:
12356         Ooohh. a nasty one! After having a failed pop() from the stack,
12357         it's possible that the stack is empty. In that case, don't
12358         follow the NULL pointer.
12359
12360 2005-04-25  Wim Taymans  <wim@fluendo.com>
12361
12362         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12363         (gst_pad_set_checkgetrange_function),
12364         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12365         (gst_pad_check_pull_range), (gst_pad_pull_range),
12366         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12367         (gst_pad_pause_task), (gst_pad_stop_task):
12368         * gst/gstplugin.c: (gst_plugin_load):
12369         * gst/gstplugin.h:
12370         Remove gst_library_load as it does more harm than good with
12371         the new g_module flags.
12372         Revert bogus caps template check in pad linking, pad caps
12373         are important when linking not the template, which is more
12374         general than the current caps.
12375
12376 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12377
12378         * gst/autoplug/.cvsignore:
12379         * gst/autoplug/Makefile.am:
12380         * gst/autoplug/gstsearchfuncs.c:
12381         * gst/autoplug/gstsearchfuncs.h:
12382         * gst/autoplug/gstspider.c:
12383         * gst/autoplug/gstspider.h:
12384         * gst/autoplug/gstspideridentity.c:
12385         * gst/autoplug/gstspideridentity.h:
12386         * gst/autoplug/spidertest.c:
12387           Die, spider, die.
12388
12389 2005-04-25  Wim Taymans  <wim@fluendo.com>
12390
12391         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12392         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12393         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12394         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12395         * gst/gstpad.h:
12396         Added stubs for unimplemented functions. 
12397
12398 2005-04-24  David Schleef  <ds@schleef.org>
12399
12400         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12401         please fix.
12402
12403 2005-04-24  David Schleef  <ds@schleef.org>
12404
12405         Convert everything from GstAtomicInt to g_atomic_int_*, and
12406         remove gstatomic.
12407         * gst/Makefile.am:
12408         * gst/gstatomic.c:
12409         * gst/gstatomic.h:
12410         * gst/gstatomic_impl.h:
12411         * gst/gstbuffer.c:
12412         * gst/gstcaps.c:
12413         * gst/gstcaps.h:
12414         * gst/gstclock.c:
12415         * gst/gstclock.h:
12416         * gst/gstdata.c:
12417         * gst/gstdata.h:
12418         * gst/gstdata_private.h:
12419         * gst/gstevent.c:
12420         * gst/gstinfo.c:
12421         * gst/gstinfo.h:
12422         * gst/gstmessage.c:
12423         * gst/gstobject.c:
12424         * gst/gstobject.h:
12425         * gst/gststructure.c:
12426         * gst/gststructure.h:
12427         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12428         * gst/gstutils.h:
12429
12430 2005-04-24  David Schleef  <ds@schleef.org>
12431
12432         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12433         make the regressions tests work.  Remove some code that is no
12434         longer true.
12435         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12436         Disable warning for pads without templates.
12437
12438 2005-04-24  David Schleef  <ds@schleef.org>
12439
12440         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12441         functions that handle filtered links.
12442         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12443         removed functions.
12444         * gst/gstutils.c: Fix/remove utility functions that handle
12445         filtered caps.
12446         * gst/gstutils.h:
12447         * gst/gstvalue.c: Add serialization/deserialization of caps
12448         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12449         requires fixing so that the filter caps notation creates
12450         a capsfilter element and sets the filter_caps property.  I
12451         think everyone probably wants to keep the shorthand notation.
12452         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12453         * docs/gst/tmpl/gstpad.sgml:
12454
12455         * gst/elements/gstelements.c: Register capsfilter element.
12456         * gst/Makefile.am: fix spacing
12457         * docs/random/ds/0.9-suggested-changes: random
12458
12459 2005-04-23  David Schleef  <ds@schleef.org>
12460
12461         * gst/elements/Makefile.am:
12462         * gst/elements/gstcapsfilter.c: New element that acts like an
12463         identity, but filters caps.  Will eventually replace filtered
12464         caps in pad linking.
12465         * gst/gstutils.c: (gst_element_create_all_pads): New function
12466         to create all the ALWAYS pads that are registered with an
12467         element class.  This functionality should eventually be
12468         merged in with GstElement initialization.
12469         * gst/gstutils.h:
12470         * testsuite/trigger/README: part of trigger test code that should
12471         have been checked in a long time ago.
12472
12473 2005-04-23  David Schleef  <ds@schleef.org>
12474
12475         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12476         needed with new versions of libtool (nobody will confirm this),
12477         and hard to carry around.
12478         * gst/autoplug/Makefile.am:
12479         * gst/base/Makefile.am:
12480         * gst/elements/Makefile.am:
12481         * gst/indexers/Makefile.am:
12482         * gst/schedulers/Makefile.am:
12483         * libs/gst/bytestream/Makefile.am:
12484         * libs/gst/control/Makefile.am:
12485         * libs/gst/dataprotocol/Makefile.am:
12486         * libs/gst/getbits/Makefile.am:
12487
12488 2005-04-21  Wim Taymans  <wim@fluendo.com>
12489
12490         * docs/design/draft-push-pull.txt:
12491         * docs/design/part-MT-refcounting.txt:
12492         * docs/design/part-TODO.txt:
12493         * docs/design/part-caps.txt:
12494         * docs/design/part-events.txt:
12495         * docs/design/part-gstbus.txt:
12496         * docs/design/part-gstpipeline.txt:
12497         * docs/design/part-messages.txt:
12498         * docs/design/part-push-pull.txt:
12499         * docs/design/part-query.txt:
12500         Some more docs.
12501
12502 2005-04-21  Wim Taymans  <wim@fluendo.com>
12503
12504         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12505         (gst_message_new), (gst_message_new_error),
12506         (gst_message_new_warning), (gst_message_new_tag),
12507         (gst_message_new_state_changed), (gst_message_new_application),
12508         (gst_message_get_structure):
12509         * gst/gstmessage.h:
12510         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12511         (gst_structure_copy_conditional):
12512         Use parent refcount in GstMessage to ensure GstStructure
12513         consistency.
12514         Cleaned up headers a bit.
12515         
12516
12517 2005-04-20  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12520         (gst_basesink_pad_getcaps), (gst_basesink_init),
12521         (gst_basesink_chain_unlocked):
12522         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12523         (gst_type_find_helper):
12524         * gst/elements/gsttypefindelement.c:
12525         (gst_type_find_element_have_type), (gst_type_find_element_init),
12526         (stop_typefinding), (gst_type_find_element_handle_event),
12527         (find_suggest), (gst_type_find_element_chain),
12528         (gst_type_find_element_checkgetrange),
12529         (gst_type_find_element_getrange), (do_typefind),
12530         (gst_type_find_element_activate):
12531         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12532         (gst_buffer_default_free), (gst_buffer_default_copy),
12533         (gst_buffer_set_caps):
12534         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12535         (gst_caps_replace):
12536         * gst/gstmessage.c: (gst_message_new),
12537         (gst_message_new_state_changed):
12538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12539         (gst_pad_set_checkgetrange_function),
12540         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12541         (gst_pad_set_caps), (gst_pad_check_pull_range),
12542         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12543         * gst/gstpad.h:
12544         * gst/gsttypefind.c: (gst_type_find_register):
12545         Make gst_caps_replace() work like other _replace() functions.
12546         Use _caps_replace() where possible.
12547         Make sure _message_new() initialises its field.
12548         Add gst_static_pad_template_get_caps()
12549
12550
12551 2005-04-18  Andy Wingo  <wingo@pobox.com>
12552
12553         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12554         on the peer, not the pad. I think that was a typo. Pass an extra
12555         arg to see if random access is possible. Activate the pads as
12556         PULL_RANGE if possible.
12557
12558         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12559
12560         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12561         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12562         to PROP_....
12563
12564 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12565
12566         * docs/faq/using.xml:
12567           Add note on gstreamer-properties (#154996).
12568
12569 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12570
12571         * docs/random/bbb/optional-properties:
12572           Some analysis on optional properties.
12573
12574 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12575
12576         * docs/gst/tmpl/gstelementfactory.sgml:
12577         * gst/gstelement.h:
12578         * gst/gstelementfactory.c: (gst_element_factory_init),
12579         (gst_element_factory_cleanup), (gst_element_register),
12580         (__gst_element_factory_add_static_pad_template),
12581         (gst_element_factory_get_static_pad_templates),
12582         (gst_element_factory_can_src_caps),
12583         (gst_element_factory_can_sink_caps):
12584         * gst/registries/Makefile.am:
12585         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12586         (gst_xml_registry_class_init), (gst_xml_registry_init),
12587         (gst_xml_registry_new), (gst_xml_registry_set_property),
12588         (gst_xml_registry_get_property), (get_time), (make_dir),
12589         (gst_xml_registry_get_perms_func),
12590         (plugin_times_older_than_recurse), (plugin_times_older_than),
12591         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12592         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12593         (add_to_char_array), (read_string), (read_uint), (read_enum),
12594         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12595         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12596         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12597         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12598         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12599         (gst_xml_registry_rebuild):
12600         * gst/registries/gstlibxmlregistry.h:
12601         * tools/gst-compprep.c: (main):
12602         * tools/gst-inspect.c: (print_pad_templates_info):
12603         * tools/gst-xmlinspect.c: (print_element_info):
12604           Use libxml2 for registry parsing, use staticpadtemplates in
12605           elementfactories. Makes gst_init() +/- 10x faster.
12606
12607 2005-04-12  Wim Taymans  <wim@fluendo.com>
12608
12609         * gst/base/Makefile.am:
12610         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12611         (gst_basesink_pad_getcaps), (gst_basesink_init),
12612         (gst_basesink_event), (gst_basesink_change_state):
12613         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12614         (gst_basesrc_init), (gst_basesrc_query),
12615         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12616         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12617         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12618         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12619         (gst_basesrc_stop), (gst_basesrc_activate),
12620         (gst_basesrc_change_state):
12621         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12622         (helper_find_suggest), (gst_type_find_helper):
12623         * gst/base/gsttypefindhelper.h:
12624         * gst/elements/Makefile.am:
12625         * gst/elements/gstelements.c:
12626         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12627         (gst_fakesink_get_times), (gst_fakesink_event),
12628         (gst_fakesink_preroll), (gst_fakesink_render):
12629         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12630         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12631         (gst_fakesrc_get_property), (gst_fakesrc_create),
12632         (gst_fakesrc_start), (gst_fakesrc_stop):
12633         * gst/elements/gstfakesrc.h:
12634         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12635         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12636         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12637         (gst_filesrc_create_read), (gst_filesrc_create),
12638         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12639         (gst_filesrc_start):
12640         * gst/elements/gsttypefindelement.c:
12641         (gst_type_find_element_have_type), (gst_type_find_element_init),
12642         (start_typefinding), (stop_typefinding), (push_buffer_store),
12643         (gst_type_find_element_handle_event),
12644         (gst_type_find_element_chain),
12645         (gst_type_find_element_checkgetrange),
12646         (gst_type_find_element_getrange), (do_typefind),
12647         (gst_type_find_element_activate),
12648         (gst_type_find_element_change_state):
12649         * gst/elements/gsttypefindelement.h:
12650         * gst/gstpipeline.c: (pipeline_bus_handler):
12651         Added typefind helper.
12652         Small preroll fix in the base sink.
12653         Disable typefind code in basesrc.
12654         Crude port of typefindelement.
12655         Fakesrc cleanups.
12656
12657
12658 2005-04-11  Wim Taymans  <wim@fluendo.com>
12659
12660         * check/gst/gstbus.c: (gstbus_suite):
12661         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12662         * check/gstcheck.h:
12663           Fix up the timeout so that the test does not fail.
12664
12665 2005-04-06  Wim Taymans  <wim@fluendo.com>
12666
12667         * gst/base/README:
12668         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12669         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12670         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12671         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12672         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12673         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12674         (gst_basesrc_stop), (gst_basesrc_activate),
12675         (gst_basesrc_change_state), (basesrc_find_peek),
12676         (basesrc_find_suggest), (gst_basesrc_type_find):
12677         * gst/base/gstbasesrc.h:
12678         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12679         (gst_filesrc_class_init), (gst_filesrc_init),
12680         (gst_filesrc_finalize), (gst_filesrc_set_location),
12681         (gst_filesrc_set_property), (gst_filesrc_get_property),
12682         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12683         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12684         (gst_filesrc_create_read), (gst_filesrc_create),
12685         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12686         * gst/elements/gstfilesrc.h:
12687         * gst/gstelement.c: (gst_element_get_state_func),
12688         (gst_element_lost_state), (gst_element_pads_activate):
12689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12690         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12691         (gst_pad_pull_range):
12692         * gst/gstpad.h:
12693         More work on the generic source base class, implement seeking,
12694         query.
12695         Make filesrc extend the base source class.
12696         Added gst_pad_set_checkgetrange_function to GstPad.
12697
12698 2005-04-06  Andy Wingo  <wingo@pobox.com>
12699
12700         * pkgconfig/gstreamer-base.pc.in:
12701         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12702
12703         * pkgconfig/Makefile.am:
12704         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12705
12706 2005-04-04  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/base/Makefile.am:
12709         * gst/base/README:
12710         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12711         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12712         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12713         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12714         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12715         (gst_basesrc_base_init), (gst_basesrc_class_init),
12716         (gst_basesrc_init), (gst_basesrc_get_formats),
12717         (gst_basesrc_get_query_types), (gst_basesrc_query),
12718         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12719         (gst_basesrc_set_property), (gst_basesrc_get_property),
12720         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12721         (gst_basesrc_loop), (gst_basesrc_activate),
12722         (gst_basesrc_change_state):
12723         * gst/base/gstbasesrc.h:
12724         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12725         (gst_fakesrc_class_init), (gst_fakesrc_init),
12726         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12727         (gst_fakesrc_get_property), (gst_fakesrc_create):
12728         * gst/elements/gstfakesrc.h:
12729         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12730         (gst_filesrc_open_file), (gst_filesrc_loop),
12731         (gst_filesrc_activate), (filesrc_find_peek),
12732         (gst_filesrc_type_find):
12733         Made base source class, make fakesrc extend it.
12734         Add comments to basesink class.
12735         Some filesrc cleanup.
12736
12737 2005-03-31  David Schleef  <ds@schleef.org>
12738
12739         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12740         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12741         expected to link against libgstreamer.
12742         * gst/base/Makefile.am: link against libgstreamer
12743         * gst/elements/Makefile.am: same
12744
12745 2005-03-31  Andy Wingo  <wingo@pobox.com>
12746
12747         * tests/instantiate/Makefile.am:
12748         * tests/instantiate/caps.c: Add test to test speed of caps copy
12749         and free.
12750
12751         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12752         GMemChunk to be fair.
12753
12754         * gst/gsttrashstack.h: Remove warning about using the fallback
12755         trash stack implementation, it's still faster than malloc.
12756
12757 2005-03-30  Andy Wingo  <wingo@pobox.com>
12758
12759         * tests/complexity.c: Add a copyright.
12760
12761 2005-03-31  Wim Taymans  <wim@fluendo.com>
12762
12763         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12764         (gst_base_transform_class_init), (gst_base_transform_init),
12765         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12766         (gst_base_transform_get_property),
12767         (gst_base_transform_sink_activate),
12768         (gst_base_transform_src_activate),
12769         (gst_base_transform_change_state):
12770         * gst/base/gstbasetransform.h:
12771         * gst/elements/gstidentity.c: (gst_identity_class_init),
12772         (gst_identity_event), (gst_identity_check_perfect),
12773         (gst_identity_transform), (gst_identity_start),
12774         (gst_identity_stop):
12775         Added start/stop methods to transform base class so subclasses 
12776         don't need to deal with state changes even.
12777
12778 2005-03-31  Wim Taymans  <wim@fluendo.com>
12779
12780         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12781         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12782         * gst/gstevent.h:
12783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12784         (gst_pad_pull_range):
12785         Added rate to the discont event to prepare for variable speed
12786         and reverse playback.
12787
12788 2005-03-29  David Schleef  <ds@schleef.org>
12789
12790         * configure.ac:
12791         * testsuite/trigger/Makefile.am:
12792         * testsuite/trigger/trigger.c: A little example program to show
12793         how trigger-based elements can work.
12794
12795 2005-03-29  Wim Taymans  <wim@fluendo.com>
12796
12797         * gst/base/Makefile.am:
12798         * gst/base/README:
12799         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12800         (gst_basesink_base_init), (gst_basesink_class_init),
12801         (gst_basesink_pad_getcaps), (gst_basesink_init),
12802         (gst_basesink_activate), (gst_basesink_change_state):
12803         * gst/base/gstbasesink.h:
12804         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12805         (gst_base_transform_base_init), (gst_base_transform_finalize),
12806         (gst_base_transform_class_init), (gst_base_transform_init),
12807         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12808         (gst_base_transform_event), (gst_base_transform_getrange),
12809         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12810         (gst_base_transform_set_property),
12811         (gst_base_transform_get_property),
12812         (gst_base_transform_sink_activate),
12813         (gst_base_transform_src_activate),
12814         (gst_base_transform_change_state):
12815         * gst/base/gstbasetransform.h:
12816         * gst/elements/gstidentity.c: (gst_identity_finalize),
12817         (gst_identity_class_init), (gst_identity_init),
12818         (gst_identity_event), (gst_identity_check_perfect),
12819         (gst_identity_transform), (gst_identity_set_property),
12820         (gst_identity_get_property), (gst_identity_change_state):
12821         * gst/elements/gstidentity.h:
12822         * gst/gstelement.c: (gst_element_get_state_func),
12823         (gst_element_lost_state), (gst_element_pads_activate):
12824         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12825         (gst_pad_check_pull_range), (gst_pad_pull_range):
12826         * gst/gstpad.h:
12827         Simplify pad activation.
12828         Added function to check if pull_range can be performed.
12829         Error out when pulling inactive or flushing pads.
12830         Removed const from refcounted types as it does not make sense.
12831         Simplify pad templates in basesink
12832         Added base class for simple 1-to-1 transforms.
12833         Make identity subclass the base transform.
12834
12835 2005-03-29  Andy Wingo  <wingo@pobox.com>
12836
12837         * docs/libs/gstreamer-libs-overrides.txt: 
12838         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12839         really don't understand what's going on, but like whatever. I want
12840         green buildbot!
12841
12842         * docs/gst/Makefile.am:
12843         * docs/libs/Makefile.am: Dist the overrides files.
12844
12845         * check/Makefile.am (clean-local): Remove .libs directories.
12846
12847         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12848         elements to EXTRA_DIST, so po/ files are happy.
12849
12850         * po/POTFILES.in: Er, remove it here.
12851
12852         * po/POTFILES: Remove gstspider.c.
12853
12854         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12855
12856         * docs/libs/gstreamer-libs-docs.sgml: 
12857         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12858         bytestream.
12859
12860         * tests/complexity.c (main): Set the length of the preroll queue
12861         on the sinks to prevent a lockup.
12862
12863         * libs/gst/dataprotocol/Makefile.am: 
12864         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12865         the same as the one in check/gst-libs/gdp.c.
12866
12867         * po/, docs/gst/: Commit automatic changes to docs and po files.
12868
12869         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12870         the versioned libgstbase.
12871
12872         * check/Makefile.am: Depend on an unversioned gst-register, seems
12873         to make autoconf happier.
12874
12875         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12876
12877 2005-03-28  Wim Taymans  <wim@fluendo.com>
12878
12879         * configure.ac:
12880         * docs/design/part-gstelement.txt:
12881         * docs/design/part-negotiation.txt:
12882         * docs/design/part-preroll.txt:
12883         * docs/design/part-scheduling.txt:
12884         * docs/design/part-states.txt:
12885         * gst/Makefile.am:
12886         * gst/base/Makefile.am:
12887         * gst/base/README:
12888         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12889         (gst_basesink_base_init), (gst_basesink_class_init),
12890         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12891         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12892         (gst_basesink_set_pad_functions),
12893         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12894         (gst_basesink_set_property), (gst_basesink_get_property),
12895         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12896         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12897         (gst_basesink_preroll_queue_push),
12898         (gst_basesink_preroll_queue_empty),
12899         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12900         (gst_basesink_event), (gst_basesink_get_times),
12901         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12902         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12903         (gst_basesink_loop), (gst_basesink_activate),
12904         (gst_basesink_change_state):
12905         * gst/base/gstbasesink.h:
12906         * gst/elements/Makefile.am:
12907         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12908         (gst_fakesink_class_init), (gst_fakesink_init),
12909         (gst_fakesink_set_property), (gst_fakesink_get_property),
12910         (gst_fakesink_get_times), (gst_fakesink_event),
12911         (gst_fakesink_preroll), (gst_fakesink_render),
12912         (gst_fakesink_change_state):
12913         * gst/elements/gstfakesink.h:
12914         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12915         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12916         * gst/gstelement.c: (gst_element_add_pad),
12917         (gst_element_get_state_func), (gst_element_abort_state),
12918         (gst_element_commit_state), (gst_element_lost_state),
12919         (gst_element_set_state), (gst_element_pads_activate):
12920         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12921         * gst/gstpipeline.c: (gst_pipeline_send_event),
12922         (gst_pipeline_change_state):
12923         Added state change code.
12924         Added/updated docs.
12925         Added sink base class, make fakesink extend the base class.
12926         Small cleanups in GstPipeline.
12927
12928 2005-03-26  David Schleef  <ds@schleef.org>
12929
12930         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12931         is broken and should be implemented in a different library.
12932         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12933         * gst/gst.h: remove gstcpu.h
12934         * gst/gstcpu.c: remove
12935         * gst/gstcpu.h: remove
12936         * gst/Makefile.am.future: Remove this file.  It's ancient.
12937
12938 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12939
12940         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12941         (gst_bin_send_event):
12942           Add default event/set_manager handlers. The set_manager handler
12943           takes care that the manager is distributed over kids that were
12944           already in the bin before the manager was set. The event handler
12945           is a utility virtual function that sends the event over all sinks,
12946           so that gst_element_send_event (bin, event); has the expected
12947           behaviour.
12948         * gst/gstpad.c: (gst_pad_event_default):
12949           Re-install default event handling for discontinuities, so that
12950           seeking works without requiring hacks in applications or extra
12951           code in sinks.
12952         * gst/gstpipeline.c: (gst_pipeline_class_init),
12953         (gst_pipeline_send_event):
12954           Half hack, half utility: set a pipeline to PAUSED for seek events,
12955           since that is the only way we can guarantee a/v sync. Means that
12956           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12957           and it "just works".
12958
12959 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12960
12961         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12962           Lock/unlock mismatch.
12963
12964 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12965
12966         * docs/faq/gst-uninstalled:
12967           add gst-plugins-base
12968         * docs/gst/Makefile.am:
12969           don't error out until docs are fixed
12970         * docs/gst/gstreamer.types:
12971           remove thread
12972
12973 2005-03-22  Wim Taymans  <wim@fluendo.com>
12974
12975         * check/Makefile.am:
12976         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12977         * gst/gststructure.c: (gst_structure_set_valist),
12978         (gst_structure_copy_conditional):
12979         Activated more tests.
12980         Added message test.
12981         Added G_TYPE_POINTER to GstStructure.
12982         
12983
12984 2005-03-22  Wim Taymans  <wim@fluendo.com>
12985
12986         * docs/design/part-TODO.txt:
12987         * docs/design/part-events.txt:
12988         * docs/design/part-gstbin.txt:
12989         * docs/design/part-gstbus.txt:
12990         * docs/design/part-gstpipeline.txt:
12991         * docs/design/part-messages.txt:
12992         * gst/gstbus.c:
12993         * gst/gstmessage.c:
12994         Docs updates
12995
12996 2005-03-21  Wim Taymans  <wim@fluendo.com>
12997
12998         * gst/gstbus.c: (gst_bus_post):
12999         Fix copy-and-paste error.
13000
13001 2005-03-21  Wim Taymans  <wim@fluendo.com>
13002
13003         * check/Makefile.am:
13004         * gst/Makefile.am:
13005         * gst/elements/Makefile.am:
13006         * gst/elements/gstelements.c:
13007         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13008         (gst_fakesink_event), (gst_fakesink_chain):
13009         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13010         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13011         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13012         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13013         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13014         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13015         (gst_fakesrc_loop), (gst_fakesrc_activate),
13016         (gst_fakesrc_change_state):
13017         * gst/elements/gstfakesrc.h:
13018         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13019         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13020         (gst_filesrc_open_file), (gst_filesrc_loop),
13021         (gst_filesrc_activate), (gst_filesrc_change_state),
13022         (filesrc_find_peek), (filesrc_find_suggest),
13023         (gst_filesrc_type_find):
13024         * gst/elements/gstidentity.c: (gst_identity_finalize),
13025         (gst_identity_class_init), (gst_identity_init),
13026         (gst_identity_proxy_getcaps), (identity_queue_push),
13027         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13028         (gst_identity_getrange), (gst_identity_chain),
13029         (gst_identity_sink_loop), (gst_identity_src_loop),
13030         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13031         (gst_identity_set_property), (gst_identity_get_property),
13032         (gst_identity_change_state):
13033         * gst/elements/gstidentity.h:
13034         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13035         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13036         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13037         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13038         (gst_tee_sink_activate):
13039         * gst/elements/gsttee.h:
13040         * gst/gst.c: (gst_register_core_elements), (init_post):
13041         * gst/gst.h:
13042         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13043         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13044         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13045         (gst_bin_change_state):
13046         * gst/gstbin.h:
13047         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13048         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13049         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13050         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13051         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13052         (bus_watch_callback), (bus_watch_destroy),
13053         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13054         (poll_timeout), (gst_bus_poll):
13055         * gst/gstbus.h:
13056         * gst/gstcaps.h:
13057         * gst/gstdata.h:
13058         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13059         (gst_element_post_message), (gst_element_message_full),
13060         (gst_element_get_state_func), (gst_element_get_state),
13061         (gst_element_abort_state), (gst_element_commit_state),
13062         (gst_element_lost_state), (gst_element_set_state),
13063         (gst_element_pads_activate), (gst_element_change_state),
13064         (gst_element_dispose), (gst_element_set_manager_func),
13065         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13066         (gst_element_set_manager), (gst_element_get_manager),
13067         (gst_element_set_bus), (gst_element_get_bus),
13068         (gst_element_set_scheduler), (gst_element_get_scheduler):
13069         * gst/gstelement.h:
13070         * gst/gstevent.c: (gst_event_new_segment_seek),
13071         (gst_event_new_flush):
13072         * gst/gstevent.h:
13073         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13074         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13075         (gst_message_new_eos), (gst_message_new_error),
13076         (gst_message_new_warning), (gst_message_new_tag),
13077         (gst_message_new_state_changed), (gst_message_new_application),
13078         (gst_message_get_structure), (gst_message_parse_tag),
13079         (gst_message_parse_state_changed), (gst_message_parse_error),
13080         (gst_message_parse_warning):
13081         * gst/gstmessage.h:
13082         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13083         (gst_real_pad_set_property), (gst_pad_set_active),
13084         (gst_pad_is_active), (gst_pad_set_blocked_async),
13085         (gst_pad_set_blocked), (gst_pad_is_blocked),
13086         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13087         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13088         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13089         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13090         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13091         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13092         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13093         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13094         (gst_pad_set_caps), (gst_pad_configure_sink),
13095         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13096         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13097         (gst_real_pad_dispose), (gst_real_pad_finalize),
13098         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13099         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13100         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13101         * gst/gstpad.h:
13102         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13103         (pipeline_bus_handler), (gst_pipeline_change_state),
13104         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13105         * gst/gstpipeline.h:
13106         * gst/gstprobe.h:
13107         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13108         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13109         (gst_queue_link_src), (gst_queue_bufferalloc),
13110         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13111         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13112         (gst_queue_loop), (gst_queue_handle_src_event),
13113         (gst_queue_handle_src_query), (gst_queue_src_activate),
13114         (gst_queue_change_state):
13115         * gst/gstqueue.h:
13116         * gst/gstscheduler.c: (gst_scheduler_init),
13117         (gst_scheduler_dispose), (gst_scheduler_create_task),
13118         (gst_scheduler_factory_create):
13119         * gst/gstscheduler.h:
13120         * gst/gststructure.c: (gst_structure_get_type),
13121         (gst_structure_copy_conditional):
13122         * gst/gststructure.h:
13123         * gst/gsttaginterface.h:
13124         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13125         (gst_task_init), (gst_task_dispose), (gst_task_create),
13126         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13127         (gst_task_pause):
13128         * gst/gsttask.h:
13129         * gst/gstthread.c:
13130         * gst/gstthread.h:
13131         * gst/gsttypes.h:
13132         * gst/schedulers/Makefile.am:
13133         * gst/schedulers/cothreads_compat.h:
13134         * gst/schedulers/entryscheduler.c:
13135         * gst/schedulers/faircothreads.c:
13136         * gst/schedulers/faircothreads.h:
13137         * gst/schedulers/fairscheduler.c:
13138         * gst/schedulers/gstbasicscheduler.c:
13139         * gst/schedulers/gstoptimalscheduler.c:
13140         * gst/schedulers/gthread-cothreads.h:
13141         * gst/schedulers/threadscheduler.c:
13142         (gst_thread_scheduler_task_get_type),
13143         (gst_thread_scheduler_task_class_init),
13144         (gst_thread_scheduler_task_init),
13145         (gst_thread_scheduler_task_start),
13146         (gst_thread_scheduler_task_stop),
13147         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13148         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13149         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13150         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13151         (plugin_init):
13152         * libs/gst/Makefile.am:
13153         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13154         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13155         (gst_file_pad_parent_set):
13156         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13157         (gst_dp_event_from_packet):
13158         * tests/complexity.c: (main):
13159         * tests/mass_elements.c: (main):
13160         * testsuite/states/locked.c: (message_received), (main):
13161         * testsuite/states/parent.c: (main):
13162         * tools/gst-inspect.c: (print_element_flag_info),
13163         (print_implementation_info), (print_pad_info):
13164         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13165         (main):
13166         * tools/gst-md5sum.c: (event_loop), (main):
13167         * tools/gst-typefind.c: (main):
13168         * tools/gst-xmlinspect.c: (print_element_info):
13169         Next big merge.
13170         Added GstBus for mainloop integration.
13171         Added GstMessage for sending notifications on the bus.
13172         Added GstTask as an abstraction for pipeline entry points.
13173         Removed GstThread.
13174         Removed Schedulers.
13175         Simplified GstQueue for multithreaded core.
13176         Made _link threadsafe, removed old capsnego.
13177         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13178         Added pad blocking functions.
13179         Reworked scheduling functions in GstPad to prepare for
13180         scheduling updates soon.
13181         Moved events out of data stream.
13182         Simplified GstEvent types.
13183         Added return values to push/pull.
13184         Removed clocking from GstElement.
13185         Added prototypes for state change function for next merge.
13186         Removed iterate from bins and state change management.
13187         Fixed some elements, disabled others for now.
13188         Fixed -inspect and -launch.
13189         Added check for GstBus.
13190
13191 2005-03-10  Wim Taymans  <wim@fluendo.com>
13192
13193         * docs/design/part-MT-refcounting.txt:
13194         * docs/design/part-clocks.txt:
13195         * docs/design/part-gstelement.txt:
13196         * docs/design/part-gstobject.txt:
13197         * docs/design/part-standards.txt:
13198         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13199         (gst_bin_remove_func), (gst_bin_remove):
13200         * gst/gstbin.h:
13201         * gst/gstbuffer.c:
13202         * gst/gstcaps.h:
13203         * testsuite/clock/clock1.c: (main):
13204         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13205         (main):
13206         * testsuite/dlopen/loadgst.c: (do_test):
13207         * testsuite/refcounting/bin.c: (add_remove_test1),
13208         (add_remove_test2), (main):
13209         * testsuite/refcounting/element.c: (main):
13210         * testsuite/refcounting/element_pad.c: (main):
13211         * testsuite/refcounting/pad.c: (main):
13212         * tools/gst-launch.c: (sigint_handler_sighandler):
13213         * tools/gst-typefind.c: (main):
13214         Doc updates.
13215         Added doc about clock.
13216         removed gst_bin_iterate_recurse_up(), marked methods
13217         for removal.
13218         Fix more testsuites.
13219
13220 2005-03-09  Wim Taymans  <wim@fluendo.com>
13221
13222         * gst/gstpad.c: (gst_pad_get_direction),
13223         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13224         (gst_pad_collect_valist):
13225         * testsuite/bins/interface.c: (main):
13226         * testsuite/caps/audioscale.c: (test_caps):
13227         * testsuite/caps/caps.c: (test1), (test2), (test3):
13228         * testsuite/caps/deserialize.c: (main):
13229         * testsuite/caps/enumcaps.c: (main):
13230         * testsuite/caps/filtercaps.c: (main):
13231         * testsuite/caps/intersect2.c: (main):
13232         * testsuite/caps/random.c: (main):
13233         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13234         * testsuite/caps/sets.c: (check_caps):
13235         * testsuite/caps/simplify.c: (check_caps), (main):
13236         * testsuite/caps/subtract.c: (check_caps):
13237         Fix _pad_get_direction wrt ghostpads.
13238         Fix caps testsuite.
13239
13240 2005-03-09  Wim Taymans  <wim@fluendo.com>
13241
13242         * check/Makefile.am:
13243         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13244         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13245         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13247         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13248         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13249         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13250         (bin_element_is_sink), (gst_bin_iterate_sinks),
13251         (gst_bin_iterate_all_by_interface):
13252         * gst/gstbin.h:
13253         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13254         (gst_element_change_state), (gst_element_dispose),
13255         (gst_element_finalize), (gst_element_set_loop_function):
13256         * gst/gstelement.h:
13257         * gst/gstiterator.c: (find_custom_fold_func):
13258         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13259         (gst_pad_collectv), (gst_pad_collect_valist),
13260         (gst_pad_template_new):
13261         * gst/gstpipeline.c: (gst_pipeline_class_init),
13262         (gst_pipeline_dispose), (gst_pipeline_set_property),
13263         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13264         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13265         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13266         * gst/gstutils.h:
13267         * gst/schedulers/entryscheduler.c:
13268         * gst/schedulers/gstbasicscheduler.c:
13269         (gst_basic_scheduler_cothreaded_chain),
13270         (gst_basic_scheduler_chain_add_element):
13271         * testsuite/bins/interface.c: (main):
13272         Added GstBin test.
13273         Added GstSystemClock test.
13274         Implemented clock distribution code in GstBin.
13275         Implemented iterate sinks method for future use.
13276         Rearranged gstelement.h
13277         Fix GstIterator comparison bug.
13278         Moved some code to GstPipeline, mostly clocking related.
13279
13280 2005-03-09  Wim Taymans  <wim@fluendo.com>
13281
13282         * configure.ac:
13283         * gst/gst_private.h:
13284         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13285         (gst_bin_remove_func), (gst_bin_remove),
13286         (gst_bin_get_by_name_recurse_up):
13287         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13288         (gst_clock_id_compare_func), (gst_clock_id_wait),
13289         (gst_clock_id_wait_async), (gst_clock_init),
13290         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13291         * gst/gstelement.h:
13292         * gst/gstinfo.c: (_gst_debug_init):
13293         * gst/gstobject.h:
13294         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13295         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13296         * gst/gstpad.h:
13297         Bump version number, we're now 0.9.0
13298         Add future debugging category.
13299         Fix NULL _unref() in _get_by_name_recurse_up
13300         Rearrange gstpad.h.
13301         Update some docs.
13302
13303 2005-03-08  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13306         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13307         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13308         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13309         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13310         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13311         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13312         * gst/elements/gstidentity.c: (gst_identity_class_init):
13313         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13314         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13315         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13316         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13317         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13318         (gst_tee_link):
13319         * gst/gstelement.c: (gst_element_class_init),
13320         (gst_element_base_class_init), (gst_element_init),
13321         (gst_element_get_random_pad), (gst_element_wait_state_change),
13322         (gst_element_change_state), (gst_element_dispose),
13323         (gst_element_finalize), (gst_element_set_loop_function):
13324         * gst/gstelement.h:
13325         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13326         * gst/gstthread.c: (gst_thread_class_init),
13327         (gst_thread_release_children_locks), (gst_thread_change_state):
13328         * gst/schedulers/gstbasicscheduler.c:
13329         (gst_basic_scheduler_loopfunc_wrapper),
13330         (gst_basic_scheduler_chain_wrapper),
13331         (gst_basic_scheduler_src_wrapper),
13332         (gst_basic_scheduler_remove_element):
13333         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13334         Remove threadsafe properties. Fix elements because GObject
13335         complains when installing a property before declaring a
13336         set/get_property handler.
13337         Rearrange gstelement.h file, use STATE macros for state locks.
13338         Free mutexes in the finalize method instead of dispose.
13339
13340 2005-03-08  Wim Taymans  <wim@fluendo.com>
13341
13342         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13343         * gst/gstthread.c: (gst_thread_release_children_locks):
13344         Added parentage check.
13345         Fix build og GstThread again.
13346
13347 2005-03-08  Wim Taymans  <wim@fluendo.com>
13348
13349         * docs/design/part-MT-refcounting.txt:
13350         * docs/design/part-conventions.txt:
13351         * docs/design/part-gstobject.txt:
13352         * docs/design/part-relations.txt:
13353         * docs/design/part-standards.txt:
13354         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13355         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13356         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13357         (gst_bin_iterate_all_by_interface):
13358         * gst/gstbuffer.h:
13359         * gst/gstclock.h:
13360         * gst/gstelement.c: (gst_element_class_init),
13361         (gst_element_change_state), (gst_element_set_loop_function):
13362         * gst/gstelement.h:
13363         * gst/gstiterator.c:
13364         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13365         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13366         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13367         (gst_object_set_parent), (gst_object_unparent),
13368         (gst_object_check_uniqueness):
13369         * gst/gstobject.h:
13370         Docs updates, clean up some headers.
13371
13372 2005-03-07  Wim Taymans  <wim@fluendo.com>
13373
13374         * check/.cvsignore:
13375         * check/Makefile.am:
13376         * check/gst-libs/.cvsignore:
13377         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13378         * check/gst/.cvsignore:
13379         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13380         (START_TEST), (gstbus_suite), (main):
13381         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13382         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13383         (gst_data_suite), (main):
13384         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13385         (add_fold_func), (gstiterator_suite), (main):
13386         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13387         (thread_name_object), (thread_name_object_default),
13388         (gst_object_name_compare), (gst_object_suite), (main):
13389         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13390         (gst_pad_suite), (main):
13391         * check/gstcheck.c: (gst_check_log_message_func),
13392         (gst_check_log_critical_func), (gst_check_init):
13393         * check/gstcheck.h:
13394         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13395         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13396         Added checks.
13397
13398 2005-03-07  Wim Taymans  <wim@fluendo.com>
13399
13400         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13401         (gst_list_iterator_next), (gst_list_iterator_resync),
13402         (gst_list_iterator_free), (gst_iterator_new_list),
13403         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13404         (gst_iterator_free), (gst_iterator_push), (filter_next),
13405         (filter_resync), (filter_uninit), (filter_free),
13406         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13407         (gst_iterator_foreach), (find_custom_fold_func),
13408         (gst_iterator_find_custom):
13409         * gst/gstiterator.h:
13410         Added missing files.
13411
13412 2005-03-07  Wim Taymans  <wim@fluendo.com>
13413
13414         * Makefile.am:
13415         * configure.ac:
13416         * docs/design/part-MT-refcounting.txt:
13417         * docs/design/part-conventions.txt:
13418         * docs/design/part-gstobject.txt:
13419         * docs/design/part-relations.txt:
13420         * examples/mixer/mixer.c: (main):
13421         * examples/thread/thread.c: (eos), (main):
13422         * gst/Makefile.am:
13423         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13424         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13425         (gst_spider_plug_from_srcpad):
13426         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13427         (gst_spider_identity_change_state),
13428         (gst_spider_identity_sink_loop_type_finding):
13429         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13430         * gst/elements/gstidentity.c: (gst_identity_init):
13431         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13432         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13433         * gst/elements/gsttypefindelement.c: (free_entry):
13434         * gst/gst.c:
13435         * gst/gst.h:
13436         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13437         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13438         (gst_bin_set_index), (gst_bin_set_element_sched),
13439         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13440         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13441         (gst_bin_iterate_elements), (iterate_child_recurse),
13442         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13443         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13444         (compare_interface), (gst_bin_get_by_interface),
13445         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13446         * gst/gstbin.h:
13447         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13448         (gst_buffer_default_free), (gst_buffer_default_copy),
13449         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13450         (gst_buffer_create_sub):
13451         * gst/gstbuffer.h:
13452         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13453         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13454         (gst_caps_unref), (gst_static_caps_get),
13455         (gst_caps_remove_and_get_structure), (gst_caps_append),
13456         (gst_caps_append_structure), (gst_caps_remove_structure),
13457         (gst_caps_copy_nth), (gst_caps_set_simple),
13458         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13459         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13460         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13461         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13462         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13463         (gst_caps_structure_figure_out_union),
13464         (gst_caps_switch_structures), (gst_caps_do_simplify),
13465         (gst_caps_replace), (gst_caps_from_string),
13466         (gst_caps_copy_conditional):
13467         * gst/gstcaps.h:
13468         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13469         (_gst_clock_id_free), (gst_clock_id_unref),
13470         (gst_clock_id_compare_func), (gst_clock_id_wait),
13471         (gst_clock_id_wait_async), (gst_clock_class_init),
13472         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13473         (gst_clock_get_time), (gst_clock_set_time_adjust),
13474         (gst_clock_set_property), (gst_clock_get_property):
13475         * gst/gstclock.h:
13476         * gst/gstcompat.h:
13477         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13478         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13479         * gst/gstdata.h:
13480         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13481         (gst_element_requires_clock), (gst_element_provides_clock),
13482         (gst_element_set_clock), (gst_element_clock_wait),
13483         (gst_element_wait), (gst_element_set_time_delay),
13484         (gst_element_is_indexable), (gst_element_add_pad),
13485         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13486         (pad_compare_name), (gst_element_get_static_pad),
13487         (gst_element_request_pad), (gst_element_get_request_pad),
13488         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13489         (gst_element_class_get_pad_template_list),
13490         (gst_element_class_get_pad_template), (gst_element_error_func),
13491         (gst_element_get_random_pad), (gst_element_get_event_masks),
13492         (gst_element_send_event), (gst_element_seek),
13493         (gst_element_get_query_types), (gst_element_query),
13494         (gst_element_get_formats), (gst_element_convert),
13495         (gst_element_is_locked_state), (gst_element_set_locked_state),
13496         (gst_element_sync_state_with_parent), (gst_element_change_state),
13497         (gst_element_finalize), (gst_element_yield),
13498         (gst_element_interrupt), (gst_element_set_scheduler),
13499         (gst_element_get_scheduler), (gst_element_set_loop_function):
13500         * gst/gstelement.h:
13501         * gst/gstevent.h:
13502         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13503         (gst_format_get_by_nick), (gst_format_get_details),
13504         (gst_format_iterate_definitions):
13505         * gst/gstformat.h:
13506         * gst/gstindex.c: (gst_index_gtype_resolver):
13507         * gst/gstinfo.c:
13508         * gst/gstinfo.h:
13509         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13510         (gst_mem_chunk_free):
13511         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13512         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13513         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13514         (gst_object_dispatch_properties_changed),
13515         (gst_object_set_name_default), (gst_object_set_name),
13516         (gst_object_get_name), (gst_object_set_name_prefix),
13517         (gst_object_get_name_prefix), (gst_object_set_parent),
13518         (gst_object_get_parent), (gst_object_unparent),
13519         (gst_object_check_uniqueness), (gst_object_save_thyself),
13520         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13521         (gst_object_set_property), (gst_object_get_property),
13522         (gst_object_get_path_string):
13523         * gst/gstobject.h:
13524         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13525         (gst_real_pad_init), (gst_real_pad_get_property),
13526         (gst_pad_custom_new), (gst_pad_get_direction),
13527         (gst_pad_set_active), (gst_pad_is_active),
13528         (gst_pad_set_event_function), (gst_pad_is_linked),
13529         (gst_pad_link_free), (gst_pad_link_intersect),
13530         (gst_pad_link_fixate), (gst_pad_set_caps),
13531         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13532         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13533         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13534         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13535         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13536         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13537         (gst_pad_realize), (gst_pad_get_allowed_caps),
13538         (gst_real_pad_dispose), (gst_real_pad_finalize),
13539         (gst_pad_collectv), (gst_pad_collect_valist),
13540         (gst_pad_template_dispose), (gst_pad_template_new),
13541         (gst_pad_get_internal_links):
13542         * gst/gstpad.h:
13543         * gst/gstpipeline.c: (gst_pipeline_dispose),
13544         (gst_pipeline_change_state):
13545         * gst/gstpipeline.h:
13546         * gst/gstplugin.c:
13547         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13548         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13549         * gst/gstpluginfeature.h:
13550         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13551         * gst/gstquery.c: (_gst_query_type_initialize),
13552         (gst_query_type_register), (gst_query_type_get_by_nick),
13553         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13554         * gst/gstquery.h:
13555         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13556         * gst/gstscheduler.c: (gst_scheduler_add_element),
13557         (gst_scheduler_factory_create):
13558         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13559         (gst_structure_free), (gst_structure_set_name),
13560         (gst_structure_id_set_value), (gst_structure_set_value),
13561         (gst_structure_set_valist), (gst_structure_remove_field),
13562         (gst_structure_remove_fields),
13563         (gst_structure_remove_fields_valist),
13564         (gst_structure_remove_all_fields), (gst_structure_foreach),
13565         (gst_structure_map_in_place),
13566         (gst_caps_structure_fixate_field_nearest_int),
13567         (gst_caps_structure_fixate_field_nearest_double):
13568         * gst/gststructure.h:
13569         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13570         (gst_system_clock_init), (gst_system_clock_dispose),
13571         (gst_system_clock_async_thread),
13572         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13573         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13574         * gst/gstsystemclock.h:
13575         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13576         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13577         * gst/gsttaginterface.c:
13578         * gst/gstthread.c: (gst_thread_dispose),
13579         (gst_thread_release_children_locks), (gst_thread_change_state),
13580         (gst_thread_main_loop):
13581         * gst/gsttrashstack.h:
13582         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13583         * gst/gsttypes.h:
13584         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13585         (gst_element_request_pad), (gst_element_get_pad_from_template),
13586         (gst_element_request_compatible_pad),
13587         (gst_element_get_compatible_pad_filtered),
13588         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13589         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13590         (gst_element_link_many), (gst_element_link),
13591         (gst_element_link_pads), (gst_element_unlink_pads),
13592         (gst_element_unlink_many), (gst_element_unlink),
13593         (gst_pad_can_link_filtered), (gst_pad_can_link),
13594         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13595         (gst_object_default_error), (gst_bin_add_many),
13596         (gst_bin_remove_many), (gst_element_populate_std_props),
13597         (gst_element_class_install_std_props), (gst_buffer_merge),
13598         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13599         (link_fold_func), (gst_pad_proxy_setcaps):
13600         * gst/gstutils.h:
13601         * gst/gstvalue.c: (gst_value_deserialize_string):
13602         * gst/parse/grammar.y:
13603         * gst/schedulers/gstbasicscheduler.c:
13604         (gst_basic_scheduler_cothreaded_chain),
13605         (gst_basic_scheduler_chain_recursive_add),
13606         (gst_basic_scheduler_pad_link):
13607         * gst/schedulers/gstoptimalscheduler.c:
13608         (get_group_schedule_function),
13609         (gst_opt_scheduler_state_transition),
13610         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13611         * libs/gst/bytestream/bytestream.c:
13612         * libs/gst/dataprotocol/dataprotocol.c:
13613         (gst_dp_header_from_buffer):
13614         * po/nb.po:
13615         * po/ru.po:
13616         * tests/threadstate/threadstate2.c: (eos):
13617         * tools/gst-compprep.c: (main):
13618         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13619         (print_pad_info), (print_children_info):
13620         * tools/gst-launch.c: (idle_func), (main):
13621         * tools/gst-md5sum.c: (idle_func), (main):
13622         * tools/gst-xmlinspect.c: (print_element_info):
13623         First THREADED backport attempt, focusing on adding locks and
13624         making sure the API is threadsafe. Needs more work. More docs
13625         follow this week.
13626
13627 2005-02-24  Andy Wingo  <wingo@pobox.com>
13628
13629         * tests/bench-complexity.scm:
13630         * tests/complexity.gnuplot: New files, good for running complexity
13631         benchmarks.
13632
13633         * tests/Makefile.am:
13634         * tests/complexity.c: New test, sets up N elements, at each level
13635         teeing into M streams per element. Eeeenteresting.
13636
13637         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13638         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13639         running bench-mass_elements.scm.
13640
13641         * tests/bench-mass_elements.scm: New script, runs mass_elements
13642         for various numbers of identities, outputting the results to a
13643         file. Requires guile 1.6. Just for testing.
13644
13645 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13646
13647         * gst/schedulers/fairscheduler.c:
13648           compile with debug disabled
13649
13650 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * configure.ac:
13653           hunting season on 0.9 is now OPEN