libs/gst/base/gstcollectpads.c: Refactoring of collectpads. This version removes...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2
3         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6         of collectpads. This version removes a lot of races without
7         touching API/ABI. Yay !
8
9 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10
11         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12           Don't allow activation of a srcpad in pull_range if it has no
13           getrange function.
14           Change some debug statements to be a little clearer
15
16         * plugins/elements/gsttypefindelement.c:
17         (gst_type_find_handle_src_query):
18           Check that we have a peer before executing queries thereupon.
19
20         * tests/examples/metadata/read-metadata.c: (message_loop):
21           Use gst_bus_pop instead of gst_bus_poll when we just want it to
22           immediately return us any available message with 0 timeout.
23
24 2005-12-12  Michael Smith  <msmith@fluendo.com>
25
26         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
27           Don't unref factories after calling them.
28         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
29         * plugins/elements/gsttypefindelement.c:
30         (gst_type_find_element_chain):
31           Free lists of factories after using them. Fixing typefinding memory
32           leaks.
33
34 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
35
36         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
37         (gst_plugin_feature_load):
38           more meaningful debug output
39         * configure.ac:
40         * tests/Makefile.am:
41         * tests/old/examples/Makefile.am:
42           make make distcheck happy again
43
44 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
45
46         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
47           Catch the special case where we are operating chain-based,
48           but the downstream peer pad has no chain function. Emit a
49           custom error message in this case instead of letting the
50           core generate one implying that this is some sort of core
51           bug. It's not, it just means that whatever got plugged
52           into the pipeline downstream when we announced the type
53           can only operate pull-based, while our source can only
54           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
55           Error string has not been marked for translation yet, as
56           it probably needs some more work first.
57
58         (gst_type_find_element_get_best_possibility):
59           Add helper function to find the best of all available
60           found possibilities that qualify given the min. threshold.
61
62         (gst_type_find_element_handle_event):
63           Fix the case where we get an EOS while still in TYPEFIND
64           mode (we want to chose the best of all possible types,
65           not just the first type that happens to be in our unsorted
66           list of possible types).
67
68         (gst_type_find_element_chain):
69           Make sure we return GST_FLOW_ERROR when we errored out
70           in stop_typefinding(); also, don't just find the best of
71           all found type entries and then use the last examined
72           type entry, but actually use the best entry.
73
74 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
75
76         * tests/examples/typefind/typefind.c: (type_found):
77         * tests/examples/xml/runxml.c: (xml_loaded):
78           More gcc4 fixes and a mem leak fix.
79
80 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
81
82         * tests/examples/xml/createxml.c: (object_saved):
83           gcc 4 fixes
84
85 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
86
87         * tests/Makefile.am:
88           enable the examples even more
89
90 2005-12-12  Andy Wingo  <wingo@pobox.com>
91
92         * libs/gst/net/gstnettimeprovider.c
93         (gst_net_time_provider_class_init, gst_net_time_provider_init)
94         (gst_net_time_provider_set_property)
95         (gst_net_time_provider_get_property): Export "active" as a GObject
96         property.
97         (gst_net_time_provider_thread): Only respond to time queries if
98         the time provider is active.
99
100         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
101         NetTimeProvider, preserving binary compat.
102
103 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
104
105         * tests/examples/controller/audio-example.c: (main):
106         * tests/examples/launch/Makefile.am:
107           convert comments again
108
109 2005-12-12  Wim Taymans  <wim@fluendo.com>
110
111         * libs/gst/base/gstpushsrc.c:
112         Fix typo.
113
114 2005-12-12  Wim Taymans  <wim@fluendo.com>
115
116         * docs/libs/gstreamer-libs-sections.txt:
117         Added new symbol to docs.
118
119         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
120         (gst_base_src_init), (gst_base_src_set_format),
121         (gst_base_src_default_query), (gst_base_src_query),
122         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
123         (gst_base_src_perform_seek), (gst_base_src_send_event),
124         (gst_base_src_default_event), (gst_base_src_event_handler),
125         (gst_base_src_set_property), (gst_base_src_get_property),
126         (gst_base_src_wait), (gst_base_src_do_sync),
127         (gst_base_src_update_length), (gst_base_src_get_range),
128         (gst_base_src_check_get_range), (gst_base_src_loop),
129         (gst_base_src_default_negotiate), (gst_base_src_start),
130         (gst_base_src_activate_push), (gst_base_src_activate_pull),
131         (gst_base_src_change_state):
132         * libs/gst/base/gstbasesrc.h:
133         Implement seeking to other formats than _BYTES.
134         Implement more seeking methods correctly.
135         Doc updates.
136         Added query vmethod.
137         Added do_seek vmethod to make life easier for subclasses
138         when seeking.
139         API addition: gst_base_src_set_format()
140
141 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
142
143         * tests/examples/Makefile.am:
144           added that too
145
146 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
147
148         * configure.ac:
149         * docs/random/ensonic/media-device-daemon.txt:
150         * tests/examples/controller/.cvsignore:
151         * tests/examples/controller/Makefile.am:
152         * tests/examples/controller/audio-example.c: (main):
153         * tests/examples/helloworld/.cvsignore:
154         * tests/examples/helloworld/Makefile.am:
155         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
156         * tests/examples/launch/.cvsignore:
157         * tests/examples/launch/Makefile.am:
158         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
159         * tests/examples/metadata/.cvsignore:
160         * tests/examples/metadata/Makefile.am:
161         * tests/examples/metadata/read-metadata.c: (message_loop),
162         (make_pipeline), (print_tag), (main):
163         * tests/examples/queue/.cvsignore:
164         * tests/examples/queue/Makefile.am:
165         * tests/examples/queue/queue.c: (event_loop), (main):
166         * tests/examples/typefind/.cvsignore:
167         * tests/examples/typefind/Makefile.am:
168         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
169         (main):
170         * tests/examples/xml/.cvsignore:
171         * tests/examples/xml/Makefile.am:
172         * tests/examples/xml/createxml.c: (object_saved), (main):
173         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
174         * tests/old/examples/Makefile.am:
175         * tests/old/examples/TODO:
176         * tests/old/examples/controller/.cvsignore:
177         * tests/old/examples/controller/Makefile.am:
178         * tests/old/examples/controller/audio-example.c:
179         * tests/old/examples/helloworld/.cvsignore:
180         * tests/old/examples/helloworld/Makefile.am:
181         * tests/old/examples/helloworld/helloworld.c:
182         * tests/old/examples/launch/.cvsignore:
183         * tests/old/examples/launch/Makefile.am:
184         * tests/old/examples/launch/mp3parselaunch.c:
185         * tests/old/examples/launch/mp3play:
186         * tests/old/examples/manual/Makefile.am:
187         * tests/old/examples/metadata/Makefile.am:
188         * tests/old/examples/metadata/read-metadata.c:
189         * tests/old/examples/queue/.cvsignore:
190         * tests/old/examples/queue/Makefile.am:
191         * tests/old/examples/queue/queue.c:
192         * tests/old/examples/typefind/.cvsignore:
193         * tests/old/examples/typefind/Makefile.am:
194         * tests/old/examples/typefind/typefind.c:
195         * tests/old/examples/xml/.cvsignore:
196         * tests/old/examples/xml/Makefile.am:
197         * tests/old/examples/xml/createxml.c:
198         * tests/old/examples/xml/runxml.c:
199           applied some simple fixing to some examples
200           re-enabled the working examples
201
202 2005-12-12  Wim Taymans  <wim@fluendo.com>
203
204         * gst/gstsegment.c: (gst_segment_init),
205         (gst_segment_set_last_stop), (gst_segment_set_seek),
206         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
207         (gst_segment_to_running_time):
208         Added more documentation.
209         Make sure the last_pos value is updated properly.
210         Make sure to_stream_time and to_running_time don't
211         operate on wrong values.
212
213         * tests/check/gst/gstsegment.c: (GST_START_TEST):
214         Update check.
215
216 2005-12-12  Michael Smith  <msmith@fluendo.com>
217
218         * plugins/elements/gsttypefindelement.c: (free_entry),
219         (gst_type_find_element_chain):
220           Now that we're not leaking factories, make sure we keep references
221           to them while we need them.
222
223 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * tests/check/gst/struct_i386.h:
226           ifdef out the XML structs
227
228 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
229
230         * gst/gstvalue.c: (gst_value_transform_double_fraction):
231           floor is not needed, F is always positive; this obviates the
232           need for adding -lm when building without libxml
233
234 2005-12-12  Wim Taymans  <wim@fluendo.com>
235
236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
237         Take current playback rate into account when reporting
238         the position.
239
240 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
241
242         * docs/manual/mime-world.fig:
243           Let's try this again, this time with a file that is
244           actually in XFig format.
245
246 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * docs/manual/mime-world.fig:
249           Add audioconvert element to diagram so that it
250           matches the text and the code (fixes #319526).
251
252 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
253
254         * docs/pwg/building-chainfn.xml:
255         * docs/pwg/building-pads.xml:
256         * docs/pwg/building-state.xml:
257         * docs/pwg/other-source.xml:
258           Update state change stuff for 0.10 (fixes #322969).
259
260 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
261
262         * docs/manual/advanced-dataaccess.xml:
263         * docs/manual/appendix-checklist.xml:
264         * docs/manual/appendix-programs.xml:
265         * docs/manual/basics-pads.xml:
266         * docs/manual/highlevel-components.xml:
267         * docs/manual/manual.xml:
268           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
269           add converters in front of pipelines; remove curly
270           brackets for threads stuff, they no longer exist; use
271           GST_TYPE_FRACTION for framerates; update some pieces of
272           code to 0.10, but there's plenty more to do.
273
274         * docs/manual/appendix-porting.xml:
275           Expand on asynchroneous state changes; s/0.9/0.10/;
276           mention disappearance of gst_init_get_popt_table()
277           (fixes #322916).
278
279 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
280
281         * docs/faq/using.xml:
282           Spider no longer exists, and neither does gst-launch-ext.
283           Update examples to use decodebin and playbin and put
284           converters in front of sinks (fixes #323726).
285
286 2005-12-09  Michael Smith  <msmith@fluendo.com>
287
288         * plugins/elements/gsttypefindelement.c: (find_peek),
289         (gst_type_find_element_chain):
290           Fix leaking element factories in typefinding.
291           Fix problem where we forgot about a probable type on non-seekable
292           files, and thus later mis-typefound it.
293
294 2005-12-09  Michael Smith  <msmith@fluendo.com>
295
296         * common/m4/gst-makecontext.m4:
297         * common/m4/gst-mcsc.m4:
298         * configure.ac:
299         * win32/common/config.h:
300         * win32/common/config.h.in:
301           Remove makecontext stuff; not used in 0.10 and causes problems on
302           HPUX according to bug #322441
303
304 2005-12-07  Wim Taymans  <wim@fluendo.com>
305
306         * tests/check/Makefile.am:
307         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
308         (main):
309         * tests/check/libs/struct_i386.h:
310         Added ABI check for libs
311
312 2005-12-07  Wim Taymans  <wim@fluendo.com>
313
314         * tests/check/Makefile.am:
315         And add the struct_i386.h to dist.
316
317 2005-12-07  Wim Taymans  <wim@fluendo.com>
318
319         * tests/check/Makefile.am:
320         * tests/check/gst/.cvsignore:
321         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
322         (main):
323         * tests/check/gst/struct_i386.h:
324         Added check for ABI compatibility.
325
326 2005-12-07  Wim Taymans  <wim@fluendo.com>
327
328         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
329         (gst_fake_src_get_times), (gst_fake_src_create):
330         Fix broken sync option, fixes #323259
331
332 2005-12-07  Wim Taymans  <wim@fluendo.com>
333
334         * gst/gstbuffer.c:
335         Small docs update.
336
337         * gst/gstcaps.c: (gst_caps_is_equal):
338         Don't assert on NULL <--> X. Fixes #323260
339
340         * gst/gstminiobject.c: (gst_mini_object_replace):
341         If we're doing atomic operations, we might just as well use
342         the proper way to get an atomic pointer.
343
344         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
345         Clean up debugging.
346
347 2005-12-07  Michael Smith  <msmith@fluendo.com>
348
349         * gst/parse/grammar.y:
350           Remove handling of { } for threads.
351
352 2005-12-06  David Schleef  <ds@schleef.org>
353
354         * libs/gst/base/gstbasetransform.c: speling fix.
355
356 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
357
358         * docs/libs/tmpl/gstdataprotocol.sgml:
359         * docs/random/omega/testing/gstobject.c:
360         * gst/gst.c:
361         * gst/gstclock.c:
362         * gst/gstelement.c:
363         * gst/gstelementfactory.c:
364         * gst/gsterror.c:
365         * gst/gstevent.c:
366         * gst/gstghostpad.c:
367         * gst/gstinfo.c:
368         * gst/gstpadtemplate.c:
369         * gst/gstregistryxml.c:
370         * gst/gsttaglist.c:
371         * gst/gsttagsetter.c:
372         * gst/gsttypefind.c:
373         * gst/gstvalue.c:
374         * libs/gst/base/gstbasesrc.c:
375         * libs/gst/net/gstnetclientclock.c:
376         * libs/gst/net/gstnettimeprovider.c:
377         * plugins/elements/gstfakesrc.c:
378         * plugins/elements/gstfdsrc.c:
379         * plugins/elements/gstfilesrc.c:
380         * plugins/elements/gstidentity.c:
381         * plugins/elements/gstqueue.c:
382         * plugins/elements/gsttypefindelement.c:
383         * plugins/indexers/gstfileindex.c:
384         * plugins/indexers/gstmemindex.c:
385         * tests/check/gst/gsttag.c:
386         * tests/old/examples/cutter/cutter.c:
387         * tests/old/examples/mixer/mixer.c:
388         * tests/old/examples/xml/runxml.c: (main):
389         * tests/old/testsuite/caps/normalisation.c:
390         * tests/old/testsuite/debug/global.c:
391         * tests/old/testsuite/parse/parse1.c:
392         * tools/gst-xmlinspect.c:
393         * win32/common/dirent.c:
394           expand tabs
395
396 === release 0.10.0 ===
397
398 2005-12-05   <thomas (at) apestaart (dot) org>
399
400         * configure.ac:
401           releasing 0.10.0, "Maroilles"
402
403 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
404
405         submitted by: Funda Wang <fundawang@linux.net.cn>
406
407         * po/LINGUAS:
408         * po/zh_CN.po:
409           added Chinese (Traditional) translation
410
411 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
412
413         * docs/gst/gstreamer-sections.txt:
414         * docs/libs/tmpl/gstdataprotocol.sgml:
415         * docs/random/thomasvs/TODO:
416         * gst/gstutils.c:
417         * gst/gstutils.h:
418           fix docs
419
420 2005-12-05  Andy Wingo  <wingo@pobox.com>
421
422         patch by: Wim Taymans <wim@fluendo.com>
423
424         * libs/gst/base/gstbasetransform.c
425         (gst_base_transform_prepare_output_buf)
426         (gst_base_transform_buffer_alloc):
427         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
428         alloc_buffer_and_set_caps.
429
430         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
431         set_caps on the source pad.
432         (gst_pad_alloc_buffer_and_set_caps): New function, does what
433         alloc_buffer used to do. Fixes #322874.
434
435         * docs/gst/gstreamer-sections.txt: 
436         * docs/design/part-negotiation.txt: 
437         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
438         changes.
439
440 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         patch by: Sebastien Moutte
443
444         * win32/MANIFEST:
445         * win32/common/config.h.in:
446         * win32/vs6/libgstcontroller.dsp:
447           win32 build fixes
448
449 2005-12-05  Wim Taymans  <wim@fluendo.com>
450
451         * gst/gstcaps.c: (gst_caps_is_equal):
452         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
453         (gst_fake_src_create):
454         Back out previous code changes, leave doc updates, file bugs 
455         instead. 
456
457 2005-12-05  Wim Taymans  <wim@fluendo.com>
458
459         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
460         (gst_fake_src_get_times), (gst_fake_src_create):
461         * plugins/elements/gstfakesrc.h:
462         Fix broken sync code.
463
464 2005-12-05  Wim Taymans  <wim@fluendo.com>
465
466         * gst/gstcaps.c: (gst_caps_is_equal):
467         Comparing NULL against !NULL yields different caps, not a
468         failure.
469
470 2005-12-05  Wim Taymans  <wim@fluendo.com>
471
472         * gst/gstpipeline.c:
473         Fix small typo in docs.
474
475 2005-12-05  Andy Wingo  <wingo@pobox.com>
476
477         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
478
479         * gst/gst.c (init_post): remove hard-coded 0.9 location for
480         registries/plugins with a MAJORMINOR one.
481         (plugin_desc): Rename library from gstcoreleements to
482         staticelements. Fixes #323222.
483
484 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
485
486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
487           Change debug category to 'collectpads' from 'collect_pads'
488           (fixes #323250).
489
490 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         patch by: Sebastien Moutte
493
494         * libs/gst/controller/gstinterpolation.c:
495           use convert function for uint64/double
496         * win32/vs6/libgstcontroller.dsp:
497           link to GLib
498
499 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
500
501         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
502         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
503         * gst/gstutils.h:
504         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
505           add tests that seem to show that the guint64/gdouble conversions
506           are correct.
507
508 2005-12-02  Wim Taymans  <wim@fluendo.com>
509
510         * gst/gstregistry.c: (gst_registry_add_path):
511         * gst/gstregistry.h:
512         * gst/gstregistryxml.c:
513         Fix docs again.
514
515 2005-12-02  Wim Taymans  <wim@fluendo.com>
516
517         * gst/gstutils.c: (gst_util_uint64_scale_int64),
518         (gst_util_uint64_scale_int):
519         Small cleanup.
520
521         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
522         Add debug log line.
523
524         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
525         Add FIXME.
526
527 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
528
529         * win32/MANIFEST:
530         * win32/common/config.h:
531         * win32/vs6/gstreamer.dsw:
532         * win32/vs6/libgstcoreelements.dsp:
533         * win32/vs6/libgstelements.dsp:
534           renamed core elements plugin
535
536 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
537
538         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
539         (get_candidates):
540           do piece-wise major/minor comparison so 0.9 < 0.10
541           also allow .exe extensions for tools
542
543 2005-12-02  Michael Smith  <msmith@fluendo.com>
544
545         * gst/gst.c:
546           Escape a % to make gtkdoc happier; bug 322958.
547
548 === release 0.9.7 ===
549
550 2005-12-01   <thomas (at) apestaart (dot) org>
551
552         * configure.ac:
553           releasing 0.9.7, "My Dog Has No Nose"
554
555 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
556
557         * common/gst-xmlinspect.py:
558         * configure.ac:
559         * docs/libs/tmpl/gstdataprotocol.sgml:
560         * docs/random/release:
561         * po/af.po:
562         * po/az.po:
563         * po/bg.po:
564         * po/ca.po:
565         * po/cs.po:
566         * po/de.po:
567         * po/en_GB.po:
568         * po/fr.po:
569         * po/it.po:
570         * po/nb.po:
571         * po/nl.po:
572         * po/ru.po:
573         * po/sq.po:
574         * po/sr.po:
575         * po/sv.po:
576         * po/tr.po:
577         * po/uk.po:
578         * po/vi.po:
579         * win32/common/config.h:
580         * win32/common/config.h.in:
581         * win32/vs6/gst_inspect.dsp:
582         * win32/vs6/gst_launch.dsp:
583         * win32/vs6/libgstbase.dsp:
584         * win32/vs6/libgstelements.dsp:
585         * win32/vs6/libgstreamer.dsp:
586         * win32/vs7/GStreamer.vcproj:
587         * win32/vs7/gst-inspect.vcproj:
588         * win32/vs7/gst-launch.vcproj:
589         * win32/vs7/libgstbase.vcproj:
590           bump GST_MAJORMINOR to 0.10
591           reset libtool version
592
593 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
594
595         * po/LINGUAS:
596         * po/bg.po:
597           Added Bulgarian translation by (Alexander Shopov)
598
599 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
600
601         * tests/check/gst/gstplugin.c:
602           fix test
603
604 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
605
606         * common/gst-xmlinspect.py:
607         * common/gtk-doc-plugins.mak:
608         * configure.ac:
609         * docs/Makefile.am:
610         * docs/gst/Makefile.am:
611         * docs/gst/gstreamer-docs.sgml:
612         * docs/gst/gstreamer-sections.txt:
613         * docs/gst/gstreamer.types:
614         * docs/gst/gstreamer.types.in:
615         * docs/plugins/Makefile.am:
616         * docs/plugins/gstreamer-plugins-docs.sgml:
617         * docs/plugins/gstreamer-plugins-sections.txt:
618         * docs/plugins/gstreamer-plugins.types:
619         * docs/plugins/inspect.stamp:
620         * docs/plugins/inspect/plugin-coreelements.xml:
621         * docs/plugins/inspect/plugin-coreindexers.xml:
622         * docs/plugins/scanobj-build.stamp:
623         * gstreamer.spec.in:
624         * plugins/elements/Makefile.am:
625         * plugins/elements/gstelements.c:
626         * plugins/elements/gstfakesink.c:
627         * plugins/elements/gstfakesrc.c:
628         * plugins/elements/gstfilesink.c:
629         * plugins/elements/gstfilesrc.c:
630         * plugins/elements/gstqueue.c:
631         * plugins/indexers/Makefile.am:
632         * plugins/indexers/gstindexers.c:
633           document core plugins in a separate document just like all the
634           others
635           rename these plugins to something starting with core
636
637 2005-12-01  Andy Wingo  <wingo@pobox.com>
638
639         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
640         padding here before, but it missed the commit.
641
642 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
643
644         * libs/gst/controller/gstinterpolation.c:
645           whitespace prices have crashed, we should feel free to use some now
646           use gst_guint64_to_gdouble
647
648 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
649
650         * libs/gst/controller/gstcontroller.c:
651         * libs/gst/controller/gsthelper.c:
652         * libs/gst/controller/gstinterpolation.c:
653         * libs/gst/controller/lib.c:
654           wrap config.h include
655
656 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * docs/gst/gstreamer-sections.txt:
659           update docs
660
661 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * plugins/elements/gstelements.c:
664         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
665         (gst_fd_sink__class_init), (gst_fd_sink__init),
666         (gst_fd_sink__chain), (gst_fd_sink__set_property),
667         (gst_fd_sink__get_property):
668         * plugins/elements/gstfdsink.h:
669         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
670         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
671         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
672         (gst_fd_src_unlock), (gst_fd_src_set_property),
673         (gst_fd_src_get_property), (gst_fd_src_create),
674         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
675         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
676         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
677         (gst_fd_src_uri_handler_init):
678         * plugins/elements/gstfdsrc.h:
679         * plugins/elements/gstqueue.c: (gst_queue_get_type):
680           more anal cleanup
681
682 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
683
684         * docs/gst/Makefile.am:
685         * docs/gst/gstreamer.types.in:
686         * gst/Makefile.am:
687           fix the docs build
688
689 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
690
691         * configure.ac:
692         * gst/Makefile.am:
693         * gst/gst.c:
694         * gst/gstplugin.h:
695         * gst/gstregistry.h:
696         * tests/benchmarks/complexity.c:
697         * tests/benchmarks/mass-elements.c:
698         * tests/check/Makefile.am:
699         * tools/Makefile.am:
700         * tools/gst-inspect.c:
701         * tools/gst-xmlinspect.c:
702           various fixes to make
703           --disable-nls --disable-registry --disable-loadsave
704           --disable-parse --disable-gst-debug
705           work and get the core .so down to 360444 bytes after stripping
706
707 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
708
709         * Makefile.am:
710         * configure.ac:
711           descend into tests
712         * docs/random/thomasvs/TODO:
713         * tests/Makefile.am:
714         * tests/README:
715           add a README
716
717 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
718
719         * win32/GStreamer.vcproj:
720         * win32/MANIFEST:
721         * win32/Makefile:
722         * win32/Makefile.inspect:
723         * win32/Makefile.launch:
724         * win32/Makefile.register:
725         * win32/README.txt:
726         * win32/gst-inspect.vcproj:
727         * win32/gst-launch.vcproj:
728         * win32/gst-register.vcproj:
729         * win32/gstelements.vcproj:
730         * win32/gstgetbits.def:
731         * win32/gstgetbits.vcproj:
732         * win32/gstreamer-dbg.def:
733         * win32/gstreamer.def:
734         * win32/libgstbase.def:
735         * win32/libgstbase.vcproj:
736         * win32/link_oldruntime.c:
737         * win32/mman.c:
738         * win32/mman.h:
739         * win32/mman.inl:
740         * win32/msvc71.sln:
741           move even more stuff, win32/ is nice and clean now
742
743 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
744
745         * libs/gst/control/.cvsignore:
746         * win32/MANIFEST:
747         * win32/config.h:
748         * win32/dirent.c:
749         * win32/dirent.h:
750         * win32/gstbytestream.def:
751         * win32/gstbytestream.vcproj:
752         * win32/gstconfig.h:
753         * win32/gstenumtypes.c:
754         * win32/gstenumtypes.h:
755         * win32/gstoptimalscheduler.vcproj:
756         * win32/gstversion.h:
757         * win32/gtchar.h:
758         * win32/testsuite/bins.vcproj:
759         * win32/testsuite/bytestream.vcproj:
760         * win32/testsuite/caps.vcproj:
761         * win32/testsuite/cleanup.vcproj:
762         * win32/testsuite/clock.vcproj:
763         * win32/testsuite/debug.vcproj:
764         * win32/testsuite/dlopen.vcproj:
765         * win32/testsuite/dynparams.vcproj:
766         * win32/testsuite/elements.vcproj:
767         * win32/testsuite/ghostpads.vcproj:
768         * win32/testsuite/indexers.vcproj:
769         * win32/testsuite/negotiation.vcproj:
770         * win32/testsuite/parse.vcproj:
771         * win32/testsuite/plugin.vcproj:
772         * win32/testsuite/refcounting.vcproj:
773         * win32/testsuite/schedulers.vcproj:
774         * win32/testsuite/states.vcproj:
775         * win32/testsuite/tags.vcproj:
776         * win32/testsuite/threads.vcproj:
777           remove old win32 stuff that isn't maintained and should be
778           reorganized
779
780 2005-11-30  Andy Wingo  <wingo@pobox.com>
781
782         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
783         loading the gst.interfaces python module bork.
784
785         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
786         available since GLib 2.2. Fixes #318031.
787
788 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
789
790         * Makefile.am:
791         * check/.cvsignore:
792         * check/Makefile.am:
793         * check/elements/.cvsignore:
794         * check/elements/fakesrc.c:
795         * check/elements/fdsrc.c:
796         * check/elements/identity.c:
797         * check/generic/.cvsignore:
798         * check/generic/states.c:
799         * check/gst-libs/.cvsignore:
800         * check/gst-libs/controller.c:
801         * check/gst-libs/gdp.c:
802         * check/gst/.cvsignore:
803         * check/gst/capslist.h:
804         * check/gst/gst.c:
805         * check/gst/gstbin.c:
806         * check/gst/gstbuffer.c:
807         * check/gst/gstbus.c:
808         * check/gst/gstcaps.c:
809         * check/gst/gstelement.c:
810         * check/gst/gstevent.c:
811         * check/gst/gstghostpad.c:
812         * check/gst/gstiterator.c:
813         * check/gst/gstmessage.c:
814         * check/gst/gstminiobject.c:
815         * check/gst/gstobject.c:
816         * check/gst/gstpad.c:
817         * check/gst/gstpipeline.c:
818         * check/gst/gstplugin.c:
819         * check/gst/gstsegment.c:
820         * check/gst/gststructure.c:
821         * check/gst/gstsystemclock.c:
822         * check/gst/gsttag.c:
823         * check/gst/gstutils.c:
824         * check/gst/gstvalue.c:
825         * check/net/.cvsignore:
826         * check/net/gstnetclientclock.c:
827         * check/net/gstnettimeprovider.c:
828         * check/pipelines/.cvsignore:
829         * check/pipelines/cleanup.c:
830         * check/pipelines/simple_launch_lines.c:
831         * check/pipelines/stress.c:
832         * check/states/.cvsignore:
833         * check/states/sinks.c:
834         * configure.ac:
835         * examples/Makefile.am:
836         * examples/appreader/.cvsignore:
837         * examples/appreader/Makefile.am:
838         * examples/appreader/appreader.c:
839         * examples/controller/.cvsignore:
840         * examples/controller/Makefile.am:
841         * examples/controller/audio-example.c:
842         * examples/cutter/.cvsignore:
843         * examples/cutter/Makefile.am:
844         * examples/cutter/cutter.c:
845         * examples/cutter/cutter.h:
846         * examples/events/Makefile.am:
847         * examples/events/seek.c:
848         * examples/helloworld/.cvsignore:
849         * examples/helloworld/Makefile.am:
850         * examples/helloworld/helloworld.c:
851         * examples/helloworld2/.cvsignore:
852         * examples/helloworld2/Makefile.am:
853         * examples/helloworld2/helloworld2.c:
854         * examples/launch/.cvsignore:
855         * examples/launch/Makefile.am:
856         * examples/launch/mp3parselaunch.c:
857         * examples/launch/mp3play:
858         * examples/manual/.cvsignore:
859         * examples/manual/Makefile.am:
860         * examples/manual/extract.pl:
861         * examples/metadata/Makefile.am:
862         * examples/metadata/read-metadata.c:
863         * examples/mixer/.cvsignore:
864         * examples/mixer/Makefile.am:
865         * examples/mixer/mixer.c:
866         * examples/mixer/mixer.h:
867         * examples/pingpong/.cvsignore:
868         * examples/pingpong/Makefile.am:
869         * examples/pingpong/pingpong.c:
870         * examples/plugins/.cvsignore:
871         * examples/plugins/Makefile.am:
872         * examples/plugins/example.c:
873         * examples/plugins/example.h:
874         * examples/pwg/.cvsignore:
875         * examples/pwg/Makefile.am:
876         * examples/pwg/extract.pl:
877         * examples/queue/.cvsignore:
878         * examples/queue/Makefile.am:
879         * examples/queue/queue.c:
880         * examples/queue2/.cvsignore:
881         * examples/queue2/Makefile.am:
882         * examples/queue2/queue2.c:
883         * examples/queue3/.cvsignore:
884         * examples/queue3/Makefile.am:
885         * examples/queue3/queue3.c:
886         * examples/queue4/.cvsignore:
887         * examples/queue4/Makefile.am:
888         * examples/queue4/queue4.c:
889         * examples/retag/.cvsignore:
890         * examples/retag/Makefile.am:
891         * examples/retag/retag.c:
892         * examples/retag/transcode.c:
893         * examples/thread/.cvsignore:
894         * examples/thread/Makefile.am:
895         * examples/thread/thread.c:
896         * examples/typefind/.cvsignore:
897         * examples/typefind/Makefile.am:
898         * examples/typefind/typefind.c:
899         * examples/xml/.cvsignore:
900         * examples/xml/Makefile.am:
901         * examples/xml/createxml.c:
902         * examples/xml/runxml.c:
903         * tests/Makefile.am:
904         * tests/check/Makefile.am:
905         * testsuite/.cvsignore:
906         * testsuite/Makefile.am:
907         * testsuite/Rules:
908         * testsuite/caps/.cvsignore:
909         * testsuite/caps/Makefile.am:
910         * testsuite/caps/app_fixate.c:
911         * testsuite/caps/audioscale.c:
912         * testsuite/caps/caps.c:
913         * testsuite/caps/caps.h:
914         * testsuite/caps/caps_strings:
915         * testsuite/caps/compatibility.c:
916         * testsuite/caps/deserialize.c:
917         * testsuite/caps/enumcaps.c:
918         * testsuite/caps/eratosthenes.c:
919         * testsuite/caps/filtercaps.c:
920         * testsuite/caps/fixed.c:
921         * testsuite/caps/fraction-convert.c:
922         * testsuite/caps/fraction-multiply-and-zero.c:
923         * testsuite/caps/intersect2.c:
924         * testsuite/caps/intersection.c:
925         * testsuite/caps/normalisation.c:
926         * testsuite/caps/random.c:
927         * testsuite/caps/renegotiate.c:
928         * testsuite/caps/sets.c:
929         * testsuite/caps/simplify.c:
930         * testsuite/caps/string-conversions.c:
931         * testsuite/caps/structure.c:
932         * testsuite/caps/subtract.c:
933         * testsuite/caps/union.c:
934         * testsuite/debug/.cvsignore:
935         * testsuite/debug/Makefile.am:
936         * testsuite/debug/category.c:
937         * testsuite/debug/commandline.c:
938         * testsuite/debug/global.c:
939         * testsuite/debug/output.c:
940         * testsuite/debug/printf_extension.c:
941         * testsuite/dlopen/.cvsignore:
942         * testsuite/dlopen/Makefile.am:
943         * testsuite/dlopen/dlopen_gst.c:
944         * testsuite/dlopen/loadgst.c:
945         * testsuite/elements/.cvsignore:
946         * testsuite/elements/Makefile.am:
947         * testsuite/elements/gst-inspect-check.in:
948         * testsuite/elements/struct_i386.h:
949         * testsuite/elements/struct_size.c:
950         * testsuite/indexers/.cvsignore:
951         * testsuite/indexers/Makefile.am:
952         * testsuite/indexers/cache1.c:
953         * testsuite/indexers/indexdump.c:
954         * testsuite/parse/.cvsignore:
955         * testsuite/parse/Makefile.am:
956         * testsuite/parse/parse1.c:
957         * testsuite/parse/parse2.c:
958         * testsuite/plugin/.cvsignore:
959         * testsuite/plugin/Makefile.am:
960         * testsuite/plugin/README:
961         * testsuite/plugin/dynamic.c:
962         * testsuite/plugin/linked.c:
963         * testsuite/plugin/loading.c:
964         * testsuite/plugin/registry.c:
965         * testsuite/plugin/static.c:
966         * testsuite/plugin/static2.c:
967         * testsuite/plugin/testplugin.c:
968         * testsuite/plugin/testplugin2.c:
969         * testsuite/plugin/testplugin2_s.c:
970         * testsuite/plugin/testplugin_s.c:
971         * testsuite/refcounting/.cvsignore:
972         * testsuite/refcounting/Makefile.am:
973         * testsuite/refcounting/bin.c:
974         * testsuite/refcounting/element.c:
975         * testsuite/refcounting/element_pad.c:
976         * testsuite/refcounting/mainloop.c:
977         * testsuite/refcounting/mem.c:
978         * testsuite/refcounting/mem.h:
979         * testsuite/refcounting/object.c:
980         * testsuite/refcounting/pad.c:
981         * testsuite/refcounting/sched.c:
982         * testsuite/refcounting/thread.c:
983         * testsuite/states/.cvsignore:
984         * testsuite/states/Makefile.am:
985         * testsuite/states/bin.c:
986         * testsuite/states/locked.c:
987         * testsuite/states/parent.c:
988         * testsuite/threads/.cvsignore:
989         * testsuite/threads/159566.c:
990         * testsuite/threads/159852.c:
991         * testsuite/threads/Makefile.am:
992         * testsuite/threads/queue.c:
993         * testsuite/threads/signals.c:
994         * testsuite/threads/staticrec.c:
995         * testsuite/threads/thread.c:
996         * testsuite/threads/threadb.c:
997         * testsuite/threads/threadc.c:
998         * testsuite/threads/threadd.c:
999         * testsuite/threads/threade.c:
1000         * testsuite/threads/threadf.c:
1001         * testsuite/threads/threadg.c:
1002         * testsuite/threads/threadh.c:
1003         * testsuite/threads/threadi.c:
1004           move all of these under tests
1005
1006 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1007
1008         * configure.ac:
1009         * tests/Makefile.am:
1010           fix distcheck
1011
1012 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1013
1014         * docs/gst/gstreamer-sections.txt:
1015         * tests/sched/.cvsignore:
1016         * tests/sched/Makefile.am:
1017         * tests/sched/cases/(fs-fs).xml:
1018         * tests/sched/cases/(fs-i-fs).xml:
1019         * tests/sched/cases/(fs-i-i-fs).xml:
1020         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1021         * tests/sched/dynamic-pipeline.c:
1022         * tests/sched/interrupt1.c:
1023         * tests/sched/interrupt2.c:
1024         * tests/sched/interrupt3.c:
1025         * tests/sched/runtestcases:
1026         * tests/sched/runxml.c:
1027         * tests/sched/sched-stress.c:
1028         * tests/sched/sort.c:
1029         * tests/sched/testcases:
1030         * tests/sched/testcases1.tc:
1031         * tests/seeking/.cvsignore:
1032         * tests/seeking/Makefile.am:
1033         * tests/seeking/seeking1.c:
1034         * tests/threadstate/.cvsignore:
1035         * tests/threadstate/Makefile.am:
1036         * tests/threadstate/test1.c:
1037         * tests/threadstate/test2.c:
1038         * tests/threadstate/threadstate1.c:
1039         * tests/threadstate/threadstate2.c:
1040         * tests/threadstate/threadstate3.c:
1041         * tests/threadstate/threadstate4.c:
1042         * tests/threadstate/threadstate5.c:
1043           remove obsolete tests
1044         * configure.ac:
1045         * tests/bench-complexity.scm:
1046         * tests/bench-mass_elements.scm:
1047         * tests/complexity.c:
1048         * tests/complexity.gnuplot:
1049         * tests/instantiate/.cvsignore:
1050         * tests/instantiate/Makefile.am:
1051         * tests/instantiate/caps.c:
1052         * tests/mass_elements.c:
1053         * tests/network-clock-utils.scm:
1054         * tests/network-clock.scm:
1055         * tests/plot-data:
1056         First pass at cleaning up tests/ dir before moving the rest
1057         Combined with CVS surgery
1058
1059 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1060
1061         * po/POTFILES.in:
1062           queue has moved, update
1063
1064 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1065
1066         * docs/gst/gstreamer-sections.txt:
1067           remove double entries from the docs
1068         * gst/gst_private.h:
1069         * gst/gstinfo.c: (_gst_debug_init):
1070           remove the THREAD debug category
1071         * gst/Makefile.am:
1072         * gst/gstqueue.c:
1073         * gst/gstqueue.h:
1074         * docs/gst/gstreamer.types:
1075         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1076         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1077           completely move queue and fix up debugging categories
1078
1079 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1080
1081         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1082           make initialization portable, using LL is not
1083
1084 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * win32/common/gstconfig.h:
1087           add large padding
1088
1089 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * win32/common/libgstreamer.def:
1092           rename symbols; sort base section
1093
1094 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * gst/gstclock.c: (do_linear_regression):
1097           remove crack non-portable handrolled DEBUG macro
1098
1099 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1100
1101         * docs/random/release:
1102           update notes
1103         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1104         (gst_object_flags_get_type), (register_gst_bin_flags),
1105         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1106         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1107         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1108         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1109         (gst_caps_flags_get_type), (register_gst_clock_return),
1110         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1111         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1112         (gst_clock_flags_get_type), (register_gst_state),
1113         (gst_state_get_type), (register_gst_state_change_return),
1114         (gst_state_change_return_get_type), (register_gst_state_change),
1115         (gst_state_change_get_type), (register_gst_element_flags),
1116         (gst_element_flags_get_type), (register_gst_core_error),
1117         (gst_core_error_get_type), (register_gst_library_error),
1118         (gst_library_error_get_type), (register_gst_resource_error),
1119         (gst_resource_error_get_type), (register_gst_stream_error),
1120         (gst_stream_error_get_type), (register_gst_event_type_flags),
1121         (gst_event_type_flags_get_type), (register_gst_event_type),
1122         (gst_event_type_get_type), (register_gst_seek_type),
1123         (gst_seek_type_get_type), (register_gst_seek_flags),
1124         (gst_seek_flags_get_type), (register_gst_format),
1125         (gst_format_get_type), (register_gst_index_certainty),
1126         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1127         (gst_index_entry_type_get_type),
1128         (register_gst_index_lookup_method),
1129         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1130         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1131         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1132         (gst_index_flags_get_type), (register_gst_debug_level),
1133         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1134         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1135         (gst_iterator_result_get_type), (register_gst_iterator_item),
1136         (gst_iterator_item_get_type), (register_gst_message_type),
1137         (gst_message_type_get_type), (register_gst_mini_object_flags),
1138         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1139         (gst_pad_link_return_get_type), (register_gst_flow_return),
1140         (gst_flow_return_get_type), (register_gst_activate_mode),
1141         (gst_activate_mode_get_type), (register_gst_pad_direction),
1142         (gst_pad_direction_get_type), (register_gst_pad_flags),
1143         (gst_pad_flags_get_type), (register_gst_pad_presence),
1144         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1145         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1146         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1147         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1148         (gst_plugin_flags_get_type), (register_gst_rank),
1149         (gst_rank_get_type), (register_gst_query_type),
1150         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1151         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1152         (gst_tag_flag_get_type), (register_gst_task_state),
1153         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1154         (gst_alloc_trace_flags_get_type),
1155         (register_gst_type_find_probability),
1156         (gst_type_find_probability_get_type), (register_gst_uri_type),
1157         (gst_uri_type_get_type), (register_gst_parse_error),
1158         (gst_parse_error_get_type):
1159         * win32/common/gstenumtypes.h:
1160         * win32/common/gstversion.h:
1161           update visual studio generated files
1162
1163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1164
1165         * win32/vs6/libgstbase.dsp:
1166         * win32/vs6/libgstelements.dsp:
1167           update project files for new locations
1168
1169 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1170
1171         * Makefile.am:
1172           remove some files
1173         * README:
1174           reinstate and update
1175         * DEVEL:
1176         * REQUIREMENTS:
1177           removed
1178         * LICENSE:
1179         * docs/random/LICENSE:
1180           moved to random
1181
1182 2005-11-30  Edward Hervey  <edward@fluendo.com>
1183
1184         * gst/gsttypefind.c: (gst_type_find_register):
1185         * gst/gsttypefind.h:
1186         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1187         (gst_type_find_factory_dispose):
1188         * gst/gsttypefindfactory.h:
1189         Fix memory leak in GstTypeFindFactory.
1190
1191 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1192
1193         * gst/gst.c:
1194         * plugins/elements/Makefile.am:
1195         * plugins/elements/gstelements.c:
1196         * plugins/elements/gstqueue.c:
1197           move queue from core to the elements plugin
1198
1199 2005-11-29  Andy Wingo  <wingo@pobox.com>
1200
1201         * libs/gst/base/gstbasetransform.h: 
1202         * libs/gst/base/gstbasesrc.h: 
1203         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1204
1205         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1206         of pointers by which to pad very extensible base classes (like the
1207         ones in libs/gst/base).
1208
1209 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1210
1211         * docs/gst/gstreamer-docs.sgml:
1212         * docs/gst/gstreamer-sections.txt:
1213         * docs/libs/gstreamer-libs-docs.sgml:
1214         * docs/libs/gstreamer-libs-sections.txt:
1215           moving documentation from core to lib
1216
1217 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1218
1219         * check/Makefile.am:
1220         * configure.ac:
1221         * docs/gst/Makefile.am:
1222         * gst/Makefile.am:
1223         * gst/base/.cvsignore:
1224         * gst/base/Makefile.am:
1225         * gst/base/README:
1226         * gst/base/gstadapter.c:
1227         * gst/base/gstadapter.h:
1228         * gst/base/gstbasesink.c:
1229         * gst/base/gstbasesink.h:
1230         * gst/base/gstbasesrc.c:
1231         * gst/base/gstbasesrc.h:
1232         * gst/base/gstbasetransform.c:
1233         * gst/base/gstbasetransform.h:
1234         * gst/base/gstcollectpads.c:
1235         * gst/base/gstcollectpads.h:
1236         * gst/base/gstpushsrc.c:
1237         * gst/base/gstpushsrc.h:
1238         * gst/base/gsttypefindhelper.c:
1239         * gst/base/gsttypefindhelper.h:
1240         * gst/check/Makefile.am:
1241         * gst/check/gstcheck.c:
1242         * gst/check/gstcheck.h:
1243         * gst/net/Makefile.am:
1244         * gst/net/gstnet.h:
1245         * gst/net/gstnetclientclock.c:
1246         * gst/net/gstnetclientclock.h:
1247         * gst/net/gstnettimepacket.c:
1248         * gst/net/gstnettimepacket.h:
1249         * gst/net/gstnettimeprovider.c:
1250         * gst/net/gstnettimeprovider.h:
1251         * libs/gst/Makefile.am:
1252         * libs/gst/base/Makefile.am:
1253         * libs/gst/base/gstbasetransform.c:
1254         * libs/gst/check/Makefile.am:
1255         * plugins/elements/Makefile.am:
1256         * po/POTFILES.in:
1257           CVS surgery + support to move base, check, and net out of gst
1258           and into libs/gst
1259
1260 2005-11-29  Andy Wingo  <wingo@pobox.com>
1261
1262         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1263
1264         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1265         padding.
1266
1267         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1268
1269         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1270
1271         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1272
1273         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1274         padding; reduces object size by about 30%. We don't expect
1275         anything else to go into gstobject.
1276
1277         * gst/gstminiobject.h (struct _GstMiniObject)
1278         (struct _GstMiniObjectClass): Only one pointer of padding; the
1279         payload is only a pointer and two ints anyway. For the class there
1280         are only two methods as well.
1281         
1282         * gst/gstelement.h (struct _GstElementClass): Removed
1283         the state_changed signal callback, it is not used.
1284
1285 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1286
1287         * docs/gst/gstreamer.types:
1288           fix includes, though they are a little dinky
1289
1290 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1291
1292         * check/Makefile.am:
1293           look in the right place for elements, a lot more chance of
1294           success
1295         * gst/Makefile.am:
1296           remove indexers and elements subdirs
1297         * plugins/Makefile.am:
1298           make indexers conditional
1299
1300 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1301
1302         * Makefile.am:
1303         * configure.ac:
1304         * plugins/elements/Makefile.am:
1305         * plugins/elements/gstcapsfilter.c:
1306         * plugins/elements/gstfilesink.c:
1307         * plugins/elements/gstfilesrc.c:
1308         * plugins/elements/gstidentity.c:
1309         * plugins/indexers/Makefile.am:
1310           do CVS surgery and related build fixery to move elements
1311           and indexers in a new gstreamer/plugins directory, out of the
1312           gst/ directory
1313
1314 2005-11-29  Andy Wingo  <wingo@pobox.com>
1315
1316         * check/Makefile.am:
1317         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1318         * pkgconfig/gstreamer-net.pc.in:
1319         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1320         #322257.
1321
1322 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1323
1324         * tools/Makefile.am:
1325         * tools/gst-complete.1.in:
1326         * tools/gst-complete.c:
1327         * tools/gst-compprep.1.in:
1328         * tools/gst-compprep.c:
1329           removing -compprep and -complete
1330
1331 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1332
1333         * gst/gstevent.c: (gst_event_new_new_segment),
1334         (gst_event_parse_new_segment):
1335         * gst/gstevent.h:
1336           fix #320529 - clean up new_segment API and structure.
1337           Let's hope everyone was using the methods, and not the structure.
1338
1339 2005-11-29  Edward Hervey  <edward@fluendo.com>
1340
1341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1342         (gst_base_sink_event), (gst_base_sink_do_sync),
1343         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1344         Properly handle non GST_FORMAT_TIME segment
1345         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1346         Properly handle non GST_FORMAT_TIME segment
1347         * gst/gstsegment.c:
1348         This function is valid if the accumulator is 0 and the format
1349         is different from the requested format.
1350         
1351 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1352
1353         * docs/gst/gstreamer-sections.txt:
1354         Add gst_query_new_seeking and gst_query_parse_seeking to the
1355         docs.
1356
1357 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1358
1359         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1360           Treat a pad alloc with new caps the same as if we were not
1361           negotiated, in order to allow a changing upstream output
1362           to produce a new format of data.
1363
1364 2005-11-29  Edward Hervey  <edward@fluendo.com>
1365
1366         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1367         (gst_base_transform_event), (gst_base_transform_eventfunc):
1368         The event virtual method is now properly implemented, with a default
1369         handler
1370         Sub classes should call the parent_class event method. They should
1371         return FALSE if they had a problem handling the given event, or don't
1372         want GstBaseTransform to send that even downstream
1373         * gst/elements/gstidentity.c: (gst_identity_class_init),
1374         (gst_identity_init), (gst_identity_event),
1375         (gst_identity_transform_ip), (gst_identity_set_property),
1376         (gst_identity_get_property):
1377         * gst/elements/gstidentity.h:
1378         Added the single-segment boolean property.
1379         If set to TRUE, it will output a single segment of data, starting from
1380         0, will eat up all incoming newsegment, and modify the timestamp of the
1381         buffers accordingly
1382
1383 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1386           Don't ref NULL target pad (#322751). Improve docs.
1387
1388 2005-11-29  Michael Smith  <msmith@fluendo.com>
1389
1390         * gst/gstregistryxml.c: (load_plugin):
1391           Don't crash if we failed to load a feature from a plugin. 
1392
1393 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1394
1395         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1396         (GST_START_TEST):
1397           use more check API and less GLib API
1398
1399 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1400
1401         * Makefile.am:
1402           don't run checks if we don't have check
1403         * common/check.mak:
1404           remove the registry when running make torture
1405         * docs/gst/gstreamer-sections.txt:
1406           remove second multiply
1407         * gst/gstqueue.c: (gst_queue_loop):
1408           fix a compile warning when disabling debug
1409
1410 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1411
1412         * gst/gstinfo.h:
1413         Hey! Let's print the pad name if the pointer != NULL instead
1414         of when it == NULL :-)
1415
1416 2005-11-28  Wim Taymans  <wim@fluendo.com>
1417
1418         * check/gst/gstutils.c: (GST_START_TEST):
1419         Updated check, add some scaling accuracy checking code.
1420
1421         * gst/gstutils.c: (gst_util_div128_64),
1422         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1423         (gst_util_uint64_scale_int):
1424         Fix 6 times faster division code. Optimize for common 
1425         1/1 and less common X/1 cases.
1426
1427 2005-11-28  Wim Taymans  <wim@fluendo.com>
1428
1429         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1430         More checks.
1431
1432         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1433         (do_linear_regression), (gst_clock_add_observation):
1434         Cleanups.
1435         Release lock when the clock cannot be slaved.
1436         Catch the case where the regression returned an invalid denominator.
1437
1438         * gst/gstutils.c: (gst_util_div128_64_iterate),
1439         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1440         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1441         Add protentially more performant non-iterative 128/64 divide function
1442         that unfortunatly does not work yet.
1443         Shortcut the trivial 0/X = 0 case.
1444         Remove the warnings on overflow.
1445
1446 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1447
1448         * gst/gstplugin.c: (gst_plugin_register_func):
1449           everything causing a plugin not to load should be at least a WARNING
1450
1451 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1452
1453         * docs/random/ensonic/dparams.txt:
1454           some TODOs for the next dev cycle
1455         * libs/gst/controller/gstcontroller.c:
1456         (gst_controlled_property_set_interpolation_mode),
1457         (gst_controlled_property_new):
1458         * libs/gst/controller/gstcontroller.h:
1459           use base type to assign acccessor functions
1460
1461 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1462
1463         * check/Makefile.am:
1464         Oops, that should have been top_srcdir
1465
1466 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1467
1468         * check/Makefile.am:
1469         * check/elements/fdsrc.c: (GST_START_TEST):
1470         Use a cmdline define to specify the location of a file to use for
1471         testing, to avoid breaking distcheck.
1472
1473 2005-11-28  Andy Wingo  <wingo@pobox.com>
1474
1475         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1476
1477 2005-11-28  Edward Hervey  <edward@fluendo.com>
1478
1479         * tools/gst-launch.c: (main):
1480         Clarify the output strings, makes it easier to translate.
1481         Fixes #322626
1482
1483 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1484
1485         * gst/Makefile.am:
1486           don't try and build net if we don't even have <sys/socket.h>
1487
1488 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1489
1490         * check/Makefile.am:
1491         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1492         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1493           Add tests for fdsrc seekability
1494
1495         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1496         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1497         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1498         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1499         * gst/elements/gstfdsrc.h:
1500           fdsrc should not be a 'live' source.
1501           Implement seeking on seekable fd's.
1502
1503         * gst/gstquery.c: (gst_query_new_seeking),
1504         (gst_query_parse_seeking):
1505         * gst/gstquery.h:
1506           Implement SEEKING query functions: 
1507             *_new_seeking and *_parse_seeking
1508
1509 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * gst/gstelement.c: (gst_element_dispose):
1512           don't loop forever
1513
1514         * gst/gstiterator.c:
1515         * gst/gststructure.c:
1516           doc fixes
1517
1518         * libs/gst/controller/gstcontroller.c:
1519         (gst_controlled_property_set_interpolation_mode):
1520         * libs/gst/controller/gstcontroller.h:
1521         * libs/gst/controller/gstinterpolation.c:
1522         (interpolate_none_get_enum_value_array):
1523           support controlling enums
1524
1525 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1526
1527         * gst/gstvalue.c:
1528           Improve documentation for gst_value_union().
1529
1530         * gst/gstvalue.h:
1531           Change return value for union, intersect and subtract functions
1532           from gint to gboolean.
1533
1534 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1535
1536         * gst/gstvalue.c: (gst_value_serialize_any_list),
1537         (gst_value_transform_any_list_string),
1538         (gst_value_deserialize_list), (gst_value_deserialize_array),
1539         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1540         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1541         (gst_value_set_fraction_range_full),
1542         (gst_value_deserialize_fraction_range),
1543         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1544         (gst_value_deserialize_boolean),
1545         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1546         (gst_value_serialize_float), (gst_value_deserialize_float),
1547         (gst_string_wrap), (gst_value_deserialize_string),
1548         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1549         (gst_value_union_int_range_int_range),
1550         (gst_value_intersect_int_range_int_range),
1551         (gst_value_intersect_double_range_double_range),
1552         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1553         (gst_value_subtract_int_range_int_range),
1554         (gst_value_subtract_double_double_range),
1555         (gst_value_subtract_double_range_double_range),
1556         (gst_value_deserialize_fraction):
1557         * gst/gstvalue.h:
1558           Use gint, gdouble and gchar in our API instead of int, double and
1559           char (and make usage in gstvalue.c more consistent).
1560
1561 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1562
1563         * check/Makefile.am:
1564         * libs/gst/controller/Makefile.am:
1565         * libs/gst/dataprotocol/Makefile.am:
1566           fix up Makefile.am and remove GST_ENABLE_NEW
1567
1568 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1569
1570         * configure.ac:
1571         * gst/Makefile.am:
1572         * gst/base/Makefile.am:
1573         * gst/check/Makefile.am:
1574         * gst/elements/Makefile.am:
1575         * gst/net/Makefile.am:
1576           update LDFLAGS use some more
1577
1578 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1579
1580         * common/m4/gst-doc.m4:
1581           Fixes #312589
1582
1583 2005-11-26  Edward Hervey  <edward@fluendo.com>
1584
1585         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1586         This shouldn't issue a g_warning since it returns NULL if it
1587         couldn't find the plugin, and all functions using this behave
1588         properly on a NULL return. Switching to a GST_WARNING.
1589
1590 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1591
1592         * gst/gstbin.c: (gst_bin_handle_message_func):
1593         Don't leak clock messages.
1594
1595 2005-11-25  Wim Taymans  <wim@fluendo.com>
1596
1597         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1598         (gst_util_uint64_scale_int):
1599         Optimisations, remove unneeded vars.
1600
1601 2005-11-25  Wim Taymans  <wim@fluendo.com>
1602
1603         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1604         Added more checks for the high precision uint64 cases.
1605
1606         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1607         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1608         Implement high precision (guint64 * guint64) / guint64.
1609
1610 2005-11-24  Wim Taymans  <wim@fluendo.com>
1611
1612         * gst/base/gstbasesrc.c: (gst_base_src_query):
1613         Fix wrong percentage query.
1614
1615         * gst/gstutils.c: (gst_util_uint64_scale),
1616         (gst_util_uint64_scale_int):
1617         Add some more common cases that can be handled 
1618         efficiently to _scale.
1619
1620 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1621
1622         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1623         (gst_mini_object_suite):
1624           don't use check calls from threads; check probably isn't
1625           threadsafe and using a lock to make it threadsafe would
1626           defeat the purpose of this check
1627         * gst/check/gstcheck.c:
1628         * gst/check/gstcheck.h:
1629           use GST_DEBUG some more
1630
1631 2005-11-24  Wim Taymans  <wim@fluendo.com>
1632
1633         * gst/gstutils.c: (gst_util_uint64_scale),
1634         (gst_util_uint64_scale_int):
1635         Chain trivial case to _scale_int.
1636
1637 2005-11-24  Wim Taymans  <wim@fluendo.com>
1638
1639         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1640         Added test for scaling.
1641
1642         * gst/gstclock.h:
1643         Small doc fix.
1644
1645         * gst/gstutils.c: (gst_util_uint64_scale_int):
1646         Implemented high precision scaling code.
1647
1648 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1649
1650         * gst/gstinfo.h:
1651           do not crash on pad==NULL
1652
1653 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1654
1655         Patch by: Stefan Kost
1656
1657         * common/gtk-doc.mak:
1658         * docs/gst/Makefile.am:
1659         * docs/libs/Makefile.am:
1660           Fix distcheck issues for the libraries docs build
1661           Closes #319599.
1662
1663 2005-11-24  Michael Smith <msmith@fluendo.com>
1664
1665         * docs/manual/basics-helloworld.xml:
1666           Fix bug #315027: memory leak in example code in docs.
1667
1668 2005-11-24  Michael Smith <msmith@fluendo.com>
1669
1670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1671           Unlock the PREROLL_LOCK in a failure case.
1672
1673 2005-11-24  Wim Taymans  <wim@fluendo.com>
1674
1675         * docs/gst/gstreamer-sections.txt:
1676         * gst/base/gstadapter.h:
1677         * gst/base/gstbasesink.h:
1678         * gst/base/gstbasesrc.h:
1679         * gst/base/gstbasetransform.h:
1680         * gst/base/gstpushsrc.h:
1681         * gst/elements/gstfakesink.h:
1682         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1683         * gst/elements/gstfakesrc.h:
1684         * gst/elements/gstfilesink.h:
1685         * gst/elements/gstfilesrc.h:
1686         * gst/gst.c:
1687         * gst/gstbin.c:
1688         * gst/gstbuffer.c: (_gst_buffer_copy):
1689         * gst/gstbus.h:
1690         * gst/gstcaps.c:
1691         * gst/gstchildproxy.c:
1692         * gst/gstclock.c:
1693         * gst/gstelement.c:
1694         * gst/gstelementfactory.c:
1695         * gst/gstelementfactory.h:
1696         * gst/gstevent.c:
1697         * gst/gstghostpad.h:
1698         * gst/gstindex.h:
1699         * gst/gstinterface.h:
1700         * gst/gstminiobject.c:
1701         * gst/gstminiobject.h:
1702         * gst/gstpad.c:
1703         * gst/gstpad.h:
1704         * gst/gstpadtemplate.h:
1705         * gst/gstpipeline.h:
1706         * gst/gstpluginfeature.h:
1707         * gst/gstquery.h:
1708         * gst/gstqueue.h:
1709         * gst/gsttaglist.c:
1710         * gst/gsttaglist.h:
1711         * gst/gsttagsetter.c:
1712         * gst/gsttagsetter.h:
1713         * gst/gsttrace.c:
1714         * gst/gsttrace.h:
1715         * gst/gsttypefind.h:
1716         * gst/gsturi.h:
1717         * gst/gstvalue.c:
1718         * gst/net/gstnetclientclock.c:
1719         * gst/net/gstnetclientclock.h:
1720         * gst/net/gstnettimepacket.c:
1721         * gst/net/gstnettimeprovider.c:
1722         * gst/net/gstnettimeprovider.h:
1723         Doc fixes.
1724
1725 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1726
1727         * configure.ac: back to HEAD
1728
1729 === release 0.9.6 ===
1730
1731 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1732
1733         * configure.ac:
1734           releasing 0.9.6, "Always On Time"
1735
1736 2005-11-23  Wim Taymans  <wim@fluendo.com>
1737
1738         * docs/gst/gstreamer-sections.txt:
1739         * gst/glib-compat.c:
1740         * gst/gsttagsetter.c:
1741         * gst/gstvalue.c:
1742         * gst/net/gstnetclientclock.c:
1743         * gst/net/gstnettimepacket.h:
1744         Doc updates.
1745
1746 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1747
1748         * docs/faq/using.xml:
1749         * docs/libs/tmpl/gstcontrol.sgml:
1750         * docs/manual/advanced-dparams.xml:
1751         * docs/manual/appendix-checklist.xml:
1752         * docs/manual/basics-elements.xml:
1753         * docs/pwg/other-source.xml:
1754         * docs/random/moving-plugins:
1755         * gst/gstpad.c:
1756         * tools/gst-launch.1.in:
1757           remove mentions of sinesrc
1758
1759 2005-11-23  Michael Smith <msmith@fluendo.com>
1760
1761         * docs/gst/gstreamer-sections.txt:
1762           Update for new API and API changes.
1763         * gst/gstobject.h:
1764           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1765         * gst/gstvalue.c:
1766           Documentation typo fix.
1767         * gst/net/gstnettimepacket.c:
1768           Documentation fixes for arguments.
1769
1770 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1771
1772         * gst/gststructure.c: (gst_structure_get_fraction),
1773         (gst_structure_parse_value),
1774         (gst_structure_fixate_field_nearest_fraction):
1775         * gst/gststructure.h:
1776         * gst/gstutils.c: (gst_util_uint64_scale_int):
1777         * gst/gstutils.h:
1778         * scripts/update-funcnames:
1779         API Changes. 
1780         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1781         Make gst_structure_fixate_field_nearest_fraction take a numerator
1782         and denominator argument instead of a GValue
1783         add gst_structure_get_fraction helper function.
1784
1785 2005-11-23  Wim Taymans  <wim@fluendo.com>
1786
1787         * docs/design/part-TODO.txt:
1788         Update TODO.
1789
1790         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1791         * gst/net/gstnetclientclock.h:
1792         Use parent fields for timeout and window_size.
1793
1794 2005-11-23  Andy Wingo  <wingo@pobox.com>
1795
1796         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1797         rate_num/rate_denom change.
1798
1799         * gst/net/gstnetclientclock.c
1800         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1801         OBJECT_LOCK. Don't call add_observation with the lock.
1802
1803         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1804         fraction.
1805         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1806         rate fraction.
1807         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1808         deal with rate as a fraction whose numerator and denominator are
1809         GstClockTime values.
1810         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1811         master; the other fields are protected by the SLAVE_LOCK.
1812         (do_linear_regression): Note that this must be called with the
1813         SLAVE_LOCK.
1814         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1815         OBJECT_LOCK. Call set_calibration instead of touching the
1816         variables directly.
1817         (gst_clock_set_property, gst_clock_get_property): Protect
1818         master/slave parameters with the SLAVE_LOCK.
1819
1820         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1821         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1822         note that all of the instance variables that add_observation and
1823         the set_master functions use are protected by that lock and not
1824         the OBJECT_LOCK.
1825         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1826
1827         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1828         the caller to take the object lock.
1829
1830 2005-11-23  Wim Taymans  <wim@fluendo.com>
1831
1832         * gst/gsterror.c: (_gst_core_errors_init):
1833         * gst/gsterror.h:
1834         Add error for clock stuff.
1835
1836         * gst/gstpipeline.c: (gst_pipeline_change_state),
1837         (gst_pipeline_set_clock):
1838         Post clock error when clock cannot be used in a pipeline.
1839
1840 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1841
1842         * docs/gst/gstreamer-sections.txt:
1843           make two symbols from gstinfo private for the docs
1844         * gst/base/gstcollectpads.h:
1845         * gst/gstutils.c:
1846           fix doc typos, update docs
1847
1848 2005-11-22  Wim Taymans  <wim@fluendo.com>
1849
1850         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1851         (gst_base_sink_wait), (gst_base_sink_do_sync),
1852         (gst_base_sink_handle_event):
1853         * gst/base/gstbasesink.h:
1854         No need to store the clock, the parent element class already
1855         has it.
1856
1857         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1858         Updates for clock_set returning a gboolean
1859
1860         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1861         (gst_clock_id_wait_async), (gst_clock_class_init),
1862         (gst_clock_init), (gst_clock_finalize),
1863         (gst_clock_get_internal_time), (gst_clock_get_time),
1864         (gst_clock_slave_callback), (gst_clock_set_master),
1865         (gst_clock_get_master), (do_linear_regression),
1866         (gst_clock_add_observation), (gst_clock_set_property),
1867         (gst_clock_get_property):
1868         * gst/gstclock.h:
1869         Implement master/slave. When setting a clock as a slave, a
1870         periodic timeout is scheduled to sample master and slave times.
1871         Then the slave clock is recalibrated to match offset and rate
1872         of the master clock.
1873         Update logging a bit.
1874         Add flag so that a clock can state that is cannot be slaved to
1875         another clock.
1876
1877         * gst/gstelement.c: (gst_element_set_clock):
1878         * gst/gstelement.h:
1879         The set clock returns a gboolean for when an element cannot
1880         deal with the selected clock in the pipeline. 
1881
1882         * gst/gstpipeline.c: (gst_pipeline_change_state),
1883         (gst_pipeline_set_clock):
1884         * gst/gstpipeline.h:
1885         Handle the case where the selected clock cannot be set on
1886         the pipeline.
1887
1888         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1889         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1890         (gst_net_client_clock_set_property),
1891         (gst_net_client_clock_get_property),
1892         (gst_net_client_clock_observe_times):
1893         * gst/net/gstnetclientclock.h:
1894         Use regression code in GstClock parent, remove duplicated
1895         functionality.
1896
1897 2005-11-22  Michael Smith <msmith@fluendo.com>
1898
1899         * gst/gstutils.c: (gst_util_clock_time_scale):
1900         * gst/gstutils.h:
1901         * docs/gst/gstreamer-sections.txt:
1902           Rename method to have extra underscore.
1903
1904 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * gst/elements/Makefile.am:
1907         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1908         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1909         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1910         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1911         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1912         * gst/elements/gstfakesrc.h:
1913         * gst/gstqueue.c: (queue_leaky_get_type):
1914           correctly fix GEnumValues so that nick is the short lowercase
1915           dashed tag
1916         * tools/gst-inspect.c: (print_element_properties_info):
1917           also show the nick, since it's useful to use from parse_launch
1918           syntax
1919           Fixes #322139
1920
1921 2005-11-22  Michael Smith <msmith@fluendo.com>
1922
1923         * gst/gstutils.c: (gst_util_clocktime_scale):
1924         * gst/gstutils.h:
1925         * docs/gst/gstreamer-sections.txt:
1926           Add util method for scaling a clocktime by a fraction. Useful 
1927           implementation is left as an exercise for the reader.
1928
1929 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1930
1931         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1932         If needed, allocate storage in the destination value during
1933         collection.
1934
1935 2005-11-22  Edward Hervey  <edward@fluendo.com>
1936
1937         * docs/gst/gstreamer-sections.txt:
1938         * gst/Makefile.am:
1939         * gst/gst.h:
1940         * gst/gsturitype.c:
1941         * gst/gsturitype.h:
1942         * gst/gstutils.c: (gst_util_set_object_arg):
1943         * tools/gst-compprep.c: (main):
1944         * tools/gst-inspect.c: (print_element_properties_info):
1945         Removed GstURI, closes bug #321061
1946
1947 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1948
1949         * check/gst/gststructure.c: (GST_START_TEST):
1950         * gst/gststructure.c: (gst_structure_parse_value):
1951           Oops, broke automatic string type parsing.
1952           Add a test to catch it in future.
1953
1954 2005-11-22  Andy Wingo  <wingo@pobox.com>
1955
1956         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1957         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1958         Actually rename the function implementations. Grr.
1959
1960 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1961
1962         * check/gst/capslist.h:
1963           Comment test cases
1964         * check/gst/gststructure.c: (GST_START_TEST),
1965         (gst_structure_suite):
1966           Test automatic value type detection in gst_structure_from_string.
1967         * gst/gststructure.c: (gst_structure_parse_value):
1968           Add fraction as a type we try and guess automatically in
1969           caps/structure strings.
1970
1971 2005-11-22  Andy Wingo  <wingo@pobox.com>
1972
1973         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1974
1975         * gst/gsttagsetter.h:
1976         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1977         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1978         (gst_tag_setter_add_tag_valist)
1979         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1980         _add_values, _add_valist, and _add_valist_values. Since this is an
1981         interface the function suffixes should be more explicit so
1982         language binding don't end up with element.add_valist ->
1983         gst_tag_setter_add_valist, for example. Fixes #322069.
1984
1985 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1986
1987         * check/gst/gstcaps.c: (GST_START_TEST):
1988           Extend caps string tests to check that a caps to string
1989           conversion is reversible and produces the same caps.
1990
1991         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1992           Output "fraction" as the generic type fraction range, so caps
1993           serialisation and deserialisation works.
1994         * check/gst/capslist.h:
1995         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1996           Support 'MIN' and 'MAX' for deserialising fractions.
1997
1998 2005-11-22  Andy Wingo  <wingo@pobox.com>
1999
2000         * gst/gstevent.h (gst_event_new_new_segment)
2001         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2002         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2003         Renamed from *_newsegment, *_buffersize, *_notarget.
2004
2005         * scripts/update-funcnames: New script, performs the changes
2006         listed above.
2007
2008 2005-11-22  Wim Taymans  <wim@fluendo.com>
2009
2010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2011         Make sure the GstFlowReturn is returned.
2012
2013         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2014         (gst_bus_add_signal_watch):
2015         * gst/gstbus.h:
2016         add gst_bus_add_signal_watch_full.
2017
2018         * gst/gstplugin.c: (gst_plugin_load_file):
2019         Small style cleanup.
2020
2021 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2022
2023         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2024           Block the fakesrc srcpad when we send an event, to avoid
2025           contention on the stream_lock causing random test failures.
2026
2027 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2028
2029         * check/gst/gstvalue.c: (GST_START_TEST):
2030         * gst/gstvalue.c: (gst_value_fraction_subtract):
2031           Fix subtraction.
2032
2033 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2034
2035         * gst/gst.h:
2036           include "gstchildproxy.h"
2037         * gst/gstchildproxy.h:
2038         * libs/gst/controller/gstcontroller.h:
2039           use G_GNUC_NULL_TERMINATED
2040
2041 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2042
2043         * check/gst/capslist.h:
2044         * check/gst/gstcaps.c: (GST_START_TEST):
2045         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2046         * gst/gststructure.c: (gst_structure_parse_range),
2047         (gst_structure_fixate_field_nearest_fraction):
2048         * gst/gststructure.h:
2049         * gst/gstvalue.c: (gst_value_init_fraction_range),
2050         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2051         (gst_value_collect_fraction_range),
2052         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2053         (gst_value_set_fraction_range_full),
2054         (gst_value_get_fraction_range_min),
2055         (gst_value_get_fraction_range_max),
2056         (gst_value_serialize_fraction_range),
2057         (gst_value_transform_fraction_range_string),
2058         (gst_value_compare_fraction_range),
2059         (gst_value_deserialize_fraction_range),
2060         (gst_value_intersect_fraction_fraction_range),
2061         (gst_value_intersect_fraction_range_fraction_range),
2062         (gst_value_subtract_fraction_fraction_range),
2063         (gst_value_subtract_fraction_range_fraction),
2064         (gst_value_subtract_fraction_range_fraction_range),
2065         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2066         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2067         (gst_value_transform_string_fraction), (_gst_value_initialize):
2068         * gst/gstvalue.h:
2069           Implement fraction ranges and extend GstFraction to support
2070           arithmetic subtraction, as well as deserialization from integer
2071           strings such as "100"
2072           Add a testsuite as for int and double range set operations
2073
2074 2005-11-21  Andy Wingo  <wingo@pobox.com>
2075
2076         * gst/gsttaglist.h: 
2077         * gst/gstcaps.h: 
2078         * gst/gststructure.h: Add glib-compat.h.
2079
2080 2005-11-21  Wim Taymans  <wim@fluendo.com>
2081
2082         * gst/gstbin.c: (gst_bin_change_state_func):
2083         Fix for #321595
2084
2085 2005-11-21  Wim Taymans  <wim@fluendo.com>
2086
2087         * gst/gstsegment.h:
2088         And add a nice define too.
2089
2090 2005-11-21  Wim Taymans  <wim@fluendo.com>
2091
2092         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2093         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2094         (gst_segment_set_duration), (gst_segment_set_last_stop),
2095         (gst_segment_set_seek), (gst_segment_set_newsegment),
2096         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2097         (gst_segment_clip):
2098         * gst/gstsegment.h:
2099         Make binding friendly.
2100
2101 2005-11-21  Andy Wingo  <wingo@pobox.com>
2102
2103         * gst/gsttagsetter.h: 
2104         * gst/gsttaglist.h: 
2105         * gst/gststructure.h: 
2106         * gst/gstcaps.h: 
2107         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2108         #319940.
2109
2110         * gst/gsterror.c (_gst_core_errors_init):
2111         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2112         category.
2113
2114         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2115         (noinst_HEADERS): noinst the -private.
2116
2117 2005-11-21  Michael Smith <msmith@fluendo.com>
2118
2119         * gst/gstplugin.h:
2120         * gst/gstregistry.h:
2121           Remove unimplemented declarations for which we can see no sensible
2122           use.
2123
2124 2005-11-21  Andy Wingo  <wingo@pobox.com>
2125
2126         * gst/gst.h: Include glib-compat.h.
2127
2128         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2129
2130         * gst/glib-compat.c: Include the public and the private header.
2131
2132         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2133
2134         * gst/gstvalue.c: 
2135         * gst/gstpad.c: 
2136         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2137
2138         * check/gst/gstevent.c (create_custom_events): Check that
2139         FLUSH_STOP is serialized.
2140
2141         * check/elements/identity.c (event_func): 
2142         * check/elements/fakesrc.c (event_func): No stream lock, the core
2143         takes it.
2144
2145         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2146         stream lock taking, yay.
2147
2148         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2149         ensure that core takes the stream lock.
2150
2151         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2152         lock name change.
2153
2154         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2155         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2156         it already. For the flush start we do take it though so we get the
2157         right preroll state change messages.
2158
2159         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2160         the stream lock here, the core does it for us.
2161
2162         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2163         GST_STREAM_GET_LOCK.
2164         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2165         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2166         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2167         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2168         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2169         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2170
2171         * gst/gstpad.c: Update for stream lock name change.
2172
2173         * gst/base/gstbasesink.c: Update for preroll lock name change.
2174
2175 2005-11-21  Wim Taymans  <wim@fluendo.com>
2176
2177         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2178         (gst_clock_get_master):
2179         * gst/gstclock.h:
2180         * gst/gstsystemclock.c: (gst_system_clock_init):
2181         Convert Clock flags to object flags.
2182         Added methods to manage master/slave clocks.
2183
2184 2005-11-21  Wim Taymans  <wim@fluendo.com>
2185
2186         * check/gst/gstsegment.c: (GST_START_TEST):
2187         * docs/design/part-TODO.txt:
2188         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2189         (gst_base_sink_event), (gst_base_sink_do_sync),
2190         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2191         (gst_base_sink_query), (gst_base_sink_change_state):
2192         * gst/base/gstbasesink.h:
2193         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2194         (gst_base_src_default_newsegment),
2195         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2196         (gst_base_src_get_range), (gst_base_src_loop),
2197         (gst_base_src_change_state):
2198         * gst/base/gstbasesrc.h:
2199         * gst/base/gstbasetransform.c:
2200         (gst_base_transform_prepare_output_buf),
2201         (gst_base_transform_event), (gst_base_transform_change_state):
2202         * gst/base/gstbasetransform.h:
2203         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2204         (gst_collect_pads_event):
2205         * gst/base/gstcollectpads.h:
2206         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2207         (gst_fake_src_create):
2208         * gst/elements/gstfakesrc.h:
2209         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2210         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2211         (gst_segment_set_last_stop), (gst_segment_set_seek),
2212         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2213         (gst_segment_to_running_time), (gst_segment_clip):
2214         * gst/gstsegment.h:
2215         More segment updates, replace code in plugins with segment
2216         helper functions.
2217
2218 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2219
2220         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2221         Don't ignore sscanf results
2222
2223 2005-11-21  Andy Wingo  <wingo@pobox.com>
2224
2225         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2226
2227         * *.h:
2228         * *.c: Ran scripts/update-macros. Oh yes.
2229
2230         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2231         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2232         GST_GET_LOCK, etc.
2233
2234         * scripts/update-macros: New script. Run it on your files to
2235         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2236         well.
2237
2238 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2239
2240         * docs/gst/Makefile.am:
2241         * docs/gst/gstreamer-docs.sgml:
2242         * docs/gst/gstreamer-sections.txt:
2243         * docs/gst/gstreamer.types:
2244         * gst/gstinfo.h:
2245           more docs fixes, add new api to the docs
2246
2247 2005-11-21  Andy Wingo  <wingo@pobox.com>
2248
2249         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2250         state_broadcast call.
2251
2252         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2253
2254 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2255
2256         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2257         function calls for arrays.
2258
2259 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2260
2261         * docs/random/ensonic/media-device-daemon.txt:
2262           wild idea, can this be done?
2263         * docs/gst/gstreamer-sections.txt:
2264         * gst/gsterror.h:
2265         * gst/gstfilter.c:
2266         * gst/gstfilter.h:
2267         * gst/gstplugin.h:
2268         * gst/gstpluginfeature.c:
2269         * gst/gsttrace.c:
2270         * gst/gstvalue.c:
2271         * gst/gstvalue.h:
2272           doc fixes and additions
2273
2274 2005-11-21  Andy Wingo  <wingo@pobox.com>
2275
2276         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2277         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2278         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2279         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2280         private to the basesrc implementation.
2281
2282         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2283         behalf of event function if necessary. It should no longer be
2284         necessary to take the stream lock in pad's event functions. Fixes
2285         #320299.
2286
2287 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2288         * docs/gst/gstreamer-sections.txt:
2289         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2290         (gst_structure_fixate_field_nearest_double),
2291         (gst_structure_fixate_field_boolean):
2292         * gst/gststructure.h:
2293         * win32/common/libgstreamer.def:
2294         * win32/gstreamer.def:
2295
2296         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2297         (#322027)
2298
2299 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2300
2301         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2302         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2303         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2304         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2305         (gst_fdsrc_uri_handler_init):
2306         * gst/elements/gstfdsrc.h:
2307           Port fd:// URI handler from 0.8 to fdsrc
2308
2309 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2310
2311         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2312         (gst_value_serialize_fourcc):
2313         * gst/gstvalue.h:
2314           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2315           consistent with our other format defines (#320324).
2316
2317 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2318
2319         * gst/gstvalue.c: (gst_value_is_fixed):
2320           Revert previous commit. Value lists are by definition
2321           not fixed, as they are a list of possible values.
2322
2323 2005-11-21  Andy Wingo  <wingo@pobox.com>
2324
2325         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2326         during the stable series if we need it. Fixes #319178.
2327
2328         * gst/gstevent.c (gst_event_new_filler): Removed.
2329
2330         * check/gst/gstevent.c: Update comment about filler events.
2331
2332 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2333
2334         * gst/gstvalue.c: (gst_value_is_fixed):
2335           Should handle both value arrays and value lists.
2336
2337 2005-11-21  Andy Wingo  <wingo@pobox.com>
2338
2339         patch by: Alessandro Dessina <alessandro nnva org>
2340
2341         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2342         functions to access arrays. Fixes #321962.
2343
2344 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2345
2346         * docs/gst/gstreamer.types:
2347           gst_collectpads_get_type => gst_collect_pads_get_type.
2348           
2349         * gst/base/gstbasetransform.c:
2350           Remove unused SIGNAL_HANDOFF enum.
2351
2352 2005-11-21  Andy Wingo  <wingo@pobox.com>
2353
2354         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2355         the event type (upstream, downstream, serialized). Renamed
2356         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2357         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2358         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2359
2360         * gst/gstevent.c: Update for new CUSTOM event names.
2361
2362         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2363
2364         * gst/gstevent.h:
2365         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2366         bug #319392.
2367
2368 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2369
2370         * docs/gst/gstreamer-sections.txt:
2371         * win32/common/libgstbase.def:
2372         * win32/libgstbase.def:
2373         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2374         (gst_collect_pads_class_init), (gst_collect_pads_init),
2375         (gst_collect_pads_finalize), (gst_collect_pads_new),
2376         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2377         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2378         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2379         (gst_collect_pads_start), (gst_collect_pads_stop),
2380         (gst_collect_pads_peek), (gst_collect_pads_pop),
2381         (gst_collect_pads_available), (gst_collect_pads_read),
2382         (gst_collect_pads_flush), (gst_collect_pads_event),
2383         (gst_collect_pads_chain):
2384         * gst/base/gstcollectpads.h:
2385           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2386           unimplemented functions as unimplemented. Add padding to
2387           GstCollectData. (#320766, #320423)
2388
2389 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2390
2391         * gst/gstmessage.c:
2392           Improve docs for DURATION message (usage of duration parameter)
2393           (#320113)
2394
2395 2005-11-20  Wim Taymans  <wim@fluendo.com>
2396
2397         * check/Makefile.am:
2398         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2399         (main):
2400         * gst/Makefile.am:
2401         * gst/gst.h:
2402         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2403         (gst_segment_set_seek), (gst_segment_set_newsegment),
2404         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2405         (gst_segment_clip):
2406         * gst/gstsegment.h:
2407         Added segment helper structure and methods. Not fully implemented
2408         yet.
2409         Added segment check.
2410
2411 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2412
2413         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2414           Add a deserialisation test for fractions
2415         * examples/metadata/read-metadata.c: (message_loop),
2416         (make_pipeline), (main):
2417           Fix up metadata reading sample.
2418         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2419           Debug format fix
2420         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2421           Don't try and fixate empty caps
2422         * gst/gst_private.h:
2423           Wrap in G_BEGIN_DECLS/G_END_DECLS
2424         * gst/gstvalue.c: (gst_value_collect_fraction),
2425         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2426         (gst_value_transform_string_fraction),
2427         (gst_value_compare_fraction):
2428           Add some extra guards to ensure that we don't end up 
2429           with an invalid denominator of 0 in a gstfraction and
2430           that fractions always get reduced.
2431
2432 2005-11-20  Wim Taymans  <wim@fluendo.com>
2433
2434         * docs/gst/gstreamer-sections.txt:
2435         * gst/gstbuffer.h:
2436         * gst/gstelement.c:
2437         * gst/gstformat.c:
2438         * gst/gstformat.h:
2439         * gst/gstindex.h:
2440         * gst/gstquery.c:
2441         * gst/gstquery.h:
2442         * gst/gstvalue.c:
2443         Doc fixes.
2444
2445 2005-11-20  Wim Taymans  <wim@fluendo.com>
2446
2447         * docs/design/part-TODO.txt:
2448         * gst/gstcaps.h:
2449         Make a proper enum of the flag.
2450
2451 2005-11-19  Wim Taymans  <wim@fluendo.com>
2452
2453         * docs/design/part-TODO.txt:
2454         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2455         (gst_format_to_quark), (gst_format_register):
2456         * gst/gstformat.h:
2457         * gst/gstquery.c: (_gst_query_initialize),
2458         (gst_query_type_get_name), (gst_query_type_to_quark),
2459         (gst_query_type_register):
2460         * gst/gstquery.h:
2461         Add type to quark and type to string conversions.
2462
2463 2005-11-19  Andy Wingo  <wingo@pobox.com>
2464
2465         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2466         #320097.
2467
2468 2005-11-19  Wim Taymans  <wim@fluendo.com>
2469
2470         * docs/design/part-TODO.txt:
2471         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2472         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2473         (gst_bin_handle_message_func):
2474         * gst/gstbin.h:
2475         Make message handling overridable.
2476
2477 2005-11-19  Andy Wingo  <wingo@pobox.com>
2478
2479         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2480
2481         * gst/gstclock.h:
2482         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2483         be a GstClockTime.
2484         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2485         is a GstClockTime. Fixes #321710.
2486
2487         * gst/gstclock.h (GstClock): Remove offset property. Add
2488         internal_calibration and external_calibration. Fix padding. Pad
2489         also by GstClockTime so we don't run into problems.
2490
2491         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2492         (gst_clock_get_rate_offset): Remove.
2493         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2494
2495         * gst/gstutils.h:
2496         * gst/gstutils.c (g_static_rec_cond_wait)
2497         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2498
2499         * gst/gstbin.c: Remove terrible continue_state prototype.
2500
2501         * gst/gstelement.h (gst_element_continue_state): Make public.
2502
2503         * gst/gstelement.h:
2504         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2505         by continue_state. Fixes #319389.
2506
2507         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2508         Really fixes #168438. However I don't see anywhere where the
2509         filter function is called... stupid GStreamer...
2510         
2511         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2512         don't have a dispose function, so it won't get called when the
2513         object is unreffed, but oh well!
2514
2515         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2516         allows a destroy function to be set so user_data can be freed.
2517         Fixes #168438.
2518         (gst_index_set_filter): Call gst_index_set_filter_full.
2519
2520         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2521
2522         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2523         string should produce an error, given the lack of a way to
2524         represent NULL strings. Fixes #165650.
2525         
2526         * gst/gstvalue.h: 
2527         * gst/gstvalue.c (gst_value_array_append_value) 
2528         (gst_value_array_prepend_value, gst_value_array_get_size) 
2529         (gst_value_array_get_value): New API, copied from
2530         gst_value_list_*, only operates on arrays.
2531         (gst_value_list_append_value, gst_value_list_prepend_value) 
2532         (gst_value_list_concat, gst_value_list_get_size) 
2533         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2534
2535         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2536         init_list, because it works on both.
2537         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2538         (gst_value_copy_list_or_array): Renamed from copy_list.
2539         (gst_value_free_list_or_array): Renamed from free_list.
2540         (gst_value_collect_list_or_array): Renamed from collect_list.
2541         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2542         (gst_value_list_or_array_peek_pointer): Renamed from
2543         list_peek_pointer.
2544         (_gst_value_array_value_table, _gst_value_list_value_table):
2545         Update value table functions.
2546         (gst_value_compare_list_or_array): Renamed from compare_list.
2547
2548         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2549         some constness.
2550
2551         * gst/gsttaglist.c:
2552         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2553         GstTagList*. Fixes #143472.
2554
2555         * gst/gststructure.h: Clarify what the foreach/map functions can
2556         or can't do to their arguments.
2557
2558 2005-11-18  Wim Taymans  <wim@fluendo.com>
2559
2560         * gst/gstclock.c: (gst_clock_set_calibration),
2561         (gst_clock_get_calibration):
2562         Doc and API fixes.
2563         Calibration can be set with internal time equal to current
2564         internal time too.
2565
2566 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2567
2568         * gst/gsterror.c:
2569         * gst/gsterror.h:
2570           document
2571
2572 2005-11-18  Andy Wingo  <wingo@pobox.com>
2573
2574         * configure.ac: 
2575         * pkgconfig/gstreamer-net.pc.in:
2576         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2577         * pkgconfig/Makefile.am: Add net pkgconfig files.
2578
2579 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * gst/gstcaps.c:
2582         * gst/gstghostpad.c:
2583         * gst/gsttrace.c:
2584         * gst/gstvalue.c:
2585         * gst/gstvalue.h:
2586           docs fixes
2587
2588 2005-11-18  Andy Wingo  <wingo@pobox.com>
2589
2590         * gst/net/gstnetclientclock.c: Turn off debugging.
2591
2592         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2593         times connverge somewhat. Can't make a real test.
2594
2595         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2596         integer arithmetic. Return the minimum of the domain, which can be
2597         set as "internal" for gst_clock_set_calibration.
2598         (gst_net_client_clock_observe_times): Call _set_calibration.
2599         (gst_net_client_clock_new): Call _set_calibration instead of
2600         rate_offset.
2601
2602         * check/net/gstnetclientclock.c (test_functioning): Use the right
2603         adjustment api.
2604
2605         * gst/gstclock.h:
2606         * gst/gstclock.c (gst_clock_get_calibration) 
2607         (gst_clock_set_calibration): New functions, obsolete the ones I
2608         added yesterday. Doh. Precision issues mean we have to extrapolate
2609         from a point in the more recent past than 1970.
2610         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2611         obsolete.
2612         (gst_clock_adjust_unlocked): Use the right calibration data.
2613
2614 2005-11-18  Edward Hervey  <edward@fluendo.com>
2615
2616         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2617         Also reset the ->current_* values in READY->PAUSED
2618
2619 2005-11-18  Andy Wingo  <wingo@pobox.com>
2620
2621         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2622         Whoops, check the right fd. Also add some debugging.
2623         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2624         (do_linear_regression): Add a crapload of debugging. Subtract off
2625         the minimum values from the input series to discard unneeded bits.
2626         Use only int arithmetic. There is still double arithmetic when
2627         calculating the intercept that needs fixing. Return boolean to
2628         indicate success; FALSE would mean the domain or range is too
2629         great. Still needs fixes.
2630
2631 2005-11-18  Wim Taymans  <wim@fluendo.com>
2632
2633         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2634         For the current position in stream time, we need to subtract
2635         accumulated time.
2636         
2637         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2638         Release lock before calling the callback function of async
2639         entries.
2640
2641 2005-11-18  Andy Wingo  <wingo@pobox.com>
2642
2643         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2644         Port goes all the way to MAXUINT16.
2645
2646         * gst/net/gstnettimeprovider.c: Make the port range the same as
2647         for the kernel: 0 assigns, otherwise ports are less than
2648         MAXUINT16.
2649
2650         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2651         port change.
2652
2653         * check/net/gstnetclientclock.c (test_functioning): Add the start
2654         of another test. 
2655
2656 2005-11-18  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2659         (gst_bin_remove_func), (bin_bus_handler):
2660         * gst/gstbin.h:
2661         Removing a clock provider from a bin, triggers a clock lost message
2662         so that a new clock will be selected.
2663         Adding a clock to a bin triggers a clock provider message.
2664         Make sure we reselect a clock when we received a clock lost message.
2665         Keep a reference to the element that provided the clock.
2666
2667 2005-11-18  Andy Wingo  <wingo@pobox.com>
2668
2669         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2670         the clock initially so it produces values around the base time.
2671         (gst_net_client_clock_class_init): Typo fix.
2672         (gst_net_client_clock_thread): Add note on when the socket gets
2673         closed.
2674
2675 2005-11-17  Wim Taymans  <wim@fluendo.com>
2676
2677         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2678         Free remote and local time arrays.
2679
2680 2005-11-17  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/net/gstnetclientclock.c: (do_linear_regression),
2683         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2684         Fix compilation, uninitialized vars and a forgotten continue.
2685
2686 2005-11-17  Andy Wingo  <wingo@pobox.com>
2687
2688         * check/Makefile.am (check_PROGRAMS): 
2689         * check/net/gstnetclientclock.c: Add a most minimal test for the
2690         net client clock. More to come later.
2691
2692         * gst/net/gstnet.h: 
2693         * gst/net/Makefile.am: Add netclientclock.
2694
2695         * gst/net/gstnetclientclock.h:
2696         * gst/net/gstnetclientclock.c: New files, implement an untested
2697         GstClock that takes its time from a network time provider.
2698         Implements the algorithm in network-clock.scm.
2699
2700         * tests/network-clock.scm (*window-size*): Rename from
2701         *queue-length*.
2702         * tests/network-clock.scm (network-time): 
2703         * tests/network-clock-utils.scm (q-push): Update callers.
2704
2705 2005-11-17  Wim Taymans  <wim@fluendo.com>
2706
2707         * gst/gstbin.c: (gst_bin_provide_clock_func),
2708         (gst_bin_sort_iterator_new):
2709         And unref the child too..
2710
2711 2005-11-17  Wim Taymans  <wim@fluendo.com>
2712
2713         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2714         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2715         Refactor the sort iterator so it can be used while holding the
2716         LOCK too.
2717         Make clock selection select a clock closest to the source.
2718
2719 2005-11-17  Michael Smith <msmith@fluendo.com>
2720
2721         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2722         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2723         * gst/gstclock.h:
2724           Anonymous structs are a gcc (and some other compilers) extension, so
2725           don't use them. Since this is only for ABI-compatibility, and our
2726           API/ABI freeze is over in a few days, this whole thing will only
2727           last a few days, so don't bother trying to think up a meaningful
2728           name for the struct.
2729
2730 2005-11-17  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/gstclock.h (GstClock): Add rate and offset properties,
2733         preserving ABI stability. Add rate/offset accessors. Will file bug
2734         for the freeze break.
2735
2736         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2737         and offset, trying to keep precision and avoiding
2738         underflow/overflow.
2739         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2740         functions. Make gst_clock_set_time_adjust obsolete.
2741         (gst_clock_set_time_adjust): Note that this function is obsolete.
2742         Will file bug soon.
2743
2744         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2745         greppable by using GST_PADDING-1+1.
2746
2747 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2748
2749         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2750
2751         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2752           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2753
2754         * gst/gstpadtemplate.h:
2755         * gst/gstpluginfeature.h:
2756           Don't use c++ style comments in headers (#321638).
2757
2758 2005-11-16  Andy Wingo  <wingo@pobox.com>
2759
2760         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2761         buffer.
2762
2763         * check/net/gstnettimeprovider.c: Check to see that the time
2764         provider actually provides times. Works, yo!
2765
2766 2005-11-16  Wim Taymans  <wim@fluendo.com>
2767
2768         * check/Makefile.am:
2769         Enable more tests.
2770
2771         * check/elements/fakesrc.c: (GST_START_TEST):
2772         Set element to NULL before disposing it.
2773
2774 2005-11-16  Andy Wingo  <wingo@pobox.com>
2775
2776         * gst/net/Makefile.am:
2777         * gst/net/gstnet.h:
2778         * gst/net/gstnettimeprovider.c: 
2779         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2780         provider, include it from gstnet.h, and add it to the build.
2781
2782         * gst/net/gstnettimepacket.h: 
2783         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2784         sending and receiving.
2785
2786 2005-11-16  Wim Taymans  <wim@fluendo.com>
2787
2788         * check/Makefile.am:
2789         Enable valgrind check.
2790
2791         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2792         (gst_fake_src_alloc_buffer):
2793         Fix memleak.
2794
2795 2005-11-16  Wim Taymans  <wim@fluendo.com>
2796
2797         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2798         Call parent finalize too.
2799
2800 2005-11-16  Wim Taymans  <wim@fluendo.com>
2801
2802         * check/Makefile.am:
2803         Enable valgrind check that should work fine now.
2804
2805         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2806         * gst/gstqueue.c: (gst_queue_init):
2807         Fix memleaks in pad allocation.
2808
2809 2005-11-16  Andy Wingo  <wingo@pobox.com>
2810
2811         * gst/net/Makefile.am:
2812         * gst/net/gstnet.h: New part of core to hold network elements and
2813         objects. Put in core because it exposes API that applications want
2814         to use. The library is named libgstnet-tempname right now because
2815         of the existing libgstnet in gst-plugins-base. Solution is
2816         probably to rename the one in plugins-base; will file a bug for
2817         the freeze break.
2818
2819         * gst/net/gstnettimeprovider.c: 
2820         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2821         get_time call over the network.
2822
2823         * configure.ac: 
2824         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2825
2826         * check/Makefile.am:
2827         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2828         get additions shortly.
2829
2830 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * gst/gstpad.c: (gst_pad_new_from_static_template):
2833         * gst/gstpad.h:
2834           add gst_pad_new_from_static_template functions
2835         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2836         (gst_check_setup_sink_pad):
2837         * gst/elements/gsttee.c: (gst_tee_init):
2838           and use them
2839
2840 2005-11-16  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/gstpad.c: (gst_pad_pause_task):
2843         Removed warning, it's not really an error either.
2844
2845 2005-11-16  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/base/gstbasetransform.c:
2848         (gst_base_transform_prepare_output_buf),
2849         (gst_base_transform_event):
2850         Check if the caps are NULL, this can happen if the element
2851         is shutting down and the pad caps are set to NULL.
2852
2853 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * gst/elements/gsttee.c: (gst_tee_init):
2856           fix pad template leak in tee
2857
2858 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2859
2860         * gst/glib-compat.c: (g_value_dup_gst_object):
2861         * gst/glib-compat.h:
2862         * gst/gstpad.c: (gst_pad_set_property):
2863           use gst_object_ref when setting the pad template; this will
2864           trigger the pad template leaks on GLib 2.6 and the slaves
2865
2866 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2867
2868         * gst/glib-compat.c: (gst_flags_get_first_value):
2869         * gst/glib-compat.h:
2870         * gst/gstregistryxml.c:
2871           remove functions copied from GLib 2.6
2872
2873 2005-11-16  Michael Smith <msmith@fluendo.com>
2874
2875         * gst/Makefile.am:
2876           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2877           do, but only breaks with newer valgrind versions. We're not a
2878           valgrind tool, we have no link-time dependencies on libcoregrind.
2879
2880 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2881
2882         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2883           some debug changes
2884         * gst/gstmessage.h:
2885           typo fixes
2886
2887 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2888
2889         * gst/base/gstbasesrc.c: (gst_base_src_init):
2890         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2891         * gst/gstqueue.c: (gst_queue_init):
2892         * gst/gstregistryxml.c: (load_feature):
2893           Revert all these unrefs, they don't even pass make check !
2894
2895 2005-11-15  Johan Dahlin  <johan@gnome.org>
2896
2897         * gst/base/gstbasesrc.c: (gst_base_src_init):
2898         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2899         * gst/gstqueue.c: (gst_queue_init): 
2900         Free pad templates, fixes a couple of leaks.
2901
2902 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2903
2904         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * gst/gstpad.c: (gst_pad_get_property):
2907           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2908           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2909           (#321452)
2910
2911 2005-11-15  Wim Taymans  <wim@fluendo.com>
2912
2913         * gst/gstevent.c:
2914         Small doc update.
2915
2916 2005-11-15  Andy Wingo  <wingo@pobox.com>
2917
2918         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2919
2920         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2921         using GST_CLOCK_TIME_NONE to disable base time management.
2922         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2923         time if it was NONE before.
2924         (gst_pipeline_change_state): Only munge the base time if
2925         stream_time != GST_CLOCK_TIME_NONE.
2926
2927         * check/gst/gstpipeline.c (test_base_time): Punt around the
2928         problem of the probe not being called, because that's not the
2929         issue I'm looking at. Add a check that setting stream_time to NONE
2930         disables base time management.
2931         
2932 2005-11-15  Wim Taymans  <wim@fluendo.com>
2933
2934         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2935         segment_stop == -1 at startup.
2936
2937         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2938         (gst_base_transform_change_state):
2939         Init segment values at start.
2940
2941 2005-11-15  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2944         0 segment values are 0 in any format.
2945
2946         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2947         * gst/base/gstbasetransform.h:
2948         Parse newsegment correctly in basetransform
2949
2950         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2951         Sync to clock using updated segment values.
2952
2953 2005-11-15  Andy Wingo  <wingo@pobox.com>
2954
2955         * check/gst/gstpipeline.c (test_base_time): Add check that the
2956         base time and stream time are reset correctly.
2957
2958 2005-11-15  Wim Taymans  <wim@fluendo.com>
2959
2960         * docs/design/part-TODO.txt:
2961         Some more TODO items.
2962
2963 2005-11-15  Andy Wingo  <wingo@pobox.com>
2964
2965         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2966         error if the user selected "no clock" as the clocking method.
2967
2968         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2969         timestamps with live capture.
2970
2971         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2972         is 0 but we are a live source, timestamp the buffers using the
2973         element's clock.
2974
2975 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2976
2977         * docs/gst/gstreamer-sections.txt:
2978         * gst/gsterror.c:
2979         * gst/gstghostpad.c:
2980         * gst/gstobject.h:
2981         * gst/gstxml.c:
2982           more section docs
2983
2984 2005-11-14  Wim Taymans  <wim@fluendo.com>
2985
2986         * common/gst.supp:
2987           add suppressions from Wim's Debian machine
2988
2989 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2990
2991         * common/gst.supp:
2992           add suppressions from Andy's AMD64 Ubuntu machine
2993
2994 2005-11-14  Andy Wingo  <wingo@pobox.com>
2995
2996         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2997         STATE_LOCK not necessary. Fixes #311489.
2998
2999         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3000         #305291.
3001
3002         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3003         this function is not implemented.
3004
3005 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3006
3007         * gst/base/gstbasetransform.c:
3008         (gst_base_transform_prepare_output_buf):
3009         Ref the source pad caps while we need them.
3010         Fixes (#321386)
3011
3012 2005-11-11  Wim Taymans  <wim@fluendo.com>
3013
3014         * docs/gst/gstreamer-sections.txt:
3015         Added some docs for GstCollectData.
3016
3017         * gst/base/gstadapter.c:
3018         Some small code example fix.
3019
3020         * gst/base/gstcollectpads.c:
3021         * gst/base/gstcollectpads.h:
3022         Document some more.
3023
3024 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         * configure.ac: back to HEAD
3027
3028 === release 0.9.5 ===
3029
3030 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3031
3032         * configure.ac:
3033           releasing 0.9.5, "Bike Lunch Day"
3034
3035 2005-11-11  Wim Taymans  <wim@fluendo.com>
3036
3037         * gst/gstbuffer.c: (_gst_buffer_copy):
3038         Copy more flags.
3039
3040         * gst/gstcaps.c: (gst_caps_is_equal):
3041         Fix some docs.
3042         Make _is_equal fast in the trivial cases.
3043
3044         * gst/gstminiobject.c:
3045         * gst/gstminiobject.h:
3046         More docs. Spifify .h file.
3047
3048         * gst/gstutils.c:
3049         Small doc update.
3050
3051 2005-11-11  Wim Taymans  <wim@fluendo.com>
3052
3053         * gst/base/gstbasetransform.c:
3054         (gst_base_transform_prepare_output_buf),
3055         (gst_base_transform_handle_buffer):
3056         Small cleanups.
3057         If we're processing a buffer and need to allocate an output
3058         buffer, we cannot accept a format change. If we did get a 
3059         format change, we have to alloc a buffer ourselves of the 
3060         right size.
3061
3062 2005-11-11  Wim Taymans  <wim@fluendo.com>
3063
3064         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3065         While checking the flag for reentrancy in the gstcaps function
3066         is nice to detect recursive invocations, it also makes it 
3067         impossible to call getcaps from multiple threads, which must be
3068         possible. So, checking for recursive calls has to go.
3069
3070 2005-11-11  Michael Smith <msmith@fluendo.com>
3071
3072         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3073           Don't sync on buffers that fall partially outside our current
3074           segment. Prevents an assertion failure/abort playing some files.
3075
3076 2005-11-10  Andy Wingo  <wingo@pobox.com>
3077
3078         * check/gst/gstbin.c (test_message_state_changed_children): Style
3079         fix..
3080
3081         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3082         gst_bus_poll with the signal watch. Ensures that poll and a signal
3083         watch see the same messages.
3084
3085         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3086         a poll and a watch at the same time get the same messages.
3087
3088 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3089
3090         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3091         * gst/gstcaps.c: (gst_caps_intersect):
3092           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3093           and it's not needed.
3094
3095 2005-11-10  Wim Taymans  <wim@fluendo.com>
3096
3097         * docs/design/part-TODO.txt:
3098         Updated todo.
3099
3100 2005-11-10  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3103         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3104         (gst_base_src_do_sync), (gst_base_src_get_range):
3105         Implement clock sync in base class.
3106
3107 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3108
3109         patch by: Tim-Philipp Müller <tim at centricular dot net>
3110
3111         * gst/gststructure.c: (gst_structure_parse_field),
3112         (gst_structure_from_string):
3113           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3114           so that gst_parse_launch() can deal with spaces in filtered link
3115           caps (fixes #164479)
3116         * check/gst/capslist.h:
3117         * check/gst/gststructure.c: (GST_START_TEST):
3118           add unit tests for this change
3119
3120 2005-11-10  Wim Taymans  <wim@fluendo.com>
3121
3122         * docs/gst/gstreamer-sections.txt:
3123         * gst/gstelement.c:
3124         * gst/gstelement.h:
3125         Fix docs, move some STATE macros to private.
3126
3127 2005-11-10  Wim Taymans  <wim@fluendo.com>
3128
3129         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3130         Added check for bug #317341
3131
3132         * gst/gstbuffer.c:
3133         * gst/gstbuffer.h:
3134         Some more spiffifying.
3135
3136         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3137         Call peer linkfunction if we are a source pad. Totally fixes
3138         #317341
3139
3140         * gst/gstpad.c:
3141         Update docs, source pads should call the peer linkfunction
3142         so they can atomically perform the pad link.
3143
3144 2005-11-09  Wim Taymans  <wim@fluendo.com>
3145
3146         * gst/gstbuffer.c:
3147         * gst/gstbuffer.h:
3148         Uber-spiffy-spiffify some more.
3149
3150 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3153         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3155         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3156         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3157         * gst/gstpad.c: (gst_pad_init):
3158           Use GST_DEBUG_FUNCPTR() more extensively.
3159
3160 2005-11-09  Wim Taymans  <wim@fluendo.com>
3161
3162         * gst/gstobject.c: (gst_object_class_init):
3163         * gst/gstobject.h:
3164         Documentation fixes.
3165
3166 2005-11-09  Edward Hervey  <edward@fluendo.com>
3167
3168         * gst/gsttypefindfactory.c:
3169         Fix docs.
3170         
3171 2005-11-09  Edward Hervey  <edward@fluendo.com>
3172
3173         * gst/base/gsttypefindhelper.c:
3174         * gst/gsttypefind.c:
3175         * gst/gsttypefind.h:
3176         Fix docs.
3177
3178 2005-11-09  Wim Taymans  <wim@fluendo.com>
3179
3180         * gst/gstiterator.c:
3181         Fix revision data.
3182
3183         * gst/gsttask.c:
3184         * gst/gsttask.h:
3185         Fix docs.
3186
3187 2005-11-09  Wim Taymans  <wim@fluendo.com>
3188
3189         * gst/gstevent.h:
3190         * gst/gsturi.h:
3191         Fix docs.
3192
3193 2005-11-09  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/gst/gstreamer-sections.txt:
3196         Moved the message async delivery private lock and cond
3197         to the private section.
3198
3199         * gst/gstmessage.c:
3200         * gst/gstmessage.h:
3201         Fixed docs.
3202
3203 2005-11-09  Edward Hervey  <edward@fluendo.com>
3204
3205         * docs/gst/gstreamer-sections.txt:
3206         * gst/gsturi.c:
3207         * gst/gsturi.h:
3208         Document GstURIHandler
3209
3210 2005-11-09  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3213         (gst_iterator_find_custom):
3214         * gst/gstiterator.h:
3215         Fix iterator docs.
3216
3217 2005-11-09  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/gstbin.h:
3220         Document another field.
3221
3222         * gst/gststructure.c:
3223         * gst/gststructure.h:
3224         Document.
3225
3226 2005-11-09  Wim Taymans  <wim@fluendo.com>
3227
3228         * gst/gstbin.h:
3229         Documented structs.
3230
3231 2005-11-09  Wim Taymans  <wim@fluendo.com>
3232
3233         * docs/gst/gstreamer-sections.txt:
3234         Added some new macros.
3235
3236         * gst/gstclock.c:
3237         * gst/gstclock.h:
3238         * gst/gstobject.h:
3239         Docs updates.
3240
3241 2005-11-09  Wim Taymans  <wim@fluendo.com>
3242
3243         * docs/design/part-TODO.txt:
3244         Some more items for the TODO
3245
3246         * gst/gstcaps.c:
3247         * gst/gstcaps.h:
3248         Document GstCaps.
3249
3250 2005-11-09  Andy Wingo  <wingo@pobox.com>
3251
3252         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3253         to work on something else now tho...
3254
3255         * gst/base/gstadapter.c: More adapter docs.
3256
3257         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3258         (gst_file_sink_stop): New functions, replace the state change
3259         handler.
3260         (gst_file_sink_class_init): Hook up the start and stop functions.
3261         (gst_file_sink_base_init): Don't set the state change handler any
3262         more. It was a bit ugly too, being set from here...
3263         (gst_file_sink_get_property, gst_file_sink_set_property):
3264         Cleanups...
3265         (gst_file_sink_set_location): More robust check that doesn't call
3266         GST_STATE. Ugggggg.
3267
3268 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3269
3270         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3271           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3272
3273 2005-11-08  Wim Taymans  <wim@fluendo.com>
3274
3275         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3276         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3277         (gst_base_sink_chain), (gst_base_sink_change_state):
3278         * gst/base/gstbasesink.h:
3279         * gst/base/gstbasesrc.h:
3280         * gst/gstelement.h:
3281         * gst/gstevent.h:
3282         Avoid excessive typechecking in macros.
3283
3284         * gst/gstminiobject.c: (gst_mini_object_get_type),
3285         (gst_mini_object_init), (gst_mini_object_new),
3286         (gst_mini_object_free):
3287         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3288         (gst_object_finalize):
3289         Remove cruft code, optimize alloc_trace.
3290
3291 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3292
3293         * docs/faq/gst-uninstalled:
3294           fix up PS1 for systems that try to reset it
3295
3296 2005-11-07  Wim Taymans  <wim@fluendo.com>
3297
3298         * gst/base/gstbasesrc.c: (gst_base_src_init),
3299         (gst_base_src_get_range):
3300         Set the segment_end to -1 initially. Fixed typefind.
3301
3302 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * gst/base/gstadapter.c:
3305           Debug category should be 'adapter', not 'GstAdapter'.
3306           
3307         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3308         (gst_collectpads_class_init), (gst_collectpads_init),
3309         (gst_collectpads_peek), (gst_collectpads_pop),
3310         (gst_collectpads_event), (gst_collectpads_chain):
3311           Add debug category and some debugging output. Use boilerplate
3312           macros. Remove some extraneous words from docs.
3313
3314 2005-11-05  Andy Wingo  <wingo@pobox.com>
3315
3316         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3317         macro.
3318
3319 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * docs/gst/gstreamer-sections.txt:
3322         * gst/gstcaps.h:
3323         * gst/gstinfo.c:
3324         * gst/gstminiobject.h:
3325         * gst/gstobject.h:
3326         * gst/gstutils.h:
3327           more docs added
3328
3329 2005-11-04  Wim Taymans  <wim@fluendo.com>
3330
3331         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3332         Small update to stop at the configured segment_end
3333         position.
3334
3335 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3336
3337         * gst/gstregistry.c:
3338         * gst/gstregistry.h:
3339           added missing docs
3340
3341 2005-11-04  Edward Hervey  <edward@fluendo.com>
3342
3343         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3344         Check if we are doing a segment seek and have arrived at the
3345         end of that segment.
3346
3347 2005-11-04  Wim Taymans  <wim@fluendo.com>
3348
3349         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3350         Don't leak a mutex unlock in case of an error.
3351
3352         * gst/gstbus.h:
3353         Doc fixes.
3354
3355 2005-11-04  Wim Taymans  <wim@fluendo.com>
3356
3357         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3358         (gst_bus_post):
3359         Get the context to wake up only once.
3360
3361 2005-11-03  Wim Taymans  <wim@fluendo.com>
3362
3363         * check/states/sinks.c: (GST_START_TEST):
3364         Uncomment fixed check.
3365
3366         * docs/design/part-TODO.txt:
3367         Updated TODO.
3368
3369         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3370         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3371         (gst_base_sink_get_position):
3372         If we are going to PLAYING, post the right pending state
3373         when we post the intermediate paused message.
3374
3375         * gst/gstelement.c: (gst_element_continue_state),
3376         (gst_element_set_state_func), (gst_element_change_state):
3377         Don't post state changes that were between the same state
3378         and were not ASYNC.
3379
3380 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3381
3382         * docs/gst/gstreamer-sections.txt:
3383         * gst/gstcaps.h:
3384         * gst/gstinfo.c:
3385         * gst/gstminiobject.h:
3386         * gst/gstobject.h:
3387         * gst/gstutils.h:
3388           more docs and doc style fixes
3389
3390 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3391
3392         * docs/gst/gstreamer-sections.txt:
3393         * gst/gstelement.c:
3394         * gst/gstminiobject.c:
3395         doc fixes
3396
3397 2005-11-03  Andy Wingo  <wingo@pobox.com>
3398
3399         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3400         state-changed messages actually have the right order and the right
3401         values.
3402
3403 2005-11-03  Wim Taymans  <wim@fluendo.com>
3404
3405         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3406         Added some more checks. Specifically the case where NO_PREROLL
3407         elements are in the pipeline.
3408
3409         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3410         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3411         (gst_base_sink_get_position):
3412         Post READY->PAUSED state change messages too.
3413         Fix bug where VOID was posted as pending state...
3414
3415         * gst/gstbin.c: (gst_bin_recalc_state):
3416         use _element_continue_state() to continue the state change.
3417
3418         * gst/gstelement.c: (gst_element_continue_state),
3419         (gst_element_commit_state), (gst_element_set_state_func),
3420         (gst_element_change_state), (gst_element_change_state_func):
3421         Lots of state change cleanups, assign the STATE_RETURN in
3422         a new continue_state() function that also propagates the
3423         last return value from a state change to the app.
3424         Update some debug statements with proper category.
3425
3426 2005-11-03  Wim Taymans  <wim@fluendo.com>
3427
3428         * docs/design/part-events.txt:
3429         * docs/design/part-gstpipeline.txt:
3430         * docs/design/part-messages.txt:
3431         * docs/design/part-overview.txt:
3432         * docs/design/part-seeking.txt:
3433         * docs/design/part-states.txt:
3434         * docs/design/part-trickmodes.txt:
3435         * docs/manual/advanced-position.xml:
3436         Small docs updates.
3437
3438         * gst/gstobject.h:
3439         People think !! is ugly, this looks better.
3440
3441         * gst/gstpad.c: (gst_pad_set_blocked_async):
3442         Remove !! since it's fixed elsewhere now.
3443
3444 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3445
3446         * gst/gstminiobject.h:
3447         * gst/gstobject.h:
3448           Add !! to _FLAG_IS_SET macros to make the result boolean.
3449
3450 2005-11-03  Edward Hervey  <edward@fluendo.com>
3451
3452         * gst/gstpad.c: (gst_pad_set_blocked_async):
3453         comparing a flag and a gboolean rarely returns coherent results...
3454         Added two characters (!!) to make that work correctly.
3455         
3456 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3457
3458         * gst/gstbus.c: (gst_bus_class_init):
3459           Fix some typos.
3460           
3461         * gst/gstqueue.c: (gst_queue_loop):
3462           Don't assume a miniobject that isn't a buffer is an
3463           event (it could be that there is a refcounting
3464           problem somewhere and the pointer is stale and
3465           refers to an already destroyed miniobject).
3466
3467 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3468
3469         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3470
3471 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3472
3473         * docs/manual/advanced-position.xml:
3474           Update seek example and explanations to current 0.9 API.
3475
3476         * gst/elements/gsttypefindelement.c:
3477         (gst_type_find_element_activate):
3478           Remove FIXME comment now that the found caps
3479           are unreffed.
3480
3481 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3482
3483         * gst/gstregistryxml.c: (load_feature):
3484           Add another GST_STR_NULL instance
3485
3486 2005-11-02  Edward Hervey  <edward@fluendo.com>
3487
3488         * gst/gstpad.c: (handle_pad_block):
3489         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3490         
3491 2005-11-02  Wim Taymans  <wim@fluendo.com>
3492
3493         * gst/gstbin.c:
3494         Fix typo in docs.
3495
3496         * gst/gstelement.c: (gst_element_commit_state):
3497         Remove unused value.
3498
3499         * gst/gstiterator.c:
3500         Mention that the returned element is reffed in the docs.
3501
3502 2005-11-02  Wim Taymans  <wim@fluendo.com>
3503
3504         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3505         (gst_pad_push), (gst_pad_push_event):
3506         Unlock blocked pads when they are flushed.
3507
3508 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3509
3510         * docs/README:
3511         * docs/gst/gstreamer-sections.txt:
3512         * gst/gstbin.c:
3513           doc updates
3514         * gst/gstregistry.c: (gst_registry_scan_path_level):
3515           fix for a nasty little missed situation where an installed plug-in
3516           which was in the cache did not get overridden by an uninstalled one
3517           which was earlier in the plugin path because the newly created plugin
3518           for the uninstalled one (not in the registry) didn't get its
3519           ->registered set to TRUE
3520
3521 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3524         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3525         (gst_collectpads_is_active), (gst_collectpads_collect),
3526         (gst_collectpads_collect_range), (gst_collectpads_start),
3527         (gst_collectpads_stop), (gst_collectpads_peek),
3528         (gst_collectpads_pop), (gst_collectpads_available),
3529         (gst_collectpads_read), (gst_collectpads_flush):
3530           Guard public API with assertions.
3531         
3532         * gst/gstpad.c:
3533           Fix docs for gst_pad_set_link_function().
3534
3535 2005-11-02  Johan Dahlin  <johan@gnome.org>
3536
3537         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3538         Unref found_caps after we used it.
3539
3540 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3543           Don't try to ref NULL.
3544
3545 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3546
3547         * win32/common/config.h.in:
3548           provide a GST_FUNCTION that just gives a string for now
3549
3550 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3551
3552         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3553         (gst_object_flags_get_type), (register_gst_bin_flags),
3554         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3555         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3556         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3557         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3558         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3559         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3560         (gst_clock_flags_get_type), (register_gst_state),
3561         (gst_state_get_type), (register_gst_state_change_return),
3562         (gst_state_change_return_get_type), (register_gst_state_change),
3563         (gst_state_change_get_type), (register_gst_element_flags),
3564         (gst_element_flags_get_type), (register_gst_core_error),
3565         (gst_core_error_get_type), (register_gst_library_error),
3566         (gst_library_error_get_type), (register_gst_resource_error),
3567         (gst_resource_error_get_type), (register_gst_stream_error),
3568         (gst_stream_error_get_type), (register_gst_event_type),
3569         (gst_event_type_get_type), (register_gst_seek_type),
3570         (gst_seek_type_get_type), (register_gst_seek_flags),
3571         (gst_seek_flags_get_type), (register_gst_format),
3572         (gst_format_get_type), (register_gst_index_certainty),
3573         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3574         (gst_index_entry_type_get_type),
3575         (register_gst_index_lookup_method),
3576         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3577         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3578         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3579         (gst_index_flags_get_type), (register_gst_debug_level),
3580         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3581         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3582         (gst_iterator_result_get_type), (register_gst_iterator_item),
3583         (gst_iterator_item_get_type), (register_gst_message_type),
3584         (gst_message_type_get_type), (register_gst_mini_object_flags),
3585         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3586         (gst_pad_link_return_get_type), (register_gst_flow_return),
3587         (gst_flow_return_get_type), (register_gst_activate_mode),
3588         (gst_activate_mode_get_type), (register_gst_pad_direction),
3589         (gst_pad_direction_get_type), (register_gst_pad_flags),
3590         (gst_pad_flags_get_type), (register_gst_pad_presence),
3591         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3592         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3593         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3594         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3595         (gst_plugin_flags_get_type), (register_gst_rank),
3596         (gst_rank_get_type), (register_gst_query_type),
3597         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3598         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3599         (gst_tag_flag_get_type), (register_gst_task_state),
3600         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3601         (gst_alloc_trace_flags_get_type),
3602         (register_gst_type_find_probability),
3603         (gst_type_find_probability_get_type), (register_gst_uri_type),
3604         (gst_uri_type_get_type), (register_gst_parse_error),
3605         (gst_parse_error_get_type):
3606         * win32/common/gstversion.h:
3607           update win32 copies
3608
3609 2005-11-01  Luca Ognibene  <luogni@tin.it>
3610
3611         * gst/gst.c:
3612           fix docs. popt is dead, long live GOption.
3613
3614 2005-10-31  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/gstbuffer.h:
3617         Small doc fix.
3618
3619 2005-10-31  Andy Wingo  <wingo@pobox.com>
3620
3621         * Boo!
3622
3623         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3624
3625         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3626         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3627         the possibility of deadlocks here if code calling notify() or
3628         set() has a lock that can be taken in another notify handler (ABBA
3629         with class lock and e.g. python GIL state lock).
3630
3631 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3632
3633         * gst/gstbus.c: Doc updates.
3634
3635 2005-10-28  Wim Taymans  <wim@fluendo.com>
3636
3637         * docs/design/part-TODO.txt:
3638         * gst/gstiterator.c:
3639         * gst/gstsystemclock.c:
3640         * gst/gstsystemclock.h:
3641         Doc updates.
3642
3643 2005-10-28  Edward Hervey  <edward@fluendo.com>
3644
3645         * docs/gst/gstreamer-docs.sgml:
3646         * docs/gst/gstreamer-sections.txt:
3647         the GstURIType documentation page is private, it only defines GstURIType
3648         which should be defined in the GstURIHandler page
3649         
3650 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3651
3652         * gst/gstbin.c: (gst_bin_class_init):
3653         * gst/gstbin.h:
3654         * gst/gstutils.c:
3655         Documentation updates.
3656
3657 2005-10-28  Wim Taymans  <wim@fluendo.com>
3658
3659         * docs/gst/gstreamer-sections.txt:
3660         * gst/gstclock.c:
3661         * gst/gstclock.h:
3662         Documented the clocks.
3663
3664 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3665
3666         * docs/gst/gstreamer-sections.txt:
3667           move some macros to private sections
3668         * gst/gstminiobject.c:
3669         * gst/gstminiobject.h:
3670           add descriptions provided by ds and some more
3671         * gst/gstpad.h:
3672           mark macro as to be removed
3673
3674 2005-10-28  Wim Taymans  <wim@fluendo.com>
3675
3676         * docs/design/part-TODO.txt:
3677         Add an item to TODO.
3678
3679         * gst/gstiterator.c: (gst_iterator_fold),
3680         (gst_iterator_find_custom):
3681         * gst/gstiterator.h:
3682         Add iterator docs.
3683
3684 2005-10-28  Wim Taymans  <wim@fluendo.com>
3685
3686         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3687         (gst_base_transform_init):
3688         Don't leak class.
3689
3690         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3691         An EOS event marks the queue as completely filled.
3692
3693 2005-10-27  Wim Taymans  <wim@fluendo.com>
3694
3695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3696         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3697         Some more debugging.
3698
3699         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3700         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3701         (gst_base_transform_event), (gst_base_transform_getrange),
3702         (gst_base_transform_chain):
3703         * gst/base/gstbasetransform.h:
3704         Fix debugging,
3705         Protect transform and concurrent buffer alloc with a new lock.
3706         Try not to break ABI/API.
3707
3708 2005-10-27  Wim Taymans  <wim@fluendo.com>
3709
3710         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3711         (gst_base_src_init), (gst_base_src_query),
3712         (gst_base_src_default_newsegment),
3713         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3714         (gst_base_src_send_event), (gst_base_src_event_handler),
3715         (gst_base_src_pad_get_range), (gst_base_src_loop),
3716         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3717         (gst_base_src_start), (gst_base_src_deactivate),
3718         (gst_base_src_activate_push), (gst_base_src_change_state):
3719         Move some stuff around and cleanup things.
3720
3721 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3722
3723         * gst/base/gstbasesrc.c: (gst_base_src_query):
3724           Add missing break statements.
3725
3726 2005-10-27  Wim Taymans  <wim@fluendo.com>
3727
3728         * check/gst/gstbin.c: (GST_START_TEST):
3729         An extra refcount is taken in basesrc.
3730
3731         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3732         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3733         (gst_base_src_loop):
3734         Small cleanups, check for flushing after being unlocked from the 
3735         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3736         Don't send out EOS when going to READY.
3737
3738 2005-10-27  Wim Taymans  <wim@fluendo.com>
3739
3740         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3741         (gst_base_sink_get_position):
3742         Some more debug.
3743
3744         * gst/gstbin.c: (message_check), (bin_replace_message),
3745         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3746         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3747         (bin_query_duration_init), (bin_query_duration_fold),
3748         (bin_query_duration_done), (bin_query_generic_fold),
3749         (gst_bin_query):
3750         * tools/gst-launch.c: (main):
3751         Remove old option.
3752
3753 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3754
3755         * examples/controller/audio-example.c: (main):
3756         * examples/queue/queue.c: (event_loop):
3757         * gst/base/gstbasetransform.h:
3758         * gst/gstelement.c: (gst_element_send_event):
3759         * gst/gstevent.h:
3760         * gst/gstpad.c: (gst_pad_send_event):
3761           fixing examples
3762           fixing docs typos
3763           changing log priority in error situations
3764
3765 2005-10-25  Wim Taymans  <wim@fluendo.com>
3766
3767         * gst/gstbin.c: (message_check), (bin_replace_message),
3768         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3769         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3770         (bin_query_duration_init), (bin_query_duration_fold),
3771         (bin_query_duration_done), (bin_query_generic_fold),
3772         (gst_bin_query):
3773         Some doc and debug updates.
3774         Cache previously requested query DURATION for speed. invalidate
3775         cached duration if element posts a DURATION message.
3776
3777 2005-10-25  Wim Taymans  <wim@fluendo.com>
3778
3779         * docs/design/part-TODO.txt:
3780         Update TODO.
3781
3782         * gst/gstbin.c: (message_check), (bin_replace_message),
3783         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3784         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3785         (bin_query_duration_init), (bin_query_duration_fold),
3786         (bin_query_duration_done), (bin_query_generic_fold),
3787         (gst_bin_query):
3788         Handle SEGMENT_START/DONE messages correctly.
3789         More evolved query algorithm that handles duration queries
3790         correctly.
3791
3792         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3793         (gst_element_get_state_func), (gst_element_abort_state),
3794         (gst_element_commit_state), (gst_element_lost_state):
3795         Some more debugging.
3796
3797         * gst/gstmessage.h:
3798         Added doc.
3799
3800 2005-10-25  Wim Taymans  <wim@fluendo.com>
3801
3802         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3803         Don't use invalid stream_time.
3804
3805         * gst/gstevent.c: (gst_event_new_newsegment):
3806         stream_time in newsegment cannot be undefined.
3807
3808 2005-10-24  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstbus.c:
3811         Doc fix.
3812
3813         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3814         (gst_queue_loop):
3815         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3816
3817 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3818
3819         * docs/libs/tmpl/gstdparam.sgml:
3820         * docs/libs/tmpl/gstdplinint.sgml:
3821         * docs/libs/tmpl/gstdpman.sgml:
3822         * docs/libs/tmpl/gstdpsmooth.sgml:
3823         * docs/libs/tmpl/gstunitconvert.sgml:
3824           these are obsolete
3825
3826 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * configure.ac:
3829           back to HEAD
3830
3831 === release 0.9.4 ===
3832
3833 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3834
3835         * configure.ac:
3836           releasing 0.9.4, "Tyrannosaurus Rex"
3837
3838 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3839
3840         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3841         (gst_file_sink_get_current_offset):
3842           Use fseeko() and ftello() if available. When falling back on
3843           lseek() to get the current offset, fflush() first to make sure
3844           everything is up-to-date and we get the right offset.
3845
3846 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3847
3848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3849         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3850         * gst/gsterror.c: (_gst_stream_errors_init):
3851         * gst/gsterror.h:
3852         * gst/gstqueue.c: (gst_queue_loop):
3853         * po/POTFILES.in:
3854           remove prematurely added error category and clean up the instances
3855
3856 2005-10-21  Wim Taymans  <wim@fluendo.com>
3857
3858         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3859         (gst_base_sink_get_position), (gst_base_sink_query),
3860         (gst_base_sink_change_state):
3861         Simply set the right flag when going to playing, that's all
3862         we need to do instead of calling a function inside the object
3863         lock (that could take the lock as well and deadlock)
3864
3865 2005-10-21  Wim Taymans  <wim@fluendo.com>
3866
3867         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3868         (gst_base_src_loop):
3869         Don't warn, the peer element knows what to do best when
3870         the seek failed, it might try something else.
3871
3872 2005-10-21  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/base/gstbasesrc.c: (gst_base_src_init),
3875         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3876         Fix seeking.
3877
3878 2005-10-21  Wim Taymans  <wim@fluendo.com>
3879
3880         * docs/design/part-segments.txt:
3881         More docs.
3882
3883         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3884         Correctly set caps, even on the subbufer.
3885
3886 2005-10-21  Wim Taymans  <wim@fluendo.com>
3887
3888         * docs/gst/gstreamer-docs.sgml:
3889         * docs/gst/gstreamer-sections.txt:
3890         * gst/gstelement.h:
3891         * gst/gstevent.c:
3892         * gst/gstevent.h:
3893         * gst/gstmessage.h:
3894         * gst/gstpad.h:
3895         * gst/gstparse.h:
3896         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3897         * gst/gsttask.h:
3898         * gst/gstutils.c:
3899         * gst/gstutils.h:
3900         And 2% more doc coverage.
3901
3902 2005-10-21  Andy Wingo  <wingo@pobox.com>
3903
3904         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3905         position reporting.
3906
3907 2005-10-20  Wim Taymans  <wim@fluendo.com>
3908
3909         * gst/gsterror.c: (gst_error_get_message):
3910         * gst/gstparse.h:
3911         * gst/gstquery.h:
3912         * gst/gststructure.c:
3913         * gst/gsttrace.c:
3914         * gst/gstutils.c:
3915         More docs.
3916
3917 2005-10-20  Wim Taymans  <wim@fluendo.com>
3918
3919         * gst/gstbuffer.h:
3920         * gst/gstpad.c:
3921         * gst/gstparse.c:
3922         Another 1% more coverage.
3923
3924 2005-10-20  Wim Taymans  <wim@fluendo.com>
3925
3926         * docs/gst/gstreamer-sections.txt:
3927         * gst/gstelement.c: (gst_element_get_state_func),
3928         (gst_element_abort_state), (gst_element_commit_state),
3929         (gst_element_lost_state):
3930         * gst/gstevent.h:
3931         * gst/gstquery.c: (gst_query_set_position),
3932         (gst_query_parse_position), (gst_query_set_duration),
3933         (gst_query_parse_duration), (gst_query_new_convert):
3934         * gst/gstutils.c:
3935         Yay! 1% more docs coverage.
3936
3937 2005-10-20  Wim Taymans  <wim@fluendo.com>
3938
3939         * gst/gstpad.h:
3940         * gst/gstquery.c: (gst_query_set_position),
3941         (gst_query_parse_position), (gst_query_set_duration),
3942         (gst_query_parse_duration), (gst_query_new_convert):
3943         * gst/gstquery.h:
3944         * gst/gstutils.c: (gst_element_query_convert):
3945         * gst/gstutils.h:
3946         Docs and consistency fixes.
3947
3948 2005-10-20  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/gsttask.c:
3951         * gst/gsttask.h:
3952         More docs.
3953
3954 2005-10-20  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/gstbin.c: (message_check), (bin_replace_message),
3957         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3958         (update_degree), (gst_bin_sort_iterator_next),
3959         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3960         Reworked the message handling a bit, cache the messages instead of
3961         only the senders. alows us to do more in the future.
3962
3963 2005-10-20  Wim Taymans  <wim@fluendo.com>
3964
3965         * docs/design/part-TODO.txt:
3966         Update TODO
3967
3968         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3969         (gst_base_sink_query):
3970         Don't use clock time to report position when in EOS.
3971
3972 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3973
3974         * tools/gst-inspect.c: (print_interfaces),
3975         (print_element_properties_info), (print_element_info):
3976           Fix interface output with gst-inspect -a; don't print
3977           newlines after double/float properties.
3978
3979 2005-10-20  Wim Taymans  <wim@fluendo.com>
3980
3981         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3982         (gst_base_sink_query):
3983         Speed up current position calculation.
3984
3985         * gst/base/gstbasesrc.c: (gst_base_src_query),
3986         (gst_base_src_default_newsegment):
3987         Correctly set stream position in newsegment.
3988
3989         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3990         (update_degree), (gst_bin_sort_iterator_next),
3991         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3992         * gst/gstmessage.c: (gst_message_new_custom):
3993         Clean up debugging info
3994
3995         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3996         (gst_queue_loop), (gst_queue_handle_src_query):
3997         Pause task faster.
3998
3999 2005-10-19  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4002         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4003         Fix query handling again.
4004
4005 2005-10-19  Wim Taymans  <wim@fluendo.com>
4006
4007         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4008         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4009         * gst/base/gstbasesrc.c: (gst_base_src_query):
4010         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4011         * gst/elements/gsttypefindelement.c:
4012         (gst_type_find_handle_src_query), (find_element_get_length),
4013         (gst_type_find_element_activate):
4014         API change fix.
4015
4016         * gst/gstquery.c: (gst_query_new_position),
4017         (gst_query_set_position), (gst_query_parse_position),
4018         (gst_query_new_duration), (gst_query_set_duration),
4019         (gst_query_parse_duration), (gst_query_set_segment),
4020         (gst_query_parse_segment):
4021         * gst/gstquery.h:
4022         Bundling query position/duration is not a good idea since duration
4023         does not change much and we don't want to recalculate it for every
4024         position query, so they are separated again..
4025         Base value in segment query is not needed.
4026
4027         * gst/gstqueue.c: (gst_queue_handle_src_query):
4028         * gst/gstutils.c: (gst_element_query_position),
4029         (gst_element_query_duration), (gst_pad_query_position),
4030         (gst_pad_query_duration):
4031         * gst/gstutils.h:
4032         Updates for query API change.
4033         Added some docs here and there.
4034
4035 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4036
4037         * check/gst/gstbin.c: (GST_START_TEST):
4038         * check/gst/gstghostpad.c: (GST_START_TEST):
4039         * check/pipelines/cleanup.c: (GST_START_TEST):
4040           wait on thread to die so we can check refcount correctly
4041
4042 2005-10-18  Wim Taymans  <wim@fluendo.com>
4043
4044         * check/pipelines/stress.c: (GST_START_TEST):
4045         Make check a little more time consuming.
4046
4047 2005-10-18  Wim Taymans  <wim@fluendo.com>
4048
4049         * check/Makefile.am:
4050         * check/pipelines/stress.c: (GST_START_TEST),
4051         (simple_launch_lines_suite), (main):
4052         Small state change torture test.
4053
4054         * docs/design/part-states.txt:
4055         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4056         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4057         (gst_base_sink_change_state):
4058         Never take state lock from streaming thread, clean up ugly
4059         hacks. Unfortunatly core does not yet support nice ways to
4060         async commit state.
4061         
4062         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4063         (bin_bus_handler):
4064         Start state recalc if a STATE_DIRTY message is posted, but only
4065         on the toplevel bin.
4066
4067         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4068         (gst_element_get_state_func), (gst_element_abort_state),
4069         (gst_element_commit_state), (gst_element_lost_state),
4070         (gst_element_set_state_func), (gst_element_change_state):
4071         * gst/gstelement.h:
4072         State variables are now protected with the LOCK, the state
4073         lock is only used to serialize _set_state().
4074
4075 2005-10-18  Wim Taymans  <wim@fluendo.com>
4076
4077         * check/gst/gstbin.c: (GST_START_TEST):
4078         * check/gst/gstmessage.c: (GST_START_TEST):
4079         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4080         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4081         (bin_bus_handler):
4082         * gst/gstelement.c: (gst_element_abort_state),
4083         (gst_element_commit_state), (gst_element_lost_state):
4084         * gst/gstmessage.c: (gst_message_new_state_changed),
4085         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4086         (gst_message_new_segment_done), (gst_message_new_duration),
4087         (gst_message_parse_state_changed),
4088         (gst_message_parse_segment_start),
4089         (gst_message_parse_segment_done), (gst_message_parse_duration):
4090         * gst/gstmessage.h:
4091         * tools/gst-launch.c: (event_loop):
4092         Seriously, this is better than a previous commit as we only need
4093         to notify the fact that an element changed state in a streaming
4094         thread, marking the state of the parents dirty, hence the 
4095         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4096         message.
4097
4098 2005-10-18  Wim Taymans  <wim@fluendo.com>
4099
4100         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4101         (gst_bin_recalc_func):
4102         * gst/gstelement.c: (gst_element_set_clock),
4103         (gst_element_abort_state), (gst_element_lost_state):
4104         Cleanups, prepare for state change fixes.
4105
4106 2005-10-18  Wim Taymans  <wim@fluendo.com>
4107
4108         * gst/gstbin.h:
4109         * gst/gstelement.c: (gst_element_class_init),
4110         (gst_element_set_state), (gst_element_set_state_func):
4111         * gst/gstelement.h:
4112         Pending ABI changes.
4113         GThreadPool in GstBinClass to monitor async state changes.
4114         state_cookie in GstElement to detect concurrent gst/set state.
4115         set_state is now virtual too in case a very complicated element
4116         has to be constructed.
4117
4118 2005-10-18  Wim Taymans  <wim@fluendo.com>
4119
4120         * check/gst/gstbin.c: (GST_START_TEST):
4121         * check/gst/gstmessage.c: (GST_START_TEST):
4122         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4123         * gst/gstbin.c: (bin_bus_handler):
4124         * gst/gstelement.c: (gst_element_commit_state),
4125         (gst_element_lost_state):
4126         * gst/gstmessage.c: (gst_message_new_state_changed),
4127         (gst_message_new_segment_start), (gst_message_new_segment_done),
4128         (gst_message_new_duration), (gst_message_parse_state_changed),
4129         (gst_message_parse_segment_start),
4130         (gst_message_parse_segment_done), (gst_message_parse_duration):
4131         * gst/gstmessage.h:
4132         * tools/gst-launch.c: (event_loop):
4133         Make messages future proof.
4134         state-change gets a flag if it was a message comming from the
4135         streaming thread.
4136         segment-start/stop can also be specified in other formats.
4137         A message to notify an app that a pipeline changed playback 
4138         duration.
4139         Also fix a GstMessage leak in -launch
4140
4141 2005-10-18  Andy Wingo  <wingo@pobox.com>
4142
4143         * gst/gstelement.c (gst_element_dispose): More helpful message.
4144
4145 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4146
4147         reviewed by: <delete if not using a buddy>
4148
4149         * common/gtk-doc.mak:
4150
4151 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4152
4153         * gst/gstregistry.c: (gst_registry_scan_path_level):
4154           unref a plug-in we get that was already initialized
4155
4156 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4157
4158         * docs/gst/gstreamer-sections.txt:
4159         * docs/libs/gstreamer-libs-sections.txt:
4160         * gst/gstelement.h:
4161           add new api entries
4162           hide internal macro
4163
4164 2005-10-17  Andy Wingo  <wingo@pobox.com>
4165
4166         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4167         cleanup.
4168
4169         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4170
4171         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4172
4173         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4174         (gst_element_get_state_func): Better debug message.
4175         (gst_element_commit_state): s/INFO/DEBUG/.
4176         (gst_element_lost_state, gst_element_change_state): 
4177
4178         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4179         (gst_message_new_custom): s/INFO/LOG/.
4180
4181 2005-10-17  Michael Smith <msmith@fluendo.com>
4182
4183         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4184           Check if end time is valid using end time, not start time.
4185
4186 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4187
4188         * check/gst-libs/controller.c: (GST_START_TEST),
4189         (gst_controller_suite):
4190         * libs/gst/controller/gstcontroller.c:
4191         (gst_controlled_property_set_interpolation_mode):
4192         * libs/gst/controller/gstcontroller.h:
4193         * libs/gst/controller/gstinterpolation.c:
4194         * testsuite/controller/.cvsignore:
4195         * testsuite/controller/Makefile.am:
4196         * testsuite/controller/interpolator.c:
4197           merge controller testsuites
4198           fix broken tests
4199           remove mem-chunk from docs
4200
4201 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4202
4203         * gst/gstmemchunk.c:
4204         * gst/gstmemchunk.h:
4205         * gst/gsttrashstack.c:
4206         * gst/gsttrashstack.h:
4207           out.  get out.  you're fired.  to the Attic !
4208
4209 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4210
4211         * gst/gstcaps.c: (gst_caps_intersect):
4212           fix signedness issues in a (hopefully) correct way
4213         * gst/gstelement.c: (gst_element_pads_activate):
4214           some debugging
4215         * gst/gstobject.c: (gst_object_set_parent):
4216           some debugging
4217
4218 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4219
4220         * gst/gstvalue.h: Fix prototypes.
4221
4222 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * docs/gst/gstreamer-sections.txt:
4225         * gst/gst.c: (gst_version_string):
4226         * gst/gst.h:
4227         * gst/gstversion.h.in:
4228         * win32/common/libgstreamer.def:
4229           add gst_version_string ()
4230
4231 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4232
4233         * configure.ac:
4234           clean up further
4235         * gst/gst.c: (init_post):
4236         * win32/common/config.h.in:
4237           it's PLUGINDIR now
4238         * gst/gstcaps.c: (gst_caps_intersect):
4239           use gint64, the range could be bigger than a guint
4240
4241 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         * gst/gstclock.h:
4244           document potential problem in 2038
4245
4246 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * gst/gstcaps.c: (gst_caps_intersect):
4249           Fix guint j diving under 0
4250
4251 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4252
4253         * configure.ac:
4254         * win32/common/config.h:
4255         * win32/common/config.h.in:
4256           check for process.h, declares getpid() on Windows
4257         * gst/gstinfo.c:
4258           include process.h if we have it
4259         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4260         * gst/gstmemchunk.h:
4261           fix signedness issues
4262         * win32/common/libgstreamer.def:
4263           fix get_type's
4264
4265 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4266
4267         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4268         fix. Because of unsigned ints, caps intersection was going nuts and
4269         trying to access structures with G_MAXUINT index. That fixes
4270         videotestsrc ! ffmpegcolorspace ! fakesink
4271         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4272         consistency.
4273
4274 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * configure.ac:
4277           use the gettext macro
4278         * gst/elements/gstelements.c:
4279         * gst/gst.c:
4280         * gst/indexers/gstindexers.c:
4281           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4282         * win32/common/config.h:
4283           updated config.h
4284         * win32/common/config.h.in:
4285           add the template to generate config.h
4286         * win32/common/gstenumtypes.c:
4287         * win32/common/gstversion.h:
4288           updated copies
4289
4290 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4291
4292         * gst/gst.c: (gst_version):
4293         * gst/gstversion.h.in:
4294           add the nano
4295
4296 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4297
4298         * gst/gstevent.h:
4299           Oops, add missing closing bracket.
4300
4301 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4302
4303         * configure.ac:
4304           use common m4's for argument checking
4305
4306 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4307
4308         * docs/gst/gstreamer-sections.txt:
4309         * gst/gstevent.h:
4310           Add GST_EVENT_TYPE_NAME() macro.
4311
4312 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * gst/gstinfo.c:
4315         * gst/gstpluginfeature.c:
4316         * gst/gsttask.c:
4317           privatize more symbols
4318
4319 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4320
4321         * configure.ac:
4322           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4323           everything that uses GStreamer API should have the includes
4324
4325 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4326
4327         * docs/gst/gstreamer-sections.txt:
4328         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4329         * gst/gstvalue.h:
4330           give each value a _get_type, removes the DATA exports
4331
4332 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4333
4334         * gst/gst.c:
4335         * gst/gst.h:
4336           remove _gst_registry_auto_load, not used anymore
4337         * gst/gstbin.c: (gst_bin_get_type):
4338         * gst/gstbin.h:
4339         * gst/gstelement.c: (gst_element_get_type):
4340         * gst/gstelement.h:
4341         * gst/gstobject.c: (gst_object_get_type):
4342         * gst/gstobject.h:
4343         * gst/gstpad.c: (gst_pad_get_type):
4344         * gst/gstpad.h:
4345           make _get_type functions similar, fixes data export from library
4346
4347 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         * configure.ac:
4350           correctly make conditionals
4351         * gst/elements/Makefile.am:
4352         * gst/elements/gstelements.c:
4353           fix typo causing fdsrc not to build
4354
4355 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * testsuite/Makefile.am:
4358         * testsuite/bytestream/.cvsignore:
4359         * testsuite/bytestream/Makefile.am:
4360         * testsuite/bytestream/filepadsink.c:
4361         * testsuite/bytestream/gstbstest.c:
4362         * testsuite/bytestream/test1.c:
4363         * testsuite/bytestream/testfile1:
4364         * testsuite/caps/normalisation.c:
4365         * testsuite/caps/random.c: (main):
4366         * testsuite/cleanup/.cvsignore:
4367         * testsuite/cleanup/Makefile.am:
4368         * testsuite/cleanup/cleanup1.c:
4369         * testsuite/cleanup/cleanup2.c:
4370         * testsuite/cleanup/cleanup3.c:
4371         * testsuite/cleanup/cleanup4.c:
4372         * testsuite/cleanup/cleanup5.c:
4373         * testsuite/controller/interpolator.c:
4374         * testsuite/debug/printf_extension.c: (main):
4375         * testsuite/elements/tee.c:
4376         * testsuite/negotiation/.cvsignore:
4377         * testsuite/negotiation/Makefile.am:
4378         * testsuite/negotiation/pad_link.c:
4379         * testsuite/pad/Makefile.am:
4380         * testsuite/pad/chainnopull.c:
4381         * testsuite/pad/getnopush.c:
4382         * testsuite/pad/link.c:
4383         * testsuite/refcounting/sched.c: (create_pipeline):
4384         * testsuite/registry/Makefile.am:
4385         * testsuite/registry/gst-print-formats.c:
4386         * testsuite/schedulers/.cvsignore:
4387         * testsuite/schedulers/142183-2.c:
4388         * testsuite/schedulers/142183.c:
4389         * testsuite/schedulers/143777-2.c:
4390         * testsuite/schedulers/143777.c:
4391         * testsuite/schedulers/147713.c:
4392         * testsuite/schedulers/147819.c:
4393         * testsuite/schedulers/147894-2.c:
4394         * testsuite/schedulers/147894.c:
4395         * testsuite/schedulers/Makefile.am:
4396         * testsuite/schedulers/group_link.c:
4397         * testsuite/schedulers/queue_link.c:
4398         * testsuite/schedulers/relink.c:
4399         * testsuite/schedulers/unlink.c:
4400         * testsuite/schedulers/unref.c:
4401         * testsuite/schedulers/useless_iteration.c:
4402         * testsuite/states/bin.c:
4403           clean out/remove some stuff from the testsuite directories
4404
4405 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4406
4407         * configure.ac:
4408           check for some headers
4409         * gst/elements/Makefile.am:
4410         * gst/elements/gstelements.c:
4411           don't compile fdsrc without sys/socket.h
4412         * gst/indexers/Makefile.am:
4413         * gst/indexers/gstindexers.c: (plugin_init):
4414           don't compile fileindex without mmap
4415
4416 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4417
4418         * configure.ac:
4419           reorganize
4420           clean up
4421           document more
4422           remove cruft
4423         * check/Makefile.am:
4424         * docs/gst/Makefile.am:
4425         * examples/helloworld/Makefile.am:
4426         * gst/Makefile.am:
4427         * gst/base/Makefile.am:
4428         * gst/check/Makefile.am:
4429         * gst/elements/Makefile.am:
4430         * gst/indexers/Makefile.am:
4431         * gst/parse/Makefile.am:
4432         * libs/gst/controller/Makefile.am:
4433         * libs/gst/dataprotocol/Makefile.am:
4434         * examples/helloworld/helloworld.c: (event_loop):
4435           compile fixes, though it's not being compiled currently
4436
4437 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4440           Add some simple tests for the new taglist date API.
4441
4442 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4443
4444         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4445         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4446           Beautify 'last-message' output: print 'none' for buffer timestamps
4447           and durations if none is set; improve alignment with next messages.
4448
4449 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4450
4451         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4452         * gst/gstpluginfeature.h:
4453         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4454         * gst/gstregistry.h:
4455         * docs/gst/gstreamer-sections.txt:
4456           Add new API to check plugin feature version requirements.
4457
4458         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4459           Some basic tests for the above.         
4460
4461 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         * gst/gststructure.c: (gst_structure_to_string):
4464           guard against NULL printf - happens when for example
4465           a message structure with GstClock gets serialized
4466
4467 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4468
4469         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4470           Fix presumable copy'n'pasto.
4471
4472 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4473
4474         * gst/elements/gstfakesrc.h:
4475         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4476         * gst/elements/gsttypefindelement.c:
4477           fix some signedness
4478         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4479           I wonder if this could actually write +2GB files before
4480
4481 2005-10-13  Andy Wingo  <wingo@pobox.com>
4482
4483         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4484         Fix Timmeke Waymans bug.
4485         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4486         string of the proper length to gst_caps_from_string. There's a
4487         potential for, before this fix, that this could cause someone
4488         connecting over the network to cause a segfault if the payload is
4489         not NUL-terminated.
4490
4491 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4492
4493         * docs/design/draft-push-pull.txt:
4494         * docs/design/part-overview.txt:
4495         * docs/random/TODO-pre-0.9:
4496         * docs/random/old/ChangeLog.gstreamer:
4497         * gst/base/gstpushsrc.c:
4498         * gst/gstclock.c:
4499           fixed typos
4500
4501 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4502
4503         * gst/glib-compat.c: (gst_flags_get_first_value):
4504         * gst/glib-compat.h:
4505         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4506         (gst_value_compare_double), (gst_value_serialize_flags):
4507           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4508           infinite loop
4509
4510 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4511
4512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4513         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4514           fix up debugging
4515         * tools/gst-launch.c: (event_loop):
4516           print out clock nicely
4517
4518 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4519
4520         * docs/gst/gstreamer-sections.txt:
4521         * gst/gsttaglist.h:
4522         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4523         (gst_tag_list_get_date_index):
4524           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4525           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4526
4527 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4528
4529         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4530         (gst_collectpads_chain):
4531         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4532         in CollectData.
4533
4534 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * docs/gst/gstreamer-sections.txt:
4537         * gst/gst.c:
4538         * gst/gsterror.h:
4539         * tools/gst-inspect.c: (main):
4540         * tools/gst-launch.c: (main):
4541         * tools/gst-run.c: (main):
4542         * tools/gst-xmlinspect.c: (main):
4543           fix GOption context leaks
4544           doc fixes
4545
4546 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * gst/gstbus.c:
4549           use HAVE_UNISTD_H
4550         * win32/common/config.h:
4551           update config
4552         * win32/vs6/grammar.dsp:
4553         * win32/vs6/libgstelements.dsp:
4554         * win32/vs6/libgstreamer.dsp:
4555           update vs6 files
4556
4557 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4560         * gst/base/gstbasesrc.c: (gst_base_src_query):
4561           fix more guint64<->gdouble conversions
4562
4563 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4564
4565         * Makefile.am:
4566           add win32-update target
4567         * win32/common/gstconfig.h:
4568         * win32/common/gstenumtypes.c:
4569         * win32/common/gstenumtypes.h:
4570         * win32/common/gstversion.h:
4571           add files that visual studio can't generate
4572
4573 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4574
4575         * Makefile.am:
4576           add a win32-update target
4577         * configure.ac:
4578
4579 2005-10-12  Wim Taymans  <wim@fluendo.com>
4580
4581         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4582         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4583         * gst/gstelement.c: (gst_element_commit_state),
4584         (gst_element_set_state):
4585         Protect flags with proper lock.
4586         unref provided cached clock in dispose.
4587
4588 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * gst/gst.c:
4591         * gst/gstminiobject.h:
4592         * gst/gstpad.h:
4593         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4594           removed unused flags from miniobject
4595           doc fixes
4596
4597 2005-10-12  Wim Taymans  <wim@fluendo.com>
4598
4599         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4600         (gst_file_sink_event), (gst_file_sink_render):
4601         Flush before seeking.
4602
4603 2005-10-12  Andy Wingo  <wingo@pobox.com>
4604
4605         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4606         always been the case.
4607
4608 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4609
4610         * check/gst/gstbin.c: (GST_START_TEST):
4611         * docs/gst/gstreamer-sections.txt:
4612         * gst/base/gstbasesink.c: (gst_base_sink_init):
4613         * gst/base/gstbasesrc.c: (gst_base_src_init),
4614         (gst_base_src_get_range), (gst_base_src_check_get_range),
4615         (gst_base_src_start), (gst_base_src_stop):
4616         * gst/base/gstbasesrc.h:
4617         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4618         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4619         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4620         (bin_bus_handler):
4621         * gst/gstbin.h:
4622         * gst/gstbuffer.h:
4623         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4624         * gst/gstbus.h:
4625         * gst/gstelement.c: (gst_element_is_locked_state),
4626         (gst_element_set_locked_state), (gst_element_commit_state),
4627         (gst_element_set_state):
4628         * gst/gstelement.h:
4629         * gst/gstindex.c: (gst_index_init):
4630         * gst/gstindex.h:
4631         * gst/gstminiobject.h:
4632         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4633         (gst_object_set_parent):
4634         * gst/gstobject.h:
4635         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4636         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4637         * gst/gstpad.h:
4638         * gst/gstpadtemplate.h:
4639         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4640         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4641         * gst/gstpipeline.h:
4642         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4643         (gst_file_index_commit):
4644         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4645         * testsuite/pad/link.c: (gst_test_src_init),
4646         (gst_test_filter_init), (gst_test_sink_init):
4647         * testsuite/states/locked.c: (main):
4648           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4649           moved bitshift from macro to enum definition
4650
4651 2005-10-12  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4654         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4655         (gst_file_sink_render):
4656         Some more debugging info.
4657
4658 2005-10-12  Wim Taymans  <wim@fluendo.com>
4659
4660         * docs/design/part-states.txt:
4661         * tools/gst-launch.c: (main):
4662         Some doc updates.
4663         Revert non-intentional change.
4664
4665 2005-10-12  Wim Taymans  <wim@fluendo.com>
4666
4667         * check/gst/gstbin.c: (GST_START_TEST):
4668         * check/gst/gstelement.c: (GST_START_TEST):
4669         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4670         * check/gst/gstghostpad.c: (GST_START_TEST):
4671         * check/gst/gstpipeline.c: (GST_START_TEST):
4672         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4673         * check/states/sinks.c: (GST_START_TEST):
4674         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4675         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4676         (gst_bin_remove_func), (gst_bin_get_state_func),
4677         (gst_bin_recalc_state), (gst_bin_change_state_func),
4678         (bin_bus_handler):
4679         * gst/gstelement.c: (gst_element_get_state_func),
4680         (gst_element_get_state), (gst_element_abort_state),
4681         (gst_element_commit_state), (gst_element_set_state),
4682         (gst_element_change_state), (gst_element_change_state_func):
4683         * gst/gstelement.h:
4684         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4685         (gst_pipeline_provide_clock_func):
4686         * gst/gstutils.c: (gst_element_link_pads_filtered):
4687         * tools/gst-launch.c: (main):
4688         * tools/gst-typefind.c: (main):
4689         Use GstClockTime in _get_state() instead of GTimeVal.
4690         Remove old code in gstutils.c
4691
4692 2005-10-12  Andy Wingo  <wingo@pobox.com>
4693
4694         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4695         removed.
4696
4697         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4698         there is no task. Shouldn't affect any code, as nothing in our
4699         plugins checks this return value.
4700         (gst_pad_stop_task): Also take the stream lock if the pad has no
4701         task. Docs updated.
4702
4703 2005-10-12  Wim Taymans  <wim@fluendo.com>
4704
4705         * gst/gstpad.c: (pre_activate), (post_activate),
4706         (gst_pad_activate_pull), (gst_pad_activate_push):
4707         Cleanup activation code. Reset old state if
4708         activation failed.
4709
4710 2005-10-12  Wim Taymans  <wim@fluendo.com>
4711
4712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4713         (gst_base_sink_change_state):
4714         No need to prerol after receiving EOS.
4715
4716         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4717         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4718         * gst/elements/gstidentity.c: (gst_identity_event):
4719         Print events more verbosely.
4720
4721 2005-10-12  Wim Taymans  <wim@fluendo.com>
4722
4723         * check/Makefile.am:
4724         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4725         * check/states/sinks2.c:
4726         Moved sinks2 testcode in sinks check.
4727
4728         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4729         (gst_bin_remove_func), (gst_bin_recalc_state),
4730         (gst_bin_change_state_func), (bin_bus_handler):
4731         Fix potential race condition when _get_state() iterated over an
4732         ASYNC element right before it posted a state completion.
4733
4734         * gst/gstclock.h:
4735         Do proper cast here.
4736
4737         * gst/gstevent.c: (gst_event_new_newsegment),
4738         (gst_event_parse_newsegment):
4739         A playback rate of 0.0 is not allowed.
4740
4741 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * win32/common/config.h:
4744         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4745         (_trewinddir), (_ttelldir), (_tseekdir):
4746         * win32/common/dirent.h:
4747         * win32/common/gtchar.h:
4748         * win32/common/libgstbase.def:
4749         * win32/common/libgstreamer.def:
4750         * win32/vs6/grammar.dsp:
4751         * win32/vs6/gst_inspect.dsp:
4752         * win32/vs6/gst_launch.dsp:
4753         * win32/vs6/gstreamer.dsw:
4754         * win32/vs6/libgstbase.dsp:
4755         * win32/vs6/libgstelements.dsp:
4756         * win32/vs6/libgstreamer.dsp:
4757           Visual Studio 6 project files, and a new common directory.
4758           Phear.
4759
4760 2005-10-11  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4763         (gst_base_sink_do_sync), (gst_base_sink_query),
4764         (gst_base_sink_change_state):
4765         * gst/base/gstbasesink.h:
4766         Correctly parse newsegment info.
4767
4768 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4769
4770         * gst/gst.c: (init_post):
4771           split plugin paths correctly
4772
4773 2005-10-11  Wim Taymans  <wim@fluendo.com>
4774
4775         * check/gst/gstevent.c: (GST_START_TEST):
4776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4777         (gst_base_sink_change_state):
4778         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4779         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4780         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4781         * gst/gstevent.c: (gst_event_new_newsegment),
4782         (gst_event_parse_newsegment):
4783         * gst/gstevent.h:
4784         Added extra flag to newsegment for future API freeze.
4785         Updated check and base elements.
4786
4787 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4788
4789         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4790         (gst_collectpads_add_pad), (gst_collectpads_pop),
4791         (gst_collectpads_event), (gst_collectpads_chain):
4792         * gst/base/gstcollectpads.h: Handle EOS correctly.
4793
4794 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4795
4796         * tools/gst-launch.c: (main):
4797           more null protecting
4798
4799 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * gst/gst-i18n-lib.h:
4802           check for ENABLE_NLS, not GETTEXT_PACKAGE
4803         * gst/gstregistry.c: (gst_registry_add_plugin),
4804         (gst_registry_scan_path_level),
4805         (_gst_registry_remove_cache_plugins):
4806           protect possibly NULL strings
4807         * gst/parse/types.h:
4808           config.h already included before
4809         * tools/gst-inspect.c: (main):
4810           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4811           check for ENABLE_NLS, not GETTEXT_PACKAGE
4812         * tools/gst-launch.c: (main):
4813           check for ENABLE_NLS, not GETTEXT_PACKAGE
4814
4815 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * configure.ac:
4818           if we don't have glib, fail before testing 2.8
4819         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4820           fix a leak, should fix plugins-base testsuite
4821
4822 2005-10-11  Andy Wingo  <wingo@pobox.com>
4823
4824         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4825         take the mode we're going to as an arg. Go head and set the mode
4826         and flushing flags now, so that if the activate function starts a
4827         thread all the flags will be in the right state.
4828         (post_activate): Renamed also. Just handle making sure streaming
4829         finishes for the deactivation case, and setting the deactivated
4830         mode.
4831         (gst_pad_set_active): Complain loudly if deactivation fails.
4832         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4833         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4834         remove the terrible hack.
4835
4836 2005-10-11  Wim Taymans  <wim@fluendo.com>
4837
4838         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4839         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4840         (gst_bin_recalc_state), (gst_bin_change_state_func),
4841         (gst_bin_dispose), (bin_bus_handler):
4842         * gst/gstbin.h:
4843         Prepare to make current EOS message queue more generic.
4844         Fix some typos.
4845
4846         * gst/gstevent.c: (gst_event_new_newsegment),
4847         (gst_event_parse_newsegment):
4848         * gst/gstevent.h:
4849         Rename base to stream_time.
4850
4851         * gst/gstmessage.h:
4852         Fix typo in docs.
4853
4854 2005-10-11  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4857         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4858         (gst_bin_change_state_func), (bin_bus_handler):
4859         * gst/gstbin.h:
4860         Work on proper clock selection.
4861
4862 2005-10-11  Edward Hervey  <edward@fluendo.com>
4863
4864         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4865         * libs/gst/controller/gstcontroller.h:
4866         Added GList* version of _remove_properties() in order to be able to wrap
4867         it in bindings.
4868
4869 2005-10-11  Wim Taymans  <wim@fluendo.com>
4870
4871         * docs/design/part-states.txt:
4872         Some more docs.
4873
4874         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4875         (gst_bin_change_state_func), (bin_bus_handler):
4876         Doc updates. Don't distribute the same clock over and over again.
4877
4878         * gst/gstclock.c:
4879         * gst/gstclock.h:
4880         Doc updates.
4881
4882         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4883         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4884         (gst_pad_send_event):
4885         * gst/gstpad.h:
4886         Make probe emission threadsafe again.
4887         Register quarks and move _get_name() from utils.
4888         Doc updates.
4889
4890         * gst/gstpipeline.c: (gst_pipeline_class_init),
4891         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4892         Only redistribute the clock of it changed.
4893
4894         * gst/gstsystemclock.h:
4895         Doc updates. 
4896
4897         * gst/gstutils.c:
4898         * gst/gstutils.h:
4899         Moved the _flow_get_name() to GstPad.
4900
4901 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * check/gst-libs/gdp.c: (GST_START_TEST):
4904         * check/gst/gstcaps.c: (GST_START_TEST):
4905         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4906         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4907         (gst_dp_packet_from_caps):
4908           fix more valgrind warnings before turning up the heat
4909
4910 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * gst/parse/grammar.y:
4913           some cleanup before the hacking
4914
4915 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4916
4917         * gst/base/gstbasesrc.c: (gst_base_src_query):
4918           use conversions
4919         * gst/gstutils.c: (gst_guint64_to_gdouble),
4920         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4921         * gst/gstutils.h:
4922           externalize, basesrc uses it
4923           obviously the implementation needs testing
4924
4925 2005-10-10  Wim Taymans  <wim@fluendo.com>
4926
4927         * tests/sched/Makefile.am:
4928         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4929         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4930
4931 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4934           apparently converting from guint64 to double is not implemented
4935           on MSVC
4936
4937 2005-10-10  Wim Taymans  <wim@fluendo.com>
4938
4939         * check/Makefile.am:
4940         * check/generic/states.c: (GST_START_TEST):
4941         * check/gst/gstbin.c: (GST_START_TEST):
4942         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4943         * check/states/sinks.c: (GST_START_TEST):
4944         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4945         (main):
4946         Check fixes, use API as stated in design docs, remove hacks.
4947
4948         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4949         (gst_base_sink_change_state):
4950         Catch stopping our task while we're shutting down.
4951
4952         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4953         (gst_bin_remove_func), (gst_bin_get_state_func),
4954         (gst_bin_recalc_state), (gst_bin_change_state_func),
4955         (bin_bus_handler):
4956         * gst/gstbin.h:
4957         * gst/gstelement.c: (gst_element_init),
4958         (gst_element_get_state_func), (gst_element_abort_state),
4959         (gst_element_commit_state), (gst_element_lost_state),
4960         (gst_element_set_state), (gst_element_change_state),
4961         (gst_element_change_state_func):
4962         * gst/gstelement.h:
4963         New state change algorithm (see #318116)
4964
4965         * gst/gstpipeline.c: (gst_pipeline_class_init),
4966         (gst_pipeline_init), (gst_pipeline_set_property),
4967         (gst_pipeline_get_property), (do_pipeline_seek),
4968         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4969         * gst/gstpipeline.h:
4970         Remove crude state change hacks.
4971
4972         * gst/gstutils.h:
4973         Remove crude hacks.
4974
4975         * tools/gst-launch.c: (main):
4976         Fixes for state change. Needs some more work to fully use the
4977         new stuff.
4978
4979 2005-10-10  Andy Wingo  <wingo@pobox.com>
4980
4981         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4982
4983         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4984         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4985         issue.
4986
4987 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4988
4989         * gst/gstiterator.c: (gst_iterator_new):
4990           Fix my previous commit: GTypes passed to gst_iterator_new()
4991           can be fundamental types.
4992
4993 2005-10-10  Wim Taymans  <wim@fluendo.com>
4994
4995         * gst/gstelement.c: (gst_element_iterate_pad_list),
4996         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4997         (gst_element_iterate_sink_pads):
4998         Use src/sink pads lists for the respective iterators instead
4999         of filtering.
5000
5001 2005-10-10  Andy Wingo  <wingo@pobox.com>
5002
5003         Merged in popt removal + GOption addition patch from Ronald, bug
5004         #169772.
5005
5006         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5007         GstElement macros around, remove popt-related symbols, add goption
5008         stuff.
5009
5010         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5011         
5012         * docs/gst/Makefile.am:
5013         * docs/libs/Makefile.am: No POPT_CFLAGS.
5014         
5015         * examples/manual/Makefile.am:
5016         * docs/manual/basics-init.xml: Doc updates with an example.
5017         
5018         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5019         (gst_init), (parse_one_option), (parse_goption_arg):
5020         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5021         bit of hand merging and debugging to get the GOption stuff working
5022         tho.
5023         
5024         * tests/Makefile.am:
5025         * tools/Makefile.am:
5026         * tools/gst-inspect.c: (main):
5027         * tools/gst-launch.c: (main):
5028         * tools/gst-run.c: (main):
5029         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5030
5031 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5032
5033         * gst/gstiterator.c: (gst_iterator_new):
5034           Add assertions to make sure passed GType is likely to really
5035           be a GType (as the compiler won't catch it if the size and
5036           GType arguments get mixed up, see #318447).
5037
5038 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5039
5040         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5041
5042         * gst/gstbin.c: (gst_bin_iterate_sorted):
5043           Pass GType and size arguments to gst_iterator_new() in the right
5044           order (maybe we should make _new() take the GType as first argument
5045           just like _new_list()?) (#318447).
5046           
5047
5048 2005-10-10  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/gstelement.c: (gst_element_finalize):
5051         And free the GStaticRecMutex too
5052
5053 2005-10-10  Andy Wingo  <wingo@pobox.com>
5054
5055         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5056         Allocate and free the mutex properly.
5057
5058         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5059         New macros.
5060         (GstElement): The state_lock is now recursive. Rebuild your
5061         plugins, suckers. Old macros adapted.
5062
5063         * docs/gst/gstreamer-sections.txt: Doc updates.
5064
5065         * gst/gstutils.h:
5066         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5067         (g_static_rec_cond_wait): Ported from state changes patch, while
5068         we wait on bug #317802 to be solved in a well-distributed GLib.
5069
5070         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5071         gst_element_change_state, variable name changes.
5072         (gst_element_change_state): Split out of gst_element_set_state in
5073         preparation for the state change merge. Doesn't pay attention to
5074         the 'transition' argument.
5075         (gst_element_set_state): Updates, hopefully purely cosmetic.
5076         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5077         state change patch.
5078         (gst_element_get_state_func): Renamed from get_state, cosmetic
5079         changes.
5080
5081 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         * gst/elements/gstelements.c:
5084         * win32/GStreamer.vcproj:
5085         * win32/config.h:
5086         * win32/dirent.c: (_tseekdir):
5087         * win32/gst-inspect.vcproj:
5088         * win32/gst-launch.vcproj:
5089         * win32/gstconfig.h:
5090         * win32/gstelements.vcproj:
5091         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5092         * win32/gstreamer.def:
5093         * win32/msvc71.sln:
5094           updates for the win32 build (patch from Sebastien Moutte)
5095
5096 2005-10-10  Andy Wingo  <wingo@pobox.com>
5097
5098         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5099         gst_bin_get_state, cleaned up (but no logic changes).
5100         (bin_element_is_sink): Comment updates.
5101         (sink_iterator_filter): Remove needless cast.
5102         (gst_bin_iterate_sinks): Doc update.
5103         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5104         cleaned up (but no logic changes).
5105
5106         * check/states/sinks.c (test_src_sink): Cleanups from the state
5107         change patch.
5108         (test_livesrc_sink): Sync on the state.
5109
5110         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5111         the state change patch.
5112
5113         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5114         change patch.
5115
5116         * check/gst/gstbin.c: Merge in some style fixes and additional
5117         checks from Wim's state change patch.
5118
5119 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5120
5121         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5122         (gst_type_find_helper):
5123           Check whether we have the requested data already in our list of
5124           cached buffers before pulling a new buffer; also make the buffer
5125           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5126
5127 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * gst/gstcaps.c:
5130         * gst/gstevent.c:
5131           doc updates
5132         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5133           don't use long long, it's not portable.  Replacing with
5134           gint64 seems to work; let's hope no skeletons fall out of the closet.
5135
5136 2005-10-10  Andy Wingo  <wingo@pobox.com>
5137
5138         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5139
5140 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * docs/gst/gstreamer-sections.txt:
5143         * gst/gstevent.c:
5144         * gst/gstevent.h:
5145         * gst/gstinfo.c:
5146         * gst/gstinfo.h:
5147         * gst/gstmessage.c: (gst_message_parse_state_changed):
5148         * gst/gstpad.c:
5149         * gst/gstpad.h:
5150           more docs, fix compilation
5151
5152 2005-10-09  Philippe Khalaf <burger@speedy.org>
5153         * gst/gstmessage.c:
5154           Fixed a few forgotten variables on previous commit
5155
5156 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5157
5158         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5159           Fix evil typefind crasher: getrange() might return a short
5160           buffer at the end of a file, but gst_type_find_peek() must
5161           either return the full data as requested or NULL, but
5162           never a short buffer.
5163
5164 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5165
5166         * gst/gstmessage.c: (gst_message_new_state_changed),
5167         (gst_message_parse_state_changed):
5168         * gst/gstmessage.h:
5169           don't use "new", it's a C++ keyword
5170
5171 2005-10-08  Wim Taymans  <wim@fluendo.com>
5172
5173         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5174         * gst/gstelement.c: (gst_element_post_message):
5175         * gst/gstpipeline.c: (gst_pipeline_change_state):
5176         Small docs and debug updates.
5177
5178 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5179
5180         * docs/gst/gstreamer-sections.txt:
5181         * gst/gstelementfactory.c:
5182         * gst/gstevent.c:
5183         * gst/gsttaglist.c:
5184           more docs
5185
5186 2005-10-08  Wim Taymans  <wim@fluendo.com>
5187
5188         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5189         (gst_bin_dispose), (bin_bus_handler):
5190         Fix typos, add comments.
5191         Clear EOS list when going to PAUSED from any direction and do it
5192         in a threadsafe way.
5193         Get base time in a threadsafe way too.
5194         Fix confusing debug in the change_state function.
5195         Various other small cleanups.
5196         
5197         * gst/gstelement.c: (gst_element_post_message):
5198         Fix very verbose bus posting code.
5199
5200         * gst/gstpipeline.c: (gst_pipeline_class_init),
5201         (gst_pipeline_set_property), (gst_pipeline_get_property),
5202         (gst_pipeline_change_state):
5203         Small ARG_ -> PROP_ cleanup
5204
5205 2005-10-08  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5208         Do a less CPU demanding EOS check because we can.
5209
5210 2005-10-08  Wim Taymans  <wim@fluendo.com>
5211
5212         * libs/gst/dataprotocol/dataprotocol.c:
5213         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5214         (gst_dp_packet_from_event):
5215         * libs/gst/dataprotocol/dataprotocol.h:
5216         * libs/gst/dataprotocol/dp-private.h:
5217         It's about time we bump the version number.
5218         Since event types don't fit in the guint8 anymore describing
5219         the payload type, make payload type 16 bits wide.
5220
5221 2005-10-08  Wim Taymans  <wim@fluendo.com>
5222
5223         * docs/design/part-TODO.txt:
5224         * docs/design/part-clocks.txt:
5225         * docs/design/part-events.txt:
5226         * docs/design/part-gstbin.txt:
5227         * docs/design/part-gstelement.txt:
5228         * docs/design/part-gstpipeline.txt:
5229         * docs/design/part-live-source.txt:
5230         * docs/design/part-messages.txt:
5231         * docs/design/part-overview.txt:
5232         * docs/design/part-states.txt:
5233         Many doc updates.
5234
5235 2005-10-08  Wim Taymans  <wim@fluendo.com>
5236
5237         * gst/gstevent.c:
5238         * gst/gstevent.h:
5239         Fix event quark registration.
5240         Add some space between events so we can insert them in the
5241         right groups.
5242
5243 2005-10-08  Wim Taymans  <wim@fluendo.com>
5244
5245         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5246         (gst_base_sink_handle_buffer):
5247         Better log message.
5248
5249         * gst/gstbus.h:
5250         * gst/gstelement.h:
5251         More docs.
5252
5253         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5254         (gst_queue_set_property), (gst_queue_get_property):
5255         * gst/gstqueue.h:
5256         Remove old unused properties.
5257
5258 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5259         * docs/gst/gstreamer-sections.txt:
5260         * gst/gstmessage.c:
5261         * gst/gstmessage.h:
5262         * gst/gstminiobject.c:
5263         * gst/gstminiobject.h:
5264         * gst/gstobject.h:
5265         * gst/gstpad.h:
5266         * gst/gstutils.h:
5267           lots of new docs and doc fixes
5268
5269 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5270
5271         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5272         * gst/gstplugin.h:
5273         * gst/gstregistry.c: (gst_registry_lookup_locked),
5274         (gst_registry_scan_path_level):
5275         * gst/gstregistryxml.c: (load_plugin):
5276           Only ever load one plugin for a given plugin basename.
5277           This ensures correct overriding of GST_PLUGIN_PATH over
5278           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5279           system installed plugins.
5280
5281 2005-10-08  Wim Taymans  <wim@fluendo.com>
5282
5283         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5284         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5285         Prepare for doing QOS.
5286
5287 2005-10-08  Wim Taymans  <wim@fluendo.com>
5288
5289         * check/gst/gstbin.c: (GST_START_TEST):
5290         * check/pipelines/cleanup.c: (GST_START_TEST):
5291         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5292         Allow new clock message too.
5293
5294 2005-10-08  Wim Taymans  <wim@fluendo.com>
5295
5296         * gst/gstmessage.c: (gst_message_new_error),
5297         (gst_message_new_warning), (gst_message_new_tag),
5298         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5299         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5300         (gst_message_new_segment_start), (gst_message_new_segment_done),
5301         (gst_message_parse_state_changed),
5302         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5303         (gst_message_parse_new_clock):
5304         * gst/gstmessage.h:
5305         Also carry the clock in question.
5306
5307 2005-10-08  Wim Taymans  <wim@fluendo.com>
5308
5309         * gst/gstmessage.c: (gst_message_new_custom),
5310         (gst_message_new_eos), (gst_message_new_error),
5311         (gst_message_new_warning), (gst_message_new_tag),
5312         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5313         (gst_message_new_new_clock), (gst_message_new_segment_start),
5314         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5315         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5316         * gst/gstmessage.h:
5317         Clean up.
5318         Added clock related messages.
5319
5320         * gst/gstpipeline.c: (gst_pipeline_change_state):
5321         Post message when the clock changed.
5322
5323         * tools/gst-launch.c: (event_loop):
5324         Print new clock.
5325
5326 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5327
5328         * tools/gst-inspect.c: (print_element_properties_info):
5329           Can't pass NULL strings to g_print() on windows.
5330
5331 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5332
5333         * docs/Makefile.am:
5334         * docs/gst/Makefile.am:
5335         * docs/gst/gstreamer-docs.sgml:
5336         * docs/gst/running.xml:
5337         * docs/version.entities.in:
5338           add a chapter on running GStreamer.
5339           document GST_DEBUG and GST_PLUGIN* env vars
5340
5341 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * Makefile.am:
5344           remove include dir
5345         * configure.ac:
5346           remove PLUGINS_BUILDDIR stuff
5347         * gst/gst.c: (init_post):
5348           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5349         * idiottest.mak:
5350           remove, it was condescending and not needed
5351
5352 2005-10-08  Wim Taymans  <wim@fluendo.com>
5353
5354         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5355         (gst_base_sink_handle_object), (gst_base_sink_event),
5356         (gst_base_sink_wait), (gst_base_sink_handle_event),
5357         (gst_base_sink_change_state):
5358         * gst/base/gstbasesink.h:
5359         Repost EOS message while going to PLAYING if still EOS.
5360         Make sure that when receiving a FLUSH_START we don't attempt
5361         to sync on the clock anymore.
5362
5363 2005-10-08  Wim Taymans  <wim@fluendo.com>
5364
5365         * tools/gst-launch.c: (event_loop):
5366         Better message printout.
5367
5368 2005-10-08  Wim Taymans  <wim@fluendo.com>
5369
5370         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5371         (gst_bin_child_proxy_get_children_count):
5372         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5373         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5374         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5375         (gst_child_proxy_set_valist):
5376         * gst/parse/grammar.y:
5377         Make ChildProxy threadsafe and fix mem leaks.
5378
5379 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * gst/gst.c: (init_post):
5382           debug the GST_PLUGIN_ env vars
5383
5384 2005-10-08  Wim Taymans  <wim@fluendo.com>
5385
5386         * check/gst/gstbin.c: (GST_START_TEST):
5387         * check/gst/gstmessage.c: (GST_START_TEST):
5388         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5389         * gst/gstelement.c: (gst_element_commit_state),
5390         (gst_element_lost_state):
5391         * gst/gstmessage.c: (gst_message_new_state_changed),
5392         (gst_message_parse_state_changed):
5393         * gst/gstmessage.h:
5394         * tools/gst-launch.c: (event_loop):
5395         Added extra field to STATE_CHANGE message with the pending
5396         state, which will be different from the new state soon.
5397
5398 2005-10-08  Wim Taymans  <wim@fluendo.com>
5399
5400         * gst/gstbus.c: (gst_bus_pop):
5401         * gst/gstclock.c:
5402         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5403         Small cleanups and doc updates.
5404
5405 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gst.c: (init_pre):
5408         * gst/gstbin.c: (gst_bin_add_func):
5409           log distributing clocks and base time
5410         * gst/gstregistry.c: (gst_registry_add_plugin),
5411         (gst_registry_scan_path_level), (gst_registry_scan_path):
5412           clean up the debugging output a little
5413         * gst/gstutils.c: (gst_element_state_get_name):
5414           warn about a memleak (I've actually seen this be used, though
5415           it was probably a bug)
5416
5417 2005-10-07  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5420         (gst_base_src_init), (gst_base_src_default_newsegment),
5421         (gst_base_src_newsegment), (gst_base_src_do_seek),
5422         (gst_base_src_loop), (gst_base_src_start):
5423         * gst/base/gstbasesrc.h:
5424         Make the newsegment event customizable by subclasses.
5425
5426 2005-10-07  Wim Taymans  <wim@fluendo.com>
5427
5428         * gst/gstevent.c: (gst_event_new_buffersize),
5429         (gst_event_parse_buffersize):
5430         * gst/gstevent.h:
5431         New event for future idea.
5432
5433 2005-10-07  Andy Wingo  <wingo@pobox.com>
5434
5435         * gst/gstelement.c (gst_element_post_message): Doc update.
5436
5437         * docs/gst/gstreamer-sections.txt: Update.
5438
5439         * gst/gstmessage.c (gst_message_new_application): Made into a
5440         function like honest API calls.
5441         (gst_message_new_element): New message type.
5442
5443         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5444
5445         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5446         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5447         times.
5448
5449         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5450         NO_PREROLL from gst_element_change_state to fall through.
5451
5452 2005-10-07  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5455         (gst_ghost_pad_do_activate_push):
5456         Activating a ghostpad with no internal pad in push mode
5457         is ok.
5458
5459 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * gst/gstobject.h:
5462           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5463           Fixes compilation on Windows.
5464
5465 2005-10-07  Michael Smith <msmith@fluendo.com>
5466
5467         * tools/gst-inspect.c:
5468           Print out feature and plugin count at the end when printing out
5469           all features.
5470
5471 2005-10-04  Michael Smith <msmith@fluendo.com>
5472
5473         * gst/gsterror.c: (_gst_stream_errors_init):
5474           Add another error string used in a few existing plugins.
5475
5476         * gst/gstplugin.c:
5477         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5478         * tools/gst-inspect.c: (print_element_info):
5479           When a feature disappears from a plugin (and the feature exists in
5480           the cached registry file), things went horribly wrong. This isn't a
5481           complete fix, we should actually be removing the 'missing' features
5482           from the features list when we load the actual plugin. That's not
5483           yet implemented. 
5484
5485 2005-10-04  Johan Dahlin  <johan@gnome.org>
5486
5487         * check/gst/gstiterator.c: (GST_START_TEST):
5488         * gst/gstbin.c: (gst_bin_iterate_elements),
5489         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5490         * gst/gstelement.c: (gst_element_iterate_pads):
5491         * gst/gstformat.c: (gst_format_iterate_definitions):
5492         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5493         (gst_iterator_new_list), (gst_iterator_filter):
5494         * gst/gstiterator.h:
5495         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5496         Add a GType to GstIterator, update callsites and tests.
5497
5498 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5501           give events a chance to be handled by event probes when the pad
5502           is not linked
5503
5504 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * gst/gstevent.c: (gst_event_type_get_name),
5507         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5508         * gst/gstevent.h:
5509           add string representations for event types
5510
5511 2005-10-06  Wim Taymans  <wim@fluendo.com>
5512
5513         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5514         Don't use NULL pointers.
5515
5516 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * gst/gst_private.h:
5519         * gst/gstbus.c:
5520         * gst/gstelement.c:
5521         * gst/gstinfo.c:
5522         * gst/gstpluginfeature.c:
5523           widen the debug category in output to fit the biggest one we have
5524           add a bus category and use it
5525           play with the colors
5526           fix up some categories
5527
5528 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5529
5530         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5531           add push activation of sink ghost pads.
5532           Andye, please verify
5533
5534 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5535
5536         * gst/gstutils.c: (gst_element_link_pads):
5537           fix a bug in the case where neither element has a pad
5538         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5539           add a test for that case
5540
5541 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5544           emit have-data before checking for peers.  This allows
5545           for probe handlers to connect elements.  This helps autopluggers.
5546         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5547         (gst_pad_suite):
5548           add six checks, linked/unlinked with no/true/false probe
5549
5550 2005-10-04  Wim Taymans  <wim@fluendo.com>
5551
5552         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5553         (gst_fake_sink_event), (gst_fake_sink_preroll),
5554         (gst_fake_sink_render), (gst_fake_sink_change_state):
5555         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5556         (gst_fake_src_get_property), (gst_fake_src_create),
5557         (gst_fake_src_stop):
5558         * gst/elements/gstidentity.c: (gst_identity_stop):
5559         Protect last_message with lock.
5560
5561 2005-10-04  Edward Hervey  <edward@fluendo.com>
5562
5563         * gst/gstformat.h: 
5564         Added precision in the comments for GST_FORMAT_DEFAULT
5565
5566 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5567
5568         * tools/gst-launch.c: (main):
5569           Don't try to run erroneous pipelines.
5570
5571 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5572
5573         * gst/gstbus.c: We don't need this header.
5574
5575 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5576
5577         * configure.ac:
5578           back to development
5579
5580 === release 0.9.3 ===
5581
5582 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5583
5584         * README:
5585         * configure.ac:
5586           Releasing 0.9.3, "Unregistered"
5587
5588 2005-10-03  Andy Wingo  <wingo@pobox.com>
5589
5590         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5591         whereby calling a pad's activatepush() function can start a thread
5592         that starts to push or pull before the pad gets the FLUSHING flag
5593         unset. Hack around it by holding the stream lock until the flag is
5594         set. Need to replace this with a proper solution. Together with
5595         the ghost pad fixes, this fixes mp3 playing/tagreading.
5596
5597         * docs/design/part-gstghostpad.txt: Add a note about activation of
5598         proxy pads outside of ghost pads.
5599
5600         * gst/gstghostpad.c: Implement the ghost pad activation design.
5601
5602 2005-10-02  Andy Wingo  <wingo@pobox.com>
5603
5604         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5605         It is volatile, after all.
5606
5607         * docs/design/part-gstghostpad.txt: Flesh out activation with
5608         ghost pads.
5609
5610         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5611         GST_DEBUG_FUNCPTR.
5612
5613 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5614
5615         * configure.ac:
5616           Fix (unused) AM_CONDITIONAL tests.
5617
5618 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5619
5620         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5621
5622         * gst/gstutils.c: (gst_pad_query_convert):
5623           Add assertion that makes sure src_val is >=0, just like
5624           gst_query_new_convert() has. (#315895)
5625
5626 2005-09-30  Edward Hervey  <edward@fluendo.com>
5627
5628         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5629         Let's not iterate pads we're not interested in, it avoids getting 
5630         sky-high refcounts on sinkpad.
5631
5632 2005-09-30  Wim Taymans  <wim@fluendo.com>
5633
5634         * gst/gstelement.c: (gst_element_set_state),
5635         (gst_element_change_state):
5636         Small tweak, element in ASYNC remains ASYNC.
5637
5638 2005-09-30  Wim Taymans  <wim@fluendo.com>
5639
5640         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5641         Only error is an error.
5642
5643         * gst/gstbin.c: (gst_bin_change_state):
5644         Better debugging.
5645
5646         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5647         Also call pad_block in pad alloc.
5648
5649         * gst/gstutils.c: (gst_flow_get_name):
5650         Better debugging.
5651
5652 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5653
5654         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5655         (gst_base_src_get_range):
5656           Fix documentation typos. Add some more debug info.
5657
5658 2005-09-29  David Schleef  <ds@schleef.org>
5659
5660         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5661           more end-user friendly.
5662         * tools/gst-inspect.c: (main): Check if command-line argument is
5663           a file and attempt to load that file as a plugin.
5664
5665 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5666
5667         * check/gst/gstbin.c:
5668         * check/states/sinks.c:
5669           fix tests for the new warning
5670         * check/gst/gstpipeline.c:
5671           add a test for pipeline and bus interaction
5672         * gst/gstelement.c:
5673           elements should be NULL if they get disposed; add a warning if not
5674
5675 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5676
5677         * gst/gstobject.c:
5678           for 2.6 refcounting, make debug log more correct by printing
5679           the actual refcounts at the time of swap (Wim)
5680
5681 2005-09-29  Andy Wingo  <wingo@pobox.com>
5682
5683         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5684         removes signal watches previously added via
5685         gst_bus_add_signal_watch.
5686         (gst_bus_add_signal_watch): Don't return the source id, just store
5687         it on the bus if there wasn't an id already.
5688
5689         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5690         add_signal_watch and remove_signal_watch.
5691
5692 2005-09-29  Edward Hervey  <edward@fluendo.com>
5693
5694         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5695         Better if we actually iterate the list :)
5696
5697 2005-09-29  Wim Taymans  <wim@fluendo.com>
5698
5699         * check/gst/gstbin.c: (GST_START_TEST):
5700         Change for new bus API.
5701
5702         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5703         (send_messages), (GST_START_TEST), (gstbus_suite):
5704         Change for new bus signal API.
5705
5706         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5707         (gst_bus_source_prepare), (gst_bus_source_check),
5708         (gst_bus_create_watch), (gst_bus_add_watch_full),
5709         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5710         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5711         * gst/gstbus.h:
5712         Remove support for multiple GSources operating on different
5713         message types as it is too complex and unneeded when using
5714         signals.
5715         Added support for receiving signals from the bus.
5716
5717 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * docs/libs/tmpl/gstdataprotocol.sgml:
5720         * docs/manual/advanced-dataaccess.xml:
5721         * gst/elements/gstcapsfilter.c:
5722         * gst/gstutils.c:
5723           rename filter-caps to caps property
5724
5725 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5726
5727         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5728           More robust fraction string parsing.
5729
5730         * docs/pwg/appendix-porting.xml:
5731           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5732
5733 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5734
5735         * gst/gstcaps.c: (gst_caps_do_simplify):
5736           Thou shalt not free a structure and then continue using it
5737           in the next loop iteration.
5738
5739         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5740         (gst_caps_suite):
5741           Add test case for caps simplification.
5742
5743 2005-09-29  Wim Taymans  <wim@fluendo.com>
5744
5745         * check/gst/gstbin.c: (GST_START_TEST):
5746         Oops.
5747
5748 2005-09-29  Wim Taymans  <wim@fluendo.com>
5749
5750         * check/gst/gstbin.c: (GST_START_TEST):
5751         Add bus to bin.
5752
5753         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5754         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5755         (find_element), (gst_bin_sort_iterator_next),
5756         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5757         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5758         (gst_bin_change_state), (gst_bin_dispose):
5759         A bin does not have a bus, it gets the bus from the parent.
5760
5761         * gst/gstelement.c: (gst_element_requires_clock),
5762         (gst_element_provides_clock), (gst_element_is_indexable),
5763         (gst_element_is_locked_state), (gst_element_change_state),
5764         (gst_element_set_bus_func):
5765         Small cleanups.
5766
5767         * gst/gstpipeline.c: (gst_pipeline_class_init),
5768         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5769         The pipeline provides a bus.
5770
5771 2005-09-28  Johan Dahlin  <johan@gnome.org>
5772
5773         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5774         gst_structure_get_enum instead of gst_structure_get_int
5775
5776         * gst/gststructure.c (gst_structure_get_enum): Impl.
5777
5778         * gst/gststructure.h (gst_structure_get_enum): Add
5779
5780         * docs/gst/gstreamer-sections.txt: Ditto
5781
5782         * gst/gstmessage.c (gst_message_new_state_changed): Use
5783         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5784         which does introspection.
5785         Reviewed by Christian Schaller
5786
5787 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5788
5789         * gst/gstinfo.c: (gst_debug_log_default):
5790           don't do dummy g_strdup()s
5791         * libs/gst/controller/gstcontroller.c:
5792         (on_object_controlled_property_changed),
5793         (gst_controlled_property_new), (gst_controller_new_valist),
5794         (gst_controller_new_list),
5795         (gst_controller_remove_properties_valist), (gst_controller_set),
5796         (gst_controller_get), (gst_controller_sync_values),
5797         (gst_controller_get_value_array), (_gst_controller_class_init),
5798         (gst_controller_get_type):
5799         * libs/gst/controller/gstcontroller.h:
5800         * libs/gst/controller/gstinterpolation.c:
5801         (gst_controlled_property_find_timed_value_node):
5802           convert // to /**/ comments
5803
5804 2005-09-28  Wim Taymans  <wim@fluendo.com>
5805
5806         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5807         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5808         (gst_bus_sync_signal_handler):
5809         * gst/gstbus.h:
5810         Added async-message and sync-message signals to the bus.
5811         Added helper BusFunc to emit signals for all posted messages.
5812
5813         * gst/gstmessage.c: (gst_message_type_get_name),
5814         (gst_message_type_to_quark), (gst_message_get_type):
5815         * gst/gstmessage.h:
5816         Register quarks for message names.
5817
5818 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5819
5820         * docs/libs/gstreamer-libs-sections.txt:
5821         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5822         (gst_controller_new_list):
5823         * libs/gst/controller/gstcontroller.h:
5824           added another constructor for language bindings
5825
5826 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5827
5828         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5829           add another check
5830         * gst/gstbus.c:
5831           add some doc
5832         * gst/gstinfo.c: (_gst_debug_init):
5833           slightly more readable color for refcount debugging
5834
5835 2005-09-28  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5838         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5839         (find_element), (gst_bin_sort_iterator_next),
5840         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5841         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5842         (gst_bin_change_state), (gst_bin_dispose):
5843         Small doc fixes. get_clock -> provide_clock.
5844
5845         * gst/gstelement.c: (gst_element_class_init),
5846         (gst_element_provides_clock), (gst_element_provide_clock),
5847         (gst_element_get_clock), (gst_element_commit_state),
5848         (gst_element_lost_state):
5849         * gst/gstelement.h:
5850         Make get/set_clock() symetric. Add provide_clock vmethod since
5851         that is actually what this function does.
5852
5853         * gst/gstpipeline.c: (gst_pipeline_class_init),
5854         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5855         (gst_pipeline_get_clock):
5856         get_clock -> provide_clock.
5857
5858 2005-09-28  Andy Wingo  <wingo@pobox.com>
5859
5860         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5861         lieu of real docs...
5862
5863         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5864
5865 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * gst/elements/gstcapsfilter.c:
5868         * gst/elements/gstfakesink.c:
5869         * gst/elements/gstfakesrc.c:
5870         * gst/elements/gstfdsink.c:
5871         * gst/elements/gstfdsrc.c:
5872         * gst/elements/gstfilesink.c:
5873         * gst/elements/gstfilesrc.c:
5874         * gst/elements/gstidentity.c:
5875         * gst/elements/gsttee.c:
5876         * gst/elements/gsttypefindelement.c:
5877           Make element details static.
5878
5879 2005-09-28  Wim Taymans  <wim@fluendo.com>
5880
5881         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5882         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5883         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5884         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5885         (gst_bin_change_state), (gst_bin_dispose):
5886         Some documentation updates.
5887         Clean up dispose handlers.
5888
5889         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5890         * gst/gstpad.c: (gst_pad_dispose):
5891         Clean up dispose handler.
5892
5893         * gst/gstpipeline.c: (gst_pipeline_change_state):
5894         Removed spurious UNLOCK.
5895
5896 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5897
5898         * docs/gst/gstreamer-sections.txt:
5899         * gst/base/gstbasesrc.h:
5900         * gst/gstelement.h:
5901         * gst/gstevent.h:
5902         * gst/gstobject.h:
5903         * gst/gstpad.h:
5904         * gst/gstpipeline.c:
5905         * gst/gstpipeline.h:
5906         * gst/gstutils.h:
5907         * gst/gstxml.h:
5908           added two new functions to the docs
5909                 documents all undocumented GstXXXFlags
5910                 completed some incomplete docs 
5911
5912 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5913
5914         * gst/gstbin.c: (gst_bin_dispose):
5915         * gst/gstelement.c: (gst_element_dispose):
5916           remove now useless and leaky resurrection code in dispose
5917         * gst/base/gstbasesrc.c: (gst_base_src_init):
5918         * gst/gstelementfactory.c: (gst_element_factory_create):
5919         * gst/gstobject.c: (gst_object_set_parent):
5920           add some debugging
5921
5922 2005-09-27  Wim Taymans  <wim@fluendo.com>
5923
5924         * docs/design/part-TODO.txt:
5925         Update TODO.
5926
5927         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5928         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5929         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5930         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5931         (gst_bin_change_state):
5932         * gst/gstelement.h:
5933         Remove element variable, we keep element info in the iterator now.
5934
5935 2005-09-27  Andy Wingo  <wingo@pobox.com>
5936
5937         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5938         values.
5939
5940 2005-09-27  Wim Taymans  <wim@fluendo.com>
5941
5942         * check/gst/gstbin.c: (GST_START_TEST):
5943         Enable check that works now.
5944
5945         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5946         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5947         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5948         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5949         (gst_bin_change_state):
5950         * gst/gstbin.h:
5951         Redid the state change algorithm using a topological sort algo.
5952         Handles all cases correctly.
5953         Exposed iterator for state change order.
5954
5955         * gst/gstelement.h:
5956         Temp storage for state changes. Need to get rid of this soon.
5957
5958 2005-09-27  Wim Taymans  <wim@fluendo.com>
5959
5960         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5961         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5962         (link_fold_func), (gst_pad_proxy_setcaps):
5963         Leak fixes, the fold functions need to unref the passed object and
5964         _get_parent_*() returns ref to parent.
5965
5966 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5967
5968         * check/gst/gstbuffer.c: (test_make_writable):
5969           Plug leak in test case and fix 'make check-valgrind'
5970
5971 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * gst/gstbuffer.c: (gst_subbuffer_init):
5974           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5975           works correctly in all circumstances (we could have just copied
5976           the parent buffer's readonly flag, but conceptually it seems
5977           cleaner to mark all subbuffers as read-only). (based on patch
5978           by Alessandro Decina, #314710).
5979         
5980         * check/gst/gstbuffer.c: (create_read_only_buffer),
5981         (test_make_writable), (test_subbuffer_make_writable),
5982         (gst_test_suite):
5983           Add some tests for gst_buffer_make_writable().
5984
5985 2005-09-27  Wim Taymans  <wim@fluendo.com>
5986
5987         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5988         use gst_object_has_ancestor().
5989
5990         * gst/gstobject.c: (gst_object_has_ancestor):
5991         * gst/gstobject.h:
5992         gst_object_has_ancestor() copied from gstbin.c as it is a
5993         usefull function.
5994
5995         * tests/instantiate/create.c: (create_all_elements):
5996         * tests/lat.c: (handoff_src), (handoff_sink):
5997         * tests/sched/runxml.c: (main):
5998         * tests/seeking/seeking1.c: (main):
5999         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6000         (main):
6001         Fix compilation of some tests.
6002
6003 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6004
6005         * gst/gsterror.h:
6006           Remove comment. GST_TYPE_G_ERROR is here to stay,
6007           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6008           (#316961, #300610).
6009
6010 2005-09-26  Wim Taymans  <wim@fluendo.com>
6011
6012         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6013         Added check that shows error in state change order.
6014
6015 2005-09-26  Wim Taymans  <wim@fluendo.com>
6016
6017         * gst/gstbin.c: (gst_bin_change_state):
6018         Make state change function use 3 queues again, we were
6019         adding elements in the wrong order.
6020
6021         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6022         Some debug info,
6023
6024         * gst/gstpad.c: (gst_pad_dispose):
6025         Added some debug info first.
6026
6027 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6028
6029         * docs/design/draft-push-pull.txt:
6030         * docs/design/part-events.txt:
6031         * docs/design/part-overview.txt:
6032         * docs/design/part-scheduling.txt:
6033           Replace all _pull_region() with _pull_range()
6034           
6035 2005-09-26  Andy Wingo  <wingo@pobox.com>
6036
6037         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6038
6039         * check/gst-libs/controller.c: Update for controller api change.
6040
6041         * configure.ac: 
6042         * tests/Makefile.am:
6043         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6044         over by GLib bug 118439.
6045         
6046         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6047         routines to a function.
6048
6049         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6050
6051         * libs/gst/controller/gsthelper.c:
6052         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6053         (gst_object_sync_values): Renamed from sink_values. Ugh.
6054
6055         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6056
6057         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6058         Renamed from controller_key, as it is exported.
6059
6060         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6061
6062 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * gst/Makefile.am:
6065         * gst/gst.h:
6066         * gst/gstpad.h:
6067         * gst/gstpadtemplate.h:
6068         * gst/gstquery.c:
6069         * gst/gstquery.h:
6070         * gst/gstqueryutils.c:
6071         * gst/gstqueryutils.h:
6072           remove queryutils headers after moving the two used functions
6073           to gstquery.  also fixes build problem for gstsiddec
6074
6075 2005-09-26  Michael Smith <msmith@fluendo.com>
6076
6077         * tools/gst-launch.1.in:
6078         Correct documentation in manpage of debug syntax
6079
6080 2005-09-26  Wim Taymans  <wim@fluendo.com>
6081
6082         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6083         (gst_base_src_is_seekable), (gst_base_src_change_state):
6084         Some more debugging info.
6085
6086 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6087
6088         * docs/gst/gstreamer-sections.txt:
6089         * gst/base/gstbasetransform.h:
6090         * gst/gstindex.h:
6091           added more docs
6092
6093 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6094
6095         * docs/gst/.cvsignore:
6096         * docs/gst/tmpl/.cvsignore:
6097         * docs/gst/tmpl/gstpipeline.sgml:
6098         * docs/gst/tmpl/gstplugin.sgml:
6099         * gst/gstpipeline.c:
6100         * gst/gstplugin.c:
6101         * gst/gstplugin.h:
6102           inlined the last two docs files
6103           removed the tmpl directory from cvs (no more conflicts here!)
6104
6105 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6106
6107         * docs/gst/gstreamer-sections.txt:
6108         * docs/gst/tmpl/.cvsignore:
6109         * docs/gst/tmpl/gstpad.sgml:
6110         * docs/gst/tmpl/gstpadtemplate.sgml:
6111         * gst/Makefile.am:
6112         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6113         (gst_pad_finalize), (gst_pad_set_pad_template):
6114         * gst/gstpad.h:
6115         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6116         (gst_pad_template_class_init), (gst_pad_template_init),
6117         (gst_pad_template_dispose), (name_is_valid),
6118         (gst_static_pad_template_get), (gst_pad_template_new),
6119         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6120         (gst_pad_template_pad_created):
6121         * gst/gstpadtemplate.h:
6122           inlined two more docs
6123           factored gstpadtemplate out of gstpad
6124
6125 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6126
6127         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6128         (test_children_state_change_order_semi_sink):
6129           Fix test case: we can't rely on a fixed state change order when
6130           going from READY => PAUSED because the sink might commit its 
6131           new state first when the first buffer created by the source 
6132           reaches the sink before the source has finished its change state.
6133           (Test case still fails at times, see #316856, comment 5 onwards)
6134
6135 2005-09-24  Wim Taymans  <wim@fluendo.com>
6136
6137         * docs/design/part-events.txt:
6138         * docs/design/part-gstbus.txt:
6139         * docs/design/part-gstpipeline.txt:
6140         * docs/design/part-messages.txt:
6141         * docs/design/part-overview.txt:
6142         * docs/design/part-segments.txt:
6143         * gst/gstbin.c:
6144         * gst/gstbuffer.c:
6145         * gst/gstclock.c:
6146         * gst/gstelement.c:
6147         * gst/gstevent.c:
6148         * gst/gstfilter.c:
6149         * gst/gstiterator.c:
6150         Various documentation updates.
6151
6152 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * gst/gstclock.h:
6155           Well, that's embarassing.  Luckily we weren't using
6156           GST_CLOCK_DIFF anywhere.
6157
6158 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * common/gtk-doc.mak:
6161           don't fail on building XML, FC4 slave shows a bunch of doc
6162           missing bits that I don't get
6163         * gst/gstpad.c:
6164         * gst/gstpipeline.c:
6165         * gst/gststructure.c:
6166           some doc updates
6167
6168 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * docs/design/part-gstbin.txt:
6171         * docs/design/part-gstbus.txt:
6172         * gst/gstbus.c:
6173           Add blurb about how the bus goes into flushing mode and
6174           drops all messages when its bin goes from READY into NULL 
6175           state.
6176
6177 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6178
6179         * docs/gst/gstreamer-sections.txt:
6180         * gst/gststructure.c: (gst_structure_get_clock_time):
6181         * gst/gststructure.h:
6182           add a method to get a GstClockTime out of a structure
6183
6184 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6187         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6188           Added test to check state change order in bins (can still be made
6189           to fail here under heavy disk load; bails out with 'Push on pad
6190           fakesink:sink0, but it was not activated in push mode').
6191
6192         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6193           Fix state change order when there is only a semi sink (#316856)
6194
6195         * gst/gstbus.c: (gst_bus_class_init):
6196           Use _class_peek_parent(), not _class_ref(); fix docs to say
6197           'default main context' instead of 'mainloop' where that is
6198           what's meant.
6199
6200         * gst/gstelement.c: (gst_element_commit_state),
6201         (gst_element_set_state):
6202           Fix typos in debug messages
6203
6204 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6205
6206         * docs/README:
6207         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6208         * gst/gstpluginfeature.c:
6209         * gst/gstutils.c:
6210           various doc updates
6211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6212           change an assert into an error until it gets fixed properly
6213
6214 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6215
6216         * docs/gst/gstreamer-sections.txt:
6217         * docs/gst/tmpl/.cvsignore:
6218         * docs/gst/tmpl/gstelement.sgml:
6219         * docs/gst/tmpl/gstinfo.sgml:
6220         * docs/gst/tmpl/gstobject.sgml:
6221         * gst/gstelement.c:
6222         * gst/gstelement.h:
6223         * gst/gstinfo.c:
6224         * gst/gstinfo.h:
6225         * gst/gstobject.c: (gst_object_class_init):
6226         * gst/gstobject.h:
6227           inlined 3 more biiiig doc files and added some missing docs on the fly
6228
6229 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * check/gst/.cvsignore:
6232         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6233         * gst/gstregistryxml.c: (load_plugin),
6234         (gst_registry_xml_save_plugin):
6235           put back source in registry.  add checks for find_plugin.
6236         * testsuite/states/bin.c: (assert_state), (empty_bin),
6237         (test_adding_one_element), (main):
6238         * testsuite/states/locked.c: (main):
6239           some compile/run fixes
6240
6241 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6242
6243         * check/gst/gstvalue.c: (GST_START_TEST):
6244           fix leaks in the test itself
6245
6246 2005-09-22  Wim Taymans  <wim@fluendo.com>
6247
6248         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6249         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6250         (gst_base_sink_query):
6251         Prepare for more accurate position reporting and query
6252         handling.
6253
6254         * gst/gstelement.c: (gst_element_send_event),
6255         (gst_element_set_state):
6256         Add some comment.
6257
6258 2005-09-22  Wim Taymans  <wim@fluendo.com>
6259
6260         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6261         (gst_query_parse_segment):
6262         * gst/gstquery.h:
6263         More documentation.
6264         Add segment query for future use.
6265
6266 2005-09-22  Wim Taymans  <wim@fluendo.com>
6267
6268         * gst/gstbin.c: (gst_bin_add_func):
6269         Some more debug info.
6270
6271         * gst/gstelement.c: (gst_element_send_event):
6272         Simplify send_event
6273
6274         * gst/gstelement.h:
6275         Don't know how flags got broken.
6276
6277         * gst/gstquery.h:
6278         Added new query.
6279
6280 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6281
6282         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6283           Add simplistic test suite for GST_TYPE_DATE serialisation and
6284           deserialisation.
6285
6286 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6287
6288         * docs/gst/gstreamer-sections.txt:
6289         * gst/gststructure.c: (gst_structure_set_valist),
6290         (gst_structure_get_date):
6291         * gst/gststructure.h:
6292         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6293         (gst_date_copy), (gst_value_compare_date),
6294         (gst_value_serialize_date), (gst_value_deserialize_date),
6295         (gst_value_transform_date_string),
6296         (gst_value_transform_string_date), (_gst_value_initialize):
6297         * gst/gstvalue.h:
6298           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6299           bunch of utility functions along with a hack that checks that
6300           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6301           is required. Part of the grand scheme in #170777.
6302
6303 2005-09-22  Andy Wingo  <wingo@pobox.com>
6304
6305         * gst/gstconfig.h.in: Psych out gtk-doc.
6306
6307         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6308
6309         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6310
6311         * tools/gst-inspect.c (print_element_list): Plug some
6312         inconsequential leaks.
6313
6314         * gst/gstregistry.c (gst_registry_get_default): Doc.
6315
6316         * check/gst/gstplugin.c: 
6317         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6318         * gst/gstelementfactory.c (gst_element_factory_create): 
6319         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6320         refcount changes.
6321
6322         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6323         (gst_plugin_feature_load): Doc, don't eat refs.
6324
6325         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6326         (gst_plugin_list_free): Doc.
6327         (gst_plugin_load_file): Doc updates.
6328
6329         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6330         accessors returning refcounted objects, return a ref.
6331
6332         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6333         accessor for caps. IDEMPOTENCE. Oh yes.
6334
6335 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6336
6337         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6340         (_gst_debug_register_funcptr):
6341           Add mutex to serialise access to the hash table with
6342           the function pointer => function name string mapping;
6343           make that hash table static scope (#316809).
6344
6345         * gst/registries/.cvsignore:
6346           Remove left-over file.
6347
6348 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6349
6350         * docs/pwg/appendix-porting.xml:
6351           And something about newsegment events and caps-on-buffers to
6352           the porting guide (feel free to improve).
6353
6354 2005-09-21  Andy Wingo  <wingo@pobox.com>
6355
6356         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6357         data and event probes on the same pad.
6358         (test_buffer_probe_once): Test that removing probes from within
6359         the probe functions works.
6360
6361 2005-09-21  Andy Wingo  <wingo@pobox.com>
6362
6363         * check/gst/gstutils.c: New file.
6364         (test_buffer_probe_n_times): A simple buffer probe test. More to
6365         come, foolios.
6366
6367         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6368         have-data::buffer, not have-data.
6369         (gst_pad_add_event_probe): Likewise for have-data::event.
6370         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6371         peer' isn't quite right yet though.
6372         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6373         (gst_pad_remove_data_probe): Change to take the guint handler_id
6374         as their arg, not the function+data, which is more glib-like.
6375
6376         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6377         the signal emission to indicate if the data is a buffer or an
6378         event.
6379         (gst_pad_get_type): Initialize buffer and event quarks.
6380         (gst_pad_class_init): have-data is now a detailed signal, yes it
6381         is.
6382
6383 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6386         * gst/gstutils.c: (gst_util_set_value_from_string),
6387         (gst_util_set_object_arg):
6388           Don't put functional code in g_return_if_fail() or
6389           g_return_val_if_fail() statements, otherwise things will 
6390           break when G_DISABLE_CHECKS is defined during compilation.
6391
6392 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6393
6394         * docs/gst/tmpl/.cvsignore:
6395         * docs/gst/tmpl/gstvalue.sgml:
6396         * gst/gstvalue.c:
6397         * gst/gstvalue.h:
6398           inlied another one and added  some obvious docs
6399
6400 2005-09-21  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6403         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6404         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6405         (gst_fdsrc_get_property), (gst_fdsrc_create):
6406         * gst/elements/gstfdsrc.h:
6407         Properly implement fdsrc. Removed signal and timeout,
6408         better implemented somewhere else.
6409
6410 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6411
6412         * docs/gst/tmpl/.cvsignore:
6413         * docs/gst/tmpl/gstimplementsinterface.sgml:
6414         * gst/gstinterface.c:
6415           inlined more docs
6416
6417 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * docs/gst/gstreamer-sections.txt:
6420         * docs/gst/tmpl/.cvsignore:
6421         * docs/gst/tmpl/gstenumtypes.sgml:
6422           remove obsolete doc file
6423
6424 2005-09-21  David Schleef  <ds@schleef.org>
6425
6426         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6427         little beer, fix a little leak.
6428
6429 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6430
6431         * docs/gst/gstreamer-docs.sgml:
6432         * docs/gst/gstreamer-sections.txt:
6433         * docs/gst/tmpl/.cvsignore:
6434         * gst/Makefile.am:
6435         * gst/gst.h:
6436         * gst/gstbin.c:
6437         * gst/gstelement.h:
6438         * gst/gstindex.c: (gst_index_class_init):
6439         * gst/gstindex.h:
6440         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6441         (gst_index_factory_class_init), (gst_index_factory_init),
6442         (gst_index_factory_finalize), (gst_index_factory_new),
6443         (gst_index_factory_destroy), (gst_index_factory_find),
6444         (gst_index_factory_create), (gst_index_factory_make):
6445         * gst/gstindexfactory.h:
6446         * gst/gstpluginfeature.c:
6447         * gst/gstpluginfeature.h:
6448         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6449           more docs inlined, splitted gstindex.{c,h}
6450
6451 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6452
6453         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6454           fix a leak
6455
6456 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6459           Set sync to FALSE by default.
6460
6461 2005-09-20  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6464         (gst_base_sink_init):
6465         Make sync property settable from subclass.
6466
6467         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6468         (gst_fake_sink_change_state):
6469         Set sync to FALSE by default.
6470
6471 2005-09-20  Wim Taymans  <wim@fluendo.com>
6472
6473         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6474         * tools/gst-launch.c: (main):
6475         The timeout handler should have lower priority than the source
6476         so we don't timeout before popping a message with 0 timeout.
6477         Dump error messages after failed state change.
6478
6479 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6480
6481         * tools/gst-inspect.c: (print_element_properties_info):
6482           Fix two typos.
6483
6484 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * check/gst/gstevent.c:
6487         * gst/elements/gstfakesink.c:
6488         * gst/elements/gstfakesink.h:
6489           remove the sync property from fakesink.
6490           has the side effect of setting sync TRUE
6491           for fakesink, which is a change.  Anyone who knows how
6492           to fix this nicely in a GObject-y way, feel free.
6493
6494 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6495
6496         * docs/gst/gstreamer-docs.sgml:
6497           remove probe refsection
6498
6499 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * check/Makefile.am:
6502           disable valgrinding the controller test again
6503         * docs/gst/gstreamer-sections.txt:
6504           update for api-changes
6505
6506 2005-09-20  Wim Taymans  <wim@fluendo.com>
6507
6508         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6509         (gst_base_sink_set_property), (gst_base_sink_get_property),
6510         (gst_base_sink_do_sync):
6511         * gst/base/gstbasesink.h:
6512         Added sync property to basesink to disable clock sync.
6513
6514 2005-09-20  Andy Wingo  <wingo@pobox.com>
6515
6516         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6517         eating the caller's refcount.
6518
6519         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6520         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6521         refcount.
6522
6523         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6524         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6525         of GLib 2.8 public, so we can know which refcount to check in
6526         tests.
6527
6528         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6529         (gst_object_init): Only set the gst refcount if we're going ahead
6530         with the refcount hack.
6531
6532 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6533
6534         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6535         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6536           more leaks plumbed, added more debug-logging
6537         * gst/gstmacros.h:
6538           whitespace fix
6539
6540 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * gst/gstmessage.c:
6543           remove include of gstmemchunk.h
6544
6545 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * gst/gstclock.c: (_gst_clock_id_free):
6548           Commit from the Political Party For More Atomic CVS Commits,
6549           so that people don't waste too much of their day fishing
6550           out obvious leaks out of massive commits.
6551           Oh, and fix a pretty damn obvious leak in the memchunk
6552           removal code.
6553
6554 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6555
6556         * check/Makefile.am:
6557         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6558           plug mem-leak, re-add to valgrindable tests
6559
6560 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * gst/gstplugin.h:
6563           unbreak the build for those who have chronic arthritis
6564           and typing "make check" is just too taxing on the hands
6565
6566 2005-09-20  Andy Wingo  <wingo@pobox.com>
6567
6568         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6569         really want it out, you should fix plugins at the same time.
6570
6571 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6572
6573         * configure.ac:
6574         * docs/gst/gstreamer-sections.txt:
6575         * gst/gstobject.c:
6576           added missing symbols to api docs
6577           disable ref-count hack if we have glib >= 2.8
6578
6579 2005-09-19  David Schleef  <ds@schleef.org>
6580
6581         * docs/gst/Makefile.am: Ignore a few more internal headers
6582         * docs/gst/gstreamer-docs.sgml: Remove old sections
6583         * docs/gst/gstreamer-sections.txt: Remove old sections
6584         * docs/gst/tmpl/gstobject.sgml: update
6585         * docs/gst/tmpl/gstplugin.sgml: update
6586         * docs/gst/tmpl/gstpluginfeature.sgml: update
6587         * docs/random/ds/0.9-suggested-changes: update.
6588         * gst/Makefile.am: remove memchunk and trashstack, since they're
6589           not used.
6590         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6591         * gst/gst.h: don't include some headers
6592         * gst/gstchildproxy.c: add gstmarshal.h
6593         * gst/gstclock.c: Don't use memchunks
6594         * gst/gstminiobject.c: Add some docs
6595         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6596         * gst/gstobject.h: same
6597         * gst/gstplugin.c: include gstmacros.h
6598         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6599         * gst/gstquery.c: don't use memchunks
6600         * gst/gstregistry.c: rename gst_registry_deinit()
6601         * gst/gstregistry.h: same
6602
6603 2005-09-19  David Schleef  <ds@schleef.org>
6604
6605         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6606         * docs/libs/gstreamer-libs-sections.txt:
6607         * docs/libs/tmpl/gstgetbits.sgml:
6608         * docs/libs/tmpl/gstputbits.sgml:
6609
6610 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * win32/gstenumtypes.c:
6613         * win32/gstenumtypes.h:
6614           Update.
6615
6616 2005-09-19  Wim Taymans  <wim@fluendo.com>
6617
6618         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6619         Automatically PAUSE and RESUME a pipeline when a flushing seek
6620         is performed.
6621
6622 2005-09-19  Andy Wingo  <wingo@pobox.com>
6623
6624         * gst/gstregistry.h: Spacing fixen.
6625
6626 2005-09-19  Wim Taymans  <wim@fluendo.com>
6627
6628         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6629         Handle state change failure more correctly.
6630
6631 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * check/Makefile.am:
6634         * check/pipelines/cleanup.c: (run_pipeline):
6635         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6636         (GST_START_TEST):
6637           enable cleanup again after fixing the leak
6638         * docs/README:
6639           some more info on docs
6640
6641 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6642
6643         * check/Makefile.am:
6644           re-enable tests now that leaks are plugged
6645         * check/gst/gst.c:
6646         * check/gst/gstbin.c:
6647         * check/gst/gstpipeline.c:
6648           add some more tests while fixing leaks
6649         * common/check.mak:
6650           make sure binaries are uptodate when valgrinding/gdbing
6651         * gst/gst.c:
6652         * gst/gstelementfactory.c:
6653           remove a ref too many, and add a FIXME for when we get
6654           round to disposing of classes
6655         * gst/gstplugin.c:
6656           fix the refcounting when loading a plugin from a file and
6657           the code pretends that the pointer is the same even though
6658           of course it can change
6659         * gst/gstpluginfeature.c:
6660           unref plugins marked cached (a bit confusing as a name)
6661           as the docs state should be done
6662           various doc additions to explain refcounting
6663         * gst/gstregistry.c:
6664         * gst/gstregistryxml.c:
6665           debugging
6666
6667 2005-09-19  Wim Taymans  <wim@fluendo.com>
6668
6669         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6670         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6671         (send_messages), (GST_START_TEST), (gstbus_suite):
6672         * check/gst/gstpipeline.c: (GST_START_TEST):
6673         * check/pipelines/cleanup.c: (run_pipeline):
6674         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6675         (GST_START_TEST):
6676         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6677         (gst_bus_source_check), (gst_bus_source_dispatch),
6678         (gst_bus_create_watch), (gst_bus_add_watch_full),
6679         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6680         * gst/gstbus.h:
6681         * tools/gst-launch.c: (event_loop):
6682         * tools/gst-md5sum.c: (event_loop):
6683         GstBusHandler -> GstBusFunc, return value has the same meaning as
6684         any other GSource (FALSE == remove source).
6685         _add_watch() and _add_watch_full() now take a MessageType mask to
6686         only handle specific types of messages.
6687         _poll() returns the GstMessage instead of the message type to avoid
6688         race conditions.
6689         _have_pending() takes a MessageType mask now too.
6690         Added testsuite for multiple bus watches.
6691         Fix testsuites and applications for new bus API.
6692
6693 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6694
6695         * check/Makefile.am:
6696           mark a bunch of the tests as to fix until we fix them
6697
6698 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6699
6700         * common/check.mak:
6701           use GST_PLUGIN settings for valgrind tests as well, so we're
6702           valgrinding the correct thing
6703         * gst/gst.c: (init_post):
6704           plug another leak
6705
6706 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6707
6708         * gst/gst.c: (init_post), (gst_deinit):
6709         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6710         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6711         * gst/gstindex.c: (gst_index_factory_class_init),
6712         (gst_index_factory_finalize):
6713         * gst/gstobject.c: (gst_object_dispose):
6714         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6715         (gst_plugin_load_file), (gst_plugin_desc_free):
6716         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6717         (gst_plugin_feature_finalize):
6718         * gst/gstregistry.c: (gst_registry_class_init),
6719         (gst_registry_init), (gst_registry_finalize),
6720         (gst_registry_get_default), (gst_registry_deinit):
6721         * gst/gstregistry.h:
6722         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6723           various cleanups and memleak plugging.  make valgrind is happy now.
6724
6725 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6726
6727         * common/check.mak:
6728           add a check-valgrind target
6729
6730 2005-09-18  David Schleef  <ds@schleef.org>
6731
6732         * tools/gst-inspect.c: Revert the GOption code.
6733
6734 2005-09-17  David Schleef  <ds@schleef.org>
6735
6736         * check/Makefile.am: Fix environment variables.
6737         * check/gst/gstplugin.c: Fix for API changes.
6738         * tools/gst-inspect.c: Fix for API changes.
6739         * tools/gst-xmlinspect.c: Fix for API changes.
6740         * gst/gstelementfactory.c:
6741         * gst/gstplugin.c:
6742         * gst/gstplugin.h:
6743         * gst/gstpluginfeature.c:
6744         * gst/gstpluginfeature.h:
6745         * gst/gstregistry.c:
6746         * gst/gstregistry.h:
6747         * gst/gstregistryxml.c:
6748         * gst/gsttypefind.c:
6749         * gst/gsttypefindfactory.c:
6750         * gst/indexers/gstfileindex.c:
6751         * gst/indexers/gstmemindex.c:
6752         * gst/schedulers/Makefile.am:
6753           Change registry to keep track of both plugins and features,
6754           removing the feature tracking from plugins themselves.
6755
6756 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * check/Makefile.am:
6759         * tools/gst-register.1.in:
6760           remove gst-register
6761
6762 2005-09-15  David Schleef  <ds@schleef.org>
6763
6764         * check/gst/gstplugin.c:
6765         * gst/gstelementfactory.c:
6766         * gst/gstplugin.c:
6767         * gst/gstpluginfeature.c:
6768         * gst/gstregistry.c:
6769           Getting tired of debugging.  Disabled all the unreffing of
6770           plugins and features, which fixes the segfaults, but of
6771           course leaks like crazy.  At least playbin works.
6772
6773 2005-09-15  David Schleef  <ds@schleef.org>
6774
6775         * check/gst/gstplugin.c: (register_check_elements),
6776         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6777         More testing
6778         * gst/elements/gsttypefindelement.c: Fix refcounting.
6779         * gst/gsttypefind.c:
6780         * gst/gsttypefindfactory.c:
6781         * gst/gsttypefindfactory.h:
6782
6783 2005-09-15  David Schleef  <ds@schleef.org>
6784
6785         * gst/gstindex.c: get refcounting correct.
6786         * gst/gstregistry.c: Handle the case where a feature/plugin is
6787           not found.
6788
6789 2005-09-15  David Schleef  <ds@schleef.org>
6790
6791         * check/Makefile.am:
6792         * check/gst/gstplugin.c: Add test
6793         * gst/gstplugin.c: Fix problems noticed by testsuite
6794         * gst/gstplugin.h:
6795         * gst/gstregistry.c: 
6796         * gst/gstregistry.h:
6797
6798 2005-09-15  David Schleef  <ds@schleef.org>
6799
6800         * gst/gstplugin.c: Implement semi-decent recounting and locking
6801           in plugins and plugin features.
6802         * gst/gstplugin.h:
6803         * gst/gstpluginfeature.c:
6804         * gst/gstpluginfeature.h:
6805         * gst/gstregistry.c:
6806
6807 2005-09-15  Michael Smith <msmith@fluendo.com>
6808
6809         * gst/gstregistry.c: (gst_registry_get_feature_list):
6810           Implement this. Makes oggdemux work; decodebin still broken.
6811
6812 2005-09-14  David Schleef  <ds@schleef.org>
6813
6814         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6815           #316076)
6816         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6817         * gst/check/Makefile.am:
6818         * libs/gst/controller/Makefile.am:
6819         * libs/gst/dataprotocol/Makefile.am:
6820
6821 2005-09-14  David Schleef  <ds@schleef.org>
6822
6823         * configure.ac: Remove getbits library.  Nothing uses it, and
6824           it should be in something like liboil if someone did want
6825           to use it.
6826         * libs/gst/Makefile.am:
6827         * libs/gst/getbits/Makefile.am:
6828         * libs/gst/getbits/gbtest.c:
6829         * libs/gst/getbits/getbits.c:
6830         * libs/gst/getbits/getbits.h:
6831         * libs/gst/getbits/gstgetbits_generic.c:
6832         * libs/gst/getbits/gstgetbits_i386.s:
6833         * libs/gst/getbits/gstgetbits_inl.h:
6834
6835 2005-09-14  David Schleef  <ds@schleef.org>
6836
6837         * gst/Makefile.am: Dist glib-compat.h
6838
6839 2005-09-14  David Schleef  <ds@schleef.org>
6840
6841         * configure.ac: Remove gst/registries, since it's no longer used.
6842         * gst/registries/Makefile.am:
6843         * gst/registries/gstlibxmlregistry.c:
6844         * gst/registries/gstlibxmlregistry.h:
6845         * gst/registries/gstxmlregistry.c:
6846         * gst/registries/gstxmlregistry.h:
6847         * gst/registries/registrytest.c:
6848
6849 2005-09-14  David Schleef  <ds@schleef.org>
6850
6851         * gst/glib-compat.h:
6852         * gst/gstregistryxml.c:
6853           Convergence is near.  Seriously.
6854
6855 2005-09-14  David Schleef  <ds@schleef.org>
6856
6857         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6858         * gst/glib-compat.h:
6859           Attempt #4 to appease the buildbots.
6860
6861 2005-09-14  David Schleef  <ds@schleef.org>
6862
6863         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6864           Attempt #3.
6865
6866 2005-09-14  David Schleef  <ds@schleef.org>
6867
6868         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6869         Attempt #2.
6870
6871 2005-09-14  David Schleef  <ds@schleef.org>
6872
6873         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6874           the new functions.
6875
6876 2005-09-14  David Schleef  <ds@schleef.org>
6877
6878         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6879         * gst/glib-compat.h: Add some functions that are in newer versions
6880           of glib than we care to require.
6881         * gst/gstregistryxml.c: Use them.
6882
6883 2005-09-14  David Schleef  <ds@schleef.org>
6884
6885         * po/POTFILES.in: remove gst-register.c
6886
6887 2005-09-14  David Schleef  <ds@schleef.org>
6888
6889         * docs/gst/gstreamer-docs.sgml:
6890         * docs/gst/gstreamer-sections.txt:
6891         * docs/gst/gstreamer.types:
6892         * docs/gst/tmpl/gstelement.sgml:
6893         * docs/gst/tmpl/gstplugin.sgml:
6894         * docs/gst/tmpl/gstpluginfeature.sgml:
6895           Documentation updates for registry changes.
6896
6897 2005-09-14  David Schleef  <ds@schleef.org>
6898
6899         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6900           because we don't require glib-2.8.
6901
6902 2005-09-14  David Schleef  <ds@schleef.org>
6903
6904         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6905           registries directory.
6906
6907 2005-09-14  David Schleef  <ds@schleef.org>
6908
6909         * check/Makefile.am:
6910         * check/generic/states.c:
6911         * gst/Makefile.am:
6912         * gst/gst.c:
6913         * gst/gst.h:
6914         * gst/gst_private.h:
6915         * gst/gstelementfactory.c:
6916         * gst/gstindex.c:
6917         * gst/gstinfo.c:
6918         * gst/gstplugin.c:
6919         * gst/gstplugin.h:
6920         * gst/gstpluginfeature.c:
6921         * gst/gstpluginfeature.h:
6922         * gst/gstregistry.c:
6923         * gst/gstregistry.h:
6924         * gst/gstregistrypool.c: remove
6925         * gst/gstregistrypool.h: remove
6926         * gst/gsttypefind.c:
6927         * gst/gsttypefindfactory.c:
6928         * gst/gsturi.c:
6929         * tools/Makefile.am:
6930         * tools/gst-compprep.c:
6931         * tools/gst-inspect.c:
6932         * tools/gst-register.c: remove
6933         * tools/gst-xmlinspect.c:
6934           Registry rewrite.  Changes registry from being a file created
6935           by a tool into a simple cache file created automatically by 
6936           libgstreamer.  Removed gst-register (because it's no longer
6937           needed).  Remove registry pools, because we only have one
6938           registry implementation (XML).  Fix up other subsystems as
6939           necessary.
6940
6941 2005-09-13  Michael Smith <msmith@fluendo.com>
6942
6943         * gst/gstconfig.h.in:
6944           Don't Use windows linking attributes for MinGW. Fixes #316157
6945
6946 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * gst/gstutils.c: (set_state_async_thread_func),
6949         (gst_element_set_state_async):
6950           Apparently people think it's better if this function doesn't
6951           try to set the state to whatever state was asked for on the first
6952           call to this function for any object.  Seriously.
6953
6954 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6955
6956         * check/gst/gstpipeline.c: (GST_START_TEST):
6957         * docs/gst/gstreamer-sections.txt:
6958         * gst/gstutils.c: (set_state_async_thread_func),
6959         (gst_element_set_state_async):
6960         * gst/gstutils.h:
6961           add a "gst_element_set_state_async" method that
6962           sets the state and starts a thread to make sure the state
6963           change completes as best as it can
6964
6965 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6966
6967         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6968           codify design+behaviour in testsuite after discussion
6969
6970 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * docs/gst/tmpl/gstelement.sgml:
6973         * docs/manual/appendix-quotes.xml:
6974           add a quote
6975         * gst/gstelement.c: (gst_element_set_state):
6976           add some debug
6977
6978 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6979
6980         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6981         (gst_base_transform_prepare_output_buf),
6982         (gst_base_transform_handle_buffer):
6983         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6984         (gst_capsfilter_prepare_buf):
6985           Remove the requirement for sub-classes to call the parent
6986           implementation of prepare_output_buffer with a wrapper function.
6987           
6988         * gst/gsttaglist.h:
6989         * gst/gsttagsetter.h:
6990           Fix #define wrapper
6991
6992 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6993
6994         * docs/gst/gstreamer-sections.txt:
6995           more doc cleanups
6996
6997 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6998
6999         * docs/gst/gstreamer-sections.txt:
7000         * docs/gst/tmpl/gstelement.sgml:
7001         * docs/gst/tmpl/gstplugin.sgml:
7002         * gst/gstminiobject.c:
7003         * gst/gstvalue.h:
7004           docs now stop throwing warnings
7005
7006 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         * docs/gst/gstreamer-sections.txt:
7009         * docs/gst/gstreamer.types:
7010         * docs/gst/tmpl/gstpad.sgml:
7011         * docs/gst/tmpl/gsttypes.sgml:
7012         * gst/base/gstadapter.h:
7013         * gst/base/gstbasesink.h:
7014         * gst/base/gstbasesrc.h:
7015         * gst/gstbin.h:
7016         * gst/gstbuffer.h:
7017         * gst/gstbus.h:
7018         * gst/gstcaps.h:
7019         * gst/gstclock.h:
7020         * gst/gstelement.h:
7021         * gst/gstevent.h:
7022         * gst/gstmessage.h:
7023         * gst/gstpad.h:
7024         * gst/gststructure.c:
7025         * gst/registries/gstlibxmlregistry.h:
7026           various documentation fixes
7027
7028 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * docs/gst/gstreamer-sections.txt:
7031         * docs/gst/tmpl/gstvalue.sgml:
7032           rearrange gstvalue section
7033         * gst/gstutils.c: (gst_element_state_get_name):
7034           NONE -> VOID
7035         * gst/gstvalue.c: (_gst_value_initialize):
7036         * gst/gstvalue.h:
7037           doc updates
7038
7039 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7040
7041         * check/gst-libs/controller.c:
7042           Header include fix.
7043         * gst/base/gstbasetransform.c:
7044         (gst_base_transform_default_prepare_buf),
7045         (gst_base_transform_handle_buffer):
7046         * gst/base/gstbasetransform.h:
7047           Some more basetransform changes and fixes to enable sub-classes
7048           that modify buffer metadata only.
7049         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7050         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7051         (gst_capsfilter_prepare_buf):
7052           If the output pad has fixed allowed caps and input buffers 
7053           don't have any, set the fixed caps on outgoing buffers.
7054
7055 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7056         * check/elements/identity.c: (GST_START_TEST):
7057           Make the error a little clearer when the test fails because
7058           identity made a copy of the buffer.
7059         * docs/gst/gstreamer-sections.txt:
7060           New symbols in gstbasetransform.h
7061         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7062         (gst_base_transform_init), (gst_base_transform_transform_size),
7063         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7064         (gst_base_transform_default_prepare_buf),
7065         (gst_base_transform_get_unit_size),
7066         (gst_base_transform_buffer_alloc),
7067         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7068         (gst_base_transform_change_state),
7069         (gst_base_transform_set_passthrough),
7070         (gst_base_transform_set_in_place),
7071         (gst_base_transform_is_in_place):
7072         * gst/base/gstbasetransform.h:
7073           Change BaseTransform to separate in_place operate from same_caps
7074           output. in_place implies that the element can perform the transform
7075           on incoming buffers in-place, even if the caps on the output are
7076           different.
7077           Sub-class elements can now implement special buffer allocation
7078           methods for outgoing buffers if they wish to.
7079           Big documentation addition.
7080         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7081         * gst/elements/gstelements.c:
7082           Changes for basetransform modifications.
7083         * gst/elements/Makefile.am:
7084         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7085           Compile fix. Extra debug output.
7086
7087 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7088
7089         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7090         (gst_pad_suite):
7091           add tests for valid pad naming
7092         * gst/check/gstcheck.c: (gst_check_log_message_func),
7093         (gst_check_log_critical_func):
7094           add ASSERT_WARNING
7095           remove printing of code, it is fragile when the code contains
7096           % and the line number is enough info
7097         * gst/check/gstcheck.h:
7098         * gst/gstpad.c: (gst_pad_template_new):
7099           fix memleaks
7100
7101 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * configure.ac:
7104           say what CHECK flags we use
7105         * docs/libs/gstreamer-libs.types:
7106         * libs/gst/controller/Makefile.am:
7107         * libs/gst/controller/gst-controller.c:
7108         * libs/gst/controller/gst-controller.h:
7109         * libs/gst/controller/gst-helper.c:
7110         * libs/gst/controller/gst-interpolation.c:
7111         * libs/gst/controller/gstcontroller.c:
7112         * libs/gst/controller/gsthelper.c:
7113         * libs/gst/controller/gstinterpolation.c:
7114         * tools/gst-inspect.c: (print_plugin_info):
7115           we don't use dashes in header names
7116
7117 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7118
7119         * check/Makefile.am:
7120         * check/gst/.cvsignore:
7121         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7122         (gst_pipeline_suite), (main):
7123           adding a test for pipelines and state changes
7124         * gst/gstutils.c: (get_state_func):
7125           add some debugging
7126         * gstreamer.spec.in:
7127           fix up spec file
7128
7129 2005-09-08  Michael Smith <msmith@fluendo.com>
7130
7131         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7132         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7133         (gst_file_src_is_seekable), (gst_file_src_get_size),
7134         (gst_file_src_start):
7135         * gst/elements/gstfilesrc.h:
7136           Various fixes for unseekable, unmmapable, and non-normal files, so
7137           that fallback to read() rather than mmap() works.
7138         * gst/gstevent.c: (gst_event_new_newsegment):
7139           Allow newsegment events with segment_start == segment_end, as will
7140           correctly happen if you use filesrc on a zero-size file, for
7141           example.
7142
7143 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7144
7145         * gst/gstplugin.c: (gst_plugin_load_file):
7146           Call g_module_close when we don't load the module
7147
7148         * gst/registries/gstlibxmlregistry.c:
7149         (gst_xml_registry_get_property):
7150           Port leak fix from 0.8
7151
7152 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7153
7154         * docs/gst/gstreamer-docs.sgml:
7155         * docs/gst/tmpl/.cvsignore:
7156         * docs/gst/tmpl/gsttrace.sgml:
7157         * docs/gst/tmpl/gsttrashstack.sgml:
7158         * gst/Makefile.am:
7159         * gst/gst.h:
7160         * gst/gstelement.h:
7161         * gst/gstevent.h:
7162         * gst/gstmessage.c:
7163         * gst/gstmessage.h:
7164         * gst/gsttag.c:
7165         * gst/gsttag.h:
7166         * gst/gsttaginterface.c:
7167         * gst/gsttaginterface.h:
7168         * gst/gsttaglist.c:
7169         * gst/gsttaglist.h:
7170         * gst/gsttagsetter.c:
7171         * gst/gsttagsetter.h:
7172         * gst/gsttrace.c:
7173         * gst/gsttrace.h:
7174         * gst/gsttrashstack.c:
7175           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7176           inlined docs for gsttrace, gsttrashstack
7177
7178 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7179
7180         * gst/Makefile.am:
7181         * gst/elements/gstbufferstore.h:
7182         * gst/elements/gsttypefindelement.c:
7183         * gst/elements/gsttypefindelement.h:
7184         * gst/gst.h:
7185         * gst/gsttypefind.c:
7186         * gst/gsttypefind.h:
7187         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7188         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7189         (gst_type_find_factory_dispose),
7190         (gst_type_find_factory_unload_thyself),
7191         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7192         (gst_type_find_factory_get_caps),
7193         (gst_type_find_factory_get_extensions),
7194         (gst_type_find_factory_call_function):
7195         * gst/gsttypefindfactory.h:
7196         * gst/registries/gstlibxmlregistry.c:
7197         * gst/registries/gstxmlregistry.c:
7198           splitted gsttypefind into gsttypefind, gsttypefindfactory
7199
7200 2005-09-07  Andy Wingo  <wingo@pobox.com>
7201
7202         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7203         condition whereby the pad's task function is entered before the
7204         pad_mode variable was set.
7205
7206 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7207
7208         * gst/gstpad.c: (gst_pad_alloc_buffer):
7209           Catch misbehaving pad_alloc functions that don't
7210           set up caps and do it for them.
7211
7212 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7213
7214         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7215           test for pipe!=NULL
7216         * docs/gst/tmpl/.cvsignore:
7217         * docs/gst/tmpl/gstmemchunk.sgml:
7218         * docs/gst/tmpl/gstparse.sgml:
7219         * docs/gst/tmpl/gsttaglist.sgml:
7220         * docs/gst/tmpl/gsttagsetter.sgml:
7221         * docs/gst/tmpl/gsttypefind.sgml:
7222         * docs/gst/tmpl/gsttypefindfactory.sgml:
7223         * gst/gstmemchunk.c:
7224         * gst/gstparse.c:
7225         * gst/gsttag.c:
7226         * gst/gsttaginterface.c:
7227         * gst/gsttypefind.c:
7228         * gst/gsttypefind.h:
7229           inlined more docs
7230
7231 === release 0.9.2 ===
7232
7233 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7234
7235         * NEWS:
7236         * RELEASE:
7237         * configure.ac:
7238           releasing 0.9.2, "South"
7239
7240 2005-09-05  Andy Wingo  <wingo@pobox.com>
7241
7242         * gst/registries/gstxmlregistry.h:
7243         * gst/registries/gstxmlregistry.c: Um... resurrect...
7244         
7245         * gst/registries/gstxmlregistry.h:
7246         * gst/registries/gstxmlregistry.c: and update to newer API.
7247         Incidentally they should be a bit faster now that they don't have
7248         to parse the caps.
7249         
7250 2005-09-05  Andy Wingo  <wingo@pobox.com>
7251
7252         * gst/registries/gstxmlregistry.h:
7253         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7254         replaced by the libxml registry a while back
7255
7256 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7257
7258         * docs/gst/tmpl/gstplugin.sgml:
7259         * gst/elements/gstelements.c:
7260         * gst/gst.c:
7261         * gst/gstplugin.c: (gst_plugin_register_func),
7262         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7263         (gst_plugin_get_source):
7264         * gst/gstplugin.h:
7265         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7266         (gst_xml_registry_save_plugin):
7267         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7268         (gst_xml_registry_save_plugin):
7269         * tools/gst-inspect.c: (print_plugin_info):
7270           add a "source" plugin description field, to represent the source
7271           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7272           will set it to PACKAGE, which is automake's idea of the name of
7273           the source project.
7274
7275 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7276
7277         * Makefile.am:
7278         * autogen.sh:
7279         * configure.ac:
7280         * docs/Makefile.am:
7281         * docs/faq/Makefile.am:
7282         * docs/gst/tmpl/gstelement.sgml:
7283         * docs/gst/tmpl/gsttypes.sgml:
7284         * docs/htmlinstall.mak:
7285         * docs/manual/Makefile.am:
7286         * docs/pwg/Makefile.am:
7287           reorganize doc build a little
7288           split out docbook and gtk-doc stuff
7289           have two separate --enable's and enable them through autogen
7290           but disable by default in configure (to be similar to other
7291           projects)
7292         * gstreamer.spec.in:
7293           clean up docs install
7294         * po/af.po:
7295         * po/az.po:
7296         * po/ca.po:
7297         * po/cs.po:
7298         * po/de.po:
7299         * po/en_GB.po:
7300         * po/fr.po:
7301         * po/it.po:
7302         * po/nb.po:
7303         * po/nl.po:
7304         * po/ru.po:
7305         * po/sq.po:
7306         * po/sr.po:
7307         * po/sv.po:
7308         * po/tr.po:
7309         * po/uk.po:
7310         * po/vi.po:
7311           translation updates
7312
7313 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7314
7315         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7316           Add comment.
7317           
7318         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7319         (gst_fake_sink_change_state):
7320           Make state change function thread-safe.
7321           
7322         * gst/gstpad.c: (gst_pad_alloc_buffer):
7323           Set offset on generic buffer allocated by fallback.
7324
7325 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7326
7327         * docs/gst/gstreamer-sections.txt:
7328         * docs/gst/tmpl/gstelement.sgml:
7329         * gst/gstpad.c:
7330         * libs/gst/controller/gst-controller.c:
7331         (gst_controlled_property_set_interpolation_mode),
7332         (gst_controlled_property_new),
7333         (gst_controller_find_controlled_property):
7334          run the wingo-magic script against the docs
7335
7336 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7337
7338         * docs/gst/gstreamer-docs.sgml:
7339         * docs/gst/gstreamer-sections.txt:
7340         * docs/gst/tmpl/.cvsignore:
7341         * docs/gst/tmpl/gstelementdetails.sgml:
7342         * docs/gst/tmpl/gstelementfactory.sgml:
7343         * gst/gst.c:
7344         * gst/gstbus.c:
7345         * gst/gstelementfactory.c:
7346         * gst/gstelementfactory.h:
7347           merged elementdetails docs into elementfactory docs
7348           inlined both
7349
7350 2005-09-02  Andy Wingo  <wingo@pobox.com>
7351
7352         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7353         consider this enum an enum and not a flags.
7354
7355 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7356
7357         * docs/gst/gstreamer-docs.sgml:
7358         * docs/gst/tmpl/.cvsignore:
7359         * docs/gst/tmpl/gstghostpad.sgml:
7360         * docs/gst/tmpl/gstiterator.sgml:
7361         * docs/gst/tmpl/gstmacros.sgml:
7362         * docs/gst/tmpl/gstrealpad.sgml:
7363         * docs/gst/tmpl/gstregistry.sgml:
7364         * docs/gst/tmpl/gstregistrypool.sgml:
7365         * docs/gst/tmpl/gststructure.sgml:
7366         * docs/gst/tmpl/gstsystemclock.sgml:
7367         * docs/gst/tmpl/gsttrace.sgml:
7368         * gst/gstghostpad.c:
7369         * gst/gstmacros.h:
7370         * gst/gstmemchunk.c:
7371         * gst/gstmemchunk.h:
7372         * gst/gstqueue.c:
7373         * gst/gstregistry.c:
7374         * gst/gstregistrypool.c:
7375         * gst/gststructure.c:
7376         * gst/gstsystemclock.c:
7377           more docs inlined
7378
7379 2005-09-02  Andy Wingo  <wingo@pobox.com>
7380
7381         * gst/gstelement.h (GstState): Renamed from GstElementState,
7382         changed to be a normal enum instead of flags.
7383         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7384         munged to be GST_STATE_CHANGE_*.
7385         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7386         work with the new state representation.
7387         (GstStateChange): New enumeration of possible state transitions.
7388         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7389         (GstElementClass::change_state): Pass the GstStateChange along as
7390         an argument. Helps language bindings, so they don't have to use
7391         tricky lock-needing macros like GST_STATE_CHANGE ().
7392
7393         * scripts/update-states (file): New script. Run it on a file to
7394         update it for state naming and API changes. Updates files in
7395         place.
7396
7397         * All files updated for the new API.
7398
7399 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7402         * gst/gstutils.c: (gst_util_set_value_from_string),
7403         (gst_util_set_object_arg):
7404           fix a bunch of unchecked return values
7405         * tools/gst-complete.c: (main):
7406         * gstreamer.spec.in:
7407           clean up a little
7408
7409 2005-09-01  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7412         (gst_base_sink_event), (gst_base_sink_do_sync),
7413         (gst_base_sink_handle_event):
7414         * gst/base/gstbasesink.h:
7415         Handle newsegments more correctly.
7416
7417         * gst/gstbus.c:
7418         Fix docs.
7419
7420         * gst/gstevent.c: (gst_event_new_newsegment):
7421         A newsegment cannot have a start_time of -1
7422
7423 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7424
7425         * win32/gstenumtypes.c:
7426         * win32/gstenumtypes.h:
7427           Update
7428
7429 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7430
7431         * libs/gst/controller/gst-controller.c:
7432         (gst_controlled_property_set_interpolation_mode),
7433         (gst_controlled_property_new):
7434          fixed boolean again
7435
7436 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         * docs/faq/gst-uninstalled:
7439           add -good
7440         * gst/gstevent.c:
7441         * gst/gstevent.h:
7442           remove wrong docs
7443         * gst/gstutils.c: (gst_element_link_filtered):
7444         * gst/gstutils.h:
7445           add gst_element_link_filtered
7446
7447 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7448
7449         * docs/gst/gstreamer-docs.sgml:
7450         * docs/gst/gstreamer-sections.txt:
7451         * docs/gst/tmpl/.cvsignore:
7452         * docs/gst/tmpl/gsterror.sgml:
7453         * docs/gst/tmpl/gstfilter.sgml:
7454         * docs/gst/tmpl/gsturihandler.sgml:
7455         * docs/gst/tmpl/gsturitype.sgml:
7456         * docs/gst/tmpl/gstutils.sgml:
7457         * docs/gst/tmpl/gstxml.sgml:
7458         * gst/gsterror.c:
7459         * gst/gsterror.h:
7460         * gst/gstfilter.c:
7461         * gst/gsturi.c:
7462         * gst/gsturitype.c:
7463         * gst/gstutils.c:
7464         * gst/gstxml.c:
7465           inlined more docs, fixed double id-ref
7466
7467 2005-08-31  Wim Taymans  <wim@fluendo.com>
7468
7469         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7470         (gst_base_transform_handle_buffer):
7471         Passthrough elements don't need the caps as they don't care.
7472
7473 2005-08-31  Wim Taymans  <wim@fluendo.com>
7474
7475         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7476         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7477         Don't leak refcounts on buffers.
7478
7479 2005-08-31  Wim Taymans  <wim@fluendo.com>
7480
7481         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7482         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7483         (gst_base_transform_chain), (gst_base_transform_change_state):
7484         * gst/base/gstbasetransform.h:
7485         Handle the case where we are not negotiated more gracefully.
7486
7487 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7488
7489         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7490         (gst_file_src_map_region):
7491           Set READONLY flag on mmap'ed buffers, otherwise
7492           gst_buffer_make_writable() won't work properly (#314708).
7493
7494 2005-08-31  Wim Taymans  <wim@fluendo.com>
7495
7496         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7497         passthrough elements can even do inplace on non writable
7498         buffers (as they don't touch them).
7499
7500 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7503         (gst_test_mono_source_set_property),
7504         (gst_test_mono_source_class_init), (GST_START_TEST),
7505         (gst_controller_suite):
7506           more tests (hehe I have the most)
7507         * gst/gstbus.c:
7508           describe popping messages whenusing mulltiple sources
7509         * libs/gst/controller/gst-controller.c:
7510         (gst_controlled_property_set_interpolation_mode),
7511         (gst_controlled_property_new):
7512         * libs/gst/controller/gst-controller.h:
7513         * libs/gst/controller/gst-interpolation.c:
7514           implement boolean properties
7515
7516 2005-08-31  Wim Taymans  <wim@fluendo.com>
7517
7518         * gst/gstminiobject.c: (gst_mini_object_ref):
7519         Cannot assert that the refcount has to be positive
7520         since a disposed object can be resurrected.
7521
7522 2005-08-31  Wim Taymans  <wim@fluendo.com>
7523
7524         * gst/gstpad.c: (gst_pad_init):
7525         Revert change, need to first fix badly behaving 
7526         apps.
7527
7528 2005-08-30  Wim Taymans  <wim@fluendo.com>
7529
7530         * check/elements/fakesrc.c: (setup_fakesrc):
7531         * check/elements/identity.c: (setup_identity):
7532         Activate pads before using them.
7533
7534 2005-08-30  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/base/gstadapter.c: (gst_adapter_flush):
7537         Flushing out 0 bytes is ok for this function.
7538
7539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7540         no newsegment gives a warning and sets the start/stop to 
7541         invalid.
7542
7543         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7544         (gst_base_transform_set_passthrough):
7545         Some debug info.
7546
7547         * gst/gstminiobject.c: (gst_mini_object_ref):
7548         Check refcount here too.
7549
7550         * gst/gstpad.c: (gst_pad_init):
7551         Pads are initially flushing and refusing data.
7552
7553         * gst/gstutils.c: (gst_element_link_pads_filtered):
7554         When adding a capsfilter element make sure it has the
7555         same state as the parent bin.
7556
7557 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7558
7559         * docs/gst/tmpl/.cvsignore:
7560         * docs/gst/tmpl/gstformat.sgml:
7561         * docs/gst/tmpl/gstversion.sgml:
7562         * gst/gstbus.h:
7563         * gst/gstformat.c:
7564         * gst/gstformat.h:
7565         * gst/gstversion.h.in:
7566           more docs and two more inlined
7567
7568 2005-08-30  Wim Taymans  <wim@fluendo.com>
7569
7570         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7571         Don't sync to clock.
7572
7573 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7574
7575         * docs/gst/gstreamer-sections.txt:
7576           ultral33t func10ns deserve to appear in the docs actually
7577         * docs/gst/tmpl/.cvsignore:
7578         * docs/gst/tmpl/gstcompat.sgml:
7579         * docs/gst/tmpl/gstconfig.sgml:
7580         * gst/check/gstcheck.c:
7581         * gst/gstcompat.h:
7582         * gst/gstconfig.h.in:
7583           inlined more docs
7584
7585 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7586
7587         * docs/gst/tmpl/.cvsignore:
7588         * docs/gst/tmpl/gstquery.sgml:
7589         * docs/gst/tmpl/gstutils.sgml:
7590         * gst/gstquery.c:
7591         * gst/gstquery.h:
7592           inlined and extended docs
7593
7594 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7595
7596         * check/gst-libs/controller.c: (GST_START_TEST),
7597         (gst_controller_suite):
7598           more tests
7599         * docs/gst/tmpl/gstutils.sgml:
7600         * docs/libs/gstreamer-libs-sections.txt:
7601         * docs/libs/tmpl/gstdataprotocol.sgml:
7602           include path fixes
7603         * examples/controller/audio-example.c: (main):
7604           controller example works now
7605         * gst/gstclock.h:
7606           doc fixes
7607         * tools/gst-inspect.c: (print_element_properties_info):
7608           show param spec flags
7609
7610 2005-08-29  Andy Wingo  <wingo@pobox.com>
7611
7612         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7613
7614 2005-08-28  Andy Wingo  <wingo@pobox.com>
7615
7616         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7617         as having two arguments instead of just one. Allows superclasses
7618         to access information on subclasses -- see the terrible for() loop
7619         in gtype.c:g_type_create_instance for the reason why. All callers
7620         changed.
7621
7622 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7623
7624         * docs/design/part-messages.txt:
7625           update info
7626         * docs/gst/tmpl/.cvsignore:
7627         * docs/gst/tmpl/gstcaps.sgml:
7628         * docs/gst/tmpl/gstclock.sgml:
7629         * gst/gstbus.c:
7630         * gst/gstcaps.c:
7631         * gst/gstcaps.h:
7632         * gst/gstclock.c:
7633         * gst/gstclock.h:
7634         * gst/gstmessage.c:
7635           added descriptions for bus and message
7636           inline caps and clock docs
7637
7638 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7639
7640         * gst/gstmessage.c:
7641         * gst/gstmessage.h:
7642           doc fixes
7643
7644 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7645
7646         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7647           fix div-by-zero
7648
7649 2005-08-26  Andy Wingo  <wingo@pobox.com>
7650
7651         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7652         element_set_state's return val.
7653         (test_2_elements): Add test that's been disabled for months.
7654
7655         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7656         can-activate-pull properties.
7657
7658         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7659         can-activate-pull properties. Implement is_seekable so fakesrc can
7660         operate in pull mode.
7661
7662         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7663         properties.
7664         (gst_base_sink_activate, gst_base_sink_activate_pull)
7665         (gst_base_sink_activate_push): Make activation mode choosing work.
7666         Cleanups.
7667         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7668         is right. Make pull mode work. Post an eos before pausing in pull
7669         mode.
7670         (gst_base_sink_change_state): Pay attention to the core's
7671         change_state() return val.
7672         
7673         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7674         has-getrange properties. Cleanups.
7675         
7676         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7677         has_getrange and replace with can_activate_pull and
7678         can_activate_push.
7679
7680         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7681         locking comments. Remove has_loop, has_chain and replace with
7682         can_activate_pull and can_activate_push.
7683
7684 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7685
7686         * configure.ac:
7687         * examples/Makefile.am:
7688         * examples/metadata/Makefile.am:
7689         * examples/metadata/read-metadata.c: (message_loop),
7690         (have_pad_handler), (make_pipeline), (print_tag), (main):
7691           Add metadata reading example that loops over a list of filenames,
7692           dumping any tags found.
7693
7694         * gst/gstbus.c: (gst_bus_dispose):
7695         * gst/gstelement.c: (gst_element_dispose):
7696           Release a few potentially-held references in dispose.
7697
7698 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * docs/gst/tmpl/gstminiobject.sgml:
7701           do *not* add tmpl/*.sgml files to CVS!
7702
7703 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7704
7705         * libs/gst/bytestream/.cvsignore:
7706         * libs/gst/bytestream/Makefile.am:
7707         * libs/gst/bytestream/adapter.c:
7708         * libs/gst/bytestream/adapter.h:
7709         * libs/gst/bytestream/bytestream.c:
7710         * libs/gst/bytestream/bytestream.h:
7711         * libs/gst/bytestream/filepad.c:
7712         * libs/gst/bytestream/filepad.h:
7713           removing obsolete files
7714
7715 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7716
7717         * docs/gst/gstreamer-docs.sgml:
7718         * docs/libs/gstreamer-libs-docs.sgml:
7719           disabed additional index entries again, as this makes docs-gen just
7720           slow and they aren't useful yet
7721         * docs/libs/gstreamer-libs-sections.txt:
7722           little -section.txt cleanup for libs
7723
7724 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7728           fix up some debugging
7729         (gst_base_transform_get_unit_size),
7730         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7731         (gst_base_transform_handle_buffer):
7732         * gst/base/gstbasetransform.h:
7733           handle and store timed NEWSEGMENT events so that subclasses that
7734           calculate time by counting samples have a segment_start time they
7735           need to add to their timestamps - see audioresample
7736
7737 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7738
7739         * gst/gstbin.h:
7740           removed ';' from the end of macro defs
7741         * docs/gst/gstreamer-docs.sgml:
7742         * docs/gst/gstreamer-sections.txt:
7743         * docs/gst/tmpl/.cvsignore:
7744         * gst/gstbus.h:
7745         * gst/gstelement.c: (gst_element_class_init),
7746         (gst_element_set_state), (activate_pads),
7747         (gst_element_save_thyself):
7748         * gst/gstevent.c: (gst_event_new_newsegment):
7749         * gst/gstevent.h:
7750         * gst/gstiterator.c:
7751         * gst/gstiterator.h:
7752         * gst/gstpad.c:
7753         * gst/gstprobe.h:
7754         * gst/gstutils.c: (gst_pad_query_convert):
7755         * gst/gstutils.h:
7756           fixed parameter name mismatches between source, header and docs
7757           added some more docs, resolved the last batch of unused elements in
7758           docs (now someone needs to doc them)
7759
7760 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7761
7762         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7763         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7764           don't walk through the plugins backwards.  Where is all this
7765           reversed logic coming from ?
7766
7767 2005-08-25  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7770         (gst_base_transform_transform_size),
7771         (gst_base_transform_configure_caps),
7772         (gst_base_transform_get_unit_size),
7773         (gst_base_transform_buffer_alloc),
7774         (gst_base_transform_change_state):
7775         * gst/base/gstbasetransform.h:
7776         Cache caps unit_size.
7777         Make sure we cannot negotiate up and downstream at the
7778         same time.
7779
7780 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7781
7782         * gst/gst.c: (init_pre), (init_post):
7783           register the installed plugin path after the env var
7784         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7785         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7786           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7787           directories, so the tests can prefer uninstalled over installed
7788
7789 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * gst/base/gstbasetransform.h:
7792           comment
7793         * gst/gstpad.c:
7794           add to docs
7795
7796 2005-08-25  Wim Taymans  <wim@fluendo.com>
7797
7798         * gst/gstbin.c: (bin_bus_handler):
7799         Be a bit more conservative about the posted message.
7800         
7801         * gst/gstbus.c: (gst_bus_post):
7802         Some cleanups, warn wrong return values.
7803
7804 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7805
7806         * check/gst/gstbin.c: (GST_START_TEST):
7807         * gst/gstbin.c: (bin_bus_handler):
7808         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7809         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7810         (gst_message_new_warning), (gst_message_new_tag),
7811         (gst_message_new_state_changed), (gst_message_new_segment_start),
7812         (gst_message_new_segment_done), (gst_message_new_custom):
7813         * gst/gstmessage.h:
7814         * tools/gst-launch.c: (event_loop):
7815         * tools/gst-md5sum.c: (event_loop):
7816           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7817
7818 2005-08-25  Wim Taymans  <wim@fluendo.com>
7819
7820         * check/generic/states.c: (GST_START_TEST):
7821         Cleanup can be done at the end.
7822
7823         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7824         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7825         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7826         Oh boy.. Thanks for finding this, Thomas. 
7827
7828 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7829
7830         * docs/gst/gstreamer.types:
7831           added missing types
7832
7833 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * docs/gst/gstreamer-docs.sgml:
7836         * docs/gst/gstreamer-sections.txt:
7837         * docs/gst/tmpl/.cvsignore:
7838         * gst/gstbin.c:
7839         * gst/gstiterator.c:
7840         * gst/gstutils.c:
7841         * gst/registries/gstxmlregistry.h:
7842           added missing classes and symbols (123 more to go)
7843           removed removed symbols from section file
7844           fixed many doc-comments
7845
7846 2005-08-24  Wim Taymans  <wim@fluendo.com>
7847
7848         * check/generic/states.c: (GST_START_TEST):
7849         Make sure all tasks are stopped.
7850
7851         * check/gst/gstbin.c: (GST_START_TEST):
7852         Unref after usage for proper valgrinding.
7853
7854         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7855         Really wait for the task to stop before destroying the
7856         mutex.
7857
7858         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7859         (gst_queue_src_activate_push):
7860         Small cleanups. Don't stop the task when we did not start
7861         it.
7862
7863         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7864         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7865         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7866         (gst_task_join):
7867         * gst/gsttask.h:
7868         Protect the stream lock with the object lock.
7869         Disallow setting the stream lock when running.
7870         Add cleanup_all to wait for the threadpool to finish.
7871         Remove code to autoallocate a mutex if none was provided.
7872         Add _join() to wait for a task to stop.
7873         Protect the thread pool with a global lock.
7874
7875 2005-08-24  Wim Taymans  <wim@fluendo.com>
7876
7877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7878         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7879         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7880         * gst/base/gstbasesink.h:
7881         Handle newsegment events correctly.
7882         Drop buffers out of the segment range.
7883
7884 2005-08-22  Andy Wingo  <wingo@pobox.com>
7885
7886         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7887         macro, implements an interface and gstimplementsinterface for a
7888         new type.
7889
7890 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7891
7892         * check/Makefile.am:
7893         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7894           add a test that does a bunch of state changes on elements
7895           needs some fixing for valgrind
7896         * check/states/sinks.c: (gst_object_suite):
7897           whitespace
7898         * gst/gstcaps.h:
7899           add prototype for gst_caps_is_equal_fixed
7900         * gst/gstplugin.c:
7901         * gst/gstregistrypool.c:
7902           doc fixes
7903
7904 2005-08-24  Andy Wingo  <wingo@pobox.com>
7905
7906         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7907         convert a negative value. Doesn't make much sense. Mostly this is
7908         here to force callers to ensure -1 maps to -1.
7909
7910 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7911
7912         * docs/pwg/advanced-types.xml:
7913           Well done to Michael for catching my deliberate introduction
7914           of this spelling mistake. 
7915         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7916         * gst/gstelement.h:
7917           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7918           unlink pads before removing the element from the bin.
7919
7920 2005-08-24  Andy Wingo  <wingo@pobox.com>
7921
7922         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7923         the same thing as GST_DEBUG=*:4.
7924         (parse_debug_level, parse_debug_category): New helper parsers.
7925
7926 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7929         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7930         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7931         (gst_base_transform_buffer_alloc),
7932         (gst_base_transform_handle_buffer):
7933           use gboolean return values and pointers to size so we can use the
7934           full GST_BUFFER_SIZE range (guint) for buffer sizes
7935           use GstPadDirection for transform_caps
7936         * gst/base/gstbasetransform.h:
7937           rename get_size to get_unit_size since that's what it is
7938         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7939           use GstPadDirection for transform_caps
7940         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7941         * gst/gstutils.h:
7942           cleanup and debugging
7943
7944 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7945
7946         * gst/gstelement.c: (gst_element_class_init),
7947         (gst_element_set_state), (activate_pads),
7948         (gst_element_save_thyself):
7949         * tools/gst-compprep.c: (main):
7950         * tools/gst-inspect.c: (print_element_properties_info):
7951         * tools/gst-xmlinspect.c: (print_element_properties):
7952           Fixed long standing mem-leak
7953
7954 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7955
7956         * check/gst/gstbin.c: (GST_START_TEST):
7957         * gst/gstbin.c: (bin_bus_handler):
7958         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7959         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7960         (gst_message_new_warning), (gst_message_new_tag),
7961         (gst_message_new_state_changed), (gst_message_new_segment_start),
7962         (gst_message_new_segment_done), (gst_message_new_custom):
7963         * gst/gstmessage.h:
7964         * tools/gst-launch.c: (event_loop):
7965         * tools/gst-md5sum.c: (event_loop):
7966           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7967           that applications can sensibly post custom messages with references
7968           to their own objects.
7969
7970 2005-08-24  Andy Wingo  <wingo@pobox.com>
7971
7972         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7973         already.
7974
7975 2005-08-24  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7978         (gst_base_transform_transform_caps),
7979         (gst_base_transform_transform_size),
7980         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7981         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7982         (gst_base_transform_handle_buffer):
7983         * gst/base/gstbasetransform.h:
7984         Many fixes and new features added by Thomas. Can now also do
7985         transforms with variable sizes and a custom fixate_caps function.
7986
7987 2005-08-24  Wim Taymans  <wim@fluendo.com>
7988
7989         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7990         Some debugging.
7991
7992         * gst/gstclock.h:
7993         Cast to ClockTime before formatting to time.
7994
7995         * gst/gstutils.h:
7996         Cleanups.
7997
7998 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7999
8000         * check/gst-libs/controller.c: (GST_START_TEST),
8001         (gst_controller_suite):
8002         * docs/gst/tmpl/gstcaps.sgml:
8003         * docs/gst/tmpl/gstghostpad.sgml:
8004         * docs/gst/tmpl/gstquery.sgml:
8005         * docs/gst/tmpl/gstutils.sgml:
8006         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8007         (gst_object_sink_values), (gst_object_get_value_arrays),
8008         (gst_object_get_value_array):
8009           gracefully handle helper method calls to objects that are not beeing
8010           controlled, added test case for that          
8011
8012 2005-08-23  Wim Taymans  <wim@fluendo.com>
8013
8014         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8015         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8016         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8017         (gst_event_parse_qos), (gst_event_new_seek),
8018         (gst_event_parse_seek):
8019         * gst/gstevent.h:
8020         Some more debugging output and doc cleanups.
8021
8022         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8023         Fix possible deadlock.
8024
8025 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8026
8027         * docs/gst/gstreamer-docs.sgml:
8028         * docs/gst/gstreamer-sections.txt:
8029         * docs/gst/gstreamer.types:
8030         * docs/gst/tmpl/.cvsignore:
8031         * gst/gstbin.h:
8032         * gst/gstbus.c:
8033         * gst/gstelement.c:
8034         * gst/gstevent.h:
8035           added 100 symbols from gstreamer-unused.txt to the right sections
8036           fixed more broken comments
8037           added GstBus to docs
8038
8039 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8040
8041         * docs/gst/gstreamer-sections.txt:
8042         * docs/gst/tmpl/.cvsignore:
8043         * docs/gst/tmpl/gstbin.sgml:
8044         * docs/gst/tmpl/gstbuffer.sgml:
8045         * gst/base/gstbasesrc.c:
8046         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8047         * gst/gstbuffer.c:
8048         * gst/gstbuffer.h:
8049         * tools/gst-launch.1.in:
8050           inlined more doc comments, added missing comments and fixed comments
8051           fixed typos
8052
8053 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8056           some debugging
8057         * gst/gstcaps.h:
8058           whitespace fixes
8059         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8060           more debugging
8061         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8062         * gst/gststructure.h:
8063           add a fixate function for booleans; add a FIXME that these func
8064           names should probably be gst_structure_fixate_*
8065
8066 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8067
8068         * docs/gst/gstreamer-docs.sgml:
8069         * docs/gst/gstreamer-sections.txt:
8070         * gst/Makefile.am:
8071         * gst/gstbin.c: (gst_bin_get_type),
8072         (gst_bin_child_proxy_get_child_by_index),
8073         (gst_bin_child_proxy_get_children_count),
8074         (gst_bin_child_proxy_init):
8075         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8076         (gst_child_proxy_get_child_by_index),
8077         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8078         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8079         (gst_child_proxy_get), (gst_child_proxy_set_property),
8080         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8081         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8082         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8083         * gst/gstchildproxy.h:
8084         * gst/parse/grammar.y:
8085         * tools/gst-inspect.c: (print_interfaces),
8086         (print_element_properties_info), (print_element_info):
8087           ported gstchildproxy over from 0.8
8088           ported gst-inspect fixes and enhancements over from 0.8
8089
8090 2005-08-22  Wim Taymans  <wim@fluendo.com>
8091
8092         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8093         (gst_base_transform_handle_buffer):
8094         Also call the transform function if we have ANY caps.
8095
8096         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8097         Fix debug info.
8098
8099 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8100
8101         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8102           Don't pretend to handle seek events if the source is not seekable
8103
8104 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8105
8106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8107           Remove extra parameter to debug output
8108
8109         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8110         (gst_base_src_do_seek), (gst_base_src_activate_push):
8111           Fix seek event handling.
8112
8113         * gst/gstpipeline.c: (gst_pipeline_change_state):
8114         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8115         (gst_queue_src_activate_push):
8116           Don't start the src pad task on FLUSH_STOP if the pad
8117           isn't linked.
8118           Debug changes.
8119
8120 2005-08-22  Wim Taymans  <wim@fluendo.com>
8121
8122         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8123         Added check for gst_static_caps_get() refcounting.
8124
8125 2005-08-22  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8128         Make _static_caps_get() refcounting sane.
8129         
8130         * gst/gstelement.c: (gst_element_set_state):
8131         Add g_return_val_if_fail() to protect against segfaults.
8132
8133 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8134
8135         * docs/gst/tmpl/gstevent.sgml:
8136         * gst/gstevent.c:
8137         * gst/gstevent.h:
8138           inlined remaining docs, added missing doc comments
8139
8140 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * check/gst/gstbin.c: (GST_START_TEST):
8143           since we don't know when preroll is done, use refcount range
8144           check for the sink
8145         * gst/check/gstcheck.h:
8146           add macro for checking refcount range
8147
8148 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8149
8150         * check/Makefile.am:
8151           clean up environment for when registry gets built versus
8152           when actual tests are run; valgrind seems to not report
8153           leaks if GST_PLUGIN_PATH is set to some specific values
8154         * check/gst/gstbin.c: (GST_START_TEST):
8155           add more refcounting checks; maybe this exposes a
8156           preroll lock bug ?
8157         * common/check.mak:
8158         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8159         * gst/check/gstcheck.h:
8160         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8161         (gst_bin_change_state):
8162         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8163           add/fix debugging/whitespace
8164
8165 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8166
8167         * check/gst/gstevent.c: (event_probe), (test_event),
8168         (GST_START_TEST):
8169          Er, don't call gst_bin_watch_for_state_change you idiot.
8170
8171 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8172
8173         * check/Makefile.am:
8174           Use CHECK_CFLAGS and CHECK_LIBS
8175         * check/gst/gstevent.c: (event_probe), (test_event),
8176         (GST_START_TEST):
8177           Don't leak events.
8178         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8179         (gst_base_src_start), (gst_base_src_stop),
8180         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8181         (gst_base_src_change_state):
8182           Sprinkle gst_base_src_stop liberally around error paths to fix
8183           problems reusing a source after failed state changes.
8184         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8185         (helper_find_suggest), (gst_type_find_helper):
8186           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8187         * gst/gstevent.h:
8188         * docs/gst/tmpl/gstevent.sgml:
8189           Migrate part of the docs from the SGML file. Wait for ensonic to
8190           tell me how I did it wrong ;)
8191         * tools/gst-typefind.c: (main):
8192           Extra robustness to state changes between files.
8193
8194 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * check/Makefile.am:
8197           don't valgrind the controller test - it's leaking - Stefan, HELP
8198         * gst/check/gstcheck.c: (gst_check_message_error),
8199         (gst_check_chain_func), (gst_check_setup_element),
8200         (gst_check_teardown_element), (gst_check_setup_src_pad),
8201         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8202         (gst_check_teardown_sink_pad):
8203         * gst/check/gstcheck.h:
8204           add a bunch of methods to set up elements, and src and sink pads
8205         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8206         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8207         (GST_START_TEST):
8208           use them
8209         * gst/gstmessage.c:
8210         * gst/gsttag.h:
8211           whitespace/doc fixes
8212
8213 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8214
8215         * gst/gstelement.h:
8216           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8217           be handled by the application and not always printed as well
8218
8219 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * check/Makefile.am:
8222           set GST_TOOLS_DIR
8223         * gst/check/gstcheck.c: (gst_check_message_error):
8224         * gst/check/gstcheck.h:
8225           add a fail_unless_equals_int
8226           add fail_unless for error messages
8227
8228 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8229
8230         * check/Makefile.am:
8231         * check/gst.supp:
8232         * common/Makefile.am:
8233         * common/check.mak:
8234         * common/gst.supp:
8235           factor out some of the common stuff so we can use it
8236
8237 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8238
8239         * check/Makefile.am:
8240         * check/gst/gstiterator.c: (GST_START_TEST):
8241         * check/gst/gstsystemclock.c: (GST_START_TEST),
8242         (gst_systemclock_suite):
8243         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8244         * gst/gstclock.c:
8245           valgrind more tests
8246
8247 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8248
8249         * check/elements/.cvsignore:
8250         * check/elements/gstfakesrc.c:
8251           rename to name of element
8252         * check/elements/identity.c: (chain_func), (event_func),
8253         (setup_identity), (cleanup_identity), (GST_START_TEST),
8254         (identity_suite), (main):
8255           add a test for identity
8256         * check/Makefile.am:
8257         * pkgconfig/Makefile.am:
8258         * pkgconfig/gstreamer-check.pc.in:
8259         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8260         * gst/check:
8261         * gst/Makefile.am:
8262         * configure.ac:
8263           move the check stuff to a library that gets installed
8264         * check/gst-libs/controller.c: (GST_START_TEST):
8265         * check/gst-libs/gdp.c:
8266         * check/gst/gst.c: (GST_START_TEST):
8267         * check/gst/gstbin.c:
8268         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8269         * check/gst/gstbus.c:
8270         * check/gst/gstcaps.c: (GST_START_TEST):
8271         * check/gst/gstelement.c:
8272         * check/gst/gstghostpad.c:
8273         * check/gst/gstiterator.c:
8274         * check/gst/gstmessage.c:
8275         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8276         * check/gst/gstobject.c:
8277         * check/gst/gstpad.c: (GST_START_TEST):
8278         * check/gst/gststructure.c: (GST_START_TEST):
8279         * check/gst/gstsystemclock.c: (GST_START_TEST),
8280         (gst_systemclock_suite):
8281         * check/gst/gsttag.c: (gst_tag_suite):
8282         * check/gst/gstvalue.c:
8283         * check/pipelines/cleanup.c:
8284         * check/pipelines/simple_launch_lines.c:
8285         * check/states/sinks.c:
8286           change include statement
8287
8288         * docs/gst/gstreamer-sections.txt:
8289         * docs/gst/tmpl/gstpad.sgml:
8290           document more pad stuff
8291         * gst/gstminiobject.c: (gst_mini_object_ref),
8292         (gst_mini_object_unref):
8293           debug refcounting
8294
8295 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8296
8297         * docs/gst/tmpl/gst.sgml:
8298         * gst/gst.c:
8299           eliminate another tmpl file, fix spelling in the long-description
8300
8301 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8302
8303         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8304         (test_event), (timediff), (gstevents_suite):
8305           Should fix build on 64-bit arch's
8306
8307 2005-08-18  Andy Wingo  <wingo@pobox.com>
8308
8309         Make sure that when a pipeline goes to PLAYING, that data has
8310         actually hit the sink.
8311
8312         * check/states/sinks.c (test_sink): A sink that doesn't get any
8313         data shouldn't return SUCCESS for going to either PLAYING or
8314         PAUSED. Test also the return values on the way back down.
8315
8316         * gst/gstelement.c (gst_element_set_state): When changing the
8317         state of an element currently changing state asynchronously, go to
8318         lost-state after commiting the pending state. Makes future calls
8319         to get_state continue to return ASYNC.
8320
8321         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8322         ASYNC when going to PLAYING if we still don't have preroll, as can
8323         happen with live sources.
8324
8325 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8326
8327         * docs/pwg/advanced-types.xml:
8328           Hack long paragraph into 2 chunks as a workaround for buggy
8329           jadetex version in sid and breezy that loops infinitely and
8330           eats all RAM.
8331
8332 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8335         (test_event), (timediff), (gstevents_suite):
8336           Provide more error margin in clock measurements to allow for 
8337           g_get_current_time inaccuracies.
8338
8339 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8340
8341         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8342         (test_event), (timediff), (gstevents_suite):
8343            Fix error message output so I might be able to tell why the
8344            test works here but fails on the build farm.
8345
8346 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8347
8348         * check/Makefile.am:
8349         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8350         (test_event), (timediff), (gstevents_suite), (main):
8351           I wrote a test!
8352
8353         * docs/design/part-seeking.txt:
8354           Spelling correction
8355
8356         * docs/gst/tmpl/gstevent.sgml:
8357         * docs/gst/tmpl/gstfakesrc.sgml:
8358           Docs updates.
8359
8360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8361           Treat a buffer-without-newsegment the same as a receiving 
8362           a newsegment not in time format, and disable syncing to the clock
8363           with a warning.
8364
8365         * gst/gstbus.c: (gst_bus_set_sync_handler):
8366           Assert if anyone tries to replace the existing sync_handler for bus, 
8367           as only the owner should be setting it.
8368
8369         * gst/gstevent.h:
8370           Have a fixed set of custom event enums with events identified by
8371           their structure name (as in 0.8), rather than a free-for-all
8372           allowing collisions between enum values from different plugins.
8373
8374         * gst/gstpad.c: (gst_pad_class_init):
8375           Docs change.
8376           
8377         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8378           Handle out-of-band downstream events from the sending thread.
8379
8380 2005-08-17  Andy Wingo  <wingo@pobox.com>
8381
8382         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8383         play-timeout==0 to mean no timeout at all. In that case, don't
8384         bother with a get_state or a warning, just return directly, even
8385         if it's ASYNC.
8386
8387         * gst/base/gstbasetransform.c: Debug changes.
8388
8389         * gst/gstutils.h:
8390         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8391         ensure bins post state change messages. A bit of a hack but I can't
8392         think of a way to avoid it.
8393
8394         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8395
8396 2005-08-16  Andy Wingo  <wingo@pobox.com>
8397
8398         * gst/base/gstadapter.h:
8399         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8400         peek() but you own the data. Not terribly efficient atm.
8401
8402 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8403
8404         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8405         (gst_element_found_tags):
8406         * gst/gstutils.h:
8407           Add two utility functions for tag handling.
8408
8409 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8410
8411         * docs/manual/advanced-dataaccess.xml:
8412         * docs/manual/basics-helloworld.xml:
8413           Fix docs to use _bin_add() before _link(), which fixes the examples
8414           with recent core versions (reported by Madhan Raj M
8415           <raj_madan@rediffmail.com>, #313199).
8416
8417 2005-08-16  Wim Taymans  <wim@fluendo.com>
8418
8419         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8420         Added subtract checks.
8421
8422         * docs/design/part-events.txt:
8423         Some more docs about newsegment
8424
8425         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8426         Fix FIXME
8427
8428         * gst/gstcaps.c: (gst_caps_to_string):
8429         Add comments, cleanups.
8430         
8431         * gst/gstelement.c: (gst_element_save_thyself):
8432         cleanups
8433         
8434         * gst/gstvalue.c: (gst_value_collect_int_range),
8435         (gst_string_unwrap), (gst_value_union_int_int_range),
8436         (gst_value_union_int_range_int_range),
8437         (gst_value_intersect_int_int_range),
8438         (gst_value_intersect_int_range_int_range),
8439         (gst_value_intersect_double_double_range),
8440         (gst_value_intersect_double_range_double_range),
8441         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8442         (gst_value_subtract_int_range_int),
8443         (gst_value_subtract_double_range_double),
8444         (gst_value_subtract_double_range_double_range),
8445         (gst_value_subtract_from_list), (gst_value_subtract_list),
8446         (gst_value_can_compare), (gst_value_compare_fraction):
8447         Cleanups, add comments, remove unneeded asserts.
8448
8449 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * tools/gst-launch.c: (event_loop):
8452           don't convert NULL structures to strings
8453
8454 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8455
8456         * docs/gst/gstreamer-sections.txt:
8457           made some defines private
8458         * docs/gst/tmpl/gstconfig.sgml:
8459         * docs/gst/tmpl/gstqueue.sgml:
8460         * docs/gst/tmpl/gsttaglist.sgml:
8461         * docs/gst/tmpl/gsttypes.sgml:
8462         * docs/gst/tmpl/gstutils.sgml:
8463         * docs/pwg/appendix-porting.xml:
8464         * gst/base/gstbasesink.h:
8465         * gst/base/gstbasesrc.c:
8466         * gst/base/gstbasesrc.h:
8467         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8468         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8469         * gst/gstelement.c: (gst_element_class_init):
8470         * gst/gstpad.c: (gst_pad_class_init):
8471         * gst/gstqueue.c: (gst_queue_class_init):
8472         * gst/gstxml.c: (gst_xml_class_init):
8473           documented all undocumented signal inline
8474         * libs/gst/controller/gst-controller.h:
8475           added padding
8476
8477 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8478
8479         * docs/pwg/appendix-porting.xml:
8480           Document _set_link_function -> _set_setcaps_function.
8481
8482 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8483
8484         * check/Makefile.am:
8485           add a .check target for running the check
8486         * check/gst-libs/controller.c: (GST_START_TEST):
8487           cosmetic fixups
8488         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8489           complete checks for gstbuffer; would be nice if I could get the
8490           gcov stuff to work so I can see if I actually completed gstbuffer.c
8491         * check/gstcheck.h:
8492           add ASSERT_BUFFER_REFCOUNT
8493
8494 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8495
8496         * docs/gst/gstreamer-sections.txt:
8497         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8498         * gst/gsttag.h:
8499           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8500           spew out a warning if a tag that is already registered
8501           is re-registered, unless it is re-registered with a 
8502           different type (#308438).
8503
8504 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * docs/pwg/appendix-porting.xml:
8507         * docs/pwg/building-state.xml:
8508           Add some paragraphs about state changes in 0.9 to the PWG
8509           and the porting guide, in particular about the new meaning
8510           of GST_STATE_PAUSED and how to write state change functions
8511           with concurrent access by multiple threads in mind.
8512
8513 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8514
8515         * docs/gst/gstreamer-docs.sgml:
8516         * docs/libs/gstreamer-libs-docs.sgml:
8517           added deprecation and since indexes
8518         * libs/gst/controller/gst-controller.c:
8519         * libs/gst/controller/gst-helper.c:
8520           added since tags
8521
8522
8523 2005-08-11  Wim Taymans  <wim@fluendo.com>
8524
8525         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8526         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8527         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8528         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8529         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8530         (gst_ghost_pad_set_target):
8531         Actually implement (re)setting the target on a ghostpad
8532         as described in the docs.
8533
8534 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8535
8536         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8537           Check whether GST_DEBUG_NO_COLOR environment variable is
8538           set and disable coloured debug output if that is the case.
8539
8540 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8541
8542         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8543         (gst_type_find_helper):
8544           The memory returned by gst_type_find_peek() needs to
8545           stay valid until the end of a typefind function, and
8546           typefind functions may keep results from different 
8547           offsets around, so we can't just unref the buffer from
8548           the previous _peek(), but have to save all buffers 
8549           returned by _peek() until typefinding is done and only
8550           free them then.
8551
8552 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8553
8554         * docs/gst/gstreamer-sections.txt:
8555         * gst/gstutils.h:
8556           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8557
8558 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8559
8560         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8561           Fix a pretty good memleak.
8562
8563 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8564
8565         * gst/gstiterator.h:
8566           Fix wrong include and 'make distcheck'.
8567
8568 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8569
8570         * gst/gstbin.c: (bin_bus_handler):
8571           Use gst_element_post_message() instead.
8572
8573 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8574
8575         * gst/base/gstadapter.h:
8576         * gst/base/gstbasesink.h:
8577         * gst/base/gstbasesrc.h:
8578         * gst/base/gstbasetransform.h:
8579         * gst/base/gstcollectpads.h:
8580         * gst/base/gstpushsrc.h:
8581         * gst/gstiterator.h:
8582           Add padding to our base elements' class and instance structs and
8583           to GstIterator (you will need to rebuild all plugins and apps!)
8584
8585 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8586
8587         * gst/gstbin.c: (bin_bus_handler):
8588           Make default message forwarding from child->bus to bin->bus
8589           threadsafe and make it not emit warnings if the parent has no bus.
8590
8591 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8592
8593         * gst/gstelement.c: (activate_pads):
8594           On paused->ready, set pad->caps to NULL, as is the documented
8595           behaviour in this state change. Fixes playback of series of
8596           media files when visualization is enabled in Totem.
8597
8598 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8599
8600         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8601           Allow NULL as filter-caps (which means "any").
8602
8603 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8604
8605         * docs/libs/gstreamer-libs-sections.txt:
8606         * libs/gst/controller/gst-controller.c:
8607         * libs/gst/controller/gst-controller.h:
8608         * libs/gst/controller/gst-helper.c:
8609           adding more entries to the docs and fix small doc-bugs
8610
8611 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8612
8613         * docs/gst/gstreamer-docs.sgml:
8614         * docs/gst/gstreamer-sections.txt:
8615         * docs/gst/gstreamer.types:
8616         * docs/gst/tmpl/gstbasesink.sgml:
8617         * docs/gst/tmpl/gstbasesrc.sgml:
8618         * docs/gst/tmpl/gstbasetransform.sgml:
8619         * docs/gst/tmpl/gstfakesrc.sgml:
8620         * gst/base/gstcollectpads.c:
8621         * gst/base/gstcollectpads.h:
8622         * libs/gst/controller/gst-controller.c:
8623         * libs/gst/controller/gst-controller.h:
8624         * libs/gst/controller/gst-helper.c:
8625         * libs/gst/controller/gst-interpolation.c:
8626         * libs/gst/controller/lib.c:
8627           added long/short desc for controller docs
8628           added collectpads base class docs
8629           added correct includes to base-class docs
8630
8631 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8632
8633         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8634         (gst_test_mono_source_set_property),
8635         (gst_test_mono_source_class_init), (GST_START_TEST),
8636         (gst_controller_suite):
8637         * docs/gst/gstreamer-docs.sgml:
8638         * docs/gst/gstreamer-sections.txt:
8639         * docs/gst/gstreamer.types:
8640         * docs/libs/gstreamer-libs-docs.sgml:
8641         * docs/libs/gstreamer-libs-sections.txt:
8642         * gst/base/gstadapter.c:
8643         * libs/gst/controller/gst-controller.c:
8644         (gst_controlled_property_new), (gst_controlled_property_free),
8645         (gst_controller_new_valist),
8646         (gst_controller_remove_properties_valist),
8647         (gst_controller_sink_values), (_gst_controller_finalize):
8648         * libs/gst/controller/gst-controller.h:
8649         * libs/gst/controller/gst-helper.c:
8650         (gst_object_control_properties), (gst_object_uncontrol_properties),
8651         (gst_object_get_controller), (gst_object_set_controller),
8652         (gst_object_sink_values), (gst_object_get_value_arrays),
8653         (gst_object_get_value_array):
8654           more tests (and fixes) for the controller
8655           more docs for the controller
8656           integrated companies docs for the adapter 
8657
8658 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8659
8660         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8661         (GST_START_TEST), (fakesrc_suite):
8662           add tests for sizetype
8663
8664 2005-08-04  Andy Wingo  <wingo@pobox.com>
8665
8666         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8667         fixes buffer_alloc proxying among other things.
8668
8669         * gst/base/gstbasetransform.c:
8670         * gst/base/gstbasetransform.h:
8671         Revert patch to gstbasetransform from 7-28 removing
8672         delay_configure.
8673
8674         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8675         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8676         Semantics changed, should return not the size of the output buffer
8677         but the byte size of a buffer with a given caps.
8678
8679         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8680         debug object.
8681         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8682         out) are not the pad caps until setcaps finishes.
8683         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8684         not-in-place case as well. Deal with changing from in-place to
8685         not-in-place within calling pad_alloc_buffer. Still a bit
8686         concerned about the overhead here...
8687
8688 2005-08-03  Andy Wingo  <wingo@pobox.com>
8689
8690         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8691         fixating is an error.
8692
8693 2005-08-04  Edward Hervey  <edward@fluendo.com>
8694
8695         * gst/base/gstadapter.h: 
8696         Added gst_adapter_get_type() to the header
8697
8698 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8699
8700         * check/Makefile.am:
8701         * check/gst-libs/controller.c:
8702         * libs/gst/controller/gst-controller.c:
8703         (gst_controller_new_valist):
8704           added check test suite for the controller
8705         * gst/base/gstpushsrc.c:
8706           fixed a doc typo
8707
8708 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8709
8710         * docs/gst/Makefile.am:
8711         * docs/gst/gstreamer-docs.sgml:
8712         * docs/gst/gstreamer-sections.txt:
8713         * docs/gst/gstreamer.types:
8714         * docs/gst/tmpl/gstfakesrc.sgml:
8715         * gst/base/README:
8716         * gst/base/gstbasesink.c:
8717         * gst/base/gstbasesink.h:
8718         * gst/base/gstbasesrc.c:
8719         * gst/base/gstbasesrc.h:
8720         * gst/base/gstbasetransform.c:
8721         * gst/base/gstpushsrc.c:
8722         * gst/base/gstpushsrc.h:
8723           add short/long description docs to base classes
8724           add pushsrc to the docs
8725           remove consolidated doc fragments
8726
8727 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8728
8729         * configure.ac:
8730         * docs/libs/Makefile.am:
8731         * docs/libs/gstreamer-libs-docs.sgml:
8732         * docs/libs/gstreamer-libs-sections.txt:
8733         * docs/libs/gstreamer-libs.types:
8734         * examples/Makefile.am:
8735         * examples/controller/.cvsignore:
8736         * examples/controller/Makefile.am:
8737         * examples/controller/audio-example.c: (main):
8738         * libs/gst/Makefile.am:
8739         * libs/gst/controller/.cvsignore:
8740         * libs/gst/controller/Makefile.am:
8741         * libs/gst/controller/gst-controller.c:
8742         (on_object_controlled_property_changed), (gst_timed_value_compare),
8743         (gst_timed_value_find),
8744         (gst_controlled_property_set_interpolation_mode),
8745         (gst_controlled_property_new), (gst_controlled_property_free),
8746         (gst_controller_find_controlled_property),
8747         (gst_controller_new_valist), (gst_controller_new),
8748         (gst_controller_remove_properties_valist),
8749         (gst_controller_remove_properties), (gst_controller_set),
8750         (gst_controller_set_from_list), (gst_controller_unset),
8751         (gst_controller_get), (gst_controller_get_all),
8752         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8753         (gst_controller_get_value_array),
8754         (gst_controller_set_interpolation_mode),
8755         (_gst_controller_finalize), (_gst_controller_init),
8756         (_gst_controller_class_init), (gst_controller_get_type):
8757         * libs/gst/controller/gst-controller.h:
8758         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8759         (g_object_uncontrol_properties), (g_object_get_controller),
8760         (g_object_set_controller), (g_object_sink_values),
8761         (g_object_get_value_arrays), (g_object_get_value_array):
8762         * libs/gst/controller/gst-interpolation.c:
8763         (gst_controlled_property_find_timed_value_node),
8764         (interpolate_none_get), (interpolate_trigger_get),
8765         (interpolate_trigger_get_value_array):
8766         * libs/gst/controller/lib.c: (gst_controller_init):
8767         * pkgconfig/Makefile.am:
8768         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8769         * pkgconfig/gstreamer-control.pc.in:
8770         * testsuite/Makefile.am:
8771         * testsuite/controller/.cvsignore:
8772         * testsuite/controller/Makefile.am:
8773         * testsuite/controller/interpolator.c: (main):
8774           added controller code
8775           removed dparam pc files
8776
8777 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8778         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8779         (gst_collectpads_stop):
8780           Broadcast the condition when shutting down, to make sure we wake all
8781           threads up. Shut down pads on finalize, for safety.
8782
8783 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8784         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8785         (gst_base_transform_handle_buffer),
8786         (gst_base_transform_change_state):
8787           Handle PAUSED->READY->PAUSED transition after negotiation
8788           occurred already.
8789         * gst/gstmessage.c: (gst_message_init):
8790           Extra piece of debug for new messages.
8791
8792 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8793
8794         * configure.ac:
8795         * docs/gst/tmpl/gstbasesrc.sgml:
8796         * docs/gst/tmpl/gstelement.sgml:
8797         * docs/gst/tmpl/gstevent.sgml:
8798         * docs/gst/tmpl/gstfakesrc.sgml:
8799         * docs/gst/tmpl/gstformat.sgml:
8800         * docs/gst/tmpl/gstghostpad.sgml:
8801         * docs/gst/tmpl/gstpad.sgml:
8802         * docs/gst/tmpl/gstquery.sgml:
8803         * docs/gst/tmpl/gststructure.sgml:
8804         * docs/gst/tmpl/gsttaglist.sgml:
8805         * docs/gst/tmpl/gstvalue.sgml:
8806         * docs/libs/gstreamer-libs-docs.sgml:
8807         * docs/libs/gstreamer-libs-sections.txt:
8808         * docs/libs/gstreamer-libs.types:
8809         * libs/gst/Makefile.am:
8810         * libs/gst/control/.cvsignore:
8811         * libs/gst/control/Makefile.am:
8812         * libs/gst/control/control.c:
8813         * libs/gst/control/control.h:
8814         * libs/gst/control/dparam.c:
8815         * libs/gst/control/dparam.h:
8816         * libs/gst/control/dparam_smooth.c:
8817         * libs/gst/control/dparam_smooth.h:
8818         * libs/gst/control/dparamcommon.h:
8819         * libs/gst/control/dparammanager.c:
8820         * libs/gst/control/dparammanager.h:
8821         * libs/gst/control/dplinearinterp.c:
8822         * libs/gst/control/dplinearinterp.h:
8823         * libs/gst/control/unitconvert.c:
8824         * libs/gst/control/unitconvert.h:
8825         * testsuite/Makefile.am:
8826         * testsuite/dynparams/.cvsignore:
8827         * testsuite/dynparams/Makefile.am:
8828         * testsuite/dynparams/dparamstest.c:
8829         * tools/Makefile.am:
8830         * tools/gst-inspect.c: (print_element_info), (main):
8831         * tools/gst-xmlinspect.c: (print_element_info), (main):
8832           deactivate and remove dparams (libgstcontrol)
8833
8834 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8835
8836         * gst/elements/gsttypefindelement.c:
8837         (gst_type_find_element_have_type), (gst_type_find_element_init),
8838         (stop_typefinding), (gst_type_find_element_handle_event),
8839         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8840         * gst/elements/gsttypefindelement.h:
8841           Set caps on all outgoing buffers, not just the first one.
8842
8843 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8844
8845         * gst/elements/gsttypefindelement.c:
8846         (gst_type_find_element_have_type),
8847         (gst_type_find_element_check_set_buffer_caps),
8848         (gst_type_find_element_init), (stop_typefinding),
8849         (gst_type_find_element_handle_event),
8850         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8851         * gst/elements/gsttypefindelement.h:
8852           Set caps on first outgoing buffer when we've found the type.
8853
8854 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8855
8856         * docs/gst/gstreamer-docs.sgml:
8857         * docs/gst/gstreamer-sections.txt:
8858         * docs/gst/tmpl/gstscheduler.sgml:
8859         * docs/gst/tmpl/gstschedulerfactory.sgml:
8860           Remove some old cruft from docs.
8861
8862 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8863
8864         * gst/gstpad.h:
8865           Fix inline docs for GstPadLinkReturn.
8866           
8867         * gst/gststructure.c: (gst_structure_has_name):
8868         * gst/gststructure.h:
8869         * docs/gst/gstreamer-sections.txt:
8870           New API: gst_structure_has_name().
8871
8872 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8873
8874         * configure.ac:
8875           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8876           and _LARGEFILE_SOURCE in config.h as required. Do not 
8877           export those flags in our .pc files any longer (#142209).
8878
8879           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8880
8881         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8882         (gst_file_sink_do_seek), (gst_file_sink_event),
8883         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8884           Redo seek/tell calls with large file support in mind; add some
8885           debugging messages; add log message that tells us when large
8886           file support is unavailable or not enabled for some reason.
8887
8888         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8889           Add log message that tells us when large file support 
8890           is unavailable or not enabled for some reason.
8891
8892 2005-07-29  Wim Taymans  <wim@fluendo.com>
8893
8894         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8895         Added test for removing an element with ghostpad from a bin.
8896         Fixed test as current implementation does the right thing.
8897
8898         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8899         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8900         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8901         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8902         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8903         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8904         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8905         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8906         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8907         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8908         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8909         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8910         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8911         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8912         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8913         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8914         * gst/gstghostpad.h:
8915         Clean up ghostpads, remove properties for internal stuff.
8916         Make threadsafe.
8917         Fix refcounting.
8918         Prepare for switching targets, not all use cases work yet.
8919
8920 2005-07-29  Wim Taymans  <wim@fluendo.com>
8921
8922         * docs/design/part-gstghostpad.txt:
8923         Small update.
8924
8925         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8926         (gst_bin_remove_func):
8927         Unlinking pads while holding the bin LOCK is not a good
8928         idea.
8929
8930         * gst/gstpad.c: (gst_pad_class_init),
8931         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8932         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8933         No prob setting template after creating the pad.
8934
8935 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8936
8937         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8938         (gst_bus_peek), (gst_bus_source_dispatch),
8939         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8940         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8941           gst_bus_poll may be called from other threads. Handle
8942           this nicely by not making poll_data disappear off the
8943           stack once gst_bus_poll returns.
8944           gst_bus_peek now increments the refcount on the returned
8945           message.
8946
8947 2005-07-29  Wim Taymans  <wim@fluendo.com>
8948
8949         * docs/design/part-gstghostpad.txt:
8950         Overview of current GhostPad datastructures and use
8951         cases for changing the target.
8952
8953 2005-07-28  Wim Taymans  <wim@fluendo.com>
8954
8955         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8956         Added checks for hierarchy consistency whan adding linked
8957         elements to bins.
8958
8959         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8960         Added check to test element scheduling without bin/pipeline.
8961
8962         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8963         First add elements to bin, then link.
8964         
8965         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8966         (gst_bin_remove_func):
8967         Unlink pads from elements added/removed from bin to maintain
8968         hierarchy consistency.
8969
8970 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8971
8972         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8973         (gst_base_transform_handle_buffer):
8974         * gst/base/gstbasetransform.h:
8975           Remove broken delay_configure (fixes renegotiation of software
8976           scaling pipelines); remove some leftover printf()s.
8977
8978 2005-07-28  Wim Taymans  <wim@fluendo.com>
8979
8980         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8981         Added some more tests for wrong hierarchy
8982
8983         * docs/design/part-overview.txt:
8984         Some updates.
8985
8986         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8987         Cleanups.
8988
8989         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8990         (gst_element_dispose):
8991         Some more cleanups.
8992
8993         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8994         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8995         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8996         (gst_pad_set_caps), (gst_pad_send_event):
8997         Check for correct hierarchy when linking pads. Moving to
8998         strict requirement for ghostpads when linking elements in
8999         different bins.
9000
9001         * gst/gstpad.h:
9002         Clean ups. Added WRONG_HIERARCHY return value.
9003
9004 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9005
9006         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9007           Better debug if no transform is possible.
9008
9009 2005-07-27  Wim Taymans  <wim@fluendo.com>
9010
9011         * docs/random/wtay/network-transp:
9012         Some old doc I had.
9013
9014 2005-07-27  Wim Taymans  <wim@fluendo.com>
9015
9016         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9017         (gst_dp_event_from_packet):
9018         Fix serialization of seek events.
9019
9020 2005-07-27  Wim Taymans  <wim@fluendo.com>
9021
9022         * check/gst-libs/gdp.c: (GST_START_TEST):
9023         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9024         Fix compilation and fix event serialization.
9025
9026 2005-07-27  Wim Taymans  <wim@fluendo.com>
9027
9028         * CHANGES-0.9:
9029         * docs/design/part-TODO.txt:
9030         * docs/design/part-events.txt:
9031         Some docs updates
9032
9033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9034         (gst_base_sink_event), (gst_base_sink_do_sync),
9035         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9036         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9037         (gst_base_src_do_seek), (gst_base_src_event_handler),
9038         (gst_base_src_loop):
9039         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9040         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9041         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9042         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9043         (gst_base_transform_set_passthrough),
9044         (gst_base_transform_is_passthrough):
9045         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9046         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9047         Event updates.
9048
9049         * gst/gstbuffer.h:
9050         Use faster casts.
9051
9052         * gst/gstelement.c: (gst_element_seek):
9053         * gst/gstelement.h:
9054         Update gst_element_seek.
9055
9056         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9057         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9058         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9059         (gst_event_new_eos), (gst_event_new_newsegment),
9060         (gst_event_parse_newsegment), (gst_event_new_tag),
9061         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9062         (gst_event_parse_qos), (gst_event_new_seek),
9063         (gst_event_parse_seek), (gst_event_new_navigation):
9064         * gst/gstevent.h:
9065         Make GstEvent use GstStructure. Add parsing code, make sure the
9066         API is sufficiently generic.
9067         Mark possible directions of events and serialization.
9068
9069         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9070         (_gst_message_copy), (gst_message_new_segment_start),
9071         (gst_message_new_segment_done), (gst_message_new_custom),
9072         (gst_message_parse_segment_start),
9073         (gst_message_parse_segment_done):
9074         Small cleanups.
9075
9076         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9077         (gst_pad_set_caps), (gst_pad_send_event):
9078         Update for new events. 
9079         Catch events sent in wrong directions.
9080
9081         * gst/gstqueue.c: (gst_queue_link_src),
9082         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9083         (gst_queue_handle_src_query):
9084         Event updates.
9085
9086         * gst/gsttag.c:
9087         * gst/gsttag.h:
9088         Remove event code from this file.
9089
9090         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9091         (gst_dp_event_from_packet):
9092         Event updates.
9093
9094 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9095
9096         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9097         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9098         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9099           Make debugging actually useful.
9100
9101 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9102
9103         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9104         (gst_pad_fixate_caps):
9105           Implement default fixation once again, so that gst_pad_fixate()
9106           actually does anything at all. This probably needs to be some
9107           sort of a last resort, and use profile-based fixation first, but
9108           since that doesn't exist yet, this is the best we have. Fixes
9109           visualization in Totem.
9110
9111 2005-07-22  Wim Taymans  <wim@fluendo.com>
9112
9113         * docs/design/part-events.txt:
9114         Small update.
9115
9116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9117         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9118         (gst_base_sink_activate_pull):
9119         Some more comments.
9120
9121         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9122         (gst_fake_src_create):
9123         Fix handoff marshall.
9124
9125         * gst/elements/gstidentity.c: (gst_identity_class_init),
9126         (gst_identity_transform_ip):
9127         We're a real inplace element.
9128
9129         * gst/gstbus.c: (gst_bus_post):
9130         Added some comments.
9131
9132         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9133         * tests/muxing/case1.c: (main):
9134         * tests/sched/dynamic-pipeline.c: (main):
9135         * tests/sched/interrupt1.c: (main):
9136         * tests/sched/interrupt2.c: (main):
9137         * tests/sched/interrupt3.c: (main):
9138         * tests/sched/runxml.c: (main):
9139         * tests/sched/sched-stress.c: (main):
9140         * tests/seeking/seeking1.c: (event_received), (main):
9141         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9142         (main):
9143         * tests/threadstate/threadstate3.c: (main):
9144         * tests/threadstate/threadstate4.c: (main):
9145         * tests/threadstate/threadstate5.c: (main):
9146         Fix the tests.
9147
9148 2005-07-21  Wim Taymans  <wim@fluendo.com>
9149
9150         * docs/design/part-seeking.txt:
9151         Some small additions.
9152
9153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9154         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9155         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9156         * gst/base/gstbasesink.h:
9157         discont values are gint64, handle the math correctly.
9158
9159         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9160         Make the basesrc report error if the source pad is not linked.
9161
9162         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9163         (gst_queue_loop), (gst_queue_handle_src_query),
9164         (gst_queue_src_activate_push):
9165         Make queue collect data even if the srcpad is not linked.
9166         Start pushing out data as soon as it is linked.
9167
9168         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9169         * gst/gstutils.h:
9170         Added gst_flow_get_name() to ease error reporting.
9171
9172 2005-07-20  Wim Taymans  <wim@fluendo.com>
9173
9174         * gst/gstmessage.c: (gst_message_new_segment_start),
9175         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9176         (gst_message_parse_segment_done):
9177         * gst/gstmessage.h:
9178         Added a bunch of messages for advanced seeking.
9179
9180         * gst/parse/grammar.y:
9181         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9182         (gst_dpman_state_changed):
9183         Fix some new-pad -> pad-added signals
9184
9185 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9186
9187         * docs/manual/appendix-porting.xml:
9188         * docs/pwg/appendix-porting.xml:
9189           Document new-pad/state-change signal renames and the FixedList
9190           type rename.
9191
9192 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9193
9194         * docs/manual/advanced-autoplugging.xml:
9195         * docs/manual/basics-helloworld.xml:
9196         * docs/manual/basics-pads.xml:
9197         * docs/random/ds/0.9-suggested-changes:
9198         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9199         * gst/gstelement.h:
9200         * gst/gstevent.h:
9201         * gst/gstformat.h:
9202         * gst/gstquery.h:
9203         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9204         (gst_structure_parse_array), (gst_structure_parse_value):
9205         * gst/gstvalue.c: (gst_type_is_fixed),
9206         (gst_value_list_prepend_value), (gst_value_list_append_value),
9207         (gst_value_list_get_size), (gst_value_list_get_value),
9208         (gst_value_transform_array_string), (gst_value_serialize_array),
9209         (gst_value_deserialize_array), (gst_value_intersect_array),
9210         (gst_value_is_fixed), (_gst_value_initialize):
9211         * gst/gstvalue.h:
9212           GstElement::new-pad -> pad-added, GstElement::state-change ->
9213           state-changed, GstValueFixedList -> GstValueArray, add format and
9214           flags as their own arguments in gst_element_seek() (should improve
9215           "bindeability"), remove function generators since they don't work
9216           under a whole bunch of compilers (they were deprecated already
9217           anyway).
9218
9219 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9220
9221         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9222         (_gst_debug_register_funcptr):
9223         * gst/gstinfo.h:
9224           Fix illegal cast on some platforms (#309253).
9225
9226 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9227
9228         * gst/gstmessage.c: (gst_message_new_custom):
9229         * gst/gstmessage.h:
9230           Add _new_custom, make _new_application a macro to _new_custom.
9231
9232 2005-07-20  Wim Taymans  <wim@fluendo.com>
9233
9234         * gst/base/gstbasesrc.c: (gst_base_src_init),
9235         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9236         * gst/base/gstbasesrc.h:
9237         Add a gboolean to decide when to push out a discont.
9238
9239         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9240         (gst_queue_loop), (gst_queue_handle_src_query),
9241         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9242         (gst_queue_set_property), (gst_queue_get_property):
9243         Some cleanups.
9244
9245         * tests/threadstate/threadstate1.c: (main):
9246         Make a thread test compile and run... very silly..
9247
9248
9249 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9250
9251         * docs/manual/appendix-porting.xml:
9252           Mention removal of libgstgconf-0.9.la and existence of gconf
9253           elements.
9254
9255 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9256
9257         * docs/pwg/advanced-clock.xml:
9258         * docs/pwg/appendix-porting.xml:
9259         * docs/pwg/intro-preface.xml:
9260         * docs/pwg/other-base.xml:
9261         * docs/pwg/other-manager.xml:
9262         * docs/pwg/other-nton.xml:
9263         * docs/pwg/other-ntoone.xml:
9264         * docs/pwg/other-oneton.xml:
9265         * docs/pwg/pwg.xml:
9266           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9267           demuxer), remove n-to-n (was never written), fix some code examples
9268           and links and update the porting section to include all this.
9269
9270 2005-07-19  Wim Taymans  <wim@fluendo.com>
9271
9272         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9273         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9274         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9275         (gst_queue_src_activate_push), (gst_queue_change_state),
9276         (gst_queue_get_property):
9277         * gst/gstqueue.h:
9278         Propagate GstFlowReturn more intelligently upstream and output
9279         an ERROR/EOS when streaming stopped due to fatal error.
9280
9281 2005-07-19  Wim Taymans  <wim@fluendo.com>
9282
9283         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9284         Don't block forever for the state change to complete, the
9285         pipeline already did with a sensible timeout.
9286
9287 2005-07-19  Wim Taymans  <wim@fluendo.com>
9288
9289         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9290         Make sure we never call the create function is we
9291         got deactivated.
9292
9293 2005-07-19  Andy Wingo  <wingo@pobox.com>
9294
9295         * gst/parse/parse.l: Attempt to solve bug #172815.
9296
9297 2005-07-19  Wim Taymans  <wim@fluendo.com>
9298
9299         * docs/design/part-clocks.txt:
9300         * docs/design/part-events.txt:
9301         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9302         Small docs updates.
9303         Only update the seeking values when we are not
9304         busy streaming.
9305
9306 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9307
9308         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9309           Oops, ignore the result of gst_pad_push_event here.
9310
9311 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9312
9313         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9314         (gst_base_src_activate_push):
9315           Send discont event from the loop function, as pads
9316           aren't activated yet in the activate_push handler.
9317
9318         * gst/gstbin.c: (bin_bus_handler):
9319           Don't leak element name.
9320
9321 2005-07-18  Andy Wingo  <wingo@pobox.com>
9322
9323         * configure.ac: Use AS_LIBTOOL_TAGS.
9324
9325 2005-07-18  Wim Taymans  <wim@fluendo.com>
9326
9327         * docs/gst/gstreamer.types:
9328         Remove deleted types.
9329
9330 2005-07-18  Wim Taymans  <wim@fluendo.com>
9331
9332         * check/elements/gstfakesrc.c: (GST_START_TEST):
9333         * configure.ac:
9334         * gst/Makefile.am:
9335         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9336         (init_popt_callback):
9337         * gst/gst.h:
9338         * gst/gst_private.h:
9339         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9340         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9341         * gst/gstbin.h:
9342         * gst/gstbus.h:
9343         * gst/gstconfig.h.in:
9344         * gst/gstelement.c: (gst_element_class_init),
9345         (gst_element_set_base_time), (gst_element_get_base_time),
9346         (iterator_fold_with_resync), (gst_element_change_state),
9347         (gst_element_dispose), (gst_element_get_bus):
9348         * gst/gstelement.h:
9349         * gst/gstelementfactory.h:
9350         * gst/gsterror.c: (_gst_core_errors_init):
9351         * gst/gsterror.h:
9352         * gst/gstevent.h:
9353         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9354         * gst/gstindex.c:
9355         * gst/gstinfo.c: (_gst_debug_init):
9356         * gst/gstmessage.c: (_gst_message_copy):
9357         * gst/gstmessage.h:
9358         * gst/gstminiobject.h:
9359         * gst/gstobject.c:
9360         * gst/gstobject.h:
9361         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9362         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9363         * gst/gstpad.h:
9364         * gst/gstparse.h:
9365         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9366         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9367         (gst_pipeline_get_last_stream_time):
9368         * gst/gstpipeline.h:
9369         * gst/gstpluginfeature.h:
9370         * gst/gstquery.h:
9371         * gst/gstscheduler.c:
9372         * gst/gstscheduler.h:
9373         * gst/gststructure.h:
9374         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9375         (gst_task_finalize), (gst_task_func), (gst_task_create),
9376         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9377         (gst_task_stop), (gst_task_pause):
9378         * gst/gsttask.h:
9379         * gst/gsttypefind.h:
9380         * gst/gsttypes.h:
9381         * gst/registries/gstlibxmlregistry.c: (load_feature),
9382         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9383         * gst/registries/gstxmlregistry.c:
9384         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9385         * gst/schedulers/threadscheduler.c:
9386         * libs/gst/control/dparammanager.h:
9387         * tools/gst-inspect.c: (print_element_list),
9388         (print_plugin_features), (print_element_features):
9389         * tools/gst-xmlinspect.c: (print_element_list),
9390         (print_plugin_info), (main):
9391         Removed plugable schedulers.
9392         Removed Scheduler/Manager from elements.
9393         Removed gsttypes.h, rearranged includes.
9394         Removed dependency pad<->element, element<>pipeline, and
9395         various others,  fix includes.
9396         implement gst_pad_get_parent() with gst_object_get_parent()
9397         Make GstTask sefcontained.
9398         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9399         timeout.
9400         Fix endless loop in iterator_fold_with_resync.
9401
9402
9403 2005-07-18  Wim Taymans  <wim@fluendo.com>
9404
9405         * gst/Makefile.am:
9406         * gst/gstarch.h:
9407         Remove old file.
9408
9409 2005-07-18  Wim Taymans  <wim@fluendo.com>
9410
9411         * gst/Makefile.am:
9412         No more cothreads.h
9413
9414 2005-07-18  Wim Taymans  <wim@fluendo.com>
9415
9416         * gst/cothreads.c:
9417         * gst/cothreads.h:
9418         Let's remove these.
9419
9420 2005-07-18  Wim Taymans  <wim@fluendo.com>
9421
9422         * docs/design/part-dynamic.txt:
9423         * docs/design/part-events.txt:
9424         * docs/design/part-seeking.txt:
9425         Some more docs in the works.
9426
9427         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9428         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9429         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9430         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9431         (gst_base_transform_handle_buffer),
9432         (gst_base_transform_sink_activate_push),
9433         (gst_base_transform_src_activate_pull),
9434         (gst_base_transform_set_passthrough),
9435         (gst_base_transform_is_passthrough):
9436         Refcounting fixes.
9437
9438         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9439         Cleanups.
9440
9441         * gst/gstevent.c: (gst_event_finalize):
9442         Set SRC to NULL.
9443
9444         * gst/gstutils.c: (gst_element_unlink),
9445         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9446         (gst_pad_proxy_setcaps):
9447         * gst/gstutils.h:
9448         Add _get_parent_element() to get a pads parent as an element.
9449
9450 2005-07-18  Wim Taymans  <wim@fluendo.com>
9451
9452         * check/gst/gstbin.c: (GST_START_TEST):
9453         Remove bogus test.
9454
9455 2005-07-18  Wim Taymans  <wim@fluendo.com>
9456
9457         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9458         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9459         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9460         (gst_base_sink_event), (gst_base_sink_do_sync),
9461         (gst_base_sink_chain), (gst_base_sink_loop),
9462         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9463         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9464         Refcounting fixes.
9465         Fix logic for returning ASYNC when not prerolled.
9466
9467 2005-07-18  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9470         Fix nasty refcount bug.
9471
9472 2005-07-16 Philippe Khalaf <burger@speedy.org>
9473
9474         * gst/elements/gstfdsrc.c:
9475         * gst/elements/gstfdsrc.h:
9476         * gst/elements/gstelements.c:
9477         * gst/elements/Makefile.am:
9478         Ported fdsrc to 0.9.
9479
9480 2005-07-16  Wim Taymans  <wim@fluendo.com>
9481
9482         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9483         (gst_base_sink_do_sync):
9484         Fix compile error.
9485
9486 2005-07-16  Wim Taymans  <wim@fluendo.com>
9487
9488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9489         (gst_base_sink_event), (gst_base_sink_get_times),
9490         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9491         * gst/base/gstbasesink.h:
9492         Store and use discont values when syncing buffers as described
9493         in design docs.
9494         
9495         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9496         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9497         (gst_base_src_activate_push):
9498         Push discont event when starting.
9499
9500         * gst/elements/gstidentity.c: (gst_identity_transform):
9501         Small cleanups.
9502
9503         * gst/gstbin.c: (gst_bin_change_state):
9504         Small cleanups in base_time  distribution.
9505
9506         * gst/gstelement.c: (gst_element_set_base_time),
9507         (gst_element_get_base_time), (gst_element_change_state):
9508         * gst/gstelement.h:
9509         Added methods for the base_time of the element.
9510         Some MT fixes.
9511
9512         * gst/gstpipeline.c: (gst_pipeline_send_event),
9513         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9514         (gst_pipeline_get_last_stream_time):
9515         * gst/gstpipeline.h:
9516         MT fixes.
9517         Handle seeking as described in design doc, remove stream_time
9518         hack.
9519         Cleanups clock and stream_time selection code. Added accessors
9520         for the stream_time.
9521         
9522
9523 2005-07-16  Andy Wingo  <wingo@pobox.com>
9524
9525         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9526         (#305291).
9527
9528 2005-07-16  Wim Taymans  <wim@fluendo.com>
9529
9530         * check/gst/gstbin.c: (GST_START_TEST):
9531         Make elements silent as the deep_notify refs the
9532         parent, which might make the test fail.
9533
9534         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9535         Don't hold the lock for too long.
9536
9537 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9538
9539         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9540           Don't unref the caps we passed to gst_caps_make_writable() after
9541           passing them. gst_caps_make_writable() will do that for us.
9542
9543 2005-07-15  Andy Wingo  <wingo@pobox.com>
9544
9545         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9546         (#157311).
9547
9548         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9549         own marshalling function for the handoff signal. Properly type the
9550         buffer as a buffer. Fixes some warnings. Should do a more general
9551         solution.
9552         (gst_identity_class_init): Plug into the right marshaller.
9553
9554 2005-07-15  Wim Taymans  <wim@fluendo.com>
9555
9556         * docs/design/part-TODO.txt:
9557         * docs/design/part-clocks.txt:
9558         * docs/design/part-element-sink.txt:
9559         * docs/design/part-events.txt:
9560         * docs/design/part-gstpipeline.txt:
9561         Updated docs, mostly DISCONT related.
9562
9563 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * docs/pwg/building-pads.xml:
9566           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9567
9568 2005-07-15  Andy Wingo  <wingo@pobox.com>
9569
9570         * tools/gst-typefind.c: Update, add copyright block.
9571
9572         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9573         Normalize and truncate caps before fixation.
9574
9575         * gst/gstcaps.h:
9576         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9577         discards all but the first structure from its argument.
9578
9579 2005-07-15  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9582         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9583         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9584         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9585         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9586         (gst_base_transform_chain), (gst_base_transform_change_state),
9587         (gst_base_transform_set_passthrough),
9588         (gst_base_transform_is_passthrough):
9589         * gst/base/gstbasetransform.h:
9590         Make passthrough work using the bufferpools.
9591         Changed API a bit, subclasses have to write into a buffer
9592         provided by the base class.
9593         More debug info in nego functions.
9594         
9595         * gst/elements/gstidentity.c: (gst_identity_init),
9596         (gst_identity_transform):
9597         Port to new base class.
9598
9599 2005-07-15  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/gstmessage.c: (gst_message_new_state_changed):
9602         * tools/gst-launch.c: (event_loop), (main):
9603         Totally dump messages in -launch with the -m option.
9604         Fix message name for State messages,
9605
9606 2005-07-14  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9609         Post error messages on errors.
9610
9611 2005-07-14  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/gstcaps.c: (gst_caps_do_simplify):
9614         Remove debug info.
9615
9616         * gst/gsterror.h:
9617         Define error for stream stopped.
9618
9619         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9620         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9621         Do proper return values.
9622
9623         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9624         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9625         (gst_pad_get_range):
9626         Better return values.
9627
9628         * gst/gstpad.h:
9629         Reorganise return values, add macro to check for fatal errors.
9630
9631         * gst/gstqueue.c: (gst_queue_chain):
9632         Return proper GstFlowReturn values,
9633
9634 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9635
9636         * docs/gst/gstreamer-sections.txt:
9637         * docs/gst/gstreamer.types:
9638         * docs/gst/tmpl/gst.sgml:
9639         * docs/gst/tmpl/gstbasesink.sgml:
9640         * docs/gst/tmpl/gstbasesrc.sgml:
9641         * docs/gst/tmpl/gstbasetransform.sgml:
9642         * docs/gst/tmpl/gstbin.sgml:
9643         * docs/gst/tmpl/gstbuffer.sgml:
9644         * docs/gst/tmpl/gstcaps.sgml:
9645         * docs/gst/tmpl/gstclock.sgml:
9646         * docs/gst/tmpl/gstcompat.sgml:
9647         * docs/gst/tmpl/gstconfig.sgml:
9648         * docs/gst/tmpl/gstelement.sgml:
9649         * docs/gst/tmpl/gstelementdetails.sgml:
9650         * docs/gst/tmpl/gstelementfactory.sgml:
9651         * docs/gst/tmpl/gstenumtypes.sgml:
9652         * docs/gst/tmpl/gsterror.sgml:
9653         * docs/gst/tmpl/gstevent.sgml:
9654         * docs/gst/tmpl/gstfakesink.sgml:
9655         * docs/gst/tmpl/gstfakesrc.sgml:
9656         * docs/gst/tmpl/gstfilesink.sgml:
9657         * docs/gst/tmpl/gstfilesrc.sgml:
9658         * docs/gst/tmpl/gstfilter.sgml:
9659         * docs/gst/tmpl/gstformat.sgml:
9660         * docs/gst/tmpl/gstghostpad.sgml:
9661         * docs/gst/tmpl/gstimplementsinterface.sgml:
9662         * docs/gst/tmpl/gstindex.sgml:
9663         * docs/gst/tmpl/gstindexfactory.sgml:
9664         * docs/gst/tmpl/gstinfo.sgml:
9665         * docs/gst/tmpl/gstiterator.sgml:
9666         * docs/gst/tmpl/gstmacros.sgml:
9667         * docs/gst/tmpl/gstmemchunk.sgml:
9668         * docs/gst/tmpl/gstminiobject.sgml:
9669         * docs/gst/tmpl/gstobject.sgml:
9670         * docs/gst/tmpl/gstpad.sgml:
9671         * docs/gst/tmpl/gstpadtemplate.sgml:
9672         * docs/gst/tmpl/gstparse.sgml:
9673         * docs/gst/tmpl/gstpipeline.sgml:
9674         * docs/gst/tmpl/gstplugin.sgml:
9675         * docs/gst/tmpl/gstpluginfeature.sgml:
9676         * docs/gst/tmpl/gstquery.sgml:
9677         * docs/gst/tmpl/gstqueue.sgml:
9678         * docs/gst/tmpl/gstregistry.sgml:
9679         * docs/gst/tmpl/gstregistrypool.sgml:
9680         * docs/gst/tmpl/gstscheduler.sgml:
9681         * docs/gst/tmpl/gstschedulerfactory.sgml:
9682         * docs/gst/tmpl/gststructure.sgml:
9683         * docs/gst/tmpl/gstsystemclock.sgml:
9684         * docs/gst/tmpl/gsttaglist.sgml:
9685         * docs/gst/tmpl/gsttagsetter.sgml:
9686         * docs/gst/tmpl/gsttrace.sgml:
9687         * docs/gst/tmpl/gsttrashstack.sgml:
9688         * docs/gst/tmpl/gsttypefind.sgml:
9689         * docs/gst/tmpl/gsttypefindfactory.sgml:
9690         * docs/gst/tmpl/gsttypes.sgml:
9691         * docs/gst/tmpl/gsturihandler.sgml:
9692         * docs/gst/tmpl/gsturitype.sgml:
9693         * docs/gst/tmpl/gstutils.sgml:
9694         * docs/gst/tmpl/gstvalue.sgml:
9695         * docs/gst/tmpl/gstversion.sgml:
9696         * docs/gst/tmpl/gstxml.sgml:
9697         * docs/libs/tmpl/gstcontrol.sgml:
9698         * docs/libs/tmpl/gstdataprotocol.sgml:
9699         * docs/libs/tmpl/gstdparam.sgml:
9700         * docs/libs/tmpl/gstdplinint.sgml:
9701         * docs/libs/tmpl/gstdpman.sgml:
9702         * docs/libs/tmpl/gstdpsmooth.sgml:
9703         * docs/libs/tmpl/gstgetbits.sgml:
9704         * docs/libs/tmpl/gstunitconvert.sgml:
9705         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9706         (gst_push_src_base_init), (gst_push_src_class_init),
9707         (gst_push_src_init), (gst_push_src_create):
9708         * gst/base/gstpushsrc.h:
9709         * gst/elements/gstelements.c:
9710         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9711         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9712         (gst_fake_sink_init), (gst_fake_sink_set_property),
9713         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9714         (gst_fake_sink_event), (gst_fake_sink_preroll),
9715         (gst_fake_sink_render), (gst_fake_sink_change_state):
9716         * gst/elements/gstfakesink.h:
9717         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9718         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9719         (gst_fake_src_base_init), (gst_fake_src_class_init),
9720         (gst_fake_src_init), (gst_fake_src_event_handler),
9721         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9722         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9723         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9724         (gst_fake_src_create_buffer), (gst_fake_src_create),
9725         (gst_fake_src_start), (gst_fake_src_stop):
9726         * gst/elements/gstfakesrc.h:
9727         * gst/elements/gstfilesink.c: (_do_init),
9728         (gst_file_sink_base_init), (gst_file_sink_class_init),
9729         (gst_file_sink_init), (gst_file_sink_dispose),
9730         (gst_file_sink_set_location), (gst_file_sink_set_property),
9731         (gst_file_sink_get_property), (gst_file_sink_open_file),
9732         (gst_file_sink_close_file), (gst_file_sink_query),
9733         (gst_file_sink_event), (gst_file_sink_render),
9734         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9735         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9736         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9737         * gst/elements/gstfilesink.h:
9738         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9739         (gst_file_src_class_init), (gst_file_src_init),
9740         (gst_file_src_finalize), (gst_file_src_set_location),
9741         (gst_file_src_set_property), (gst_file_src_get_property),
9742         (gst_file_src_map_region), (gst_file_src_map_small_region),
9743         (gst_file_src_create_mmap), (gst_file_src_create_read),
9744         (gst_file_src_create), (gst_file_src_is_seekable),
9745         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9746         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9747         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9748         (gst_file_src_uri_handler_init):
9749         * gst/elements/gstfilesrc.h:
9750           more autistic cleanliness in functions/names/defines
9751
9752 2005-07-13  Andy Wingo  <wingo@pobox.com>
9753
9754         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9755         source couldn't negotiate.
9756
9757         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9758         connections again.
9759
9760         * gst/gstutils.h:
9761         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9762         function. I am channeling Hades. Put your boots on suckers!!!
9763
9764 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         * testsuite/caps/Makefile.am:
9767         * testsuite/caps/value_compare.c:
9768         * testsuite/caps/value_intersect.c:
9769         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9770           move two testsuite apps over to the check dir
9771
9772 2005-07-12  Wim Taymans  <wim@fluendo.com>
9773
9774         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9775         Added more debug info in the negotiate process.
9776
9777         * gst/gstmessage.h:
9778         Prepare for segment playback.
9779
9780         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9781         Better debugging.
9782
9783         * gst/gstutils.c:
9784         Some more docs.
9785
9786         * tools/gst-launch.c: (main):
9787         NULL pipeline on errors.
9788
9789 2005-07-12  Andy Wingo  <wingo@pobox.com>
9790
9791         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9792         not it comes from a malloc region. Make sure our copy gets freed.
9793
9794 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9795
9796         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9797         * check/gst/gstmessage.c: (GST_START_TEST):
9798         * check/gst/gststructure.c: (GST_START_TEST),
9799         (gst_structure_suite), (main):
9800           more testing
9801         * gst/gstelement.c: (gst_element_message_full):
9802           clean up GError and debug string now that they get copied
9803         * gst/gstmessage.c: (gst_message_new_error),
9804         (gst_message_new_warning), (gst_message_parse_error),
9805         (gst_message_parse_warning):
9806           use GST_TYPE_G_ERROR for structure_new, and take copies of
9807           arguments, so that we don't mess up refcounting
9808
9809 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * check/Makefile.am:
9812           add per-test valgrind targets
9813         * check/gst-libs/gdp.c: (GST_START_TEST),
9814         (gst_data_protocol_suite), (main):
9815           clean up
9816
9817 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * check/Makefile.am:
9820           instate more valgrindable tests
9821         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9822         (GST_START_TEST), (fakesrc_suite):
9823         * check/gst/gstpad.c: (GST_START_TEST):
9824         * check/gst/gststructure.c: (GST_START_TEST):
9825           fix test leaks
9826         * docs/gst/tmpl/gstminiobject.sgml:
9827         * gst/gstpad.c: (gst_pad_finalize):
9828           fix the static mutex leak
9829
9830 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9831
9832         * check/Makefile.am:
9833           add two more tests for valgrinding
9834         * check/gst/gstvalue.c: (GST_START_TEST):
9835           test refcount of deserialized buffer, found a leak
9836         * docs/gst/gstreamer-docs.sgml:
9837         * docs/gst/gstreamer-sections.txt:
9838         * docs/gst/gstreamer.types:
9839         * docs/gst/tmpl/gstminiobject.sgml:
9840           add miniobject to docs
9841         * gst/gstminiobject.c:
9842           add some docs
9843         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9844         (gst_string_unwrap):
9845           fix a hard-to-find invalid write for one of the tests
9846           fix a leak for deserialized buffers
9847
9848 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * docs/pwg/advanced-events.xml:
9851         * docs/pwg/advanced-request.xml:
9852         * docs/pwg/advanced-scheduling.xml:
9853         * docs/pwg/appendix-porting.xml:
9854         * docs/pwg/building-boiler.xml:
9855         * docs/pwg/intro-preface.xml:
9856         * docs/pwg/other-ntoone.xml:
9857           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9858           of example code and explanation for pad activation, loop() and
9859           getrange() functions and a bit more. Remove old comments pointing
9860           to loop-functions.
9861         * examples/pwg/Makefile.am:
9862           Add loop/getrange examples.
9863
9864 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9865
9866         * configure.ac:
9867           check for valgrind binary + some fixes
9868         * check/gst.supp:
9869           valgrind suppressions for the tests
9870         * check/Makefile.am:
9871           add a valgrind: target that valgrinds the unit tests
9872         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9873         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9874         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9875         * check/gst/gstghostpad.c:
9876           added some cleanup
9877         * check/gst/gstdata.c:
9878           removed
9879         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9880         (thread_unref), (gst_mini_object_suite), (main):
9881           added
9882         * gst/gst.c: (gst_deinit):
9883         * gst/gst.h:
9884           add a method to clean up.
9885         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9886         (gst_system_clock_obtain):
9887           allow for disposing the system clock.
9888         * tools/gst-launch.c: (main):
9889           deinit
9890
9891 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9892
9893         * docs/gst/tmpl/gstbasesrc.sgml:
9894         * docs/gst/tmpl/gstfakesrc.sgml:
9895         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9896         (gst_base_src_init), (gst_base_src_set_property),
9897         (gst_base_src_get_property), (gst_base_src_get_range),
9898         (gst_base_src_start):
9899         * gst/base/gstbasesrc.h:
9900           add num-buffers property
9901         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9902         (gst_fakesrc_init), (gst_fakesrc_set_property),
9903         (gst_fakesrc_get_property), (gst_fakesrc_create),
9904         (gst_fakesrc_start):
9905           remove num-buffers property
9906
9907 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9908
9909         * docs/gst/gstreamer-sections.txt:
9910         * docs/gst/tmpl/gstbasesink.sgml:
9911         * docs/gst/tmpl/gstbasesrc.sgml:
9912         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9913         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9914         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9915         (gst_base_sink_set_property), (gst_base_sink_get_property),
9916         (gst_base_sink_handle_object), (gst_base_sink_event),
9917         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9918         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9919         (gst_base_sink_loop), (gst_base_sink_deactivate),
9920         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9921         (gst_base_sink_change_state):
9922         * gst/base/gstbasesink.h:
9923         * gst/base/gstbasesrc.h:
9924         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9925         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9926         (gst_filesink_init):
9927           more macro splitting
9928
9929 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         * gst/gstelement.c: (gst_element_get_bus):
9932           add debug
9933         * tools/gst-launch.c: (check_intr), (event_loop):
9934           fix bus leaks
9935
9936 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9937
9938         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9939           fix a caps leak
9940
9941 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9944         (gst_base_src_finalize):
9945           add finalize method and clean up properly
9946         * gst/gstpipeline.c: (gst_pipeline_dispose):
9947           add debug
9948
9949 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9952         (gst_bin_suite):
9953           add more things to check
9954         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9955         * gst/gstelement.c:
9956           more debug
9957
9958 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9959
9960         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9961         (GST_START_TEST), (fakesrc_suite):
9962         * check/gst-libs/gdp.c: (GST_START_TEST):
9963         * check/gst/gst.c: (GST_START_TEST):
9964         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9965         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9966         * check/gst/gstbus.c: (GST_START_TEST):
9967         * check/gst/gstcaps.c: (GST_START_TEST):
9968         * check/gst/gstdata.c: (GST_START_TEST):
9969         * check/gst/gstelement.c: (GST_START_TEST):
9970         * check/gst/gstghostpad.c: (GST_START_TEST):
9971         * check/gst/gstiterator.c: (GST_START_TEST):
9972         * check/gst/gstmessage.c: (GST_START_TEST):
9973         * check/gst/gstobject.c: (GST_START_TEST):
9974         * check/gst/gstpad.c: (GST_START_TEST):
9975         * check/gst/gststructure.c: (GST_START_TEST):
9976         * check/gst/gstsystemclock.c: (GST_START_TEST),
9977         (gst_systemclock_suite):
9978         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9979         * check/gst/gstvalue.c: (GST_START_TEST):
9980         * check/pipelines/cleanup.c: (GST_START_TEST):
9981         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9982         * check/states/sinks.c: (GST_START_TEST):
9983         * check/gstcheck.c: (gst_check_init):
9984         * check/gstcheck.h:
9985           add debugging category
9986           use GST_START_TEST now, so we add a debug line
9987
9988 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9989
9990         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9991           add test for state change message on a bin
9992         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9993           add another test
9994         * gst/gstbin.c: (gst_bin_init):
9995         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9996         * gst/gstelement.c: (gst_element_post_message),
9997         (gst_element_set_state):
9998         * gst/gstelementfactory.c: (gst_element_factory_create):
9999         * gst/gstmessage.c: (gst_message_new):
10000         * gst/gstscheduler.c:
10001           various debugging additions and cleanups
10002
10003 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         * check/Makefile.am:
10006         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10007         (main):
10008           adding tests for elements
10009         * gst/gstelement.c: (gst_element_dispose):
10010
10011 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10012
10013         * gst/registries/gstlibxmlregistry.c: (load_feature):
10014           plug more leaks.  A simple gst_init() now is leakfree, yay.
10015
10016 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10019         (gst_xml_registry_load):
10020           plug another memleak
10021
10022 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10023
10024         * configure.ac:
10025           use GST_SET_ERROR_CFLAGS
10026         * docs/faq/cvs.xml:
10027           change to ERROR_CFLAGS
10028
10029 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * configure.ac:
10032           make GST_ERROR_CFLAGS overridable and re-enable Werror
10033         * docs/faq/cvs.xml:
10034           add a note about error CFLAGS
10035         * docs/gst/tmpl/gstfakesrc.sgml:
10036         * gst/elements/gstfakesrc.c:
10037           comment out some unused code
10038         * gst/gst.c: (split_and_iterate):
10039         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10040         (load_feature):
10041           plug some memleaks
10042
10043 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * common/Makefile.am:
10046         * common/gtk-doc.mak:
10047         * docs/gst/Makefile.am:
10048           factor out gtk-doc.mak
10049
10050 2005-07-07  Wim Taymans  <wim@fluendo.com>
10051
10052         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10053         (gst_thread_scheduler_dispose):
10054         Unlock the STREAM_LOCK completely.
10055
10056 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10057
10058         * check/Makefile.am:
10059         * check/elements/.cvsignore:
10060         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10061         (START_TEST), (fakesrc_suite), (main):
10062         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10063         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10064         (gst_fakesrc_create), (gst_fakesrc_start):
10065         * gst/elements/gstfakesrc.h:
10066           adding a first element test
10067
10068 2005-07-07  Andy Wingo  <wingo@pobox.com>
10069
10070         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10071         debug message.
10072
10073 2005-07-07  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstquery.c:
10076         * gst/gstquery.h:
10077         Remove old types
10078
10079 2005-07-07  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10082         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10083         Allow subclasses to implement their own negotiation.
10084
10085 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10086
10087         * docs/design/part-gstbin.txt:
10088         * docs/design/part-gstpipeline.txt:
10089           Update design notes to reflect the movement of
10090           responsibility for bus handling from GstPipeline to
10091           GstBin
10092
10093 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10094
10095         * configure.ac:
10096           Remove unnecessary queue2/3/4 examples.
10097
10098 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10099
10100         * examples/Makefile.am:
10101         * examples/helloworld/helloworld.c: (event_loop), (main):
10102         * examples/queue/queue.c: (event_loop), (main):
10103         * examples/queue2/queue2.c: (main):
10104           Update a couple of the examples to work again.
10105
10106         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10107         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10108          Spelling corrections and extra debug.
10109         
10110         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10111         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10112         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10113         * gst/gstbin.h:
10114         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10115         (gst_pipeline_change_state):
10116         * gst/gstpipeline.h:
10117           Move the bus handler for children to the GstBin, and create a
10118           separate bus for receiving messages from children to the one the
10119           bus sends 'upwards' on.
10120
10121 2005-07-06  Wim Taymans  <wim@fluendo.com>
10122
10123         * gst/base/README:
10124         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10125         (gst_base_sink_handle_object), (gst_base_sink_loop),
10126         (gst_base_sink_change_state):
10127         * gst/base/gstbasesink.h:
10128         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10129         (gst_base_src_init), (gst_base_src_setcaps),
10130         (gst_base_src_getcaps), (gst_base_src_loop),
10131         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10132         (gst_base_src_start), (gst_base_src_change_state):
10133         * gst/base/gstbasesrc.h:
10134         Make basesrc negotiate.
10135         Handle the case where preroll fails in basesink.
10136         Update README.
10137
10138 2005-07-06  Wim Taymans  <wim@fluendo.com>
10139
10140         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10141         Implement the fixate function.
10142         Clean up acceptcaps.
10143
10144 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10145
10146         * docs/pwg/building-filterfactory.xml:
10147         * docs/pwg/pwg.xml:
10148           Remove never-written filter-factory chapter; I'll add the various
10149           base classes to part 4 ("other element types") later on.
10150
10151 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10152
10153         * docs/pwg/advanced-negotiation.xml:
10154         * docs/pwg/building-boiler.xml:
10155         * docs/pwg/building-pads.xml:
10156         * docs/pwg/pwg.xml:
10157         * examples/pwg/Makefile.am:
10158           Add a chapter on caps negotiation, simplify the original code
10159           samples a bit w.r.t. caps negotiation, add link to the advanced
10160           section. Add a bunch of examples showing different use cases of
10161           different types of caps negotiation. Upstream renegotiation isn't
10162           fully documented yet since nobody knows how that works.
10163
10164 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * check/gst/gstpad.c:
10167         * check/gstcheck.c:
10168         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10169           if pad has no parent, return NULL as list of internal links
10170
10171 2005-07-05  Andy Wingo  <wingo@pobox.com>
10172
10173         * gst/elements/gstfilesrc.c:
10174         * gst/elements/gstfakesrc.c: 
10175         * gst/base/gstpushsrc.c:
10176         * gst/base/gstbasesrc.h: 
10177         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10178         
10179 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10180
10181         * Makefile.am:
10182           better report generation target (lcov needs a patch)
10183
10184 2005-07-05  Andy Wingo  <wingo@pobox.com>
10185
10186         * gst/elements, testsuite: Null if we got it...
10187
10188 2005-07-05  Wim Taymans  <wim@fluendo.com>
10189
10190         * configure.ac:
10191         * libs/gst/dataprotocol/Makefile.am:
10192         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10193         * libs/gst/dataprotocol/dataprotocol.h:
10194         * pkgconfig/Makefile.am:
10195         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10196         * pkgconfig/gstreamer-dataprotocol.pc.in:
10197         Ported dataprotol to 0.9. 
10198         Added pkgconfig files.
10199
10200 2005-07-05  Andy Wingo  <wingo@pobox.com>
10201
10202         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10203         Default to returning TRUE for the case when tranform_caps returns
10204         a fixed caps, like for identity or volume.
10205
10206         * check/gst/gstbus.c (pound_bus_with_messages): 
10207         * check/gst/gstmessage.c (START_TEST): 
10208         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10209         message API change.
10210
10211         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10212         logic weaks here: always run transform_caps, trying passthrough
10213         operation only if the original caps intersects with the transform.
10214
10215         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10216         source and sink caps.
10217
10218         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10219         Intersect the peer caps with the pad template before going into
10220         transform_caps.
10221         (gst_base_transform_transform_caps): More debugging.
10222
10223         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10224         src argument.
10225
10226 2005-07-04  Edward Hervey  <edward@fluendo.com>
10227
10228         * gst/gstutils.c:
10229         * gst/gstutils.h:
10230         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10231         in bindings.
10232
10233 2005-07-04  Andy Wingo  <wingo@pobox.com>
10234
10235         * check/gst/gstpad.c: Only set explicit caps on pads.
10236
10237 2005-07-01  Andy Wingo  <wingo@pobox.com>
10238
10239         * tests/network-clock.scm: Commentary update.
10240
10241         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10242         Didn't really make sense, not implementable with basetransform,
10243         etc.
10244         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10245         attempt at implementing the sync property, needs an unlock method.
10246
10247         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10248         New func, by default returns the same caps (the identity
10249         transformation).
10250         (gst_base_transform_getcaps): Uses transform_caps to return
10251         something sensible.
10252         (gst_base_transform_setcaps): Complicated logic to get caps on
10253         both pads, even if they are different, and to call set_caps once
10254         for every time both pads get their caps set.
10255         (gst_base_transform_handle_buffer): Give the ref to the transform
10256         function. Allows in-place modification of the buffer.
10257
10258         * gst/base/gstbasetransform.h (transform_caps): New class method.
10259         Given caps on one side, what can I do on the other.
10260         (set_caps): Take two caps, one for each side of the element.
10261
10262         * gst/gstpad.h:
10263         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10264         caps in place. This is safe because we can check the mutability of
10265         the caps, and a good idea because fixate functions are just called
10266         as a matter of last resort. (Not actually implemented.)
10267         (gst_pad_set_caps): If the caps we're setting is actually the same
10268         as the existing pad caps, just update the pointer without calling
10269         setcaps. Assert that caps is either NULL or fixed, as per the
10270         docs.
10271
10272         * gst/gstghostpad.c: Update for fixate changes.
10273
10274 2005-07-02  Andy Wingo  <wingo@pobox.com>
10275
10276         * gst/gstcaps.c:
10277         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10278         two refcounts makes it immutable, which is enough. Doc more.
10279
10280 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10281
10282         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10283           Put the mini_object into GValue as a mini_object,
10284           not a gpointer, since that's how we declared
10285           the signal.
10286
10287 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10288
10289         * examples/pwg/Makefile.am:
10290           Fix buildbot again.
10291
10292 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10293
10294         * docs/pwg/building-testapp.xml:
10295           Add extra check.
10296         * examples/pwg/Makefile.am:
10297           Fix buildbot.
10298
10299 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10300
10301         * configure.ac:
10302         * examples/Makefile.am:
10303         * examples/pwg/Makefile.am:
10304         * examples/pwg/extract.pl:
10305           Enable building the PWG examples.
10306         * docs/pwg/advanced-interfaces.xml:
10307           Add URI interface stub.
10308         * docs/pwg/advanced-types.xml:
10309         * docs/pwg/other-autoplugger.xml:
10310         * docs/pwg/appendix-porting.xml:
10311         * docs/pwg/pwg.xml:
10312           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10313         * docs/pwg/building-boiler.xml:
10314         * docs/pwg/building-chainfn.xml:
10315         * docs/pwg/building-pads.xml:
10316         * docs/pwg/building-props.xml:
10317         * docs/pwg/building-state.xml:
10318         * docs/pwg/building-testapp.xml:
10319           Update the building-*.xml parts for 0.9 changes. All examples
10320           code blocks compile in examples/pwg/*.
10321
10322 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10323
10324         * docs/manual/advanced-autoplugging.xml:
10325         * docs/manual/appendix-checklist.xml:
10326         * docs/manual/appendix-integration.xml:
10327         * docs/manual/highlevel-components.xml:
10328           Fix playbin/decodebin examples, update docs a bit, mention bus
10329           instead of signals in various places, mention kmplayer and
10330           kaffeine since they have a working GStreamer backend in the KDE
10331           section.
10332
10333 2005-06-30  Wim Taymans  <wim@fluendo.com>
10334
10335         * CHANGES-0.9:
10336         * docs/design/draft-ghostpads.txt:
10337         * docs/design/draft-push-pull.txt:
10338         * docs/design/draft-query.txt:
10339         * docs/design/part-TODO.txt:
10340         * docs/design/part-query.txt:
10341         Added CHANGES-0.9 doc, updated status of other docs.
10342         
10343         * gst/gstquery.h:
10344         Remove "hmm" macro
10345
10346 2005-06-30  Wim Taymans  <wim@fluendo.com>
10347
10348         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10349         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10350         (gst_base_sink_change_state):
10351         * gst/base/gstbasesink.h:
10352         Some tweaks, only EOS and a buffer complete a preroll.
10353
10354 2005-06-30  Andy Wingo  <wingo@pobox.com>
10355
10356         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10357         activate_push down to the internal pad as well.
10358
10359 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10360
10361         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10362
10363         * gst/gsttaginterface.c:
10364           Some documentation fixes (#307394 and #307397).
10365
10366 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10367
10368         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10369
10370         * gst/gstvalue.c: (gst_value_intersect_list):
10371           Fix memleak (#309125).
10372
10373 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10374
10375         * docs/manual/advanced-dataaccess.xml:
10376           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10377         * docs/manual/basics-pads.xml:
10378           Add reference for filtered caps to above chapter.
10379
10380 2005-06-30  Wim Taymans  <wim@fluendo.com>
10381
10382         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10383         (gst_bin_change_state):
10384         Probes are gone.
10385         Lame attempt at making the state change function a bit
10386         more readable.
10387
10388 2005-06-30  Wim Taymans  <wim@fluendo.com>
10389
10390         * docs/design/part-clocks.txt:
10391         * docs/design/part-element-sink.txt:
10392         * docs/design/part-events.txt:
10393         * docs/design/part-preroll.txt:
10394         * docs/design/part-states.txt:
10395         Some more tweeks and additions to the docs.
10396
10397 2005-06-30  Wim Taymans  <wim@fluendo.com>
10398
10399         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10400         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10401         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10402         (gst_pad_check_pull_range), (gst_pad_get_range),
10403         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10404         * gst/gstpad.h:
10405         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10406         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10407         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10408         (gst_pad_remove_buffer_probe):
10409         Removed atomic operations, use existing LOCK.
10410         Move exception handling out of main code path.
10411
10412 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10413
10414         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10415         (silly_return_true_function), (gst_pad_class_init),
10416         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10417         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10418         (gst_pad_send_event):
10419           Fix accumulator, add default value by using _emitv() instead
10420           of _emit() for signal emission.
10421
10422 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10423
10424         * docs/manual/advanced-dataaccess.xml:
10425         * examples/manual/Makefile.am:
10426           Add probe example.
10427         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10428           Make work (??).
10429
10430 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10431
10432         * gst/elements/gstfilesink.c: (gst_filesink_render):
10433           Simplify code so that we don't have to handle short
10434           writes and return GST_FLOW_ERROR if an error occured.
10435
10436 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10437
10438         * docs/gst/gstreamer-docs.sgml:
10439           Remove probes more.
10440
10441 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10442
10443         * docs/gst/gstreamer-sections.txt:
10444         * docs/gst/tmpl/gstpad.sgml:
10445         * docs/gst/tmpl/gstprobe.sgml:
10446         * gst/Makefile.am:
10447         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10448         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10449         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10450         (gst_pad_push_event), (gst_pad_send_event):
10451         * gst/gstpad.h:
10452         * gst/gstutils.c: (gst_pad_add_data_probe),
10453         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10454         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10455         (gst_pad_remove_buffer_probe):
10456         * gst/gstutils.h:
10457           Remove old probes, add new g-signal-based probes and some utility
10458           functions.
10459
10460 2005-06-29  Edward Hervey  <edward@fluendo.com>
10461
10462         * gst/gstelementfactory.c:
10463         * gst/gstutils.h:
10464         * gst/gstutils.c:
10465         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10466         the definition to the header file.
10467
10468 2005-06-29  Andy Wingo  <wingo@pobox.com>
10469
10470         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10471         plugins from the source directory.
10472
10473 2005-06-29  Wim Taymans  <wim@fluendo.com>
10474
10475         * docs/gst/tmpl/gstbuffer.sgml:
10476         * docs/gst/tmpl/gstclock.sgml:
10477         Some fixings for blantently wrong text.
10478
10479 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10480
10481         * check/Makefile.am:
10482         * gst/gst.c: (add_path_func), (init_pre):
10483         * gst/gstregistry.c: (gst_registry_add_path):
10484           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10485           only scan the GST_PLUGIN_PATH locations, and not add
10486           system locations
10487
10488 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * docs/gst/gstreamer-sections.txt:
10491         * docs/gst/tmpl/gstbasesrc.sgml:
10492         * gst/gstelement.c:
10493         * gst/gstelement.h:
10494         * gst/gstevent.c:
10495         * gst/gstutils.c:
10496           doc fixes
10497
10498 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10499
10500         * docs/manual/advanced-autoplugging.xml:
10501           Fix autoplugging example.
10502
10503 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/manual/advanced-autoplugging.xml:
10506         * docs/manual/mime-world.fig:
10507           Try to get autoplugging working, fix type detection. Fix text
10508           in hello-world image.
10509
10510 2005-06-29  Wim Taymans  <wim@fluendo.com>
10511
10512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10513         (gst_base_sink_change_state):
10514         Small debug line.
10515
10516         * gst/gstclock.h:
10517         map SIGNAL and BROADCAST to the right function.
10518
10519         * gst/gstobject.h:
10520         Remove redundant braces.
10521
10522         * gst/gstpad.c: (gst_pad_set_caps):
10523         Don't call setcaps function when reseting caps to NULL.
10524
10525         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10526         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10527         (gst_system_clock_id_unschedule):
10528         Use BROADCAST as this is what we do.
10529
10530 2005-06-29  Wim Taymans  <wim@fluendo.com>
10531
10532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10533         We are actually prerolling before commiting the state
10534         change. 
10535
10536 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10537
10538         * docs/manual/advanced-clocks.xml:
10539         * docs/manual/advanced-interfaces.xml:
10540         * docs/manual/advanced-metadata.xml:
10541         * docs/manual/advanced-position.xml:
10542         * docs/manual/advanced-schedulers.xml:
10543         * docs/manual/advanced-threads.xml:
10544         * docs/manual/appendix-porting.xml:
10545         * docs/manual/basics-bins.xml:
10546         * docs/manual/basics-bus.xml:
10547         * docs/manual/basics-elements.xml:
10548         * docs/manual/basics-helloworld.xml:
10549         * docs/manual/basics-pads.xml:
10550         * docs/manual/highlevel-components.xml:
10551         * docs/manual/manual.xml:
10552         * docs/manual/thread.fig:
10553           Update (until threads/scheduling) Application Development Manual;
10554           remove GstThread, add GstBus, add simple porting checklist, add
10555           documentation for tag writing, clocks, make all examples until this
10556           part compile and run.
10557         * examples/manual/Makefile.am:
10558           Update from changes to Application Development Manual; add bus
10559           example, remove thread example.
10560
10561 2005-06-28  Wim Taymans  <wim@fluendo.com>
10562
10563         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10564         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10565         (gst_bus_source_dispatch):
10566         Add debugging messages.
10567         Make internal methods static.
10568         Handle the case where the bus is flushed in the handler.
10569         
10570         * gst/gstelement.c: (gst_element_get_bus):
10571         Fix refcount in _get_bus();
10572
10573         * gst/gstpipeline.c: (gst_pipeline_change_state),
10574         (gst_pipeline_get_clock_func):
10575         Clock refcounting fixes.
10576         Handle the case where preroll timed out more gracefully.
10577         
10578         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10579         Clean up the internal thread in dispose. This is needed
10580         for subclasses that actually get disposed.
10581         
10582         * gst/schedulers/threadscheduler.c:
10583         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10584         (gst_thread_scheduler_dispose):
10585         Free thread pool in dispose.
10586
10587 2005-06-28  Andy Wingo  <wingo@pobox.com>
10588
10589         * tests/network-clock-utils.scm (debug, print-event): New utils.
10590
10591         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10592         (*packet-loss*): Unified loss probability.
10593         (network-time): Report out-of-band events.
10594
10595         * tests/plot-data: Add support for out-of-band events. Hack it
10596         into this script instead of passing it down the pipe; should fix
10597         this later.
10598
10599 2005-06-28  Wim Taymans  <wim@fluendo.com>
10600
10601         * docs/gst/gstreamer.types:
10602         * docs/gst/tmpl/gstbasesrc.sgml:
10603         * docs/gst/tmpl/gstpad.sgml:
10604         Docs fixes.
10605
10606 2005-06-28  Wim Taymans  <wim@fluendo.com>
10607
10608         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10609         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10610         (gst_proxy_pad_do_fixatecaps):
10611         Correctly proxy the check_pull_range function.
10612
10613 2005-06-28  Andy Wingo  <wingo@pobox.com>
10614
10615         * tests/network-clock.scm: Removed need for slib.
10616         
10617 2005-06-28  Wim Taymans  <wim@fluendo.com>
10618
10619         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10620         (gst_basesink_preroll_queue_flush):
10621         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10622         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10623         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10624         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10625         (gst_proxy_pad_set_property):
10626         * gst/gstpad.c:
10627         * gst/gstpad.h:
10628         * gst/gstqueue.c: (gst_queue_init):
10629         The deprecated pad loop function is removed now.
10630
10631 2005-06-28  Andy Wingo  <wingo@pobox.com>
10632
10633         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10634         New parameters, simulate network packet loss.
10635
10636         * tests/network-clock-utils.scm: Initialize the RNG.
10637
10638 2005-06-28  Wim Taymans  <wim@fluendo.com>
10639
10640         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10641         (gst_basesink_event), (gst_basesink_deactivate):
10642         Flushing the preroll queue always needs to unlock the waiters.
10643
10644 2005-06-28  Edward Hervey  <edward@fluendo.com>
10645
10646         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10647         Wheen a seek was successful on a pipeline, set the stream_time to the
10648         seek offset in order to have a synchronized stream_time.
10649
10650 2005-06-28  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10653         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10654         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10655         (gst_proxy_pad_do_fixatecaps):
10656         Call wrapper function instead of just calling the function
10657         pointers. This takes care of any locking and whatmore.
10658
10659 2005-06-28  Wim Taymans  <wim@fluendo.com>
10660
10661         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10662         (gst_pad_pull_range):
10663         * gst/gstpad.h:
10664         CONNECTED -> LINKED.
10665
10666 2005-06-28  Andy Wingo  <wingo@pobox.com>
10667
10668         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10669         source-munging commit!!!
10670
10671         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10672         (gst_object_sink): Take gpointer arguments, not GstObject --
10673         avoids casts. Like GLib.
10674
10675         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10676         activate.
10677
10678 2005-06-27  Andy Wingo  <wingo@pobox.com>
10679
10680         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10681         remaining buffer.
10682
10683         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10684         returns a sorted copy of the trace list.
10685         (gst_alloc_trace_print_live): New API, only prints traces with
10686         live objects. Sort the list.
10687         (gst_alloc_trace_print_all): Sort the list.
10688         (gst_alloc_trace_print): Align columns.
10689
10690         * gst/elements/gstttypefindelement.c:
10691         * gst/elements/gsttee.c:
10692         * gst/base/gstbasesrc.c:
10693         * gst/base/gstbasesink.c:
10694         * gst/base/gstbasetransform.c:
10695         * gst/gstqueue.c: Adapt for pad activation changes.
10696
10697         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10698         sched.
10699         (gst_pipeline_dispose): Drop ref on sched.
10700
10701         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10702         (gst_pad_activate_default): Push mode by default.
10703         (pre_activate_switch, post_activate_switch): New stubs, things to
10704         do before and after switching activation modes on pads.
10705         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10706         the pad's activate function to choose which mode to activate.
10707         Shortcut on deactivation and call the right function directly.
10708         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10709         mode.
10710         (gst_pad_activate_push): New API, same for push mode.
10711         (gst_pad_set_activate_function) 
10712         (gst_pad_set_activatepull_function) 
10713         (gst_pad_set_activatepush_function): Setters for new API.
10714
10715         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10716         Trace all miniobjects.
10717         (gst_mini_object_make_writable): Unref the arg if we copy, like
10718         gst_caps_make_writable.
10719
10720         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10721
10722         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10723         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10724         Adapt for new pad API.
10725
10726         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10727
10728         * gst/gstelement.h:
10729         * gst/gstelement.c (gst_element_iterate_src_pads) 
10730         (gst_element_iterate_sink_pads): New API functions.
10731         
10732         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10733         should fold into gstiterator.c in some form.
10734         (gst_element_pads_activate): Simplified via use of fold and
10735         delegation of decisions to gstpad->activate.
10736
10737         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10738         help in debugging.
10739
10740         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10741         class once in init, like gstmessage. Didn't run into this issue
10742         but it seems correct. Don't initialize a trace, gstminiobject does
10743         that.
10744
10745         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10746         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10747         to the bus.
10748         (assert_live_count): New util function, uses alloc traces to check
10749         cleanup.
10750
10751         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10752         To be modified when unlink drops the internal pad.
10753
10754 2005-06-27  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10757         (gst_bin_change_state):
10758         Cleanup the get_state() function a little, make sure it
10759         iterates the same set of elements.
10760         Added stub iterate_state_order().
10761
10762 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10763
10764         * docs/gst/gstreamer-docs.sgml:
10765         * docs/gst/gstreamer-sections.txt:
10766         * docs/gst/gstreamer.types:
10767         * docs/gst/tmpl/gstbasesink.sgml:
10768         * docs/gst/tmpl/gstbasesrc.sgml:
10769         * docs/gst/tmpl/gstbasetransform.sgml:
10770         * docs/gst/tmpl/gstelement.sgml:
10771         * docs/gst/tmpl/gstiterator.sgml:
10772         * gst/base/gstbasesrc.c:
10773         * gst/base/gstbasesrc.h:
10774         * gst/base/gstbasetransform.h:
10775         * gst/gstelement.c:
10776         * gst/gstiterator.h:
10777           adding basetransform and iterator docs
10778
10779 2005-06-27  Andy Wingo  <wingo@pobox.com>
10780
10781         * docs/design/part-activation.txt: Notes on how activation should
10782         work -- not quite implemented yet.
10783
10784 2005-06-25  Wim Taymans  <wim@fluendo.com>
10785
10786         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10787         At least get the chain function correct, needs more
10788         fixing.
10789
10790 2005-06-25  Wim Taymans  <wim@fluendo.com>
10791
10792         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10793         (gst_basesink_handle_object), (gst_basesink_event),
10794         (gst_basesink_do_sync), (gst_basesink_handle_event),
10795         (gst_basesink_change_state):
10796         * gst/gsttask.h:
10797         Right, two problems here: ghostpads don't take locks and
10798         glib _rec_mutex_lock_full() with depth==0 still locks.
10799         Catch illegal locking and g_warn them.
10800
10801 2005-06-25  Wim Taymans  <wim@fluendo.com>
10802
10803         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10804         Have to check for completion now...
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/gstpad.h:
10813         Unlock STREAM_LOCK whatever the recursion was.
10814
10815 2005-06-25  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10818         (gst_basesink_preroll_queue_empty),
10819         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10820         (gst_basesink_event), (gst_basesink_do_sync),
10821         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10822         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10823         (gst_basesink_change_state):
10824         Reworked the base sink, handle event and buffer serialisation
10825         correctly and removed possible deadlock.
10826         Handle EOS correctly.
10827
10828 2005-06-25  Wim Taymans  <wim@fluendo.com>
10829
10830         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10831         (gst_pipeline_change_state):
10832         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10833         Allow elements to post EOS in the state change function.
10834         Fix up -launch, make it exit the poll loop when the
10835         pipeline actually changed state.
10836         Fix up warning parsing in -launch.
10837
10838 2005-06-25  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10841         (gst_tee_sink_activate):
10842         Core takes STREAM_LOCK for us now.
10843
10844 2005-06-25  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/gstelement.c: (gst_element_get_state_func),
10847         (gst_element_set_state):
10848         * gst/gstelement.h:
10849         * gst/gstmessage.c: (gst_message_parse_error),
10850         (gst_message_parse_warning):
10851         Keep track of current target state while performing a state
10852         change so that subclasses can do something interesting.
10853         Fix parsing of warning/error messages when GError is NULL.
10854
10855 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10856
10857         * docs/gst/Makefile.am:
10858         * docs/gst/gstreamer-docs.sgml:
10859         * docs/gst/gstreamer-sections.txt:
10860         * docs/gst/gstreamer.types:
10861         * docs/gst/tmpl/gstbasesink.sgml:
10862         * docs/gst/tmpl/gstbasesrc.sgml:
10863         * docs/gst/tmpl/gstbin.sgml:
10864         * docs/gst/tmpl/gstcompat.sgml:
10865         * docs/gst/tmpl/gstfakesink.sgml:
10866         * docs/gst/tmpl/gstfakesrc.sgml:
10867         * docs/gst/tmpl/gstfilesink.sgml:
10868         * docs/gst/tmpl/gstfilesrc.sgml:
10869         * docs/gst/tmpl/gstindex.sgml:
10870         * docs/manual/appendix-quotes.xml:
10871         * gst/base/gstbasesrc.h:
10872         * gst/elements/gstfakesrc.h:
10873         * gst/gstmessage.h:
10874           start pulling in base classes and elements in our docs
10875
10876 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10877
10878         * docs/gst/Makefile.am:
10879         * docs/libs/Makefile.am:
10880           fixed make distcheck with gtk-doc 1.3
10881
10882 2005-06-23  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/gstelement.c: (gst_element_get_state_func),
10885         (gst_element_set_state), (gst_element_change_state):
10886         When the state did not change, also report NO_PREROLL
10887         when it matters.
10888
10889 2005-06-23  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/gstpad.c: (gst_pad_event_default):
10892         * gst/gstqueue.c: (gst_queue_loop):
10893         No unsafe task pausing please.
10894
10895 2005-06-23  Wim Taymans  <wim@fluendo.com>
10896
10897         * gst/schedulers/threadscheduler.c:
10898         (gst_thread_scheduler_task_start),
10899         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10900         Ref the task before pushing it on the threadpool. This
10901         makes sure that we have a ref when the threadfunction is
10902         actually called.
10903
10904 2005-06-23  Andy Wingo  <wingo@pobox.com>
10905
10906         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10907         offset is greater than the file's size.
10908
10909         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10910         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10911         * gst/gstobject.c (gst_object_class_init): Make the class lock
10912         recursive. Wim won't let me drop deep_notify. Decodebin works
10913         again, whoopdy doo.
10914
10915         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10916         internal pad, and hacks accordingly. Doesn't do it on the target
10917         pad because we change its caps. Probably catches all cases of
10918         interest tho.
10919         (gst_ghost_pad_set_property): Connect to notify::caps as
10920         appropritate.
10921
10922         * tests/network-clock.scm (plot-simulation): Pipe data to the
10923         elite python skript.
10924
10925         * tests/network-clock-utils.scm (define-parameter): New macro,
10926         defines a parameter that can be set via the command line.
10927         (set-parameter!, parse-parameter-arguments): Command line args
10928         parser.
10929
10930         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10931         stdin.
10932
10933 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10934
10935         * gst/elements/gsttypefindelement.c:
10936         (gst_type_find_element_handle_event):
10937           Don't restart typefinding on a discont.
10938         * gst/gstelement.c: (gst_element_set_state):
10939           Debug spelling fix.
10940         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10941           Allow changing mode of an active pad.
10942           Debug output fixes.
10943         * gst/registries/gstlibxmlregistry.c: (load_feature):
10944           Don't cast a static pad template to a normal pad template.
10945
10946 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10949         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10950           remove gst_strtoll completely, since it didn't actually do
10951           anything more than what g_ascii_strtoull already does.
10952           check for range errors when deserializing
10953           do a cast for the unsigned cases; but further fixing needs
10954           a decision on what the interpretation of "(int)" and
10955           deserialization should be for values that fall outside the
10956           type's boundaries (ie, refuse, or interpret as casting)
10957
10958 2005-06-23  Wim Taymans  <wim@fluendo.com>
10959
10960         * check/Makefile.am:
10961         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10962         * docs/design/part-live-source.txt:
10963         * docs/design/part-states.txt:
10964         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10965         (gst_basesrc_set_live), (gst_basesrc_is_live),
10966         (gst_basesrc_get_range), (gst_basesrc_activate),
10967         (gst_basesrc_change_state):
10968         * gst/base/gstbasesrc.h:
10969         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10970         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10971         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10972         * gst/gstelement.c: (gst_element_get_state_func),
10973         (gst_element_set_state):
10974         * gst/gstelement.h:
10975         * gst/gsttypes.h:
10976         * tools/gst-launch.c: (event_loop), (main):
10977         Added support for live sources and other elements that
10978         cannot do preroll.
10979         Updated design docs, added live-source design doc.
10980         Implemented live source functionality in basesrc
10981         Fix error condition in _bin_get_state()
10982         Implement live source handling in -launch.
10983         Added check for live sources.
10984         Fixed case in GstBin where elements were changed state
10985         multiple times.
10986
10987
10988 2005-06-23  Andy Wingo  <wingo@pobox.com>
10989
10990         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10991         borken refcounting.
10992
10993         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10994         gst_caps_replace takes care of this for us.
10995
10996         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10997         gst_pad_set_caps on the target, not just its setcaps() function.
10998
10999         * tests/network-clock.scm: 
11000         * tests/network-clock-utils.scm: A network clock simulator.
11001         Something of an algorithmic testbed before doing something in C.
11002
11003 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11004
11005         * check/Makefile.am:
11006         * check/gst/capslist.h:
11007           copy over from 0.8, and add two with bitmasks specified with
11008           (int) 0xFF...
11009         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11010           add test to parse everything from capslist.h
11011         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11012         (main):
11013           add test for structure deserialization
11014         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11015           add tests for deserialization of strings to int types
11016         * gst/gststructure.c: (gst_structure_nth_field_name):
11017         * gst/gststructure.h:
11018           add a way to get the name of a field referenced by index
11019         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11020           instead of checking if the resulting long long lies between
11021           min and max, we check if the long long would fit into
11022           a number of bytes for the final type.
11023           This fixes cases where a string represents 2^32 - 1, which
11024           when cast to int would be the (valid) -1, but is bigger than
11025           G_MAXINT
11026
11027 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * gst/parse/grammar.y:
11030           add a log line for type deserialization
11031
11032 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11033
11034         * check/gst/gstvalue.c: (START_TEST):
11035         * gst/gstvalue.c: (gst_value_deserialize):
11036           return long long, not int, so gint64 deserialization actually
11037           works.  Is there any flag that makes the compiler check this ?
11038           Fixes #308559
11039
11040 2005-06-22  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/gstbuffer.h:
11043         Added convenience macros for setting buffers in GValue.
11044
11045 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11046
11047         * check/gst/.cvsignore:
11048         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11049           add a test deserializing int64, and comment part out because
11050           it fails, yay !
11051
11052 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * check/Makefile.am:
11055         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11056         * testsuite/Makefile.am:
11057         * testsuite/caps/Makefile.am:
11058         * testsuite/caps/value_serialize.c:
11059         * testsuite/test_gst_init.c:
11060           move a value_serialize test over
11061
11062 2005-06-20  Wim Taymans  <wim@fluendo.com>
11063
11064         * gst/gstpad.c:
11065         Small doc updates.
11066         
11067         * gst/gstvalue.c: (gst_value_compare_buffer),
11068         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11069         (gst_value_compare_flags), (gst_value_serialize_flags),
11070         (gst_value_deserialize_flags), (_gst_value_initialize):
11071         Fix serialisation of buffers, they are not boxed types anymore
11072
11073 2005-06-20  Wim Taymans  <wim@fluendo.com>
11074
11075         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11076         Testcase to show error in buffer-on-caps serialisation.
11077
11078 2005-06-20  Andy Wingo  <wingo@pobox.com>
11079
11080         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11081         will be adding to later.
11082
11083         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11084         if its socks fill with rocks.
11085         (gst_system_clock_obtain): Set the name on object construction.
11086         Avoid double-checked locking.
11087
11088 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11089
11090         * gst/gsturi.c: (gst_element_make_from_uri):
11091           Fix potential endless loop.
11092
11093 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11094
11095         * check/Makefile.am:
11096           add gsttag
11097         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11098         (main):
11099           move over from testsuite dir and clean up
11100         * configure.ac:
11101         * gst/gsttag.c:
11102         * testsuite/Makefile.am:
11103         * testsuite/tags/.cvsignore:
11104         * testsuite/tags/Makefile.am:
11105         * testsuite/tags/merge.c:
11106           remove testsuite/tags
11107
11108 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11109
11110         * docs/gst/gstreamer-sections.txt:
11111         * docs/gst/tmpl/gstenumtypes.sgml:
11112         * win32/gstenumtypes.c:
11113           clean up documentation build a little
11114
11115 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11116
11117         * check/gstcheck.h:
11118           add macros for checking refcounts on objects and caps
11119         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11120           add some more unit tests
11121         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11122         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11123           fix leaked refcounts (I hope :)) so unittest works
11124         * gst/gstpad.h:
11125           whitespace removal
11126
11127 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11128
11129         * configure.ac: back to HEAD
11130
11131 === release 0.9.1 ===
11132
11133 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * NEWS:
11136         * RELEASE:
11137           updated
11138
11139 2005-06-17  Andy Wingo  <wingo@pobox.com>
11140
11141         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11142         assert; it's always possible that the pad gets deactivated in
11143         between the checks in gstpad.c and the implementation. Rely on
11144         finish_preroll() to return a FLUSHING or similar instead of on the
11145         assert.
11146         
11147         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11148         clock and post an EOS message if we come out of finish_preroll in
11149         the playing state.
11150
11151 2005-06-16  David Schleef  <ds@schleef.org>
11152
11153         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11154         (gst_capsfilter_set_property): Allow NULL as possible value
11155         for filter_caps property, indicating GST_CAPS_ANY.
11156
11157 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11160           fix debug output
11161         * gst/schedulers/Makefile.am:
11162           use libgst prefix
11163         * gstreamer.spec.in:
11164           fix spec for it
11165
11166 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11167
11168         * gstreamer.spec.in:
11169           clean up
11170
11171 2005-06-08  Andy Wingo  <wingo@pobox.com>
11172
11173         * gst/gstutils.c: RPAD fixes all around.
11174         (gst_element_link_pads): Refcounting fixes.
11175
11176         * tools/gst-inspect.c:
11177         * tools/gst-xmlinspect.c:
11178         * parse/grammar.y:
11179         * gst/base/gsttypefindhelper.c:
11180         * gst/base/gstbasesink.c:
11181         * gst/gstqueue.c: RPAD fixes.
11182
11183         * gst/gstghostpad.h:
11184         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11185         pads. The tricky thing is they provide both source and sink
11186         interfaces, since they proxy the internal pad for the external
11187         pad, and vice versa. Implement with lower-level ProxyPad objects,
11188         with the interior proxy pad as a child of the exterior ghost pad.
11189         Should write a doc on this.
11190         
11191         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11192         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11193         gst_object API.
11194         
11195         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11196         pads are real pads. No ghost pads in this file. Not documenting
11197         the myriad s/RPAD/PAD/ and REALIZE fixes.
11198         (gst_pad_class_init): Add properties for "direction" and
11199         "template". Both are construct-only, so they can't change during
11200         the life of the pad. Fixes properly deriving from GstPad.
11201         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11202         derived objects, just set properties when creating the objects via
11203         g_object_new.
11204         (gst_pad_get_parent): Implement as a function, return NULL if the
11205         parent is not an element.
11206         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11207         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11208         
11209         * gst/gstobject.c (gst_object_class_init): Make name a construct
11210         property. Don't set it in the object init.
11211
11212         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11213         with UNKNOWN direction.
11214         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11215         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11216         (gst_element_remove_pad): Remove ghost-pad special cases.
11217         (gst_element_pads_activate): Remove rpad cruft.
11218
11219         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11220         catch the pad's-parent-not-an-element case.
11221
11222         * gst/gst.h: Include gstghostpad.h.
11223
11224         * gst/gst.c (init_post): No more real, ghost pads.
11225
11226         * gst/Makefile.am: Add gstghostpad.[ch].
11227
11228         * check/Makefile.am:
11229         * check/gst/gstbin.c:
11230         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11231         into a bin creates ghost pads, and that the refcounts are right.
11232         Partly moved from gstbin.c.
11233
11234 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * check/gst-libs/.cvsignore:
11237         * check/gst/.cvsignore:
11238         * check/pipelines/.cvsignore:
11239           ignore more
11240         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11241         (START_TEST), (cleanup_suite), (main):
11242           add some tests related to cleanup after running pipelines
11243
11244 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11245
11246         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11247           add a testsuite for GstBuffer
11248
11249 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * gst/gstminiobject.h:
11252           add defines for accessing the refcount
11253
11254 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11255
11256         * Makefile.am: added support for html unit test coverage reports
11257
11258 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11259
11260         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11261           Free existing caps if the capsfilter changes. Add a FIXME about
11262           setting those caps on the pads.
11263
11264         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11265           Before adding a ghost pad to a parent bin, check that there isn't
11266           already one for the element on the bin. Prevents infinite recursion
11267           when using decodebin in parse pipelines. Andy says he'll rewrite the
11268           way this works anyway, so ignore the hack.
11269
11270 2005-06-02  Andy Wingo  <wingo@pobox.com>
11271
11272         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11273         file size, pass it on to the type find helper.
11274
11275         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11276         segment_start and segment_end properly according to the seek
11277         method. Segment_end is still a bit flaky because offset can be
11278         negative for CUR and END cases, but it takes -1 as an "unset"
11279         value.
11280
11281 2005-06-02  Wim Taymans  <wim@fluendo.com>
11282
11283         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11284         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11285         (gst_basesink_activate):
11286         * gst/base/gstbasesink.h:
11287         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11288         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11289         (gst_pad_query), (gst_pad_start_task):
11290         * gst/gstpad.h:
11291         * gst/gstqueue.c: (gst_queue_bufferalloc),
11292         (gst_queue_handle_sink_event), (gst_queue_chain):
11293         Bufferalloc: return GstFlowReturn to more accuratly report
11294         why allocation failed.
11295
11296 2005-06-02  Wim Taymans  <wim@fluendo.com>
11297
11298         * gst/gstpipeline.c: (gst_pipeline_send_event):
11299         Take snapshot of state without blocking.
11300
11301 2005-06-02  Wim Taymans  <wim@fluendo.com>
11302
11303         * docs/design/part-TODO.txt:
11304         * docs/design/part-caps.txt:
11305         * docs/design/part-clocks.txt:
11306         * docs/design/part-negotiation.txt:
11307         * docs/design/part-preroll.txt:
11308         Small doc updates 
11309
11310 2005-05-30  Wim Taymans  <wim@fluendo.com>
11311
11312         * gst/elements/gstidentity.c: (gst_identity_event),
11313         (gst_identity_transform), (gst_identity_get_property):
11314         Protect last_message property as it is accessed from
11315         multiple threads.
11316
11317 2005-05-30  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstelement.c: (gst_element_init),
11320         (gst_element_pads_activate), (gst_element_change_state):
11321         Slicker pad activation code.
11322
11323 2005-05-30  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/Makefile.am:
11326         * gst/gstelement.h:
11327         * gst/gstelementfactory.h:
11328         * gst/gsttypes.h:
11329         Move elementfactory methods to separate .h file.
11330
11331 2005-05-30  Wim Taymans  <wim@fluendo.com>
11332
11333         * docs/design/part-overview.txt:
11334         * gst/gstsystemclock.h:
11335         Small typo fixes, doc updates.
11336
11337 2005-05-30  Wim Taymans  <wim@fluendo.com>
11338
11339         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11340         (init_popt_callback):
11341         Remove cpu-opt flag.
11342
11343 2005-05-30  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11346         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11347         * gst/gstbuffer.h:
11348         Avoid typechecking in places where not needed.
11349         Added accessor for malloc_data.
11350
11351 2005-05-30  Wim Taymans  <wim@fluendo.com>
11352
11353         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11354         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11355         (gst_pad_configure_sink), (gst_pad_configure_src),
11356         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11357         (gst_pad_start_task):
11358         Propagate errors from _set_caps() in configure_src/sink
11359         functions instead of returning TRUE.
11360         FLUSH events can travel up and downstream
11361
11362
11363 2005-05-30  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11366         (gst_basesink_activate):
11367         Handle EOS in preroll.
11368
11369 2005-05-30  Wim Taymans  <wim@fluendo.com>
11370
11371         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11372         (gst_queue_loop), (gst_queue_handle_src_event):
11373         Remove old pieces of code
11374         Flushing the queue in an upstream event is a very bad idea.
11375
11376 2005-05-26  Andy Wingo  <wingo@pobox.com>
11377
11378         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11379         gst_value_set_mini_object so as to add a ref on the object (which
11380         will be removed when the value is unset).
11381
11382         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11383         arg type in ::handoff.
11384
11385         * gst/gstelement.c (gst_element_change_state): Also deactivate
11386         pads in READY->NULL, just in case the element didn't make it to
11387         PAUSED. Wingo tested, Wim approved.
11388
11389 2005-05-26  Wim Taymans  <wim@fluendo.com>
11390
11391         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11392         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11393         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11394         A flushing pad cannot be used to alloc_buffer from.
11395
11396 2005-05-26  Wim Taymans  <wim@fluendo.com>
11397
11398         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11399         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11400         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11401         (gst_bus_create_watch), (gst_bus_add_watch_full):
11402         * gst/gstbus.h:
11403         Implement a real GSource and use g_main_context_wakeup() to
11404         signal new messages instead of the socketpair.
11405
11406 2005-05-25  Wim Taymans  <wim@fluendo.com>
11407
11408         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11409         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11411         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11412         (gst_pad_send_event), (gst_pad_start_task):
11413         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11414         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11415         (gst_queue_sink_activate), (gst_queue_src_activate),
11416         (gst_queue_change_state):
11417         * gst/gstqueue.h:
11418         Fix state changes for non sinks. We now change sinks, then elements
11419         with unconnected srcpads, then the rest.
11420         More efficient queue unlocking in flush and state changes.
11421         Set the pad activate mode even if it does not have an activate
11422         function.
11423
11424 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11425
11426         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11427           Don't go in pull mode for non-seekable sources.
11428         * gst/elements/gsttypefindelement.h:
11429         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11430         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11431         (free_entry), (stop_typefinding),
11432         (gst_type_find_element_handle_event), (find_peek),
11433         (gst_type_find_element_chain), (do_pull_typefind),
11434         (gst_type_find_element_change_state):
11435           Allow typefinding (w/o seeking) in push-mode, simplified version
11436           of what was in 0.8.
11437         * gst/gstutils.c: (gst_buffer_join):
11438         * gst/gstutils.h:
11439           gst_buffer_join() from 0.8.
11440
11441 2005-05-25  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11444         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11445         (gst_pad_send_event), (gst_pad_start_task):
11446         Disable attempt at mode switching until it is figured out.
11447
11448 2005-05-25  Wim Taymans  <wim@fluendo.com>
11449
11450         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11451         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11452         (gst_basesink_finish_preroll), (gst_basesink_chain),
11453         (gst_basesink_loop), (gst_basesink_activate),
11454         (gst_basesink_change_state):
11455         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11456         (gst_basesrc_get_range), (gst_basesrc_loop),
11457         (gst_basesrc_activate):
11458         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11459         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11460         (gst_real_pad_init), (gst_real_pad_set_property),
11461         (gst_real_pad_get_property), (gst_pad_set_active),
11462         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11463         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11464         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11465         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11466         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11467         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11468         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11469         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11470         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11471         (gst_pad_stop_task):
11472         * gst/gstpad.h:
11473         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11474         (gst_queue_loop), (gst_queue_src_activate):
11475         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11476         (gst_task_get_state):
11477         * gst/gsttask.h:
11478         * gst/schedulers/threadscheduler.c:
11479         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11480         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11481         in task function.
11482         Remove ACTIVE pad flag, use FLUSHING everywhere
11483         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11484         functions.
11485         Add locks around IS_FLUSHING when reading.
11486         Take STREAM lock in chain(), get_range() functions so plugins
11487         don't need to take it anymore.
11488         
11489
11490
11491 2005-05-25  Wim Taymans  <wim@fluendo.com>
11492
11493         * tools/gst-launch.c: (event_loop):
11494         Unref message after using its contents instead of
11495         before.
11496
11497 2005-05-24  Wim Taymans  <wim@fluendo.com>
11498
11499         * docs/design/draft-ghostpads.txt:
11500         * docs/design/draft-push-pull.txt:
11501         * docs/design/draft-query.txt:
11502         * docs/design/part-overview.txt:
11503         Docs updates, added general overview doc.
11504
11505 2005-05-21  David Schleef  <ds@schleef.org>
11506
11507         * docs/gst/tmpl/old/GstBin.sgml:
11508         * docs/gst/tmpl/old/GstBuffer.sgml:
11509         * docs/gst/tmpl/old/GstCaps.sgml:
11510         * docs/gst/tmpl/old/GstClock.sgml:
11511         * docs/gst/tmpl/old/GstCompat.sgml:
11512         * docs/gst/tmpl/old/GstData.sgml:
11513         * docs/gst/tmpl/old/GstElement.sgml:
11514         * docs/gst/tmpl/old/GstEvent.sgml:
11515         * docs/gst/tmpl/old/GstIndex.sgml:
11516         * docs/gst/tmpl/old/GstStructure.sgml:
11517         * docs/gst/tmpl/old/GstTag.sgml:
11518         * docs/gst/tmpl/old/cothreads.sgml:
11519         * docs/gst/tmpl/old/cothreads_compat.sgml:
11520         * docs/gst/tmpl/old/gettext.sgml:
11521         * docs/gst/tmpl/old/gobject2gtk.sgml:
11522         * docs/gst/tmpl/old/grammar.tab.sgml:
11523         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11524         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11525         * docs/gst/tmpl/old/gst_private.sgml:
11526         * docs/gst/tmpl/old/gstaggregator.sgml:
11527         * docs/gst/tmpl/old/gstarch.sgml:
11528         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11529         * docs/gst/tmpl/old/gstbufferstore.sgml:
11530         * docs/gst/tmpl/old/gstdata_private.sgml:
11531         * docs/gst/tmpl/old/gstdisksink.sgml:
11532         * docs/gst/tmpl/old/gstdisksrc.sgml:
11533         * docs/gst/tmpl/old/gstelementfactory.sgml:
11534         * docs/gst/tmpl/old/gstextratypes.sgml:
11535         * docs/gst/tmpl/old/gstfakesink.sgml:
11536         * docs/gst/tmpl/old/gstfakesrc.sgml:
11537         * docs/gst/tmpl/old/gstfdsink.sgml:
11538         * docs/gst/tmpl/old/gstfdsrc.sgml:
11539         * docs/gst/tmpl/old/gstfilesink.sgml:
11540         * docs/gst/tmpl/old/gstfilesrc.sgml:
11541         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11542         * docs/gst/tmpl/old/gstidentity.sgml:
11543         * docs/gst/tmpl/old/gstindexfactory.sgml:
11544         * docs/gst/tmpl/old/gstmarshal.sgml:
11545         * docs/gst/tmpl/old/gstmd5sink.sgml:
11546         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11547         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11548         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11549         * docs/gst/tmpl/old/gstpipefilter.sgml:
11550         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11551         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11552         * docs/gst/tmpl/old/gstshaper.sgml:
11553         * docs/gst/tmpl/old/gstspider.sgml:
11554         * docs/gst/tmpl/old/gstspideridentity.sgml:
11555         * docs/gst/tmpl/old/gststatistics.sgml:
11556         * docs/gst/tmpl/old/gsttee.sgml:
11557         * docs/gst/tmpl/old/gsttimecache.sgml:
11558         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11559         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11560         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11561         * docs/gst/tmpl/old/types.sgml:
11562           I didn't intend to add these or check them in.
11563
11564 2005-05-19  David Schleef  <ds@schleef.org>
11565
11566         * configure.ac: Use -no-common everywhere.  In a sane world, it
11567           would be the default in libtool, because without it, you can't
11568           build DLLs on Windows.
11569         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11570         * docs/gst/gstreamer-sections.txt:
11571         * docs/gst/tmpl/gstcpu.sgml:
11572         * docs/gst/tmpl/gstdata.sgml:
11573         * docs/gst/tmpl/gstthread.sgml:
11574
11575 2005-05-19  David Schleef  <ds@schleef.org>
11576
11577         * gst/gstminiobject.c: (gst_value_set_mini_object),
11578         (gst_value_take_mini_object), (gst_value_get_mini_object):
11579         * gst/gstminiobject.h: Add GValue set/get functions.
11580
11581 2005-05-19  Wim Taymans  <wim@fluendo.com>
11582
11583         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11584         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11585         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11586         * gst/gstbuffer.h:
11587         * gst/gstbus.c: (gst_bus_post):
11588         * gst/gstelement.c: (gst_element_get_random_pad):
11589         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11590         Make subbufer unref the parent in finalize.
11591         some more debugging info.
11592
11593
11594 2005-05-19  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11597         (gst_basesink_init), (gst_basesink_finalize),
11598         (gst_basesink_activate), (gst_basesink_change_state):
11599         Don't free preroll queue too early.
11600
11601 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11602
11603         * gst/Makefile.am:
11604         * gst/ROADMAP:
11605           Hi, I'm outdated. Please shoot me.
11606
11607 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11608
11609         * gst/gstpipeline.c: (gst_pipeline_send_event):
11610           Do not access variables after they have been deleted.
11611
11612 2005-05-19  Wim Taymans  <wim@fluendo.com>
11613
11614         * tools/gst-inspect.c: (print_plugin_features):
11615         A plugin feature does unfortunatly not use the
11616         object name yet...
11617
11618 2005-05-18  Wim Taymans  <wim@fluendo.com>
11619
11620         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11621         Port _span() functions to new subbuffers.
11622
11623 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11624
11625         * gst/gstbin.c: (gst_bin_add_func):
11626           Fix clock settery in bins when adding kids after the clock has
11627           been selected.
11628
11629 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11630
11631         * gst/elements/gstidentity.c: (gst_identity_class_init):
11632           Workaround until signals support GstMiniObject.
11633
11634 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11635
11636         * gst/gstbuffer.c:
11637         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11638
11639 2005-05-18  Wim Taymans  <wim@fluendo.com>
11640
11641         * gst/base/Makefile.am:
11642         * gst/base/gstadapter.c: (gst_adapter_base_init),
11643         (gst_adapter_class_init), (gst_adapter_init),
11644         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11645         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11646         (gst_adapter_flush), (gst_adapter_available),
11647         (gst_adapter_available_fast):
11648         * gst/base/gstadapter.h:
11649         Ported and added adapter to the base classes.
11650
11651 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11652
11653         * gst/gst.c:
11654         * gst/gstmessage.c:
11655           Make sure the class is reffed/unreffed once before threads can be
11656           used.  Fixes #304551.
11657
11658 2005-05-17  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11661         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11662         * gst/gstminiobject.c: (gst_mini_object_get_type),
11663         (gst_mini_object_free):
11664         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11665         (gst_pad_push), (gst_pad_push_event):
11666         * gst/gstqueue.c: (gst_queue_change_state):
11667         Don't queue buffers in basesink when we are flushing.
11668         Unref buffer when flushing in basesink.
11669         Flush queue when going to READY
11670         Unref buffer when _push() returns an error.
11671         Don't free MiniObject instance when refcount is incremented
11672         in _finalize() so that we can recover objects.
11673
11674 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * docs/manual/advanced-schedulers.xml:
11677         * docs/manual/appendix-checklist.xml:
11678         * docs/pwg/advanced-clock.xml:
11679         * docs/pwg/advanced-interfaces.xml:
11680         * docs/pwg/advanced-request.xml:
11681         * docs/pwg/advanced-types.xml:
11682         * docs/pwg/intro-preface.xml:
11683         * examples/plugins/example.c: (gst_example_get_type),
11684         (gst_example_class_init), (gst_example_chain),
11685         (gst_example_set_property), (gst_example_get_property),
11686         (gst_example_change_state), (plugin_init):
11687         * examples/plugins/example.h:
11688           small doc fixes
11689
11690 2005-05-17  Wim Taymans  <wim@fluendo.com>
11691
11692         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11693         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11694         * gst/gstqueue.c: (gst_queue_change_state):
11695         Clear queue when going to READY.
11696         Remove IN_SETCAPS flag too.
11697
11698 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11699
11700         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11701           Remove implicit cast from gboolean to GstElementStateReturn;
11702           make sure we still return failure in paused => ready case if
11703           the parent class fails to change state and our own stop 
11704           vfunc succeeds.
11705
11706 2005-05-17  Wim Taymans  <wim@fluendo.com>
11707
11708         * tools/gst-launch.c: (event_loop):
11709         Message was unreffed too soon.
11710
11711 2005-05-16  Andy Wingo  <wingo@pobox.com>
11712
11713         * gst/gstbin.c (sink_iterator_filter): Err... um...
11714
11715         * check/gst/gstbin.c (test_ghost_pads): New test for the
11716         ghosting-if-elements-not-in-same-bin behavior.
11717
11718 2005-05-16  David Schleef  <ds@schleef.org>
11719
11720         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11721         accessing refcount directly.
11722
11723 2005-05-15  David Schleef  <ds@schleef.org>
11724
11725         * check/Makefile.am: remove GstData checks
11726         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11727         * gst/Makefile.am: add miniobject, remove data
11728         * gst/gst.h: add miniobject, remove data
11729         * gst/gstdata.c: remove
11730         * gst/gstdata.h: remove
11731         * gst/gstdata_private.h: remove
11732         * gst/gsttypes.h: remove GstEvent and GstMessage
11733         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11734         * gst/gstmarshal.list: change BOXED -> OBJECT
11735
11736         Implement GstMiniObject.
11737         * gst/gstminiobject.c:
11738         * gst/gstminiobject.h:
11739
11740         Modify to be subclasses of GstMiniObject.
11741         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11742         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11743         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11744         (gst_subbuffer_get_type), (gst_subbuffer_init),
11745         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11746         (gst_buffer_span):
11747         * gst/gstbuffer.h:
11748         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11749         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11750         (_gst_event_copy), (gst_event_new):
11751         * gst/gstevent.h:
11752         * gst/gstmessage.c: (_gst_message_initialize),
11753         (gst_message_get_type), (gst_message_class_init),
11754         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11755         (gst_message_new), (gst_message_new_error),
11756         (gst_message_new_warning), (gst_message_new_tag),
11757         (gst_message_new_state_changed), (gst_message_new_application):
11758         * gst/gstmessage.h:
11759         * gst/gstprobe.c: (gst_probe_perform),
11760         (gst_probe_dispatcher_dispatch):
11761         * gst/gstprobe.h:
11762         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11763         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11764         (_gst_query_copy), (gst_query_new):
11765
11766         Update elements for GstData -> GstMiniObject changes
11767         * gst/gstquery.h:
11768         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11769         (gst_queue_chain), (gst_queue_loop):
11770         * gst/elements/gstbufferstore.c:
11771         (gst_buffer_store_add_buffer_func),
11772         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11773         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11774         (gst_fakesink_render):
11775         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11776         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11777         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11778         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11779         (gst_filesrc_create_read):
11780         * gst/elements/gstidentity.c: (gst_identity_class_init):
11781         * gst/elements/gsttypefindelement.c:
11782         (gst_type_find_element_src_event), (free_entry_buffers),
11783         (gst_type_find_element_handle_event):
11784         * libs/gst/dataprotocol/dataprotocol.c:
11785         (gst_dp_header_from_buffer):
11786         * libs/gst/dataprotocol/dataprotocol.h:
11787         * libs/gst/dataprotocol/dp-private.h:
11788
11789 2005-05-15  David Schleef  <ds@schleef.org>
11790
11791         * gst/elements/gstelements.c: Don't include headers that were
11792         just removed.
11793
11794 2005-05-15  David Schleef  <ds@schleef.org>
11795
11796         * gst/elements/Makefile.am: Remove some elements that don't
11797         need to be in the core (or even exist at all).
11798         * gst/elements/gstaggregator.c:
11799         * gst/elements/gstaggregator.h:
11800         * gst/elements/gstmd5sink.c:
11801         * gst/elements/gstmd5sink.h:
11802         * gst/elements/gstmultifilesrc.c:
11803         * gst/elements/gstmultifilesrc.h:
11804         * gst/elements/gstpipefilter.c:
11805         * gst/elements/gstpipefilter.h:
11806         * gst/elements/gstshaper.c:
11807         * gst/elements/gstshaper.h:
11808         * gst/elements/gststatistics.c:
11809         * gst/elements/gststatistics.h:
11810         * po/POTFILES.in: Remove above files.
11811
11812 2005-05-14  Andy Wingo  <wingo@pobox.com>
11813
11814         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11815         so as to get the refs right.
11816         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11817         unreffing objects that don't pass the filter.
11818
11819         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11820         gst_element_set_bus.
11821         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11822         normal cases, this will destroy the bus.
11823
11824         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11825         object.
11826
11827         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11828         has no sinks.
11829
11830 2005-05-13  Andy Wingo  <wingo@pobox.com>
11831
11832         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11833         gst_pad_link, call pad_link_maybe_ghosting,
11834         (pad_link_maybe_ghosting): Links pads, making sure that the
11835         elements being linked are in the same bin.
11836         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11837         Helpers for pad_link_maybe_ghosting.
11838
11839 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11840
11841         * configure.ac:
11842           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11843
11844 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11845
11846         * docs/design/part-element-source.txt:
11847           Mention GstPushSrc
11848
11849 2005-05-12  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/base/gstbasesink.c: (gst_basesink_init),
11852         (gst_basesink_activate):
11853         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11854         (gst_basesrc_is_seekable):
11855         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11856         (bin_element_is_sink), (gst_bin_change_state):
11857         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11858         * gst/gstelement.h:
11859         Identify sinks by their flag to avoid overly complicated
11860         checks (fow now).
11861         Do state changes even for elements not reachable from the
11862         sinks.
11863         BaseSink is a sink now :)
11864         Some more debugging info in the basesrc.
11865
11866
11867 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11868
11869         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11870           Implement _query on a bin, similar to _send_event.
11871
11872 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11875           Discont event offset format should be GST_FORMAT_BYTES,
11876           not GST_FORMAT_TIME.
11877
11878 2005-05-12  Wim Taymans  <wim@fluendo.com>
11879
11880         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11881         Same fix as Ronald's but without the signal. 
11882
11883 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11884
11885         * gst/gstutils.c: (gst_element_query_position):
11886           No, an element is not a pad.
11887
11888 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11889
11890         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11891         (gst_bin_get_state):
11892           If a child is removed from a bin while we remove the child from
11893           the bin and while we're retrieving its state, signal this to the
11894           get_state function so we abort the wait (instead of waiting for
11895           a timeout) and can immediately re-iterate over all other elements.
11896
11897 2005-05-12  Wim Taymans  <wim@fluendo.com>
11898
11899         * gst/base/Makefile.am:
11900         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11901         (gst_basesrc_start):
11902         * gst/base/gstbasesrc.h:
11903         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11904         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11905         (gst_pushsrc_init), (gst_pushsrc_create):
11906         * gst/base/gstpushsrc.h:
11907         Added is_seekable to BaseSrc
11908         Added simple PushSrc.
11909
11910 2005-05-11  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11913         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11914         (gst_element_link_pads), (gst_element_query_position),
11915         (gst_element_query_convert), (intersect_caps_func),
11916         (gst_pad_query_position), (gst_pad_query_convert):
11917         Fix refcounting in utils function.
11918         No point in trying to activate a pad when it's added, it could
11919         be added from the state change function and then we deadlock, the
11920         element has to decide what to do.
11921
11922 2005-05-10  Andy Wingo  <wingo@pobox.com>
11923
11924         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11925         *all* the arguments.
11926
11927         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11928         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11929         lock (according to the docs -- if this is wrong change the docs).
11930
11931         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11932         flush messages in the NULL state.
11933
11934         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11935         message immediately and return.
11936         (gst_bus_set_flushing): New function. If a bus is flushing, it
11937         flushes out any queued messages and immediately unrefs new
11938         messages. This is so when an element goes to NULL, all of the
11939         unhandled messages coming from it can be freed, and their
11940         references to the element dropped. In other words: message source
11941         ref considered harmful :P
11942
11943         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11944         we're finished with it.
11945
11946         * gst/gstmessage.c (gst_message_new_state_changed): 
11947
11948 2005-05-10  Wim Taymans  <wim@fluendo.com>
11949
11950         * gst/gstvalue.c: (gst_value_compare_flags),
11951         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11952         (_gst_value_initialize):
11953         Added flags serialize/deserialize/compare code.
11954
11955 2005-05-09  Andy Wingo  <wingo@pobox.com>
11956
11957         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11958         Intersect the peer's caps with our caps.
11959
11960 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11961
11962         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11963         * gst/elements/gsttypefindelement.c: (find_peek):
11964           Handle negative offsets better. Fixes decodebin.
11965
11966 2005-05-09  Wim Taymans  <wim@fluendo.com>
11967
11968         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11969         (gst_base_transform_event):
11970         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11971         Implement accept_caps.
11972         Fix silly lock/unlock mismatch in base class.
11973
11974 2005-05-09  Wim Taymans  <wim@fluendo.com>
11975
11976         * docs/design/draft-push-pull.txt:
11977         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11978         * gst/elements/gstfilesink.c: (gst_filesink_init),
11979         (gst_filesink_query):
11980         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11981         (gst_type_find_handle_src_query), (find_element_get_length):
11982         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11983         * gst/gstelement.h:
11984         * gst/gstmessage.c:
11985         * gst/gstmessage.h:
11986         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11987         (gst_real_pad_get_caps_unlocked),
11988         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11989         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11990         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11991         (gst_real_pad_dispose), (gst_real_pad_finalize),
11992         (gst_pad_load_and_link), (gst_pad_save_thyself),
11993         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11994         (gst_pad_check_pull_range), (gst_pad_pull_range),
11995         (gst_pad_template_get_type), (gst_pad_template_class_init),
11996         (gst_pad_template_init), (gst_pad_template_dispose),
11997         (name_is_valid), (gst_static_pad_template_get),
11998         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11999         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12000         (gst_pad_get_element_private), (gst_pad_start_task),
12001         (gst_pad_pause_task), (gst_pad_stop_task),
12002         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12003         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12004         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12005         (gst_ghost_pad_new):
12006         * gst/gstpad.h:
12007         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12008         (gst_query_new_position), (gst_query_set_position),
12009         (gst_query_parse_position), (gst_query_new_convert),
12010         (gst_query_set_convert), (gst_query_parse_convert):
12011         * gst/gstquery.h:
12012         * gst/gstqueryutils.c:
12013         * gst/gstqueryutils.h:
12014         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12015         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12016         (gst_queue_handle_src_query):
12017         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12018         (gst_element_query_position), (gst_element_query_convert),
12019         (intersect_caps_func), (gst_pad_query_position),
12020         (gst_pad_query_convert):
12021         * gst/gstutils.h:
12022         * tools/gst-inspect.c: (print_pad_info):
12023         * tools/gst-xmlinspect.c: (print_element_info):
12024         Remove old query functions. Ported old code.
12025         Added position/convert helper functions to gstutils.
12026         Reordered gstpad.c code, grouping relevant things.
12027         Remove gst_message_new(), always need to speficy a specific
12028         message.
12029
12030
12031 2005-05-09  Andy Wingo  <wingo@pobox.com>
12032
12033         * gst/gstiterator.h: Add some includes.
12034
12035         * gst/gstqueryutils.h: Include more headers.
12036
12037         * gst/gstpad.h:
12038         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12039         some uses of gst_pad_query.
12040
12041         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12042         NULL out parameters.
12043         (gst_query_new_position): New proc, allocates a new position
12044         query.
12045
12046         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12047         gstqueryutils.c to the build.
12048
12049         * gst/gststructure.c (gst_structure_set_valist): Implement with
12050         the generic G_VALUE_COLLECT.
12051         
12052 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12053
12054         * gst/Makefile.am: (gst_headers):
12055         Added gstqueryutils.h to the list of headers to install, that was
12056         a 'nachty' move wingo :)
12057
12058 2005-05-06  Andy Wingo  <wingo@pobox.com>
12059
12060         * gst/gstquery.h
12061         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12062         GstData, init a memchunk.
12063         (standard_definitions): Add a few query types, deprecate a few.
12064         (gst_query_get_type): New proc.
12065         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12066         implementation.
12067         (gst_query_new_application, gst_query_get_structure): New public
12068         procs.
12069
12070         * docs/design/draft-query.txt: Removed LINKS from the query types,
12071         because all the rest can be dispatched to other pads -- seemed
12072         ugly to have a query that couldn't be dispatched. internal_links
12073         is fine as a pad method.
12074
12075         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12076         in gstpad.c, but maintain binary compatibility for the moment.
12077         Will fix before 0.9 is out.
12078
12079         * gst/gstqueryutils.c: 
12080         * gst/gstqueryutils.h: New files, implement 3 methods for each
12081         query type: parse_query, parse_response, and set. Probably need an
12082         allocator as well.
12083
12084         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12085
12086         * gst/elements/gstfilesink.c (gst_filesink_query2):
12087         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12088         query_types, and formats methods.
12089
12090         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12091         (gst_pad_set_query2_function): New functions.
12092         (gst_real_pad_init): Set query2_default as the default query2
12093         function. Basically just dispatches to internally linked pads.
12094
12095         Needs review!
12096         
12097         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12098         without using the atomic operations. Only one thread can possibly
12099         be accessing the data at this point. Changed so as to avoid
12100         gst_atomic operations.
12101
12102 2005-05-06  Wim Taymans  <wim@fluendo.com>
12103
12104         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12105         Also set caps if we use the fallback buffer alloc.
12106
12107 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12108
12109         * docs/gst/Makefile.am:
12110         * docs/gst/gstreamer-docs.sgml:
12111         * docs/gst/gstreamer-sections.txt:
12112         * docs/gst/tmpl/gstatomic.sgml:
12113         * docs/gst/tmpl/gstmemchunk.sgml:
12114         * testsuite/elements/struct_i386.h:
12115         * win32/GStreamer.vcproj:
12116         * win32/Makefile:
12117           Purge GstAtomic stuff from docs and win32 makefiles as well
12118
12119 2005-05-06  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12122         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12123         * gst/gstpad.c: (gst_pad_peer_get_caps):
12124         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12125         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12126         (gst_queue_src_activate), (gst_queue_change_state):
12127         * gst/gstqueue.h:
12128         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12129         (intersect_caps_func):
12130         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12131         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12132         Some fixes for the peer_get_caps() change.
12133
12134 2005-05-06  Wim Taymans  <wim@fluendo.com>
12135
12136         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12137         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12138         (gst_basesink_activate):
12139         Actually do something with error codes returned from the push
12140         functions.
12141
12142 2005-05-06  Wim Taymans  <wim@fluendo.com>
12143
12144         * docs/design/part-element-sink.txt:
12145         * docs/design/part-element-source.txt:
12146         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12147         (gst_basesink_event), (gst_basesink_activate):
12148         * gst/base/gstbasesink.h:
12149         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12150         (gst_basesrc_activate):
12151         * gst/base/gstbasesrc.h:
12152         * gst/gstelement.c: (gst_element_pads_activate):
12153         Some more documentation.
12154         Fixed scheduling decision in _pads_activate().
12155
12156 2005-05-05  Andy Wingo  <wingo@pobox.com>
12157
12158         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12159         the test suite.
12160
12161 2005-05-05  Wim Taymans  <wim@fluendo.com>
12162
12163         * gst/base/Makefile.am:
12164         * gst/base/gstbasesink.h:
12165         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12166         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12167         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12168         (gst_collectpads_class_init), (gst_collectpads_init),
12169         (gst_collectpads_finalize), (gst_collectpads_new),
12170         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12171         (find_pad), (gst_collectpads_remove_pad),
12172         (gst_collectpads_is_active), (gst_collectpads_collect),
12173         (gst_collectpads_collect_range), (gst_collectpads_start),
12174         (gst_collectpads_stop), (gst_collectpads_peek),
12175         (gst_collectpads_pop), (gst_collectpads_available),
12176         (gst_collectpads_read), (gst_collectpads_flush),
12177         (gst_collectpads_chain):
12178         * gst/base/gstcollectpads.h:
12179         * gst/elements/Makefile.am:
12180         * gst/elements/gstelements.c:
12181         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12182         (gst_fakesink_get_times), (gst_fakesink_event),
12183         (gst_fakesink_preroll), (gst_fakesink_render):
12184         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12185         (gst_filesink_init), (gst_filesink_set_location),
12186         (gst_filesink_open_file), (gst_filesink_close_file),
12187         (gst_filesink_pad_query), (gst_filesink_event),
12188         (gst_filesink_render), (gst_filesink_change_state):
12189         * gst/elements/gstfilesink.h:
12190         Added object to help in making collect pad based elements.
12191         Ported filesink.
12192         Make event function in sink baseclass return gboolean.
12193
12194 2005-05-05  Wim Taymans  <wim@fluendo.com>
12195
12196         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12197         (gst_bin_get_by_name):
12198         * gst/gstbuffer.h:
12199         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12200         (gst_clock_finalize):
12201         * gst/gstdata.c: (gst_data_replace):
12202         * gst/gstdata.h:
12203         * gst/gstelement.c: (gst_element_request_pad),
12204         (gst_element_pads_activate):
12205         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12206         (gst_object_unref):
12207         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12208         (gst_pad_set_checkgetrange_function),
12209         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12210         (gst_pad_check_pull_range), (gst_pad_pull_range),
12211         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12212         (gst_pad_pause_task), (gst_pad_stop_task):
12213         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12214         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12215         Fix name lookup in GstBin.
12216         Added _data_replace() function and _buffer_replace()
12217         Use finalize method to clean up clock.
12218         Fix refcounting on request pads.
12219         Fix pad schedule mode error.
12220         Some more object refcounting debug info,
12221
12222
12223 2005-05-04  Andy Wingo <wingo@pobox.com>
12224
12225         * check/Makefile.am:
12226         * docs/gst/tmpl/gstatomic.sgml:
12227         * docs/gst/tmpl/gstplugin.sgml:
12228         * gst/base/gstbasesink.c: (gst_basesink_activate):
12229         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12230         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12231         (gst_basesrc_query), (gst_basesrc_set_property),
12232         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12233         (gst_basesrc_activate):
12234         * gst/base/gstbasesrc.h:
12235         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12236         (gst_base_transform_src_activate):
12237         * gst/elements/gstelements.c:
12238         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12239         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12240         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12241         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12242         (gst_type_find_element_checkgetrange),
12243         (gst_type_find_element_activate):
12244         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12245         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12246         (gst_caps_load_thyself):
12247         * gst/gstelement.c: (gst_element_pads_activate),
12248         (gst_element_save_thyself), (gst_element_restore_thyself):
12249         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12250         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12251         * gst/gstpad.h:
12252         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12253         (gst_xml_parse_file), (gst_xml_parse_memory),
12254         (gst_xml_get_element), (gst_xml_make_element):
12255         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12256         (_file_index_id_save_xml), (gst_file_index_commit):
12257         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12258         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12259         (load_paths):
12260         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12261         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12262         * tools/gst-complete.c: (main):
12263         * tools/gst-compprep.c: (main):
12264         * tools/gst-inspect.c: (print_element_properties_info):
12265         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12266         * tools/gst-xmlinspect.c: (print_element_properties):
12267         GCC 4 fixen.
12268         
12269 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12270
12271         * gst/gstplugin.c: (gst_plugin_check_module),
12272         (gst_plugin_check_file), (gst_plugin_load_file):
12273             apply patch from #172526 to make register work on MacOSX
12274
12275 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12276
12277         * docs/gst/tmpl/gstconfig.sgml:
12278         * gst/gstconfig.h.in:
12279           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12280         * testsuite/debug/printf_extension.c: (main):
12281           Do not use GST_PTR_FORMAT on pointers to types with
12282           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12283         * testsuite/elements/property.h:
12284           use correct printf format
12285
12286 2005-05-02  Wim Taymans  <wim@fluendo.com>
12287
12288         * docs/design/draft-push-pull.txt:
12289         * docs/design/draft-query.txt:
12290         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12291         (gst_basesrc_start):
12292         Added draft for new query API.
12293         Added draft for better selecting scheduling methods.
12294         Make basesrc ignore length if the subclass does not support
12295         it.
12296
12297 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * gst/Makefile.am:
12300           possible fixes for automake-1.5 - _LIBADD is reserved
12301
12302 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * docs/faq/Makefile.am:
12305         * docs/manual/Makefile.am:
12306         * docs/manuals.mak:
12307         * docs/pwg/Makefile.am:
12308         * gst/Makefile.am:
12309           possible fixes for automake-1.5
12310
12311 2005-04-28  Wim Taymans  <wim@fluendo.com>
12312
12313         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12314         (gst_basesink_pad_getcaps), (gst_basesink_init),
12315         (gst_basesink_do_sync):
12316         * gst/gstclock.c: (gst_clock_entry_new):
12317         * gst/gstevent.c: (gst_event_discont_get_value):
12318         * gst/gstpipeline.c: (pipeline_bus_handler),
12319         (gst_pipeline_change_state):
12320         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12321         Better debugging of clocking info.
12322         Allow NULL values when getting discont values.
12323
12324 2005-04-27  Wim Taymans  <wim@fluendo.com>
12325
12326         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12327         * check/gst/gstpad.c: (gst_pad_suite):
12328         Increase timeout for checks.
12329
12330 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12331
12332         * check/Makefile.am:
12333           fix the broken rule for cleanup.  Apparently this rule is
12334           only needed on FC2, so maybe this warrants further autotool
12335           inspection.
12336
12337 2005-04-26  Wim Taymans  <wim@fluendo.com>
12338
12339         * gst/gsttrashstack.h:
12340         Ooohh. a nasty one! After having a failed pop() from the stack,
12341         it's possible that the stack is empty. In that case, don't
12342         follow the NULL pointer.
12343
12344 2005-04-25  Wim Taymans  <wim@fluendo.com>
12345
12346         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12347         (gst_pad_set_checkgetrange_function),
12348         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12349         (gst_pad_check_pull_range), (gst_pad_pull_range),
12350         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12351         (gst_pad_pause_task), (gst_pad_stop_task):
12352         * gst/gstplugin.c: (gst_plugin_load):
12353         * gst/gstplugin.h:
12354         Remove gst_library_load as it does more harm than good with
12355         the new g_module flags.
12356         Revert bogus caps template check in pad linking, pad caps
12357         are important when linking not the template, which is more
12358         general than the current caps.
12359
12360 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12361
12362         * gst/autoplug/.cvsignore:
12363         * gst/autoplug/Makefile.am:
12364         * gst/autoplug/gstsearchfuncs.c:
12365         * gst/autoplug/gstsearchfuncs.h:
12366         * gst/autoplug/gstspider.c:
12367         * gst/autoplug/gstspider.h:
12368         * gst/autoplug/gstspideridentity.c:
12369         * gst/autoplug/gstspideridentity.h:
12370         * gst/autoplug/spidertest.c:
12371           Die, spider, die.
12372
12373 2005-04-25  Wim Taymans  <wim@fluendo.com>
12374
12375         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12376         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12377         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12378         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12379         * gst/gstpad.h:
12380         Added stubs for unimplemented functions. 
12381
12382 2005-04-24  David Schleef  <ds@schleef.org>
12383
12384         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12385         please fix.
12386
12387 2005-04-24  David Schleef  <ds@schleef.org>
12388
12389         Convert everything from GstAtomicInt to g_atomic_int_*, and
12390         remove gstatomic.
12391         * gst/Makefile.am:
12392         * gst/gstatomic.c:
12393         * gst/gstatomic.h:
12394         * gst/gstatomic_impl.h:
12395         * gst/gstbuffer.c:
12396         * gst/gstcaps.c:
12397         * gst/gstcaps.h:
12398         * gst/gstclock.c:
12399         * gst/gstclock.h:
12400         * gst/gstdata.c:
12401         * gst/gstdata.h:
12402         * gst/gstdata_private.h:
12403         * gst/gstevent.c:
12404         * gst/gstinfo.c:
12405         * gst/gstinfo.h:
12406         * gst/gstmessage.c:
12407         * gst/gstobject.c:
12408         * gst/gstobject.h:
12409         * gst/gststructure.c:
12410         * gst/gststructure.h:
12411         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12412         * gst/gstutils.h:
12413
12414 2005-04-24  David Schleef  <ds@schleef.org>
12415
12416         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12417         make the regressions tests work.  Remove some code that is no
12418         longer true.
12419         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12420         Disable warning for pads without templates.
12421
12422 2005-04-24  David Schleef  <ds@schleef.org>
12423
12424         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12425         functions that handle filtered links.
12426         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12427         removed functions.
12428         * gst/gstutils.c: Fix/remove utility functions that handle
12429         filtered caps.
12430         * gst/gstutils.h:
12431         * gst/gstvalue.c: Add serialization/deserialization of caps
12432         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12433         requires fixing so that the filter caps notation creates
12434         a capsfilter element and sets the filter_caps property.  I
12435         think everyone probably wants to keep the shorthand notation.
12436         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12437         * docs/gst/tmpl/gstpad.sgml:
12438
12439         * gst/elements/gstelements.c: Register capsfilter element.
12440         * gst/Makefile.am: fix spacing
12441         * docs/random/ds/0.9-suggested-changes: random
12442
12443 2005-04-23  David Schleef  <ds@schleef.org>
12444
12445         * gst/elements/Makefile.am:
12446         * gst/elements/gstcapsfilter.c: New element that acts like an
12447         identity, but filters caps.  Will eventually replace filtered
12448         caps in pad linking.
12449         * gst/gstutils.c: (gst_element_create_all_pads): New function
12450         to create all the ALWAYS pads that are registered with an
12451         element class.  This functionality should eventually be
12452         merged in with GstElement initialization.
12453         * gst/gstutils.h:
12454         * testsuite/trigger/README: part of trigger test code that should
12455         have been checked in a long time ago.
12456
12457 2005-04-23  David Schleef  <ds@schleef.org>
12458
12459         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12460         needed with new versions of libtool (nobody will confirm this),
12461         and hard to carry around.
12462         * gst/autoplug/Makefile.am:
12463         * gst/base/Makefile.am:
12464         * gst/elements/Makefile.am:
12465         * gst/indexers/Makefile.am:
12466         * gst/schedulers/Makefile.am:
12467         * libs/gst/bytestream/Makefile.am:
12468         * libs/gst/control/Makefile.am:
12469         * libs/gst/dataprotocol/Makefile.am:
12470         * libs/gst/getbits/Makefile.am:
12471
12472 2005-04-21  Wim Taymans  <wim@fluendo.com>
12473
12474         * docs/design/draft-push-pull.txt:
12475         * docs/design/part-MT-refcounting.txt:
12476         * docs/design/part-TODO.txt:
12477         * docs/design/part-caps.txt:
12478         * docs/design/part-events.txt:
12479         * docs/design/part-gstbus.txt:
12480         * docs/design/part-gstpipeline.txt:
12481         * docs/design/part-messages.txt:
12482         * docs/design/part-push-pull.txt:
12483         * docs/design/part-query.txt:
12484         Some more docs.
12485
12486 2005-04-21  Wim Taymans  <wim@fluendo.com>
12487
12488         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12489         (gst_message_new), (gst_message_new_error),
12490         (gst_message_new_warning), (gst_message_new_tag),
12491         (gst_message_new_state_changed), (gst_message_new_application),
12492         (gst_message_get_structure):
12493         * gst/gstmessage.h:
12494         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12495         (gst_structure_copy_conditional):
12496         Use parent refcount in GstMessage to ensure GstStructure
12497         consistency.
12498         Cleaned up headers a bit.
12499         
12500
12501 2005-04-20  Wim Taymans  <wim@fluendo.com>
12502
12503         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12504         (gst_basesink_pad_getcaps), (gst_basesink_init),
12505         (gst_basesink_chain_unlocked):
12506         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12507         (gst_type_find_helper):
12508         * gst/elements/gsttypefindelement.c:
12509         (gst_type_find_element_have_type), (gst_type_find_element_init),
12510         (stop_typefinding), (gst_type_find_element_handle_event),
12511         (find_suggest), (gst_type_find_element_chain),
12512         (gst_type_find_element_checkgetrange),
12513         (gst_type_find_element_getrange), (do_typefind),
12514         (gst_type_find_element_activate):
12515         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12516         (gst_buffer_default_free), (gst_buffer_default_copy),
12517         (gst_buffer_set_caps):
12518         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12519         (gst_caps_replace):
12520         * gst/gstmessage.c: (gst_message_new),
12521         (gst_message_new_state_changed):
12522         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12523         (gst_pad_set_checkgetrange_function),
12524         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12525         (gst_pad_set_caps), (gst_pad_check_pull_range),
12526         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12527         * gst/gstpad.h:
12528         * gst/gsttypefind.c: (gst_type_find_register):
12529         Make gst_caps_replace() work like other _replace() functions.
12530         Use _caps_replace() where possible.
12531         Make sure _message_new() initialises its field.
12532         Add gst_static_pad_template_get_caps()
12533
12534
12535 2005-04-18  Andy Wingo  <wingo@pobox.com>
12536
12537         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12538         on the peer, not the pad. I think that was a typo. Pass an extra
12539         arg to see if random access is possible. Activate the pads as
12540         PULL_RANGE if possible.
12541
12542         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12543
12544         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12545         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12546         to PROP_....
12547
12548 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12549
12550         * docs/faq/using.xml:
12551           Add note on gstreamer-properties (#154996).
12552
12553 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12554
12555         * docs/random/bbb/optional-properties:
12556           Some analysis on optional properties.
12557
12558 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12559
12560         * docs/gst/tmpl/gstelementfactory.sgml:
12561         * gst/gstelement.h:
12562         * gst/gstelementfactory.c: (gst_element_factory_init),
12563         (gst_element_factory_cleanup), (gst_element_register),
12564         (__gst_element_factory_add_static_pad_template),
12565         (gst_element_factory_get_static_pad_templates),
12566         (gst_element_factory_can_src_caps),
12567         (gst_element_factory_can_sink_caps):
12568         * gst/registries/Makefile.am:
12569         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12570         (gst_xml_registry_class_init), (gst_xml_registry_init),
12571         (gst_xml_registry_new), (gst_xml_registry_set_property),
12572         (gst_xml_registry_get_property), (get_time), (make_dir),
12573         (gst_xml_registry_get_perms_func),
12574         (plugin_times_older_than_recurse), (plugin_times_older_than),
12575         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12576         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12577         (add_to_char_array), (read_string), (read_uint), (read_enum),
12578         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12579         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12580         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12581         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12582         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12583         (gst_xml_registry_rebuild):
12584         * gst/registries/gstlibxmlregistry.h:
12585         * tools/gst-compprep.c: (main):
12586         * tools/gst-inspect.c: (print_pad_templates_info):
12587         * tools/gst-xmlinspect.c: (print_element_info):
12588           Use libxml2 for registry parsing, use staticpadtemplates in
12589           elementfactories. Makes gst_init() +/- 10x faster.
12590
12591 2005-04-12  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/base/Makefile.am:
12594         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12595         (gst_basesink_pad_getcaps), (gst_basesink_init),
12596         (gst_basesink_event), (gst_basesink_change_state):
12597         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12598         (gst_basesrc_init), (gst_basesrc_query),
12599         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12600         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12601         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12602         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12603         (gst_basesrc_stop), (gst_basesrc_activate),
12604         (gst_basesrc_change_state):
12605         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12606         (helper_find_suggest), (gst_type_find_helper):
12607         * gst/base/gsttypefindhelper.h:
12608         * gst/elements/Makefile.am:
12609         * gst/elements/gstelements.c:
12610         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12611         (gst_fakesink_get_times), (gst_fakesink_event),
12612         (gst_fakesink_preroll), (gst_fakesink_render):
12613         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12614         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12615         (gst_fakesrc_get_property), (gst_fakesrc_create),
12616         (gst_fakesrc_start), (gst_fakesrc_stop):
12617         * gst/elements/gstfakesrc.h:
12618         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12619         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12620         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12621         (gst_filesrc_create_read), (gst_filesrc_create),
12622         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12623         (gst_filesrc_start):
12624         * gst/elements/gsttypefindelement.c:
12625         (gst_type_find_element_have_type), (gst_type_find_element_init),
12626         (start_typefinding), (stop_typefinding), (push_buffer_store),
12627         (gst_type_find_element_handle_event),
12628         (gst_type_find_element_chain),
12629         (gst_type_find_element_checkgetrange),
12630         (gst_type_find_element_getrange), (do_typefind),
12631         (gst_type_find_element_activate),
12632         (gst_type_find_element_change_state):
12633         * gst/elements/gsttypefindelement.h:
12634         * gst/gstpipeline.c: (pipeline_bus_handler):
12635         Added typefind helper.
12636         Small preroll fix in the base sink.
12637         Disable typefind code in basesrc.
12638         Crude port of typefindelement.
12639         Fakesrc cleanups.
12640
12641
12642 2005-04-11  Wim Taymans  <wim@fluendo.com>
12643
12644         * check/gst/gstbus.c: (gstbus_suite):
12645         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12646         * check/gstcheck.h:
12647           Fix up the timeout so that the test does not fail.
12648
12649 2005-04-06  Wim Taymans  <wim@fluendo.com>
12650
12651         * gst/base/README:
12652         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12653         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12654         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12655         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12656         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12657         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12658         (gst_basesrc_stop), (gst_basesrc_activate),
12659         (gst_basesrc_change_state), (basesrc_find_peek),
12660         (basesrc_find_suggest), (gst_basesrc_type_find):
12661         * gst/base/gstbasesrc.h:
12662         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12663         (gst_filesrc_class_init), (gst_filesrc_init),
12664         (gst_filesrc_finalize), (gst_filesrc_set_location),
12665         (gst_filesrc_set_property), (gst_filesrc_get_property),
12666         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12667         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12668         (gst_filesrc_create_read), (gst_filesrc_create),
12669         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12670         * gst/elements/gstfilesrc.h:
12671         * gst/gstelement.c: (gst_element_get_state_func),
12672         (gst_element_lost_state), (gst_element_pads_activate):
12673         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12674         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12675         (gst_pad_pull_range):
12676         * gst/gstpad.h:
12677         More work on the generic source base class, implement seeking,
12678         query.
12679         Make filesrc extend the base source class.
12680         Added gst_pad_set_checkgetrange_function to GstPad.
12681
12682 2005-04-06  Andy Wingo  <wingo@pobox.com>
12683
12684         * pkgconfig/gstreamer-base.pc.in:
12685         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12686
12687         * pkgconfig/Makefile.am:
12688         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12689
12690 2005-04-04  Wim Taymans  <wim@fluendo.com>
12691
12692         * gst/base/Makefile.am:
12693         * gst/base/README:
12694         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12695         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12696         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12697         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12698         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12699         (gst_basesrc_base_init), (gst_basesrc_class_init),
12700         (gst_basesrc_init), (gst_basesrc_get_formats),
12701         (gst_basesrc_get_query_types), (gst_basesrc_query),
12702         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12703         (gst_basesrc_set_property), (gst_basesrc_get_property),
12704         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12705         (gst_basesrc_loop), (gst_basesrc_activate),
12706         (gst_basesrc_change_state):
12707         * gst/base/gstbasesrc.h:
12708         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12709         (gst_fakesrc_class_init), (gst_fakesrc_init),
12710         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12711         (gst_fakesrc_get_property), (gst_fakesrc_create):
12712         * gst/elements/gstfakesrc.h:
12713         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12714         (gst_filesrc_open_file), (gst_filesrc_loop),
12715         (gst_filesrc_activate), (filesrc_find_peek),
12716         (gst_filesrc_type_find):
12717         Made base source class, make fakesrc extend it.
12718         Add comments to basesink class.
12719         Some filesrc cleanup.
12720
12721 2005-03-31  David Schleef  <ds@schleef.org>
12722
12723         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12724         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12725         expected to link against libgstreamer.
12726         * gst/base/Makefile.am: link against libgstreamer
12727         * gst/elements/Makefile.am: same
12728
12729 2005-03-31  Andy Wingo  <wingo@pobox.com>
12730
12731         * tests/instantiate/Makefile.am:
12732         * tests/instantiate/caps.c: Add test to test speed of caps copy
12733         and free.
12734
12735         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12736         GMemChunk to be fair.
12737
12738         * gst/gsttrashstack.h: Remove warning about using the fallback
12739         trash stack implementation, it's still faster than malloc.
12740
12741 2005-03-30  Andy Wingo  <wingo@pobox.com>
12742
12743         * tests/complexity.c: Add a copyright.
12744
12745 2005-03-31  Wim Taymans  <wim@fluendo.com>
12746
12747         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12748         (gst_base_transform_class_init), (gst_base_transform_init),
12749         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12750         (gst_base_transform_get_property),
12751         (gst_base_transform_sink_activate),
12752         (gst_base_transform_src_activate),
12753         (gst_base_transform_change_state):
12754         * gst/base/gstbasetransform.h:
12755         * gst/elements/gstidentity.c: (gst_identity_class_init),
12756         (gst_identity_event), (gst_identity_check_perfect),
12757         (gst_identity_transform), (gst_identity_start),
12758         (gst_identity_stop):
12759         Added start/stop methods to transform base class so subclasses 
12760         don't need to deal with state changes even.
12761
12762 2005-03-31  Wim Taymans  <wim@fluendo.com>
12763
12764         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12765         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12766         * gst/gstevent.h:
12767         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12768         (gst_pad_pull_range):
12769         Added rate to the discont event to prepare for variable speed
12770         and reverse playback.
12771
12772 2005-03-29  David Schleef  <ds@schleef.org>
12773
12774         * configure.ac:
12775         * testsuite/trigger/Makefile.am:
12776         * testsuite/trigger/trigger.c: A little example program to show
12777         how trigger-based elements can work.
12778
12779 2005-03-29  Wim Taymans  <wim@fluendo.com>
12780
12781         * gst/base/Makefile.am:
12782         * gst/base/README:
12783         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12784         (gst_basesink_base_init), (gst_basesink_class_init),
12785         (gst_basesink_pad_getcaps), (gst_basesink_init),
12786         (gst_basesink_activate), (gst_basesink_change_state):
12787         * gst/base/gstbasesink.h:
12788         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12789         (gst_base_transform_base_init), (gst_base_transform_finalize),
12790         (gst_base_transform_class_init), (gst_base_transform_init),
12791         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12792         (gst_base_transform_event), (gst_base_transform_getrange),
12793         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12794         (gst_base_transform_set_property),
12795         (gst_base_transform_get_property),
12796         (gst_base_transform_sink_activate),
12797         (gst_base_transform_src_activate),
12798         (gst_base_transform_change_state):
12799         * gst/base/gstbasetransform.h:
12800         * gst/elements/gstidentity.c: (gst_identity_finalize),
12801         (gst_identity_class_init), (gst_identity_init),
12802         (gst_identity_event), (gst_identity_check_perfect),
12803         (gst_identity_transform), (gst_identity_set_property),
12804         (gst_identity_get_property), (gst_identity_change_state):
12805         * gst/elements/gstidentity.h:
12806         * gst/gstelement.c: (gst_element_get_state_func),
12807         (gst_element_lost_state), (gst_element_pads_activate):
12808         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12809         (gst_pad_check_pull_range), (gst_pad_pull_range):
12810         * gst/gstpad.h:
12811         Simplify pad activation.
12812         Added function to check if pull_range can be performed.
12813         Error out when pulling inactive or flushing pads.
12814         Removed const from refcounted types as it does not make sense.
12815         Simplify pad templates in basesink
12816         Added base class for simple 1-to-1 transforms.
12817         Make identity subclass the base transform.
12818
12819 2005-03-29  Andy Wingo  <wingo@pobox.com>
12820
12821         * docs/libs/gstreamer-libs-overrides.txt: 
12822         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12823         really don't understand what's going on, but like whatever. I want
12824         green buildbot!
12825
12826         * docs/gst/Makefile.am:
12827         * docs/libs/Makefile.am: Dist the overrides files.
12828
12829         * check/Makefile.am (clean-local): Remove .libs directories.
12830
12831         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12832         elements to EXTRA_DIST, so po/ files are happy.
12833
12834         * po/POTFILES.in: Er, remove it here.
12835
12836         * po/POTFILES: Remove gstspider.c.
12837
12838         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12839
12840         * docs/libs/gstreamer-libs-docs.sgml: 
12841         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12842         bytestream.
12843
12844         * tests/complexity.c (main): Set the length of the preroll queue
12845         on the sinks to prevent a lockup.
12846
12847         * libs/gst/dataprotocol/Makefile.am: 
12848         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12849         the same as the one in check/gst-libs/gdp.c.
12850
12851         * po/, docs/gst/: Commit automatic changes to docs and po files.
12852
12853         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12854         the versioned libgstbase.
12855
12856         * check/Makefile.am: Depend on an unversioned gst-register, seems
12857         to make autoconf happier.
12858
12859         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12860
12861 2005-03-28  Wim Taymans  <wim@fluendo.com>
12862
12863         * configure.ac:
12864         * docs/design/part-gstelement.txt:
12865         * docs/design/part-negotiation.txt:
12866         * docs/design/part-preroll.txt:
12867         * docs/design/part-scheduling.txt:
12868         * docs/design/part-states.txt:
12869         * gst/Makefile.am:
12870         * gst/base/Makefile.am:
12871         * gst/base/README:
12872         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12873         (gst_basesink_base_init), (gst_basesink_class_init),
12874         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12875         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12876         (gst_basesink_set_pad_functions),
12877         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12878         (gst_basesink_set_property), (gst_basesink_get_property),
12879         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12880         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12881         (gst_basesink_preroll_queue_push),
12882         (gst_basesink_preroll_queue_empty),
12883         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12884         (gst_basesink_event), (gst_basesink_get_times),
12885         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12886         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12887         (gst_basesink_loop), (gst_basesink_activate),
12888         (gst_basesink_change_state):
12889         * gst/base/gstbasesink.h:
12890         * gst/elements/Makefile.am:
12891         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12892         (gst_fakesink_class_init), (gst_fakesink_init),
12893         (gst_fakesink_set_property), (gst_fakesink_get_property),
12894         (gst_fakesink_get_times), (gst_fakesink_event),
12895         (gst_fakesink_preroll), (gst_fakesink_render),
12896         (gst_fakesink_change_state):
12897         * gst/elements/gstfakesink.h:
12898         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12899         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12900         * gst/gstelement.c: (gst_element_add_pad),
12901         (gst_element_get_state_func), (gst_element_abort_state),
12902         (gst_element_commit_state), (gst_element_lost_state),
12903         (gst_element_set_state), (gst_element_pads_activate):
12904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12905         * gst/gstpipeline.c: (gst_pipeline_send_event),
12906         (gst_pipeline_change_state):
12907         Added state change code.
12908         Added/updated docs.
12909         Added sink base class, make fakesink extend the base class.
12910         Small cleanups in GstPipeline.
12911
12912 2005-03-26  David Schleef  <ds@schleef.org>
12913
12914         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12915         is broken and should be implemented in a different library.
12916         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12917         * gst/gst.h: remove gstcpu.h
12918         * gst/gstcpu.c: remove
12919         * gst/gstcpu.h: remove
12920         * gst/Makefile.am.future: Remove this file.  It's ancient.
12921
12922 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12923
12924         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12925         (gst_bin_send_event):
12926           Add default event/set_manager handlers. The set_manager handler
12927           takes care that the manager is distributed over kids that were
12928           already in the bin before the manager was set. The event handler
12929           is a utility virtual function that sends the event over all sinks,
12930           so that gst_element_send_event (bin, event); has the expected
12931           behaviour.
12932         * gst/gstpad.c: (gst_pad_event_default):
12933           Re-install default event handling for discontinuities, so that
12934           seeking works without requiring hacks in applications or extra
12935           code in sinks.
12936         * gst/gstpipeline.c: (gst_pipeline_class_init),
12937         (gst_pipeline_send_event):
12938           Half hack, half utility: set a pipeline to PAUSED for seek events,
12939           since that is the only way we can guarantee a/v sync. Means that
12940           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12941           and it "just works".
12942
12943 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12944
12945         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12946           Lock/unlock mismatch.
12947
12948 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12949
12950         * docs/faq/gst-uninstalled:
12951           add gst-plugins-base
12952         * docs/gst/Makefile.am:
12953           don't error out until docs are fixed
12954         * docs/gst/gstreamer.types:
12955           remove thread
12956
12957 2005-03-22  Wim Taymans  <wim@fluendo.com>
12958
12959         * check/Makefile.am:
12960         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12961         * gst/gststructure.c: (gst_structure_set_valist),
12962         (gst_structure_copy_conditional):
12963         Activated more tests.
12964         Added message test.
12965         Added G_TYPE_POINTER to GstStructure.
12966         
12967
12968 2005-03-22  Wim Taymans  <wim@fluendo.com>
12969
12970         * docs/design/part-TODO.txt:
12971         * docs/design/part-events.txt:
12972         * docs/design/part-gstbin.txt:
12973         * docs/design/part-gstbus.txt:
12974         * docs/design/part-gstpipeline.txt:
12975         * docs/design/part-messages.txt:
12976         * gst/gstbus.c:
12977         * gst/gstmessage.c:
12978         Docs updates
12979
12980 2005-03-21  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstbus.c: (gst_bus_post):
12983         Fix copy-and-paste error.
12984
12985 2005-03-21  Wim Taymans  <wim@fluendo.com>
12986
12987         * check/Makefile.am:
12988         * gst/Makefile.am:
12989         * gst/elements/Makefile.am:
12990         * gst/elements/gstelements.c:
12991         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12992         (gst_fakesink_event), (gst_fakesink_chain):
12993         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12994         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12995         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12996         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12997         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12998         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12999         (gst_fakesrc_loop), (gst_fakesrc_activate),
13000         (gst_fakesrc_change_state):
13001         * gst/elements/gstfakesrc.h:
13002         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13003         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13004         (gst_filesrc_open_file), (gst_filesrc_loop),
13005         (gst_filesrc_activate), (gst_filesrc_change_state),
13006         (filesrc_find_peek), (filesrc_find_suggest),
13007         (gst_filesrc_type_find):
13008         * gst/elements/gstidentity.c: (gst_identity_finalize),
13009         (gst_identity_class_init), (gst_identity_init),
13010         (gst_identity_proxy_getcaps), (identity_queue_push),
13011         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13012         (gst_identity_getrange), (gst_identity_chain),
13013         (gst_identity_sink_loop), (gst_identity_src_loop),
13014         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13015         (gst_identity_set_property), (gst_identity_get_property),
13016         (gst_identity_change_state):
13017         * gst/elements/gstidentity.h:
13018         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13019         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13020         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13021         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13022         (gst_tee_sink_activate):
13023         * gst/elements/gsttee.h:
13024         * gst/gst.c: (gst_register_core_elements), (init_post):
13025         * gst/gst.h:
13026         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13027         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13028         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13029         (gst_bin_change_state):
13030         * gst/gstbin.h:
13031         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13032         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13033         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13034         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13035         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13036         (bus_watch_callback), (bus_watch_destroy),
13037         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13038         (poll_timeout), (gst_bus_poll):
13039         * gst/gstbus.h:
13040         * gst/gstcaps.h:
13041         * gst/gstdata.h:
13042         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13043         (gst_element_post_message), (gst_element_message_full),
13044         (gst_element_get_state_func), (gst_element_get_state),
13045         (gst_element_abort_state), (gst_element_commit_state),
13046         (gst_element_lost_state), (gst_element_set_state),
13047         (gst_element_pads_activate), (gst_element_change_state),
13048         (gst_element_dispose), (gst_element_set_manager_func),
13049         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13050         (gst_element_set_manager), (gst_element_get_manager),
13051         (gst_element_set_bus), (gst_element_get_bus),
13052         (gst_element_set_scheduler), (gst_element_get_scheduler):
13053         * gst/gstelement.h:
13054         * gst/gstevent.c: (gst_event_new_segment_seek),
13055         (gst_event_new_flush):
13056         * gst/gstevent.h:
13057         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13058         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13059         (gst_message_new_eos), (gst_message_new_error),
13060         (gst_message_new_warning), (gst_message_new_tag),
13061         (gst_message_new_state_changed), (gst_message_new_application),
13062         (gst_message_get_structure), (gst_message_parse_tag),
13063         (gst_message_parse_state_changed), (gst_message_parse_error),
13064         (gst_message_parse_warning):
13065         * gst/gstmessage.h:
13066         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13067         (gst_real_pad_set_property), (gst_pad_set_active),
13068         (gst_pad_is_active), (gst_pad_set_blocked_async),
13069         (gst_pad_set_blocked), (gst_pad_is_blocked),
13070         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13071         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13072         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13073         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13074         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13075         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13076         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13077         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13078         (gst_pad_set_caps), (gst_pad_configure_sink),
13079         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13080         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13081         (gst_real_pad_dispose), (gst_real_pad_finalize),
13082         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13083         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13084         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13085         * gst/gstpad.h:
13086         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13087         (pipeline_bus_handler), (gst_pipeline_change_state),
13088         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13089         * gst/gstpipeline.h:
13090         * gst/gstprobe.h:
13091         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13092         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13093         (gst_queue_link_src), (gst_queue_bufferalloc),
13094         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13095         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13096         (gst_queue_loop), (gst_queue_handle_src_event),
13097         (gst_queue_handle_src_query), (gst_queue_src_activate),
13098         (gst_queue_change_state):
13099         * gst/gstqueue.h:
13100         * gst/gstscheduler.c: (gst_scheduler_init),
13101         (gst_scheduler_dispose), (gst_scheduler_create_task),
13102         (gst_scheduler_factory_create):
13103         * gst/gstscheduler.h:
13104         * gst/gststructure.c: (gst_structure_get_type),
13105         (gst_structure_copy_conditional):
13106         * gst/gststructure.h:
13107         * gst/gsttaginterface.h:
13108         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13109         (gst_task_init), (gst_task_dispose), (gst_task_create),
13110         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13111         (gst_task_pause):
13112         * gst/gsttask.h:
13113         * gst/gstthread.c:
13114         * gst/gstthread.h:
13115         * gst/gsttypes.h:
13116         * gst/schedulers/Makefile.am:
13117         * gst/schedulers/cothreads_compat.h:
13118         * gst/schedulers/entryscheduler.c:
13119         * gst/schedulers/faircothreads.c:
13120         * gst/schedulers/faircothreads.h:
13121         * gst/schedulers/fairscheduler.c:
13122         * gst/schedulers/gstbasicscheduler.c:
13123         * gst/schedulers/gstoptimalscheduler.c:
13124         * gst/schedulers/gthread-cothreads.h:
13125         * gst/schedulers/threadscheduler.c:
13126         (gst_thread_scheduler_task_get_type),
13127         (gst_thread_scheduler_task_class_init),
13128         (gst_thread_scheduler_task_init),
13129         (gst_thread_scheduler_task_start),
13130         (gst_thread_scheduler_task_stop),
13131         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13132         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13133         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13134         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13135         (plugin_init):
13136         * libs/gst/Makefile.am:
13137         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13138         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13139         (gst_file_pad_parent_set):
13140         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13141         (gst_dp_event_from_packet):
13142         * tests/complexity.c: (main):
13143         * tests/mass_elements.c: (main):
13144         * testsuite/states/locked.c: (message_received), (main):
13145         * testsuite/states/parent.c: (main):
13146         * tools/gst-inspect.c: (print_element_flag_info),
13147         (print_implementation_info), (print_pad_info):
13148         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13149         (main):
13150         * tools/gst-md5sum.c: (event_loop), (main):
13151         * tools/gst-typefind.c: (main):
13152         * tools/gst-xmlinspect.c: (print_element_info):
13153         Next big merge.
13154         Added GstBus for mainloop integration.
13155         Added GstMessage for sending notifications on the bus.
13156         Added GstTask as an abstraction for pipeline entry points.
13157         Removed GstThread.
13158         Removed Schedulers.
13159         Simplified GstQueue for multithreaded core.
13160         Made _link threadsafe, removed old capsnego.
13161         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13162         Added pad blocking functions.
13163         Reworked scheduling functions in GstPad to prepare for
13164         scheduling updates soon.
13165         Moved events out of data stream.
13166         Simplified GstEvent types.
13167         Added return values to push/pull.
13168         Removed clocking from GstElement.
13169         Added prototypes for state change function for next merge.
13170         Removed iterate from bins and state change management.
13171         Fixed some elements, disabled others for now.
13172         Fixed -inspect and -launch.
13173         Added check for GstBus.
13174
13175 2005-03-10  Wim Taymans  <wim@fluendo.com>
13176
13177         * docs/design/part-MT-refcounting.txt:
13178         * docs/design/part-clocks.txt:
13179         * docs/design/part-gstelement.txt:
13180         * docs/design/part-gstobject.txt:
13181         * docs/design/part-standards.txt:
13182         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13183         (gst_bin_remove_func), (gst_bin_remove):
13184         * gst/gstbin.h:
13185         * gst/gstbuffer.c:
13186         * gst/gstcaps.h:
13187         * testsuite/clock/clock1.c: (main):
13188         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13189         (main):
13190         * testsuite/dlopen/loadgst.c: (do_test):
13191         * testsuite/refcounting/bin.c: (add_remove_test1),
13192         (add_remove_test2), (main):
13193         * testsuite/refcounting/element.c: (main):
13194         * testsuite/refcounting/element_pad.c: (main):
13195         * testsuite/refcounting/pad.c: (main):
13196         * tools/gst-launch.c: (sigint_handler_sighandler):
13197         * tools/gst-typefind.c: (main):
13198         Doc updates.
13199         Added doc about clock.
13200         removed gst_bin_iterate_recurse_up(), marked methods
13201         for removal.
13202         Fix more testsuites.
13203
13204 2005-03-09  Wim Taymans  <wim@fluendo.com>
13205
13206         * gst/gstpad.c: (gst_pad_get_direction),
13207         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13208         (gst_pad_collect_valist):
13209         * testsuite/bins/interface.c: (main):
13210         * testsuite/caps/audioscale.c: (test_caps):
13211         * testsuite/caps/caps.c: (test1), (test2), (test3):
13212         * testsuite/caps/deserialize.c: (main):
13213         * testsuite/caps/enumcaps.c: (main):
13214         * testsuite/caps/filtercaps.c: (main):
13215         * testsuite/caps/intersect2.c: (main):
13216         * testsuite/caps/random.c: (main):
13217         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13218         * testsuite/caps/sets.c: (check_caps):
13219         * testsuite/caps/simplify.c: (check_caps), (main):
13220         * testsuite/caps/subtract.c: (check_caps):
13221         Fix _pad_get_direction wrt ghostpads.
13222         Fix caps testsuite.
13223
13224 2005-03-09  Wim Taymans  <wim@fluendo.com>
13225
13226         * check/Makefile.am:
13227         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13228         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13229         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13230         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13231         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13232         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13233         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13234         (bin_element_is_sink), (gst_bin_iterate_sinks),
13235         (gst_bin_iterate_all_by_interface):
13236         * gst/gstbin.h:
13237         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13238         (gst_element_change_state), (gst_element_dispose),
13239         (gst_element_finalize), (gst_element_set_loop_function):
13240         * gst/gstelement.h:
13241         * gst/gstiterator.c: (find_custom_fold_func):
13242         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13243         (gst_pad_collectv), (gst_pad_collect_valist),
13244         (gst_pad_template_new):
13245         * gst/gstpipeline.c: (gst_pipeline_class_init),
13246         (gst_pipeline_dispose), (gst_pipeline_set_property),
13247         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13248         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13249         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13250         * gst/gstutils.h:
13251         * gst/schedulers/entryscheduler.c:
13252         * gst/schedulers/gstbasicscheduler.c:
13253         (gst_basic_scheduler_cothreaded_chain),
13254         (gst_basic_scheduler_chain_add_element):
13255         * testsuite/bins/interface.c: (main):
13256         Added GstBin test.
13257         Added GstSystemClock test.
13258         Implemented clock distribution code in GstBin.
13259         Implemented iterate sinks method for future use.
13260         Rearranged gstelement.h
13261         Fix GstIterator comparison bug.
13262         Moved some code to GstPipeline, mostly clocking related.
13263
13264 2005-03-09  Wim Taymans  <wim@fluendo.com>
13265
13266         * configure.ac:
13267         * gst/gst_private.h:
13268         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13269         (gst_bin_remove_func), (gst_bin_remove),
13270         (gst_bin_get_by_name_recurse_up):
13271         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13272         (gst_clock_id_compare_func), (gst_clock_id_wait),
13273         (gst_clock_id_wait_async), (gst_clock_init),
13274         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13275         * gst/gstelement.h:
13276         * gst/gstinfo.c: (_gst_debug_init):
13277         * gst/gstobject.h:
13278         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13279         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13280         * gst/gstpad.h:
13281         Bump version number, we're now 0.9.0
13282         Add future debugging category.
13283         Fix NULL _unref() in _get_by_name_recurse_up
13284         Rearrange gstpad.h.
13285         Update some docs.
13286
13287 2005-03-08  Wim Taymans  <wim@fluendo.com>
13288
13289         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13290         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13291         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13292         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13293         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13294         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13295         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13296         * gst/elements/gstidentity.c: (gst_identity_class_init):
13297         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13298         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13299         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13300         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13301         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13302         (gst_tee_link):
13303         * gst/gstelement.c: (gst_element_class_init),
13304         (gst_element_base_class_init), (gst_element_init),
13305         (gst_element_get_random_pad), (gst_element_wait_state_change),
13306         (gst_element_change_state), (gst_element_dispose),
13307         (gst_element_finalize), (gst_element_set_loop_function):
13308         * gst/gstelement.h:
13309         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13310         * gst/gstthread.c: (gst_thread_class_init),
13311         (gst_thread_release_children_locks), (gst_thread_change_state):
13312         * gst/schedulers/gstbasicscheduler.c:
13313         (gst_basic_scheduler_loopfunc_wrapper),
13314         (gst_basic_scheduler_chain_wrapper),
13315         (gst_basic_scheduler_src_wrapper),
13316         (gst_basic_scheduler_remove_element):
13317         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13318         Remove threadsafe properties. Fix elements because GObject
13319         complains when installing a property before declaring a
13320         set/get_property handler.
13321         Rearrange gstelement.h file, use STATE macros for state locks.
13322         Free mutexes in the finalize method instead of dispose.
13323
13324 2005-03-08  Wim Taymans  <wim@fluendo.com>
13325
13326         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13327         * gst/gstthread.c: (gst_thread_release_children_locks):
13328         Added parentage check.
13329         Fix build og GstThread again.
13330
13331 2005-03-08  Wim Taymans  <wim@fluendo.com>
13332
13333         * docs/design/part-MT-refcounting.txt:
13334         * docs/design/part-conventions.txt:
13335         * docs/design/part-gstobject.txt:
13336         * docs/design/part-relations.txt:
13337         * docs/design/part-standards.txt:
13338         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13339         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13340         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13341         (gst_bin_iterate_all_by_interface):
13342         * gst/gstbuffer.h:
13343         * gst/gstclock.h:
13344         * gst/gstelement.c: (gst_element_class_init),
13345         (gst_element_change_state), (gst_element_set_loop_function):
13346         * gst/gstelement.h:
13347         * gst/gstiterator.c:
13348         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13349         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13350         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13351         (gst_object_set_parent), (gst_object_unparent),
13352         (gst_object_check_uniqueness):
13353         * gst/gstobject.h:
13354         Docs updates, clean up some headers.
13355
13356 2005-03-07  Wim Taymans  <wim@fluendo.com>
13357
13358         * check/.cvsignore:
13359         * check/Makefile.am:
13360         * check/gst-libs/.cvsignore:
13361         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13362         * check/gst/.cvsignore:
13363         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13364         (START_TEST), (gstbus_suite), (main):
13365         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13366         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13367         (gst_data_suite), (main):
13368         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13369         (add_fold_func), (gstiterator_suite), (main):
13370         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13371         (thread_name_object), (thread_name_object_default),
13372         (gst_object_name_compare), (gst_object_suite), (main):
13373         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13374         (gst_pad_suite), (main):
13375         * check/gstcheck.c: (gst_check_log_message_func),
13376         (gst_check_log_critical_func), (gst_check_init):
13377         * check/gstcheck.h:
13378         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13379         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13380         Added checks.
13381
13382 2005-03-07  Wim Taymans  <wim@fluendo.com>
13383
13384         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13385         (gst_list_iterator_next), (gst_list_iterator_resync),
13386         (gst_list_iterator_free), (gst_iterator_new_list),
13387         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13388         (gst_iterator_free), (gst_iterator_push), (filter_next),
13389         (filter_resync), (filter_uninit), (filter_free),
13390         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13391         (gst_iterator_foreach), (find_custom_fold_func),
13392         (gst_iterator_find_custom):
13393         * gst/gstiterator.h:
13394         Added missing files.
13395
13396 2005-03-07  Wim Taymans  <wim@fluendo.com>
13397
13398         * Makefile.am:
13399         * configure.ac:
13400         * docs/design/part-MT-refcounting.txt:
13401         * docs/design/part-conventions.txt:
13402         * docs/design/part-gstobject.txt:
13403         * docs/design/part-relations.txt:
13404         * examples/mixer/mixer.c: (main):
13405         * examples/thread/thread.c: (eos), (main):
13406         * gst/Makefile.am:
13407         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13408         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13409         (gst_spider_plug_from_srcpad):
13410         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13411         (gst_spider_identity_change_state),
13412         (gst_spider_identity_sink_loop_type_finding):
13413         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13414         * gst/elements/gstidentity.c: (gst_identity_init):
13415         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13416         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13417         * gst/elements/gsttypefindelement.c: (free_entry):
13418         * gst/gst.c:
13419         * gst/gst.h:
13420         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13421         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13422         (gst_bin_set_index), (gst_bin_set_element_sched),
13423         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13424         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13425         (gst_bin_iterate_elements), (iterate_child_recurse),
13426         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13427         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13428         (compare_interface), (gst_bin_get_by_interface),
13429         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13430         * gst/gstbin.h:
13431         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13432         (gst_buffer_default_free), (gst_buffer_default_copy),
13433         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13434         (gst_buffer_create_sub):
13435         * gst/gstbuffer.h:
13436         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13437         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13438         (gst_caps_unref), (gst_static_caps_get),
13439         (gst_caps_remove_and_get_structure), (gst_caps_append),
13440         (gst_caps_append_structure), (gst_caps_remove_structure),
13441         (gst_caps_copy_nth), (gst_caps_set_simple),
13442         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13443         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13444         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13445         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13446         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13447         (gst_caps_structure_figure_out_union),
13448         (gst_caps_switch_structures), (gst_caps_do_simplify),
13449         (gst_caps_replace), (gst_caps_from_string),
13450         (gst_caps_copy_conditional):
13451         * gst/gstcaps.h:
13452         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13453         (_gst_clock_id_free), (gst_clock_id_unref),
13454         (gst_clock_id_compare_func), (gst_clock_id_wait),
13455         (gst_clock_id_wait_async), (gst_clock_class_init),
13456         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13457         (gst_clock_get_time), (gst_clock_set_time_adjust),
13458         (gst_clock_set_property), (gst_clock_get_property):
13459         * gst/gstclock.h:
13460         * gst/gstcompat.h:
13461         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13462         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13463         * gst/gstdata.h:
13464         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13465         (gst_element_requires_clock), (gst_element_provides_clock),
13466         (gst_element_set_clock), (gst_element_clock_wait),
13467         (gst_element_wait), (gst_element_set_time_delay),
13468         (gst_element_is_indexable), (gst_element_add_pad),
13469         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13470         (pad_compare_name), (gst_element_get_static_pad),
13471         (gst_element_request_pad), (gst_element_get_request_pad),
13472         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13473         (gst_element_class_get_pad_template_list),
13474         (gst_element_class_get_pad_template), (gst_element_error_func),
13475         (gst_element_get_random_pad), (gst_element_get_event_masks),
13476         (gst_element_send_event), (gst_element_seek),
13477         (gst_element_get_query_types), (gst_element_query),
13478         (gst_element_get_formats), (gst_element_convert),
13479         (gst_element_is_locked_state), (gst_element_set_locked_state),
13480         (gst_element_sync_state_with_parent), (gst_element_change_state),
13481         (gst_element_finalize), (gst_element_yield),
13482         (gst_element_interrupt), (gst_element_set_scheduler),
13483         (gst_element_get_scheduler), (gst_element_set_loop_function):
13484         * gst/gstelement.h:
13485         * gst/gstevent.h:
13486         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13487         (gst_format_get_by_nick), (gst_format_get_details),
13488         (gst_format_iterate_definitions):
13489         * gst/gstformat.h:
13490         * gst/gstindex.c: (gst_index_gtype_resolver):
13491         * gst/gstinfo.c:
13492         * gst/gstinfo.h:
13493         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13494         (gst_mem_chunk_free):
13495         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13496         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13497         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13498         (gst_object_dispatch_properties_changed),
13499         (gst_object_set_name_default), (gst_object_set_name),
13500         (gst_object_get_name), (gst_object_set_name_prefix),
13501         (gst_object_get_name_prefix), (gst_object_set_parent),
13502         (gst_object_get_parent), (gst_object_unparent),
13503         (gst_object_check_uniqueness), (gst_object_save_thyself),
13504         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13505         (gst_object_set_property), (gst_object_get_property),
13506         (gst_object_get_path_string):
13507         * gst/gstobject.h:
13508         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13509         (gst_real_pad_init), (gst_real_pad_get_property),
13510         (gst_pad_custom_new), (gst_pad_get_direction),
13511         (gst_pad_set_active), (gst_pad_is_active),
13512         (gst_pad_set_event_function), (gst_pad_is_linked),
13513         (gst_pad_link_free), (gst_pad_link_intersect),
13514         (gst_pad_link_fixate), (gst_pad_set_caps),
13515         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13516         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13517         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13518         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13519         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13520         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13521         (gst_pad_realize), (gst_pad_get_allowed_caps),
13522         (gst_real_pad_dispose), (gst_real_pad_finalize),
13523         (gst_pad_collectv), (gst_pad_collect_valist),
13524         (gst_pad_template_dispose), (gst_pad_template_new),
13525         (gst_pad_get_internal_links):
13526         * gst/gstpad.h:
13527         * gst/gstpipeline.c: (gst_pipeline_dispose),
13528         (gst_pipeline_change_state):
13529         * gst/gstpipeline.h:
13530         * gst/gstplugin.c:
13531         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13532         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13533         * gst/gstpluginfeature.h:
13534         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13535         * gst/gstquery.c: (_gst_query_type_initialize),
13536         (gst_query_type_register), (gst_query_type_get_by_nick),
13537         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13538         * gst/gstquery.h:
13539         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13540         * gst/gstscheduler.c: (gst_scheduler_add_element),
13541         (gst_scheduler_factory_create):
13542         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13543         (gst_structure_free), (gst_structure_set_name),
13544         (gst_structure_id_set_value), (gst_structure_set_value),
13545         (gst_structure_set_valist), (gst_structure_remove_field),
13546         (gst_structure_remove_fields),
13547         (gst_structure_remove_fields_valist),
13548         (gst_structure_remove_all_fields), (gst_structure_foreach),
13549         (gst_structure_map_in_place),
13550         (gst_caps_structure_fixate_field_nearest_int),
13551         (gst_caps_structure_fixate_field_nearest_double):
13552         * gst/gststructure.h:
13553         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13554         (gst_system_clock_init), (gst_system_clock_dispose),
13555         (gst_system_clock_async_thread),
13556         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13557         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13558         * gst/gstsystemclock.h:
13559         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13560         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13561         * gst/gsttaginterface.c:
13562         * gst/gstthread.c: (gst_thread_dispose),
13563         (gst_thread_release_children_locks), (gst_thread_change_state),
13564         (gst_thread_main_loop):
13565         * gst/gsttrashstack.h:
13566         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13567         * gst/gsttypes.h:
13568         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13569         (gst_element_request_pad), (gst_element_get_pad_from_template),
13570         (gst_element_request_compatible_pad),
13571         (gst_element_get_compatible_pad_filtered),
13572         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13573         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13574         (gst_element_link_many), (gst_element_link),
13575         (gst_element_link_pads), (gst_element_unlink_pads),
13576         (gst_element_unlink_many), (gst_element_unlink),
13577         (gst_pad_can_link_filtered), (gst_pad_can_link),
13578         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13579         (gst_object_default_error), (gst_bin_add_many),
13580         (gst_bin_remove_many), (gst_element_populate_std_props),
13581         (gst_element_class_install_std_props), (gst_buffer_merge),
13582         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13583         (link_fold_func), (gst_pad_proxy_setcaps):
13584         * gst/gstutils.h:
13585         * gst/gstvalue.c: (gst_value_deserialize_string):
13586         * gst/parse/grammar.y:
13587         * gst/schedulers/gstbasicscheduler.c:
13588         (gst_basic_scheduler_cothreaded_chain),
13589         (gst_basic_scheduler_chain_recursive_add),
13590         (gst_basic_scheduler_pad_link):
13591         * gst/schedulers/gstoptimalscheduler.c:
13592         (get_group_schedule_function),
13593         (gst_opt_scheduler_state_transition),
13594         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13595         * libs/gst/bytestream/bytestream.c:
13596         * libs/gst/dataprotocol/dataprotocol.c:
13597         (gst_dp_header_from_buffer):
13598         * po/nb.po:
13599         * po/ru.po:
13600         * tests/threadstate/threadstate2.c: (eos):
13601         * tools/gst-compprep.c: (main):
13602         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13603         (print_pad_info), (print_children_info):
13604         * tools/gst-launch.c: (idle_func), (main):
13605         * tools/gst-md5sum.c: (idle_func), (main):
13606         * tools/gst-xmlinspect.c: (print_element_info):
13607         First THREADED backport attempt, focusing on adding locks and
13608         making sure the API is threadsafe. Needs more work. More docs
13609         follow this week.
13610
13611 2005-02-24  Andy Wingo  <wingo@pobox.com>
13612
13613         * tests/bench-complexity.scm:
13614         * tests/complexity.gnuplot: New files, good for running complexity
13615         benchmarks.
13616
13617         * tests/Makefile.am:
13618         * tests/complexity.c: New test, sets up N elements, at each level
13619         teeing into M streams per element. Eeeenteresting.
13620
13621         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13622         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13623         running bench-mass_elements.scm.
13624
13625         * tests/bench-mass_elements.scm: New script, runs mass_elements
13626         for various numbers of identities, outputting the results to a
13627         file. Requires guile 1.6. Just for testing.
13628
13629 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13630
13631         * gst/schedulers/fairscheduler.c:
13632           compile with debug disabled
13633
13634 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13635
13636         * configure.ac:
13637           hunting season on 0.9 is now OPEN