gst/gstsegment.c: Added more documentation.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstsegment.c: (gst_segment_init),
4         (gst_segment_set_last_stop), (gst_segment_set_seek),
5         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6         (gst_segment_to_running_time):
7         Added more documentation.
8         Make sure the last_pos value is updated properly.
9         Make sure to_stream_time and to_running_time don't
10         operate on wrong values.
11
12         * tests/check/gst/gstsegment.c: (GST_START_TEST):
13         Update check.
14
15 2005-12-12  Michael Smith  <msmith@fluendo.com>
16
17         * plugins/elements/gsttypefindelement.c: (free_entry),
18         (gst_type_find_element_chain):
19           Now that we're not leaking factories, make sure we keep references
20           to them while we need them.
21
22 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23
24         * tests/check/gst/struct_i386.h:
25           ifdef out the XML structs
26
27 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28
29         * gst/gstvalue.c: (gst_value_transform_double_fraction):
30           floor is not needed, F is always positive; this obviates the
31           need for adding -lm when building without libxml
32
33 2005-12-12  Wim Taymans  <wim@fluendo.com>
34
35         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
36         Take current playback rate into account when reporting
37         the position.
38
39 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * docs/manual/mime-world.fig:
42           Let's try this again, this time with a file that is
43           actually in XFig format.
44
45 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * docs/manual/mime-world.fig:
48           Add audioconvert element to diagram so that it
49           matches the text and the code (fixes #319526).
50
51 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
52
53         * docs/pwg/building-chainfn.xml:
54         * docs/pwg/building-pads.xml:
55         * docs/pwg/building-state.xml:
56         * docs/pwg/other-source.xml:
57           Update state change stuff for 0.10 (fixes #322969).
58
59 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
60
61         * docs/manual/advanced-dataaccess.xml:
62         * docs/manual/appendix-checklist.xml:
63         * docs/manual/appendix-programs.xml:
64         * docs/manual/basics-pads.xml:
65         * docs/manual/highlevel-components.xml:
66         * docs/manual/manual.xml:
67           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
68           add converters in front of pipelines; remove curly
69           brackets for threads stuff, they no longer exist; use
70           GST_TYPE_FRACTION for framerates; update some pieces of
71           code to 0.10, but there's plenty more to do.
72
73         * docs/manual/appendix-porting.xml:
74           Expand on asynchroneous state changes; s/0.9/0.10/;
75           mention disappearance of gst_init_get_popt_table()
76           (fixes #322916).
77
78 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
79
80         * docs/faq/using.xml:
81           Spider no longer exists, and neither does gst-launch-ext.
82           Update examples to use decodebin and playbin and put
83           converters in front of sinks (fixes #323726).
84
85 2005-12-09  Michael Smith  <msmith@fluendo.com>
86
87         * plugins/elements/gsttypefindelement.c: (find_peek),
88         (gst_type_find_element_chain):
89           Fix leaking element factories in typefinding.
90           Fix problem where we forgot about a probable type on non-seekable
91           files, and thus later mis-typefound it.
92
93 2005-12-09  Michael Smith  <msmith@fluendo.com>
94
95         * common/m4/gst-makecontext.m4:
96         * common/m4/gst-mcsc.m4:
97         * configure.ac:
98         * win32/common/config.h:
99         * win32/common/config.h.in:
100           Remove makecontext stuff; not used in 0.10 and causes problems on
101           HPUX according to bug #322441
102
103 2005-12-07  Wim Taymans  <wim@fluendo.com>
104
105         * tests/check/Makefile.am:
106         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
107         (main):
108         * tests/check/libs/struct_i386.h:
109         Added ABI check for libs
110
111 2005-12-07  Wim Taymans  <wim@fluendo.com>
112
113         * tests/check/Makefile.am:
114         And add the struct_i386.h to dist.
115
116 2005-12-07  Wim Taymans  <wim@fluendo.com>
117
118         * tests/check/Makefile.am:
119         * tests/check/gst/.cvsignore:
120         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
121         (main):
122         * tests/check/gst/struct_i386.h:
123         Added check for ABI compatibility.
124
125 2005-12-07  Wim Taymans  <wim@fluendo.com>
126
127         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
128         (gst_fake_src_get_times), (gst_fake_src_create):
129         Fix broken sync option, fixes #323259
130
131 2005-12-07  Wim Taymans  <wim@fluendo.com>
132
133         * gst/gstbuffer.c:
134         Small docs update.
135
136         * gst/gstcaps.c: (gst_caps_is_equal):
137         Don't assert on NULL <--> X. Fixes #323260
138
139         * gst/gstminiobject.c: (gst_mini_object_replace):
140         If we're doing atomic operations, we might just as well use
141         the proper way to get an atomic pointer.
142
143         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
144         Clean up debugging.
145
146 2005-12-07  Michael Smith  <msmith@fluendo.com>
147
148         * gst/parse/grammar.y:
149           Remove handling of { } for threads.
150
151 2005-12-06  David Schleef  <ds@schleef.org>
152
153         * libs/gst/base/gstbasetransform.c: speling fix.
154
155 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * docs/libs/tmpl/gstdataprotocol.sgml:
158         * docs/random/omega/testing/gstobject.c:
159         * gst/gst.c:
160         * gst/gstclock.c:
161         * gst/gstelement.c:
162         * gst/gstelementfactory.c:
163         * gst/gsterror.c:
164         * gst/gstevent.c:
165         * gst/gstghostpad.c:
166         * gst/gstinfo.c:
167         * gst/gstpadtemplate.c:
168         * gst/gstregistryxml.c:
169         * gst/gsttaglist.c:
170         * gst/gsttagsetter.c:
171         * gst/gsttypefind.c:
172         * gst/gstvalue.c:
173         * libs/gst/base/gstbasesrc.c:
174         * libs/gst/net/gstnetclientclock.c:
175         * libs/gst/net/gstnettimeprovider.c:
176         * plugins/elements/gstfakesrc.c:
177         * plugins/elements/gstfdsrc.c:
178         * plugins/elements/gstfilesrc.c:
179         * plugins/elements/gstidentity.c:
180         * plugins/elements/gstqueue.c:
181         * plugins/elements/gsttypefindelement.c:
182         * plugins/indexers/gstfileindex.c:
183         * plugins/indexers/gstmemindex.c:
184         * tests/check/gst/gsttag.c:
185         * tests/old/examples/cutter/cutter.c:
186         * tests/old/examples/mixer/mixer.c:
187         * tests/old/examples/xml/runxml.c: (main):
188         * tests/old/testsuite/caps/normalisation.c:
189         * tests/old/testsuite/debug/global.c:
190         * tests/old/testsuite/parse/parse1.c:
191         * tools/gst-xmlinspect.c:
192         * win32/common/dirent.c:
193           expand tabs
194
195 === release 0.10.0 ===
196
197 2005-12-05   <thomas (at) apestaart (dot) org>
198
199         * configure.ac:
200           releasing 0.10.0, "Maroilles"
201
202 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
203
204         submitted by: Funda Wang <fundawang@linux.net.cn>
205
206         * po/LINGUAS:
207         * po/zh_CN.po:
208           added Chinese (Traditional) translation
209
210 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
211
212         * docs/gst/gstreamer-sections.txt:
213         * docs/libs/tmpl/gstdataprotocol.sgml:
214         * docs/random/thomasvs/TODO:
215         * gst/gstutils.c:
216         * gst/gstutils.h:
217           fix docs
218
219 2005-12-05  Andy Wingo  <wingo@pobox.com>
220
221         patch by: Wim Taymans <wim@fluendo.com>
222
223         * libs/gst/base/gstbasetransform.c
224         (gst_base_transform_prepare_output_buf)
225         (gst_base_transform_buffer_alloc):
226         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
227         alloc_buffer_and_set_caps.
228
229         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
230         set_caps on the source pad.
231         (gst_pad_alloc_buffer_and_set_caps): New function, does what
232         alloc_buffer used to do. Fixes #322874.
233
234         * docs/gst/gstreamer-sections.txt: 
235         * docs/design/part-negotiation.txt: 
236         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
237         changes.
238
239 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         patch by: Sebastien Moutte
242
243         * win32/MANIFEST:
244         * win32/common/config.h.in:
245         * win32/vs6/libgstcontroller.dsp:
246           win32 build fixes
247
248 2005-12-05  Wim Taymans  <wim@fluendo.com>
249
250         * gst/gstcaps.c: (gst_caps_is_equal):
251         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
252         (gst_fake_src_create):
253         Back out previous code changes, leave doc updates, file bugs 
254         instead. 
255
256 2005-12-05  Wim Taymans  <wim@fluendo.com>
257
258         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
259         (gst_fake_src_get_times), (gst_fake_src_create):
260         * plugins/elements/gstfakesrc.h:
261         Fix broken sync code.
262
263 2005-12-05  Wim Taymans  <wim@fluendo.com>
264
265         * gst/gstcaps.c: (gst_caps_is_equal):
266         Comparing NULL against !NULL yields different caps, not a
267         failure.
268
269 2005-12-05  Wim Taymans  <wim@fluendo.com>
270
271         * gst/gstpipeline.c:
272         Fix small typo in docs.
273
274 2005-12-05  Andy Wingo  <wingo@pobox.com>
275
276         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
277
278         * gst/gst.c (init_post): remove hard-coded 0.9 location for
279         registries/plugins with a MAJORMINOR one.
280         (plugin_desc): Rename library from gstcoreleements to
281         staticelements. Fixes #323222.
282
283 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
284
285         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
286           Change debug category to 'collectpads' from 'collect_pads'
287           (fixes #323250).
288
289 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         patch by: Sebastien Moutte
292
293         * libs/gst/controller/gstinterpolation.c:
294           use convert function for uint64/double
295         * win32/vs6/libgstcontroller.dsp:
296           link to GLib
297
298 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
299
300         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
301         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
302         * gst/gstutils.h:
303         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
304           add tests that seem to show that the guint64/gdouble conversions
305           are correct.
306
307 2005-12-02  Wim Taymans  <wim@fluendo.com>
308
309         * gst/gstregistry.c: (gst_registry_add_path):
310         * gst/gstregistry.h:
311         * gst/gstregistryxml.c:
312         Fix docs again.
313
314 2005-12-02  Wim Taymans  <wim@fluendo.com>
315
316         * gst/gstutils.c: (gst_util_uint64_scale_int64),
317         (gst_util_uint64_scale_int):
318         Small cleanup.
319
320         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
321         Add debug log line.
322
323         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
324         Add FIXME.
325
326 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
327
328         * win32/MANIFEST:
329         * win32/common/config.h:
330         * win32/vs6/gstreamer.dsw:
331         * win32/vs6/libgstcoreelements.dsp:
332         * win32/vs6/libgstelements.dsp:
333           renamed core elements plugin
334
335 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
336
337         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
338         (get_candidates):
339           do piece-wise major/minor comparison so 0.9 < 0.10
340           also allow .exe extensions for tools
341
342 2005-12-02  Michael Smith  <msmith@fluendo.com>
343
344         * gst/gst.c:
345           Escape a % to make gtkdoc happier; bug 322958.
346
347 === release 0.9.7 ===
348
349 2005-12-01   <thomas (at) apestaart (dot) org>
350
351         * configure.ac:
352           releasing 0.9.7, "My Dog Has No Nose"
353
354 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
355
356         * common/gst-xmlinspect.py:
357         * configure.ac:
358         * docs/libs/tmpl/gstdataprotocol.sgml:
359         * docs/random/release:
360         * po/af.po:
361         * po/az.po:
362         * po/bg.po:
363         * po/ca.po:
364         * po/cs.po:
365         * po/de.po:
366         * po/en_GB.po:
367         * po/fr.po:
368         * po/it.po:
369         * po/nb.po:
370         * po/nl.po:
371         * po/ru.po:
372         * po/sq.po:
373         * po/sr.po:
374         * po/sv.po:
375         * po/tr.po:
376         * po/uk.po:
377         * po/vi.po:
378         * win32/common/config.h:
379         * win32/common/config.h.in:
380         * win32/vs6/gst_inspect.dsp:
381         * win32/vs6/gst_launch.dsp:
382         * win32/vs6/libgstbase.dsp:
383         * win32/vs6/libgstelements.dsp:
384         * win32/vs6/libgstreamer.dsp:
385         * win32/vs7/GStreamer.vcproj:
386         * win32/vs7/gst-inspect.vcproj:
387         * win32/vs7/gst-launch.vcproj:
388         * win32/vs7/libgstbase.vcproj:
389           bump GST_MAJORMINOR to 0.10
390           reset libtool version
391
392 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
393
394         * po/LINGUAS:
395         * po/bg.po:
396           Added Bulgarian translation by (Alexander Shopov)
397
398 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
399
400         * tests/check/gst/gstplugin.c:
401           fix test
402
403 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
404
405         * common/gst-xmlinspect.py:
406         * common/gtk-doc-plugins.mak:
407         * configure.ac:
408         * docs/Makefile.am:
409         * docs/gst/Makefile.am:
410         * docs/gst/gstreamer-docs.sgml:
411         * docs/gst/gstreamer-sections.txt:
412         * docs/gst/gstreamer.types:
413         * docs/gst/gstreamer.types.in:
414         * docs/plugins/Makefile.am:
415         * docs/plugins/gstreamer-plugins-docs.sgml:
416         * docs/plugins/gstreamer-plugins-sections.txt:
417         * docs/plugins/gstreamer-plugins.types:
418         * docs/plugins/inspect.stamp:
419         * docs/plugins/inspect/plugin-coreelements.xml:
420         * docs/plugins/inspect/plugin-coreindexers.xml:
421         * docs/plugins/scanobj-build.stamp:
422         * gstreamer.spec.in:
423         * plugins/elements/Makefile.am:
424         * plugins/elements/gstelements.c:
425         * plugins/elements/gstfakesink.c:
426         * plugins/elements/gstfakesrc.c:
427         * plugins/elements/gstfilesink.c:
428         * plugins/elements/gstfilesrc.c:
429         * plugins/elements/gstqueue.c:
430         * plugins/indexers/Makefile.am:
431         * plugins/indexers/gstindexers.c:
432           document core plugins in a separate document just like all the
433           others
434           rename these plugins to something starting with core
435
436 2005-12-01  Andy Wingo  <wingo@pobox.com>
437
438         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
439         padding here before, but it missed the commit.
440
441 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
442
443         * libs/gst/controller/gstinterpolation.c:
444           whitespace prices have crashed, we should feel free to use some now
445           use gst_guint64_to_gdouble
446
447 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * libs/gst/controller/gstcontroller.c:
450         * libs/gst/controller/gsthelper.c:
451         * libs/gst/controller/gstinterpolation.c:
452         * libs/gst/controller/lib.c:
453           wrap config.h include
454
455 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * docs/gst/gstreamer-sections.txt:
458           update docs
459
460 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
461
462         * plugins/elements/gstelements.c:
463         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
464         (gst_fd_sink__class_init), (gst_fd_sink__init),
465         (gst_fd_sink__chain), (gst_fd_sink__set_property),
466         (gst_fd_sink__get_property):
467         * plugins/elements/gstfdsink.h:
468         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
469         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
470         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
471         (gst_fd_src_unlock), (gst_fd_src_set_property),
472         (gst_fd_src_get_property), (gst_fd_src_create),
473         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
474         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
475         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
476         (gst_fd_src_uri_handler_init):
477         * plugins/elements/gstfdsrc.h:
478         * plugins/elements/gstqueue.c: (gst_queue_get_type):
479           more anal cleanup
480
481 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
482
483         * docs/gst/Makefile.am:
484         * docs/gst/gstreamer.types.in:
485         * gst/Makefile.am:
486           fix the docs build
487
488 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * configure.ac:
491         * gst/Makefile.am:
492         * gst/gst.c:
493         * gst/gstplugin.h:
494         * gst/gstregistry.h:
495         * tests/benchmarks/complexity.c:
496         * tests/benchmarks/mass-elements.c:
497         * tests/check/Makefile.am:
498         * tools/Makefile.am:
499         * tools/gst-inspect.c:
500         * tools/gst-xmlinspect.c:
501           various fixes to make
502           --disable-nls --disable-registry --disable-loadsave
503           --disable-parse --disable-gst-debug
504           work and get the core .so down to 360444 bytes after stripping
505
506 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * Makefile.am:
509         * configure.ac:
510           descend into tests
511         * docs/random/thomasvs/TODO:
512         * tests/Makefile.am:
513         * tests/README:
514           add a README
515
516 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
517
518         * win32/GStreamer.vcproj:
519         * win32/MANIFEST:
520         * win32/Makefile:
521         * win32/Makefile.inspect:
522         * win32/Makefile.launch:
523         * win32/Makefile.register:
524         * win32/README.txt:
525         * win32/gst-inspect.vcproj:
526         * win32/gst-launch.vcproj:
527         * win32/gst-register.vcproj:
528         * win32/gstelements.vcproj:
529         * win32/gstgetbits.def:
530         * win32/gstgetbits.vcproj:
531         * win32/gstreamer-dbg.def:
532         * win32/gstreamer.def:
533         * win32/libgstbase.def:
534         * win32/libgstbase.vcproj:
535         * win32/link_oldruntime.c:
536         * win32/mman.c:
537         * win32/mman.h:
538         * win32/mman.inl:
539         * win32/msvc71.sln:
540           move even more stuff, win32/ is nice and clean now
541
542 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
543
544         * libs/gst/control/.cvsignore:
545         * win32/MANIFEST:
546         * win32/config.h:
547         * win32/dirent.c:
548         * win32/dirent.h:
549         * win32/gstbytestream.def:
550         * win32/gstbytestream.vcproj:
551         * win32/gstconfig.h:
552         * win32/gstenumtypes.c:
553         * win32/gstenumtypes.h:
554         * win32/gstoptimalscheduler.vcproj:
555         * win32/gstversion.h:
556         * win32/gtchar.h:
557         * win32/testsuite/bins.vcproj:
558         * win32/testsuite/bytestream.vcproj:
559         * win32/testsuite/caps.vcproj:
560         * win32/testsuite/cleanup.vcproj:
561         * win32/testsuite/clock.vcproj:
562         * win32/testsuite/debug.vcproj:
563         * win32/testsuite/dlopen.vcproj:
564         * win32/testsuite/dynparams.vcproj:
565         * win32/testsuite/elements.vcproj:
566         * win32/testsuite/ghostpads.vcproj:
567         * win32/testsuite/indexers.vcproj:
568         * win32/testsuite/negotiation.vcproj:
569         * win32/testsuite/parse.vcproj:
570         * win32/testsuite/plugin.vcproj:
571         * win32/testsuite/refcounting.vcproj:
572         * win32/testsuite/schedulers.vcproj:
573         * win32/testsuite/states.vcproj:
574         * win32/testsuite/tags.vcproj:
575         * win32/testsuite/threads.vcproj:
576           remove old win32 stuff that isn't maintained and should be
577           reorganized
578
579 2005-11-30  Andy Wingo  <wingo@pobox.com>
580
581         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
582         loading the gst.interfaces python module bork.
583
584         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
585         available since GLib 2.2. Fixes #318031.
586
587 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
588
589         * Makefile.am:
590         * check/.cvsignore:
591         * check/Makefile.am:
592         * check/elements/.cvsignore:
593         * check/elements/fakesrc.c:
594         * check/elements/fdsrc.c:
595         * check/elements/identity.c:
596         * check/generic/.cvsignore:
597         * check/generic/states.c:
598         * check/gst-libs/.cvsignore:
599         * check/gst-libs/controller.c:
600         * check/gst-libs/gdp.c:
601         * check/gst/.cvsignore:
602         * check/gst/capslist.h:
603         * check/gst/gst.c:
604         * check/gst/gstbin.c:
605         * check/gst/gstbuffer.c:
606         * check/gst/gstbus.c:
607         * check/gst/gstcaps.c:
608         * check/gst/gstelement.c:
609         * check/gst/gstevent.c:
610         * check/gst/gstghostpad.c:
611         * check/gst/gstiterator.c:
612         * check/gst/gstmessage.c:
613         * check/gst/gstminiobject.c:
614         * check/gst/gstobject.c:
615         * check/gst/gstpad.c:
616         * check/gst/gstpipeline.c:
617         * check/gst/gstplugin.c:
618         * check/gst/gstsegment.c:
619         * check/gst/gststructure.c:
620         * check/gst/gstsystemclock.c:
621         * check/gst/gsttag.c:
622         * check/gst/gstutils.c:
623         * check/gst/gstvalue.c:
624         * check/net/.cvsignore:
625         * check/net/gstnetclientclock.c:
626         * check/net/gstnettimeprovider.c:
627         * check/pipelines/.cvsignore:
628         * check/pipelines/cleanup.c:
629         * check/pipelines/simple_launch_lines.c:
630         * check/pipelines/stress.c:
631         * check/states/.cvsignore:
632         * check/states/sinks.c:
633         * configure.ac:
634         * examples/Makefile.am:
635         * examples/appreader/.cvsignore:
636         * examples/appreader/Makefile.am:
637         * examples/appreader/appreader.c:
638         * examples/controller/.cvsignore:
639         * examples/controller/Makefile.am:
640         * examples/controller/audio-example.c:
641         * examples/cutter/.cvsignore:
642         * examples/cutter/Makefile.am:
643         * examples/cutter/cutter.c:
644         * examples/cutter/cutter.h:
645         * examples/events/Makefile.am:
646         * examples/events/seek.c:
647         * examples/helloworld/.cvsignore:
648         * examples/helloworld/Makefile.am:
649         * examples/helloworld/helloworld.c:
650         * examples/helloworld2/.cvsignore:
651         * examples/helloworld2/Makefile.am:
652         * examples/helloworld2/helloworld2.c:
653         * examples/launch/.cvsignore:
654         * examples/launch/Makefile.am:
655         * examples/launch/mp3parselaunch.c:
656         * examples/launch/mp3play:
657         * examples/manual/.cvsignore:
658         * examples/manual/Makefile.am:
659         * examples/manual/extract.pl:
660         * examples/metadata/Makefile.am:
661         * examples/metadata/read-metadata.c:
662         * examples/mixer/.cvsignore:
663         * examples/mixer/Makefile.am:
664         * examples/mixer/mixer.c:
665         * examples/mixer/mixer.h:
666         * examples/pingpong/.cvsignore:
667         * examples/pingpong/Makefile.am:
668         * examples/pingpong/pingpong.c:
669         * examples/plugins/.cvsignore:
670         * examples/plugins/Makefile.am:
671         * examples/plugins/example.c:
672         * examples/plugins/example.h:
673         * examples/pwg/.cvsignore:
674         * examples/pwg/Makefile.am:
675         * examples/pwg/extract.pl:
676         * examples/queue/.cvsignore:
677         * examples/queue/Makefile.am:
678         * examples/queue/queue.c:
679         * examples/queue2/.cvsignore:
680         * examples/queue2/Makefile.am:
681         * examples/queue2/queue2.c:
682         * examples/queue3/.cvsignore:
683         * examples/queue3/Makefile.am:
684         * examples/queue3/queue3.c:
685         * examples/queue4/.cvsignore:
686         * examples/queue4/Makefile.am:
687         * examples/queue4/queue4.c:
688         * examples/retag/.cvsignore:
689         * examples/retag/Makefile.am:
690         * examples/retag/retag.c:
691         * examples/retag/transcode.c:
692         * examples/thread/.cvsignore:
693         * examples/thread/Makefile.am:
694         * examples/thread/thread.c:
695         * examples/typefind/.cvsignore:
696         * examples/typefind/Makefile.am:
697         * examples/typefind/typefind.c:
698         * examples/xml/.cvsignore:
699         * examples/xml/Makefile.am:
700         * examples/xml/createxml.c:
701         * examples/xml/runxml.c:
702         * tests/Makefile.am:
703         * tests/check/Makefile.am:
704         * testsuite/.cvsignore:
705         * testsuite/Makefile.am:
706         * testsuite/Rules:
707         * testsuite/caps/.cvsignore:
708         * testsuite/caps/Makefile.am:
709         * testsuite/caps/app_fixate.c:
710         * testsuite/caps/audioscale.c:
711         * testsuite/caps/caps.c:
712         * testsuite/caps/caps.h:
713         * testsuite/caps/caps_strings:
714         * testsuite/caps/compatibility.c:
715         * testsuite/caps/deserialize.c:
716         * testsuite/caps/enumcaps.c:
717         * testsuite/caps/eratosthenes.c:
718         * testsuite/caps/filtercaps.c:
719         * testsuite/caps/fixed.c:
720         * testsuite/caps/fraction-convert.c:
721         * testsuite/caps/fraction-multiply-and-zero.c:
722         * testsuite/caps/intersect2.c:
723         * testsuite/caps/intersection.c:
724         * testsuite/caps/normalisation.c:
725         * testsuite/caps/random.c:
726         * testsuite/caps/renegotiate.c:
727         * testsuite/caps/sets.c:
728         * testsuite/caps/simplify.c:
729         * testsuite/caps/string-conversions.c:
730         * testsuite/caps/structure.c:
731         * testsuite/caps/subtract.c:
732         * testsuite/caps/union.c:
733         * testsuite/debug/.cvsignore:
734         * testsuite/debug/Makefile.am:
735         * testsuite/debug/category.c:
736         * testsuite/debug/commandline.c:
737         * testsuite/debug/global.c:
738         * testsuite/debug/output.c:
739         * testsuite/debug/printf_extension.c:
740         * testsuite/dlopen/.cvsignore:
741         * testsuite/dlopen/Makefile.am:
742         * testsuite/dlopen/dlopen_gst.c:
743         * testsuite/dlopen/loadgst.c:
744         * testsuite/elements/.cvsignore:
745         * testsuite/elements/Makefile.am:
746         * testsuite/elements/gst-inspect-check.in:
747         * testsuite/elements/struct_i386.h:
748         * testsuite/elements/struct_size.c:
749         * testsuite/indexers/.cvsignore:
750         * testsuite/indexers/Makefile.am:
751         * testsuite/indexers/cache1.c:
752         * testsuite/indexers/indexdump.c:
753         * testsuite/parse/.cvsignore:
754         * testsuite/parse/Makefile.am:
755         * testsuite/parse/parse1.c:
756         * testsuite/parse/parse2.c:
757         * testsuite/plugin/.cvsignore:
758         * testsuite/plugin/Makefile.am:
759         * testsuite/plugin/README:
760         * testsuite/plugin/dynamic.c:
761         * testsuite/plugin/linked.c:
762         * testsuite/plugin/loading.c:
763         * testsuite/plugin/registry.c:
764         * testsuite/plugin/static.c:
765         * testsuite/plugin/static2.c:
766         * testsuite/plugin/testplugin.c:
767         * testsuite/plugin/testplugin2.c:
768         * testsuite/plugin/testplugin2_s.c:
769         * testsuite/plugin/testplugin_s.c:
770         * testsuite/refcounting/.cvsignore:
771         * testsuite/refcounting/Makefile.am:
772         * testsuite/refcounting/bin.c:
773         * testsuite/refcounting/element.c:
774         * testsuite/refcounting/element_pad.c:
775         * testsuite/refcounting/mainloop.c:
776         * testsuite/refcounting/mem.c:
777         * testsuite/refcounting/mem.h:
778         * testsuite/refcounting/object.c:
779         * testsuite/refcounting/pad.c:
780         * testsuite/refcounting/sched.c:
781         * testsuite/refcounting/thread.c:
782         * testsuite/states/.cvsignore:
783         * testsuite/states/Makefile.am:
784         * testsuite/states/bin.c:
785         * testsuite/states/locked.c:
786         * testsuite/states/parent.c:
787         * testsuite/threads/.cvsignore:
788         * testsuite/threads/159566.c:
789         * testsuite/threads/159852.c:
790         * testsuite/threads/Makefile.am:
791         * testsuite/threads/queue.c:
792         * testsuite/threads/signals.c:
793         * testsuite/threads/staticrec.c:
794         * testsuite/threads/thread.c:
795         * testsuite/threads/threadb.c:
796         * testsuite/threads/threadc.c:
797         * testsuite/threads/threadd.c:
798         * testsuite/threads/threade.c:
799         * testsuite/threads/threadf.c:
800         * testsuite/threads/threadg.c:
801         * testsuite/threads/threadh.c:
802         * testsuite/threads/threadi.c:
803           move all of these under tests
804
805 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
806
807         * configure.ac:
808         * tests/Makefile.am:
809           fix distcheck
810
811 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * docs/gst/gstreamer-sections.txt:
814         * tests/sched/.cvsignore:
815         * tests/sched/Makefile.am:
816         * tests/sched/cases/(fs-fs).xml:
817         * tests/sched/cases/(fs-i-fs).xml:
818         * tests/sched/cases/(fs-i-i-fs).xml:
819         * tests/sched/cases/(fs-i-q[i-fs]).xml:
820         * tests/sched/dynamic-pipeline.c:
821         * tests/sched/interrupt1.c:
822         * tests/sched/interrupt2.c:
823         * tests/sched/interrupt3.c:
824         * tests/sched/runtestcases:
825         * tests/sched/runxml.c:
826         * tests/sched/sched-stress.c:
827         * tests/sched/sort.c:
828         * tests/sched/testcases:
829         * tests/sched/testcases1.tc:
830         * tests/seeking/.cvsignore:
831         * tests/seeking/Makefile.am:
832         * tests/seeking/seeking1.c:
833         * tests/threadstate/.cvsignore:
834         * tests/threadstate/Makefile.am:
835         * tests/threadstate/test1.c:
836         * tests/threadstate/test2.c:
837         * tests/threadstate/threadstate1.c:
838         * tests/threadstate/threadstate2.c:
839         * tests/threadstate/threadstate3.c:
840         * tests/threadstate/threadstate4.c:
841         * tests/threadstate/threadstate5.c:
842           remove obsolete tests
843         * configure.ac:
844         * tests/bench-complexity.scm:
845         * tests/bench-mass_elements.scm:
846         * tests/complexity.c:
847         * tests/complexity.gnuplot:
848         * tests/instantiate/.cvsignore:
849         * tests/instantiate/Makefile.am:
850         * tests/instantiate/caps.c:
851         * tests/mass_elements.c:
852         * tests/network-clock-utils.scm:
853         * tests/network-clock.scm:
854         * tests/plot-data:
855         First pass at cleaning up tests/ dir before moving the rest
856         Combined with CVS surgery
857
858 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * po/POTFILES.in:
861           queue has moved, update
862
863 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
864
865         * docs/gst/gstreamer-sections.txt:
866           remove double entries from the docs
867         * gst/gst_private.h:
868         * gst/gstinfo.c: (_gst_debug_init):
869           remove the THREAD debug category
870         * gst/Makefile.am:
871         * gst/gstqueue.c:
872         * gst/gstqueue.h:
873         * docs/gst/gstreamer.types:
874         * plugins/elements/gstqueue.c: (gst_queue_get_type),
875         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
876           completely move queue and fix up debugging categories
877
878 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
879
880         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
881           make initialization portable, using LL is not
882
883 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
884
885         * win32/common/gstconfig.h:
886           add large padding
887
888 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
889
890         * win32/common/libgstreamer.def:
891           rename symbols; sort base section
892
893 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
894
895         * gst/gstclock.c: (do_linear_regression):
896           remove crack non-portable handrolled DEBUG macro
897
898 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
899
900         * docs/random/release:
901           update notes
902         * win32/common/gstenumtypes.c: (register_gst_object_flags),
903         (gst_object_flags_get_type), (register_gst_bin_flags),
904         (gst_bin_flags_get_type), (register_gst_buffer_flag),
905         (gst_buffer_flag_get_type), (register_gst_bus_flags),
906         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
907         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
908         (gst_caps_flags_get_type), (register_gst_clock_return),
909         (gst_clock_return_get_type), (register_gst_clock_entry_type),
910         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
911         (gst_clock_flags_get_type), (register_gst_state),
912         (gst_state_get_type), (register_gst_state_change_return),
913         (gst_state_change_return_get_type), (register_gst_state_change),
914         (gst_state_change_get_type), (register_gst_element_flags),
915         (gst_element_flags_get_type), (register_gst_core_error),
916         (gst_core_error_get_type), (register_gst_library_error),
917         (gst_library_error_get_type), (register_gst_resource_error),
918         (gst_resource_error_get_type), (register_gst_stream_error),
919         (gst_stream_error_get_type), (register_gst_event_type_flags),
920         (gst_event_type_flags_get_type), (register_gst_event_type),
921         (gst_event_type_get_type), (register_gst_seek_type),
922         (gst_seek_type_get_type), (register_gst_seek_flags),
923         (gst_seek_flags_get_type), (register_gst_format),
924         (gst_format_get_type), (register_gst_index_certainty),
925         (gst_index_certainty_get_type), (register_gst_index_entry_type),
926         (gst_index_entry_type_get_type),
927         (register_gst_index_lookup_method),
928         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
929         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
930         (gst_index_resolver_method_get_type), (register_gst_index_flags),
931         (gst_index_flags_get_type), (register_gst_debug_level),
932         (gst_debug_level_get_type), (register_gst_debug_color_flags),
933         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
934         (gst_iterator_result_get_type), (register_gst_iterator_item),
935         (gst_iterator_item_get_type), (register_gst_message_type),
936         (gst_message_type_get_type), (register_gst_mini_object_flags),
937         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
938         (gst_pad_link_return_get_type), (register_gst_flow_return),
939         (gst_flow_return_get_type), (register_gst_activate_mode),
940         (gst_activate_mode_get_type), (register_gst_pad_direction),
941         (gst_pad_direction_get_type), (register_gst_pad_flags),
942         (gst_pad_flags_get_type), (register_gst_pad_presence),
943         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
944         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
945         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
946         (gst_plugin_error_get_type), (register_gst_plugin_flags),
947         (gst_plugin_flags_get_type), (register_gst_rank),
948         (gst_rank_get_type), (register_gst_query_type),
949         (gst_query_type_get_type), (register_gst_tag_merge_mode),
950         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
951         (gst_tag_flag_get_type), (register_gst_task_state),
952         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
953         (gst_alloc_trace_flags_get_type),
954         (register_gst_type_find_probability),
955         (gst_type_find_probability_get_type), (register_gst_uri_type),
956         (gst_uri_type_get_type), (register_gst_parse_error),
957         (gst_parse_error_get_type):
958         * win32/common/gstenumtypes.h:
959         * win32/common/gstversion.h:
960           update visual studio generated files
961
962 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
963
964         * win32/vs6/libgstbase.dsp:
965         * win32/vs6/libgstelements.dsp:
966           update project files for new locations
967
968 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
969
970         * Makefile.am:
971           remove some files
972         * README:
973           reinstate and update
974         * DEVEL:
975         * REQUIREMENTS:
976           removed
977         * LICENSE:
978         * docs/random/LICENSE:
979           moved to random
980
981 2005-11-30  Edward Hervey  <edward@fluendo.com>
982
983         * gst/gsttypefind.c: (gst_type_find_register):
984         * gst/gsttypefind.h:
985         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
986         (gst_type_find_factory_dispose):
987         * gst/gsttypefindfactory.h:
988         Fix memory leak in GstTypeFindFactory.
989
990 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
991
992         * gst/gst.c:
993         * plugins/elements/Makefile.am:
994         * plugins/elements/gstelements.c:
995         * plugins/elements/gstqueue.c:
996           move queue from core to the elements plugin
997
998 2005-11-29  Andy Wingo  <wingo@pobox.com>
999
1000         * libs/gst/base/gstbasetransform.h: 
1001         * libs/gst/base/gstbasesrc.h: 
1002         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1003
1004         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1005         of pointers by which to pad very extensible base classes (like the
1006         ones in libs/gst/base).
1007
1008 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1009
1010         * docs/gst/gstreamer-docs.sgml:
1011         * docs/gst/gstreamer-sections.txt:
1012         * docs/libs/gstreamer-libs-docs.sgml:
1013         * docs/libs/gstreamer-libs-sections.txt:
1014           moving documentation from core to lib
1015
1016 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1017
1018         * check/Makefile.am:
1019         * configure.ac:
1020         * docs/gst/Makefile.am:
1021         * gst/Makefile.am:
1022         * gst/base/.cvsignore:
1023         * gst/base/Makefile.am:
1024         * gst/base/README:
1025         * gst/base/gstadapter.c:
1026         * gst/base/gstadapter.h:
1027         * gst/base/gstbasesink.c:
1028         * gst/base/gstbasesink.h:
1029         * gst/base/gstbasesrc.c:
1030         * gst/base/gstbasesrc.h:
1031         * gst/base/gstbasetransform.c:
1032         * gst/base/gstbasetransform.h:
1033         * gst/base/gstcollectpads.c:
1034         * gst/base/gstcollectpads.h:
1035         * gst/base/gstpushsrc.c:
1036         * gst/base/gstpushsrc.h:
1037         * gst/base/gsttypefindhelper.c:
1038         * gst/base/gsttypefindhelper.h:
1039         * gst/check/Makefile.am:
1040         * gst/check/gstcheck.c:
1041         * gst/check/gstcheck.h:
1042         * gst/net/Makefile.am:
1043         * gst/net/gstnet.h:
1044         * gst/net/gstnetclientclock.c:
1045         * gst/net/gstnetclientclock.h:
1046         * gst/net/gstnettimepacket.c:
1047         * gst/net/gstnettimepacket.h:
1048         * gst/net/gstnettimeprovider.c:
1049         * gst/net/gstnettimeprovider.h:
1050         * libs/gst/Makefile.am:
1051         * libs/gst/base/Makefile.am:
1052         * libs/gst/base/gstbasetransform.c:
1053         * libs/gst/check/Makefile.am:
1054         * plugins/elements/Makefile.am:
1055         * po/POTFILES.in:
1056           CVS surgery + support to move base, check, and net out of gst
1057           and into libs/gst
1058
1059 2005-11-29  Andy Wingo  <wingo@pobox.com>
1060
1061         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1062
1063         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1064         padding.
1065
1066         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1067
1068         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1069
1070         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1071
1072         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1073         padding; reduces object size by about 30%. We don't expect
1074         anything else to go into gstobject.
1075
1076         * gst/gstminiobject.h (struct _GstMiniObject)
1077         (struct _GstMiniObjectClass): Only one pointer of padding; the
1078         payload is only a pointer and two ints anyway. For the class there
1079         are only two methods as well.
1080         
1081         * gst/gstelement.h (struct _GstElementClass): Removed
1082         the state_changed signal callback, it is not used.
1083
1084 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * docs/gst/gstreamer.types:
1087           fix includes, though they are a little dinky
1088
1089 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1090
1091         * check/Makefile.am:
1092           look in the right place for elements, a lot more chance of
1093           success
1094         * gst/Makefile.am:
1095           remove indexers and elements subdirs
1096         * plugins/Makefile.am:
1097           make indexers conditional
1098
1099 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1100
1101         * Makefile.am:
1102         * configure.ac:
1103         * plugins/elements/Makefile.am:
1104         * plugins/elements/gstcapsfilter.c:
1105         * plugins/elements/gstfilesink.c:
1106         * plugins/elements/gstfilesrc.c:
1107         * plugins/elements/gstidentity.c:
1108         * plugins/indexers/Makefile.am:
1109           do CVS surgery and related build fixery to move elements
1110           and indexers in a new gstreamer/plugins directory, out of the
1111           gst/ directory
1112
1113 2005-11-29  Andy Wingo  <wingo@pobox.com>
1114
1115         * check/Makefile.am:
1116         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1117         * pkgconfig/gstreamer-net.pc.in:
1118         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1119         #322257.
1120
1121 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         * tools/Makefile.am:
1124         * tools/gst-complete.1.in:
1125         * tools/gst-complete.c:
1126         * tools/gst-compprep.1.in:
1127         * tools/gst-compprep.c:
1128           removing -compprep and -complete
1129
1130 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1131
1132         * gst/gstevent.c: (gst_event_new_new_segment),
1133         (gst_event_parse_new_segment):
1134         * gst/gstevent.h:
1135           fix #320529 - clean up new_segment API and structure.
1136           Let's hope everyone was using the methods, and not the structure.
1137
1138 2005-11-29  Edward Hervey  <edward@fluendo.com>
1139
1140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1141         (gst_base_sink_event), (gst_base_sink_do_sync),
1142         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1143         Properly handle non GST_FORMAT_TIME segment
1144         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1145         Properly handle non GST_FORMAT_TIME segment
1146         * gst/gstsegment.c:
1147         This function is valid if the accumulator is 0 and the format
1148         is different from the requested format.
1149         
1150 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1151
1152         * docs/gst/gstreamer-sections.txt:
1153         Add gst_query_new_seeking and gst_query_parse_seeking to the
1154         docs.
1155
1156 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1157
1158         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1159           Treat a pad alloc with new caps the same as if we were not
1160           negotiated, in order to allow a changing upstream output
1161           to produce a new format of data.
1162
1163 2005-11-29  Edward Hervey  <edward@fluendo.com>
1164
1165         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1166         (gst_base_transform_event), (gst_base_transform_eventfunc):
1167         The event virtual method is now properly implemented, with a default
1168         handler
1169         Sub classes should call the parent_class event method. They should
1170         return FALSE if they had a problem handling the given event, or don't
1171         want GstBaseTransform to send that even downstream
1172         * gst/elements/gstidentity.c: (gst_identity_class_init),
1173         (gst_identity_init), (gst_identity_event),
1174         (gst_identity_transform_ip), (gst_identity_set_property),
1175         (gst_identity_get_property):
1176         * gst/elements/gstidentity.h:
1177         Added the single-segment boolean property.
1178         If set to TRUE, it will output a single segment of data, starting from
1179         0, will eat up all incoming newsegment, and modify the timestamp of the
1180         buffers accordingly
1181
1182 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1183
1184         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1185           Don't ref NULL target pad (#322751). Improve docs.
1186
1187 2005-11-29  Michael Smith  <msmith@fluendo.com>
1188
1189         * gst/gstregistryxml.c: (load_plugin):
1190           Don't crash if we failed to load a feature from a plugin. 
1191
1192 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1193
1194         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1195         (GST_START_TEST):
1196           use more check API and less GLib API
1197
1198 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * Makefile.am:
1201           don't run checks if we don't have check
1202         * common/check.mak:
1203           remove the registry when running make torture
1204         * docs/gst/gstreamer-sections.txt:
1205           remove second multiply
1206         * gst/gstqueue.c: (gst_queue_loop):
1207           fix a compile warning when disabling debug
1208
1209 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1210
1211         * gst/gstinfo.h:
1212         Hey! Let's print the pad name if the pointer != NULL instead
1213         of when it == NULL :-)
1214
1215 2005-11-28  Wim Taymans  <wim@fluendo.com>
1216
1217         * check/gst/gstutils.c: (GST_START_TEST):
1218         Updated check, add some scaling accuracy checking code.
1219
1220         * gst/gstutils.c: (gst_util_div128_64),
1221         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1222         (gst_util_uint64_scale_int):
1223         Fix 6 times faster division code. Optimize for common 
1224         1/1 and less common X/1 cases.
1225
1226 2005-11-28  Wim Taymans  <wim@fluendo.com>
1227
1228         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1229         More checks.
1230
1231         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1232         (do_linear_regression), (gst_clock_add_observation):
1233         Cleanups.
1234         Release lock when the clock cannot be slaved.
1235         Catch the case where the regression returned an invalid denominator.
1236
1237         * gst/gstutils.c: (gst_util_div128_64_iterate),
1238         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1239         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1240         Add protentially more performant non-iterative 128/64 divide function
1241         that unfortunatly does not work yet.
1242         Shortcut the trivial 0/X = 0 case.
1243         Remove the warnings on overflow.
1244
1245 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1246
1247         * gst/gstplugin.c: (gst_plugin_register_func):
1248           everything causing a plugin not to load should be at least a WARNING
1249
1250 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1251
1252         * docs/random/ensonic/dparams.txt:
1253           some TODOs for the next dev cycle
1254         * libs/gst/controller/gstcontroller.c:
1255         (gst_controlled_property_set_interpolation_mode),
1256         (gst_controlled_property_new):
1257         * libs/gst/controller/gstcontroller.h:
1258           use base type to assign acccessor functions
1259
1260 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1261
1262         * check/Makefile.am:
1263         Oops, that should have been top_srcdir
1264
1265 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1266
1267         * check/Makefile.am:
1268         * check/elements/fdsrc.c: (GST_START_TEST):
1269         Use a cmdline define to specify the location of a file to use for
1270         testing, to avoid breaking distcheck.
1271
1272 2005-11-28  Andy Wingo  <wingo@pobox.com>
1273
1274         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1275
1276 2005-11-28  Edward Hervey  <edward@fluendo.com>
1277
1278         * tools/gst-launch.c: (main):
1279         Clarify the output strings, makes it easier to translate.
1280         Fixes #322626
1281
1282 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1283
1284         * gst/Makefile.am:
1285           don't try and build net if we don't even have <sys/socket.h>
1286
1287 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1288
1289         * check/Makefile.am:
1290         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1291         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1292           Add tests for fdsrc seekability
1293
1294         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1295         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1296         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1297         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1298         * gst/elements/gstfdsrc.h:
1299           fdsrc should not be a 'live' source.
1300           Implement seeking on seekable fd's.
1301
1302         * gst/gstquery.c: (gst_query_new_seeking),
1303         (gst_query_parse_seeking):
1304         * gst/gstquery.h:
1305           Implement SEEKING query functions: 
1306             *_new_seeking and *_parse_seeking
1307
1308 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1309
1310         * gst/gstelement.c: (gst_element_dispose):
1311           don't loop forever
1312
1313         * gst/gstiterator.c:
1314         * gst/gststructure.c:
1315           doc fixes
1316
1317         * libs/gst/controller/gstcontroller.c:
1318         (gst_controlled_property_set_interpolation_mode):
1319         * libs/gst/controller/gstcontroller.h:
1320         * libs/gst/controller/gstinterpolation.c:
1321         (interpolate_none_get_enum_value_array):
1322           support controlling enums
1323
1324 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1325
1326         * gst/gstvalue.c:
1327           Improve documentation for gst_value_union().
1328
1329         * gst/gstvalue.h:
1330           Change return value for union, intersect and subtract functions
1331           from gint to gboolean.
1332
1333 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1334
1335         * gst/gstvalue.c: (gst_value_serialize_any_list),
1336         (gst_value_transform_any_list_string),
1337         (gst_value_deserialize_list), (gst_value_deserialize_array),
1338         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1339         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1340         (gst_value_set_fraction_range_full),
1341         (gst_value_deserialize_fraction_range),
1342         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1343         (gst_value_deserialize_boolean),
1344         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1345         (gst_value_serialize_float), (gst_value_deserialize_float),
1346         (gst_string_wrap), (gst_value_deserialize_string),
1347         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1348         (gst_value_union_int_range_int_range),
1349         (gst_value_intersect_int_range_int_range),
1350         (gst_value_intersect_double_range_double_range),
1351         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1352         (gst_value_subtract_int_range_int_range),
1353         (gst_value_subtract_double_double_range),
1354         (gst_value_subtract_double_range_double_range),
1355         (gst_value_deserialize_fraction):
1356         * gst/gstvalue.h:
1357           Use gint, gdouble and gchar in our API instead of int, double and
1358           char (and make usage in gstvalue.c more consistent).
1359
1360 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * check/Makefile.am:
1363         * libs/gst/controller/Makefile.am:
1364         * libs/gst/dataprotocol/Makefile.am:
1365           fix up Makefile.am and remove GST_ENABLE_NEW
1366
1367 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1368
1369         * configure.ac:
1370         * gst/Makefile.am:
1371         * gst/base/Makefile.am:
1372         * gst/check/Makefile.am:
1373         * gst/elements/Makefile.am:
1374         * gst/net/Makefile.am:
1375           update LDFLAGS use some more
1376
1377 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1378
1379         * common/m4/gst-doc.m4:
1380           Fixes #312589
1381
1382 2005-11-26  Edward Hervey  <edward@fluendo.com>
1383
1384         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1385         This shouldn't issue a g_warning since it returns NULL if it
1386         couldn't find the plugin, and all functions using this behave
1387         properly on a NULL return. Switching to a GST_WARNING.
1388
1389 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1390
1391         * gst/gstbin.c: (gst_bin_handle_message_func):
1392         Don't leak clock messages.
1393
1394 2005-11-25  Wim Taymans  <wim@fluendo.com>
1395
1396         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1397         (gst_util_uint64_scale_int):
1398         Optimisations, remove unneeded vars.
1399
1400 2005-11-25  Wim Taymans  <wim@fluendo.com>
1401
1402         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1403         Added more checks for the high precision uint64 cases.
1404
1405         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1406         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1407         Implement high precision (guint64 * guint64) / guint64.
1408
1409 2005-11-24  Wim Taymans  <wim@fluendo.com>
1410
1411         * gst/base/gstbasesrc.c: (gst_base_src_query):
1412         Fix wrong percentage query.
1413
1414         * gst/gstutils.c: (gst_util_uint64_scale),
1415         (gst_util_uint64_scale_int):
1416         Add some more common cases that can be handled 
1417         efficiently to _scale.
1418
1419 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1422         (gst_mini_object_suite):
1423           don't use check calls from threads; check probably isn't
1424           threadsafe and using a lock to make it threadsafe would
1425           defeat the purpose of this check
1426         * gst/check/gstcheck.c:
1427         * gst/check/gstcheck.h:
1428           use GST_DEBUG some more
1429
1430 2005-11-24  Wim Taymans  <wim@fluendo.com>
1431
1432         * gst/gstutils.c: (gst_util_uint64_scale),
1433         (gst_util_uint64_scale_int):
1434         Chain trivial case to _scale_int.
1435
1436 2005-11-24  Wim Taymans  <wim@fluendo.com>
1437
1438         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1439         Added test for scaling.
1440
1441         * gst/gstclock.h:
1442         Small doc fix.
1443
1444         * gst/gstutils.c: (gst_util_uint64_scale_int):
1445         Implemented high precision scaling code.
1446
1447 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1448
1449         * gst/gstinfo.h:
1450           do not crash on pad==NULL
1451
1452 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1453
1454         Patch by: Stefan Kost
1455
1456         * common/gtk-doc.mak:
1457         * docs/gst/Makefile.am:
1458         * docs/libs/Makefile.am:
1459           Fix distcheck issues for the libraries docs build
1460           Closes #319599.
1461
1462 2005-11-24  Michael Smith <msmith@fluendo.com>
1463
1464         * docs/manual/basics-helloworld.xml:
1465           Fix bug #315027: memory leak in example code in docs.
1466
1467 2005-11-24  Michael Smith <msmith@fluendo.com>
1468
1469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1470           Unlock the PREROLL_LOCK in a failure case.
1471
1472 2005-11-24  Wim Taymans  <wim@fluendo.com>
1473
1474         * docs/gst/gstreamer-sections.txt:
1475         * gst/base/gstadapter.h:
1476         * gst/base/gstbasesink.h:
1477         * gst/base/gstbasesrc.h:
1478         * gst/base/gstbasetransform.h:
1479         * gst/base/gstpushsrc.h:
1480         * gst/elements/gstfakesink.h:
1481         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1482         * gst/elements/gstfakesrc.h:
1483         * gst/elements/gstfilesink.h:
1484         * gst/elements/gstfilesrc.h:
1485         * gst/gst.c:
1486         * gst/gstbin.c:
1487         * gst/gstbuffer.c: (_gst_buffer_copy):
1488         * gst/gstbus.h:
1489         * gst/gstcaps.c:
1490         * gst/gstchildproxy.c:
1491         * gst/gstclock.c:
1492         * gst/gstelement.c:
1493         * gst/gstelementfactory.c:
1494         * gst/gstelementfactory.h:
1495         * gst/gstevent.c:
1496         * gst/gstghostpad.h:
1497         * gst/gstindex.h:
1498         * gst/gstinterface.h:
1499         * gst/gstminiobject.c:
1500         * gst/gstminiobject.h:
1501         * gst/gstpad.c:
1502         * gst/gstpad.h:
1503         * gst/gstpadtemplate.h:
1504         * gst/gstpipeline.h:
1505         * gst/gstpluginfeature.h:
1506         * gst/gstquery.h:
1507         * gst/gstqueue.h:
1508         * gst/gsttaglist.c:
1509         * gst/gsttaglist.h:
1510         * gst/gsttagsetter.c:
1511         * gst/gsttagsetter.h:
1512         * gst/gsttrace.c:
1513         * gst/gsttrace.h:
1514         * gst/gsttypefind.h:
1515         * gst/gsturi.h:
1516         * gst/gstvalue.c:
1517         * gst/net/gstnetclientclock.c:
1518         * gst/net/gstnetclientclock.h:
1519         * gst/net/gstnettimepacket.c:
1520         * gst/net/gstnettimeprovider.c:
1521         * gst/net/gstnettimeprovider.h:
1522         Doc fixes.
1523
1524 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * configure.ac: back to HEAD
1527
1528 === release 0.9.6 ===
1529
1530 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1531
1532         * configure.ac:
1533           releasing 0.9.6, "Always On Time"
1534
1535 2005-11-23  Wim Taymans  <wim@fluendo.com>
1536
1537         * docs/gst/gstreamer-sections.txt:
1538         * gst/glib-compat.c:
1539         * gst/gsttagsetter.c:
1540         * gst/gstvalue.c:
1541         * gst/net/gstnetclientclock.c:
1542         * gst/net/gstnettimepacket.h:
1543         Doc updates.
1544
1545 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1546
1547         * docs/faq/using.xml:
1548         * docs/libs/tmpl/gstcontrol.sgml:
1549         * docs/manual/advanced-dparams.xml:
1550         * docs/manual/appendix-checklist.xml:
1551         * docs/manual/basics-elements.xml:
1552         * docs/pwg/other-source.xml:
1553         * docs/random/moving-plugins:
1554         * gst/gstpad.c:
1555         * tools/gst-launch.1.in:
1556           remove mentions of sinesrc
1557
1558 2005-11-23  Michael Smith <msmith@fluendo.com>
1559
1560         * docs/gst/gstreamer-sections.txt:
1561           Update for new API and API changes.
1562         * gst/gstobject.h:
1563           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1564         * gst/gstvalue.c:
1565           Documentation typo fix.
1566         * gst/net/gstnettimepacket.c:
1567           Documentation fixes for arguments.
1568
1569 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1570
1571         * gst/gststructure.c: (gst_structure_get_fraction),
1572         (gst_structure_parse_value),
1573         (gst_structure_fixate_field_nearest_fraction):
1574         * gst/gststructure.h:
1575         * gst/gstutils.c: (gst_util_uint64_scale_int):
1576         * gst/gstutils.h:
1577         * scripts/update-funcnames:
1578         API Changes. 
1579         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1580         Make gst_structure_fixate_field_nearest_fraction take a numerator
1581         and denominator argument instead of a GValue
1582         add gst_structure_get_fraction helper function.
1583
1584 2005-11-23  Wim Taymans  <wim@fluendo.com>
1585
1586         * docs/design/part-TODO.txt:
1587         Update TODO.
1588
1589         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1590         * gst/net/gstnetclientclock.h:
1591         Use parent fields for timeout and window_size.
1592
1593 2005-11-23  Andy Wingo  <wingo@pobox.com>
1594
1595         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1596         rate_num/rate_denom change.
1597
1598         * gst/net/gstnetclientclock.c
1599         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1600         OBJECT_LOCK. Don't call add_observation with the lock.
1601
1602         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1603         fraction.
1604         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1605         rate fraction.
1606         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1607         deal with rate as a fraction whose numerator and denominator are
1608         GstClockTime values.
1609         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1610         master; the other fields are protected by the SLAVE_LOCK.
1611         (do_linear_regression): Note that this must be called with the
1612         SLAVE_LOCK.
1613         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1614         OBJECT_LOCK. Call set_calibration instead of touching the
1615         variables directly.
1616         (gst_clock_set_property, gst_clock_get_property): Protect
1617         master/slave parameters with the SLAVE_LOCK.
1618
1619         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1620         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1621         note that all of the instance variables that add_observation and
1622         the set_master functions use are protected by that lock and not
1623         the OBJECT_LOCK.
1624         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1625
1626         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1627         the caller to take the object lock.
1628
1629 2005-11-23  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/gsterror.c: (_gst_core_errors_init):
1632         * gst/gsterror.h:
1633         Add error for clock stuff.
1634
1635         * gst/gstpipeline.c: (gst_pipeline_change_state),
1636         (gst_pipeline_set_clock):
1637         Post clock error when clock cannot be used in a pipeline.
1638
1639 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1640
1641         * docs/gst/gstreamer-sections.txt:
1642           make two symbols from gstinfo private for the docs
1643         * gst/base/gstcollectpads.h:
1644         * gst/gstutils.c:
1645           fix doc typos, update docs
1646
1647 2005-11-22  Wim Taymans  <wim@fluendo.com>
1648
1649         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1650         (gst_base_sink_wait), (gst_base_sink_do_sync),
1651         (gst_base_sink_handle_event):
1652         * gst/base/gstbasesink.h:
1653         No need to store the clock, the parent element class already
1654         has it.
1655
1656         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1657         Updates for clock_set returning a gboolean
1658
1659         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1660         (gst_clock_id_wait_async), (gst_clock_class_init),
1661         (gst_clock_init), (gst_clock_finalize),
1662         (gst_clock_get_internal_time), (gst_clock_get_time),
1663         (gst_clock_slave_callback), (gst_clock_set_master),
1664         (gst_clock_get_master), (do_linear_regression),
1665         (gst_clock_add_observation), (gst_clock_set_property),
1666         (gst_clock_get_property):
1667         * gst/gstclock.h:
1668         Implement master/slave. When setting a clock as a slave, a
1669         periodic timeout is scheduled to sample master and slave times.
1670         Then the slave clock is recalibrated to match offset and rate
1671         of the master clock.
1672         Update logging a bit.
1673         Add flag so that a clock can state that is cannot be slaved to
1674         another clock.
1675
1676         * gst/gstelement.c: (gst_element_set_clock):
1677         * gst/gstelement.h:
1678         The set clock returns a gboolean for when an element cannot
1679         deal with the selected clock in the pipeline. 
1680
1681         * gst/gstpipeline.c: (gst_pipeline_change_state),
1682         (gst_pipeline_set_clock):
1683         * gst/gstpipeline.h:
1684         Handle the case where the selected clock cannot be set on
1685         the pipeline.
1686
1687         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1688         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1689         (gst_net_client_clock_set_property),
1690         (gst_net_client_clock_get_property),
1691         (gst_net_client_clock_observe_times):
1692         * gst/net/gstnetclientclock.h:
1693         Use regression code in GstClock parent, remove duplicated
1694         functionality.
1695
1696 2005-11-22  Michael Smith <msmith@fluendo.com>
1697
1698         * gst/gstutils.c: (gst_util_clock_time_scale):
1699         * gst/gstutils.h:
1700         * docs/gst/gstreamer-sections.txt:
1701           Rename method to have extra underscore.
1702
1703 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1704
1705         * gst/elements/Makefile.am:
1706         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1707         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1708         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1709         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1710         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1711         * gst/elements/gstfakesrc.h:
1712         * gst/gstqueue.c: (queue_leaky_get_type):
1713           correctly fix GEnumValues so that nick is the short lowercase
1714           dashed tag
1715         * tools/gst-inspect.c: (print_element_properties_info):
1716           also show the nick, since it's useful to use from parse_launch
1717           syntax
1718           Fixes #322139
1719
1720 2005-11-22  Michael Smith <msmith@fluendo.com>
1721
1722         * gst/gstutils.c: (gst_util_clocktime_scale):
1723         * gst/gstutils.h:
1724         * docs/gst/gstreamer-sections.txt:
1725           Add util method for scaling a clocktime by a fraction. Useful 
1726           implementation is left as an exercise for the reader.
1727
1728 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1729
1730         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1731         If needed, allocate storage in the destination value during
1732         collection.
1733
1734 2005-11-22  Edward Hervey  <edward@fluendo.com>
1735
1736         * docs/gst/gstreamer-sections.txt:
1737         * gst/Makefile.am:
1738         * gst/gst.h:
1739         * gst/gsturitype.c:
1740         * gst/gsturitype.h:
1741         * gst/gstutils.c: (gst_util_set_object_arg):
1742         * tools/gst-compprep.c: (main):
1743         * tools/gst-inspect.c: (print_element_properties_info):
1744         Removed GstURI, closes bug #321061
1745
1746 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1747
1748         * check/gst/gststructure.c: (GST_START_TEST):
1749         * gst/gststructure.c: (gst_structure_parse_value):
1750           Oops, broke automatic string type parsing.
1751           Add a test to catch it in future.
1752
1753 2005-11-22  Andy Wingo  <wingo@pobox.com>
1754
1755         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1756         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1757         Actually rename the function implementations. Grr.
1758
1759 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1760
1761         * check/gst/capslist.h:
1762           Comment test cases
1763         * check/gst/gststructure.c: (GST_START_TEST),
1764         (gst_structure_suite):
1765           Test automatic value type detection in gst_structure_from_string.
1766         * gst/gststructure.c: (gst_structure_parse_value):
1767           Add fraction as a type we try and guess automatically in
1768           caps/structure strings.
1769
1770 2005-11-22  Andy Wingo  <wingo@pobox.com>
1771
1772         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1773
1774         * gst/gsttagsetter.h:
1775         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1776         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1777         (gst_tag_setter_add_tag_valist)
1778         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1779         _add_values, _add_valist, and _add_valist_values. Since this is an
1780         interface the function suffixes should be more explicit so
1781         language binding don't end up with element.add_valist ->
1782         gst_tag_setter_add_valist, for example. Fixes #322069.
1783
1784 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1785
1786         * check/gst/gstcaps.c: (GST_START_TEST):
1787           Extend caps string tests to check that a caps to string
1788           conversion is reversible and produces the same caps.
1789
1790         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1791           Output "fraction" as the generic type fraction range, so caps
1792           serialisation and deserialisation works.
1793         * check/gst/capslist.h:
1794         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1795           Support 'MIN' and 'MAX' for deserialising fractions.
1796
1797 2005-11-22  Andy Wingo  <wingo@pobox.com>
1798
1799         * gst/gstevent.h (gst_event_new_new_segment)
1800         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1801         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1802         Renamed from *_newsegment, *_buffersize, *_notarget.
1803
1804         * scripts/update-funcnames: New script, performs the changes
1805         listed above.
1806
1807 2005-11-22  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1810         Make sure the GstFlowReturn is returned.
1811
1812         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1813         (gst_bus_add_signal_watch):
1814         * gst/gstbus.h:
1815         add gst_bus_add_signal_watch_full.
1816
1817         * gst/gstplugin.c: (gst_plugin_load_file):
1818         Small style cleanup.
1819
1820 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1821
1822         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1823           Block the fakesrc srcpad when we send an event, to avoid
1824           contention on the stream_lock causing random test failures.
1825
1826 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1827
1828         * check/gst/gstvalue.c: (GST_START_TEST):
1829         * gst/gstvalue.c: (gst_value_fraction_subtract):
1830           Fix subtraction.
1831
1832 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1833
1834         * gst/gst.h:
1835           include "gstchildproxy.h"
1836         * gst/gstchildproxy.h:
1837         * libs/gst/controller/gstcontroller.h:
1838           use G_GNUC_NULL_TERMINATED
1839
1840 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1841
1842         * check/gst/capslist.h:
1843         * check/gst/gstcaps.c: (GST_START_TEST):
1844         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1845         * gst/gststructure.c: (gst_structure_parse_range),
1846         (gst_structure_fixate_field_nearest_fraction):
1847         * gst/gststructure.h:
1848         * gst/gstvalue.c: (gst_value_init_fraction_range),
1849         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1850         (gst_value_collect_fraction_range),
1851         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1852         (gst_value_set_fraction_range_full),
1853         (gst_value_get_fraction_range_min),
1854         (gst_value_get_fraction_range_max),
1855         (gst_value_serialize_fraction_range),
1856         (gst_value_transform_fraction_range_string),
1857         (gst_value_compare_fraction_range),
1858         (gst_value_deserialize_fraction_range),
1859         (gst_value_intersect_fraction_fraction_range),
1860         (gst_value_intersect_fraction_range_fraction_range),
1861         (gst_value_subtract_fraction_fraction_range),
1862         (gst_value_subtract_fraction_range_fraction),
1863         (gst_value_subtract_fraction_range_fraction_range),
1864         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1865         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1866         (gst_value_transform_string_fraction), (_gst_value_initialize):
1867         * gst/gstvalue.h:
1868           Implement fraction ranges and extend GstFraction to support
1869           arithmetic subtraction, as well as deserialization from integer
1870           strings such as "100"
1871           Add a testsuite as for int and double range set operations
1872
1873 2005-11-21  Andy Wingo  <wingo@pobox.com>
1874
1875         * gst/gsttaglist.h: 
1876         * gst/gstcaps.h: 
1877         * gst/gststructure.h: Add glib-compat.h.
1878
1879 2005-11-21  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/gstbin.c: (gst_bin_change_state_func):
1882         Fix for #321595
1883
1884 2005-11-21  Wim Taymans  <wim@fluendo.com>
1885
1886         * gst/gstsegment.h:
1887         And add a nice define too.
1888
1889 2005-11-21  Wim Taymans  <wim@fluendo.com>
1890
1891         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1892         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1893         (gst_segment_set_duration), (gst_segment_set_last_stop),
1894         (gst_segment_set_seek), (gst_segment_set_newsegment),
1895         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1896         (gst_segment_clip):
1897         * gst/gstsegment.h:
1898         Make binding friendly.
1899
1900 2005-11-21  Andy Wingo  <wingo@pobox.com>
1901
1902         * gst/gsttagsetter.h: 
1903         * gst/gsttaglist.h: 
1904         * gst/gststructure.h: 
1905         * gst/gstcaps.h: 
1906         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1907         #319940.
1908
1909         * gst/gsterror.c (_gst_core_errors_init):
1910         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1911         category.
1912
1913         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1914         (noinst_HEADERS): noinst the -private.
1915
1916 2005-11-21  Michael Smith <msmith@fluendo.com>
1917
1918         * gst/gstplugin.h:
1919         * gst/gstregistry.h:
1920           Remove unimplemented declarations for which we can see no sensible
1921           use.
1922
1923 2005-11-21  Andy Wingo  <wingo@pobox.com>
1924
1925         * gst/gst.h: Include glib-compat.h.
1926
1927         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1928
1929         * gst/glib-compat.c: Include the public and the private header.
1930
1931         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1932
1933         * gst/gstvalue.c: 
1934         * gst/gstpad.c: 
1935         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1936
1937         * check/gst/gstevent.c (create_custom_events): Check that
1938         FLUSH_STOP is serialized.
1939
1940         * check/elements/identity.c (event_func): 
1941         * check/elements/fakesrc.c (event_func): No stream lock, the core
1942         takes it.
1943
1944         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1945         stream lock taking, yay.
1946
1947         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1948         ensure that core takes the stream lock.
1949
1950         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1951         lock name change.
1952
1953         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1954         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1955         it already. For the flush start we do take it though so we get the
1956         right preroll state change messages.
1957
1958         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1959         the stream lock here, the core does it for us.
1960
1961         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1962         GST_STREAM_GET_LOCK.
1963         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1964         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1965         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1966         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1967         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1968         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1969
1970         * gst/gstpad.c: Update for stream lock name change.
1971
1972         * gst/base/gstbasesink.c: Update for preroll lock name change.
1973
1974 2005-11-21  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1977         (gst_clock_get_master):
1978         * gst/gstclock.h:
1979         * gst/gstsystemclock.c: (gst_system_clock_init):
1980         Convert Clock flags to object flags.
1981         Added methods to manage master/slave clocks.
1982
1983 2005-11-21  Wim Taymans  <wim@fluendo.com>
1984
1985         * check/gst/gstsegment.c: (GST_START_TEST):
1986         * docs/design/part-TODO.txt:
1987         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1988         (gst_base_sink_event), (gst_base_sink_do_sync),
1989         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1990         (gst_base_sink_query), (gst_base_sink_change_state):
1991         * gst/base/gstbasesink.h:
1992         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1993         (gst_base_src_default_newsegment),
1994         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1995         (gst_base_src_get_range), (gst_base_src_loop),
1996         (gst_base_src_change_state):
1997         * gst/base/gstbasesrc.h:
1998         * gst/base/gstbasetransform.c:
1999         (gst_base_transform_prepare_output_buf),
2000         (gst_base_transform_event), (gst_base_transform_change_state):
2001         * gst/base/gstbasetransform.h:
2002         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2003         (gst_collect_pads_event):
2004         * gst/base/gstcollectpads.h:
2005         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2006         (gst_fake_src_create):
2007         * gst/elements/gstfakesrc.h:
2008         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2009         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2010         (gst_segment_set_last_stop), (gst_segment_set_seek),
2011         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2012         (gst_segment_to_running_time), (gst_segment_clip):
2013         * gst/gstsegment.h:
2014         More segment updates, replace code in plugins with segment
2015         helper functions.
2016
2017 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2018
2019         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2020         Don't ignore sscanf results
2021
2022 2005-11-21  Andy Wingo  <wingo@pobox.com>
2023
2024         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2025
2026         * *.h:
2027         * *.c: Ran scripts/update-macros. Oh yes.
2028
2029         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2030         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2031         GST_GET_LOCK, etc.
2032
2033         * scripts/update-macros: New script. Run it on your files to
2034         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2035         well.
2036
2037 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * docs/gst/Makefile.am:
2040         * docs/gst/gstreamer-docs.sgml:
2041         * docs/gst/gstreamer-sections.txt:
2042         * docs/gst/gstreamer.types:
2043         * gst/gstinfo.h:
2044           more docs fixes, add new api to the docs
2045
2046 2005-11-21  Andy Wingo  <wingo@pobox.com>
2047
2048         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2049         state_broadcast call.
2050
2051         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2052
2053 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2054
2055         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2056         function calls for arrays.
2057
2058 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2059
2060         * docs/random/ensonic/media-device-daemon.txt:
2061           wild idea, can this be done?
2062         * docs/gst/gstreamer-sections.txt:
2063         * gst/gsterror.h:
2064         * gst/gstfilter.c:
2065         * gst/gstfilter.h:
2066         * gst/gstplugin.h:
2067         * gst/gstpluginfeature.c:
2068         * gst/gsttrace.c:
2069         * gst/gstvalue.c:
2070         * gst/gstvalue.h:
2071           doc fixes and additions
2072
2073 2005-11-21  Andy Wingo  <wingo@pobox.com>
2074
2075         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2076         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2077         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2078         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2079         private to the basesrc implementation.
2080
2081         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2082         behalf of event function if necessary. It should no longer be
2083         necessary to take the stream lock in pad's event functions. Fixes
2084         #320299.
2085
2086 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2087         * docs/gst/gstreamer-sections.txt:
2088         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2089         (gst_structure_fixate_field_nearest_double),
2090         (gst_structure_fixate_field_boolean):
2091         * gst/gststructure.h:
2092         * win32/common/libgstreamer.def:
2093         * win32/gstreamer.def:
2094
2095         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2096         (#322027)
2097
2098 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2099
2100         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2101         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2102         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2103         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2104         (gst_fdsrc_uri_handler_init):
2105         * gst/elements/gstfdsrc.h:
2106           Port fd:// URI handler from 0.8 to fdsrc
2107
2108 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2111         (gst_value_serialize_fourcc):
2112         * gst/gstvalue.h:
2113           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2114           consistent with our other format defines (#320324).
2115
2116 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2117
2118         * gst/gstvalue.c: (gst_value_is_fixed):
2119           Revert previous commit. Value lists are by definition
2120           not fixed, as they are a list of possible values.
2121
2122 2005-11-21  Andy Wingo  <wingo@pobox.com>
2123
2124         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2125         during the stable series if we need it. Fixes #319178.
2126
2127         * gst/gstevent.c (gst_event_new_filler): Removed.
2128
2129         * check/gst/gstevent.c: Update comment about filler events.
2130
2131 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2132
2133         * gst/gstvalue.c: (gst_value_is_fixed):
2134           Should handle both value arrays and value lists.
2135
2136 2005-11-21  Andy Wingo  <wingo@pobox.com>
2137
2138         patch by: Alessandro Dessina <alessandro nnva org>
2139
2140         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2141         functions to access arrays. Fixes #321962.
2142
2143 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2144
2145         * docs/gst/gstreamer.types:
2146           gst_collectpads_get_type => gst_collect_pads_get_type.
2147           
2148         * gst/base/gstbasetransform.c:
2149           Remove unused SIGNAL_HANDOFF enum.
2150
2151 2005-11-21  Andy Wingo  <wingo@pobox.com>
2152
2153         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2154         the event type (upstream, downstream, serialized). Renamed
2155         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2156         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2157         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2158
2159         * gst/gstevent.c: Update for new CUSTOM event names.
2160
2161         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2162
2163         * gst/gstevent.h:
2164         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2165         bug #319392.
2166
2167 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2168
2169         * docs/gst/gstreamer-sections.txt:
2170         * win32/common/libgstbase.def:
2171         * win32/libgstbase.def:
2172         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2173         (gst_collect_pads_class_init), (gst_collect_pads_init),
2174         (gst_collect_pads_finalize), (gst_collect_pads_new),
2175         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2176         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2177         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2178         (gst_collect_pads_start), (gst_collect_pads_stop),
2179         (gst_collect_pads_peek), (gst_collect_pads_pop),
2180         (gst_collect_pads_available), (gst_collect_pads_read),
2181         (gst_collect_pads_flush), (gst_collect_pads_event),
2182         (gst_collect_pads_chain):
2183         * gst/base/gstcollectpads.h:
2184           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2185           unimplemented functions as unimplemented. Add padding to
2186           GstCollectData. (#320766, #320423)
2187
2188 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2189
2190         * gst/gstmessage.c:
2191           Improve docs for DURATION message (usage of duration parameter)
2192           (#320113)
2193
2194 2005-11-20  Wim Taymans  <wim@fluendo.com>
2195
2196         * check/Makefile.am:
2197         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2198         (main):
2199         * gst/Makefile.am:
2200         * gst/gst.h:
2201         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2202         (gst_segment_set_seek), (gst_segment_set_newsegment),
2203         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2204         (gst_segment_clip):
2205         * gst/gstsegment.h:
2206         Added segment helper structure and methods. Not fully implemented
2207         yet.
2208         Added segment check.
2209
2210 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2211
2212         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2213           Add a deserialisation test for fractions
2214         * examples/metadata/read-metadata.c: (message_loop),
2215         (make_pipeline), (main):
2216           Fix up metadata reading sample.
2217         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2218           Debug format fix
2219         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2220           Don't try and fixate empty caps
2221         * gst/gst_private.h:
2222           Wrap in G_BEGIN_DECLS/G_END_DECLS
2223         * gst/gstvalue.c: (gst_value_collect_fraction),
2224         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2225         (gst_value_transform_string_fraction),
2226         (gst_value_compare_fraction):
2227           Add some extra guards to ensure that we don't end up 
2228           with an invalid denominator of 0 in a gstfraction and
2229           that fractions always get reduced.
2230
2231 2005-11-20  Wim Taymans  <wim@fluendo.com>
2232
2233         * docs/gst/gstreamer-sections.txt:
2234         * gst/gstbuffer.h:
2235         * gst/gstelement.c:
2236         * gst/gstformat.c:
2237         * gst/gstformat.h:
2238         * gst/gstindex.h:
2239         * gst/gstquery.c:
2240         * gst/gstquery.h:
2241         * gst/gstvalue.c:
2242         Doc fixes.
2243
2244 2005-11-20  Wim Taymans  <wim@fluendo.com>
2245
2246         * docs/design/part-TODO.txt:
2247         * gst/gstcaps.h:
2248         Make a proper enum of the flag.
2249
2250 2005-11-19  Wim Taymans  <wim@fluendo.com>
2251
2252         * docs/design/part-TODO.txt:
2253         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2254         (gst_format_to_quark), (gst_format_register):
2255         * gst/gstformat.h:
2256         * gst/gstquery.c: (_gst_query_initialize),
2257         (gst_query_type_get_name), (gst_query_type_to_quark),
2258         (gst_query_type_register):
2259         * gst/gstquery.h:
2260         Add type to quark and type to string conversions.
2261
2262 2005-11-19  Andy Wingo  <wingo@pobox.com>
2263
2264         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2265         #320097.
2266
2267 2005-11-19  Wim Taymans  <wim@fluendo.com>
2268
2269         * docs/design/part-TODO.txt:
2270         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2271         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2272         (gst_bin_handle_message_func):
2273         * gst/gstbin.h:
2274         Make message handling overridable.
2275
2276 2005-11-19  Andy Wingo  <wingo@pobox.com>
2277
2278         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2279
2280         * gst/gstclock.h:
2281         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2282         be a GstClockTime.
2283         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2284         is a GstClockTime. Fixes #321710.
2285
2286         * gst/gstclock.h (GstClock): Remove offset property. Add
2287         internal_calibration and external_calibration. Fix padding. Pad
2288         also by GstClockTime so we don't run into problems.
2289
2290         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2291         (gst_clock_get_rate_offset): Remove.
2292         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2293
2294         * gst/gstutils.h:
2295         * gst/gstutils.c (g_static_rec_cond_wait)
2296         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2297
2298         * gst/gstbin.c: Remove terrible continue_state prototype.
2299
2300         * gst/gstelement.h (gst_element_continue_state): Make public.
2301
2302         * gst/gstelement.h:
2303         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2304         by continue_state. Fixes #319389.
2305
2306         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2307         Really fixes #168438. However I don't see anywhere where the
2308         filter function is called... stupid GStreamer...
2309         
2310         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2311         don't have a dispose function, so it won't get called when the
2312         object is unreffed, but oh well!
2313
2314         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2315         allows a destroy function to be set so user_data can be freed.
2316         Fixes #168438.
2317         (gst_index_set_filter): Call gst_index_set_filter_full.
2318
2319         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2320
2321         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2322         string should produce an error, given the lack of a way to
2323         represent NULL strings. Fixes #165650.
2324         
2325         * gst/gstvalue.h: 
2326         * gst/gstvalue.c (gst_value_array_append_value) 
2327         (gst_value_array_prepend_value, gst_value_array_get_size) 
2328         (gst_value_array_get_value): New API, copied from
2329         gst_value_list_*, only operates on arrays.
2330         (gst_value_list_append_value, gst_value_list_prepend_value) 
2331         (gst_value_list_concat, gst_value_list_get_size) 
2332         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2333
2334         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2335         init_list, because it works on both.
2336         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2337         (gst_value_copy_list_or_array): Renamed from copy_list.
2338         (gst_value_free_list_or_array): Renamed from free_list.
2339         (gst_value_collect_list_or_array): Renamed from collect_list.
2340         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2341         (gst_value_list_or_array_peek_pointer): Renamed from
2342         list_peek_pointer.
2343         (_gst_value_array_value_table, _gst_value_list_value_table):
2344         Update value table functions.
2345         (gst_value_compare_list_or_array): Renamed from compare_list.
2346
2347         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2348         some constness.
2349
2350         * gst/gsttaglist.c:
2351         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2352         GstTagList*. Fixes #143472.
2353
2354         * gst/gststructure.h: Clarify what the foreach/map functions can
2355         or can't do to their arguments.
2356
2357 2005-11-18  Wim Taymans  <wim@fluendo.com>
2358
2359         * gst/gstclock.c: (gst_clock_set_calibration),
2360         (gst_clock_get_calibration):
2361         Doc and API fixes.
2362         Calibration can be set with internal time equal to current
2363         internal time too.
2364
2365 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2366
2367         * gst/gsterror.c:
2368         * gst/gsterror.h:
2369           document
2370
2371 2005-11-18  Andy Wingo  <wingo@pobox.com>
2372
2373         * configure.ac: 
2374         * pkgconfig/gstreamer-net.pc.in:
2375         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2376         * pkgconfig/Makefile.am: Add net pkgconfig files.
2377
2378 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2379
2380         * gst/gstcaps.c:
2381         * gst/gstghostpad.c:
2382         * gst/gsttrace.c:
2383         * gst/gstvalue.c:
2384         * gst/gstvalue.h:
2385           docs fixes
2386
2387 2005-11-18  Andy Wingo  <wingo@pobox.com>
2388
2389         * gst/net/gstnetclientclock.c: Turn off debugging.
2390
2391         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2392         times connverge somewhat. Can't make a real test.
2393
2394         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2395         integer arithmetic. Return the minimum of the domain, which can be
2396         set as "internal" for gst_clock_set_calibration.
2397         (gst_net_client_clock_observe_times): Call _set_calibration.
2398         (gst_net_client_clock_new): Call _set_calibration instead of
2399         rate_offset.
2400
2401         * check/net/gstnetclientclock.c (test_functioning): Use the right
2402         adjustment api.
2403
2404         * gst/gstclock.h:
2405         * gst/gstclock.c (gst_clock_get_calibration) 
2406         (gst_clock_set_calibration): New functions, obsolete the ones I
2407         added yesterday. Doh. Precision issues mean we have to extrapolate
2408         from a point in the more recent past than 1970.
2409         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2410         obsolete.
2411         (gst_clock_adjust_unlocked): Use the right calibration data.
2412
2413 2005-11-18  Edward Hervey  <edward@fluendo.com>
2414
2415         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2416         Also reset the ->current_* values in READY->PAUSED
2417
2418 2005-11-18  Andy Wingo  <wingo@pobox.com>
2419
2420         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2421         Whoops, check the right fd. Also add some debugging.
2422         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2423         (do_linear_regression): Add a crapload of debugging. Subtract off
2424         the minimum values from the input series to discard unneeded bits.
2425         Use only int arithmetic. There is still double arithmetic when
2426         calculating the intercept that needs fixing. Return boolean to
2427         indicate success; FALSE would mean the domain or range is too
2428         great. Still needs fixes.
2429
2430 2005-11-18  Wim Taymans  <wim@fluendo.com>
2431
2432         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2433         For the current position in stream time, we need to subtract
2434         accumulated time.
2435         
2436         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2437         Release lock before calling the callback function of async
2438         entries.
2439
2440 2005-11-18  Andy Wingo  <wingo@pobox.com>
2441
2442         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2443         Port goes all the way to MAXUINT16.
2444
2445         * gst/net/gstnettimeprovider.c: Make the port range the same as
2446         for the kernel: 0 assigns, otherwise ports are less than
2447         MAXUINT16.
2448
2449         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2450         port change.
2451
2452         * check/net/gstnetclientclock.c (test_functioning): Add the start
2453         of another test. 
2454
2455 2005-11-18  Wim Taymans  <wim@fluendo.com>
2456
2457         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2458         (gst_bin_remove_func), (bin_bus_handler):
2459         * gst/gstbin.h:
2460         Removing a clock provider from a bin, triggers a clock lost message
2461         so that a new clock will be selected.
2462         Adding a clock to a bin triggers a clock provider message.
2463         Make sure we reselect a clock when we received a clock lost message.
2464         Keep a reference to the element that provided the clock.
2465
2466 2005-11-18  Andy Wingo  <wingo@pobox.com>
2467
2468         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2469         the clock initially so it produces values around the base time.
2470         (gst_net_client_clock_class_init): Typo fix.
2471         (gst_net_client_clock_thread): Add note on when the socket gets
2472         closed.
2473
2474 2005-11-17  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2477         Free remote and local time arrays.
2478
2479 2005-11-17  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/net/gstnetclientclock.c: (do_linear_regression),
2482         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2483         Fix compilation, uninitialized vars and a forgotten continue.
2484
2485 2005-11-17  Andy Wingo  <wingo@pobox.com>
2486
2487         * check/Makefile.am (check_PROGRAMS): 
2488         * check/net/gstnetclientclock.c: Add a most minimal test for the
2489         net client clock. More to come later.
2490
2491         * gst/net/gstnet.h: 
2492         * gst/net/Makefile.am: Add netclientclock.
2493
2494         * gst/net/gstnetclientclock.h:
2495         * gst/net/gstnetclientclock.c: New files, implement an untested
2496         GstClock that takes its time from a network time provider.
2497         Implements the algorithm in network-clock.scm.
2498
2499         * tests/network-clock.scm (*window-size*): Rename from
2500         *queue-length*.
2501         * tests/network-clock.scm (network-time): 
2502         * tests/network-clock-utils.scm (q-push): Update callers.
2503
2504 2005-11-17  Wim Taymans  <wim@fluendo.com>
2505
2506         * gst/gstbin.c: (gst_bin_provide_clock_func),
2507         (gst_bin_sort_iterator_new):
2508         And unref the child too..
2509
2510 2005-11-17  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2513         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2514         Refactor the sort iterator so it can be used while holding the
2515         LOCK too.
2516         Make clock selection select a clock closest to the source.
2517
2518 2005-11-17  Michael Smith <msmith@fluendo.com>
2519
2520         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2521         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2522         * gst/gstclock.h:
2523           Anonymous structs are a gcc (and some other compilers) extension, so
2524           don't use them. Since this is only for ABI-compatibility, and our
2525           API/ABI freeze is over in a few days, this whole thing will only
2526           last a few days, so don't bother trying to think up a meaningful
2527           name for the struct.
2528
2529 2005-11-17  Andy Wingo  <wingo@pobox.com>
2530
2531         * gst/gstclock.h (GstClock): Add rate and offset properties,
2532         preserving ABI stability. Add rate/offset accessors. Will file bug
2533         for the freeze break.
2534
2535         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2536         and offset, trying to keep precision and avoiding
2537         underflow/overflow.
2538         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2539         functions. Make gst_clock_set_time_adjust obsolete.
2540         (gst_clock_set_time_adjust): Note that this function is obsolete.
2541         Will file bug soon.
2542
2543         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2544         greppable by using GST_PADDING-1+1.
2545
2546 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2547
2548         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2549
2550         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2551           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2552
2553         * gst/gstpadtemplate.h:
2554         * gst/gstpluginfeature.h:
2555           Don't use c++ style comments in headers (#321638).
2556
2557 2005-11-16  Andy Wingo  <wingo@pobox.com>
2558
2559         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2560         buffer.
2561
2562         * check/net/gstnettimeprovider.c: Check to see that the time
2563         provider actually provides times. Works, yo!
2564
2565 2005-11-16  Wim Taymans  <wim@fluendo.com>
2566
2567         * check/Makefile.am:
2568         Enable more tests.
2569
2570         * check/elements/fakesrc.c: (GST_START_TEST):
2571         Set element to NULL before disposing it.
2572
2573 2005-11-16  Andy Wingo  <wingo@pobox.com>
2574
2575         * gst/net/Makefile.am:
2576         * gst/net/gstnet.h:
2577         * gst/net/gstnettimeprovider.c: 
2578         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2579         provider, include it from gstnet.h, and add it to the build.
2580
2581         * gst/net/gstnettimepacket.h: 
2582         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2583         sending and receiving.
2584
2585 2005-11-16  Wim Taymans  <wim@fluendo.com>
2586
2587         * check/Makefile.am:
2588         Enable valgrind check.
2589
2590         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2591         (gst_fake_src_alloc_buffer):
2592         Fix memleak.
2593
2594 2005-11-16  Wim Taymans  <wim@fluendo.com>
2595
2596         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2597         Call parent finalize too.
2598
2599 2005-11-16  Wim Taymans  <wim@fluendo.com>
2600
2601         * check/Makefile.am:
2602         Enable valgrind check that should work fine now.
2603
2604         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2605         * gst/gstqueue.c: (gst_queue_init):
2606         Fix memleaks in pad allocation.
2607
2608 2005-11-16  Andy Wingo  <wingo@pobox.com>
2609
2610         * gst/net/Makefile.am:
2611         * gst/net/gstnet.h: New part of core to hold network elements and
2612         objects. Put in core because it exposes API that applications want
2613         to use. The library is named libgstnet-tempname right now because
2614         of the existing libgstnet in gst-plugins-base. Solution is
2615         probably to rename the one in plugins-base; will file a bug for
2616         the freeze break.
2617
2618         * gst/net/gstnettimeprovider.c: 
2619         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2620         get_time call over the network.
2621
2622         * configure.ac: 
2623         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2624
2625         * check/Makefile.am:
2626         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2627         get additions shortly.
2628
2629 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2630
2631         * gst/gstpad.c: (gst_pad_new_from_static_template):
2632         * gst/gstpad.h:
2633           add gst_pad_new_from_static_template functions
2634         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2635         (gst_check_setup_sink_pad):
2636         * gst/elements/gsttee.c: (gst_tee_init):
2637           and use them
2638
2639 2005-11-16  Wim Taymans  <wim@fluendo.com>
2640
2641         * gst/gstpad.c: (gst_pad_pause_task):
2642         Removed warning, it's not really an error either.
2643
2644 2005-11-16  Wim Taymans  <wim@fluendo.com>
2645
2646         * gst/base/gstbasetransform.c:
2647         (gst_base_transform_prepare_output_buf),
2648         (gst_base_transform_event):
2649         Check if the caps are NULL, this can happen if the element
2650         is shutting down and the pad caps are set to NULL.
2651
2652 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2653
2654         * gst/elements/gsttee.c: (gst_tee_init):
2655           fix pad template leak in tee
2656
2657 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2658
2659         * gst/glib-compat.c: (g_value_dup_gst_object):
2660         * gst/glib-compat.h:
2661         * gst/gstpad.c: (gst_pad_set_property):
2662           use gst_object_ref when setting the pad template; this will
2663           trigger the pad template leaks on GLib 2.6 and the slaves
2664
2665 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * gst/glib-compat.c: (gst_flags_get_first_value):
2668         * gst/glib-compat.h:
2669         * gst/gstregistryxml.c:
2670           remove functions copied from GLib 2.6
2671
2672 2005-11-16  Michael Smith <msmith@fluendo.com>
2673
2674         * gst/Makefile.am:
2675           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2676           do, but only breaks with newer valgrind versions. We're not a
2677           valgrind tool, we have no link-time dependencies on libcoregrind.
2678
2679 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2680
2681         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2682           some debug changes
2683         * gst/gstmessage.h:
2684           typo fixes
2685
2686 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2687
2688         * gst/base/gstbasesrc.c: (gst_base_src_init):
2689         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2690         * gst/gstqueue.c: (gst_queue_init):
2691         * gst/gstregistryxml.c: (load_feature):
2692           Revert all these unrefs, they don't even pass make check !
2693
2694 2005-11-15  Johan Dahlin  <johan@gnome.org>
2695
2696         * gst/base/gstbasesrc.c: (gst_base_src_init):
2697         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2698         * gst/gstqueue.c: (gst_queue_init): 
2699         Free pad templates, fixes a couple of leaks.
2700
2701 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2702
2703         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2704
2705         * gst/gstpad.c: (gst_pad_get_property):
2706           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2707           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2708           (#321452)
2709
2710 2005-11-15  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/gstevent.c:
2713         Small doc update.
2714
2715 2005-11-15  Andy Wingo  <wingo@pobox.com>
2716
2717         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2718
2719         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2720         using GST_CLOCK_TIME_NONE to disable base time management.
2721         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2722         time if it was NONE before.
2723         (gst_pipeline_change_state): Only munge the base time if
2724         stream_time != GST_CLOCK_TIME_NONE.
2725
2726         * check/gst/gstpipeline.c (test_base_time): Punt around the
2727         problem of the probe not being called, because that's not the
2728         issue I'm looking at. Add a check that setting stream_time to NONE
2729         disables base time management.
2730         
2731 2005-11-15  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2734         segment_stop == -1 at startup.
2735
2736         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2737         (gst_base_transform_change_state):
2738         Init segment values at start.
2739
2740 2005-11-15  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2743         0 segment values are 0 in any format.
2744
2745         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2746         * gst/base/gstbasetransform.h:
2747         Parse newsegment correctly in basetransform
2748
2749         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2750         Sync to clock using updated segment values.
2751
2752 2005-11-15  Andy Wingo  <wingo@pobox.com>
2753
2754         * check/gst/gstpipeline.c (test_base_time): Add check that the
2755         base time and stream time are reset correctly.
2756
2757 2005-11-15  Wim Taymans  <wim@fluendo.com>
2758
2759         * docs/design/part-TODO.txt:
2760         Some more TODO items.
2761
2762 2005-11-15  Andy Wingo  <wingo@pobox.com>
2763
2764         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2765         error if the user selected "no clock" as the clocking method.
2766
2767         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2768         timestamps with live capture.
2769
2770         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2771         is 0 but we are a live source, timestamp the buffers using the
2772         element's clock.
2773
2774 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2775
2776         * docs/gst/gstreamer-sections.txt:
2777         * gst/gsterror.c:
2778         * gst/gstghostpad.c:
2779         * gst/gstobject.h:
2780         * gst/gstxml.c:
2781           more section docs
2782
2783 2005-11-14  Wim Taymans  <wim@fluendo.com>
2784
2785         * common/gst.supp:
2786           add suppressions from Wim's Debian machine
2787
2788 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2789
2790         * common/gst.supp:
2791           add suppressions from Andy's AMD64 Ubuntu machine
2792
2793 2005-11-14  Andy Wingo  <wingo@pobox.com>
2794
2795         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2796         STATE_LOCK not necessary. Fixes #311489.
2797
2798         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2799         #305291.
2800
2801         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2802         this function is not implemented.
2803
2804 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2805
2806         * gst/base/gstbasetransform.c:
2807         (gst_base_transform_prepare_output_buf):
2808         Ref the source pad caps while we need them.
2809         Fixes (#321386)
2810
2811 2005-11-11  Wim Taymans  <wim@fluendo.com>
2812
2813         * docs/gst/gstreamer-sections.txt:
2814         Added some docs for GstCollectData.
2815
2816         * gst/base/gstadapter.c:
2817         Some small code example fix.
2818
2819         * gst/base/gstcollectpads.c:
2820         * gst/base/gstcollectpads.h:
2821         Document some more.
2822
2823 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2824
2825         * configure.ac: back to HEAD
2826
2827 === release 0.9.5 ===
2828
2829 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2830
2831         * configure.ac:
2832           releasing 0.9.5, "Bike Lunch Day"
2833
2834 2005-11-11  Wim Taymans  <wim@fluendo.com>
2835
2836         * gst/gstbuffer.c: (_gst_buffer_copy):
2837         Copy more flags.
2838
2839         * gst/gstcaps.c: (gst_caps_is_equal):
2840         Fix some docs.
2841         Make _is_equal fast in the trivial cases.
2842
2843         * gst/gstminiobject.c:
2844         * gst/gstminiobject.h:
2845         More docs. Spifify .h file.
2846
2847         * gst/gstutils.c:
2848         Small doc update.
2849
2850 2005-11-11  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/base/gstbasetransform.c:
2853         (gst_base_transform_prepare_output_buf),
2854         (gst_base_transform_handle_buffer):
2855         Small cleanups.
2856         If we're processing a buffer and need to allocate an output
2857         buffer, we cannot accept a format change. If we did get a 
2858         format change, we have to alloc a buffer ourselves of the 
2859         right size.
2860
2861 2005-11-11  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2864         While checking the flag for reentrancy in the gstcaps function
2865         is nice to detect recursive invocations, it also makes it 
2866         impossible to call getcaps from multiple threads, which must be
2867         possible. So, checking for recursive calls has to go.
2868
2869 2005-11-11  Michael Smith <msmith@fluendo.com>
2870
2871         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2872           Don't sync on buffers that fall partially outside our current
2873           segment. Prevents an assertion failure/abort playing some files.
2874
2875 2005-11-10  Andy Wingo  <wingo@pobox.com>
2876
2877         * check/gst/gstbin.c (test_message_state_changed_children): Style
2878         fix..
2879
2880         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2881         gst_bus_poll with the signal watch. Ensures that poll and a signal
2882         watch see the same messages.
2883
2884         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2885         a poll and a watch at the same time get the same messages.
2886
2887 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2888
2889         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2890         * gst/gstcaps.c: (gst_caps_intersect):
2891           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2892           and it's not needed.
2893
2894 2005-11-10  Wim Taymans  <wim@fluendo.com>
2895
2896         * docs/design/part-TODO.txt:
2897         Updated todo.
2898
2899 2005-11-10  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2902         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2903         (gst_base_src_do_sync), (gst_base_src_get_range):
2904         Implement clock sync in base class.
2905
2906 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2907
2908         patch by: Tim-Philipp Müller <tim at centricular dot net>
2909
2910         * gst/gststructure.c: (gst_structure_parse_field),
2911         (gst_structure_from_string):
2912           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2913           so that gst_parse_launch() can deal with spaces in filtered link
2914           caps (fixes #164479)
2915         * check/gst/capslist.h:
2916         * check/gst/gststructure.c: (GST_START_TEST):
2917           add unit tests for this change
2918
2919 2005-11-10  Wim Taymans  <wim@fluendo.com>
2920
2921         * docs/gst/gstreamer-sections.txt:
2922         * gst/gstelement.c:
2923         * gst/gstelement.h:
2924         Fix docs, move some STATE macros to private.
2925
2926 2005-11-10  Wim Taymans  <wim@fluendo.com>
2927
2928         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2929         Added check for bug #317341
2930
2931         * gst/gstbuffer.c:
2932         * gst/gstbuffer.h:
2933         Some more spiffifying.
2934
2935         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2936         Call peer linkfunction if we are a source pad. Totally fixes
2937         #317341
2938
2939         * gst/gstpad.c:
2940         Update docs, source pads should call the peer linkfunction
2941         so they can atomically perform the pad link.
2942
2943 2005-11-09  Wim Taymans  <wim@fluendo.com>
2944
2945         * gst/gstbuffer.c:
2946         * gst/gstbuffer.h:
2947         Uber-spiffy-spiffify some more.
2948
2949 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2950
2951         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2952         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2953         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2954         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2955         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2956         * gst/gstpad.c: (gst_pad_init):
2957           Use GST_DEBUG_FUNCPTR() more extensively.
2958
2959 2005-11-09  Wim Taymans  <wim@fluendo.com>
2960
2961         * gst/gstobject.c: (gst_object_class_init):
2962         * gst/gstobject.h:
2963         Documentation fixes.
2964
2965 2005-11-09  Edward Hervey  <edward@fluendo.com>
2966
2967         * gst/gsttypefindfactory.c:
2968         Fix docs.
2969         
2970 2005-11-09  Edward Hervey  <edward@fluendo.com>
2971
2972         * gst/base/gsttypefindhelper.c:
2973         * gst/gsttypefind.c:
2974         * gst/gsttypefind.h:
2975         Fix docs.
2976
2977 2005-11-09  Wim Taymans  <wim@fluendo.com>
2978
2979         * gst/gstiterator.c:
2980         Fix revision data.
2981
2982         * gst/gsttask.c:
2983         * gst/gsttask.h:
2984         Fix docs.
2985
2986 2005-11-09  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/gstevent.h:
2989         * gst/gsturi.h:
2990         Fix docs.
2991
2992 2005-11-09  Wim Taymans  <wim@fluendo.com>
2993
2994         * docs/gst/gstreamer-sections.txt:
2995         Moved the message async delivery private lock and cond
2996         to the private section.
2997
2998         * gst/gstmessage.c:
2999         * gst/gstmessage.h:
3000         Fixed docs.
3001
3002 2005-11-09  Edward Hervey  <edward@fluendo.com>
3003
3004         * docs/gst/gstreamer-sections.txt:
3005         * gst/gsturi.c:
3006         * gst/gsturi.h:
3007         Document GstURIHandler
3008
3009 2005-11-09  Wim Taymans  <wim@fluendo.com>
3010
3011         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3012         (gst_iterator_find_custom):
3013         * gst/gstiterator.h:
3014         Fix iterator docs.
3015
3016 2005-11-09  Wim Taymans  <wim@fluendo.com>
3017
3018         * gst/gstbin.h:
3019         Document another field.
3020
3021         * gst/gststructure.c:
3022         * gst/gststructure.h:
3023         Document.
3024
3025 2005-11-09  Wim Taymans  <wim@fluendo.com>
3026
3027         * gst/gstbin.h:
3028         Documented structs.
3029
3030 2005-11-09  Wim Taymans  <wim@fluendo.com>
3031
3032         * docs/gst/gstreamer-sections.txt:
3033         Added some new macros.
3034
3035         * gst/gstclock.c:
3036         * gst/gstclock.h:
3037         * gst/gstobject.h:
3038         Docs updates.
3039
3040 2005-11-09  Wim Taymans  <wim@fluendo.com>
3041
3042         * docs/design/part-TODO.txt:
3043         Some more items for the TODO
3044
3045         * gst/gstcaps.c:
3046         * gst/gstcaps.h:
3047         Document GstCaps.
3048
3049 2005-11-09  Andy Wingo  <wingo@pobox.com>
3050
3051         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3052         to work on something else now tho...
3053
3054         * gst/base/gstadapter.c: More adapter docs.
3055
3056         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3057         (gst_file_sink_stop): New functions, replace the state change
3058         handler.
3059         (gst_file_sink_class_init): Hook up the start and stop functions.
3060         (gst_file_sink_base_init): Don't set the state change handler any
3061         more. It was a bit ugly too, being set from here...
3062         (gst_file_sink_get_property, gst_file_sink_set_property):
3063         Cleanups...
3064         (gst_file_sink_set_location): More robust check that doesn't call
3065         GST_STATE. Ugggggg.
3066
3067 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3070           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3071
3072 2005-11-08  Wim Taymans  <wim@fluendo.com>
3073
3074         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3075         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3076         (gst_base_sink_chain), (gst_base_sink_change_state):
3077         * gst/base/gstbasesink.h:
3078         * gst/base/gstbasesrc.h:
3079         * gst/gstelement.h:
3080         * gst/gstevent.h:
3081         Avoid excessive typechecking in macros.
3082
3083         * gst/gstminiobject.c: (gst_mini_object_get_type),
3084         (gst_mini_object_init), (gst_mini_object_new),
3085         (gst_mini_object_free):
3086         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3087         (gst_object_finalize):
3088         Remove cruft code, optimize alloc_trace.
3089
3090 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3091
3092         * docs/faq/gst-uninstalled:
3093           fix up PS1 for systems that try to reset it
3094
3095 2005-11-07  Wim Taymans  <wim@fluendo.com>
3096
3097         * gst/base/gstbasesrc.c: (gst_base_src_init),
3098         (gst_base_src_get_range):
3099         Set the segment_end to -1 initially. Fixed typefind.
3100
3101 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3102
3103         * gst/base/gstadapter.c:
3104           Debug category should be 'adapter', not 'GstAdapter'.
3105           
3106         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3107         (gst_collectpads_class_init), (gst_collectpads_init),
3108         (gst_collectpads_peek), (gst_collectpads_pop),
3109         (gst_collectpads_event), (gst_collectpads_chain):
3110           Add debug category and some debugging output. Use boilerplate
3111           macros. Remove some extraneous words from docs.
3112
3113 2005-11-05  Andy Wingo  <wingo@pobox.com>
3114
3115         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3116         macro.
3117
3118 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * docs/gst/gstreamer-sections.txt:
3121         * gst/gstcaps.h:
3122         * gst/gstinfo.c:
3123         * gst/gstminiobject.h:
3124         * gst/gstobject.h:
3125         * gst/gstutils.h:
3126           more docs added
3127
3128 2005-11-04  Wim Taymans  <wim@fluendo.com>
3129
3130         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3131         Small update to stop at the configured segment_end
3132         position.
3133
3134 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3135
3136         * gst/gstregistry.c:
3137         * gst/gstregistry.h:
3138           added missing docs
3139
3140 2005-11-04  Edward Hervey  <edward@fluendo.com>
3141
3142         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3143         Check if we are doing a segment seek and have arrived at the
3144         end of that segment.
3145
3146 2005-11-04  Wim Taymans  <wim@fluendo.com>
3147
3148         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3149         Don't leak a mutex unlock in case of an error.
3150
3151         * gst/gstbus.h:
3152         Doc fixes.
3153
3154 2005-11-04  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3157         (gst_bus_post):
3158         Get the context to wake up only once.
3159
3160 2005-11-03  Wim Taymans  <wim@fluendo.com>
3161
3162         * check/states/sinks.c: (GST_START_TEST):
3163         Uncomment fixed check.
3164
3165         * docs/design/part-TODO.txt:
3166         Updated TODO.
3167
3168         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3169         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3170         (gst_base_sink_get_position):
3171         If we are going to PLAYING, post the right pending state
3172         when we post the intermediate paused message.
3173
3174         * gst/gstelement.c: (gst_element_continue_state),
3175         (gst_element_set_state_func), (gst_element_change_state):
3176         Don't post state changes that were between the same state
3177         and were not ASYNC.
3178
3179 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * docs/gst/gstreamer-sections.txt:
3182         * gst/gstcaps.h:
3183         * gst/gstinfo.c:
3184         * gst/gstminiobject.h:
3185         * gst/gstobject.h:
3186         * gst/gstutils.h:
3187           more docs and doc style fixes
3188
3189 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3190
3191         * docs/gst/gstreamer-sections.txt:
3192         * gst/gstelement.c:
3193         * gst/gstminiobject.c:
3194         doc fixes
3195
3196 2005-11-03  Andy Wingo  <wingo@pobox.com>
3197
3198         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3199         state-changed messages actually have the right order and the right
3200         values.
3201
3202 2005-11-03  Wim Taymans  <wim@fluendo.com>
3203
3204         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3205         Added some more checks. Specifically the case where NO_PREROLL
3206         elements are in the pipeline.
3207
3208         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3209         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3210         (gst_base_sink_get_position):
3211         Post READY->PAUSED state change messages too.
3212         Fix bug where VOID was posted as pending state...
3213
3214         * gst/gstbin.c: (gst_bin_recalc_state):
3215         use _element_continue_state() to continue the state change.
3216
3217         * gst/gstelement.c: (gst_element_continue_state),
3218         (gst_element_commit_state), (gst_element_set_state_func),
3219         (gst_element_change_state), (gst_element_change_state_func):
3220         Lots of state change cleanups, assign the STATE_RETURN in
3221         a new continue_state() function that also propagates the
3222         last return value from a state change to the app.
3223         Update some debug statements with proper category.
3224
3225 2005-11-03  Wim Taymans  <wim@fluendo.com>
3226
3227         * docs/design/part-events.txt:
3228         * docs/design/part-gstpipeline.txt:
3229         * docs/design/part-messages.txt:
3230         * docs/design/part-overview.txt:
3231         * docs/design/part-seeking.txt:
3232         * docs/design/part-states.txt:
3233         * docs/design/part-trickmodes.txt:
3234         * docs/manual/advanced-position.xml:
3235         Small docs updates.
3236
3237         * gst/gstobject.h:
3238         People think !! is ugly, this looks better.
3239
3240         * gst/gstpad.c: (gst_pad_set_blocked_async):
3241         Remove !! since it's fixed elsewhere now.
3242
3243 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3244
3245         * gst/gstminiobject.h:
3246         * gst/gstobject.h:
3247           Add !! to _FLAG_IS_SET macros to make the result boolean.
3248
3249 2005-11-03  Edward Hervey  <edward@fluendo.com>
3250
3251         * gst/gstpad.c: (gst_pad_set_blocked_async):
3252         comparing a flag and a gboolean rarely returns coherent results...
3253         Added two characters (!!) to make that work correctly.
3254         
3255 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3256
3257         * gst/gstbus.c: (gst_bus_class_init):
3258           Fix some typos.
3259           
3260         * gst/gstqueue.c: (gst_queue_loop):
3261           Don't assume a miniobject that isn't a buffer is an
3262           event (it could be that there is a refcounting
3263           problem somewhere and the pointer is stale and
3264           refers to an already destroyed miniobject).
3265
3266 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3267
3268         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3269
3270 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3271
3272         * docs/manual/advanced-position.xml:
3273           Update seek example and explanations to current 0.9 API.
3274
3275         * gst/elements/gsttypefindelement.c:
3276         (gst_type_find_element_activate):
3277           Remove FIXME comment now that the found caps
3278           are unreffed.
3279
3280 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3281
3282         * gst/gstregistryxml.c: (load_feature):
3283           Add another GST_STR_NULL instance
3284
3285 2005-11-02  Edward Hervey  <edward@fluendo.com>
3286
3287         * gst/gstpad.c: (handle_pad_block):
3288         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3289         
3290 2005-11-02  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/gstbin.c:
3293         Fix typo in docs.
3294
3295         * gst/gstelement.c: (gst_element_commit_state):
3296         Remove unused value.
3297
3298         * gst/gstiterator.c:
3299         Mention that the returned element is reffed in the docs.
3300
3301 2005-11-02  Wim Taymans  <wim@fluendo.com>
3302
3303         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3304         (gst_pad_push), (gst_pad_push_event):
3305         Unlock blocked pads when they are flushed.
3306
3307 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3308
3309         * docs/README:
3310         * docs/gst/gstreamer-sections.txt:
3311         * gst/gstbin.c:
3312           doc updates
3313         * gst/gstregistry.c: (gst_registry_scan_path_level):
3314           fix for a nasty little missed situation where an installed plug-in
3315           which was in the cache did not get overridden by an uninstalled one
3316           which was earlier in the plugin path because the newly created plugin
3317           for the uninstalled one (not in the registry) didn't get its
3318           ->registered set to TRUE
3319
3320 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3321
3322         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3323         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3324         (gst_collectpads_is_active), (gst_collectpads_collect),
3325         (gst_collectpads_collect_range), (gst_collectpads_start),
3326         (gst_collectpads_stop), (gst_collectpads_peek),
3327         (gst_collectpads_pop), (gst_collectpads_available),
3328         (gst_collectpads_read), (gst_collectpads_flush):
3329           Guard public API with assertions.
3330         
3331         * gst/gstpad.c:
3332           Fix docs for gst_pad_set_link_function().
3333
3334 2005-11-02  Johan Dahlin  <johan@gnome.org>
3335
3336         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3337         Unref found_caps after we used it.
3338
3339 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3340
3341         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3342           Don't try to ref NULL.
3343
3344 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3345
3346         * win32/common/config.h.in:
3347           provide a GST_FUNCTION that just gives a string for now
3348
3349 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3350
3351         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3352         (gst_object_flags_get_type), (register_gst_bin_flags),
3353         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3354         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3355         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3356         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3357         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3358         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3359         (gst_clock_flags_get_type), (register_gst_state),
3360         (gst_state_get_type), (register_gst_state_change_return),
3361         (gst_state_change_return_get_type), (register_gst_state_change),
3362         (gst_state_change_get_type), (register_gst_element_flags),
3363         (gst_element_flags_get_type), (register_gst_core_error),
3364         (gst_core_error_get_type), (register_gst_library_error),
3365         (gst_library_error_get_type), (register_gst_resource_error),
3366         (gst_resource_error_get_type), (register_gst_stream_error),
3367         (gst_stream_error_get_type), (register_gst_event_type),
3368         (gst_event_type_get_type), (register_gst_seek_type),
3369         (gst_seek_type_get_type), (register_gst_seek_flags),
3370         (gst_seek_flags_get_type), (register_gst_format),
3371         (gst_format_get_type), (register_gst_index_certainty),
3372         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3373         (gst_index_entry_type_get_type),
3374         (register_gst_index_lookup_method),
3375         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3376         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3377         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3378         (gst_index_flags_get_type), (register_gst_debug_level),
3379         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3380         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3381         (gst_iterator_result_get_type), (register_gst_iterator_item),
3382         (gst_iterator_item_get_type), (register_gst_message_type),
3383         (gst_message_type_get_type), (register_gst_mini_object_flags),
3384         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3385         (gst_pad_link_return_get_type), (register_gst_flow_return),
3386         (gst_flow_return_get_type), (register_gst_activate_mode),
3387         (gst_activate_mode_get_type), (register_gst_pad_direction),
3388         (gst_pad_direction_get_type), (register_gst_pad_flags),
3389         (gst_pad_flags_get_type), (register_gst_pad_presence),
3390         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3391         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3392         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3393         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3394         (gst_plugin_flags_get_type), (register_gst_rank),
3395         (gst_rank_get_type), (register_gst_query_type),
3396         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3397         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3398         (gst_tag_flag_get_type), (register_gst_task_state),
3399         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3400         (gst_alloc_trace_flags_get_type),
3401         (register_gst_type_find_probability),
3402         (gst_type_find_probability_get_type), (register_gst_uri_type),
3403         (gst_uri_type_get_type), (register_gst_parse_error),
3404         (gst_parse_error_get_type):
3405         * win32/common/gstversion.h:
3406           update win32 copies
3407
3408 2005-11-01  Luca Ognibene  <luogni@tin.it>
3409
3410         * gst/gst.c:
3411           fix docs. popt is dead, long live GOption.
3412
3413 2005-10-31  Wim Taymans  <wim@fluendo.com>
3414
3415         * gst/gstbuffer.h:
3416         Small doc fix.
3417
3418 2005-10-31  Andy Wingo  <wingo@pobox.com>
3419
3420         * Boo!
3421
3422         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3423
3424         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3425         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3426         the possibility of deadlocks here if code calling notify() or
3427         set() has a lock that can be taken in another notify handler (ABBA
3428         with class lock and e.g. python GIL state lock).
3429
3430 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3431
3432         * gst/gstbus.c: Doc updates.
3433
3434 2005-10-28  Wim Taymans  <wim@fluendo.com>
3435
3436         * docs/design/part-TODO.txt:
3437         * gst/gstiterator.c:
3438         * gst/gstsystemclock.c:
3439         * gst/gstsystemclock.h:
3440         Doc updates.
3441
3442 2005-10-28  Edward Hervey  <edward@fluendo.com>
3443
3444         * docs/gst/gstreamer-docs.sgml:
3445         * docs/gst/gstreamer-sections.txt:
3446         the GstURIType documentation page is private, it only defines GstURIType
3447         which should be defined in the GstURIHandler page
3448         
3449 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3450
3451         * gst/gstbin.c: (gst_bin_class_init):
3452         * gst/gstbin.h:
3453         * gst/gstutils.c:
3454         Documentation updates.
3455
3456 2005-10-28  Wim Taymans  <wim@fluendo.com>
3457
3458         * docs/gst/gstreamer-sections.txt:
3459         * gst/gstclock.c:
3460         * gst/gstclock.h:
3461         Documented the clocks.
3462
3463 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3464
3465         * docs/gst/gstreamer-sections.txt:
3466           move some macros to private sections
3467         * gst/gstminiobject.c:
3468         * gst/gstminiobject.h:
3469           add descriptions provided by ds and some more
3470         * gst/gstpad.h:
3471           mark macro as to be removed
3472
3473 2005-10-28  Wim Taymans  <wim@fluendo.com>
3474
3475         * docs/design/part-TODO.txt:
3476         Add an item to TODO.
3477
3478         * gst/gstiterator.c: (gst_iterator_fold),
3479         (gst_iterator_find_custom):
3480         * gst/gstiterator.h:
3481         Add iterator docs.
3482
3483 2005-10-28  Wim Taymans  <wim@fluendo.com>
3484
3485         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3486         (gst_base_transform_init):
3487         Don't leak class.
3488
3489         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3490         An EOS event marks the queue as completely filled.
3491
3492 2005-10-27  Wim Taymans  <wim@fluendo.com>
3493
3494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3495         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3496         Some more debugging.
3497
3498         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3499         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3500         (gst_base_transform_event), (gst_base_transform_getrange),
3501         (gst_base_transform_chain):
3502         * gst/base/gstbasetransform.h:
3503         Fix debugging,
3504         Protect transform and concurrent buffer alloc with a new lock.
3505         Try not to break ABI/API.
3506
3507 2005-10-27  Wim Taymans  <wim@fluendo.com>
3508
3509         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3510         (gst_base_src_init), (gst_base_src_query),
3511         (gst_base_src_default_newsegment),
3512         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3513         (gst_base_src_send_event), (gst_base_src_event_handler),
3514         (gst_base_src_pad_get_range), (gst_base_src_loop),
3515         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3516         (gst_base_src_start), (gst_base_src_deactivate),
3517         (gst_base_src_activate_push), (gst_base_src_change_state):
3518         Move some stuff around and cleanup things.
3519
3520 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         * gst/base/gstbasesrc.c: (gst_base_src_query):
3523           Add missing break statements.
3524
3525 2005-10-27  Wim Taymans  <wim@fluendo.com>
3526
3527         * check/gst/gstbin.c: (GST_START_TEST):
3528         An extra refcount is taken in basesrc.
3529
3530         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3531         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3532         (gst_base_src_loop):
3533         Small cleanups, check for flushing after being unlocked from the 
3534         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3535         Don't send out EOS when going to READY.
3536
3537 2005-10-27  Wim Taymans  <wim@fluendo.com>
3538
3539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3540         (gst_base_sink_get_position):
3541         Some more debug.
3542
3543         * gst/gstbin.c: (message_check), (bin_replace_message),
3544         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3545         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3546         (bin_query_duration_init), (bin_query_duration_fold),
3547         (bin_query_duration_done), (bin_query_generic_fold),
3548         (gst_bin_query):
3549         * tools/gst-launch.c: (main):
3550         Remove old option.
3551
3552 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3553
3554         * examples/controller/audio-example.c: (main):
3555         * examples/queue/queue.c: (event_loop):
3556         * gst/base/gstbasetransform.h:
3557         * gst/gstelement.c: (gst_element_send_event):
3558         * gst/gstevent.h:
3559         * gst/gstpad.c: (gst_pad_send_event):
3560           fixing examples
3561           fixing docs typos
3562           changing log priority in error situations
3563
3564 2005-10-25  Wim Taymans  <wim@fluendo.com>
3565
3566         * gst/gstbin.c: (message_check), (bin_replace_message),
3567         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3568         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3569         (bin_query_duration_init), (bin_query_duration_fold),
3570         (bin_query_duration_done), (bin_query_generic_fold),
3571         (gst_bin_query):
3572         Some doc and debug updates.
3573         Cache previously requested query DURATION for speed. invalidate
3574         cached duration if element posts a DURATION message.
3575
3576 2005-10-25  Wim Taymans  <wim@fluendo.com>
3577
3578         * docs/design/part-TODO.txt:
3579         Update TODO.
3580
3581         * gst/gstbin.c: (message_check), (bin_replace_message),
3582         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3583         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3584         (bin_query_duration_init), (bin_query_duration_fold),
3585         (bin_query_duration_done), (bin_query_generic_fold),
3586         (gst_bin_query):
3587         Handle SEGMENT_START/DONE messages correctly.
3588         More evolved query algorithm that handles duration queries
3589         correctly.
3590
3591         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3592         (gst_element_get_state_func), (gst_element_abort_state),
3593         (gst_element_commit_state), (gst_element_lost_state):
3594         Some more debugging.
3595
3596         * gst/gstmessage.h:
3597         Added doc.
3598
3599 2005-10-25  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3602         Don't use invalid stream_time.
3603
3604         * gst/gstevent.c: (gst_event_new_newsegment):
3605         stream_time in newsegment cannot be undefined.
3606
3607 2005-10-24  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/gstbus.c:
3610         Doc fix.
3611
3612         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3613         (gst_queue_loop):
3614         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3615
3616 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3617
3618         * docs/libs/tmpl/gstdparam.sgml:
3619         * docs/libs/tmpl/gstdplinint.sgml:
3620         * docs/libs/tmpl/gstdpman.sgml:
3621         * docs/libs/tmpl/gstdpsmooth.sgml:
3622         * docs/libs/tmpl/gstunitconvert.sgml:
3623           these are obsolete
3624
3625 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3626
3627         * configure.ac:
3628           back to HEAD
3629
3630 === release 0.9.4 ===
3631
3632 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3633
3634         * configure.ac:
3635           releasing 0.9.4, "Tyrannosaurus Rex"
3636
3637 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3638
3639         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3640         (gst_file_sink_get_current_offset):
3641           Use fseeko() and ftello() if available. When falling back on
3642           lseek() to get the current offset, fflush() first to make sure
3643           everything is up-to-date and we get the right offset.
3644
3645 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3646
3647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3648         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3649         * gst/gsterror.c: (_gst_stream_errors_init):
3650         * gst/gsterror.h:
3651         * gst/gstqueue.c: (gst_queue_loop):
3652         * po/POTFILES.in:
3653           remove prematurely added error category and clean up the instances
3654
3655 2005-10-21  Wim Taymans  <wim@fluendo.com>
3656
3657         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3658         (gst_base_sink_get_position), (gst_base_sink_query),
3659         (gst_base_sink_change_state):
3660         Simply set the right flag when going to playing, that's all
3661         we need to do instead of calling a function inside the object
3662         lock (that could take the lock as well and deadlock)
3663
3664 2005-10-21  Wim Taymans  <wim@fluendo.com>
3665
3666         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3667         (gst_base_src_loop):
3668         Don't warn, the peer element knows what to do best when
3669         the seek failed, it might try something else.
3670
3671 2005-10-21  Wim Taymans  <wim@fluendo.com>
3672
3673         * gst/base/gstbasesrc.c: (gst_base_src_init),
3674         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3675         Fix seeking.
3676
3677 2005-10-21  Wim Taymans  <wim@fluendo.com>
3678
3679         * docs/design/part-segments.txt:
3680         More docs.
3681
3682         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3683         Correctly set caps, even on the subbufer.
3684
3685 2005-10-21  Wim Taymans  <wim@fluendo.com>
3686
3687         * docs/gst/gstreamer-docs.sgml:
3688         * docs/gst/gstreamer-sections.txt:
3689         * gst/gstelement.h:
3690         * gst/gstevent.c:
3691         * gst/gstevent.h:
3692         * gst/gstmessage.h:
3693         * gst/gstpad.h:
3694         * gst/gstparse.h:
3695         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3696         * gst/gsttask.h:
3697         * gst/gstutils.c:
3698         * gst/gstutils.h:
3699         And 2% more doc coverage.
3700
3701 2005-10-21  Andy Wingo  <wingo@pobox.com>
3702
3703         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3704         position reporting.
3705
3706 2005-10-20  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gsterror.c: (gst_error_get_message):
3709         * gst/gstparse.h:
3710         * gst/gstquery.h:
3711         * gst/gststructure.c:
3712         * gst/gsttrace.c:
3713         * gst/gstutils.c:
3714         More docs.
3715
3716 2005-10-20  Wim Taymans  <wim@fluendo.com>
3717
3718         * gst/gstbuffer.h:
3719         * gst/gstpad.c:
3720         * gst/gstparse.c:
3721         Another 1% more coverage.
3722
3723 2005-10-20  Wim Taymans  <wim@fluendo.com>
3724
3725         * docs/gst/gstreamer-sections.txt:
3726         * gst/gstelement.c: (gst_element_get_state_func),
3727         (gst_element_abort_state), (gst_element_commit_state),
3728         (gst_element_lost_state):
3729         * gst/gstevent.h:
3730         * gst/gstquery.c: (gst_query_set_position),
3731         (gst_query_parse_position), (gst_query_set_duration),
3732         (gst_query_parse_duration), (gst_query_new_convert):
3733         * gst/gstutils.c:
3734         Yay! 1% more docs coverage.
3735
3736 2005-10-20  Wim Taymans  <wim@fluendo.com>
3737
3738         * gst/gstpad.h:
3739         * gst/gstquery.c: (gst_query_set_position),
3740         (gst_query_parse_position), (gst_query_set_duration),
3741         (gst_query_parse_duration), (gst_query_new_convert):
3742         * gst/gstquery.h:
3743         * gst/gstutils.c: (gst_element_query_convert):
3744         * gst/gstutils.h:
3745         Docs and consistency fixes.
3746
3747 2005-10-20  Wim Taymans  <wim@fluendo.com>
3748
3749         * gst/gsttask.c:
3750         * gst/gsttask.h:
3751         More docs.
3752
3753 2005-10-20  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/gstbin.c: (message_check), (bin_replace_message),
3756         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3757         (update_degree), (gst_bin_sort_iterator_next),
3758         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3759         Reworked the message handling a bit, cache the messages instead of
3760         only the senders. alows us to do more in the future.
3761
3762 2005-10-20  Wim Taymans  <wim@fluendo.com>
3763
3764         * docs/design/part-TODO.txt:
3765         Update TODO
3766
3767         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3768         (gst_base_sink_query):
3769         Don't use clock time to report position when in EOS.
3770
3771 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3772
3773         * tools/gst-inspect.c: (print_interfaces),
3774         (print_element_properties_info), (print_element_info):
3775           Fix interface output with gst-inspect -a; don't print
3776           newlines after double/float properties.
3777
3778 2005-10-20  Wim Taymans  <wim@fluendo.com>
3779
3780         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3781         (gst_base_sink_query):
3782         Speed up current position calculation.
3783
3784         * gst/base/gstbasesrc.c: (gst_base_src_query),
3785         (gst_base_src_default_newsegment):
3786         Correctly set stream position in newsegment.
3787
3788         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3789         (update_degree), (gst_bin_sort_iterator_next),
3790         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3791         * gst/gstmessage.c: (gst_message_new_custom):
3792         Clean up debugging info
3793
3794         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3795         (gst_queue_loop), (gst_queue_handle_src_query):
3796         Pause task faster.
3797
3798 2005-10-19  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3801         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3802         Fix query handling again.
3803
3804 2005-10-19  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3807         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3808         * gst/base/gstbasesrc.c: (gst_base_src_query):
3809         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3810         * gst/elements/gsttypefindelement.c:
3811         (gst_type_find_handle_src_query), (find_element_get_length),
3812         (gst_type_find_element_activate):
3813         API change fix.
3814
3815         * gst/gstquery.c: (gst_query_new_position),
3816         (gst_query_set_position), (gst_query_parse_position),
3817         (gst_query_new_duration), (gst_query_set_duration),
3818         (gst_query_parse_duration), (gst_query_set_segment),
3819         (gst_query_parse_segment):
3820         * gst/gstquery.h:
3821         Bundling query position/duration is not a good idea since duration
3822         does not change much and we don't want to recalculate it for every
3823         position query, so they are separated again..
3824         Base value in segment query is not needed.
3825
3826         * gst/gstqueue.c: (gst_queue_handle_src_query):
3827         * gst/gstutils.c: (gst_element_query_position),
3828         (gst_element_query_duration), (gst_pad_query_position),
3829         (gst_pad_query_duration):
3830         * gst/gstutils.h:
3831         Updates for query API change.
3832         Added some docs here and there.
3833
3834 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3835
3836         * check/gst/gstbin.c: (GST_START_TEST):
3837         * check/gst/gstghostpad.c: (GST_START_TEST):
3838         * check/pipelines/cleanup.c: (GST_START_TEST):
3839           wait on thread to die so we can check refcount correctly
3840
3841 2005-10-18  Wim Taymans  <wim@fluendo.com>
3842
3843         * check/pipelines/stress.c: (GST_START_TEST):
3844         Make check a little more time consuming.
3845
3846 2005-10-18  Wim Taymans  <wim@fluendo.com>
3847
3848         * check/Makefile.am:
3849         * check/pipelines/stress.c: (GST_START_TEST),
3850         (simple_launch_lines_suite), (main):
3851         Small state change torture test.
3852
3853         * docs/design/part-states.txt:
3854         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3855         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3856         (gst_base_sink_change_state):
3857         Never take state lock from streaming thread, clean up ugly
3858         hacks. Unfortunatly core does not yet support nice ways to
3859         async commit state.
3860         
3861         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3862         (bin_bus_handler):
3863         Start state recalc if a STATE_DIRTY message is posted, but only
3864         on the toplevel bin.
3865
3866         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3867         (gst_element_get_state_func), (gst_element_abort_state),
3868         (gst_element_commit_state), (gst_element_lost_state),
3869         (gst_element_set_state_func), (gst_element_change_state):
3870         * gst/gstelement.h:
3871         State variables are now protected with the LOCK, the state
3872         lock is only used to serialize _set_state().
3873
3874 2005-10-18  Wim Taymans  <wim@fluendo.com>
3875
3876         * check/gst/gstbin.c: (GST_START_TEST):
3877         * check/gst/gstmessage.c: (GST_START_TEST):
3878         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3879         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3880         (bin_bus_handler):
3881         * gst/gstelement.c: (gst_element_abort_state),
3882         (gst_element_commit_state), (gst_element_lost_state):
3883         * gst/gstmessage.c: (gst_message_new_state_changed),
3884         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3885         (gst_message_new_segment_done), (gst_message_new_duration),
3886         (gst_message_parse_state_changed),
3887         (gst_message_parse_segment_start),
3888         (gst_message_parse_segment_done), (gst_message_parse_duration):
3889         * gst/gstmessage.h:
3890         * tools/gst-launch.c: (event_loop):
3891         Seriously, this is better than a previous commit as we only need
3892         to notify the fact that an element changed state in a streaming
3893         thread, marking the state of the parents dirty, hence the 
3894         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3895         message.
3896
3897 2005-10-18  Wim Taymans  <wim@fluendo.com>
3898
3899         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3900         (gst_bin_recalc_func):
3901         * gst/gstelement.c: (gst_element_set_clock),
3902         (gst_element_abort_state), (gst_element_lost_state):
3903         Cleanups, prepare for state change fixes.
3904
3905 2005-10-18  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/gstbin.h:
3908         * gst/gstelement.c: (gst_element_class_init),
3909         (gst_element_set_state), (gst_element_set_state_func):
3910         * gst/gstelement.h:
3911         Pending ABI changes.
3912         GThreadPool in GstBinClass to monitor async state changes.
3913         state_cookie in GstElement to detect concurrent gst/set state.
3914         set_state is now virtual too in case a very complicated element
3915         has to be constructed.
3916
3917 2005-10-18  Wim Taymans  <wim@fluendo.com>
3918
3919         * check/gst/gstbin.c: (GST_START_TEST):
3920         * check/gst/gstmessage.c: (GST_START_TEST):
3921         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3922         * gst/gstbin.c: (bin_bus_handler):
3923         * gst/gstelement.c: (gst_element_commit_state),
3924         (gst_element_lost_state):
3925         * gst/gstmessage.c: (gst_message_new_state_changed),
3926         (gst_message_new_segment_start), (gst_message_new_segment_done),
3927         (gst_message_new_duration), (gst_message_parse_state_changed),
3928         (gst_message_parse_segment_start),
3929         (gst_message_parse_segment_done), (gst_message_parse_duration):
3930         * gst/gstmessage.h:
3931         * tools/gst-launch.c: (event_loop):
3932         Make messages future proof.
3933         state-change gets a flag if it was a message comming from the
3934         streaming thread.
3935         segment-start/stop can also be specified in other formats.
3936         A message to notify an app that a pipeline changed playback 
3937         duration.
3938         Also fix a GstMessage leak in -launch
3939
3940 2005-10-18  Andy Wingo  <wingo@pobox.com>
3941
3942         * gst/gstelement.c (gst_element_dispose): More helpful message.
3943
3944 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3945
3946         reviewed by: <delete if not using a buddy>
3947
3948         * common/gtk-doc.mak:
3949
3950 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3951
3952         * gst/gstregistry.c: (gst_registry_scan_path_level):
3953           unref a plug-in we get that was already initialized
3954
3955 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3956
3957         * docs/gst/gstreamer-sections.txt:
3958         * docs/libs/gstreamer-libs-sections.txt:
3959         * gst/gstelement.h:
3960           add new api entries
3961           hide internal macro
3962
3963 2005-10-17  Andy Wingo  <wingo@pobox.com>
3964
3965         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3966         cleanup.
3967
3968         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3969
3970         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3971
3972         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3973         (gst_element_get_state_func): Better debug message.
3974         (gst_element_commit_state): s/INFO/DEBUG/.
3975         (gst_element_lost_state, gst_element_change_state): 
3976
3977         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3978         (gst_message_new_custom): s/INFO/LOG/.
3979
3980 2005-10-17  Michael Smith <msmith@fluendo.com>
3981
3982         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3983           Check if end time is valid using end time, not start time.
3984
3985 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3986
3987         * check/gst-libs/controller.c: (GST_START_TEST),
3988         (gst_controller_suite):
3989         * libs/gst/controller/gstcontroller.c:
3990         (gst_controlled_property_set_interpolation_mode):
3991         * libs/gst/controller/gstcontroller.h:
3992         * libs/gst/controller/gstinterpolation.c:
3993         * testsuite/controller/.cvsignore:
3994         * testsuite/controller/Makefile.am:
3995         * testsuite/controller/interpolator.c:
3996           merge controller testsuites
3997           fix broken tests
3998           remove mem-chunk from docs
3999
4000 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4001
4002         * gst/gstmemchunk.c:
4003         * gst/gstmemchunk.h:
4004         * gst/gsttrashstack.c:
4005         * gst/gsttrashstack.h:
4006           out.  get out.  you're fired.  to the Attic !
4007
4008 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * gst/gstcaps.c: (gst_caps_intersect):
4011           fix signedness issues in a (hopefully) correct way
4012         * gst/gstelement.c: (gst_element_pads_activate):
4013           some debugging
4014         * gst/gstobject.c: (gst_object_set_parent):
4015           some debugging
4016
4017 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4018
4019         * gst/gstvalue.h: Fix prototypes.
4020
4021 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4022
4023         * docs/gst/gstreamer-sections.txt:
4024         * gst/gst.c: (gst_version_string):
4025         * gst/gst.h:
4026         * gst/gstversion.h.in:
4027         * win32/common/libgstreamer.def:
4028           add gst_version_string ()
4029
4030 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4031
4032         * configure.ac:
4033           clean up further
4034         * gst/gst.c: (init_post):
4035         * win32/common/config.h.in:
4036           it's PLUGINDIR now
4037         * gst/gstcaps.c: (gst_caps_intersect):
4038           use gint64, the range could be bigger than a guint
4039
4040 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4041
4042         * gst/gstclock.h:
4043           document potential problem in 2038
4044
4045 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4046
4047         * gst/gstcaps.c: (gst_caps_intersect):
4048           Fix guint j diving under 0
4049
4050 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * configure.ac:
4053         * win32/common/config.h:
4054         * win32/common/config.h.in:
4055           check for process.h, declares getpid() on Windows
4056         * gst/gstinfo.c:
4057           include process.h if we have it
4058         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4059         * gst/gstmemchunk.h:
4060           fix signedness issues
4061         * win32/common/libgstreamer.def:
4062           fix get_type's
4063
4064 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4065
4066         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4067         fix. Because of unsigned ints, caps intersection was going nuts and
4068         trying to access structures with G_MAXUINT index. That fixes
4069         videotestsrc ! ffmpegcolorspace ! fakesink
4070         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4071         consistency.
4072
4073 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4074
4075         * configure.ac:
4076           use the gettext macro
4077         * gst/elements/gstelements.c:
4078         * gst/gst.c:
4079         * gst/indexers/gstindexers.c:
4080           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4081         * win32/common/config.h:
4082           updated config.h
4083         * win32/common/config.h.in:
4084           add the template to generate config.h
4085         * win32/common/gstenumtypes.c:
4086         * win32/common/gstversion.h:
4087           updated copies
4088
4089 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4090
4091         * gst/gst.c: (gst_version):
4092         * gst/gstversion.h.in:
4093           add the nano
4094
4095 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4096
4097         * gst/gstevent.h:
4098           Oops, add missing closing bracket.
4099
4100 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4101
4102         * configure.ac:
4103           use common m4's for argument checking
4104
4105 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4106
4107         * docs/gst/gstreamer-sections.txt:
4108         * gst/gstevent.h:
4109           Add GST_EVENT_TYPE_NAME() macro.
4110
4111 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4112
4113         * gst/gstinfo.c:
4114         * gst/gstpluginfeature.c:
4115         * gst/gsttask.c:
4116           privatize more symbols
4117
4118 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * configure.ac:
4121           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4122           everything that uses GStreamer API should have the includes
4123
4124 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4125
4126         * docs/gst/gstreamer-sections.txt:
4127         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4128         * gst/gstvalue.h:
4129           give each value a _get_type, removes the DATA exports
4130
4131 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * gst/gst.c:
4134         * gst/gst.h:
4135           remove _gst_registry_auto_load, not used anymore
4136         * gst/gstbin.c: (gst_bin_get_type):
4137         * gst/gstbin.h:
4138         * gst/gstelement.c: (gst_element_get_type):
4139         * gst/gstelement.h:
4140         * gst/gstobject.c: (gst_object_get_type):
4141         * gst/gstobject.h:
4142         * gst/gstpad.c: (gst_pad_get_type):
4143         * gst/gstpad.h:
4144           make _get_type functions similar, fixes data export from library
4145
4146 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4147
4148         * configure.ac:
4149           correctly make conditionals
4150         * gst/elements/Makefile.am:
4151         * gst/elements/gstelements.c:
4152           fix typo causing fdsrc not to build
4153
4154 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4155
4156         * testsuite/Makefile.am:
4157         * testsuite/bytestream/.cvsignore:
4158         * testsuite/bytestream/Makefile.am:
4159         * testsuite/bytestream/filepadsink.c:
4160         * testsuite/bytestream/gstbstest.c:
4161         * testsuite/bytestream/test1.c:
4162         * testsuite/bytestream/testfile1:
4163         * testsuite/caps/normalisation.c:
4164         * testsuite/caps/random.c: (main):
4165         * testsuite/cleanup/.cvsignore:
4166         * testsuite/cleanup/Makefile.am:
4167         * testsuite/cleanup/cleanup1.c:
4168         * testsuite/cleanup/cleanup2.c:
4169         * testsuite/cleanup/cleanup3.c:
4170         * testsuite/cleanup/cleanup4.c:
4171         * testsuite/cleanup/cleanup5.c:
4172         * testsuite/controller/interpolator.c:
4173         * testsuite/debug/printf_extension.c: (main):
4174         * testsuite/elements/tee.c:
4175         * testsuite/negotiation/.cvsignore:
4176         * testsuite/negotiation/Makefile.am:
4177         * testsuite/negotiation/pad_link.c:
4178         * testsuite/pad/Makefile.am:
4179         * testsuite/pad/chainnopull.c:
4180         * testsuite/pad/getnopush.c:
4181         * testsuite/pad/link.c:
4182         * testsuite/refcounting/sched.c: (create_pipeline):
4183         * testsuite/registry/Makefile.am:
4184         * testsuite/registry/gst-print-formats.c:
4185         * testsuite/schedulers/.cvsignore:
4186         * testsuite/schedulers/142183-2.c:
4187         * testsuite/schedulers/142183.c:
4188         * testsuite/schedulers/143777-2.c:
4189         * testsuite/schedulers/143777.c:
4190         * testsuite/schedulers/147713.c:
4191         * testsuite/schedulers/147819.c:
4192         * testsuite/schedulers/147894-2.c:
4193         * testsuite/schedulers/147894.c:
4194         * testsuite/schedulers/Makefile.am:
4195         * testsuite/schedulers/group_link.c:
4196         * testsuite/schedulers/queue_link.c:
4197         * testsuite/schedulers/relink.c:
4198         * testsuite/schedulers/unlink.c:
4199         * testsuite/schedulers/unref.c:
4200         * testsuite/schedulers/useless_iteration.c:
4201         * testsuite/states/bin.c:
4202           clean out/remove some stuff from the testsuite directories
4203
4204 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4205
4206         * configure.ac:
4207           check for some headers
4208         * gst/elements/Makefile.am:
4209         * gst/elements/gstelements.c:
4210           don't compile fdsrc without sys/socket.h
4211         * gst/indexers/Makefile.am:
4212         * gst/indexers/gstindexers.c: (plugin_init):
4213           don't compile fileindex without mmap
4214
4215 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * configure.ac:
4218           reorganize
4219           clean up
4220           document more
4221           remove cruft
4222         * check/Makefile.am:
4223         * docs/gst/Makefile.am:
4224         * examples/helloworld/Makefile.am:
4225         * gst/Makefile.am:
4226         * gst/base/Makefile.am:
4227         * gst/check/Makefile.am:
4228         * gst/elements/Makefile.am:
4229         * gst/indexers/Makefile.am:
4230         * gst/parse/Makefile.am:
4231         * libs/gst/controller/Makefile.am:
4232         * libs/gst/dataprotocol/Makefile.am:
4233         * examples/helloworld/helloworld.c: (event_loop):
4234           compile fixes, though it's not being compiled currently
4235
4236 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4237
4238         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4239           Add some simple tests for the new taglist date API.
4240
4241 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4242
4243         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4244         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4245           Beautify 'last-message' output: print 'none' for buffer timestamps
4246           and durations if none is set; improve alignment with next messages.
4247
4248 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4249
4250         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4251         * gst/gstpluginfeature.h:
4252         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4253         * gst/gstregistry.h:
4254         * docs/gst/gstreamer-sections.txt:
4255           Add new API to check plugin feature version requirements.
4256
4257         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4258           Some basic tests for the above.         
4259
4260 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4261
4262         * gst/gststructure.c: (gst_structure_to_string):
4263           guard against NULL printf - happens when for example
4264           a message structure with GstClock gets serialized
4265
4266 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4267
4268         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4269           Fix presumable copy'n'pasto.
4270
4271 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4272
4273         * gst/elements/gstfakesrc.h:
4274         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4275         * gst/elements/gsttypefindelement.c:
4276           fix some signedness
4277         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4278           I wonder if this could actually write +2GB files before
4279
4280 2005-10-13  Andy Wingo  <wingo@pobox.com>
4281
4282         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4283         Fix Timmeke Waymans bug.
4284         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4285         string of the proper length to gst_caps_from_string. There's a
4286         potential for, before this fix, that this could cause someone
4287         connecting over the network to cause a segfault if the payload is
4288         not NUL-terminated.
4289
4290 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4291
4292         * docs/design/draft-push-pull.txt:
4293         * docs/design/part-overview.txt:
4294         * docs/random/TODO-pre-0.9:
4295         * docs/random/old/ChangeLog.gstreamer:
4296         * gst/base/gstpushsrc.c:
4297         * gst/gstclock.c:
4298           fixed typos
4299
4300 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/glib-compat.c: (gst_flags_get_first_value):
4303         * gst/glib-compat.h:
4304         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4305         (gst_value_compare_double), (gst_value_serialize_flags):
4306           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4307           infinite loop
4308
4309 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4310
4311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4312         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4313           fix up debugging
4314         * tools/gst-launch.c: (event_loop):
4315           print out clock nicely
4316
4317 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4318
4319         * docs/gst/gstreamer-sections.txt:
4320         * gst/gsttaglist.h:
4321         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4322         (gst_tag_list_get_date_index):
4323           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4324           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4325
4326 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4327
4328         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4329         (gst_collectpads_chain):
4330         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4331         in CollectData.
4332
4333 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4334
4335         * docs/gst/gstreamer-sections.txt:
4336         * gst/gst.c:
4337         * gst/gsterror.h:
4338         * tools/gst-inspect.c: (main):
4339         * tools/gst-launch.c: (main):
4340         * tools/gst-run.c: (main):
4341         * tools/gst-xmlinspect.c: (main):
4342           fix GOption context leaks
4343           doc fixes
4344
4345 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * gst/gstbus.c:
4348           use HAVE_UNISTD_H
4349         * win32/common/config.h:
4350           update config
4351         * win32/vs6/grammar.dsp:
4352         * win32/vs6/libgstelements.dsp:
4353         * win32/vs6/libgstreamer.dsp:
4354           update vs6 files
4355
4356 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4357
4358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4359         * gst/base/gstbasesrc.c: (gst_base_src_query):
4360           fix more guint64<->gdouble conversions
4361
4362 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4363
4364         * Makefile.am:
4365           add win32-update target
4366         * win32/common/gstconfig.h:
4367         * win32/common/gstenumtypes.c:
4368         * win32/common/gstenumtypes.h:
4369         * win32/common/gstversion.h:
4370           add files that visual studio can't generate
4371
4372 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4373
4374         * Makefile.am:
4375           add a win32-update target
4376         * configure.ac:
4377
4378 2005-10-12  Wim Taymans  <wim@fluendo.com>
4379
4380         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4381         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4382         * gst/gstelement.c: (gst_element_commit_state),
4383         (gst_element_set_state):
4384         Protect flags with proper lock.
4385         unref provided cached clock in dispose.
4386
4387 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4388
4389         * gst/gst.c:
4390         * gst/gstminiobject.h:
4391         * gst/gstpad.h:
4392         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4393           removed unused flags from miniobject
4394           doc fixes
4395
4396 2005-10-12  Wim Taymans  <wim@fluendo.com>
4397
4398         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4399         (gst_file_sink_event), (gst_file_sink_render):
4400         Flush before seeking.
4401
4402 2005-10-12  Andy Wingo  <wingo@pobox.com>
4403
4404         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4405         always been the case.
4406
4407 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4408
4409         * check/gst/gstbin.c: (GST_START_TEST):
4410         * docs/gst/gstreamer-sections.txt:
4411         * gst/base/gstbasesink.c: (gst_base_sink_init):
4412         * gst/base/gstbasesrc.c: (gst_base_src_init),
4413         (gst_base_src_get_range), (gst_base_src_check_get_range),
4414         (gst_base_src_start), (gst_base_src_stop):
4415         * gst/base/gstbasesrc.h:
4416         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4417         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4418         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4419         (bin_bus_handler):
4420         * gst/gstbin.h:
4421         * gst/gstbuffer.h:
4422         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4423         * gst/gstbus.h:
4424         * gst/gstelement.c: (gst_element_is_locked_state),
4425         (gst_element_set_locked_state), (gst_element_commit_state),
4426         (gst_element_set_state):
4427         * gst/gstelement.h:
4428         * gst/gstindex.c: (gst_index_init):
4429         * gst/gstindex.h:
4430         * gst/gstminiobject.h:
4431         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4432         (gst_object_set_parent):
4433         * gst/gstobject.h:
4434         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4435         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4436         * gst/gstpad.h:
4437         * gst/gstpadtemplate.h:
4438         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4439         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4440         * gst/gstpipeline.h:
4441         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4442         (gst_file_index_commit):
4443         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4444         * testsuite/pad/link.c: (gst_test_src_init),
4445         (gst_test_filter_init), (gst_test_sink_init):
4446         * testsuite/states/locked.c: (main):
4447           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4448           moved bitshift from macro to enum definition
4449
4450 2005-10-12  Wim Taymans  <wim@fluendo.com>
4451
4452         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4453         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4454         (gst_file_sink_render):
4455         Some more debugging info.
4456
4457 2005-10-12  Wim Taymans  <wim@fluendo.com>
4458
4459         * docs/design/part-states.txt:
4460         * tools/gst-launch.c: (main):
4461         Some doc updates.
4462         Revert non-intentional change.
4463
4464 2005-10-12  Wim Taymans  <wim@fluendo.com>
4465
4466         * check/gst/gstbin.c: (GST_START_TEST):
4467         * check/gst/gstelement.c: (GST_START_TEST):
4468         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4469         * check/gst/gstghostpad.c: (GST_START_TEST):
4470         * check/gst/gstpipeline.c: (GST_START_TEST):
4471         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4472         * check/states/sinks.c: (GST_START_TEST):
4473         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4474         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4475         (gst_bin_remove_func), (gst_bin_get_state_func),
4476         (gst_bin_recalc_state), (gst_bin_change_state_func),
4477         (bin_bus_handler):
4478         * gst/gstelement.c: (gst_element_get_state_func),
4479         (gst_element_get_state), (gst_element_abort_state),
4480         (gst_element_commit_state), (gst_element_set_state),
4481         (gst_element_change_state), (gst_element_change_state_func):
4482         * gst/gstelement.h:
4483         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4484         (gst_pipeline_provide_clock_func):
4485         * gst/gstutils.c: (gst_element_link_pads_filtered):
4486         * tools/gst-launch.c: (main):
4487         * tools/gst-typefind.c: (main):
4488         Use GstClockTime in _get_state() instead of GTimeVal.
4489         Remove old code in gstutils.c
4490
4491 2005-10-12  Andy Wingo  <wingo@pobox.com>
4492
4493         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4494         removed.
4495
4496         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4497         there is no task. Shouldn't affect any code, as nothing in our
4498         plugins checks this return value.
4499         (gst_pad_stop_task): Also take the stream lock if the pad has no
4500         task. Docs updated.
4501
4502 2005-10-12  Wim Taymans  <wim@fluendo.com>
4503
4504         * gst/gstpad.c: (pre_activate), (post_activate),
4505         (gst_pad_activate_pull), (gst_pad_activate_push):
4506         Cleanup activation code. Reset old state if
4507         activation failed.
4508
4509 2005-10-12  Wim Taymans  <wim@fluendo.com>
4510
4511         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4512         (gst_base_sink_change_state):
4513         No need to prerol after receiving EOS.
4514
4515         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4516         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4517         * gst/elements/gstidentity.c: (gst_identity_event):
4518         Print events more verbosely.
4519
4520 2005-10-12  Wim Taymans  <wim@fluendo.com>
4521
4522         * check/Makefile.am:
4523         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4524         * check/states/sinks2.c:
4525         Moved sinks2 testcode in sinks check.
4526
4527         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4528         (gst_bin_remove_func), (gst_bin_recalc_state),
4529         (gst_bin_change_state_func), (bin_bus_handler):
4530         Fix potential race condition when _get_state() iterated over an
4531         ASYNC element right before it posted a state completion.
4532
4533         * gst/gstclock.h:
4534         Do proper cast here.
4535
4536         * gst/gstevent.c: (gst_event_new_newsegment),
4537         (gst_event_parse_newsegment):
4538         A playback rate of 0.0 is not allowed.
4539
4540 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4541
4542         * win32/common/config.h:
4543         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4544         (_trewinddir), (_ttelldir), (_tseekdir):
4545         * win32/common/dirent.h:
4546         * win32/common/gtchar.h:
4547         * win32/common/libgstbase.def:
4548         * win32/common/libgstreamer.def:
4549         * win32/vs6/grammar.dsp:
4550         * win32/vs6/gst_inspect.dsp:
4551         * win32/vs6/gst_launch.dsp:
4552         * win32/vs6/gstreamer.dsw:
4553         * win32/vs6/libgstbase.dsp:
4554         * win32/vs6/libgstelements.dsp:
4555         * win32/vs6/libgstreamer.dsp:
4556           Visual Studio 6 project files, and a new common directory.
4557           Phear.
4558
4559 2005-10-11  Wim Taymans  <wim@fluendo.com>
4560
4561         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4562         (gst_base_sink_do_sync), (gst_base_sink_query),
4563         (gst_base_sink_change_state):
4564         * gst/base/gstbasesink.h:
4565         Correctly parse newsegment info.
4566
4567 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4568
4569         * gst/gst.c: (init_post):
4570           split plugin paths correctly
4571
4572 2005-10-11  Wim Taymans  <wim@fluendo.com>
4573
4574         * check/gst/gstevent.c: (GST_START_TEST):
4575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4576         (gst_base_sink_change_state):
4577         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4578         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4579         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4580         * gst/gstevent.c: (gst_event_new_newsegment),
4581         (gst_event_parse_newsegment):
4582         * gst/gstevent.h:
4583         Added extra flag to newsegment for future API freeze.
4584         Updated check and base elements.
4585
4586 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4587
4588         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4589         (gst_collectpads_add_pad), (gst_collectpads_pop),
4590         (gst_collectpads_event), (gst_collectpads_chain):
4591         * gst/base/gstcollectpads.h: Handle EOS correctly.
4592
4593 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4594
4595         * tools/gst-launch.c: (main):
4596           more null protecting
4597
4598 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4599
4600         * gst/gst-i18n-lib.h:
4601           check for ENABLE_NLS, not GETTEXT_PACKAGE
4602         * gst/gstregistry.c: (gst_registry_add_plugin),
4603         (gst_registry_scan_path_level),
4604         (_gst_registry_remove_cache_plugins):
4605           protect possibly NULL strings
4606         * gst/parse/types.h:
4607           config.h already included before
4608         * tools/gst-inspect.c: (main):
4609           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4610           check for ENABLE_NLS, not GETTEXT_PACKAGE
4611         * tools/gst-launch.c: (main):
4612           check for ENABLE_NLS, not GETTEXT_PACKAGE
4613
4614 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * configure.ac:
4617           if we don't have glib, fail before testing 2.8
4618         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4619           fix a leak, should fix plugins-base testsuite
4620
4621 2005-10-11  Andy Wingo  <wingo@pobox.com>
4622
4623         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4624         take the mode we're going to as an arg. Go head and set the mode
4625         and flushing flags now, so that if the activate function starts a
4626         thread all the flags will be in the right state.
4627         (post_activate): Renamed also. Just handle making sure streaming
4628         finishes for the deactivation case, and setting the deactivated
4629         mode.
4630         (gst_pad_set_active): Complain loudly if deactivation fails.
4631         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4632         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4633         remove the terrible hack.
4634
4635 2005-10-11  Wim Taymans  <wim@fluendo.com>
4636
4637         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4638         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4639         (gst_bin_recalc_state), (gst_bin_change_state_func),
4640         (gst_bin_dispose), (bin_bus_handler):
4641         * gst/gstbin.h:
4642         Prepare to make current EOS message queue more generic.
4643         Fix some typos.
4644
4645         * gst/gstevent.c: (gst_event_new_newsegment),
4646         (gst_event_parse_newsegment):
4647         * gst/gstevent.h:
4648         Rename base to stream_time.
4649
4650         * gst/gstmessage.h:
4651         Fix typo in docs.
4652
4653 2005-10-11  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4656         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4657         (gst_bin_change_state_func), (bin_bus_handler):
4658         * gst/gstbin.h:
4659         Work on proper clock selection.
4660
4661 2005-10-11  Edward Hervey  <edward@fluendo.com>
4662
4663         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4664         * libs/gst/controller/gstcontroller.h:
4665         Added GList* version of _remove_properties() in order to be able to wrap
4666         it in bindings.
4667
4668 2005-10-11  Wim Taymans  <wim@fluendo.com>
4669
4670         * docs/design/part-states.txt:
4671         Some more docs.
4672
4673         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4674         (gst_bin_change_state_func), (bin_bus_handler):
4675         Doc updates. Don't distribute the same clock over and over again.
4676
4677         * gst/gstclock.c:
4678         * gst/gstclock.h:
4679         Doc updates.
4680
4681         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4682         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4683         (gst_pad_send_event):
4684         * gst/gstpad.h:
4685         Make probe emission threadsafe again.
4686         Register quarks and move _get_name() from utils.
4687         Doc updates.
4688
4689         * gst/gstpipeline.c: (gst_pipeline_class_init),
4690         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4691         Only redistribute the clock of it changed.
4692
4693         * gst/gstsystemclock.h:
4694         Doc updates. 
4695
4696         * gst/gstutils.c:
4697         * gst/gstutils.h:
4698         Moved the _flow_get_name() to GstPad.
4699
4700 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4701
4702         * check/gst-libs/gdp.c: (GST_START_TEST):
4703         * check/gst/gstcaps.c: (GST_START_TEST):
4704         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4705         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4706         (gst_dp_packet_from_caps):
4707           fix more valgrind warnings before turning up the heat
4708
4709 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4710
4711         * gst/parse/grammar.y:
4712           some cleanup before the hacking
4713
4714 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4715
4716         * gst/base/gstbasesrc.c: (gst_base_src_query):
4717           use conversions
4718         * gst/gstutils.c: (gst_guint64_to_gdouble),
4719         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4720         * gst/gstutils.h:
4721           externalize, basesrc uses it
4722           obviously the implementation needs testing
4723
4724 2005-10-10  Wim Taymans  <wim@fluendo.com>
4725
4726         * tests/sched/Makefile.am:
4727         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4728         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4729
4730 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4733           apparently converting from guint64 to double is not implemented
4734           on MSVC
4735
4736 2005-10-10  Wim Taymans  <wim@fluendo.com>
4737
4738         * check/Makefile.am:
4739         * check/generic/states.c: (GST_START_TEST):
4740         * check/gst/gstbin.c: (GST_START_TEST):
4741         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4742         * check/states/sinks.c: (GST_START_TEST):
4743         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4744         (main):
4745         Check fixes, use API as stated in design docs, remove hacks.
4746
4747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4748         (gst_base_sink_change_state):
4749         Catch stopping our task while we're shutting down.
4750
4751         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4752         (gst_bin_remove_func), (gst_bin_get_state_func),
4753         (gst_bin_recalc_state), (gst_bin_change_state_func),
4754         (bin_bus_handler):
4755         * gst/gstbin.h:
4756         * gst/gstelement.c: (gst_element_init),
4757         (gst_element_get_state_func), (gst_element_abort_state),
4758         (gst_element_commit_state), (gst_element_lost_state),
4759         (gst_element_set_state), (gst_element_change_state),
4760         (gst_element_change_state_func):
4761         * gst/gstelement.h:
4762         New state change algorithm (see #318116)
4763
4764         * gst/gstpipeline.c: (gst_pipeline_class_init),
4765         (gst_pipeline_init), (gst_pipeline_set_property),
4766         (gst_pipeline_get_property), (do_pipeline_seek),
4767         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4768         * gst/gstpipeline.h:
4769         Remove crude state change hacks.
4770
4771         * gst/gstutils.h:
4772         Remove crude hacks.
4773
4774         * tools/gst-launch.c: (main):
4775         Fixes for state change. Needs some more work to fully use the
4776         new stuff.
4777
4778 2005-10-10  Andy Wingo  <wingo@pobox.com>
4779
4780         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4781
4782         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4783         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4784         issue.
4785
4786 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         * gst/gstiterator.c: (gst_iterator_new):
4789           Fix my previous commit: GTypes passed to gst_iterator_new()
4790           can be fundamental types.
4791
4792 2005-10-10  Wim Taymans  <wim@fluendo.com>
4793
4794         * gst/gstelement.c: (gst_element_iterate_pad_list),
4795         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4796         (gst_element_iterate_sink_pads):
4797         Use src/sink pads lists for the respective iterators instead
4798         of filtering.
4799
4800 2005-10-10  Andy Wingo  <wingo@pobox.com>
4801
4802         Merged in popt removal + GOption addition patch from Ronald, bug
4803         #169772.
4804
4805         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4806         GstElement macros around, remove popt-related symbols, add goption
4807         stuff.
4808
4809         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4810         
4811         * docs/gst/Makefile.am:
4812         * docs/libs/Makefile.am: No POPT_CFLAGS.
4813         
4814         * examples/manual/Makefile.am:
4815         * docs/manual/basics-init.xml: Doc updates with an example.
4816         
4817         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4818         (gst_init), (parse_one_option), (parse_goption_arg):
4819         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4820         bit of hand merging and debugging to get the GOption stuff working
4821         tho.
4822         
4823         * tests/Makefile.am:
4824         * tools/Makefile.am:
4825         * tools/gst-inspect.c: (main):
4826         * tools/gst-launch.c: (main):
4827         * tools/gst-run.c: (main):
4828         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4829
4830 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * gst/gstiterator.c: (gst_iterator_new):
4833           Add assertions to make sure passed GType is likely to really
4834           be a GType (as the compiler won't catch it if the size and
4835           GType arguments get mixed up, see #318447).
4836
4837 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4838
4839         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * gst/gstbin.c: (gst_bin_iterate_sorted):
4842           Pass GType and size arguments to gst_iterator_new() in the right
4843           order (maybe we should make _new() take the GType as first argument
4844           just like _new_list()?) (#318447).
4845           
4846
4847 2005-10-10  Wim Taymans  <wim@fluendo.com>
4848
4849         * gst/gstelement.c: (gst_element_finalize):
4850         And free the GStaticRecMutex too
4851
4852 2005-10-10  Andy Wingo  <wingo@pobox.com>
4853
4854         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4855         Allocate and free the mutex properly.
4856
4857         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4858         New macros.
4859         (GstElement): The state_lock is now recursive. Rebuild your
4860         plugins, suckers. Old macros adapted.
4861
4862         * docs/gst/gstreamer-sections.txt: Doc updates.
4863
4864         * gst/gstutils.h:
4865         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4866         (g_static_rec_cond_wait): Ported from state changes patch, while
4867         we wait on bug #317802 to be solved in a well-distributed GLib.
4868
4869         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4870         gst_element_change_state, variable name changes.
4871         (gst_element_change_state): Split out of gst_element_set_state in
4872         preparation for the state change merge. Doesn't pay attention to
4873         the 'transition' argument.
4874         (gst_element_set_state): Updates, hopefully purely cosmetic.
4875         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4876         state change patch.
4877         (gst_element_get_state_func): Renamed from get_state, cosmetic
4878         changes.
4879
4880 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * gst/elements/gstelements.c:
4883         * win32/GStreamer.vcproj:
4884         * win32/config.h:
4885         * win32/dirent.c: (_tseekdir):
4886         * win32/gst-inspect.vcproj:
4887         * win32/gst-launch.vcproj:
4888         * win32/gstconfig.h:
4889         * win32/gstelements.vcproj:
4890         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4891         * win32/gstreamer.def:
4892         * win32/msvc71.sln:
4893           updates for the win32 build (patch from Sebastien Moutte)
4894
4895 2005-10-10  Andy Wingo  <wingo@pobox.com>
4896
4897         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4898         gst_bin_get_state, cleaned up (but no logic changes).
4899         (bin_element_is_sink): Comment updates.
4900         (sink_iterator_filter): Remove needless cast.
4901         (gst_bin_iterate_sinks): Doc update.
4902         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4903         cleaned up (but no logic changes).
4904
4905         * check/states/sinks.c (test_src_sink): Cleanups from the state
4906         change patch.
4907         (test_livesrc_sink): Sync on the state.
4908
4909         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4910         the state change patch.
4911
4912         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4913         change patch.
4914
4915         * check/gst/gstbin.c: Merge in some style fixes and additional
4916         checks from Wim's state change patch.
4917
4918 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4919
4920         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4921         (gst_type_find_helper):
4922           Check whether we have the requested data already in our list of
4923           cached buffers before pulling a new buffer; also make the buffer
4924           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4925
4926 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * gst/gstcaps.c:
4929         * gst/gstevent.c:
4930           doc updates
4931         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4932           don't use long long, it's not portable.  Replacing with
4933           gint64 seems to work; let's hope no skeletons fall out of the closet.
4934
4935 2005-10-10  Andy Wingo  <wingo@pobox.com>
4936
4937         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4938
4939 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4940
4941         * docs/gst/gstreamer-sections.txt:
4942         * gst/gstevent.c:
4943         * gst/gstevent.h:
4944         * gst/gstinfo.c:
4945         * gst/gstinfo.h:
4946         * gst/gstmessage.c: (gst_message_parse_state_changed):
4947         * gst/gstpad.c:
4948         * gst/gstpad.h:
4949           more docs, fix compilation
4950
4951 2005-10-09  Philippe Khalaf <burger@speedy.org>
4952         * gst/gstmessage.c:
4953           Fixed a few forgotten variables on previous commit
4954
4955 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4958           Fix evil typefind crasher: getrange() might return a short
4959           buffer at the end of a file, but gst_type_find_peek() must
4960           either return the full data as requested or NULL, but
4961           never a short buffer.
4962
4963 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4964
4965         * gst/gstmessage.c: (gst_message_new_state_changed),
4966         (gst_message_parse_state_changed):
4967         * gst/gstmessage.h:
4968           don't use "new", it's a C++ keyword
4969
4970 2005-10-08  Wim Taymans  <wim@fluendo.com>
4971
4972         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4973         * gst/gstelement.c: (gst_element_post_message):
4974         * gst/gstpipeline.c: (gst_pipeline_change_state):
4975         Small docs and debug updates.
4976
4977 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4978
4979         * docs/gst/gstreamer-sections.txt:
4980         * gst/gstelementfactory.c:
4981         * gst/gstevent.c:
4982         * gst/gsttaglist.c:
4983           more docs
4984
4985 2005-10-08  Wim Taymans  <wim@fluendo.com>
4986
4987         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4988         (gst_bin_dispose), (bin_bus_handler):
4989         Fix typos, add comments.
4990         Clear EOS list when going to PAUSED from any direction and do it
4991         in a threadsafe way.
4992         Get base time in a threadsafe way too.
4993         Fix confusing debug in the change_state function.
4994         Various other small cleanups.
4995         
4996         * gst/gstelement.c: (gst_element_post_message):
4997         Fix very verbose bus posting code.
4998
4999         * gst/gstpipeline.c: (gst_pipeline_class_init),
5000         (gst_pipeline_set_property), (gst_pipeline_get_property),
5001         (gst_pipeline_change_state):
5002         Small ARG_ -> PROP_ cleanup
5003
5004 2005-10-08  Wim Taymans  <wim@fluendo.com>
5005
5006         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5007         Do a less CPU demanding EOS check because we can.
5008
5009 2005-10-08  Wim Taymans  <wim@fluendo.com>
5010
5011         * libs/gst/dataprotocol/dataprotocol.c:
5012         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5013         (gst_dp_packet_from_event):
5014         * libs/gst/dataprotocol/dataprotocol.h:
5015         * libs/gst/dataprotocol/dp-private.h:
5016         It's about time we bump the version number.
5017         Since event types don't fit in the guint8 anymore describing
5018         the payload type, make payload type 16 bits wide.
5019
5020 2005-10-08  Wim Taymans  <wim@fluendo.com>
5021
5022         * docs/design/part-TODO.txt:
5023         * docs/design/part-clocks.txt:
5024         * docs/design/part-events.txt:
5025         * docs/design/part-gstbin.txt:
5026         * docs/design/part-gstelement.txt:
5027         * docs/design/part-gstpipeline.txt:
5028         * docs/design/part-live-source.txt:
5029         * docs/design/part-messages.txt:
5030         * docs/design/part-overview.txt:
5031         * docs/design/part-states.txt:
5032         Many doc updates.
5033
5034 2005-10-08  Wim Taymans  <wim@fluendo.com>
5035
5036         * gst/gstevent.c:
5037         * gst/gstevent.h:
5038         Fix event quark registration.
5039         Add some space between events so we can insert them in the
5040         right groups.
5041
5042 2005-10-08  Wim Taymans  <wim@fluendo.com>
5043
5044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5045         (gst_base_sink_handle_buffer):
5046         Better log message.
5047
5048         * gst/gstbus.h:
5049         * gst/gstelement.h:
5050         More docs.
5051
5052         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5053         (gst_queue_set_property), (gst_queue_get_property):
5054         * gst/gstqueue.h:
5055         Remove old unused properties.
5056
5057 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5058         * docs/gst/gstreamer-sections.txt:
5059         * gst/gstmessage.c:
5060         * gst/gstmessage.h:
5061         * gst/gstminiobject.c:
5062         * gst/gstminiobject.h:
5063         * gst/gstobject.h:
5064         * gst/gstpad.h:
5065         * gst/gstutils.h:
5066           lots of new docs and doc fixes
5067
5068 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5071         * gst/gstplugin.h:
5072         * gst/gstregistry.c: (gst_registry_lookup_locked),
5073         (gst_registry_scan_path_level):
5074         * gst/gstregistryxml.c: (load_plugin):
5075           Only ever load one plugin for a given plugin basename.
5076           This ensures correct overriding of GST_PLUGIN_PATH over
5077           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5078           system installed plugins.
5079
5080 2005-10-08  Wim Taymans  <wim@fluendo.com>
5081
5082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5083         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5084         Prepare for doing QOS.
5085
5086 2005-10-08  Wim Taymans  <wim@fluendo.com>
5087
5088         * check/gst/gstbin.c: (GST_START_TEST):
5089         * check/pipelines/cleanup.c: (GST_START_TEST):
5090         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5091         Allow new clock message too.
5092
5093 2005-10-08  Wim Taymans  <wim@fluendo.com>
5094
5095         * gst/gstmessage.c: (gst_message_new_error),
5096         (gst_message_new_warning), (gst_message_new_tag),
5097         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5098         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5099         (gst_message_new_segment_start), (gst_message_new_segment_done),
5100         (gst_message_parse_state_changed),
5101         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5102         (gst_message_parse_new_clock):
5103         * gst/gstmessage.h:
5104         Also carry the clock in question.
5105
5106 2005-10-08  Wim Taymans  <wim@fluendo.com>
5107
5108         * gst/gstmessage.c: (gst_message_new_custom),
5109         (gst_message_new_eos), (gst_message_new_error),
5110         (gst_message_new_warning), (gst_message_new_tag),
5111         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5112         (gst_message_new_new_clock), (gst_message_new_segment_start),
5113         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5114         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5115         * gst/gstmessage.h:
5116         Clean up.
5117         Added clock related messages.
5118
5119         * gst/gstpipeline.c: (gst_pipeline_change_state):
5120         Post message when the clock changed.
5121
5122         * tools/gst-launch.c: (event_loop):
5123         Print new clock.
5124
5125 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5126
5127         * tools/gst-inspect.c: (print_element_properties_info):
5128           Can't pass NULL strings to g_print() on windows.
5129
5130 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5131
5132         * docs/Makefile.am:
5133         * docs/gst/Makefile.am:
5134         * docs/gst/gstreamer-docs.sgml:
5135         * docs/gst/running.xml:
5136         * docs/version.entities.in:
5137           add a chapter on running GStreamer.
5138           document GST_DEBUG and GST_PLUGIN* env vars
5139
5140 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5141
5142         * Makefile.am:
5143           remove include dir
5144         * configure.ac:
5145           remove PLUGINS_BUILDDIR stuff
5146         * gst/gst.c: (init_post):
5147           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5148         * idiottest.mak:
5149           remove, it was condescending and not needed
5150
5151 2005-10-08  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5154         (gst_base_sink_handle_object), (gst_base_sink_event),
5155         (gst_base_sink_wait), (gst_base_sink_handle_event),
5156         (gst_base_sink_change_state):
5157         * gst/base/gstbasesink.h:
5158         Repost EOS message while going to PLAYING if still EOS.
5159         Make sure that when receiving a FLUSH_START we don't attempt
5160         to sync on the clock anymore.
5161
5162 2005-10-08  Wim Taymans  <wim@fluendo.com>
5163
5164         * tools/gst-launch.c: (event_loop):
5165         Better message printout.
5166
5167 2005-10-08  Wim Taymans  <wim@fluendo.com>
5168
5169         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5170         (gst_bin_child_proxy_get_children_count):
5171         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5172         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5173         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5174         (gst_child_proxy_set_valist):
5175         * gst/parse/grammar.y:
5176         Make ChildProxy threadsafe and fix mem leaks.
5177
5178 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5179
5180         * gst/gst.c: (init_post):
5181           debug the GST_PLUGIN_ env vars
5182
5183 2005-10-08  Wim Taymans  <wim@fluendo.com>
5184
5185         * check/gst/gstbin.c: (GST_START_TEST):
5186         * check/gst/gstmessage.c: (GST_START_TEST):
5187         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5188         * gst/gstelement.c: (gst_element_commit_state),
5189         (gst_element_lost_state):
5190         * gst/gstmessage.c: (gst_message_new_state_changed),
5191         (gst_message_parse_state_changed):
5192         * gst/gstmessage.h:
5193         * tools/gst-launch.c: (event_loop):
5194         Added extra field to STATE_CHANGE message with the pending
5195         state, which will be different from the new state soon.
5196
5197 2005-10-08  Wim Taymans  <wim@fluendo.com>
5198
5199         * gst/gstbus.c: (gst_bus_pop):
5200         * gst/gstclock.c:
5201         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5202         Small cleanups and doc updates.
5203
5204 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5205
5206         * gst/gst.c: (init_pre):
5207         * gst/gstbin.c: (gst_bin_add_func):
5208           log distributing clocks and base time
5209         * gst/gstregistry.c: (gst_registry_add_plugin),
5210         (gst_registry_scan_path_level), (gst_registry_scan_path):
5211           clean up the debugging output a little
5212         * gst/gstutils.c: (gst_element_state_get_name):
5213           warn about a memleak (I've actually seen this be used, though
5214           it was probably a bug)
5215
5216 2005-10-07  Wim Taymans  <wim@fluendo.com>
5217
5218         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5219         (gst_base_src_init), (gst_base_src_default_newsegment),
5220         (gst_base_src_newsegment), (gst_base_src_do_seek),
5221         (gst_base_src_loop), (gst_base_src_start):
5222         * gst/base/gstbasesrc.h:
5223         Make the newsegment event customizable by subclasses.
5224
5225 2005-10-07  Wim Taymans  <wim@fluendo.com>
5226
5227         * gst/gstevent.c: (gst_event_new_buffersize),
5228         (gst_event_parse_buffersize):
5229         * gst/gstevent.h:
5230         New event for future idea.
5231
5232 2005-10-07  Andy Wingo  <wingo@pobox.com>
5233
5234         * gst/gstelement.c (gst_element_post_message): Doc update.
5235
5236         * docs/gst/gstreamer-sections.txt: Update.
5237
5238         * gst/gstmessage.c (gst_message_new_application): Made into a
5239         function like honest API calls.
5240         (gst_message_new_element): New message type.
5241
5242         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5243
5244         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5245         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5246         times.
5247
5248         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5249         NO_PREROLL from gst_element_change_state to fall through.
5250
5251 2005-10-07  Wim Taymans  <wim@fluendo.com>
5252
5253         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5254         (gst_ghost_pad_do_activate_push):
5255         Activating a ghostpad with no internal pad in push mode
5256         is ok.
5257
5258 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5259
5260         * gst/gstobject.h:
5261           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5262           Fixes compilation on Windows.
5263
5264 2005-10-07  Michael Smith <msmith@fluendo.com>
5265
5266         * tools/gst-inspect.c:
5267           Print out feature and plugin count at the end when printing out
5268           all features.
5269
5270 2005-10-04  Michael Smith <msmith@fluendo.com>
5271
5272         * gst/gsterror.c: (_gst_stream_errors_init):
5273           Add another error string used in a few existing plugins.
5274
5275         * gst/gstplugin.c:
5276         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5277         * tools/gst-inspect.c: (print_element_info):
5278           When a feature disappears from a plugin (and the feature exists in
5279           the cached registry file), things went horribly wrong. This isn't a
5280           complete fix, we should actually be removing the 'missing' features
5281           from the features list when we load the actual plugin. That's not
5282           yet implemented. 
5283
5284 2005-10-04  Johan Dahlin  <johan@gnome.org>
5285
5286         * check/gst/gstiterator.c: (GST_START_TEST):
5287         * gst/gstbin.c: (gst_bin_iterate_elements),
5288         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5289         * gst/gstelement.c: (gst_element_iterate_pads):
5290         * gst/gstformat.c: (gst_format_iterate_definitions):
5291         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5292         (gst_iterator_new_list), (gst_iterator_filter):
5293         * gst/gstiterator.h:
5294         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5295         Add a GType to GstIterator, update callsites and tests.
5296
5297 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5300           give events a chance to be handled by event probes when the pad
5301           is not linked
5302
5303 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * gst/gstevent.c: (gst_event_type_get_name),
5306         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5307         * gst/gstevent.h:
5308           add string representations for event types
5309
5310 2005-10-06  Wim Taymans  <wim@fluendo.com>
5311
5312         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5313         Don't use NULL pointers.
5314
5315 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * gst/gst_private.h:
5318         * gst/gstbus.c:
5319         * gst/gstelement.c:
5320         * gst/gstinfo.c:
5321         * gst/gstpluginfeature.c:
5322           widen the debug category in output to fit the biggest one we have
5323           add a bus category and use it
5324           play with the colors
5325           fix up some categories
5326
5327 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5330           add push activation of sink ghost pads.
5331           Andye, please verify
5332
5333 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5334
5335         * gst/gstutils.c: (gst_element_link_pads):
5336           fix a bug in the case where neither element has a pad
5337         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5338           add a test for that case
5339
5340 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5341
5342         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5343           emit have-data before checking for peers.  This allows
5344           for probe handlers to connect elements.  This helps autopluggers.
5345         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5346         (gst_pad_suite):
5347           add six checks, linked/unlinked with no/true/false probe
5348
5349 2005-10-04  Wim Taymans  <wim@fluendo.com>
5350
5351         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5352         (gst_fake_sink_event), (gst_fake_sink_preroll),
5353         (gst_fake_sink_render), (gst_fake_sink_change_state):
5354         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5355         (gst_fake_src_get_property), (gst_fake_src_create),
5356         (gst_fake_src_stop):
5357         * gst/elements/gstidentity.c: (gst_identity_stop):
5358         Protect last_message with lock.
5359
5360 2005-10-04  Edward Hervey  <edward@fluendo.com>
5361
5362         * gst/gstformat.h: 
5363         Added precision in the comments for GST_FORMAT_DEFAULT
5364
5365 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         * tools/gst-launch.c: (main):
5368           Don't try to run erroneous pipelines.
5369
5370 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5371
5372         * gst/gstbus.c: We don't need this header.
5373
5374 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5375
5376         * configure.ac:
5377           back to development
5378
5379 === release 0.9.3 ===
5380
5381 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5382
5383         * README:
5384         * configure.ac:
5385           Releasing 0.9.3, "Unregistered"
5386
5387 2005-10-03  Andy Wingo  <wingo@pobox.com>
5388
5389         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5390         whereby calling a pad's activatepush() function can start a thread
5391         that starts to push or pull before the pad gets the FLUSHING flag
5392         unset. Hack around it by holding the stream lock until the flag is
5393         set. Need to replace this with a proper solution. Together with
5394         the ghost pad fixes, this fixes mp3 playing/tagreading.
5395
5396         * docs/design/part-gstghostpad.txt: Add a note about activation of
5397         proxy pads outside of ghost pads.
5398
5399         * gst/gstghostpad.c: Implement the ghost pad activation design.
5400
5401 2005-10-02  Andy Wingo  <wingo@pobox.com>
5402
5403         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5404         It is volatile, after all.
5405
5406         * docs/design/part-gstghostpad.txt: Flesh out activation with
5407         ghost pads.
5408
5409         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5410         GST_DEBUG_FUNCPTR.
5411
5412 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5413
5414         * configure.ac:
5415           Fix (unused) AM_CONDITIONAL tests.
5416
5417 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5418
5419         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * gst/gstutils.c: (gst_pad_query_convert):
5422           Add assertion that makes sure src_val is >=0, just like
5423           gst_query_new_convert() has. (#315895)
5424
5425 2005-09-30  Edward Hervey  <edward@fluendo.com>
5426
5427         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5428         Let's not iterate pads we're not interested in, it avoids getting 
5429         sky-high refcounts on sinkpad.
5430
5431 2005-09-30  Wim Taymans  <wim@fluendo.com>
5432
5433         * gst/gstelement.c: (gst_element_set_state),
5434         (gst_element_change_state):
5435         Small tweak, element in ASYNC remains ASYNC.
5436
5437 2005-09-30  Wim Taymans  <wim@fluendo.com>
5438
5439         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5440         Only error is an error.
5441
5442         * gst/gstbin.c: (gst_bin_change_state):
5443         Better debugging.
5444
5445         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5446         Also call pad_block in pad alloc.
5447
5448         * gst/gstutils.c: (gst_flow_get_name):
5449         Better debugging.
5450
5451 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5452
5453         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5454         (gst_base_src_get_range):
5455           Fix documentation typos. Add some more debug info.
5456
5457 2005-09-29  David Schleef  <ds@schleef.org>
5458
5459         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5460           more end-user friendly.
5461         * tools/gst-inspect.c: (main): Check if command-line argument is
5462           a file and attempt to load that file as a plugin.
5463
5464 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * check/gst/gstbin.c:
5467         * check/states/sinks.c:
5468           fix tests for the new warning
5469         * check/gst/gstpipeline.c:
5470           add a test for pipeline and bus interaction
5471         * gst/gstelement.c:
5472           elements should be NULL if they get disposed; add a warning if not
5473
5474 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * gst/gstobject.c:
5477           for 2.6 refcounting, make debug log more correct by printing
5478           the actual refcounts at the time of swap (Wim)
5479
5480 2005-09-29  Andy Wingo  <wingo@pobox.com>
5481
5482         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5483         removes signal watches previously added via
5484         gst_bus_add_signal_watch.
5485         (gst_bus_add_signal_watch): Don't return the source id, just store
5486         it on the bus if there wasn't an id already.
5487
5488         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5489         add_signal_watch and remove_signal_watch.
5490
5491 2005-09-29  Edward Hervey  <edward@fluendo.com>
5492
5493         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5494         Better if we actually iterate the list :)
5495
5496 2005-09-29  Wim Taymans  <wim@fluendo.com>
5497
5498         * check/gst/gstbin.c: (GST_START_TEST):
5499         Change for new bus API.
5500
5501         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5502         (send_messages), (GST_START_TEST), (gstbus_suite):
5503         Change for new bus signal API.
5504
5505         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5506         (gst_bus_source_prepare), (gst_bus_source_check),
5507         (gst_bus_create_watch), (gst_bus_add_watch_full),
5508         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5509         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5510         * gst/gstbus.h:
5511         Remove support for multiple GSources operating on different
5512         message types as it is too complex and unneeded when using
5513         signals.
5514         Added support for receiving signals from the bus.
5515
5516 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * docs/libs/tmpl/gstdataprotocol.sgml:
5519         * docs/manual/advanced-dataaccess.xml:
5520         * gst/elements/gstcapsfilter.c:
5521         * gst/gstutils.c:
5522           rename filter-caps to caps property
5523
5524 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5525
5526         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5527           More robust fraction string parsing.
5528
5529         * docs/pwg/appendix-porting.xml:
5530           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5531
5532 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * gst/gstcaps.c: (gst_caps_do_simplify):
5535           Thou shalt not free a structure and then continue using it
5536           in the next loop iteration.
5537
5538         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5539         (gst_caps_suite):
5540           Add test case for caps simplification.
5541
5542 2005-09-29  Wim Taymans  <wim@fluendo.com>
5543
5544         * check/gst/gstbin.c: (GST_START_TEST):
5545         Oops.
5546
5547 2005-09-29  Wim Taymans  <wim@fluendo.com>
5548
5549         * check/gst/gstbin.c: (GST_START_TEST):
5550         Add bus to bin.
5551
5552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5553         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5554         (find_element), (gst_bin_sort_iterator_next),
5555         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5556         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5557         (gst_bin_change_state), (gst_bin_dispose):
5558         A bin does not have a bus, it gets the bus from the parent.
5559
5560         * gst/gstelement.c: (gst_element_requires_clock),
5561         (gst_element_provides_clock), (gst_element_is_indexable),
5562         (gst_element_is_locked_state), (gst_element_change_state),
5563         (gst_element_set_bus_func):
5564         Small cleanups.
5565
5566         * gst/gstpipeline.c: (gst_pipeline_class_init),
5567         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5568         The pipeline provides a bus.
5569
5570 2005-09-28  Johan Dahlin  <johan@gnome.org>
5571
5572         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5573         gst_structure_get_enum instead of gst_structure_get_int
5574
5575         * gst/gststructure.c (gst_structure_get_enum): Impl.
5576
5577         * gst/gststructure.h (gst_structure_get_enum): Add
5578
5579         * docs/gst/gstreamer-sections.txt: Ditto
5580
5581         * gst/gstmessage.c (gst_message_new_state_changed): Use
5582         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5583         which does introspection.
5584         Reviewed by Christian Schaller
5585
5586 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5587
5588         * gst/gstinfo.c: (gst_debug_log_default):
5589           don't do dummy g_strdup()s
5590         * libs/gst/controller/gstcontroller.c:
5591         (on_object_controlled_property_changed),
5592         (gst_controlled_property_new), (gst_controller_new_valist),
5593         (gst_controller_new_list),
5594         (gst_controller_remove_properties_valist), (gst_controller_set),
5595         (gst_controller_get), (gst_controller_sync_values),
5596         (gst_controller_get_value_array), (_gst_controller_class_init),
5597         (gst_controller_get_type):
5598         * libs/gst/controller/gstcontroller.h:
5599         * libs/gst/controller/gstinterpolation.c:
5600         (gst_controlled_property_find_timed_value_node):
5601           convert // to /**/ comments
5602
5603 2005-09-28  Wim Taymans  <wim@fluendo.com>
5604
5605         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5606         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5607         (gst_bus_sync_signal_handler):
5608         * gst/gstbus.h:
5609         Added async-message and sync-message signals to the bus.
5610         Added helper BusFunc to emit signals for all posted messages.
5611
5612         * gst/gstmessage.c: (gst_message_type_get_name),
5613         (gst_message_type_to_quark), (gst_message_get_type):
5614         * gst/gstmessage.h:
5615         Register quarks for message names.
5616
5617 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5618
5619         * docs/libs/gstreamer-libs-sections.txt:
5620         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5621         (gst_controller_new_list):
5622         * libs/gst/controller/gstcontroller.h:
5623           added another constructor for language bindings
5624
5625 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5626
5627         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5628           add another check
5629         * gst/gstbus.c:
5630           add some doc
5631         * gst/gstinfo.c: (_gst_debug_init):
5632           slightly more readable color for refcount debugging
5633
5634 2005-09-28  Wim Taymans  <wim@fluendo.com>
5635
5636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5637         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5638         (find_element), (gst_bin_sort_iterator_next),
5639         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5640         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5641         (gst_bin_change_state), (gst_bin_dispose):
5642         Small doc fixes. get_clock -> provide_clock.
5643
5644         * gst/gstelement.c: (gst_element_class_init),
5645         (gst_element_provides_clock), (gst_element_provide_clock),
5646         (gst_element_get_clock), (gst_element_commit_state),
5647         (gst_element_lost_state):
5648         * gst/gstelement.h:
5649         Make get/set_clock() symetric. Add provide_clock vmethod since
5650         that is actually what this function does.
5651
5652         * gst/gstpipeline.c: (gst_pipeline_class_init),
5653         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5654         (gst_pipeline_get_clock):
5655         get_clock -> provide_clock.
5656
5657 2005-09-28  Andy Wingo  <wingo@pobox.com>
5658
5659         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5660         lieu of real docs...
5661
5662         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5663
5664 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         * gst/elements/gstcapsfilter.c:
5667         * gst/elements/gstfakesink.c:
5668         * gst/elements/gstfakesrc.c:
5669         * gst/elements/gstfdsink.c:
5670         * gst/elements/gstfdsrc.c:
5671         * gst/elements/gstfilesink.c:
5672         * gst/elements/gstfilesrc.c:
5673         * gst/elements/gstidentity.c:
5674         * gst/elements/gsttee.c:
5675         * gst/elements/gsttypefindelement.c:
5676           Make element details static.
5677
5678 2005-09-28  Wim Taymans  <wim@fluendo.com>
5679
5680         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5681         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5682         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5683         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5684         (gst_bin_change_state), (gst_bin_dispose):
5685         Some documentation updates.
5686         Clean up dispose handlers.
5687
5688         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5689         * gst/gstpad.c: (gst_pad_dispose):
5690         Clean up dispose handler.
5691
5692         * gst/gstpipeline.c: (gst_pipeline_change_state):
5693         Removed spurious UNLOCK.
5694
5695 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5696
5697         * docs/gst/gstreamer-sections.txt:
5698         * gst/base/gstbasesrc.h:
5699         * gst/gstelement.h:
5700         * gst/gstevent.h:
5701         * gst/gstobject.h:
5702         * gst/gstpad.h:
5703         * gst/gstpipeline.c:
5704         * gst/gstpipeline.h:
5705         * gst/gstutils.h:
5706         * gst/gstxml.h:
5707           added two new functions to the docs
5708                 documents all undocumented GstXXXFlags
5709                 completed some incomplete docs 
5710
5711 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5712
5713         * gst/gstbin.c: (gst_bin_dispose):
5714         * gst/gstelement.c: (gst_element_dispose):
5715           remove now useless and leaky resurrection code in dispose
5716         * gst/base/gstbasesrc.c: (gst_base_src_init):
5717         * gst/gstelementfactory.c: (gst_element_factory_create):
5718         * gst/gstobject.c: (gst_object_set_parent):
5719           add some debugging
5720
5721 2005-09-27  Wim Taymans  <wim@fluendo.com>
5722
5723         * docs/design/part-TODO.txt:
5724         Update TODO.
5725
5726         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5727         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5728         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5729         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5730         (gst_bin_change_state):
5731         * gst/gstelement.h:
5732         Remove element variable, we keep element info in the iterator now.
5733
5734 2005-09-27  Andy Wingo  <wingo@pobox.com>
5735
5736         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5737         values.
5738
5739 2005-09-27  Wim Taymans  <wim@fluendo.com>
5740
5741         * check/gst/gstbin.c: (GST_START_TEST):
5742         Enable check that works now.
5743
5744         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5745         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5746         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5747         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5748         (gst_bin_change_state):
5749         * gst/gstbin.h:
5750         Redid the state change algorithm using a topological sort algo.
5751         Handles all cases correctly.
5752         Exposed iterator for state change order.
5753
5754         * gst/gstelement.h:
5755         Temp storage for state changes. Need to get rid of this soon.
5756
5757 2005-09-27  Wim Taymans  <wim@fluendo.com>
5758
5759         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5760         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5761         (link_fold_func), (gst_pad_proxy_setcaps):
5762         Leak fixes, the fold functions need to unref the passed object and
5763         _get_parent_*() returns ref to parent.
5764
5765 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * check/gst/gstbuffer.c: (test_make_writable):
5768           Plug leak in test case and fix 'make check-valgrind'
5769
5770 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5771
5772         * gst/gstbuffer.c: (gst_subbuffer_init):
5773           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5774           works correctly in all circumstances (we could have just copied
5775           the parent buffer's readonly flag, but conceptually it seems
5776           cleaner to mark all subbuffers as read-only). (based on patch
5777           by Alessandro Decina, #314710).
5778         
5779         * check/gst/gstbuffer.c: (create_read_only_buffer),
5780         (test_make_writable), (test_subbuffer_make_writable),
5781         (gst_test_suite):
5782           Add some tests for gst_buffer_make_writable().
5783
5784 2005-09-27  Wim Taymans  <wim@fluendo.com>
5785
5786         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5787         use gst_object_has_ancestor().
5788
5789         * gst/gstobject.c: (gst_object_has_ancestor):
5790         * gst/gstobject.h:
5791         gst_object_has_ancestor() copied from gstbin.c as it is a
5792         usefull function.
5793
5794         * tests/instantiate/create.c: (create_all_elements):
5795         * tests/lat.c: (handoff_src), (handoff_sink):
5796         * tests/sched/runxml.c: (main):
5797         * tests/seeking/seeking1.c: (main):
5798         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5799         (main):
5800         Fix compilation of some tests.
5801
5802 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5803
5804         * gst/gsterror.h:
5805           Remove comment. GST_TYPE_G_ERROR is here to stay,
5806           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5807           (#316961, #300610).
5808
5809 2005-09-26  Wim Taymans  <wim@fluendo.com>
5810
5811         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5812         Added check that shows error in state change order.
5813
5814 2005-09-26  Wim Taymans  <wim@fluendo.com>
5815
5816         * gst/gstbin.c: (gst_bin_change_state):
5817         Make state change function use 3 queues again, we were
5818         adding elements in the wrong order.
5819
5820         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5821         Some debug info,
5822
5823         * gst/gstpad.c: (gst_pad_dispose):
5824         Added some debug info first.
5825
5826 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5827
5828         * docs/design/draft-push-pull.txt:
5829         * docs/design/part-events.txt:
5830         * docs/design/part-overview.txt:
5831         * docs/design/part-scheduling.txt:
5832           Replace all _pull_region() with _pull_range()
5833           
5834 2005-09-26  Andy Wingo  <wingo@pobox.com>
5835
5836         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5837
5838         * check/gst-libs/controller.c: Update for controller api change.
5839
5840         * configure.ac: 
5841         * tests/Makefile.am:
5842         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5843         over by GLib bug 118439.
5844         
5845         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5846         routines to a function.
5847
5848         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5849
5850         * libs/gst/controller/gsthelper.c:
5851         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5852         (gst_object_sync_values): Renamed from sink_values. Ugh.
5853
5854         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5855
5856         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5857         Renamed from controller_key, as it is exported.
5858
5859         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5860
5861 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * gst/Makefile.am:
5864         * gst/gst.h:
5865         * gst/gstpad.h:
5866         * gst/gstpadtemplate.h:
5867         * gst/gstquery.c:
5868         * gst/gstquery.h:
5869         * gst/gstqueryutils.c:
5870         * gst/gstqueryutils.h:
5871           remove queryutils headers after moving the two used functions
5872           to gstquery.  also fixes build problem for gstsiddec
5873
5874 2005-09-26  Michael Smith <msmith@fluendo.com>
5875
5876         * tools/gst-launch.1.in:
5877         Correct documentation in manpage of debug syntax
5878
5879 2005-09-26  Wim Taymans  <wim@fluendo.com>
5880
5881         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5882         (gst_base_src_is_seekable), (gst_base_src_change_state):
5883         Some more debugging info.
5884
5885 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5886
5887         * docs/gst/gstreamer-sections.txt:
5888         * gst/base/gstbasetransform.h:
5889         * gst/gstindex.h:
5890           added more docs
5891
5892 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5893
5894         * docs/gst/.cvsignore:
5895         * docs/gst/tmpl/.cvsignore:
5896         * docs/gst/tmpl/gstpipeline.sgml:
5897         * docs/gst/tmpl/gstplugin.sgml:
5898         * gst/gstpipeline.c:
5899         * gst/gstplugin.c:
5900         * gst/gstplugin.h:
5901           inlined the last two docs files
5902           removed the tmpl directory from cvs (no more conflicts here!)
5903
5904 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5905
5906         * docs/gst/gstreamer-sections.txt:
5907         * docs/gst/tmpl/.cvsignore:
5908         * docs/gst/tmpl/gstpad.sgml:
5909         * docs/gst/tmpl/gstpadtemplate.sgml:
5910         * gst/Makefile.am:
5911         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5912         (gst_pad_finalize), (gst_pad_set_pad_template):
5913         * gst/gstpad.h:
5914         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5915         (gst_pad_template_class_init), (gst_pad_template_init),
5916         (gst_pad_template_dispose), (name_is_valid),
5917         (gst_static_pad_template_get), (gst_pad_template_new),
5918         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5919         (gst_pad_template_pad_created):
5920         * gst/gstpadtemplate.h:
5921           inlined two more docs
5922           factored gstpadtemplate out of gstpad
5923
5924 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5925
5926         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5927         (test_children_state_change_order_semi_sink):
5928           Fix test case: we can't rely on a fixed state change order when
5929           going from READY => PAUSED because the sink might commit its 
5930           new state first when the first buffer created by the source 
5931           reaches the sink before the source has finished its change state.
5932           (Test case still fails at times, see #316856, comment 5 onwards)
5933
5934 2005-09-24  Wim Taymans  <wim@fluendo.com>
5935
5936         * docs/design/part-events.txt:
5937         * docs/design/part-gstbus.txt:
5938         * docs/design/part-gstpipeline.txt:
5939         * docs/design/part-messages.txt:
5940         * docs/design/part-overview.txt:
5941         * docs/design/part-segments.txt:
5942         * gst/gstbin.c:
5943         * gst/gstbuffer.c:
5944         * gst/gstclock.c:
5945         * gst/gstelement.c:
5946         * gst/gstevent.c:
5947         * gst/gstfilter.c:
5948         * gst/gstiterator.c:
5949         Various documentation updates.
5950
5951 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * gst/gstclock.h:
5954           Well, that's embarassing.  Luckily we weren't using
5955           GST_CLOCK_DIFF anywhere.
5956
5957 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * common/gtk-doc.mak:
5960           don't fail on building XML, FC4 slave shows a bunch of doc
5961           missing bits that I don't get
5962         * gst/gstpad.c:
5963         * gst/gstpipeline.c:
5964         * gst/gststructure.c:
5965           some doc updates
5966
5967 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * docs/design/part-gstbin.txt:
5970         * docs/design/part-gstbus.txt:
5971         * gst/gstbus.c:
5972           Add blurb about how the bus goes into flushing mode and
5973           drops all messages when its bin goes from READY into NULL 
5974           state.
5975
5976 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5977
5978         * docs/gst/gstreamer-sections.txt:
5979         * gst/gststructure.c: (gst_structure_get_clock_time):
5980         * gst/gststructure.h:
5981           add a method to get a GstClockTime out of a structure
5982
5983 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5984
5985         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5986         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5987           Added test to check state change order in bins (can still be made
5988           to fail here under heavy disk load; bails out with 'Push on pad
5989           fakesink:sink0, but it was not activated in push mode').
5990
5991         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5992           Fix state change order when there is only a semi sink (#316856)
5993
5994         * gst/gstbus.c: (gst_bus_class_init):
5995           Use _class_peek_parent(), not _class_ref(); fix docs to say
5996           'default main context' instead of 'mainloop' where that is
5997           what's meant.
5998
5999         * gst/gstelement.c: (gst_element_commit_state),
6000         (gst_element_set_state):
6001           Fix typos in debug messages
6002
6003 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6004
6005         * docs/README:
6006         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6007         * gst/gstpluginfeature.c:
6008         * gst/gstutils.c:
6009           various doc updates
6010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6011           change an assert into an error until it gets fixed properly
6012
6013 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6014
6015         * docs/gst/gstreamer-sections.txt:
6016         * docs/gst/tmpl/.cvsignore:
6017         * docs/gst/tmpl/gstelement.sgml:
6018         * docs/gst/tmpl/gstinfo.sgml:
6019         * docs/gst/tmpl/gstobject.sgml:
6020         * gst/gstelement.c:
6021         * gst/gstelement.h:
6022         * gst/gstinfo.c:
6023         * gst/gstinfo.h:
6024         * gst/gstobject.c: (gst_object_class_init):
6025         * gst/gstobject.h:
6026           inlined 3 more biiiig doc files and added some missing docs on the fly
6027
6028 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * check/gst/.cvsignore:
6031         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6032         * gst/gstregistryxml.c: (load_plugin),
6033         (gst_registry_xml_save_plugin):
6034           put back source in registry.  add checks for find_plugin.
6035         * testsuite/states/bin.c: (assert_state), (empty_bin),
6036         (test_adding_one_element), (main):
6037         * testsuite/states/locked.c: (main):
6038           some compile/run fixes
6039
6040 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6041
6042         * check/gst/gstvalue.c: (GST_START_TEST):
6043           fix leaks in the test itself
6044
6045 2005-09-22  Wim Taymans  <wim@fluendo.com>
6046
6047         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6048         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6049         (gst_base_sink_query):
6050         Prepare for more accurate position reporting and query
6051         handling.
6052
6053         * gst/gstelement.c: (gst_element_send_event),
6054         (gst_element_set_state):
6055         Add some comment.
6056
6057 2005-09-22  Wim Taymans  <wim@fluendo.com>
6058
6059         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6060         (gst_query_parse_segment):
6061         * gst/gstquery.h:
6062         More documentation.
6063         Add segment query for future use.
6064
6065 2005-09-22  Wim Taymans  <wim@fluendo.com>
6066
6067         * gst/gstbin.c: (gst_bin_add_func):
6068         Some more debug info.
6069
6070         * gst/gstelement.c: (gst_element_send_event):
6071         Simplify send_event
6072
6073         * gst/gstelement.h:
6074         Don't know how flags got broken.
6075
6076         * gst/gstquery.h:
6077         Added new query.
6078
6079 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6080
6081         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6082           Add simplistic test suite for GST_TYPE_DATE serialisation and
6083           deserialisation.
6084
6085 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * docs/gst/gstreamer-sections.txt:
6088         * gst/gststructure.c: (gst_structure_set_valist),
6089         (gst_structure_get_date):
6090         * gst/gststructure.h:
6091         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6092         (gst_date_copy), (gst_value_compare_date),
6093         (gst_value_serialize_date), (gst_value_deserialize_date),
6094         (gst_value_transform_date_string),
6095         (gst_value_transform_string_date), (_gst_value_initialize):
6096         * gst/gstvalue.h:
6097           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6098           bunch of utility functions along with a hack that checks that
6099           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6100           is required. Part of the grand scheme in #170777.
6101
6102 2005-09-22  Andy Wingo  <wingo@pobox.com>
6103
6104         * gst/gstconfig.h.in: Psych out gtk-doc.
6105
6106         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6107
6108         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6109
6110         * tools/gst-inspect.c (print_element_list): Plug some
6111         inconsequential leaks.
6112
6113         * gst/gstregistry.c (gst_registry_get_default): Doc.
6114
6115         * check/gst/gstplugin.c: 
6116         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6117         * gst/gstelementfactory.c (gst_element_factory_create): 
6118         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6119         refcount changes.
6120
6121         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6122         (gst_plugin_feature_load): Doc, don't eat refs.
6123
6124         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6125         (gst_plugin_list_free): Doc.
6126         (gst_plugin_load_file): Doc updates.
6127
6128         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6129         accessors returning refcounted objects, return a ref.
6130
6131         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6132         accessor for caps. IDEMPOTENCE. Oh yes.
6133
6134 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6135
6136         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6137
6138         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6139         (_gst_debug_register_funcptr):
6140           Add mutex to serialise access to the hash table with
6141           the function pointer => function name string mapping;
6142           make that hash table static scope (#316809).
6143
6144         * gst/registries/.cvsignore:
6145           Remove left-over file.
6146
6147 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6148
6149         * docs/pwg/appendix-porting.xml:
6150           And something about newsegment events and caps-on-buffers to
6151           the porting guide (feel free to improve).
6152
6153 2005-09-21  Andy Wingo  <wingo@pobox.com>
6154
6155         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6156         data and event probes on the same pad.
6157         (test_buffer_probe_once): Test that removing probes from within
6158         the probe functions works.
6159
6160 2005-09-21  Andy Wingo  <wingo@pobox.com>
6161
6162         * check/gst/gstutils.c: New file.
6163         (test_buffer_probe_n_times): A simple buffer probe test. More to
6164         come, foolios.
6165
6166         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6167         have-data::buffer, not have-data.
6168         (gst_pad_add_event_probe): Likewise for have-data::event.
6169         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6170         peer' isn't quite right yet though.
6171         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6172         (gst_pad_remove_data_probe): Change to take the guint handler_id
6173         as their arg, not the function+data, which is more glib-like.
6174
6175         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6176         the signal emission to indicate if the data is a buffer or an
6177         event.
6178         (gst_pad_get_type): Initialize buffer and event quarks.
6179         (gst_pad_class_init): have-data is now a detailed signal, yes it
6180         is.
6181
6182 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6183
6184         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6185         * gst/gstutils.c: (gst_util_set_value_from_string),
6186         (gst_util_set_object_arg):
6187           Don't put functional code in g_return_if_fail() or
6188           g_return_val_if_fail() statements, otherwise things will 
6189           break when G_DISABLE_CHECKS is defined during compilation.
6190
6191 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6192
6193         * docs/gst/tmpl/.cvsignore:
6194         * docs/gst/tmpl/gstvalue.sgml:
6195         * gst/gstvalue.c:
6196         * gst/gstvalue.h:
6197           inlied another one and added  some obvious docs
6198
6199 2005-09-21  Wim Taymans  <wim@fluendo.com>
6200
6201         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6202         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6203         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6204         (gst_fdsrc_get_property), (gst_fdsrc_create):
6205         * gst/elements/gstfdsrc.h:
6206         Properly implement fdsrc. Removed signal and timeout,
6207         better implemented somewhere else.
6208
6209 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6210
6211         * docs/gst/tmpl/.cvsignore:
6212         * docs/gst/tmpl/gstimplementsinterface.sgml:
6213         * gst/gstinterface.c:
6214           inlined more docs
6215
6216 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6217
6218         * docs/gst/gstreamer-sections.txt:
6219         * docs/gst/tmpl/.cvsignore:
6220         * docs/gst/tmpl/gstenumtypes.sgml:
6221           remove obsolete doc file
6222
6223 2005-09-21  David Schleef  <ds@schleef.org>
6224
6225         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6226         little beer, fix a little leak.
6227
6228 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6229
6230         * docs/gst/gstreamer-docs.sgml:
6231         * docs/gst/gstreamer-sections.txt:
6232         * docs/gst/tmpl/.cvsignore:
6233         * gst/Makefile.am:
6234         * gst/gst.h:
6235         * gst/gstbin.c:
6236         * gst/gstelement.h:
6237         * gst/gstindex.c: (gst_index_class_init):
6238         * gst/gstindex.h:
6239         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6240         (gst_index_factory_class_init), (gst_index_factory_init),
6241         (gst_index_factory_finalize), (gst_index_factory_new),
6242         (gst_index_factory_destroy), (gst_index_factory_find),
6243         (gst_index_factory_create), (gst_index_factory_make):
6244         * gst/gstindexfactory.h:
6245         * gst/gstpluginfeature.c:
6246         * gst/gstpluginfeature.h:
6247         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6248           more docs inlined, splitted gstindex.{c,h}
6249
6250 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6251
6252         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6253           fix a leak
6254
6255 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6258           Set sync to FALSE by default.
6259
6260 2005-09-20  Wim Taymans  <wim@fluendo.com>
6261
6262         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6263         (gst_base_sink_init):
6264         Make sync property settable from subclass.
6265
6266         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6267         (gst_fake_sink_change_state):
6268         Set sync to FALSE by default.
6269
6270 2005-09-20  Wim Taymans  <wim@fluendo.com>
6271
6272         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6273         * tools/gst-launch.c: (main):
6274         The timeout handler should have lower priority than the source
6275         so we don't timeout before popping a message with 0 timeout.
6276         Dump error messages after failed state change.
6277
6278 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6279
6280         * tools/gst-inspect.c: (print_element_properties_info):
6281           Fix two typos.
6282
6283 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * check/gst/gstevent.c:
6286         * gst/elements/gstfakesink.c:
6287         * gst/elements/gstfakesink.h:
6288           remove the sync property from fakesink.
6289           has the side effect of setting sync TRUE
6290           for fakesink, which is a change.  Anyone who knows how
6291           to fix this nicely in a GObject-y way, feel free.
6292
6293 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6294
6295         * docs/gst/gstreamer-docs.sgml:
6296           remove probe refsection
6297
6298 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6299
6300         * check/Makefile.am:
6301           disable valgrinding the controller test again
6302         * docs/gst/gstreamer-sections.txt:
6303           update for api-changes
6304
6305 2005-09-20  Wim Taymans  <wim@fluendo.com>
6306
6307         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6308         (gst_base_sink_set_property), (gst_base_sink_get_property),
6309         (gst_base_sink_do_sync):
6310         * gst/base/gstbasesink.h:
6311         Added sync property to basesink to disable clock sync.
6312
6313 2005-09-20  Andy Wingo  <wingo@pobox.com>
6314
6315         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6316         eating the caller's refcount.
6317
6318         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6319         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6320         refcount.
6321
6322         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6323         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6324         of GLib 2.8 public, so we can know which refcount to check in
6325         tests.
6326
6327         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6328         (gst_object_init): Only set the gst refcount if we're going ahead
6329         with the refcount hack.
6330
6331 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6332
6333         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6334         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6335           more leaks plumbed, added more debug-logging
6336         * gst/gstmacros.h:
6337           whitespace fix
6338
6339 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6340
6341         * gst/gstmessage.c:
6342           remove include of gstmemchunk.h
6343
6344 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * gst/gstclock.c: (_gst_clock_id_free):
6347           Commit from the Political Party For More Atomic CVS Commits,
6348           so that people don't waste too much of their day fishing
6349           out obvious leaks out of massive commits.
6350           Oh, and fix a pretty damn obvious leak in the memchunk
6351           removal code.
6352
6353 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6354
6355         * check/Makefile.am:
6356         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6357           plug mem-leak, re-add to valgrindable tests
6358
6359 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6360
6361         * gst/gstplugin.h:
6362           unbreak the build for those who have chronic arthritis
6363           and typing "make check" is just too taxing on the hands
6364
6365 2005-09-20  Andy Wingo  <wingo@pobox.com>
6366
6367         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6368         really want it out, you should fix plugins at the same time.
6369
6370 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6371
6372         * configure.ac:
6373         * docs/gst/gstreamer-sections.txt:
6374         * gst/gstobject.c:
6375           added missing symbols to api docs
6376           disable ref-count hack if we have glib >= 2.8
6377
6378 2005-09-19  David Schleef  <ds@schleef.org>
6379
6380         * docs/gst/Makefile.am: Ignore a few more internal headers
6381         * docs/gst/gstreamer-docs.sgml: Remove old sections
6382         * docs/gst/gstreamer-sections.txt: Remove old sections
6383         * docs/gst/tmpl/gstobject.sgml: update
6384         * docs/gst/tmpl/gstplugin.sgml: update
6385         * docs/gst/tmpl/gstpluginfeature.sgml: update
6386         * docs/random/ds/0.9-suggested-changes: update.
6387         * gst/Makefile.am: remove memchunk and trashstack, since they're
6388           not used.
6389         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6390         * gst/gst.h: don't include some headers
6391         * gst/gstchildproxy.c: add gstmarshal.h
6392         * gst/gstclock.c: Don't use memchunks
6393         * gst/gstminiobject.c: Add some docs
6394         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6395         * gst/gstobject.h: same
6396         * gst/gstplugin.c: include gstmacros.h
6397         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6398         * gst/gstquery.c: don't use memchunks
6399         * gst/gstregistry.c: rename gst_registry_deinit()
6400         * gst/gstregistry.h: same
6401
6402 2005-09-19  David Schleef  <ds@schleef.org>
6403
6404         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6405         * docs/libs/gstreamer-libs-sections.txt:
6406         * docs/libs/tmpl/gstgetbits.sgml:
6407         * docs/libs/tmpl/gstputbits.sgml:
6408
6409 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * win32/gstenumtypes.c:
6412         * win32/gstenumtypes.h:
6413           Update.
6414
6415 2005-09-19  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6418         Automatically PAUSE and RESUME a pipeline when a flushing seek
6419         is performed.
6420
6421 2005-09-19  Andy Wingo  <wingo@pobox.com>
6422
6423         * gst/gstregistry.h: Spacing fixen.
6424
6425 2005-09-19  Wim Taymans  <wim@fluendo.com>
6426
6427         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6428         Handle state change failure more correctly.
6429
6430 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * check/Makefile.am:
6433         * check/pipelines/cleanup.c: (run_pipeline):
6434         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6435         (GST_START_TEST):
6436           enable cleanup again after fixing the leak
6437         * docs/README:
6438           some more info on docs
6439
6440 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * check/Makefile.am:
6443           re-enable tests now that leaks are plugged
6444         * check/gst/gst.c:
6445         * check/gst/gstbin.c:
6446         * check/gst/gstpipeline.c:
6447           add some more tests while fixing leaks
6448         * common/check.mak:
6449           make sure binaries are uptodate when valgrinding/gdbing
6450         * gst/gst.c:
6451         * gst/gstelementfactory.c:
6452           remove a ref too many, and add a FIXME for when we get
6453           round to disposing of classes
6454         * gst/gstplugin.c:
6455           fix the refcounting when loading a plugin from a file and
6456           the code pretends that the pointer is the same even though
6457           of course it can change
6458         * gst/gstpluginfeature.c:
6459           unref plugins marked cached (a bit confusing as a name)
6460           as the docs state should be done
6461           various doc additions to explain refcounting
6462         * gst/gstregistry.c:
6463         * gst/gstregistryxml.c:
6464           debugging
6465
6466 2005-09-19  Wim Taymans  <wim@fluendo.com>
6467
6468         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6469         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6470         (send_messages), (GST_START_TEST), (gstbus_suite):
6471         * check/gst/gstpipeline.c: (GST_START_TEST):
6472         * check/pipelines/cleanup.c: (run_pipeline):
6473         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6474         (GST_START_TEST):
6475         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6476         (gst_bus_source_check), (gst_bus_source_dispatch),
6477         (gst_bus_create_watch), (gst_bus_add_watch_full),
6478         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6479         * gst/gstbus.h:
6480         * tools/gst-launch.c: (event_loop):
6481         * tools/gst-md5sum.c: (event_loop):
6482         GstBusHandler -> GstBusFunc, return value has the same meaning as
6483         any other GSource (FALSE == remove source).
6484         _add_watch() and _add_watch_full() now take a MessageType mask to
6485         only handle specific types of messages.
6486         _poll() returns the GstMessage instead of the message type to avoid
6487         race conditions.
6488         _have_pending() takes a MessageType mask now too.
6489         Added testsuite for multiple bus watches.
6490         Fix testsuites and applications for new bus API.
6491
6492 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * check/Makefile.am:
6495           mark a bunch of the tests as to fix until we fix them
6496
6497 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6498
6499         * common/check.mak:
6500           use GST_PLUGIN settings for valgrind tests as well, so we're
6501           valgrinding the correct thing
6502         * gst/gst.c: (init_post):
6503           plug another leak
6504
6505 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * gst/gst.c: (init_post), (gst_deinit):
6508         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6509         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6510         * gst/gstindex.c: (gst_index_factory_class_init),
6511         (gst_index_factory_finalize):
6512         * gst/gstobject.c: (gst_object_dispose):
6513         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6514         (gst_plugin_load_file), (gst_plugin_desc_free):
6515         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6516         (gst_plugin_feature_finalize):
6517         * gst/gstregistry.c: (gst_registry_class_init),
6518         (gst_registry_init), (gst_registry_finalize),
6519         (gst_registry_get_default), (gst_registry_deinit):
6520         * gst/gstregistry.h:
6521         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6522           various cleanups and memleak plugging.  make valgrind is happy now.
6523
6524 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6525
6526         * common/check.mak:
6527           add a check-valgrind target
6528
6529 2005-09-18  David Schleef  <ds@schleef.org>
6530
6531         * tools/gst-inspect.c: Revert the GOption code.
6532
6533 2005-09-17  David Schleef  <ds@schleef.org>
6534
6535         * check/Makefile.am: Fix environment variables.
6536         * check/gst/gstplugin.c: Fix for API changes.
6537         * tools/gst-inspect.c: Fix for API changes.
6538         * tools/gst-xmlinspect.c: Fix for API changes.
6539         * gst/gstelementfactory.c:
6540         * gst/gstplugin.c:
6541         * gst/gstplugin.h:
6542         * gst/gstpluginfeature.c:
6543         * gst/gstpluginfeature.h:
6544         * gst/gstregistry.c:
6545         * gst/gstregistry.h:
6546         * gst/gstregistryxml.c:
6547         * gst/gsttypefind.c:
6548         * gst/gsttypefindfactory.c:
6549         * gst/indexers/gstfileindex.c:
6550         * gst/indexers/gstmemindex.c:
6551         * gst/schedulers/Makefile.am:
6552           Change registry to keep track of both plugins and features,
6553           removing the feature tracking from plugins themselves.
6554
6555 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6556
6557         * check/Makefile.am:
6558         * tools/gst-register.1.in:
6559           remove gst-register
6560
6561 2005-09-15  David Schleef  <ds@schleef.org>
6562
6563         * check/gst/gstplugin.c:
6564         * gst/gstelementfactory.c:
6565         * gst/gstplugin.c:
6566         * gst/gstpluginfeature.c:
6567         * gst/gstregistry.c:
6568           Getting tired of debugging.  Disabled all the unreffing of
6569           plugins and features, which fixes the segfaults, but of
6570           course leaks like crazy.  At least playbin works.
6571
6572 2005-09-15  David Schleef  <ds@schleef.org>
6573
6574         * check/gst/gstplugin.c: (register_check_elements),
6575         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6576         More testing
6577         * gst/elements/gsttypefindelement.c: Fix refcounting.
6578         * gst/gsttypefind.c:
6579         * gst/gsttypefindfactory.c:
6580         * gst/gsttypefindfactory.h:
6581
6582 2005-09-15  David Schleef  <ds@schleef.org>
6583
6584         * gst/gstindex.c: get refcounting correct.
6585         * gst/gstregistry.c: Handle the case where a feature/plugin is
6586           not found.
6587
6588 2005-09-15  David Schleef  <ds@schleef.org>
6589
6590         * check/Makefile.am:
6591         * check/gst/gstplugin.c: Add test
6592         * gst/gstplugin.c: Fix problems noticed by testsuite
6593         * gst/gstplugin.h:
6594         * gst/gstregistry.c: 
6595         * gst/gstregistry.h:
6596
6597 2005-09-15  David Schleef  <ds@schleef.org>
6598
6599         * gst/gstplugin.c: Implement semi-decent recounting and locking
6600           in plugins and plugin features.
6601         * gst/gstplugin.h:
6602         * gst/gstpluginfeature.c:
6603         * gst/gstpluginfeature.h:
6604         * gst/gstregistry.c:
6605
6606 2005-09-15  Michael Smith <msmith@fluendo.com>
6607
6608         * gst/gstregistry.c: (gst_registry_get_feature_list):
6609           Implement this. Makes oggdemux work; decodebin still broken.
6610
6611 2005-09-14  David Schleef  <ds@schleef.org>
6612
6613         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6614           #316076)
6615         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6616         * gst/check/Makefile.am:
6617         * libs/gst/controller/Makefile.am:
6618         * libs/gst/dataprotocol/Makefile.am:
6619
6620 2005-09-14  David Schleef  <ds@schleef.org>
6621
6622         * configure.ac: Remove getbits library.  Nothing uses it, and
6623           it should be in something like liboil if someone did want
6624           to use it.
6625         * libs/gst/Makefile.am:
6626         * libs/gst/getbits/Makefile.am:
6627         * libs/gst/getbits/gbtest.c:
6628         * libs/gst/getbits/getbits.c:
6629         * libs/gst/getbits/getbits.h:
6630         * libs/gst/getbits/gstgetbits_generic.c:
6631         * libs/gst/getbits/gstgetbits_i386.s:
6632         * libs/gst/getbits/gstgetbits_inl.h:
6633
6634 2005-09-14  David Schleef  <ds@schleef.org>
6635
6636         * gst/Makefile.am: Dist glib-compat.h
6637
6638 2005-09-14  David Schleef  <ds@schleef.org>
6639
6640         * configure.ac: Remove gst/registries, since it's no longer used.
6641         * gst/registries/Makefile.am:
6642         * gst/registries/gstlibxmlregistry.c:
6643         * gst/registries/gstlibxmlregistry.h:
6644         * gst/registries/gstxmlregistry.c:
6645         * gst/registries/gstxmlregistry.h:
6646         * gst/registries/registrytest.c:
6647
6648 2005-09-14  David Schleef  <ds@schleef.org>
6649
6650         * gst/glib-compat.h:
6651         * gst/gstregistryxml.c:
6652           Convergence is near.  Seriously.
6653
6654 2005-09-14  David Schleef  <ds@schleef.org>
6655
6656         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6657         * gst/glib-compat.h:
6658           Attempt #4 to appease the buildbots.
6659
6660 2005-09-14  David Schleef  <ds@schleef.org>
6661
6662         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6663           Attempt #3.
6664
6665 2005-09-14  David Schleef  <ds@schleef.org>
6666
6667         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6668         Attempt #2.
6669
6670 2005-09-14  David Schleef  <ds@schleef.org>
6671
6672         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6673           the new functions.
6674
6675 2005-09-14  David Schleef  <ds@schleef.org>
6676
6677         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6678         * gst/glib-compat.h: Add some functions that are in newer versions
6679           of glib than we care to require.
6680         * gst/gstregistryxml.c: Use them.
6681
6682 2005-09-14  David Schleef  <ds@schleef.org>
6683
6684         * po/POTFILES.in: remove gst-register.c
6685
6686 2005-09-14  David Schleef  <ds@schleef.org>
6687
6688         * docs/gst/gstreamer-docs.sgml:
6689         * docs/gst/gstreamer-sections.txt:
6690         * docs/gst/gstreamer.types:
6691         * docs/gst/tmpl/gstelement.sgml:
6692         * docs/gst/tmpl/gstplugin.sgml:
6693         * docs/gst/tmpl/gstpluginfeature.sgml:
6694           Documentation updates for registry changes.
6695
6696 2005-09-14  David Schleef  <ds@schleef.org>
6697
6698         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6699           because we don't require glib-2.8.
6700
6701 2005-09-14  David Schleef  <ds@schleef.org>
6702
6703         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6704           registries directory.
6705
6706 2005-09-14  David Schleef  <ds@schleef.org>
6707
6708         * check/Makefile.am:
6709         * check/generic/states.c:
6710         * gst/Makefile.am:
6711         * gst/gst.c:
6712         * gst/gst.h:
6713         * gst/gst_private.h:
6714         * gst/gstelementfactory.c:
6715         * gst/gstindex.c:
6716         * gst/gstinfo.c:
6717         * gst/gstplugin.c:
6718         * gst/gstplugin.h:
6719         * gst/gstpluginfeature.c:
6720         * gst/gstpluginfeature.h:
6721         * gst/gstregistry.c:
6722         * gst/gstregistry.h:
6723         * gst/gstregistrypool.c: remove
6724         * gst/gstregistrypool.h: remove
6725         * gst/gsttypefind.c:
6726         * gst/gsttypefindfactory.c:
6727         * gst/gsturi.c:
6728         * tools/Makefile.am:
6729         * tools/gst-compprep.c:
6730         * tools/gst-inspect.c:
6731         * tools/gst-register.c: remove
6732         * tools/gst-xmlinspect.c:
6733           Registry rewrite.  Changes registry from being a file created
6734           by a tool into a simple cache file created automatically by 
6735           libgstreamer.  Removed gst-register (because it's no longer
6736           needed).  Remove registry pools, because we only have one
6737           registry implementation (XML).  Fix up other subsystems as
6738           necessary.
6739
6740 2005-09-13  Michael Smith <msmith@fluendo.com>
6741
6742         * gst/gstconfig.h.in:
6743           Don't Use windows linking attributes for MinGW. Fixes #316157
6744
6745 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6746
6747         * gst/gstutils.c: (set_state_async_thread_func),
6748         (gst_element_set_state_async):
6749           Apparently people think it's better if this function doesn't
6750           try to set the state to whatever state was asked for on the first
6751           call to this function for any object.  Seriously.
6752
6753 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6754
6755         * check/gst/gstpipeline.c: (GST_START_TEST):
6756         * docs/gst/gstreamer-sections.txt:
6757         * gst/gstutils.c: (set_state_async_thread_func),
6758         (gst_element_set_state_async):
6759         * gst/gstutils.h:
6760           add a "gst_element_set_state_async" method that
6761           sets the state and starts a thread to make sure the state
6762           change completes as best as it can
6763
6764 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6765
6766         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6767           codify design+behaviour in testsuite after discussion
6768
6769 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6770
6771         * docs/gst/tmpl/gstelement.sgml:
6772         * docs/manual/appendix-quotes.xml:
6773           add a quote
6774         * gst/gstelement.c: (gst_element_set_state):
6775           add some debug
6776
6777 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6778
6779         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6780         (gst_base_transform_prepare_output_buf),
6781         (gst_base_transform_handle_buffer):
6782         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6783         (gst_capsfilter_prepare_buf):
6784           Remove the requirement for sub-classes to call the parent
6785           implementation of prepare_output_buffer with a wrapper function.
6786           
6787         * gst/gsttaglist.h:
6788         * gst/gsttagsetter.h:
6789           Fix #define wrapper
6790
6791 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6792
6793         * docs/gst/gstreamer-sections.txt:
6794           more doc cleanups
6795
6796 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * docs/gst/gstreamer-sections.txt:
6799         * docs/gst/tmpl/gstelement.sgml:
6800         * docs/gst/tmpl/gstplugin.sgml:
6801         * gst/gstminiobject.c:
6802         * gst/gstvalue.h:
6803           docs now stop throwing warnings
6804
6805 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6806
6807         * docs/gst/gstreamer-sections.txt:
6808         * docs/gst/gstreamer.types:
6809         * docs/gst/tmpl/gstpad.sgml:
6810         * docs/gst/tmpl/gsttypes.sgml:
6811         * gst/base/gstadapter.h:
6812         * gst/base/gstbasesink.h:
6813         * gst/base/gstbasesrc.h:
6814         * gst/gstbin.h:
6815         * gst/gstbuffer.h:
6816         * gst/gstbus.h:
6817         * gst/gstcaps.h:
6818         * gst/gstclock.h:
6819         * gst/gstelement.h:
6820         * gst/gstevent.h:
6821         * gst/gstmessage.h:
6822         * gst/gstpad.h:
6823         * gst/gststructure.c:
6824         * gst/registries/gstlibxmlregistry.h:
6825           various documentation fixes
6826
6827 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         * docs/gst/gstreamer-sections.txt:
6830         * docs/gst/tmpl/gstvalue.sgml:
6831           rearrange gstvalue section
6832         * gst/gstutils.c: (gst_element_state_get_name):
6833           NONE -> VOID
6834         * gst/gstvalue.c: (_gst_value_initialize):
6835         * gst/gstvalue.h:
6836           doc updates
6837
6838 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6839
6840         * check/gst-libs/controller.c:
6841           Header include fix.
6842         * gst/base/gstbasetransform.c:
6843         (gst_base_transform_default_prepare_buf),
6844         (gst_base_transform_handle_buffer):
6845         * gst/base/gstbasetransform.h:
6846           Some more basetransform changes and fixes to enable sub-classes
6847           that modify buffer metadata only.
6848         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6849         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6850         (gst_capsfilter_prepare_buf):
6851           If the output pad has fixed allowed caps and input buffers 
6852           don't have any, set the fixed caps on outgoing buffers.
6853
6854 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6855         * check/elements/identity.c: (GST_START_TEST):
6856           Make the error a little clearer when the test fails because
6857           identity made a copy of the buffer.
6858         * docs/gst/gstreamer-sections.txt:
6859           New symbols in gstbasetransform.h
6860         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6861         (gst_base_transform_init), (gst_base_transform_transform_size),
6862         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6863         (gst_base_transform_default_prepare_buf),
6864         (gst_base_transform_get_unit_size),
6865         (gst_base_transform_buffer_alloc),
6866         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6867         (gst_base_transform_change_state),
6868         (gst_base_transform_set_passthrough),
6869         (gst_base_transform_set_in_place),
6870         (gst_base_transform_is_in_place):
6871         * gst/base/gstbasetransform.h:
6872           Change BaseTransform to separate in_place operate from same_caps
6873           output. in_place implies that the element can perform the transform
6874           on incoming buffers in-place, even if the caps on the output are
6875           different.
6876           Sub-class elements can now implement special buffer allocation
6877           methods for outgoing buffers if they wish to.
6878           Big documentation addition.
6879         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6880         * gst/elements/gstelements.c:
6881           Changes for basetransform modifications.
6882         * gst/elements/Makefile.am:
6883         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6884           Compile fix. Extra debug output.
6885
6886 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6887
6888         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6889         (gst_pad_suite):
6890           add tests for valid pad naming
6891         * gst/check/gstcheck.c: (gst_check_log_message_func),
6892         (gst_check_log_critical_func):
6893           add ASSERT_WARNING
6894           remove printing of code, it is fragile when the code contains
6895           % and the line number is enough info
6896         * gst/check/gstcheck.h:
6897         * gst/gstpad.c: (gst_pad_template_new):
6898           fix memleaks
6899
6900 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6901
6902         * configure.ac:
6903           say what CHECK flags we use
6904         * docs/libs/gstreamer-libs.types:
6905         * libs/gst/controller/Makefile.am:
6906         * libs/gst/controller/gst-controller.c:
6907         * libs/gst/controller/gst-controller.h:
6908         * libs/gst/controller/gst-helper.c:
6909         * libs/gst/controller/gst-interpolation.c:
6910         * libs/gst/controller/gstcontroller.c:
6911         * libs/gst/controller/gsthelper.c:
6912         * libs/gst/controller/gstinterpolation.c:
6913         * tools/gst-inspect.c: (print_plugin_info):
6914           we don't use dashes in header names
6915
6916 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * check/Makefile.am:
6919         * check/gst/.cvsignore:
6920         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6921         (gst_pipeline_suite), (main):
6922           adding a test for pipelines and state changes
6923         * gst/gstutils.c: (get_state_func):
6924           add some debugging
6925         * gstreamer.spec.in:
6926           fix up spec file
6927
6928 2005-09-08  Michael Smith <msmith@fluendo.com>
6929
6930         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6931         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6932         (gst_file_src_is_seekable), (gst_file_src_get_size),
6933         (gst_file_src_start):
6934         * gst/elements/gstfilesrc.h:
6935           Various fixes for unseekable, unmmapable, and non-normal files, so
6936           that fallback to read() rather than mmap() works.
6937         * gst/gstevent.c: (gst_event_new_newsegment):
6938           Allow newsegment events with segment_start == segment_end, as will
6939           correctly happen if you use filesrc on a zero-size file, for
6940           example.
6941
6942 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6943
6944         * gst/gstplugin.c: (gst_plugin_load_file):
6945           Call g_module_close when we don't load the module
6946
6947         * gst/registries/gstlibxmlregistry.c:
6948         (gst_xml_registry_get_property):
6949           Port leak fix from 0.8
6950
6951 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6952
6953         * docs/gst/gstreamer-docs.sgml:
6954         * docs/gst/tmpl/.cvsignore:
6955         * docs/gst/tmpl/gsttrace.sgml:
6956         * docs/gst/tmpl/gsttrashstack.sgml:
6957         * gst/Makefile.am:
6958         * gst/gst.h:
6959         * gst/gstelement.h:
6960         * gst/gstevent.h:
6961         * gst/gstmessage.c:
6962         * gst/gstmessage.h:
6963         * gst/gsttag.c:
6964         * gst/gsttag.h:
6965         * gst/gsttaginterface.c:
6966         * gst/gsttaginterface.h:
6967         * gst/gsttaglist.c:
6968         * gst/gsttaglist.h:
6969         * gst/gsttagsetter.c:
6970         * gst/gsttagsetter.h:
6971         * gst/gsttrace.c:
6972         * gst/gsttrace.h:
6973         * gst/gsttrashstack.c:
6974           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6975           inlined docs for gsttrace, gsttrashstack
6976
6977 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6978
6979         * gst/Makefile.am:
6980         * gst/elements/gstbufferstore.h:
6981         * gst/elements/gsttypefindelement.c:
6982         * gst/elements/gsttypefindelement.h:
6983         * gst/gst.h:
6984         * gst/gsttypefind.c:
6985         * gst/gsttypefind.h:
6986         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6987         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6988         (gst_type_find_factory_dispose),
6989         (gst_type_find_factory_unload_thyself),
6990         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6991         (gst_type_find_factory_get_caps),
6992         (gst_type_find_factory_get_extensions),
6993         (gst_type_find_factory_call_function):
6994         * gst/gsttypefindfactory.h:
6995         * gst/registries/gstlibxmlregistry.c:
6996         * gst/registries/gstxmlregistry.c:
6997           splitted gsttypefind into gsttypefind, gsttypefindfactory
6998
6999 2005-09-07  Andy Wingo  <wingo@pobox.com>
7000
7001         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7002         condition whereby the pad's task function is entered before the
7003         pad_mode variable was set.
7004
7005 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7006
7007         * gst/gstpad.c: (gst_pad_alloc_buffer):
7008           Catch misbehaving pad_alloc functions that don't
7009           set up caps and do it for them.
7010
7011 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7012
7013         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7014           test for pipe!=NULL
7015         * docs/gst/tmpl/.cvsignore:
7016         * docs/gst/tmpl/gstmemchunk.sgml:
7017         * docs/gst/tmpl/gstparse.sgml:
7018         * docs/gst/tmpl/gsttaglist.sgml:
7019         * docs/gst/tmpl/gsttagsetter.sgml:
7020         * docs/gst/tmpl/gsttypefind.sgml:
7021         * docs/gst/tmpl/gsttypefindfactory.sgml:
7022         * gst/gstmemchunk.c:
7023         * gst/gstparse.c:
7024         * gst/gsttag.c:
7025         * gst/gsttaginterface.c:
7026         * gst/gsttypefind.c:
7027         * gst/gsttypefind.h:
7028           inlined more docs
7029
7030 === release 0.9.2 ===
7031
7032 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * NEWS:
7035         * RELEASE:
7036         * configure.ac:
7037           releasing 0.9.2, "South"
7038
7039 2005-09-05  Andy Wingo  <wingo@pobox.com>
7040
7041         * gst/registries/gstxmlregistry.h:
7042         * gst/registries/gstxmlregistry.c: Um... resurrect...
7043         
7044         * gst/registries/gstxmlregistry.h:
7045         * gst/registries/gstxmlregistry.c: and update to newer API.
7046         Incidentally they should be a bit faster now that they don't have
7047         to parse the caps.
7048         
7049 2005-09-05  Andy Wingo  <wingo@pobox.com>
7050
7051         * gst/registries/gstxmlregistry.h:
7052         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7053         replaced by the libxml registry a while back
7054
7055 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7056
7057         * docs/gst/tmpl/gstplugin.sgml:
7058         * gst/elements/gstelements.c:
7059         * gst/gst.c:
7060         * gst/gstplugin.c: (gst_plugin_register_func),
7061         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7062         (gst_plugin_get_source):
7063         * gst/gstplugin.h:
7064         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7065         (gst_xml_registry_save_plugin):
7066         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7067         (gst_xml_registry_save_plugin):
7068         * tools/gst-inspect.c: (print_plugin_info):
7069           add a "source" plugin description field, to represent the source
7070           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7071           will set it to PACKAGE, which is automake's idea of the name of
7072           the source project.
7073
7074 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * Makefile.am:
7077         * autogen.sh:
7078         * configure.ac:
7079         * docs/Makefile.am:
7080         * docs/faq/Makefile.am:
7081         * docs/gst/tmpl/gstelement.sgml:
7082         * docs/gst/tmpl/gsttypes.sgml:
7083         * docs/htmlinstall.mak:
7084         * docs/manual/Makefile.am:
7085         * docs/pwg/Makefile.am:
7086           reorganize doc build a little
7087           split out docbook and gtk-doc stuff
7088           have two separate --enable's and enable them through autogen
7089           but disable by default in configure (to be similar to other
7090           projects)
7091         * gstreamer.spec.in:
7092           clean up docs install
7093         * po/af.po:
7094         * po/az.po:
7095         * po/ca.po:
7096         * po/cs.po:
7097         * po/de.po:
7098         * po/en_GB.po:
7099         * po/fr.po:
7100         * po/it.po:
7101         * po/nb.po:
7102         * po/nl.po:
7103         * po/ru.po:
7104         * po/sq.po:
7105         * po/sr.po:
7106         * po/sv.po:
7107         * po/tr.po:
7108         * po/uk.po:
7109         * po/vi.po:
7110           translation updates
7111
7112 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7113
7114         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7115           Add comment.
7116           
7117         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7118         (gst_fake_sink_change_state):
7119           Make state change function thread-safe.
7120           
7121         * gst/gstpad.c: (gst_pad_alloc_buffer):
7122           Set offset on generic buffer allocated by fallback.
7123
7124 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7125
7126         * docs/gst/gstreamer-sections.txt:
7127         * docs/gst/tmpl/gstelement.sgml:
7128         * gst/gstpad.c:
7129         * libs/gst/controller/gst-controller.c:
7130         (gst_controlled_property_set_interpolation_mode),
7131         (gst_controlled_property_new),
7132         (gst_controller_find_controlled_property):
7133          run the wingo-magic script against the docs
7134
7135 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7136
7137         * docs/gst/gstreamer-docs.sgml:
7138         * docs/gst/gstreamer-sections.txt:
7139         * docs/gst/tmpl/.cvsignore:
7140         * docs/gst/tmpl/gstelementdetails.sgml:
7141         * docs/gst/tmpl/gstelementfactory.sgml:
7142         * gst/gst.c:
7143         * gst/gstbus.c:
7144         * gst/gstelementfactory.c:
7145         * gst/gstelementfactory.h:
7146           merged elementdetails docs into elementfactory docs
7147           inlined both
7148
7149 2005-09-02  Andy Wingo  <wingo@pobox.com>
7150
7151         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7152         consider this enum an enum and not a flags.
7153
7154 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7155
7156         * docs/gst/gstreamer-docs.sgml:
7157         * docs/gst/tmpl/.cvsignore:
7158         * docs/gst/tmpl/gstghostpad.sgml:
7159         * docs/gst/tmpl/gstiterator.sgml:
7160         * docs/gst/tmpl/gstmacros.sgml:
7161         * docs/gst/tmpl/gstrealpad.sgml:
7162         * docs/gst/tmpl/gstregistry.sgml:
7163         * docs/gst/tmpl/gstregistrypool.sgml:
7164         * docs/gst/tmpl/gststructure.sgml:
7165         * docs/gst/tmpl/gstsystemclock.sgml:
7166         * docs/gst/tmpl/gsttrace.sgml:
7167         * gst/gstghostpad.c:
7168         * gst/gstmacros.h:
7169         * gst/gstmemchunk.c:
7170         * gst/gstmemchunk.h:
7171         * gst/gstqueue.c:
7172         * gst/gstregistry.c:
7173         * gst/gstregistrypool.c:
7174         * gst/gststructure.c:
7175         * gst/gstsystemclock.c:
7176           more docs inlined
7177
7178 2005-09-02  Andy Wingo  <wingo@pobox.com>
7179
7180         * gst/gstelement.h (GstState): Renamed from GstElementState,
7181         changed to be a normal enum instead of flags.
7182         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7183         munged to be GST_STATE_CHANGE_*.
7184         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7185         work with the new state representation.
7186         (GstStateChange): New enumeration of possible state transitions.
7187         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7188         (GstElementClass::change_state): Pass the GstStateChange along as
7189         an argument. Helps language bindings, so they don't have to use
7190         tricky lock-needing macros like GST_STATE_CHANGE ().
7191
7192         * scripts/update-states (file): New script. Run it on a file to
7193         update it for state naming and API changes. Updates files in
7194         place.
7195
7196         * All files updated for the new API.
7197
7198 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7201         * gst/gstutils.c: (gst_util_set_value_from_string),
7202         (gst_util_set_object_arg):
7203           fix a bunch of unchecked return values
7204         * tools/gst-complete.c: (main):
7205         * gstreamer.spec.in:
7206           clean up a little
7207
7208 2005-09-01  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7211         (gst_base_sink_event), (gst_base_sink_do_sync),
7212         (gst_base_sink_handle_event):
7213         * gst/base/gstbasesink.h:
7214         Handle newsegments more correctly.
7215
7216         * gst/gstbus.c:
7217         Fix docs.
7218
7219         * gst/gstevent.c: (gst_event_new_newsegment):
7220         A newsegment cannot have a start_time of -1
7221
7222 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7223
7224         * win32/gstenumtypes.c:
7225         * win32/gstenumtypes.h:
7226           Update
7227
7228 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7229
7230         * libs/gst/controller/gst-controller.c:
7231         (gst_controlled_property_set_interpolation_mode),
7232         (gst_controlled_property_new):
7233          fixed boolean again
7234
7235 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * docs/faq/gst-uninstalled:
7238           add -good
7239         * gst/gstevent.c:
7240         * gst/gstevent.h:
7241           remove wrong docs
7242         * gst/gstutils.c: (gst_element_link_filtered):
7243         * gst/gstutils.h:
7244           add gst_element_link_filtered
7245
7246 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7247
7248         * docs/gst/gstreamer-docs.sgml:
7249         * docs/gst/gstreamer-sections.txt:
7250         * docs/gst/tmpl/.cvsignore:
7251         * docs/gst/tmpl/gsterror.sgml:
7252         * docs/gst/tmpl/gstfilter.sgml:
7253         * docs/gst/tmpl/gsturihandler.sgml:
7254         * docs/gst/tmpl/gsturitype.sgml:
7255         * docs/gst/tmpl/gstutils.sgml:
7256         * docs/gst/tmpl/gstxml.sgml:
7257         * gst/gsterror.c:
7258         * gst/gsterror.h:
7259         * gst/gstfilter.c:
7260         * gst/gsturi.c:
7261         * gst/gsturitype.c:
7262         * gst/gstutils.c:
7263         * gst/gstxml.c:
7264           inlined more docs, fixed double id-ref
7265
7266 2005-08-31  Wim Taymans  <wim@fluendo.com>
7267
7268         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7269         (gst_base_transform_handle_buffer):
7270         Passthrough elements don't need the caps as they don't care.
7271
7272 2005-08-31  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7275         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7276         Don't leak refcounts on buffers.
7277
7278 2005-08-31  Wim Taymans  <wim@fluendo.com>
7279
7280         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7281         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7282         (gst_base_transform_chain), (gst_base_transform_change_state):
7283         * gst/base/gstbasetransform.h:
7284         Handle the case where we are not negotiated more gracefully.
7285
7286 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7287
7288         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7289         (gst_file_src_map_region):
7290           Set READONLY flag on mmap'ed buffers, otherwise
7291           gst_buffer_make_writable() won't work properly (#314708).
7292
7293 2005-08-31  Wim Taymans  <wim@fluendo.com>
7294
7295         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7296         passthrough elements can even do inplace on non writable
7297         buffers (as they don't touch them).
7298
7299 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7300
7301         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7302         (gst_test_mono_source_set_property),
7303         (gst_test_mono_source_class_init), (GST_START_TEST),
7304         (gst_controller_suite):
7305           more tests (hehe I have the most)
7306         * gst/gstbus.c:
7307           describe popping messages whenusing mulltiple sources
7308         * libs/gst/controller/gst-controller.c:
7309         (gst_controlled_property_set_interpolation_mode),
7310         (gst_controlled_property_new):
7311         * libs/gst/controller/gst-controller.h:
7312         * libs/gst/controller/gst-interpolation.c:
7313           implement boolean properties
7314
7315 2005-08-31  Wim Taymans  <wim@fluendo.com>
7316
7317         * gst/gstminiobject.c: (gst_mini_object_ref):
7318         Cannot assert that the refcount has to be positive
7319         since a disposed object can be resurrected.
7320
7321 2005-08-31  Wim Taymans  <wim@fluendo.com>
7322
7323         * gst/gstpad.c: (gst_pad_init):
7324         Revert change, need to first fix badly behaving 
7325         apps.
7326
7327 2005-08-30  Wim Taymans  <wim@fluendo.com>
7328
7329         * check/elements/fakesrc.c: (setup_fakesrc):
7330         * check/elements/identity.c: (setup_identity):
7331         Activate pads before using them.
7332
7333 2005-08-30  Wim Taymans  <wim@fluendo.com>
7334
7335         * gst/base/gstadapter.c: (gst_adapter_flush):
7336         Flushing out 0 bytes is ok for this function.
7337
7338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7339         no newsegment gives a warning and sets the start/stop to 
7340         invalid.
7341
7342         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7343         (gst_base_transform_set_passthrough):
7344         Some debug info.
7345
7346         * gst/gstminiobject.c: (gst_mini_object_ref):
7347         Check refcount here too.
7348
7349         * gst/gstpad.c: (gst_pad_init):
7350         Pads are initially flushing and refusing data.
7351
7352         * gst/gstutils.c: (gst_element_link_pads_filtered):
7353         When adding a capsfilter element make sure it has the
7354         same state as the parent bin.
7355
7356 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7357
7358         * docs/gst/tmpl/.cvsignore:
7359         * docs/gst/tmpl/gstformat.sgml:
7360         * docs/gst/tmpl/gstversion.sgml:
7361         * gst/gstbus.h:
7362         * gst/gstformat.c:
7363         * gst/gstformat.h:
7364         * gst/gstversion.h.in:
7365           more docs and two more inlined
7366
7367 2005-08-30  Wim Taymans  <wim@fluendo.com>
7368
7369         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7370         Don't sync to clock.
7371
7372 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7373
7374         * docs/gst/gstreamer-sections.txt:
7375           ultral33t func10ns deserve to appear in the docs actually
7376         * docs/gst/tmpl/.cvsignore:
7377         * docs/gst/tmpl/gstcompat.sgml:
7378         * docs/gst/tmpl/gstconfig.sgml:
7379         * gst/check/gstcheck.c:
7380         * gst/gstcompat.h:
7381         * gst/gstconfig.h.in:
7382           inlined more docs
7383
7384 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7385
7386         * docs/gst/tmpl/.cvsignore:
7387         * docs/gst/tmpl/gstquery.sgml:
7388         * docs/gst/tmpl/gstutils.sgml:
7389         * gst/gstquery.c:
7390         * gst/gstquery.h:
7391           inlined and extended docs
7392
7393 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * check/gst-libs/controller.c: (GST_START_TEST),
7396         (gst_controller_suite):
7397           more tests
7398         * docs/gst/tmpl/gstutils.sgml:
7399         * docs/libs/gstreamer-libs-sections.txt:
7400         * docs/libs/tmpl/gstdataprotocol.sgml:
7401           include path fixes
7402         * examples/controller/audio-example.c: (main):
7403           controller example works now
7404         * gst/gstclock.h:
7405           doc fixes
7406         * tools/gst-inspect.c: (print_element_properties_info):
7407           show param spec flags
7408
7409 2005-08-29  Andy Wingo  <wingo@pobox.com>
7410
7411         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7412
7413 2005-08-28  Andy Wingo  <wingo@pobox.com>
7414
7415         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7416         as having two arguments instead of just one. Allows superclasses
7417         to access information on subclasses -- see the terrible for() loop
7418         in gtype.c:g_type_create_instance for the reason why. All callers
7419         changed.
7420
7421 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7422
7423         * docs/design/part-messages.txt:
7424           update info
7425         * docs/gst/tmpl/.cvsignore:
7426         * docs/gst/tmpl/gstcaps.sgml:
7427         * docs/gst/tmpl/gstclock.sgml:
7428         * gst/gstbus.c:
7429         * gst/gstcaps.c:
7430         * gst/gstcaps.h:
7431         * gst/gstclock.c:
7432         * gst/gstclock.h:
7433         * gst/gstmessage.c:
7434           added descriptions for bus and message
7435           inline caps and clock docs
7436
7437 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7438
7439         * gst/gstmessage.c:
7440         * gst/gstmessage.h:
7441           doc fixes
7442
7443 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7444
7445         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7446           fix div-by-zero
7447
7448 2005-08-26  Andy Wingo  <wingo@pobox.com>
7449
7450         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7451         element_set_state's return val.
7452         (test_2_elements): Add test that's been disabled for months.
7453
7454         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7455         can-activate-pull properties.
7456
7457         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7458         can-activate-pull properties. Implement is_seekable so fakesrc can
7459         operate in pull mode.
7460
7461         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7462         properties.
7463         (gst_base_sink_activate, gst_base_sink_activate_pull)
7464         (gst_base_sink_activate_push): Make activation mode choosing work.
7465         Cleanups.
7466         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7467         is right. Make pull mode work. Post an eos before pausing in pull
7468         mode.
7469         (gst_base_sink_change_state): Pay attention to the core's
7470         change_state() return val.
7471         
7472         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7473         has-getrange properties. Cleanups.
7474         
7475         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7476         has_getrange and replace with can_activate_pull and
7477         can_activate_push.
7478
7479         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7480         locking comments. Remove has_loop, has_chain and replace with
7481         can_activate_pull and can_activate_push.
7482
7483 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7484
7485         * configure.ac:
7486         * examples/Makefile.am:
7487         * examples/metadata/Makefile.am:
7488         * examples/metadata/read-metadata.c: (message_loop),
7489         (have_pad_handler), (make_pipeline), (print_tag), (main):
7490           Add metadata reading example that loops over a list of filenames,
7491           dumping any tags found.
7492
7493         * gst/gstbus.c: (gst_bus_dispose):
7494         * gst/gstelement.c: (gst_element_dispose):
7495           Release a few potentially-held references in dispose.
7496
7497 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7498
7499         * docs/gst/tmpl/gstminiobject.sgml:
7500           do *not* add tmpl/*.sgml files to CVS!
7501
7502 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7503
7504         * libs/gst/bytestream/.cvsignore:
7505         * libs/gst/bytestream/Makefile.am:
7506         * libs/gst/bytestream/adapter.c:
7507         * libs/gst/bytestream/adapter.h:
7508         * libs/gst/bytestream/bytestream.c:
7509         * libs/gst/bytestream/bytestream.h:
7510         * libs/gst/bytestream/filepad.c:
7511         * libs/gst/bytestream/filepad.h:
7512           removing obsolete files
7513
7514 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7515
7516         * docs/gst/gstreamer-docs.sgml:
7517         * docs/libs/gstreamer-libs-docs.sgml:
7518           disabed additional index entries again, as this makes docs-gen just
7519           slow and they aren't useful yet
7520         * docs/libs/gstreamer-libs-sections.txt:
7521           little -section.txt cleanup for libs
7522
7523 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7526         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7527           fix up some debugging
7528         (gst_base_transform_get_unit_size),
7529         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7530         (gst_base_transform_handle_buffer):
7531         * gst/base/gstbasetransform.h:
7532           handle and store timed NEWSEGMENT events so that subclasses that
7533           calculate time by counting samples have a segment_start time they
7534           need to add to their timestamps - see audioresample
7535
7536 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7537
7538         * gst/gstbin.h:
7539           removed ';' from the end of macro defs
7540         * docs/gst/gstreamer-docs.sgml:
7541         * docs/gst/gstreamer-sections.txt:
7542         * docs/gst/tmpl/.cvsignore:
7543         * gst/gstbus.h:
7544         * gst/gstelement.c: (gst_element_class_init),
7545         (gst_element_set_state), (activate_pads),
7546         (gst_element_save_thyself):
7547         * gst/gstevent.c: (gst_event_new_newsegment):
7548         * gst/gstevent.h:
7549         * gst/gstiterator.c:
7550         * gst/gstiterator.h:
7551         * gst/gstpad.c:
7552         * gst/gstprobe.h:
7553         * gst/gstutils.c: (gst_pad_query_convert):
7554         * gst/gstutils.h:
7555           fixed parameter name mismatches between source, header and docs
7556           added some more docs, resolved the last batch of unused elements in
7557           docs (now someone needs to doc them)
7558
7559 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7560
7561         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7562         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7563           don't walk through the plugins backwards.  Where is all this
7564           reversed logic coming from ?
7565
7566 2005-08-25  Wim Taymans  <wim@fluendo.com>
7567
7568         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7569         (gst_base_transform_transform_size),
7570         (gst_base_transform_configure_caps),
7571         (gst_base_transform_get_unit_size),
7572         (gst_base_transform_buffer_alloc),
7573         (gst_base_transform_change_state):
7574         * gst/base/gstbasetransform.h:
7575         Cache caps unit_size.
7576         Make sure we cannot negotiate up and downstream at the
7577         same time.
7578
7579 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * gst/gst.c: (init_pre), (init_post):
7582           register the installed plugin path after the env var
7583         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7584         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7585           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7586           directories, so the tests can prefer uninstalled over installed
7587
7588 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * gst/base/gstbasetransform.h:
7591           comment
7592         * gst/gstpad.c:
7593           add to docs
7594
7595 2005-08-25  Wim Taymans  <wim@fluendo.com>
7596
7597         * gst/gstbin.c: (bin_bus_handler):
7598         Be a bit more conservative about the posted message.
7599         
7600         * gst/gstbus.c: (gst_bus_post):
7601         Some cleanups, warn wrong return values.
7602
7603 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7604
7605         * check/gst/gstbin.c: (GST_START_TEST):
7606         * gst/gstbin.c: (bin_bus_handler):
7607         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7608         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7609         (gst_message_new_warning), (gst_message_new_tag),
7610         (gst_message_new_state_changed), (gst_message_new_segment_start),
7611         (gst_message_new_segment_done), (gst_message_new_custom):
7612         * gst/gstmessage.h:
7613         * tools/gst-launch.c: (event_loop):
7614         * tools/gst-md5sum.c: (event_loop):
7615           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7616
7617 2005-08-25  Wim Taymans  <wim@fluendo.com>
7618
7619         * check/generic/states.c: (GST_START_TEST):
7620         Cleanup can be done at the end.
7621
7622         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7623         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7624         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7625         Oh boy.. Thanks for finding this, Thomas. 
7626
7627 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7628
7629         * docs/gst/gstreamer.types:
7630           added missing types
7631
7632 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7633
7634         * docs/gst/gstreamer-docs.sgml:
7635         * docs/gst/gstreamer-sections.txt:
7636         * docs/gst/tmpl/.cvsignore:
7637         * gst/gstbin.c:
7638         * gst/gstiterator.c:
7639         * gst/gstutils.c:
7640         * gst/registries/gstxmlregistry.h:
7641           added missing classes and symbols (123 more to go)
7642           removed removed symbols from section file
7643           fixed many doc-comments
7644
7645 2005-08-24  Wim Taymans  <wim@fluendo.com>
7646
7647         * check/generic/states.c: (GST_START_TEST):
7648         Make sure all tasks are stopped.
7649
7650         * check/gst/gstbin.c: (GST_START_TEST):
7651         Unref after usage for proper valgrinding.
7652
7653         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7654         Really wait for the task to stop before destroying the
7655         mutex.
7656
7657         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7658         (gst_queue_src_activate_push):
7659         Small cleanups. Don't stop the task when we did not start
7660         it.
7661
7662         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7663         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7664         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7665         (gst_task_join):
7666         * gst/gsttask.h:
7667         Protect the stream lock with the object lock.
7668         Disallow setting the stream lock when running.
7669         Add cleanup_all to wait for the threadpool to finish.
7670         Remove code to autoallocate a mutex if none was provided.
7671         Add _join() to wait for a task to stop.
7672         Protect the thread pool with a global lock.
7673
7674 2005-08-24  Wim Taymans  <wim@fluendo.com>
7675
7676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7677         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7678         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7679         * gst/base/gstbasesink.h:
7680         Handle newsegment events correctly.
7681         Drop buffers out of the segment range.
7682
7683 2005-08-22  Andy Wingo  <wingo@pobox.com>
7684
7685         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7686         macro, implements an interface and gstimplementsinterface for a
7687         new type.
7688
7689 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * check/Makefile.am:
7692         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7693           add a test that does a bunch of state changes on elements
7694           needs some fixing for valgrind
7695         * check/states/sinks.c: (gst_object_suite):
7696           whitespace
7697         * gst/gstcaps.h:
7698           add prototype for gst_caps_is_equal_fixed
7699         * gst/gstplugin.c:
7700         * gst/gstregistrypool.c:
7701           doc fixes
7702
7703 2005-08-24  Andy Wingo  <wingo@pobox.com>
7704
7705         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7706         convert a negative value. Doesn't make much sense. Mostly this is
7707         here to force callers to ensure -1 maps to -1.
7708
7709 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7710
7711         * docs/pwg/advanced-types.xml:
7712           Well done to Michael for catching my deliberate introduction
7713           of this spelling mistake. 
7714         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7715         * gst/gstelement.h:
7716           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7717           unlink pads before removing the element from the bin.
7718
7719 2005-08-24  Andy Wingo  <wingo@pobox.com>
7720
7721         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7722         the same thing as GST_DEBUG=*:4.
7723         (parse_debug_level, parse_debug_category): New helper parsers.
7724
7725 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7726
7727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7728         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7729         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7730         (gst_base_transform_buffer_alloc),
7731         (gst_base_transform_handle_buffer):
7732           use gboolean return values and pointers to size so we can use the
7733           full GST_BUFFER_SIZE range (guint) for buffer sizes
7734           use GstPadDirection for transform_caps
7735         * gst/base/gstbasetransform.h:
7736           rename get_size to get_unit_size since that's what it is
7737         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7738           use GstPadDirection for transform_caps
7739         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7740         * gst/gstutils.h:
7741           cleanup and debugging
7742
7743 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7744
7745         * gst/gstelement.c: (gst_element_class_init),
7746         (gst_element_set_state), (activate_pads),
7747         (gst_element_save_thyself):
7748         * tools/gst-compprep.c: (main):
7749         * tools/gst-inspect.c: (print_element_properties_info):
7750         * tools/gst-xmlinspect.c: (print_element_properties):
7751           Fixed long standing mem-leak
7752
7753 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7754
7755         * check/gst/gstbin.c: (GST_START_TEST):
7756         * gst/gstbin.c: (bin_bus_handler):
7757         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7758         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7759         (gst_message_new_warning), (gst_message_new_tag),
7760         (gst_message_new_state_changed), (gst_message_new_segment_start),
7761         (gst_message_new_segment_done), (gst_message_new_custom):
7762         * gst/gstmessage.h:
7763         * tools/gst-launch.c: (event_loop):
7764         * tools/gst-md5sum.c: (event_loop):
7765           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7766           that applications can sensibly post custom messages with references
7767           to their own objects.
7768
7769 2005-08-24  Andy Wingo  <wingo@pobox.com>
7770
7771         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7772         already.
7773
7774 2005-08-24  Wim Taymans  <wim@fluendo.com>
7775
7776         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7777         (gst_base_transform_transform_caps),
7778         (gst_base_transform_transform_size),
7779         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7780         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7781         (gst_base_transform_handle_buffer):
7782         * gst/base/gstbasetransform.h:
7783         Many fixes and new features added by Thomas. Can now also do
7784         transforms with variable sizes and a custom fixate_caps function.
7785
7786 2005-08-24  Wim Taymans  <wim@fluendo.com>
7787
7788         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7789         Some debugging.
7790
7791         * gst/gstclock.h:
7792         Cast to ClockTime before formatting to time.
7793
7794         * gst/gstutils.h:
7795         Cleanups.
7796
7797 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * check/gst-libs/controller.c: (GST_START_TEST),
7800         (gst_controller_suite):
7801         * docs/gst/tmpl/gstcaps.sgml:
7802         * docs/gst/tmpl/gstghostpad.sgml:
7803         * docs/gst/tmpl/gstquery.sgml:
7804         * docs/gst/tmpl/gstutils.sgml:
7805         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7806         (gst_object_sink_values), (gst_object_get_value_arrays),
7807         (gst_object_get_value_array):
7808           gracefully handle helper method calls to objects that are not beeing
7809           controlled, added test case for that          
7810
7811 2005-08-23  Wim Taymans  <wim@fluendo.com>
7812
7813         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7814         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7815         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7816         (gst_event_parse_qos), (gst_event_new_seek),
7817         (gst_event_parse_seek):
7818         * gst/gstevent.h:
7819         Some more debugging output and doc cleanups.
7820
7821         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7822         Fix possible deadlock.
7823
7824 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7825
7826         * docs/gst/gstreamer-docs.sgml:
7827         * docs/gst/gstreamer-sections.txt:
7828         * docs/gst/gstreamer.types:
7829         * docs/gst/tmpl/.cvsignore:
7830         * gst/gstbin.h:
7831         * gst/gstbus.c:
7832         * gst/gstelement.c:
7833         * gst/gstevent.h:
7834           added 100 symbols from gstreamer-unused.txt to the right sections
7835           fixed more broken comments
7836           added GstBus to docs
7837
7838 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7839
7840         * docs/gst/gstreamer-sections.txt:
7841         * docs/gst/tmpl/.cvsignore:
7842         * docs/gst/tmpl/gstbin.sgml:
7843         * docs/gst/tmpl/gstbuffer.sgml:
7844         * gst/base/gstbasesrc.c:
7845         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7846         * gst/gstbuffer.c:
7847         * gst/gstbuffer.h:
7848         * tools/gst-launch.1.in:
7849           inlined more doc comments, added missing comments and fixed comments
7850           fixed typos
7851
7852 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7853
7854         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7855           some debugging
7856         * gst/gstcaps.h:
7857           whitespace fixes
7858         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7859           more debugging
7860         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7861         * gst/gststructure.h:
7862           add a fixate function for booleans; add a FIXME that these func
7863           names should probably be gst_structure_fixate_*
7864
7865 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7866
7867         * docs/gst/gstreamer-docs.sgml:
7868         * docs/gst/gstreamer-sections.txt:
7869         * gst/Makefile.am:
7870         * gst/gstbin.c: (gst_bin_get_type),
7871         (gst_bin_child_proxy_get_child_by_index),
7872         (gst_bin_child_proxy_get_children_count),
7873         (gst_bin_child_proxy_init):
7874         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7875         (gst_child_proxy_get_child_by_index),
7876         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7877         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7878         (gst_child_proxy_get), (gst_child_proxy_set_property),
7879         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7880         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7881         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7882         * gst/gstchildproxy.h:
7883         * gst/parse/grammar.y:
7884         * tools/gst-inspect.c: (print_interfaces),
7885         (print_element_properties_info), (print_element_info):
7886           ported gstchildproxy over from 0.8
7887           ported gst-inspect fixes and enhancements over from 0.8
7888
7889 2005-08-22  Wim Taymans  <wim@fluendo.com>
7890
7891         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7892         (gst_base_transform_handle_buffer):
7893         Also call the transform function if we have ANY caps.
7894
7895         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7896         Fix debug info.
7897
7898 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7899
7900         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7901           Don't pretend to handle seek events if the source is not seekable
7902
7903 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7904
7905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7906           Remove extra parameter to debug output
7907
7908         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7909         (gst_base_src_do_seek), (gst_base_src_activate_push):
7910           Fix seek event handling.
7911
7912         * gst/gstpipeline.c: (gst_pipeline_change_state):
7913         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7914         (gst_queue_src_activate_push):
7915           Don't start the src pad task on FLUSH_STOP if the pad
7916           isn't linked.
7917           Debug changes.
7918
7919 2005-08-22  Wim Taymans  <wim@fluendo.com>
7920
7921         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7922         Added check for gst_static_caps_get() refcounting.
7923
7924 2005-08-22  Wim Taymans  <wim@fluendo.com>
7925
7926         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7927         Make _static_caps_get() refcounting sane.
7928         
7929         * gst/gstelement.c: (gst_element_set_state):
7930         Add g_return_val_if_fail() to protect against segfaults.
7931
7932 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * docs/gst/tmpl/gstevent.sgml:
7935         * gst/gstevent.c:
7936         * gst/gstevent.h:
7937           inlined remaining docs, added missing doc comments
7938
7939 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7940
7941         * check/gst/gstbin.c: (GST_START_TEST):
7942           since we don't know when preroll is done, use refcount range
7943           check for the sink
7944         * gst/check/gstcheck.h:
7945           add macro for checking refcount range
7946
7947 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7948
7949         * check/Makefile.am:
7950           clean up environment for when registry gets built versus
7951           when actual tests are run; valgrind seems to not report
7952           leaks if GST_PLUGIN_PATH is set to some specific values
7953         * check/gst/gstbin.c: (GST_START_TEST):
7954           add more refcounting checks; maybe this exposes a
7955           preroll lock bug ?
7956         * common/check.mak:
7957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7958         * gst/check/gstcheck.h:
7959         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7960         (gst_bin_change_state):
7961         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7962           add/fix debugging/whitespace
7963
7964 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7965
7966         * check/gst/gstevent.c: (event_probe), (test_event),
7967         (GST_START_TEST):
7968          Er, don't call gst_bin_watch_for_state_change you idiot.
7969
7970 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7971
7972         * check/Makefile.am:
7973           Use CHECK_CFLAGS and CHECK_LIBS
7974         * check/gst/gstevent.c: (event_probe), (test_event),
7975         (GST_START_TEST):
7976           Don't leak events.
7977         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7978         (gst_base_src_start), (gst_base_src_stop),
7979         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7980         (gst_base_src_change_state):
7981           Sprinkle gst_base_src_stop liberally around error paths to fix
7982           problems reusing a source after failed state changes.
7983         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7984         (helper_find_suggest), (gst_type_find_helper):
7985           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7986         * gst/gstevent.h:
7987         * docs/gst/tmpl/gstevent.sgml:
7988           Migrate part of the docs from the SGML file. Wait for ensonic to
7989           tell me how I did it wrong ;)
7990         * tools/gst-typefind.c: (main):
7991           Extra robustness to state changes between files.
7992
7993 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7994
7995         * check/Makefile.am:
7996           don't valgrind the controller test - it's leaking - Stefan, HELP
7997         * gst/check/gstcheck.c: (gst_check_message_error),
7998         (gst_check_chain_func), (gst_check_setup_element),
7999         (gst_check_teardown_element), (gst_check_setup_src_pad),
8000         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8001         (gst_check_teardown_sink_pad):
8002         * gst/check/gstcheck.h:
8003           add a bunch of methods to set up elements, and src and sink pads
8004         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8005         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8006         (GST_START_TEST):
8007           use them
8008         * gst/gstmessage.c:
8009         * gst/gsttag.h:
8010           whitespace/doc fixes
8011
8012 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * gst/gstelement.h:
8015           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8016           be handled by the application and not always printed as well
8017
8018 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8019
8020         * check/Makefile.am:
8021           set GST_TOOLS_DIR
8022         * gst/check/gstcheck.c: (gst_check_message_error):
8023         * gst/check/gstcheck.h:
8024           add a fail_unless_equals_int
8025           add fail_unless for error messages
8026
8027 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8028
8029         * check/Makefile.am:
8030         * check/gst.supp:
8031         * common/Makefile.am:
8032         * common/check.mak:
8033         * common/gst.supp:
8034           factor out some of the common stuff so we can use it
8035
8036 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8037
8038         * check/Makefile.am:
8039         * check/gst/gstiterator.c: (GST_START_TEST):
8040         * check/gst/gstsystemclock.c: (GST_START_TEST),
8041         (gst_systemclock_suite):
8042         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8043         * gst/gstclock.c:
8044           valgrind more tests
8045
8046 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * check/elements/.cvsignore:
8049         * check/elements/gstfakesrc.c:
8050           rename to name of element
8051         * check/elements/identity.c: (chain_func), (event_func),
8052         (setup_identity), (cleanup_identity), (GST_START_TEST),
8053         (identity_suite), (main):
8054           add a test for identity
8055         * check/Makefile.am:
8056         * pkgconfig/Makefile.am:
8057         * pkgconfig/gstreamer-check.pc.in:
8058         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8059         * gst/check:
8060         * gst/Makefile.am:
8061         * configure.ac:
8062           move the check stuff to a library that gets installed
8063         * check/gst-libs/controller.c: (GST_START_TEST):
8064         * check/gst-libs/gdp.c:
8065         * check/gst/gst.c: (GST_START_TEST):
8066         * check/gst/gstbin.c:
8067         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8068         * check/gst/gstbus.c:
8069         * check/gst/gstcaps.c: (GST_START_TEST):
8070         * check/gst/gstelement.c:
8071         * check/gst/gstghostpad.c:
8072         * check/gst/gstiterator.c:
8073         * check/gst/gstmessage.c:
8074         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8075         * check/gst/gstobject.c:
8076         * check/gst/gstpad.c: (GST_START_TEST):
8077         * check/gst/gststructure.c: (GST_START_TEST):
8078         * check/gst/gstsystemclock.c: (GST_START_TEST),
8079         (gst_systemclock_suite):
8080         * check/gst/gsttag.c: (gst_tag_suite):
8081         * check/gst/gstvalue.c:
8082         * check/pipelines/cleanup.c:
8083         * check/pipelines/simple_launch_lines.c:
8084         * check/states/sinks.c:
8085           change include statement
8086
8087         * docs/gst/gstreamer-sections.txt:
8088         * docs/gst/tmpl/gstpad.sgml:
8089           document more pad stuff
8090         * gst/gstminiobject.c: (gst_mini_object_ref),
8091         (gst_mini_object_unref):
8092           debug refcounting
8093
8094 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8095
8096         * docs/gst/tmpl/gst.sgml:
8097         * gst/gst.c:
8098           eliminate another tmpl file, fix spelling in the long-description
8099
8100 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8101
8102         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8103         (test_event), (timediff), (gstevents_suite):
8104           Should fix build on 64-bit arch's
8105
8106 2005-08-18  Andy Wingo  <wingo@pobox.com>
8107
8108         Make sure that when a pipeline goes to PLAYING, that data has
8109         actually hit the sink.
8110
8111         * check/states/sinks.c (test_sink): A sink that doesn't get any
8112         data shouldn't return SUCCESS for going to either PLAYING or
8113         PAUSED. Test also the return values on the way back down.
8114
8115         * gst/gstelement.c (gst_element_set_state): When changing the
8116         state of an element currently changing state asynchronously, go to
8117         lost-state after commiting the pending state. Makes future calls
8118         to get_state continue to return ASYNC.
8119
8120         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8121         ASYNC when going to PLAYING if we still don't have preroll, as can
8122         happen with live sources.
8123
8124 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8125
8126         * docs/pwg/advanced-types.xml:
8127           Hack long paragraph into 2 chunks as a workaround for buggy
8128           jadetex version in sid and breezy that loops infinitely and
8129           eats all RAM.
8130
8131 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8132
8133         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8134         (test_event), (timediff), (gstevents_suite):
8135           Provide more error margin in clock measurements to allow for 
8136           g_get_current_time inaccuracies.
8137
8138 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8139
8140         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8141         (test_event), (timediff), (gstevents_suite):
8142            Fix error message output so I might be able to tell why the
8143            test works here but fails on the build farm.
8144
8145 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8146
8147         * check/Makefile.am:
8148         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8149         (test_event), (timediff), (gstevents_suite), (main):
8150           I wrote a test!
8151
8152         * docs/design/part-seeking.txt:
8153           Spelling correction
8154
8155         * docs/gst/tmpl/gstevent.sgml:
8156         * docs/gst/tmpl/gstfakesrc.sgml:
8157           Docs updates.
8158
8159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8160           Treat a buffer-without-newsegment the same as a receiving 
8161           a newsegment not in time format, and disable syncing to the clock
8162           with a warning.
8163
8164         * gst/gstbus.c: (gst_bus_set_sync_handler):
8165           Assert if anyone tries to replace the existing sync_handler for bus, 
8166           as only the owner should be setting it.
8167
8168         * gst/gstevent.h:
8169           Have a fixed set of custom event enums with events identified by
8170           their structure name (as in 0.8), rather than a free-for-all
8171           allowing collisions between enum values from different plugins.
8172
8173         * gst/gstpad.c: (gst_pad_class_init):
8174           Docs change.
8175           
8176         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8177           Handle out-of-band downstream events from the sending thread.
8178
8179 2005-08-17  Andy Wingo  <wingo@pobox.com>
8180
8181         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8182         play-timeout==0 to mean no timeout at all. In that case, don't
8183         bother with a get_state or a warning, just return directly, even
8184         if it's ASYNC.
8185
8186         * gst/base/gstbasetransform.c: Debug changes.
8187
8188         * gst/gstutils.h:
8189         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8190         ensure bins post state change messages. A bit of a hack but I can't
8191         think of a way to avoid it.
8192
8193         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8194
8195 2005-08-16  Andy Wingo  <wingo@pobox.com>
8196
8197         * gst/base/gstadapter.h:
8198         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8199         peek() but you own the data. Not terribly efficient atm.
8200
8201 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8202
8203         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8204         (gst_element_found_tags):
8205         * gst/gstutils.h:
8206           Add two utility functions for tag handling.
8207
8208 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8209
8210         * docs/manual/advanced-dataaccess.xml:
8211         * docs/manual/basics-helloworld.xml:
8212           Fix docs to use _bin_add() before _link(), which fixes the examples
8213           with recent core versions (reported by Madhan Raj M
8214           <raj_madan@rediffmail.com>, #313199).
8215
8216 2005-08-16  Wim Taymans  <wim@fluendo.com>
8217
8218         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8219         Added subtract checks.
8220
8221         * docs/design/part-events.txt:
8222         Some more docs about newsegment
8223
8224         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8225         Fix FIXME
8226
8227         * gst/gstcaps.c: (gst_caps_to_string):
8228         Add comments, cleanups.
8229         
8230         * gst/gstelement.c: (gst_element_save_thyself):
8231         cleanups
8232         
8233         * gst/gstvalue.c: (gst_value_collect_int_range),
8234         (gst_string_unwrap), (gst_value_union_int_int_range),
8235         (gst_value_union_int_range_int_range),
8236         (gst_value_intersect_int_int_range),
8237         (gst_value_intersect_int_range_int_range),
8238         (gst_value_intersect_double_double_range),
8239         (gst_value_intersect_double_range_double_range),
8240         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8241         (gst_value_subtract_int_range_int),
8242         (gst_value_subtract_double_range_double),
8243         (gst_value_subtract_double_range_double_range),
8244         (gst_value_subtract_from_list), (gst_value_subtract_list),
8245         (gst_value_can_compare), (gst_value_compare_fraction):
8246         Cleanups, add comments, remove unneeded asserts.
8247
8248 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8249
8250         * tools/gst-launch.c: (event_loop):
8251           don't convert NULL structures to strings
8252
8253 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8254
8255         * docs/gst/gstreamer-sections.txt:
8256           made some defines private
8257         * docs/gst/tmpl/gstconfig.sgml:
8258         * docs/gst/tmpl/gstqueue.sgml:
8259         * docs/gst/tmpl/gsttaglist.sgml:
8260         * docs/gst/tmpl/gsttypes.sgml:
8261         * docs/gst/tmpl/gstutils.sgml:
8262         * docs/pwg/appendix-porting.xml:
8263         * gst/base/gstbasesink.h:
8264         * gst/base/gstbasesrc.c:
8265         * gst/base/gstbasesrc.h:
8266         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8267         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8268         * gst/gstelement.c: (gst_element_class_init):
8269         * gst/gstpad.c: (gst_pad_class_init):
8270         * gst/gstqueue.c: (gst_queue_class_init):
8271         * gst/gstxml.c: (gst_xml_class_init):
8272           documented all undocumented signal inline
8273         * libs/gst/controller/gst-controller.h:
8274           added padding
8275
8276 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8277
8278         * docs/pwg/appendix-porting.xml:
8279           Document _set_link_function -> _set_setcaps_function.
8280
8281 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8282
8283         * check/Makefile.am:
8284           add a .check target for running the check
8285         * check/gst-libs/controller.c: (GST_START_TEST):
8286           cosmetic fixups
8287         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8288           complete checks for gstbuffer; would be nice if I could get the
8289           gcov stuff to work so I can see if I actually completed gstbuffer.c
8290         * check/gstcheck.h:
8291           add ASSERT_BUFFER_REFCOUNT
8292
8293 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         * docs/gst/gstreamer-sections.txt:
8296         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8297         * gst/gsttag.h:
8298           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8299           spew out a warning if a tag that is already registered
8300           is re-registered, unless it is re-registered with a 
8301           different type (#308438).
8302
8303 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8304
8305         * docs/pwg/appendix-porting.xml:
8306         * docs/pwg/building-state.xml:
8307           Add some paragraphs about state changes in 0.9 to the PWG
8308           and the porting guide, in particular about the new meaning
8309           of GST_STATE_PAUSED and how to write state change functions
8310           with concurrent access by multiple threads in mind.
8311
8312 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8313
8314         * docs/gst/gstreamer-docs.sgml:
8315         * docs/libs/gstreamer-libs-docs.sgml:
8316           added deprecation and since indexes
8317         * libs/gst/controller/gst-controller.c:
8318         * libs/gst/controller/gst-helper.c:
8319           added since tags
8320
8321
8322 2005-08-11  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8325         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8326         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8327         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8328         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8329         (gst_ghost_pad_set_target):
8330         Actually implement (re)setting the target on a ghostpad
8331         as described in the docs.
8332
8333 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8334
8335         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8336           Check whether GST_DEBUG_NO_COLOR environment variable is
8337           set and disable coloured debug output if that is the case.
8338
8339 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8342         (gst_type_find_helper):
8343           The memory returned by gst_type_find_peek() needs to
8344           stay valid until the end of a typefind function, and
8345           typefind functions may keep results from different 
8346           offsets around, so we can't just unref the buffer from
8347           the previous _peek(), but have to save all buffers 
8348           returned by _peek() until typefinding is done and only
8349           free them then.
8350
8351 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8352
8353         * docs/gst/gstreamer-sections.txt:
8354         * gst/gstutils.h:
8355           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8356
8357 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8358
8359         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8360           Fix a pretty good memleak.
8361
8362 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8363
8364         * gst/gstiterator.h:
8365           Fix wrong include and 'make distcheck'.
8366
8367 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8368
8369         * gst/gstbin.c: (bin_bus_handler):
8370           Use gst_element_post_message() instead.
8371
8372 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8373
8374         * gst/base/gstadapter.h:
8375         * gst/base/gstbasesink.h:
8376         * gst/base/gstbasesrc.h:
8377         * gst/base/gstbasetransform.h:
8378         * gst/base/gstcollectpads.h:
8379         * gst/base/gstpushsrc.h:
8380         * gst/gstiterator.h:
8381           Add padding to our base elements' class and instance structs and
8382           to GstIterator (you will need to rebuild all plugins and apps!)
8383
8384 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8385
8386         * gst/gstbin.c: (bin_bus_handler):
8387           Make default message forwarding from child->bus to bin->bus
8388           threadsafe and make it not emit warnings if the parent has no bus.
8389
8390 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8391
8392         * gst/gstelement.c: (activate_pads):
8393           On paused->ready, set pad->caps to NULL, as is the documented
8394           behaviour in this state change. Fixes playback of series of
8395           media files when visualization is enabled in Totem.
8396
8397 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8398
8399         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8400           Allow NULL as filter-caps (which means "any").
8401
8402 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8403
8404         * docs/libs/gstreamer-libs-sections.txt:
8405         * libs/gst/controller/gst-controller.c:
8406         * libs/gst/controller/gst-controller.h:
8407         * libs/gst/controller/gst-helper.c:
8408           adding more entries to the docs and fix small doc-bugs
8409
8410 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8411
8412         * docs/gst/gstreamer-docs.sgml:
8413         * docs/gst/gstreamer-sections.txt:
8414         * docs/gst/gstreamer.types:
8415         * docs/gst/tmpl/gstbasesink.sgml:
8416         * docs/gst/tmpl/gstbasesrc.sgml:
8417         * docs/gst/tmpl/gstbasetransform.sgml:
8418         * docs/gst/tmpl/gstfakesrc.sgml:
8419         * gst/base/gstcollectpads.c:
8420         * gst/base/gstcollectpads.h:
8421         * libs/gst/controller/gst-controller.c:
8422         * libs/gst/controller/gst-controller.h:
8423         * libs/gst/controller/gst-helper.c:
8424         * libs/gst/controller/gst-interpolation.c:
8425         * libs/gst/controller/lib.c:
8426           added long/short desc for controller docs
8427           added collectpads base class docs
8428           added correct includes to base-class docs
8429
8430 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8431
8432         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8433         (gst_test_mono_source_set_property),
8434         (gst_test_mono_source_class_init), (GST_START_TEST),
8435         (gst_controller_suite):
8436         * docs/gst/gstreamer-docs.sgml:
8437         * docs/gst/gstreamer-sections.txt:
8438         * docs/gst/gstreamer.types:
8439         * docs/libs/gstreamer-libs-docs.sgml:
8440         * docs/libs/gstreamer-libs-sections.txt:
8441         * gst/base/gstadapter.c:
8442         * libs/gst/controller/gst-controller.c:
8443         (gst_controlled_property_new), (gst_controlled_property_free),
8444         (gst_controller_new_valist),
8445         (gst_controller_remove_properties_valist),
8446         (gst_controller_sink_values), (_gst_controller_finalize):
8447         * libs/gst/controller/gst-controller.h:
8448         * libs/gst/controller/gst-helper.c:
8449         (gst_object_control_properties), (gst_object_uncontrol_properties),
8450         (gst_object_get_controller), (gst_object_set_controller),
8451         (gst_object_sink_values), (gst_object_get_value_arrays),
8452         (gst_object_get_value_array):
8453           more tests (and fixes) for the controller
8454           more docs for the controller
8455           integrated companies docs for the adapter 
8456
8457 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8460         (GST_START_TEST), (fakesrc_suite):
8461           add tests for sizetype
8462
8463 2005-08-04  Andy Wingo  <wingo@pobox.com>
8464
8465         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8466         fixes buffer_alloc proxying among other things.
8467
8468         * gst/base/gstbasetransform.c:
8469         * gst/base/gstbasetransform.h:
8470         Revert patch to gstbasetransform from 7-28 removing
8471         delay_configure.
8472
8473         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8474         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8475         Semantics changed, should return not the size of the output buffer
8476         but the byte size of a buffer with a given caps.
8477
8478         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8479         debug object.
8480         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8481         out) are not the pad caps until setcaps finishes.
8482         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8483         not-in-place case as well. Deal with changing from in-place to
8484         not-in-place within calling pad_alloc_buffer. Still a bit
8485         concerned about the overhead here...
8486
8487 2005-08-03  Andy Wingo  <wingo@pobox.com>
8488
8489         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8490         fixating is an error.
8491
8492 2005-08-04  Edward Hervey  <edward@fluendo.com>
8493
8494         * gst/base/gstadapter.h: 
8495         Added gst_adapter_get_type() to the header
8496
8497 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8498
8499         * check/Makefile.am:
8500         * check/gst-libs/controller.c:
8501         * libs/gst/controller/gst-controller.c:
8502         (gst_controller_new_valist):
8503           added check test suite for the controller
8504         * gst/base/gstpushsrc.c:
8505           fixed a doc typo
8506
8507 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8508
8509         * docs/gst/Makefile.am:
8510         * docs/gst/gstreamer-docs.sgml:
8511         * docs/gst/gstreamer-sections.txt:
8512         * docs/gst/gstreamer.types:
8513         * docs/gst/tmpl/gstfakesrc.sgml:
8514         * gst/base/README:
8515         * gst/base/gstbasesink.c:
8516         * gst/base/gstbasesink.h:
8517         * gst/base/gstbasesrc.c:
8518         * gst/base/gstbasesrc.h:
8519         * gst/base/gstbasetransform.c:
8520         * gst/base/gstpushsrc.c:
8521         * gst/base/gstpushsrc.h:
8522           add short/long description docs to base classes
8523           add pushsrc to the docs
8524           remove consolidated doc fragments
8525
8526 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8527
8528         * configure.ac:
8529         * docs/libs/Makefile.am:
8530         * docs/libs/gstreamer-libs-docs.sgml:
8531         * docs/libs/gstreamer-libs-sections.txt:
8532         * docs/libs/gstreamer-libs.types:
8533         * examples/Makefile.am:
8534         * examples/controller/.cvsignore:
8535         * examples/controller/Makefile.am:
8536         * examples/controller/audio-example.c: (main):
8537         * libs/gst/Makefile.am:
8538         * libs/gst/controller/.cvsignore:
8539         * libs/gst/controller/Makefile.am:
8540         * libs/gst/controller/gst-controller.c:
8541         (on_object_controlled_property_changed), (gst_timed_value_compare),
8542         (gst_timed_value_find),
8543         (gst_controlled_property_set_interpolation_mode),
8544         (gst_controlled_property_new), (gst_controlled_property_free),
8545         (gst_controller_find_controlled_property),
8546         (gst_controller_new_valist), (gst_controller_new),
8547         (gst_controller_remove_properties_valist),
8548         (gst_controller_remove_properties), (gst_controller_set),
8549         (gst_controller_set_from_list), (gst_controller_unset),
8550         (gst_controller_get), (gst_controller_get_all),
8551         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8552         (gst_controller_get_value_array),
8553         (gst_controller_set_interpolation_mode),
8554         (_gst_controller_finalize), (_gst_controller_init),
8555         (_gst_controller_class_init), (gst_controller_get_type):
8556         * libs/gst/controller/gst-controller.h:
8557         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8558         (g_object_uncontrol_properties), (g_object_get_controller),
8559         (g_object_set_controller), (g_object_sink_values),
8560         (g_object_get_value_arrays), (g_object_get_value_array):
8561         * libs/gst/controller/gst-interpolation.c:
8562         (gst_controlled_property_find_timed_value_node),
8563         (interpolate_none_get), (interpolate_trigger_get),
8564         (interpolate_trigger_get_value_array):
8565         * libs/gst/controller/lib.c: (gst_controller_init):
8566         * pkgconfig/Makefile.am:
8567         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8568         * pkgconfig/gstreamer-control.pc.in:
8569         * testsuite/Makefile.am:
8570         * testsuite/controller/.cvsignore:
8571         * testsuite/controller/Makefile.am:
8572         * testsuite/controller/interpolator.c: (main):
8573           added controller code
8574           removed dparam pc files
8575
8576 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8577         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8578         (gst_collectpads_stop):
8579           Broadcast the condition when shutting down, to make sure we wake all
8580           threads up. Shut down pads on finalize, for safety.
8581
8582 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8583         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8584         (gst_base_transform_handle_buffer),
8585         (gst_base_transform_change_state):
8586           Handle PAUSED->READY->PAUSED transition after negotiation
8587           occurred already.
8588         * gst/gstmessage.c: (gst_message_init):
8589           Extra piece of debug for new messages.
8590
8591 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8592
8593         * configure.ac:
8594         * docs/gst/tmpl/gstbasesrc.sgml:
8595         * docs/gst/tmpl/gstelement.sgml:
8596         * docs/gst/tmpl/gstevent.sgml:
8597         * docs/gst/tmpl/gstfakesrc.sgml:
8598         * docs/gst/tmpl/gstformat.sgml:
8599         * docs/gst/tmpl/gstghostpad.sgml:
8600         * docs/gst/tmpl/gstpad.sgml:
8601         * docs/gst/tmpl/gstquery.sgml:
8602         * docs/gst/tmpl/gststructure.sgml:
8603         * docs/gst/tmpl/gsttaglist.sgml:
8604         * docs/gst/tmpl/gstvalue.sgml:
8605         * docs/libs/gstreamer-libs-docs.sgml:
8606         * docs/libs/gstreamer-libs-sections.txt:
8607         * docs/libs/gstreamer-libs.types:
8608         * libs/gst/Makefile.am:
8609         * libs/gst/control/.cvsignore:
8610         * libs/gst/control/Makefile.am:
8611         * libs/gst/control/control.c:
8612         * libs/gst/control/control.h:
8613         * libs/gst/control/dparam.c:
8614         * libs/gst/control/dparam.h:
8615         * libs/gst/control/dparam_smooth.c:
8616         * libs/gst/control/dparam_smooth.h:
8617         * libs/gst/control/dparamcommon.h:
8618         * libs/gst/control/dparammanager.c:
8619         * libs/gst/control/dparammanager.h:
8620         * libs/gst/control/dplinearinterp.c:
8621         * libs/gst/control/dplinearinterp.h:
8622         * libs/gst/control/unitconvert.c:
8623         * libs/gst/control/unitconvert.h:
8624         * testsuite/Makefile.am:
8625         * testsuite/dynparams/.cvsignore:
8626         * testsuite/dynparams/Makefile.am:
8627         * testsuite/dynparams/dparamstest.c:
8628         * tools/Makefile.am:
8629         * tools/gst-inspect.c: (print_element_info), (main):
8630         * tools/gst-xmlinspect.c: (print_element_info), (main):
8631           deactivate and remove dparams (libgstcontrol)
8632
8633 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8634
8635         * gst/elements/gsttypefindelement.c:
8636         (gst_type_find_element_have_type), (gst_type_find_element_init),
8637         (stop_typefinding), (gst_type_find_element_handle_event),
8638         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8639         * gst/elements/gsttypefindelement.h:
8640           Set caps on all outgoing buffers, not just the first one.
8641
8642 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8643
8644         * gst/elements/gsttypefindelement.c:
8645         (gst_type_find_element_have_type),
8646         (gst_type_find_element_check_set_buffer_caps),
8647         (gst_type_find_element_init), (stop_typefinding),
8648         (gst_type_find_element_handle_event),
8649         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8650         * gst/elements/gsttypefindelement.h:
8651           Set caps on first outgoing buffer when we've found the type.
8652
8653 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8654
8655         * docs/gst/gstreamer-docs.sgml:
8656         * docs/gst/gstreamer-sections.txt:
8657         * docs/gst/tmpl/gstscheduler.sgml:
8658         * docs/gst/tmpl/gstschedulerfactory.sgml:
8659           Remove some old cruft from docs.
8660
8661 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8662
8663         * gst/gstpad.h:
8664           Fix inline docs for GstPadLinkReturn.
8665           
8666         * gst/gststructure.c: (gst_structure_has_name):
8667         * gst/gststructure.h:
8668         * docs/gst/gstreamer-sections.txt:
8669           New API: gst_structure_has_name().
8670
8671 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * configure.ac:
8674           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8675           and _LARGEFILE_SOURCE in config.h as required. Do not 
8676           export those flags in our .pc files any longer (#142209).
8677
8678           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8679
8680         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8681         (gst_file_sink_do_seek), (gst_file_sink_event),
8682         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8683           Redo seek/tell calls with large file support in mind; add some
8684           debugging messages; add log message that tells us when large
8685           file support is unavailable or not enabled for some reason.
8686
8687         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8688           Add log message that tells us when large file support 
8689           is unavailable or not enabled for some reason.
8690
8691 2005-07-29  Wim Taymans  <wim@fluendo.com>
8692
8693         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8694         Added test for removing an element with ghostpad from a bin.
8695         Fixed test as current implementation does the right thing.
8696
8697         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8698         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8699         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8700         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8701         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8702         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8703         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8704         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8705         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8706         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8707         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8708         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8709         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8710         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8711         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8712         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8713         * gst/gstghostpad.h:
8714         Clean up ghostpads, remove properties for internal stuff.
8715         Make threadsafe.
8716         Fix refcounting.
8717         Prepare for switching targets, not all use cases work yet.
8718
8719 2005-07-29  Wim Taymans  <wim@fluendo.com>
8720
8721         * docs/design/part-gstghostpad.txt:
8722         Small update.
8723
8724         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8725         (gst_bin_remove_func):
8726         Unlinking pads while holding the bin LOCK is not a good
8727         idea.
8728
8729         * gst/gstpad.c: (gst_pad_class_init),
8730         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8731         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8732         No prob setting template after creating the pad.
8733
8734 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8735
8736         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8737         (gst_bus_peek), (gst_bus_source_dispatch),
8738         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8739         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8740           gst_bus_poll may be called from other threads. Handle
8741           this nicely by not making poll_data disappear off the
8742           stack once gst_bus_poll returns.
8743           gst_bus_peek now increments the refcount on the returned
8744           message.
8745
8746 2005-07-29  Wim Taymans  <wim@fluendo.com>
8747
8748         * docs/design/part-gstghostpad.txt:
8749         Overview of current GhostPad datastructures and use
8750         cases for changing the target.
8751
8752 2005-07-28  Wim Taymans  <wim@fluendo.com>
8753
8754         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8755         Added checks for hierarchy consistency whan adding linked
8756         elements to bins.
8757
8758         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8759         Added check to test element scheduling without bin/pipeline.
8760
8761         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8762         First add elements to bin, then link.
8763         
8764         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8765         (gst_bin_remove_func):
8766         Unlink pads from elements added/removed from bin to maintain
8767         hierarchy consistency.
8768
8769 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8770
8771         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8772         (gst_base_transform_handle_buffer):
8773         * gst/base/gstbasetransform.h:
8774           Remove broken delay_configure (fixes renegotiation of software
8775           scaling pipelines); remove some leftover printf()s.
8776
8777 2005-07-28  Wim Taymans  <wim@fluendo.com>
8778
8779         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8780         Added some more tests for wrong hierarchy
8781
8782         * docs/design/part-overview.txt:
8783         Some updates.
8784
8785         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8786         Cleanups.
8787
8788         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8789         (gst_element_dispose):
8790         Some more cleanups.
8791
8792         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8793         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8794         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8795         (gst_pad_set_caps), (gst_pad_send_event):
8796         Check for correct hierarchy when linking pads. Moving to
8797         strict requirement for ghostpads when linking elements in
8798         different bins.
8799
8800         * gst/gstpad.h:
8801         Clean ups. Added WRONG_HIERARCHY return value.
8802
8803 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8804
8805         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8806           Better debug if no transform is possible.
8807
8808 2005-07-27  Wim Taymans  <wim@fluendo.com>
8809
8810         * docs/random/wtay/network-transp:
8811         Some old doc I had.
8812
8813 2005-07-27  Wim Taymans  <wim@fluendo.com>
8814
8815         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8816         (gst_dp_event_from_packet):
8817         Fix serialization of seek events.
8818
8819 2005-07-27  Wim Taymans  <wim@fluendo.com>
8820
8821         * check/gst-libs/gdp.c: (GST_START_TEST):
8822         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8823         Fix compilation and fix event serialization.
8824
8825 2005-07-27  Wim Taymans  <wim@fluendo.com>
8826
8827         * CHANGES-0.9:
8828         * docs/design/part-TODO.txt:
8829         * docs/design/part-events.txt:
8830         Some docs updates
8831
8832         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8833         (gst_base_sink_event), (gst_base_sink_do_sync),
8834         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8835         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8836         (gst_base_src_do_seek), (gst_base_src_event_handler),
8837         (gst_base_src_loop):
8838         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8839         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8840         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8841         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8842         (gst_base_transform_set_passthrough),
8843         (gst_base_transform_is_passthrough):
8844         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8845         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8846         Event updates.
8847
8848         * gst/gstbuffer.h:
8849         Use faster casts.
8850
8851         * gst/gstelement.c: (gst_element_seek):
8852         * gst/gstelement.h:
8853         Update gst_element_seek.
8854
8855         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8856         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8857         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8858         (gst_event_new_eos), (gst_event_new_newsegment),
8859         (gst_event_parse_newsegment), (gst_event_new_tag),
8860         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8861         (gst_event_parse_qos), (gst_event_new_seek),
8862         (gst_event_parse_seek), (gst_event_new_navigation):
8863         * gst/gstevent.h:
8864         Make GstEvent use GstStructure. Add parsing code, make sure the
8865         API is sufficiently generic.
8866         Mark possible directions of events and serialization.
8867
8868         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8869         (_gst_message_copy), (gst_message_new_segment_start),
8870         (gst_message_new_segment_done), (gst_message_new_custom),
8871         (gst_message_parse_segment_start),
8872         (gst_message_parse_segment_done):
8873         Small cleanups.
8874
8875         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8876         (gst_pad_set_caps), (gst_pad_send_event):
8877         Update for new events. 
8878         Catch events sent in wrong directions.
8879
8880         * gst/gstqueue.c: (gst_queue_link_src),
8881         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8882         (gst_queue_handle_src_query):
8883         Event updates.
8884
8885         * gst/gsttag.c:
8886         * gst/gsttag.h:
8887         Remove event code from this file.
8888
8889         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8890         (gst_dp_event_from_packet):
8891         Event updates.
8892
8893 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8894
8895         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8896         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8897         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8898           Make debugging actually useful.
8899
8900 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8901
8902         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8903         (gst_pad_fixate_caps):
8904           Implement default fixation once again, so that gst_pad_fixate()
8905           actually does anything at all. This probably needs to be some
8906           sort of a last resort, and use profile-based fixation first, but
8907           since that doesn't exist yet, this is the best we have. Fixes
8908           visualization in Totem.
8909
8910 2005-07-22  Wim Taymans  <wim@fluendo.com>
8911
8912         * docs/design/part-events.txt:
8913         Small update.
8914
8915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8916         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8917         (gst_base_sink_activate_pull):
8918         Some more comments.
8919
8920         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8921         (gst_fake_src_create):
8922         Fix handoff marshall.
8923
8924         * gst/elements/gstidentity.c: (gst_identity_class_init),
8925         (gst_identity_transform_ip):
8926         We're a real inplace element.
8927
8928         * gst/gstbus.c: (gst_bus_post):
8929         Added some comments.
8930
8931         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8932         * tests/muxing/case1.c: (main):
8933         * tests/sched/dynamic-pipeline.c: (main):
8934         * tests/sched/interrupt1.c: (main):
8935         * tests/sched/interrupt2.c: (main):
8936         * tests/sched/interrupt3.c: (main):
8937         * tests/sched/runxml.c: (main):
8938         * tests/sched/sched-stress.c: (main):
8939         * tests/seeking/seeking1.c: (event_received), (main):
8940         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8941         (main):
8942         * tests/threadstate/threadstate3.c: (main):
8943         * tests/threadstate/threadstate4.c: (main):
8944         * tests/threadstate/threadstate5.c: (main):
8945         Fix the tests.
8946
8947 2005-07-21  Wim Taymans  <wim@fluendo.com>
8948
8949         * docs/design/part-seeking.txt:
8950         Some small additions.
8951
8952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8953         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8954         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8955         * gst/base/gstbasesink.h:
8956         discont values are gint64, handle the math correctly.
8957
8958         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8959         Make the basesrc report error if the source pad is not linked.
8960
8961         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8962         (gst_queue_loop), (gst_queue_handle_src_query),
8963         (gst_queue_src_activate_push):
8964         Make queue collect data even if the srcpad is not linked.
8965         Start pushing out data as soon as it is linked.
8966
8967         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8968         * gst/gstutils.h:
8969         Added gst_flow_get_name() to ease error reporting.
8970
8971 2005-07-20  Wim Taymans  <wim@fluendo.com>
8972
8973         * gst/gstmessage.c: (gst_message_new_segment_start),
8974         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8975         (gst_message_parse_segment_done):
8976         * gst/gstmessage.h:
8977         Added a bunch of messages for advanced seeking.
8978
8979         * gst/parse/grammar.y:
8980         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8981         (gst_dpman_state_changed):
8982         Fix some new-pad -> pad-added signals
8983
8984 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8985
8986         * docs/manual/appendix-porting.xml:
8987         * docs/pwg/appendix-porting.xml:
8988           Document new-pad/state-change signal renames and the FixedList
8989           type rename.
8990
8991 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8992
8993         * docs/manual/advanced-autoplugging.xml:
8994         * docs/manual/basics-helloworld.xml:
8995         * docs/manual/basics-pads.xml:
8996         * docs/random/ds/0.9-suggested-changes:
8997         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8998         * gst/gstelement.h:
8999         * gst/gstevent.h:
9000         * gst/gstformat.h:
9001         * gst/gstquery.h:
9002         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9003         (gst_structure_parse_array), (gst_structure_parse_value):
9004         * gst/gstvalue.c: (gst_type_is_fixed),
9005         (gst_value_list_prepend_value), (gst_value_list_append_value),
9006         (gst_value_list_get_size), (gst_value_list_get_value),
9007         (gst_value_transform_array_string), (gst_value_serialize_array),
9008         (gst_value_deserialize_array), (gst_value_intersect_array),
9009         (gst_value_is_fixed), (_gst_value_initialize):
9010         * gst/gstvalue.h:
9011           GstElement::new-pad -> pad-added, GstElement::state-change ->
9012           state-changed, GstValueFixedList -> GstValueArray, add format and
9013           flags as their own arguments in gst_element_seek() (should improve
9014           "bindeability"), remove function generators since they don't work
9015           under a whole bunch of compilers (they were deprecated already
9016           anyway).
9017
9018 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9019
9020         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9021         (_gst_debug_register_funcptr):
9022         * gst/gstinfo.h:
9023           Fix illegal cast on some platforms (#309253).
9024
9025 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9026
9027         * gst/gstmessage.c: (gst_message_new_custom):
9028         * gst/gstmessage.h:
9029           Add _new_custom, make _new_application a macro to _new_custom.
9030
9031 2005-07-20  Wim Taymans  <wim@fluendo.com>
9032
9033         * gst/base/gstbasesrc.c: (gst_base_src_init),
9034         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9035         * gst/base/gstbasesrc.h:
9036         Add a gboolean to decide when to push out a discont.
9037
9038         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9039         (gst_queue_loop), (gst_queue_handle_src_query),
9040         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9041         (gst_queue_set_property), (gst_queue_get_property):
9042         Some cleanups.
9043
9044         * tests/threadstate/threadstate1.c: (main):
9045         Make a thread test compile and run... very silly..
9046
9047
9048 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9049
9050         * docs/manual/appendix-porting.xml:
9051           Mention removal of libgstgconf-0.9.la and existence of gconf
9052           elements.
9053
9054 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9055
9056         * docs/pwg/advanced-clock.xml:
9057         * docs/pwg/appendix-porting.xml:
9058         * docs/pwg/intro-preface.xml:
9059         * docs/pwg/other-base.xml:
9060         * docs/pwg/other-manager.xml:
9061         * docs/pwg/other-nton.xml:
9062         * docs/pwg/other-ntoone.xml:
9063         * docs/pwg/other-oneton.xml:
9064         * docs/pwg/pwg.xml:
9065           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9066           demuxer), remove n-to-n (was never written), fix some code examples
9067           and links and update the porting section to include all this.
9068
9069 2005-07-19  Wim Taymans  <wim@fluendo.com>
9070
9071         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9072         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9073         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9074         (gst_queue_src_activate_push), (gst_queue_change_state),
9075         (gst_queue_get_property):
9076         * gst/gstqueue.h:
9077         Propagate GstFlowReturn more intelligently upstream and output
9078         an ERROR/EOS when streaming stopped due to fatal error.
9079
9080 2005-07-19  Wim Taymans  <wim@fluendo.com>
9081
9082         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9083         Don't block forever for the state change to complete, the
9084         pipeline already did with a sensible timeout.
9085
9086 2005-07-19  Wim Taymans  <wim@fluendo.com>
9087
9088         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9089         Make sure we never call the create function is we
9090         got deactivated.
9091
9092 2005-07-19  Andy Wingo  <wingo@pobox.com>
9093
9094         * gst/parse/parse.l: Attempt to solve bug #172815.
9095
9096 2005-07-19  Wim Taymans  <wim@fluendo.com>
9097
9098         * docs/design/part-clocks.txt:
9099         * docs/design/part-events.txt:
9100         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9101         Small docs updates.
9102         Only update the seeking values when we are not
9103         busy streaming.
9104
9105 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9106
9107         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9108           Oops, ignore the result of gst_pad_push_event here.
9109
9110 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9111
9112         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9113         (gst_base_src_activate_push):
9114           Send discont event from the loop function, as pads
9115           aren't activated yet in the activate_push handler.
9116
9117         * gst/gstbin.c: (bin_bus_handler):
9118           Don't leak element name.
9119
9120 2005-07-18  Andy Wingo  <wingo@pobox.com>
9121
9122         * configure.ac: Use AS_LIBTOOL_TAGS.
9123
9124 2005-07-18  Wim Taymans  <wim@fluendo.com>
9125
9126         * docs/gst/gstreamer.types:
9127         Remove deleted types.
9128
9129 2005-07-18  Wim Taymans  <wim@fluendo.com>
9130
9131         * check/elements/gstfakesrc.c: (GST_START_TEST):
9132         * configure.ac:
9133         * gst/Makefile.am:
9134         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9135         (init_popt_callback):
9136         * gst/gst.h:
9137         * gst/gst_private.h:
9138         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9139         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9140         * gst/gstbin.h:
9141         * gst/gstbus.h:
9142         * gst/gstconfig.h.in:
9143         * gst/gstelement.c: (gst_element_class_init),
9144         (gst_element_set_base_time), (gst_element_get_base_time),
9145         (iterator_fold_with_resync), (gst_element_change_state),
9146         (gst_element_dispose), (gst_element_get_bus):
9147         * gst/gstelement.h:
9148         * gst/gstelementfactory.h:
9149         * gst/gsterror.c: (_gst_core_errors_init):
9150         * gst/gsterror.h:
9151         * gst/gstevent.h:
9152         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9153         * gst/gstindex.c:
9154         * gst/gstinfo.c: (_gst_debug_init):
9155         * gst/gstmessage.c: (_gst_message_copy):
9156         * gst/gstmessage.h:
9157         * gst/gstminiobject.h:
9158         * gst/gstobject.c:
9159         * gst/gstobject.h:
9160         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9161         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9162         * gst/gstpad.h:
9163         * gst/gstparse.h:
9164         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9165         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9166         (gst_pipeline_get_last_stream_time):
9167         * gst/gstpipeline.h:
9168         * gst/gstpluginfeature.h:
9169         * gst/gstquery.h:
9170         * gst/gstscheduler.c:
9171         * gst/gstscheduler.h:
9172         * gst/gststructure.h:
9173         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9174         (gst_task_finalize), (gst_task_func), (gst_task_create),
9175         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9176         (gst_task_stop), (gst_task_pause):
9177         * gst/gsttask.h:
9178         * gst/gsttypefind.h:
9179         * gst/gsttypes.h:
9180         * gst/registries/gstlibxmlregistry.c: (load_feature),
9181         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9182         * gst/registries/gstxmlregistry.c:
9183         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9184         * gst/schedulers/threadscheduler.c:
9185         * libs/gst/control/dparammanager.h:
9186         * tools/gst-inspect.c: (print_element_list),
9187         (print_plugin_features), (print_element_features):
9188         * tools/gst-xmlinspect.c: (print_element_list),
9189         (print_plugin_info), (main):
9190         Removed plugable schedulers.
9191         Removed Scheduler/Manager from elements.
9192         Removed gsttypes.h, rearranged includes.
9193         Removed dependency pad<->element, element<>pipeline, and
9194         various others,  fix includes.
9195         implement gst_pad_get_parent() with gst_object_get_parent()
9196         Make GstTask sefcontained.
9197         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9198         timeout.
9199         Fix endless loop in iterator_fold_with_resync.
9200
9201
9202 2005-07-18  Wim Taymans  <wim@fluendo.com>
9203
9204         * gst/Makefile.am:
9205         * gst/gstarch.h:
9206         Remove old file.
9207
9208 2005-07-18  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/Makefile.am:
9211         No more cothreads.h
9212
9213 2005-07-18  Wim Taymans  <wim@fluendo.com>
9214
9215         * gst/cothreads.c:
9216         * gst/cothreads.h:
9217         Let's remove these.
9218
9219 2005-07-18  Wim Taymans  <wim@fluendo.com>
9220
9221         * docs/design/part-dynamic.txt:
9222         * docs/design/part-events.txt:
9223         * docs/design/part-seeking.txt:
9224         Some more docs in the works.
9225
9226         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9227         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9228         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9229         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9230         (gst_base_transform_handle_buffer),
9231         (gst_base_transform_sink_activate_push),
9232         (gst_base_transform_src_activate_pull),
9233         (gst_base_transform_set_passthrough),
9234         (gst_base_transform_is_passthrough):
9235         Refcounting fixes.
9236
9237         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9238         Cleanups.
9239
9240         * gst/gstevent.c: (gst_event_finalize):
9241         Set SRC to NULL.
9242
9243         * gst/gstutils.c: (gst_element_unlink),
9244         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9245         (gst_pad_proxy_setcaps):
9246         * gst/gstutils.h:
9247         Add _get_parent_element() to get a pads parent as an element.
9248
9249 2005-07-18  Wim Taymans  <wim@fluendo.com>
9250
9251         * check/gst/gstbin.c: (GST_START_TEST):
9252         Remove bogus test.
9253
9254 2005-07-18  Wim Taymans  <wim@fluendo.com>
9255
9256         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9257         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9258         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9259         (gst_base_sink_event), (gst_base_sink_do_sync),
9260         (gst_base_sink_chain), (gst_base_sink_loop),
9261         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9262         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9263         Refcounting fixes.
9264         Fix logic for returning ASYNC when not prerolled.
9265
9266 2005-07-18  Wim Taymans  <wim@fluendo.com>
9267
9268         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9269         Fix nasty refcount bug.
9270
9271 2005-07-16 Philippe Khalaf <burger@speedy.org>
9272
9273         * gst/elements/gstfdsrc.c:
9274         * gst/elements/gstfdsrc.h:
9275         * gst/elements/gstelements.c:
9276         * gst/elements/Makefile.am:
9277         Ported fdsrc to 0.9.
9278
9279 2005-07-16  Wim Taymans  <wim@fluendo.com>
9280
9281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9282         (gst_base_sink_do_sync):
9283         Fix compile error.
9284
9285 2005-07-16  Wim Taymans  <wim@fluendo.com>
9286
9287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9288         (gst_base_sink_event), (gst_base_sink_get_times),
9289         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9290         * gst/base/gstbasesink.h:
9291         Store and use discont values when syncing buffers as described
9292         in design docs.
9293         
9294         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9295         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9296         (gst_base_src_activate_push):
9297         Push discont event when starting.
9298
9299         * gst/elements/gstidentity.c: (gst_identity_transform):
9300         Small cleanups.
9301
9302         * gst/gstbin.c: (gst_bin_change_state):
9303         Small cleanups in base_time  distribution.
9304
9305         * gst/gstelement.c: (gst_element_set_base_time),
9306         (gst_element_get_base_time), (gst_element_change_state):
9307         * gst/gstelement.h:
9308         Added methods for the base_time of the element.
9309         Some MT fixes.
9310
9311         * gst/gstpipeline.c: (gst_pipeline_send_event),
9312         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9313         (gst_pipeline_get_last_stream_time):
9314         * gst/gstpipeline.h:
9315         MT fixes.
9316         Handle seeking as described in design doc, remove stream_time
9317         hack.
9318         Cleanups clock and stream_time selection code. Added accessors
9319         for the stream_time.
9320         
9321
9322 2005-07-16  Andy Wingo  <wingo@pobox.com>
9323
9324         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9325         (#305291).
9326
9327 2005-07-16  Wim Taymans  <wim@fluendo.com>
9328
9329         * check/gst/gstbin.c: (GST_START_TEST):
9330         Make elements silent as the deep_notify refs the
9331         parent, which might make the test fail.
9332
9333         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9334         Don't hold the lock for too long.
9335
9336 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9337
9338         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9339           Don't unref the caps we passed to gst_caps_make_writable() after
9340           passing them. gst_caps_make_writable() will do that for us.
9341
9342 2005-07-15  Andy Wingo  <wingo@pobox.com>
9343
9344         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9345         (#157311).
9346
9347         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9348         own marshalling function for the handoff signal. Properly type the
9349         buffer as a buffer. Fixes some warnings. Should do a more general
9350         solution.
9351         (gst_identity_class_init): Plug into the right marshaller.
9352
9353 2005-07-15  Wim Taymans  <wim@fluendo.com>
9354
9355         * docs/design/part-TODO.txt:
9356         * docs/design/part-clocks.txt:
9357         * docs/design/part-element-sink.txt:
9358         * docs/design/part-events.txt:
9359         * docs/design/part-gstpipeline.txt:
9360         Updated docs, mostly DISCONT related.
9361
9362 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9363
9364         * docs/pwg/building-pads.xml:
9365           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9366
9367 2005-07-15  Andy Wingo  <wingo@pobox.com>
9368
9369         * tools/gst-typefind.c: Update, add copyright block.
9370
9371         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9372         Normalize and truncate caps before fixation.
9373
9374         * gst/gstcaps.h:
9375         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9376         discards all but the first structure from its argument.
9377
9378 2005-07-15  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9381         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9382         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9383         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9384         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9385         (gst_base_transform_chain), (gst_base_transform_change_state),
9386         (gst_base_transform_set_passthrough),
9387         (gst_base_transform_is_passthrough):
9388         * gst/base/gstbasetransform.h:
9389         Make passthrough work using the bufferpools.
9390         Changed API a bit, subclasses have to write into a buffer
9391         provided by the base class.
9392         More debug info in nego functions.
9393         
9394         * gst/elements/gstidentity.c: (gst_identity_init),
9395         (gst_identity_transform):
9396         Port to new base class.
9397
9398 2005-07-15  Wim Taymans  <wim@fluendo.com>
9399
9400         * gst/gstmessage.c: (gst_message_new_state_changed):
9401         * tools/gst-launch.c: (event_loop), (main):
9402         Totally dump messages in -launch with the -m option.
9403         Fix message name for State messages,
9404
9405 2005-07-14  Wim Taymans  <wim@fluendo.com>
9406
9407         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9408         Post error messages on errors.
9409
9410 2005-07-14  Wim Taymans  <wim@fluendo.com>
9411
9412         * gst/gstcaps.c: (gst_caps_do_simplify):
9413         Remove debug info.
9414
9415         * gst/gsterror.h:
9416         Define error for stream stopped.
9417
9418         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9419         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9420         Do proper return values.
9421
9422         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9423         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9424         (gst_pad_get_range):
9425         Better return values.
9426
9427         * gst/gstpad.h:
9428         Reorganise return values, add macro to check for fatal errors.
9429
9430         * gst/gstqueue.c: (gst_queue_chain):
9431         Return proper GstFlowReturn values,
9432
9433 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * docs/gst/gstreamer-sections.txt:
9436         * docs/gst/gstreamer.types:
9437         * docs/gst/tmpl/gst.sgml:
9438         * docs/gst/tmpl/gstbasesink.sgml:
9439         * docs/gst/tmpl/gstbasesrc.sgml:
9440         * docs/gst/tmpl/gstbasetransform.sgml:
9441         * docs/gst/tmpl/gstbin.sgml:
9442         * docs/gst/tmpl/gstbuffer.sgml:
9443         * docs/gst/tmpl/gstcaps.sgml:
9444         * docs/gst/tmpl/gstclock.sgml:
9445         * docs/gst/tmpl/gstcompat.sgml:
9446         * docs/gst/tmpl/gstconfig.sgml:
9447         * docs/gst/tmpl/gstelement.sgml:
9448         * docs/gst/tmpl/gstelementdetails.sgml:
9449         * docs/gst/tmpl/gstelementfactory.sgml:
9450         * docs/gst/tmpl/gstenumtypes.sgml:
9451         * docs/gst/tmpl/gsterror.sgml:
9452         * docs/gst/tmpl/gstevent.sgml:
9453         * docs/gst/tmpl/gstfakesink.sgml:
9454         * docs/gst/tmpl/gstfakesrc.sgml:
9455         * docs/gst/tmpl/gstfilesink.sgml:
9456         * docs/gst/tmpl/gstfilesrc.sgml:
9457         * docs/gst/tmpl/gstfilter.sgml:
9458         * docs/gst/tmpl/gstformat.sgml:
9459         * docs/gst/tmpl/gstghostpad.sgml:
9460         * docs/gst/tmpl/gstimplementsinterface.sgml:
9461         * docs/gst/tmpl/gstindex.sgml:
9462         * docs/gst/tmpl/gstindexfactory.sgml:
9463         * docs/gst/tmpl/gstinfo.sgml:
9464         * docs/gst/tmpl/gstiterator.sgml:
9465         * docs/gst/tmpl/gstmacros.sgml:
9466         * docs/gst/tmpl/gstmemchunk.sgml:
9467         * docs/gst/tmpl/gstminiobject.sgml:
9468         * docs/gst/tmpl/gstobject.sgml:
9469         * docs/gst/tmpl/gstpad.sgml:
9470         * docs/gst/tmpl/gstpadtemplate.sgml:
9471         * docs/gst/tmpl/gstparse.sgml:
9472         * docs/gst/tmpl/gstpipeline.sgml:
9473         * docs/gst/tmpl/gstplugin.sgml:
9474         * docs/gst/tmpl/gstpluginfeature.sgml:
9475         * docs/gst/tmpl/gstquery.sgml:
9476         * docs/gst/tmpl/gstqueue.sgml:
9477         * docs/gst/tmpl/gstregistry.sgml:
9478         * docs/gst/tmpl/gstregistrypool.sgml:
9479         * docs/gst/tmpl/gstscheduler.sgml:
9480         * docs/gst/tmpl/gstschedulerfactory.sgml:
9481         * docs/gst/tmpl/gststructure.sgml:
9482         * docs/gst/tmpl/gstsystemclock.sgml:
9483         * docs/gst/tmpl/gsttaglist.sgml:
9484         * docs/gst/tmpl/gsttagsetter.sgml:
9485         * docs/gst/tmpl/gsttrace.sgml:
9486         * docs/gst/tmpl/gsttrashstack.sgml:
9487         * docs/gst/tmpl/gsttypefind.sgml:
9488         * docs/gst/tmpl/gsttypefindfactory.sgml:
9489         * docs/gst/tmpl/gsttypes.sgml:
9490         * docs/gst/tmpl/gsturihandler.sgml:
9491         * docs/gst/tmpl/gsturitype.sgml:
9492         * docs/gst/tmpl/gstutils.sgml:
9493         * docs/gst/tmpl/gstvalue.sgml:
9494         * docs/gst/tmpl/gstversion.sgml:
9495         * docs/gst/tmpl/gstxml.sgml:
9496         * docs/libs/tmpl/gstcontrol.sgml:
9497         * docs/libs/tmpl/gstdataprotocol.sgml:
9498         * docs/libs/tmpl/gstdparam.sgml:
9499         * docs/libs/tmpl/gstdplinint.sgml:
9500         * docs/libs/tmpl/gstdpman.sgml:
9501         * docs/libs/tmpl/gstdpsmooth.sgml:
9502         * docs/libs/tmpl/gstgetbits.sgml:
9503         * docs/libs/tmpl/gstunitconvert.sgml:
9504         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9505         (gst_push_src_base_init), (gst_push_src_class_init),
9506         (gst_push_src_init), (gst_push_src_create):
9507         * gst/base/gstpushsrc.h:
9508         * gst/elements/gstelements.c:
9509         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9510         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9511         (gst_fake_sink_init), (gst_fake_sink_set_property),
9512         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9513         (gst_fake_sink_event), (gst_fake_sink_preroll),
9514         (gst_fake_sink_render), (gst_fake_sink_change_state):
9515         * gst/elements/gstfakesink.h:
9516         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9517         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9518         (gst_fake_src_base_init), (gst_fake_src_class_init),
9519         (gst_fake_src_init), (gst_fake_src_event_handler),
9520         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9521         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9522         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9523         (gst_fake_src_create_buffer), (gst_fake_src_create),
9524         (gst_fake_src_start), (gst_fake_src_stop):
9525         * gst/elements/gstfakesrc.h:
9526         * gst/elements/gstfilesink.c: (_do_init),
9527         (gst_file_sink_base_init), (gst_file_sink_class_init),
9528         (gst_file_sink_init), (gst_file_sink_dispose),
9529         (gst_file_sink_set_location), (gst_file_sink_set_property),
9530         (gst_file_sink_get_property), (gst_file_sink_open_file),
9531         (gst_file_sink_close_file), (gst_file_sink_query),
9532         (gst_file_sink_event), (gst_file_sink_render),
9533         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9534         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9535         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9536         * gst/elements/gstfilesink.h:
9537         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9538         (gst_file_src_class_init), (gst_file_src_init),
9539         (gst_file_src_finalize), (gst_file_src_set_location),
9540         (gst_file_src_set_property), (gst_file_src_get_property),
9541         (gst_file_src_map_region), (gst_file_src_map_small_region),
9542         (gst_file_src_create_mmap), (gst_file_src_create_read),
9543         (gst_file_src_create), (gst_file_src_is_seekable),
9544         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9545         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9546         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9547         (gst_file_src_uri_handler_init):
9548         * gst/elements/gstfilesrc.h:
9549           more autistic cleanliness in functions/names/defines
9550
9551 2005-07-13  Andy Wingo  <wingo@pobox.com>
9552
9553         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9554         source couldn't negotiate.
9555
9556         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9557         connections again.
9558
9559         * gst/gstutils.h:
9560         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9561         function. I am channeling Hades. Put your boots on suckers!!!
9562
9563 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9564
9565         * testsuite/caps/Makefile.am:
9566         * testsuite/caps/value_compare.c:
9567         * testsuite/caps/value_intersect.c:
9568         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9569           move two testsuite apps over to the check dir
9570
9571 2005-07-12  Wim Taymans  <wim@fluendo.com>
9572
9573         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9574         Added more debug info in the negotiate process.
9575
9576         * gst/gstmessage.h:
9577         Prepare for segment playback.
9578
9579         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9580         Better debugging.
9581
9582         * gst/gstutils.c:
9583         Some more docs.
9584
9585         * tools/gst-launch.c: (main):
9586         NULL pipeline on errors.
9587
9588 2005-07-12  Andy Wingo  <wingo@pobox.com>
9589
9590         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9591         not it comes from a malloc region. Make sure our copy gets freed.
9592
9593 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9594
9595         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9596         * check/gst/gstmessage.c: (GST_START_TEST):
9597         * check/gst/gststructure.c: (GST_START_TEST),
9598         (gst_structure_suite), (main):
9599           more testing
9600         * gst/gstelement.c: (gst_element_message_full):
9601           clean up GError and debug string now that they get copied
9602         * gst/gstmessage.c: (gst_message_new_error),
9603         (gst_message_new_warning), (gst_message_parse_error),
9604         (gst_message_parse_warning):
9605           use GST_TYPE_G_ERROR for structure_new, and take copies of
9606           arguments, so that we don't mess up refcounting
9607
9608 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * check/Makefile.am:
9611           add per-test valgrind targets
9612         * check/gst-libs/gdp.c: (GST_START_TEST),
9613         (gst_data_protocol_suite), (main):
9614           clean up
9615
9616 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * check/Makefile.am:
9619           instate more valgrindable tests
9620         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9621         (GST_START_TEST), (fakesrc_suite):
9622         * check/gst/gstpad.c: (GST_START_TEST):
9623         * check/gst/gststructure.c: (GST_START_TEST):
9624           fix test leaks
9625         * docs/gst/tmpl/gstminiobject.sgml:
9626         * gst/gstpad.c: (gst_pad_finalize):
9627           fix the static mutex leak
9628
9629 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * check/Makefile.am:
9632           add two more tests for valgrinding
9633         * check/gst/gstvalue.c: (GST_START_TEST):
9634           test refcount of deserialized buffer, found a leak
9635         * docs/gst/gstreamer-docs.sgml:
9636         * docs/gst/gstreamer-sections.txt:
9637         * docs/gst/gstreamer.types:
9638         * docs/gst/tmpl/gstminiobject.sgml:
9639           add miniobject to docs
9640         * gst/gstminiobject.c:
9641           add some docs
9642         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9643         (gst_string_unwrap):
9644           fix a hard-to-find invalid write for one of the tests
9645           fix a leak for deserialized buffers
9646
9647 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9648
9649         * docs/pwg/advanced-events.xml:
9650         * docs/pwg/advanced-request.xml:
9651         * docs/pwg/advanced-scheduling.xml:
9652         * docs/pwg/appendix-porting.xml:
9653         * docs/pwg/building-boiler.xml:
9654         * docs/pwg/intro-preface.xml:
9655         * docs/pwg/other-ntoone.xml:
9656           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9657           of example code and explanation for pad activation, loop() and
9658           getrange() functions and a bit more. Remove old comments pointing
9659           to loop-functions.
9660         * examples/pwg/Makefile.am:
9661           Add loop/getrange examples.
9662
9663 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * configure.ac:
9666           check for valgrind binary + some fixes
9667         * check/gst.supp:
9668           valgrind suppressions for the tests
9669         * check/Makefile.am:
9670           add a valgrind: target that valgrinds the unit tests
9671         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9672         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9673         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9674         * check/gst/gstghostpad.c:
9675           added some cleanup
9676         * check/gst/gstdata.c:
9677           removed
9678         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9679         (thread_unref), (gst_mini_object_suite), (main):
9680           added
9681         * gst/gst.c: (gst_deinit):
9682         * gst/gst.h:
9683           add a method to clean up.
9684         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9685         (gst_system_clock_obtain):
9686           allow for disposing the system clock.
9687         * tools/gst-launch.c: (main):
9688           deinit
9689
9690 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * docs/gst/tmpl/gstbasesrc.sgml:
9693         * docs/gst/tmpl/gstfakesrc.sgml:
9694         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9695         (gst_base_src_init), (gst_base_src_set_property),
9696         (gst_base_src_get_property), (gst_base_src_get_range),
9697         (gst_base_src_start):
9698         * gst/base/gstbasesrc.h:
9699           add num-buffers property
9700         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9701         (gst_fakesrc_init), (gst_fakesrc_set_property),
9702         (gst_fakesrc_get_property), (gst_fakesrc_create),
9703         (gst_fakesrc_start):
9704           remove num-buffers property
9705
9706 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9707
9708         * docs/gst/gstreamer-sections.txt:
9709         * docs/gst/tmpl/gstbasesink.sgml:
9710         * docs/gst/tmpl/gstbasesrc.sgml:
9711         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9712         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9713         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9714         (gst_base_sink_set_property), (gst_base_sink_get_property),
9715         (gst_base_sink_handle_object), (gst_base_sink_event),
9716         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9717         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9718         (gst_base_sink_loop), (gst_base_sink_deactivate),
9719         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9720         (gst_base_sink_change_state):
9721         * gst/base/gstbasesink.h:
9722         * gst/base/gstbasesrc.h:
9723         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9724         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9725         (gst_filesink_init):
9726           more macro splitting
9727
9728 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9729
9730         * gst/gstelement.c: (gst_element_get_bus):
9731           add debug
9732         * tools/gst-launch.c: (check_intr), (event_loop):
9733           fix bus leaks
9734
9735 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9736
9737         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9738           fix a caps leak
9739
9740 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9741
9742         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9743         (gst_base_src_finalize):
9744           add finalize method and clean up properly
9745         * gst/gstpipeline.c: (gst_pipeline_dispose):
9746           add debug
9747
9748 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9751         (gst_bin_suite):
9752           add more things to check
9753         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9754         * gst/gstelement.c:
9755           more debug
9756
9757 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9758
9759         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9760         (GST_START_TEST), (fakesrc_suite):
9761         * check/gst-libs/gdp.c: (GST_START_TEST):
9762         * check/gst/gst.c: (GST_START_TEST):
9763         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9764         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9765         * check/gst/gstbus.c: (GST_START_TEST):
9766         * check/gst/gstcaps.c: (GST_START_TEST):
9767         * check/gst/gstdata.c: (GST_START_TEST):
9768         * check/gst/gstelement.c: (GST_START_TEST):
9769         * check/gst/gstghostpad.c: (GST_START_TEST):
9770         * check/gst/gstiterator.c: (GST_START_TEST):
9771         * check/gst/gstmessage.c: (GST_START_TEST):
9772         * check/gst/gstobject.c: (GST_START_TEST):
9773         * check/gst/gstpad.c: (GST_START_TEST):
9774         * check/gst/gststructure.c: (GST_START_TEST):
9775         * check/gst/gstsystemclock.c: (GST_START_TEST),
9776         (gst_systemclock_suite):
9777         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9778         * check/gst/gstvalue.c: (GST_START_TEST):
9779         * check/pipelines/cleanup.c: (GST_START_TEST):
9780         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9781         * check/states/sinks.c: (GST_START_TEST):
9782         * check/gstcheck.c: (gst_check_init):
9783         * check/gstcheck.h:
9784           add debugging category
9785           use GST_START_TEST now, so we add a debug line
9786
9787 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9790           add test for state change message on a bin
9791         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9792           add another test
9793         * gst/gstbin.c: (gst_bin_init):
9794         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9795         * gst/gstelement.c: (gst_element_post_message),
9796         (gst_element_set_state):
9797         * gst/gstelementfactory.c: (gst_element_factory_create):
9798         * gst/gstmessage.c: (gst_message_new):
9799         * gst/gstscheduler.c:
9800           various debugging additions and cleanups
9801
9802 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9803
9804         * check/Makefile.am:
9805         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9806         (main):
9807           adding tests for elements
9808         * gst/gstelement.c: (gst_element_dispose):
9809
9810 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * gst/registries/gstlibxmlregistry.c: (load_feature):
9813           plug more leaks.  A simple gst_init() now is leakfree, yay.
9814
9815 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9816
9817         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9818         (gst_xml_registry_load):
9819           plug another memleak
9820
9821 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * configure.ac:
9824           use GST_SET_ERROR_CFLAGS
9825         * docs/faq/cvs.xml:
9826           change to ERROR_CFLAGS
9827
9828 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * configure.ac:
9831           make GST_ERROR_CFLAGS overridable and re-enable Werror
9832         * docs/faq/cvs.xml:
9833           add a note about error CFLAGS
9834         * docs/gst/tmpl/gstfakesrc.sgml:
9835         * gst/elements/gstfakesrc.c:
9836           comment out some unused code
9837         * gst/gst.c: (split_and_iterate):
9838         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9839         (load_feature):
9840           plug some memleaks
9841
9842 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9843
9844         * common/Makefile.am:
9845         * common/gtk-doc.mak:
9846         * docs/gst/Makefile.am:
9847           factor out gtk-doc.mak
9848
9849 2005-07-07  Wim Taymans  <wim@fluendo.com>
9850
9851         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9852         (gst_thread_scheduler_dispose):
9853         Unlock the STREAM_LOCK completely.
9854
9855 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9856
9857         * check/Makefile.am:
9858         * check/elements/.cvsignore:
9859         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9860         (START_TEST), (fakesrc_suite), (main):
9861         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9862         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9863         (gst_fakesrc_create), (gst_fakesrc_start):
9864         * gst/elements/gstfakesrc.h:
9865           adding a first element test
9866
9867 2005-07-07  Andy Wingo  <wingo@pobox.com>
9868
9869         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9870         debug message.
9871
9872 2005-07-07  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gstquery.c:
9875         * gst/gstquery.h:
9876         Remove old types
9877
9878 2005-07-07  Wim Taymans  <wim@fluendo.com>
9879
9880         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9881         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9882         Allow subclasses to implement their own negotiation.
9883
9884 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9885
9886         * docs/design/part-gstbin.txt:
9887         * docs/design/part-gstpipeline.txt:
9888           Update design notes to reflect the movement of
9889           responsibility for bus handling from GstPipeline to
9890           GstBin
9891
9892 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9893
9894         * configure.ac:
9895           Remove unnecessary queue2/3/4 examples.
9896
9897 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9898
9899         * examples/Makefile.am:
9900         * examples/helloworld/helloworld.c: (event_loop), (main):
9901         * examples/queue/queue.c: (event_loop), (main):
9902         * examples/queue2/queue2.c: (main):
9903           Update a couple of the examples to work again.
9904
9905         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9906         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9907          Spelling corrections and extra debug.
9908         
9909         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9910         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9911         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9912         * gst/gstbin.h:
9913         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9914         (gst_pipeline_change_state):
9915         * gst/gstpipeline.h:
9916           Move the bus handler for children to the GstBin, and create a
9917           separate bus for receiving messages from children to the one the
9918           bus sends 'upwards' on.
9919
9920 2005-07-06  Wim Taymans  <wim@fluendo.com>
9921
9922         * gst/base/README:
9923         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9924         (gst_base_sink_handle_object), (gst_base_sink_loop),
9925         (gst_base_sink_change_state):
9926         * gst/base/gstbasesink.h:
9927         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9928         (gst_base_src_init), (gst_base_src_setcaps),
9929         (gst_base_src_getcaps), (gst_base_src_loop),
9930         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9931         (gst_base_src_start), (gst_base_src_change_state):
9932         * gst/base/gstbasesrc.h:
9933         Make basesrc negotiate.
9934         Handle the case where preroll fails in basesink.
9935         Update README.
9936
9937 2005-07-06  Wim Taymans  <wim@fluendo.com>
9938
9939         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9940         Implement the fixate function.
9941         Clean up acceptcaps.
9942
9943 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9944
9945         * docs/pwg/building-filterfactory.xml:
9946         * docs/pwg/pwg.xml:
9947           Remove never-written filter-factory chapter; I'll add the various
9948           base classes to part 4 ("other element types") later on.
9949
9950 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9951
9952         * docs/pwg/advanced-negotiation.xml:
9953         * docs/pwg/building-boiler.xml:
9954         * docs/pwg/building-pads.xml:
9955         * docs/pwg/pwg.xml:
9956         * examples/pwg/Makefile.am:
9957           Add a chapter on caps negotiation, simplify the original code
9958           samples a bit w.r.t. caps negotiation, add link to the advanced
9959           section. Add a bunch of examples showing different use cases of
9960           different types of caps negotiation. Upstream renegotiation isn't
9961           fully documented yet since nobody knows how that works.
9962
9963 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9964
9965         * check/gst/gstpad.c:
9966         * check/gstcheck.c:
9967         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9968           if pad has no parent, return NULL as list of internal links
9969
9970 2005-07-05  Andy Wingo  <wingo@pobox.com>
9971
9972         * gst/elements/gstfilesrc.c:
9973         * gst/elements/gstfakesrc.c: 
9974         * gst/base/gstpushsrc.c:
9975         * gst/base/gstbasesrc.h: 
9976         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9977         
9978 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9979
9980         * Makefile.am:
9981           better report generation target (lcov needs a patch)
9982
9983 2005-07-05  Andy Wingo  <wingo@pobox.com>
9984
9985         * gst/elements, testsuite: Null if we got it...
9986
9987 2005-07-05  Wim Taymans  <wim@fluendo.com>
9988
9989         * configure.ac:
9990         * libs/gst/dataprotocol/Makefile.am:
9991         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9992         * libs/gst/dataprotocol/dataprotocol.h:
9993         * pkgconfig/Makefile.am:
9994         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9995         * pkgconfig/gstreamer-dataprotocol.pc.in:
9996         Ported dataprotol to 0.9. 
9997         Added pkgconfig files.
9998
9999 2005-07-05  Andy Wingo  <wingo@pobox.com>
10000
10001         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10002         Default to returning TRUE for the case when tranform_caps returns
10003         a fixed caps, like for identity or volume.
10004
10005         * check/gst/gstbus.c (pound_bus_with_messages): 
10006         * check/gst/gstmessage.c (START_TEST): 
10007         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10008         message API change.
10009
10010         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10011         logic weaks here: always run transform_caps, trying passthrough
10012         operation only if the original caps intersects with the transform.
10013
10014         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10015         source and sink caps.
10016
10017         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10018         Intersect the peer caps with the pad template before going into
10019         transform_caps.
10020         (gst_base_transform_transform_caps): More debugging.
10021
10022         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10023         src argument.
10024
10025 2005-07-04  Edward Hervey  <edward@fluendo.com>
10026
10027         * gst/gstutils.c:
10028         * gst/gstutils.h:
10029         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10030         in bindings.
10031
10032 2005-07-04  Andy Wingo  <wingo@pobox.com>
10033
10034         * check/gst/gstpad.c: Only set explicit caps on pads.
10035
10036 2005-07-01  Andy Wingo  <wingo@pobox.com>
10037
10038         * tests/network-clock.scm: Commentary update.
10039
10040         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10041         Didn't really make sense, not implementable with basetransform,
10042         etc.
10043         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10044         attempt at implementing the sync property, needs an unlock method.
10045
10046         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10047         New func, by default returns the same caps (the identity
10048         transformation).
10049         (gst_base_transform_getcaps): Uses transform_caps to return
10050         something sensible.
10051         (gst_base_transform_setcaps): Complicated logic to get caps on
10052         both pads, even if they are different, and to call set_caps once
10053         for every time both pads get their caps set.
10054         (gst_base_transform_handle_buffer): Give the ref to the transform
10055         function. Allows in-place modification of the buffer.
10056
10057         * gst/base/gstbasetransform.h (transform_caps): New class method.
10058         Given caps on one side, what can I do on the other.
10059         (set_caps): Take two caps, one for each side of the element.
10060
10061         * gst/gstpad.h:
10062         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10063         caps in place. This is safe because we can check the mutability of
10064         the caps, and a good idea because fixate functions are just called
10065         as a matter of last resort. (Not actually implemented.)
10066         (gst_pad_set_caps): If the caps we're setting is actually the same
10067         as the existing pad caps, just update the pointer without calling
10068         setcaps. Assert that caps is either NULL or fixed, as per the
10069         docs.
10070
10071         * gst/gstghostpad.c: Update for fixate changes.
10072
10073 2005-07-02  Andy Wingo  <wingo@pobox.com>
10074
10075         * gst/gstcaps.c:
10076         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10077         two refcounts makes it immutable, which is enough. Doc more.
10078
10079 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10080
10081         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10082           Put the mini_object into GValue as a mini_object,
10083           not a gpointer, since that's how we declared
10084           the signal.
10085
10086 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10087
10088         * examples/pwg/Makefile.am:
10089           Fix buildbot again.
10090
10091 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10092
10093         * docs/pwg/building-testapp.xml:
10094           Add extra check.
10095         * examples/pwg/Makefile.am:
10096           Fix buildbot.
10097
10098 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10099
10100         * configure.ac:
10101         * examples/Makefile.am:
10102         * examples/pwg/Makefile.am:
10103         * examples/pwg/extract.pl:
10104           Enable building the PWG examples.
10105         * docs/pwg/advanced-interfaces.xml:
10106           Add URI interface stub.
10107         * docs/pwg/advanced-types.xml:
10108         * docs/pwg/other-autoplugger.xml:
10109         * docs/pwg/appendix-porting.xml:
10110         * docs/pwg/pwg.xml:
10111           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10112         * docs/pwg/building-boiler.xml:
10113         * docs/pwg/building-chainfn.xml:
10114         * docs/pwg/building-pads.xml:
10115         * docs/pwg/building-props.xml:
10116         * docs/pwg/building-state.xml:
10117         * docs/pwg/building-testapp.xml:
10118           Update the building-*.xml parts for 0.9 changes. All examples
10119           code blocks compile in examples/pwg/*.
10120
10121 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10122
10123         * docs/manual/advanced-autoplugging.xml:
10124         * docs/manual/appendix-checklist.xml:
10125         * docs/manual/appendix-integration.xml:
10126         * docs/manual/highlevel-components.xml:
10127           Fix playbin/decodebin examples, update docs a bit, mention bus
10128           instead of signals in various places, mention kmplayer and
10129           kaffeine since they have a working GStreamer backend in the KDE
10130           section.
10131
10132 2005-06-30  Wim Taymans  <wim@fluendo.com>
10133
10134         * CHANGES-0.9:
10135         * docs/design/draft-ghostpads.txt:
10136         * docs/design/draft-push-pull.txt:
10137         * docs/design/draft-query.txt:
10138         * docs/design/part-TODO.txt:
10139         * docs/design/part-query.txt:
10140         Added CHANGES-0.9 doc, updated status of other docs.
10141         
10142         * gst/gstquery.h:
10143         Remove "hmm" macro
10144
10145 2005-06-30  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10148         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10149         (gst_base_sink_change_state):
10150         * gst/base/gstbasesink.h:
10151         Some tweaks, only EOS and a buffer complete a preroll.
10152
10153 2005-06-30  Andy Wingo  <wingo@pobox.com>
10154
10155         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10156         activate_push down to the internal pad as well.
10157
10158 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10159
10160         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10161
10162         * gst/gsttaginterface.c:
10163           Some documentation fixes (#307394 and #307397).
10164
10165 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10166
10167         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10168
10169         * gst/gstvalue.c: (gst_value_intersect_list):
10170           Fix memleak (#309125).
10171
10172 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10173
10174         * docs/manual/advanced-dataaccess.xml:
10175           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10176         * docs/manual/basics-pads.xml:
10177           Add reference for filtered caps to above chapter.
10178
10179 2005-06-30  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10182         (gst_bin_change_state):
10183         Probes are gone.
10184         Lame attempt at making the state change function a bit
10185         more readable.
10186
10187 2005-06-30  Wim Taymans  <wim@fluendo.com>
10188
10189         * docs/design/part-clocks.txt:
10190         * docs/design/part-element-sink.txt:
10191         * docs/design/part-events.txt:
10192         * docs/design/part-preroll.txt:
10193         * docs/design/part-states.txt:
10194         Some more tweeks and additions to the docs.
10195
10196 2005-06-30  Wim Taymans  <wim@fluendo.com>
10197
10198         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10199         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10200         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10201         (gst_pad_check_pull_range), (gst_pad_get_range),
10202         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10203         * gst/gstpad.h:
10204         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10205         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10206         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10207         (gst_pad_remove_buffer_probe):
10208         Removed atomic operations, use existing LOCK.
10209         Move exception handling out of main code path.
10210
10211 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10212
10213         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10214         (silly_return_true_function), (gst_pad_class_init),
10215         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10216         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10217         (gst_pad_send_event):
10218           Fix accumulator, add default value by using _emitv() instead
10219           of _emit() for signal emission.
10220
10221 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10222
10223         * docs/manual/advanced-dataaccess.xml:
10224         * examples/manual/Makefile.am:
10225           Add probe example.
10226         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10227           Make work (??).
10228
10229 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10230
10231         * gst/elements/gstfilesink.c: (gst_filesink_render):
10232           Simplify code so that we don't have to handle short
10233           writes and return GST_FLOW_ERROR if an error occured.
10234
10235 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10236
10237         * docs/gst/gstreamer-docs.sgml:
10238           Remove probes more.
10239
10240 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10241
10242         * docs/gst/gstreamer-sections.txt:
10243         * docs/gst/tmpl/gstpad.sgml:
10244         * docs/gst/tmpl/gstprobe.sgml:
10245         * gst/Makefile.am:
10246         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10247         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10248         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10249         (gst_pad_push_event), (gst_pad_send_event):
10250         * gst/gstpad.h:
10251         * gst/gstutils.c: (gst_pad_add_data_probe),
10252         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10253         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10254         (gst_pad_remove_buffer_probe):
10255         * gst/gstutils.h:
10256           Remove old probes, add new g-signal-based probes and some utility
10257           functions.
10258
10259 2005-06-29  Edward Hervey  <edward@fluendo.com>
10260
10261         * gst/gstelementfactory.c:
10262         * gst/gstutils.h:
10263         * gst/gstutils.c:
10264         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10265         the definition to the header file.
10266
10267 2005-06-29  Andy Wingo  <wingo@pobox.com>
10268
10269         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10270         plugins from the source directory.
10271
10272 2005-06-29  Wim Taymans  <wim@fluendo.com>
10273
10274         * docs/gst/tmpl/gstbuffer.sgml:
10275         * docs/gst/tmpl/gstclock.sgml:
10276         Some fixings for blantently wrong text.
10277
10278 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * check/Makefile.am:
10281         * gst/gst.c: (add_path_func), (init_pre):
10282         * gst/gstregistry.c: (gst_registry_add_path):
10283           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10284           only scan the GST_PLUGIN_PATH locations, and not add
10285           system locations
10286
10287 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * docs/gst/gstreamer-sections.txt:
10290         * docs/gst/tmpl/gstbasesrc.sgml:
10291         * gst/gstelement.c:
10292         * gst/gstelement.h:
10293         * gst/gstevent.c:
10294         * gst/gstutils.c:
10295           doc fixes
10296
10297 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10298
10299         * docs/manual/advanced-autoplugging.xml:
10300           Fix autoplugging example.
10301
10302 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10303
10304         * docs/manual/advanced-autoplugging.xml:
10305         * docs/manual/mime-world.fig:
10306           Try to get autoplugging working, fix type detection. Fix text
10307           in hello-world image.
10308
10309 2005-06-29  Wim Taymans  <wim@fluendo.com>
10310
10311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10312         (gst_base_sink_change_state):
10313         Small debug line.
10314
10315         * gst/gstclock.h:
10316         map SIGNAL and BROADCAST to the right function.
10317
10318         * gst/gstobject.h:
10319         Remove redundant braces.
10320
10321         * gst/gstpad.c: (gst_pad_set_caps):
10322         Don't call setcaps function when reseting caps to NULL.
10323
10324         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10325         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10326         (gst_system_clock_id_unschedule):
10327         Use BROADCAST as this is what we do.
10328
10329 2005-06-29  Wim Taymans  <wim@fluendo.com>
10330
10331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10332         We are actually prerolling before commiting the state
10333         change. 
10334
10335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10336
10337         * docs/manual/advanced-clocks.xml:
10338         * docs/manual/advanced-interfaces.xml:
10339         * docs/manual/advanced-metadata.xml:
10340         * docs/manual/advanced-position.xml:
10341         * docs/manual/advanced-schedulers.xml:
10342         * docs/manual/advanced-threads.xml:
10343         * docs/manual/appendix-porting.xml:
10344         * docs/manual/basics-bins.xml:
10345         * docs/manual/basics-bus.xml:
10346         * docs/manual/basics-elements.xml:
10347         * docs/manual/basics-helloworld.xml:
10348         * docs/manual/basics-pads.xml:
10349         * docs/manual/highlevel-components.xml:
10350         * docs/manual/manual.xml:
10351         * docs/manual/thread.fig:
10352           Update (until threads/scheduling) Application Development Manual;
10353           remove GstThread, add GstBus, add simple porting checklist, add
10354           documentation for tag writing, clocks, make all examples until this
10355           part compile and run.
10356         * examples/manual/Makefile.am:
10357           Update from changes to Application Development Manual; add bus
10358           example, remove thread example.
10359
10360 2005-06-28  Wim Taymans  <wim@fluendo.com>
10361
10362         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10363         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10364         (gst_bus_source_dispatch):
10365         Add debugging messages.
10366         Make internal methods static.
10367         Handle the case where the bus is flushed in the handler.
10368         
10369         * gst/gstelement.c: (gst_element_get_bus):
10370         Fix refcount in _get_bus();
10371
10372         * gst/gstpipeline.c: (gst_pipeline_change_state),
10373         (gst_pipeline_get_clock_func):
10374         Clock refcounting fixes.
10375         Handle the case where preroll timed out more gracefully.
10376         
10377         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10378         Clean up the internal thread in dispose. This is needed
10379         for subclasses that actually get disposed.
10380         
10381         * gst/schedulers/threadscheduler.c:
10382         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10383         (gst_thread_scheduler_dispose):
10384         Free thread pool in dispose.
10385
10386 2005-06-28  Andy Wingo  <wingo@pobox.com>
10387
10388         * tests/network-clock-utils.scm (debug, print-event): New utils.
10389
10390         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10391         (*packet-loss*): Unified loss probability.
10392         (network-time): Report out-of-band events.
10393
10394         * tests/plot-data: Add support for out-of-band events. Hack it
10395         into this script instead of passing it down the pipe; should fix
10396         this later.
10397
10398 2005-06-28  Wim Taymans  <wim@fluendo.com>
10399
10400         * docs/gst/gstreamer.types:
10401         * docs/gst/tmpl/gstbasesrc.sgml:
10402         * docs/gst/tmpl/gstpad.sgml:
10403         Docs fixes.
10404
10405 2005-06-28  Wim Taymans  <wim@fluendo.com>
10406
10407         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10408         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10409         (gst_proxy_pad_do_fixatecaps):
10410         Correctly proxy the check_pull_range function.
10411
10412 2005-06-28  Andy Wingo  <wingo@pobox.com>
10413
10414         * tests/network-clock.scm: Removed need for slib.
10415         
10416 2005-06-28  Wim Taymans  <wim@fluendo.com>
10417
10418         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10419         (gst_basesink_preroll_queue_flush):
10420         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10421         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10422         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10423         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10424         (gst_proxy_pad_set_property):
10425         * gst/gstpad.c:
10426         * gst/gstpad.h:
10427         * gst/gstqueue.c: (gst_queue_init):
10428         The deprecated pad loop function is removed now.
10429
10430 2005-06-28  Andy Wingo  <wingo@pobox.com>
10431
10432         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10433         New parameters, simulate network packet loss.
10434
10435         * tests/network-clock-utils.scm: Initialize the RNG.
10436
10437 2005-06-28  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10440         (gst_basesink_event), (gst_basesink_deactivate):
10441         Flushing the preroll queue always needs to unlock the waiters.
10442
10443 2005-06-28  Edward Hervey  <edward@fluendo.com>
10444
10445         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10446         Wheen a seek was successful on a pipeline, set the stream_time to the
10447         seek offset in order to have a synchronized stream_time.
10448
10449 2005-06-28  Wim Taymans  <wim@fluendo.com>
10450
10451         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10452         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10453         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10454         (gst_proxy_pad_do_fixatecaps):
10455         Call wrapper function instead of just calling the function
10456         pointers. This takes care of any locking and whatmore.
10457
10458 2005-06-28  Wim Taymans  <wim@fluendo.com>
10459
10460         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10461         (gst_pad_pull_range):
10462         * gst/gstpad.h:
10463         CONNECTED -> LINKED.
10464
10465 2005-06-28  Andy Wingo  <wingo@pobox.com>
10466
10467         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10468         source-munging commit!!!
10469
10470         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10471         (gst_object_sink): Take gpointer arguments, not GstObject --
10472         avoids casts. Like GLib.
10473
10474         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10475         activate.
10476
10477 2005-06-27  Andy Wingo  <wingo@pobox.com>
10478
10479         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10480         remaining buffer.
10481
10482         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10483         returns a sorted copy of the trace list.
10484         (gst_alloc_trace_print_live): New API, only prints traces with
10485         live objects. Sort the list.
10486         (gst_alloc_trace_print_all): Sort the list.
10487         (gst_alloc_trace_print): Align columns.
10488
10489         * gst/elements/gstttypefindelement.c:
10490         * gst/elements/gsttee.c:
10491         * gst/base/gstbasesrc.c:
10492         * gst/base/gstbasesink.c:
10493         * gst/base/gstbasetransform.c:
10494         * gst/gstqueue.c: Adapt for pad activation changes.
10495
10496         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10497         sched.
10498         (gst_pipeline_dispose): Drop ref on sched.
10499
10500         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10501         (gst_pad_activate_default): Push mode by default.
10502         (pre_activate_switch, post_activate_switch): New stubs, things to
10503         do before and after switching activation modes on pads.
10504         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10505         the pad's activate function to choose which mode to activate.
10506         Shortcut on deactivation and call the right function directly.
10507         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10508         mode.
10509         (gst_pad_activate_push): New API, same for push mode.
10510         (gst_pad_set_activate_function) 
10511         (gst_pad_set_activatepull_function) 
10512         (gst_pad_set_activatepush_function): Setters for new API.
10513
10514         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10515         Trace all miniobjects.
10516         (gst_mini_object_make_writable): Unref the arg if we copy, like
10517         gst_caps_make_writable.
10518
10519         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10520
10521         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10522         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10523         Adapt for new pad API.
10524
10525         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10526
10527         * gst/gstelement.h:
10528         * gst/gstelement.c (gst_element_iterate_src_pads) 
10529         (gst_element_iterate_sink_pads): New API functions.
10530         
10531         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10532         should fold into gstiterator.c in some form.
10533         (gst_element_pads_activate): Simplified via use of fold and
10534         delegation of decisions to gstpad->activate.
10535
10536         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10537         help in debugging.
10538
10539         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10540         class once in init, like gstmessage. Didn't run into this issue
10541         but it seems correct. Don't initialize a trace, gstminiobject does
10542         that.
10543
10544         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10545         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10546         to the bus.
10547         (assert_live_count): New util function, uses alloc traces to check
10548         cleanup.
10549
10550         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10551         To be modified when unlink drops the internal pad.
10552
10553 2005-06-27  Wim Taymans  <wim@fluendo.com>
10554
10555         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10556         (gst_bin_change_state):
10557         Cleanup the get_state() function a little, make sure it
10558         iterates the same set of elements.
10559         Added stub iterate_state_order().
10560
10561 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * docs/gst/gstreamer-docs.sgml:
10564         * docs/gst/gstreamer-sections.txt:
10565         * docs/gst/gstreamer.types:
10566         * docs/gst/tmpl/gstbasesink.sgml:
10567         * docs/gst/tmpl/gstbasesrc.sgml:
10568         * docs/gst/tmpl/gstbasetransform.sgml:
10569         * docs/gst/tmpl/gstelement.sgml:
10570         * docs/gst/tmpl/gstiterator.sgml:
10571         * gst/base/gstbasesrc.c:
10572         * gst/base/gstbasesrc.h:
10573         * gst/base/gstbasetransform.h:
10574         * gst/gstelement.c:
10575         * gst/gstiterator.h:
10576           adding basetransform and iterator docs
10577
10578 2005-06-27  Andy Wingo  <wingo@pobox.com>
10579
10580         * docs/design/part-activation.txt: Notes on how activation should
10581         work -- not quite implemented yet.
10582
10583 2005-06-25  Wim Taymans  <wim@fluendo.com>
10584
10585         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10586         At least get the chain function correct, needs more
10587         fixing.
10588
10589 2005-06-25  Wim Taymans  <wim@fluendo.com>
10590
10591         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10592         (gst_basesink_handle_object), (gst_basesink_event),
10593         (gst_basesink_do_sync), (gst_basesink_handle_event),
10594         (gst_basesink_change_state):
10595         * gst/gsttask.h:
10596         Right, two problems here: ghostpads don't take locks and
10597         glib _rec_mutex_lock_full() with depth==0 still locks.
10598         Catch illegal locking and g_warn them.
10599
10600 2005-06-25  Wim Taymans  <wim@fluendo.com>
10601
10602         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10603         Have to check for completion now...
10604
10605 2005-06-25  Wim Taymans  <wim@fluendo.com>
10606
10607         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10608         (gst_basesink_handle_object), (gst_basesink_event),
10609         (gst_basesink_do_sync), (gst_basesink_handle_event),
10610         (gst_basesink_change_state):
10611         * gst/gstpad.h:
10612         Unlock STREAM_LOCK whatever the recursion was.
10613
10614 2005-06-25  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10617         (gst_basesink_preroll_queue_empty),
10618         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10619         (gst_basesink_event), (gst_basesink_do_sync),
10620         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10621         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10622         (gst_basesink_change_state):
10623         Reworked the base sink, handle event and buffer serialisation
10624         correctly and removed possible deadlock.
10625         Handle EOS correctly.
10626
10627 2005-06-25  Wim Taymans  <wim@fluendo.com>
10628
10629         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10630         (gst_pipeline_change_state):
10631         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10632         Allow elements to post EOS in the state change function.
10633         Fix up -launch, make it exit the poll loop when the
10634         pipeline actually changed state.
10635         Fix up warning parsing in -launch.
10636
10637 2005-06-25  Wim Taymans  <wim@fluendo.com>
10638
10639         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10640         (gst_tee_sink_activate):
10641         Core takes STREAM_LOCK for us now.
10642
10643 2005-06-25  Wim Taymans  <wim@fluendo.com>
10644
10645         * gst/gstelement.c: (gst_element_get_state_func),
10646         (gst_element_set_state):
10647         * gst/gstelement.h:
10648         * gst/gstmessage.c: (gst_message_parse_error),
10649         (gst_message_parse_warning):
10650         Keep track of current target state while performing a state
10651         change so that subclasses can do something interesting.
10652         Fix parsing of warning/error messages when GError is NULL.
10653
10654 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * docs/gst/Makefile.am:
10657         * docs/gst/gstreamer-docs.sgml:
10658         * docs/gst/gstreamer-sections.txt:
10659         * docs/gst/gstreamer.types:
10660         * docs/gst/tmpl/gstbasesink.sgml:
10661         * docs/gst/tmpl/gstbasesrc.sgml:
10662         * docs/gst/tmpl/gstbin.sgml:
10663         * docs/gst/tmpl/gstcompat.sgml:
10664         * docs/gst/tmpl/gstfakesink.sgml:
10665         * docs/gst/tmpl/gstfakesrc.sgml:
10666         * docs/gst/tmpl/gstfilesink.sgml:
10667         * docs/gst/tmpl/gstfilesrc.sgml:
10668         * docs/gst/tmpl/gstindex.sgml:
10669         * docs/manual/appendix-quotes.xml:
10670         * gst/base/gstbasesrc.h:
10671         * gst/elements/gstfakesrc.h:
10672         * gst/gstmessage.h:
10673           start pulling in base classes and elements in our docs
10674
10675 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10676
10677         * docs/gst/Makefile.am:
10678         * docs/libs/Makefile.am:
10679           fixed make distcheck with gtk-doc 1.3
10680
10681 2005-06-23  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstelement.c: (gst_element_get_state_func),
10684         (gst_element_set_state), (gst_element_change_state):
10685         When the state did not change, also report NO_PREROLL
10686         when it matters.
10687
10688 2005-06-23  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/gstpad.c: (gst_pad_event_default):
10691         * gst/gstqueue.c: (gst_queue_loop):
10692         No unsafe task pausing please.
10693
10694 2005-06-23  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/schedulers/threadscheduler.c:
10697         (gst_thread_scheduler_task_start),
10698         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10699         Ref the task before pushing it on the threadpool. This
10700         makes sure that we have a ref when the threadfunction is
10701         actually called.
10702
10703 2005-06-23  Andy Wingo  <wingo@pobox.com>
10704
10705         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10706         offset is greater than the file's size.
10707
10708         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10709         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10710         * gst/gstobject.c (gst_object_class_init): Make the class lock
10711         recursive. Wim won't let me drop deep_notify. Decodebin works
10712         again, whoopdy doo.
10713
10714         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10715         internal pad, and hacks accordingly. Doesn't do it on the target
10716         pad because we change its caps. Probably catches all cases of
10717         interest tho.
10718         (gst_ghost_pad_set_property): Connect to notify::caps as
10719         appropritate.
10720
10721         * tests/network-clock.scm (plot-simulation): Pipe data to the
10722         elite python skript.
10723
10724         * tests/network-clock-utils.scm (define-parameter): New macro,
10725         defines a parameter that can be set via the command line.
10726         (set-parameter!, parse-parameter-arguments): Command line args
10727         parser.
10728
10729         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10730         stdin.
10731
10732 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10733
10734         * gst/elements/gsttypefindelement.c:
10735         (gst_type_find_element_handle_event):
10736           Don't restart typefinding on a discont.
10737         * gst/gstelement.c: (gst_element_set_state):
10738           Debug spelling fix.
10739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10740           Allow changing mode of an active pad.
10741           Debug output fixes.
10742         * gst/registries/gstlibxmlregistry.c: (load_feature):
10743           Don't cast a static pad template to a normal pad template.
10744
10745 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10748         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10749           remove gst_strtoll completely, since it didn't actually do
10750           anything more than what g_ascii_strtoull already does.
10751           check for range errors when deserializing
10752           do a cast for the unsigned cases; but further fixing needs
10753           a decision on what the interpretation of "(int)" and
10754           deserialization should be for values that fall outside the
10755           type's boundaries (ie, refuse, or interpret as casting)
10756
10757 2005-06-23  Wim Taymans  <wim@fluendo.com>
10758
10759         * check/Makefile.am:
10760         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10761         * docs/design/part-live-source.txt:
10762         * docs/design/part-states.txt:
10763         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10764         (gst_basesrc_set_live), (gst_basesrc_is_live),
10765         (gst_basesrc_get_range), (gst_basesrc_activate),
10766         (gst_basesrc_change_state):
10767         * gst/base/gstbasesrc.h:
10768         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10769         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10770         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10771         * gst/gstelement.c: (gst_element_get_state_func),
10772         (gst_element_set_state):
10773         * gst/gstelement.h:
10774         * gst/gsttypes.h:
10775         * tools/gst-launch.c: (event_loop), (main):
10776         Added support for live sources and other elements that
10777         cannot do preroll.
10778         Updated design docs, added live-source design doc.
10779         Implemented live source functionality in basesrc
10780         Fix error condition in _bin_get_state()
10781         Implement live source handling in -launch.
10782         Added check for live sources.
10783         Fixed case in GstBin where elements were changed state
10784         multiple times.
10785
10786
10787 2005-06-23  Andy Wingo  <wingo@pobox.com>
10788
10789         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10790         borken refcounting.
10791
10792         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10793         gst_caps_replace takes care of this for us.
10794
10795         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10796         gst_pad_set_caps on the target, not just its setcaps() function.
10797
10798         * tests/network-clock.scm: 
10799         * tests/network-clock-utils.scm: A network clock simulator.
10800         Something of an algorithmic testbed before doing something in C.
10801
10802 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * check/Makefile.am:
10805         * check/gst/capslist.h:
10806           copy over from 0.8, and add two with bitmasks specified with
10807           (int) 0xFF...
10808         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10809           add test to parse everything from capslist.h
10810         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10811         (main):
10812           add test for structure deserialization
10813         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10814           add tests for deserialization of strings to int types
10815         * gst/gststructure.c: (gst_structure_nth_field_name):
10816         * gst/gststructure.h:
10817           add a way to get the name of a field referenced by index
10818         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10819           instead of checking if the resulting long long lies between
10820           min and max, we check if the long long would fit into
10821           a number of bytes for the final type.
10822           This fixes cases where a string represents 2^32 - 1, which
10823           when cast to int would be the (valid) -1, but is bigger than
10824           G_MAXINT
10825
10826 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10827
10828         * gst/parse/grammar.y:
10829           add a log line for type deserialization
10830
10831 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * check/gst/gstvalue.c: (START_TEST):
10834         * gst/gstvalue.c: (gst_value_deserialize):
10835           return long long, not int, so gint64 deserialization actually
10836           works.  Is there any flag that makes the compiler check this ?
10837           Fixes #308559
10838
10839 2005-06-22  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/gstbuffer.h:
10842         Added convenience macros for setting buffers in GValue.
10843
10844 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10845
10846         * check/gst/.cvsignore:
10847         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10848           add a test deserializing int64, and comment part out because
10849           it fails, yay !
10850
10851 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10852
10853         * check/Makefile.am:
10854         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10855         * testsuite/Makefile.am:
10856         * testsuite/caps/Makefile.am:
10857         * testsuite/caps/value_serialize.c:
10858         * testsuite/test_gst_init.c:
10859           move a value_serialize test over
10860
10861 2005-06-20  Wim Taymans  <wim@fluendo.com>
10862
10863         * gst/gstpad.c:
10864         Small doc updates.
10865         
10866         * gst/gstvalue.c: (gst_value_compare_buffer),
10867         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10868         (gst_value_compare_flags), (gst_value_serialize_flags),
10869         (gst_value_deserialize_flags), (_gst_value_initialize):
10870         Fix serialisation of buffers, they are not boxed types anymore
10871
10872 2005-06-20  Wim Taymans  <wim@fluendo.com>
10873
10874         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10875         Testcase to show error in buffer-on-caps serialisation.
10876
10877 2005-06-20  Andy Wingo  <wingo@pobox.com>
10878
10879         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10880         will be adding to later.
10881
10882         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10883         if its socks fill with rocks.
10884         (gst_system_clock_obtain): Set the name on object construction.
10885         Avoid double-checked locking.
10886
10887 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10888
10889         * gst/gsturi.c: (gst_element_make_from_uri):
10890           Fix potential endless loop.
10891
10892 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10893
10894         * check/Makefile.am:
10895           add gsttag
10896         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10897         (main):
10898           move over from testsuite dir and clean up
10899         * configure.ac:
10900         * gst/gsttag.c:
10901         * testsuite/Makefile.am:
10902         * testsuite/tags/.cvsignore:
10903         * testsuite/tags/Makefile.am:
10904         * testsuite/tags/merge.c:
10905           remove testsuite/tags
10906
10907 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10908
10909         * docs/gst/gstreamer-sections.txt:
10910         * docs/gst/tmpl/gstenumtypes.sgml:
10911         * win32/gstenumtypes.c:
10912           clean up documentation build a little
10913
10914 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * check/gstcheck.h:
10917           add macros for checking refcounts on objects and caps
10918         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10919           add some more unit tests
10920         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10921         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10922           fix leaked refcounts (I hope :)) so unittest works
10923         * gst/gstpad.h:
10924           whitespace removal
10925
10926 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * configure.ac: back to HEAD
10929
10930 === release 0.9.1 ===
10931
10932 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10933
10934         * NEWS:
10935         * RELEASE:
10936           updated
10937
10938 2005-06-17  Andy Wingo  <wingo@pobox.com>
10939
10940         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10941         assert; it's always possible that the pad gets deactivated in
10942         between the checks in gstpad.c and the implementation. Rely on
10943         finish_preroll() to return a FLUSHING or similar instead of on the
10944         assert.
10945         
10946         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10947         clock and post an EOS message if we come out of finish_preroll in
10948         the playing state.
10949
10950 2005-06-16  David Schleef  <ds@schleef.org>
10951
10952         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10953         (gst_capsfilter_set_property): Allow NULL as possible value
10954         for filter_caps property, indicating GST_CAPS_ANY.
10955
10956 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10957
10958         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10959           fix debug output
10960         * gst/schedulers/Makefile.am:
10961           use libgst prefix
10962         * gstreamer.spec.in:
10963           fix spec for it
10964
10965 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * gstreamer.spec.in:
10968           clean up
10969
10970 2005-06-08  Andy Wingo  <wingo@pobox.com>
10971
10972         * gst/gstutils.c: RPAD fixes all around.
10973         (gst_element_link_pads): Refcounting fixes.
10974
10975         * tools/gst-inspect.c:
10976         * tools/gst-xmlinspect.c:
10977         * parse/grammar.y:
10978         * gst/base/gsttypefindhelper.c:
10979         * gst/base/gstbasesink.c:
10980         * gst/gstqueue.c: RPAD fixes.
10981
10982         * gst/gstghostpad.h:
10983         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10984         pads. The tricky thing is they provide both source and sink
10985         interfaces, since they proxy the internal pad for the external
10986         pad, and vice versa. Implement with lower-level ProxyPad objects,
10987         with the interior proxy pad as a child of the exterior ghost pad.
10988         Should write a doc on this.
10989         
10990         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10991         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10992         gst_object API.
10993         
10994         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10995         pads are real pads. No ghost pads in this file. Not documenting
10996         the myriad s/RPAD/PAD/ and REALIZE fixes.
10997         (gst_pad_class_init): Add properties for "direction" and
10998         "template". Both are construct-only, so they can't change during
10999         the life of the pad. Fixes properly deriving from GstPad.
11000         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11001         derived objects, just set properties when creating the objects via
11002         g_object_new.
11003         (gst_pad_get_parent): Implement as a function, return NULL if the
11004         parent is not an element.
11005         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11006         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11007         
11008         * gst/gstobject.c (gst_object_class_init): Make name a construct
11009         property. Don't set it in the object init.
11010
11011         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11012         with UNKNOWN direction.
11013         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11014         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11015         (gst_element_remove_pad): Remove ghost-pad special cases.
11016         (gst_element_pads_activate): Remove rpad cruft.
11017
11018         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11019         catch the pad's-parent-not-an-element case.
11020
11021         * gst/gst.h: Include gstghostpad.h.
11022
11023         * gst/gst.c (init_post): No more real, ghost pads.
11024
11025         * gst/Makefile.am: Add gstghostpad.[ch].
11026
11027         * check/Makefile.am:
11028         * check/gst/gstbin.c:
11029         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11030         into a bin creates ghost pads, and that the refcounts are right.
11031         Partly moved from gstbin.c.
11032
11033 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * check/gst-libs/.cvsignore:
11036         * check/gst/.cvsignore:
11037         * check/pipelines/.cvsignore:
11038           ignore more
11039         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11040         (START_TEST), (cleanup_suite), (main):
11041           add some tests related to cleanup after running pipelines
11042
11043 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11044
11045         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11046           add a testsuite for GstBuffer
11047
11048 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * gst/gstminiobject.h:
11051           add defines for accessing the refcount
11052
11053 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11054
11055         * Makefile.am: added support for html unit test coverage reports
11056
11057 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11058
11059         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11060           Free existing caps if the capsfilter changes. Add a FIXME about
11061           setting those caps on the pads.
11062
11063         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11064           Before adding a ghost pad to a parent bin, check that there isn't
11065           already one for the element on the bin. Prevents infinite recursion
11066           when using decodebin in parse pipelines. Andy says he'll rewrite the
11067           way this works anyway, so ignore the hack.
11068
11069 2005-06-02  Andy Wingo  <wingo@pobox.com>
11070
11071         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11072         file size, pass it on to the type find helper.
11073
11074         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11075         segment_start and segment_end properly according to the seek
11076         method. Segment_end is still a bit flaky because offset can be
11077         negative for CUR and END cases, but it takes -1 as an "unset"
11078         value.
11079
11080 2005-06-02  Wim Taymans  <wim@fluendo.com>
11081
11082         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11083         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11084         (gst_basesink_activate):
11085         * gst/base/gstbasesink.h:
11086         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11087         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11088         (gst_pad_query), (gst_pad_start_task):
11089         * gst/gstpad.h:
11090         * gst/gstqueue.c: (gst_queue_bufferalloc),
11091         (gst_queue_handle_sink_event), (gst_queue_chain):
11092         Bufferalloc: return GstFlowReturn to more accuratly report
11093         why allocation failed.
11094
11095 2005-06-02  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstpipeline.c: (gst_pipeline_send_event):
11098         Take snapshot of state without blocking.
11099
11100 2005-06-02  Wim Taymans  <wim@fluendo.com>
11101
11102         * docs/design/part-TODO.txt:
11103         * docs/design/part-caps.txt:
11104         * docs/design/part-clocks.txt:
11105         * docs/design/part-negotiation.txt:
11106         * docs/design/part-preroll.txt:
11107         Small doc updates 
11108
11109 2005-05-30  Wim Taymans  <wim@fluendo.com>
11110
11111         * gst/elements/gstidentity.c: (gst_identity_event),
11112         (gst_identity_transform), (gst_identity_get_property):
11113         Protect last_message property as it is accessed from
11114         multiple threads.
11115
11116 2005-05-30  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/gstelement.c: (gst_element_init),
11119         (gst_element_pads_activate), (gst_element_change_state):
11120         Slicker pad activation code.
11121
11122 2005-05-30  Wim Taymans  <wim@fluendo.com>
11123
11124         * gst/Makefile.am:
11125         * gst/gstelement.h:
11126         * gst/gstelementfactory.h:
11127         * gst/gsttypes.h:
11128         Move elementfactory methods to separate .h file.
11129
11130 2005-05-30  Wim Taymans  <wim@fluendo.com>
11131
11132         * docs/design/part-overview.txt:
11133         * gst/gstsystemclock.h:
11134         Small typo fixes, doc updates.
11135
11136 2005-05-30  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11139         (init_popt_callback):
11140         Remove cpu-opt flag.
11141
11142 2005-05-30  Wim Taymans  <wim@fluendo.com>
11143
11144         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11145         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11146         * gst/gstbuffer.h:
11147         Avoid typechecking in places where not needed.
11148         Added accessor for malloc_data.
11149
11150 2005-05-30  Wim Taymans  <wim@fluendo.com>
11151
11152         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11153         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11154         (gst_pad_configure_sink), (gst_pad_configure_src),
11155         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11156         (gst_pad_start_task):
11157         Propagate errors from _set_caps() in configure_src/sink
11158         functions instead of returning TRUE.
11159         FLUSH events can travel up and downstream
11160
11161
11162 2005-05-30  Wim Taymans  <wim@fluendo.com>
11163
11164         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11165         (gst_basesink_activate):
11166         Handle EOS in preroll.
11167
11168 2005-05-30  Wim Taymans  <wim@fluendo.com>
11169
11170         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11171         (gst_queue_loop), (gst_queue_handle_src_event):
11172         Remove old pieces of code
11173         Flushing the queue in an upstream event is a very bad idea.
11174
11175 2005-05-26  Andy Wingo  <wingo@pobox.com>
11176
11177         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11178         gst_value_set_mini_object so as to add a ref on the object (which
11179         will be removed when the value is unset).
11180
11181         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11182         arg type in ::handoff.
11183
11184         * gst/gstelement.c (gst_element_change_state): Also deactivate
11185         pads in READY->NULL, just in case the element didn't make it to
11186         PAUSED. Wingo tested, Wim approved.
11187
11188 2005-05-26  Wim Taymans  <wim@fluendo.com>
11189
11190         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11191         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11192         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11193         A flushing pad cannot be used to alloc_buffer from.
11194
11195 2005-05-26  Wim Taymans  <wim@fluendo.com>
11196
11197         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11198         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11199         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11200         (gst_bus_create_watch), (gst_bus_add_watch_full):
11201         * gst/gstbus.h:
11202         Implement a real GSource and use g_main_context_wakeup() to
11203         signal new messages instead of the socketpair.
11204
11205 2005-05-25  Wim Taymans  <wim@fluendo.com>
11206
11207         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11208         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11209         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11210         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11211         (gst_pad_send_event), (gst_pad_start_task):
11212         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11213         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11214         (gst_queue_sink_activate), (gst_queue_src_activate),
11215         (gst_queue_change_state):
11216         * gst/gstqueue.h:
11217         Fix state changes for non sinks. We now change sinks, then elements
11218         with unconnected srcpads, then the rest.
11219         More efficient queue unlocking in flush and state changes.
11220         Set the pad activate mode even if it does not have an activate
11221         function.
11222
11223 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11224
11225         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11226           Don't go in pull mode for non-seekable sources.
11227         * gst/elements/gsttypefindelement.h:
11228         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11229         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11230         (free_entry), (stop_typefinding),
11231         (gst_type_find_element_handle_event), (find_peek),
11232         (gst_type_find_element_chain), (do_pull_typefind),
11233         (gst_type_find_element_change_state):
11234           Allow typefinding (w/o seeking) in push-mode, simplified version
11235           of what was in 0.8.
11236         * gst/gstutils.c: (gst_buffer_join):
11237         * gst/gstutils.h:
11238           gst_buffer_join() from 0.8.
11239
11240 2005-05-25  Wim Taymans  <wim@fluendo.com>
11241
11242         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11243         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11244         (gst_pad_send_event), (gst_pad_start_task):
11245         Disable attempt at mode switching until it is figured out.
11246
11247 2005-05-25  Wim Taymans  <wim@fluendo.com>
11248
11249         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11250         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11251         (gst_basesink_finish_preroll), (gst_basesink_chain),
11252         (gst_basesink_loop), (gst_basesink_activate),
11253         (gst_basesink_change_state):
11254         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11255         (gst_basesrc_get_range), (gst_basesrc_loop),
11256         (gst_basesrc_activate):
11257         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11258         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11259         (gst_real_pad_init), (gst_real_pad_set_property),
11260         (gst_real_pad_get_property), (gst_pad_set_active),
11261         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11262         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11263         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11264         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11265         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11266         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11267         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11268         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11269         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11270         (gst_pad_stop_task):
11271         * gst/gstpad.h:
11272         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11273         (gst_queue_loop), (gst_queue_src_activate):
11274         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11275         (gst_task_get_state):
11276         * gst/gsttask.h:
11277         * gst/schedulers/threadscheduler.c:
11278         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11279         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11280         in task function.
11281         Remove ACTIVE pad flag, use FLUSHING everywhere
11282         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11283         functions.
11284         Add locks around IS_FLUSHING when reading.
11285         Take STREAM lock in chain(), get_range() functions so plugins
11286         don't need to take it anymore.
11287         
11288
11289
11290 2005-05-25  Wim Taymans  <wim@fluendo.com>
11291
11292         * tools/gst-launch.c: (event_loop):
11293         Unref message after using its contents instead of
11294         before.
11295
11296 2005-05-24  Wim Taymans  <wim@fluendo.com>
11297
11298         * docs/design/draft-ghostpads.txt:
11299         * docs/design/draft-push-pull.txt:
11300         * docs/design/draft-query.txt:
11301         * docs/design/part-overview.txt:
11302         Docs updates, added general overview doc.
11303
11304 2005-05-21  David Schleef  <ds@schleef.org>
11305
11306         * docs/gst/tmpl/old/GstBin.sgml:
11307         * docs/gst/tmpl/old/GstBuffer.sgml:
11308         * docs/gst/tmpl/old/GstCaps.sgml:
11309         * docs/gst/tmpl/old/GstClock.sgml:
11310         * docs/gst/tmpl/old/GstCompat.sgml:
11311         * docs/gst/tmpl/old/GstData.sgml:
11312         * docs/gst/tmpl/old/GstElement.sgml:
11313         * docs/gst/tmpl/old/GstEvent.sgml:
11314         * docs/gst/tmpl/old/GstIndex.sgml:
11315         * docs/gst/tmpl/old/GstStructure.sgml:
11316         * docs/gst/tmpl/old/GstTag.sgml:
11317         * docs/gst/tmpl/old/cothreads.sgml:
11318         * docs/gst/tmpl/old/cothreads_compat.sgml:
11319         * docs/gst/tmpl/old/gettext.sgml:
11320         * docs/gst/tmpl/old/gobject2gtk.sgml:
11321         * docs/gst/tmpl/old/grammar.tab.sgml:
11322         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11323         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11324         * docs/gst/tmpl/old/gst_private.sgml:
11325         * docs/gst/tmpl/old/gstaggregator.sgml:
11326         * docs/gst/tmpl/old/gstarch.sgml:
11327         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11328         * docs/gst/tmpl/old/gstbufferstore.sgml:
11329         * docs/gst/tmpl/old/gstdata_private.sgml:
11330         * docs/gst/tmpl/old/gstdisksink.sgml:
11331         * docs/gst/tmpl/old/gstdisksrc.sgml:
11332         * docs/gst/tmpl/old/gstelementfactory.sgml:
11333         * docs/gst/tmpl/old/gstextratypes.sgml:
11334         * docs/gst/tmpl/old/gstfakesink.sgml:
11335         * docs/gst/tmpl/old/gstfakesrc.sgml:
11336         * docs/gst/tmpl/old/gstfdsink.sgml:
11337         * docs/gst/tmpl/old/gstfdsrc.sgml:
11338         * docs/gst/tmpl/old/gstfilesink.sgml:
11339         * docs/gst/tmpl/old/gstfilesrc.sgml:
11340         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11341         * docs/gst/tmpl/old/gstidentity.sgml:
11342         * docs/gst/tmpl/old/gstindexfactory.sgml:
11343         * docs/gst/tmpl/old/gstmarshal.sgml:
11344         * docs/gst/tmpl/old/gstmd5sink.sgml:
11345         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11346         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11347         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11348         * docs/gst/tmpl/old/gstpipefilter.sgml:
11349         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11350         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11351         * docs/gst/tmpl/old/gstshaper.sgml:
11352         * docs/gst/tmpl/old/gstspider.sgml:
11353         * docs/gst/tmpl/old/gstspideridentity.sgml:
11354         * docs/gst/tmpl/old/gststatistics.sgml:
11355         * docs/gst/tmpl/old/gsttee.sgml:
11356         * docs/gst/tmpl/old/gsttimecache.sgml:
11357         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11358         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11359         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11360         * docs/gst/tmpl/old/types.sgml:
11361           I didn't intend to add these or check them in.
11362
11363 2005-05-19  David Schleef  <ds@schleef.org>
11364
11365         * configure.ac: Use -no-common everywhere.  In a sane world, it
11366           would be the default in libtool, because without it, you can't
11367           build DLLs on Windows.
11368         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11369         * docs/gst/gstreamer-sections.txt:
11370         * docs/gst/tmpl/gstcpu.sgml:
11371         * docs/gst/tmpl/gstdata.sgml:
11372         * docs/gst/tmpl/gstthread.sgml:
11373
11374 2005-05-19  David Schleef  <ds@schleef.org>
11375
11376         * gst/gstminiobject.c: (gst_value_set_mini_object),
11377         (gst_value_take_mini_object), (gst_value_get_mini_object):
11378         * gst/gstminiobject.h: Add GValue set/get functions.
11379
11380 2005-05-19  Wim Taymans  <wim@fluendo.com>
11381
11382         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11383         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11384         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11385         * gst/gstbuffer.h:
11386         * gst/gstbus.c: (gst_bus_post):
11387         * gst/gstelement.c: (gst_element_get_random_pad):
11388         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11389         Make subbufer unref the parent in finalize.
11390         some more debugging info.
11391
11392
11393 2005-05-19  Wim Taymans  <wim@fluendo.com>
11394
11395         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11396         (gst_basesink_init), (gst_basesink_finalize),
11397         (gst_basesink_activate), (gst_basesink_change_state):
11398         Don't free preroll queue too early.
11399
11400 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11401
11402         * gst/Makefile.am:
11403         * gst/ROADMAP:
11404           Hi, I'm outdated. Please shoot me.
11405
11406 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11407
11408         * gst/gstpipeline.c: (gst_pipeline_send_event):
11409           Do not access variables after they have been deleted.
11410
11411 2005-05-19  Wim Taymans  <wim@fluendo.com>
11412
11413         * tools/gst-inspect.c: (print_plugin_features):
11414         A plugin feature does unfortunatly not use the
11415         object name yet...
11416
11417 2005-05-18  Wim Taymans  <wim@fluendo.com>
11418
11419         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11420         Port _span() functions to new subbuffers.
11421
11422 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11423
11424         * gst/gstbin.c: (gst_bin_add_func):
11425           Fix clock settery in bins when adding kids after the clock has
11426           been selected.
11427
11428 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11429
11430         * gst/elements/gstidentity.c: (gst_identity_class_init):
11431           Workaround until signals support GstMiniObject.
11432
11433 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11434
11435         * gst/gstbuffer.c:
11436         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11437
11438 2005-05-18  Wim Taymans  <wim@fluendo.com>
11439
11440         * gst/base/Makefile.am:
11441         * gst/base/gstadapter.c: (gst_adapter_base_init),
11442         (gst_adapter_class_init), (gst_adapter_init),
11443         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11444         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11445         (gst_adapter_flush), (gst_adapter_available),
11446         (gst_adapter_available_fast):
11447         * gst/base/gstadapter.h:
11448         Ported and added adapter to the base classes.
11449
11450 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11451
11452         * gst/gst.c:
11453         * gst/gstmessage.c:
11454           Make sure the class is reffed/unreffed once before threads can be
11455           used.  Fixes #304551.
11456
11457 2005-05-17  Wim Taymans  <wim@fluendo.com>
11458
11459         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11460         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11461         * gst/gstminiobject.c: (gst_mini_object_get_type),
11462         (gst_mini_object_free):
11463         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11464         (gst_pad_push), (gst_pad_push_event):
11465         * gst/gstqueue.c: (gst_queue_change_state):
11466         Don't queue buffers in basesink when we are flushing.
11467         Unref buffer when flushing in basesink.
11468         Flush queue when going to READY
11469         Unref buffer when _push() returns an error.
11470         Don't free MiniObject instance when refcount is incremented
11471         in _finalize() so that we can recover objects.
11472
11473 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * docs/manual/advanced-schedulers.xml:
11476         * docs/manual/appendix-checklist.xml:
11477         * docs/pwg/advanced-clock.xml:
11478         * docs/pwg/advanced-interfaces.xml:
11479         * docs/pwg/advanced-request.xml:
11480         * docs/pwg/advanced-types.xml:
11481         * docs/pwg/intro-preface.xml:
11482         * examples/plugins/example.c: (gst_example_get_type),
11483         (gst_example_class_init), (gst_example_chain),
11484         (gst_example_set_property), (gst_example_get_property),
11485         (gst_example_change_state), (plugin_init):
11486         * examples/plugins/example.h:
11487           small doc fixes
11488
11489 2005-05-17  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11492         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11493         * gst/gstqueue.c: (gst_queue_change_state):
11494         Clear queue when going to READY.
11495         Remove IN_SETCAPS flag too.
11496
11497 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11498
11499         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11500           Remove implicit cast from gboolean to GstElementStateReturn;
11501           make sure we still return failure in paused => ready case if
11502           the parent class fails to change state and our own stop 
11503           vfunc succeeds.
11504
11505 2005-05-17  Wim Taymans  <wim@fluendo.com>
11506
11507         * tools/gst-launch.c: (event_loop):
11508         Message was unreffed too soon.
11509
11510 2005-05-16  Andy Wingo  <wingo@pobox.com>
11511
11512         * gst/gstbin.c (sink_iterator_filter): Err... um...
11513
11514         * check/gst/gstbin.c (test_ghost_pads): New test for the
11515         ghosting-if-elements-not-in-same-bin behavior.
11516
11517 2005-05-16  David Schleef  <ds@schleef.org>
11518
11519         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11520         accessing refcount directly.
11521
11522 2005-05-15  David Schleef  <ds@schleef.org>
11523
11524         * check/Makefile.am: remove GstData checks
11525         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11526         * gst/Makefile.am: add miniobject, remove data
11527         * gst/gst.h: add miniobject, remove data
11528         * gst/gstdata.c: remove
11529         * gst/gstdata.h: remove
11530         * gst/gstdata_private.h: remove
11531         * gst/gsttypes.h: remove GstEvent and GstMessage
11532         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11533         * gst/gstmarshal.list: change BOXED -> OBJECT
11534
11535         Implement GstMiniObject.
11536         * gst/gstminiobject.c:
11537         * gst/gstminiobject.h:
11538
11539         Modify to be subclasses of GstMiniObject.
11540         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11541         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11542         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11543         (gst_subbuffer_get_type), (gst_subbuffer_init),
11544         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11545         (gst_buffer_span):
11546         * gst/gstbuffer.h:
11547         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11548         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11549         (_gst_event_copy), (gst_event_new):
11550         * gst/gstevent.h:
11551         * gst/gstmessage.c: (_gst_message_initialize),
11552         (gst_message_get_type), (gst_message_class_init),
11553         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11554         (gst_message_new), (gst_message_new_error),
11555         (gst_message_new_warning), (gst_message_new_tag),
11556         (gst_message_new_state_changed), (gst_message_new_application):
11557         * gst/gstmessage.h:
11558         * gst/gstprobe.c: (gst_probe_perform),
11559         (gst_probe_dispatcher_dispatch):
11560         * gst/gstprobe.h:
11561         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11562         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11563         (_gst_query_copy), (gst_query_new):
11564
11565         Update elements for GstData -> GstMiniObject changes
11566         * gst/gstquery.h:
11567         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11568         (gst_queue_chain), (gst_queue_loop):
11569         * gst/elements/gstbufferstore.c:
11570         (gst_buffer_store_add_buffer_func),
11571         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11572         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11573         (gst_fakesink_render):
11574         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11575         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11576         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11577         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11578         (gst_filesrc_create_read):
11579         * gst/elements/gstidentity.c: (gst_identity_class_init):
11580         * gst/elements/gsttypefindelement.c:
11581         (gst_type_find_element_src_event), (free_entry_buffers),
11582         (gst_type_find_element_handle_event):
11583         * libs/gst/dataprotocol/dataprotocol.c:
11584         (gst_dp_header_from_buffer):
11585         * libs/gst/dataprotocol/dataprotocol.h:
11586         * libs/gst/dataprotocol/dp-private.h:
11587
11588 2005-05-15  David Schleef  <ds@schleef.org>
11589
11590         * gst/elements/gstelements.c: Don't include headers that were
11591         just removed.
11592
11593 2005-05-15  David Schleef  <ds@schleef.org>
11594
11595         * gst/elements/Makefile.am: Remove some elements that don't
11596         need to be in the core (or even exist at all).
11597         * gst/elements/gstaggregator.c:
11598         * gst/elements/gstaggregator.h:
11599         * gst/elements/gstmd5sink.c:
11600         * gst/elements/gstmd5sink.h:
11601         * gst/elements/gstmultifilesrc.c:
11602         * gst/elements/gstmultifilesrc.h:
11603         * gst/elements/gstpipefilter.c:
11604         * gst/elements/gstpipefilter.h:
11605         * gst/elements/gstshaper.c:
11606         * gst/elements/gstshaper.h:
11607         * gst/elements/gststatistics.c:
11608         * gst/elements/gststatistics.h:
11609         * po/POTFILES.in: Remove above files.
11610
11611 2005-05-14  Andy Wingo  <wingo@pobox.com>
11612
11613         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11614         so as to get the refs right.
11615         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11616         unreffing objects that don't pass the filter.
11617
11618         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11619         gst_element_set_bus.
11620         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11621         normal cases, this will destroy the bus.
11622
11623         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11624         object.
11625
11626         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11627         has no sinks.
11628
11629 2005-05-13  Andy Wingo  <wingo@pobox.com>
11630
11631         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11632         gst_pad_link, call pad_link_maybe_ghosting,
11633         (pad_link_maybe_ghosting): Links pads, making sure that the
11634         elements being linked are in the same bin.
11635         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11636         Helpers for pad_link_maybe_ghosting.
11637
11638 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11639
11640         * configure.ac:
11641           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11642
11643 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11644
11645         * docs/design/part-element-source.txt:
11646           Mention GstPushSrc
11647
11648 2005-05-12  Wim Taymans  <wim@fluendo.com>
11649
11650         * gst/base/gstbasesink.c: (gst_basesink_init),
11651         (gst_basesink_activate):
11652         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11653         (gst_basesrc_is_seekable):
11654         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11655         (bin_element_is_sink), (gst_bin_change_state):
11656         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11657         * gst/gstelement.h:
11658         Identify sinks by their flag to avoid overly complicated
11659         checks (fow now).
11660         Do state changes even for elements not reachable from the
11661         sinks.
11662         BaseSink is a sink now :)
11663         Some more debugging info in the basesrc.
11664
11665
11666 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11667
11668         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11669           Implement _query on a bin, similar to _send_event.
11670
11671 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11672
11673         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11674           Discont event offset format should be GST_FORMAT_BYTES,
11675           not GST_FORMAT_TIME.
11676
11677 2005-05-12  Wim Taymans  <wim@fluendo.com>
11678
11679         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11680         Same fix as Ronald's but without the signal. 
11681
11682 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11683
11684         * gst/gstutils.c: (gst_element_query_position):
11685           No, an element is not a pad.
11686
11687 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11688
11689         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11690         (gst_bin_get_state):
11691           If a child is removed from a bin while we remove the child from
11692           the bin and while we're retrieving its state, signal this to the
11693           get_state function so we abort the wait (instead of waiting for
11694           a timeout) and can immediately re-iterate over all other elements.
11695
11696 2005-05-12  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/base/Makefile.am:
11699         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11700         (gst_basesrc_start):
11701         * gst/base/gstbasesrc.h:
11702         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11703         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11704         (gst_pushsrc_init), (gst_pushsrc_create):
11705         * gst/base/gstpushsrc.h:
11706         Added is_seekable to BaseSrc
11707         Added simple PushSrc.
11708
11709 2005-05-11  Wim Taymans  <wim@fluendo.com>
11710
11711         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11712         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11713         (gst_element_link_pads), (gst_element_query_position),
11714         (gst_element_query_convert), (intersect_caps_func),
11715         (gst_pad_query_position), (gst_pad_query_convert):
11716         Fix refcounting in utils function.
11717         No point in trying to activate a pad when it's added, it could
11718         be added from the state change function and then we deadlock, the
11719         element has to decide what to do.
11720
11721 2005-05-10  Andy Wingo  <wingo@pobox.com>
11722
11723         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11724         *all* the arguments.
11725
11726         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11727         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11728         lock (according to the docs -- if this is wrong change the docs).
11729
11730         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11731         flush messages in the NULL state.
11732
11733         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11734         message immediately and return.
11735         (gst_bus_set_flushing): New function. If a bus is flushing, it
11736         flushes out any queued messages and immediately unrefs new
11737         messages. This is so when an element goes to NULL, all of the
11738         unhandled messages coming from it can be freed, and their
11739         references to the element dropped. In other words: message source
11740         ref considered harmful :P
11741
11742         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11743         we're finished with it.
11744
11745         * gst/gstmessage.c (gst_message_new_state_changed): 
11746
11747 2005-05-10  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/gstvalue.c: (gst_value_compare_flags),
11750         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11751         (_gst_value_initialize):
11752         Added flags serialize/deserialize/compare code.
11753
11754 2005-05-09  Andy Wingo  <wingo@pobox.com>
11755
11756         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11757         Intersect the peer's caps with our caps.
11758
11759 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11760
11761         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11762         * gst/elements/gsttypefindelement.c: (find_peek):
11763           Handle negative offsets better. Fixes decodebin.
11764
11765 2005-05-09  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11768         (gst_base_transform_event):
11769         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11770         Implement accept_caps.
11771         Fix silly lock/unlock mismatch in base class.
11772
11773 2005-05-09  Wim Taymans  <wim@fluendo.com>
11774
11775         * docs/design/draft-push-pull.txt:
11776         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11777         * gst/elements/gstfilesink.c: (gst_filesink_init),
11778         (gst_filesink_query):
11779         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11780         (gst_type_find_handle_src_query), (find_element_get_length):
11781         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11782         * gst/gstelement.h:
11783         * gst/gstmessage.c:
11784         * gst/gstmessage.h:
11785         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11786         (gst_real_pad_get_caps_unlocked),
11787         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11788         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11789         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11790         (gst_real_pad_dispose), (gst_real_pad_finalize),
11791         (gst_pad_load_and_link), (gst_pad_save_thyself),
11792         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11793         (gst_pad_check_pull_range), (gst_pad_pull_range),
11794         (gst_pad_template_get_type), (gst_pad_template_class_init),
11795         (gst_pad_template_init), (gst_pad_template_dispose),
11796         (name_is_valid), (gst_static_pad_template_get),
11797         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11798         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11799         (gst_pad_get_element_private), (gst_pad_start_task),
11800         (gst_pad_pause_task), (gst_pad_stop_task),
11801         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11802         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11803         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11804         (gst_ghost_pad_new):
11805         * gst/gstpad.h:
11806         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11807         (gst_query_new_position), (gst_query_set_position),
11808         (gst_query_parse_position), (gst_query_new_convert),
11809         (gst_query_set_convert), (gst_query_parse_convert):
11810         * gst/gstquery.h:
11811         * gst/gstqueryutils.c:
11812         * gst/gstqueryutils.h:
11813         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11814         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11815         (gst_queue_handle_src_query):
11816         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11817         (gst_element_query_position), (gst_element_query_convert),
11818         (intersect_caps_func), (gst_pad_query_position),
11819         (gst_pad_query_convert):
11820         * gst/gstutils.h:
11821         * tools/gst-inspect.c: (print_pad_info):
11822         * tools/gst-xmlinspect.c: (print_element_info):
11823         Remove old query functions. Ported old code.
11824         Added position/convert helper functions to gstutils.
11825         Reordered gstpad.c code, grouping relevant things.
11826         Remove gst_message_new(), always need to speficy a specific
11827         message.
11828
11829
11830 2005-05-09  Andy Wingo  <wingo@pobox.com>
11831
11832         * gst/gstiterator.h: Add some includes.
11833
11834         * gst/gstqueryutils.h: Include more headers.
11835
11836         * gst/gstpad.h:
11837         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11838         some uses of gst_pad_query.
11839
11840         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11841         NULL out parameters.
11842         (gst_query_new_position): New proc, allocates a new position
11843         query.
11844
11845         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11846         gstqueryutils.c to the build.
11847
11848         * gst/gststructure.c (gst_structure_set_valist): Implement with
11849         the generic G_VALUE_COLLECT.
11850         
11851 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11852
11853         * gst/Makefile.am: (gst_headers):
11854         Added gstqueryutils.h to the list of headers to install, that was
11855         a 'nachty' move wingo :)
11856
11857 2005-05-06  Andy Wingo  <wingo@pobox.com>
11858
11859         * gst/gstquery.h
11860         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11861         GstData, init a memchunk.
11862         (standard_definitions): Add a few query types, deprecate a few.
11863         (gst_query_get_type): New proc.
11864         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11865         implementation.
11866         (gst_query_new_application, gst_query_get_structure): New public
11867         procs.
11868
11869         * docs/design/draft-query.txt: Removed LINKS from the query types,
11870         because all the rest can be dispatched to other pads -- seemed
11871         ugly to have a query that couldn't be dispatched. internal_links
11872         is fine as a pad method.
11873
11874         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11875         in gstpad.c, but maintain binary compatibility for the moment.
11876         Will fix before 0.9 is out.
11877
11878         * gst/gstqueryutils.c: 
11879         * gst/gstqueryutils.h: New files, implement 3 methods for each
11880         query type: parse_query, parse_response, and set. Probably need an
11881         allocator as well.
11882
11883         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11884
11885         * gst/elements/gstfilesink.c (gst_filesink_query2):
11886         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11887         query_types, and formats methods.
11888
11889         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11890         (gst_pad_set_query2_function): New functions.
11891         (gst_real_pad_init): Set query2_default as the default query2
11892         function. Basically just dispatches to internally linked pads.
11893
11894         Needs review!
11895         
11896         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11897         without using the atomic operations. Only one thread can possibly
11898         be accessing the data at this point. Changed so as to avoid
11899         gst_atomic operations.
11900
11901 2005-05-06  Wim Taymans  <wim@fluendo.com>
11902
11903         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11904         Also set caps if we use the fallback buffer alloc.
11905
11906 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11907
11908         * docs/gst/Makefile.am:
11909         * docs/gst/gstreamer-docs.sgml:
11910         * docs/gst/gstreamer-sections.txt:
11911         * docs/gst/tmpl/gstatomic.sgml:
11912         * docs/gst/tmpl/gstmemchunk.sgml:
11913         * testsuite/elements/struct_i386.h:
11914         * win32/GStreamer.vcproj:
11915         * win32/Makefile:
11916           Purge GstAtomic stuff from docs and win32 makefiles as well
11917
11918 2005-05-06  Wim Taymans  <wim@fluendo.com>
11919
11920         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11921         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11922         * gst/gstpad.c: (gst_pad_peer_get_caps):
11923         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11924         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11925         (gst_queue_src_activate), (gst_queue_change_state):
11926         * gst/gstqueue.h:
11927         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11928         (intersect_caps_func):
11929         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11930         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11931         Some fixes for the peer_get_caps() change.
11932
11933 2005-05-06  Wim Taymans  <wim@fluendo.com>
11934
11935         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11936         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11937         (gst_basesink_activate):
11938         Actually do something with error codes returned from the push
11939         functions.
11940
11941 2005-05-06  Wim Taymans  <wim@fluendo.com>
11942
11943         * docs/design/part-element-sink.txt:
11944         * docs/design/part-element-source.txt:
11945         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11946         (gst_basesink_event), (gst_basesink_activate):
11947         * gst/base/gstbasesink.h:
11948         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11949         (gst_basesrc_activate):
11950         * gst/base/gstbasesrc.h:
11951         * gst/gstelement.c: (gst_element_pads_activate):
11952         Some more documentation.
11953         Fixed scheduling decision in _pads_activate().
11954
11955 2005-05-05  Andy Wingo  <wingo@pobox.com>
11956
11957         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11958         the test suite.
11959
11960 2005-05-05  Wim Taymans  <wim@fluendo.com>
11961
11962         * gst/base/Makefile.am:
11963         * gst/base/gstbasesink.h:
11964         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11965         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11966         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11967         (gst_collectpads_class_init), (gst_collectpads_init),
11968         (gst_collectpads_finalize), (gst_collectpads_new),
11969         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11970         (find_pad), (gst_collectpads_remove_pad),
11971         (gst_collectpads_is_active), (gst_collectpads_collect),
11972         (gst_collectpads_collect_range), (gst_collectpads_start),
11973         (gst_collectpads_stop), (gst_collectpads_peek),
11974         (gst_collectpads_pop), (gst_collectpads_available),
11975         (gst_collectpads_read), (gst_collectpads_flush),
11976         (gst_collectpads_chain):
11977         * gst/base/gstcollectpads.h:
11978         * gst/elements/Makefile.am:
11979         * gst/elements/gstelements.c:
11980         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11981         (gst_fakesink_get_times), (gst_fakesink_event),
11982         (gst_fakesink_preroll), (gst_fakesink_render):
11983         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11984         (gst_filesink_init), (gst_filesink_set_location),
11985         (gst_filesink_open_file), (gst_filesink_close_file),
11986         (gst_filesink_pad_query), (gst_filesink_event),
11987         (gst_filesink_render), (gst_filesink_change_state):
11988         * gst/elements/gstfilesink.h:
11989         Added object to help in making collect pad based elements.
11990         Ported filesink.
11991         Make event function in sink baseclass return gboolean.
11992
11993 2005-05-05  Wim Taymans  <wim@fluendo.com>
11994
11995         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11996         (gst_bin_get_by_name):
11997         * gst/gstbuffer.h:
11998         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11999         (gst_clock_finalize):
12000         * gst/gstdata.c: (gst_data_replace):
12001         * gst/gstdata.h:
12002         * gst/gstelement.c: (gst_element_request_pad),
12003         (gst_element_pads_activate):
12004         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12005         (gst_object_unref):
12006         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12007         (gst_pad_set_checkgetrange_function),
12008         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12009         (gst_pad_check_pull_range), (gst_pad_pull_range),
12010         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12011         (gst_pad_pause_task), (gst_pad_stop_task):
12012         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12013         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12014         Fix name lookup in GstBin.
12015         Added _data_replace() function and _buffer_replace()
12016         Use finalize method to clean up clock.
12017         Fix refcounting on request pads.
12018         Fix pad schedule mode error.
12019         Some more object refcounting debug info,
12020
12021
12022 2005-05-04  Andy Wingo <wingo@pobox.com>
12023
12024         * check/Makefile.am:
12025         * docs/gst/tmpl/gstatomic.sgml:
12026         * docs/gst/tmpl/gstplugin.sgml:
12027         * gst/base/gstbasesink.c: (gst_basesink_activate):
12028         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12029         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12030         (gst_basesrc_query), (gst_basesrc_set_property),
12031         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12032         (gst_basesrc_activate):
12033         * gst/base/gstbasesrc.h:
12034         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12035         (gst_base_transform_src_activate):
12036         * gst/elements/gstelements.c:
12037         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12038         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12039         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12040         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12041         (gst_type_find_element_checkgetrange),
12042         (gst_type_find_element_activate):
12043         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12044         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12045         (gst_caps_load_thyself):
12046         * gst/gstelement.c: (gst_element_pads_activate),
12047         (gst_element_save_thyself), (gst_element_restore_thyself):
12048         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12049         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12050         * gst/gstpad.h:
12051         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12052         (gst_xml_parse_file), (gst_xml_parse_memory),
12053         (gst_xml_get_element), (gst_xml_make_element):
12054         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12055         (_file_index_id_save_xml), (gst_file_index_commit):
12056         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12057         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12058         (load_paths):
12059         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12060         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12061         * tools/gst-complete.c: (main):
12062         * tools/gst-compprep.c: (main):
12063         * tools/gst-inspect.c: (print_element_properties_info):
12064         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12065         * tools/gst-xmlinspect.c: (print_element_properties):
12066         GCC 4 fixen.
12067         
12068 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12069
12070         * gst/gstplugin.c: (gst_plugin_check_module),
12071         (gst_plugin_check_file), (gst_plugin_load_file):
12072             apply patch from #172526 to make register work on MacOSX
12073
12074 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12075
12076         * docs/gst/tmpl/gstconfig.sgml:
12077         * gst/gstconfig.h.in:
12078           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12079         * testsuite/debug/printf_extension.c: (main):
12080           Do not use GST_PTR_FORMAT on pointers to types with
12081           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12082         * testsuite/elements/property.h:
12083           use correct printf format
12084
12085 2005-05-02  Wim Taymans  <wim@fluendo.com>
12086
12087         * docs/design/draft-push-pull.txt:
12088         * docs/design/draft-query.txt:
12089         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12090         (gst_basesrc_start):
12091         Added draft for new query API.
12092         Added draft for better selecting scheduling methods.
12093         Make basesrc ignore length if the subclass does not support
12094         it.
12095
12096 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * gst/Makefile.am:
12099           possible fixes for automake-1.5 - _LIBADD is reserved
12100
12101 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12102
12103         * docs/faq/Makefile.am:
12104         * docs/manual/Makefile.am:
12105         * docs/manuals.mak:
12106         * docs/pwg/Makefile.am:
12107         * gst/Makefile.am:
12108           possible fixes for automake-1.5
12109
12110 2005-04-28  Wim Taymans  <wim@fluendo.com>
12111
12112         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12113         (gst_basesink_pad_getcaps), (gst_basesink_init),
12114         (gst_basesink_do_sync):
12115         * gst/gstclock.c: (gst_clock_entry_new):
12116         * gst/gstevent.c: (gst_event_discont_get_value):
12117         * gst/gstpipeline.c: (pipeline_bus_handler),
12118         (gst_pipeline_change_state):
12119         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12120         Better debugging of clocking info.
12121         Allow NULL values when getting discont values.
12122
12123 2005-04-27  Wim Taymans  <wim@fluendo.com>
12124
12125         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12126         * check/gst/gstpad.c: (gst_pad_suite):
12127         Increase timeout for checks.
12128
12129 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12130
12131         * check/Makefile.am:
12132           fix the broken rule for cleanup.  Apparently this rule is
12133           only needed on FC2, so maybe this warrants further autotool
12134           inspection.
12135
12136 2005-04-26  Wim Taymans  <wim@fluendo.com>
12137
12138         * gst/gsttrashstack.h:
12139         Ooohh. a nasty one! After having a failed pop() from the stack,
12140         it's possible that the stack is empty. In that case, don't
12141         follow the NULL pointer.
12142
12143 2005-04-25  Wim Taymans  <wim@fluendo.com>
12144
12145         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12146         (gst_pad_set_checkgetrange_function),
12147         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12148         (gst_pad_check_pull_range), (gst_pad_pull_range),
12149         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12150         (gst_pad_pause_task), (gst_pad_stop_task):
12151         * gst/gstplugin.c: (gst_plugin_load):
12152         * gst/gstplugin.h:
12153         Remove gst_library_load as it does more harm than good with
12154         the new g_module flags.
12155         Revert bogus caps template check in pad linking, pad caps
12156         are important when linking not the template, which is more
12157         general than the current caps.
12158
12159 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12160
12161         * gst/autoplug/.cvsignore:
12162         * gst/autoplug/Makefile.am:
12163         * gst/autoplug/gstsearchfuncs.c:
12164         * gst/autoplug/gstsearchfuncs.h:
12165         * gst/autoplug/gstspider.c:
12166         * gst/autoplug/gstspider.h:
12167         * gst/autoplug/gstspideridentity.c:
12168         * gst/autoplug/gstspideridentity.h:
12169         * gst/autoplug/spidertest.c:
12170           Die, spider, die.
12171
12172 2005-04-25  Wim Taymans  <wim@fluendo.com>
12173
12174         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12175         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12176         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12177         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12178         * gst/gstpad.h:
12179         Added stubs for unimplemented functions. 
12180
12181 2005-04-24  David Schleef  <ds@schleef.org>
12182
12183         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12184         please fix.
12185
12186 2005-04-24  David Schleef  <ds@schleef.org>
12187
12188         Convert everything from GstAtomicInt to g_atomic_int_*, and
12189         remove gstatomic.
12190         * gst/Makefile.am:
12191         * gst/gstatomic.c:
12192         * gst/gstatomic.h:
12193         * gst/gstatomic_impl.h:
12194         * gst/gstbuffer.c:
12195         * gst/gstcaps.c:
12196         * gst/gstcaps.h:
12197         * gst/gstclock.c:
12198         * gst/gstclock.h:
12199         * gst/gstdata.c:
12200         * gst/gstdata.h:
12201         * gst/gstdata_private.h:
12202         * gst/gstevent.c:
12203         * gst/gstinfo.c:
12204         * gst/gstinfo.h:
12205         * gst/gstmessage.c:
12206         * gst/gstobject.c:
12207         * gst/gstobject.h:
12208         * gst/gststructure.c:
12209         * gst/gststructure.h:
12210         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12211         * gst/gstutils.h:
12212
12213 2005-04-24  David Schleef  <ds@schleef.org>
12214
12215         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12216         make the regressions tests work.  Remove some code that is no
12217         longer true.
12218         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12219         Disable warning for pads without templates.
12220
12221 2005-04-24  David Schleef  <ds@schleef.org>
12222
12223         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12224         functions that handle filtered links.
12225         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12226         removed functions.
12227         * gst/gstutils.c: Fix/remove utility functions that handle
12228         filtered caps.
12229         * gst/gstutils.h:
12230         * gst/gstvalue.c: Add serialization/deserialization of caps
12231         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12232         requires fixing so that the filter caps notation creates
12233         a capsfilter element and sets the filter_caps property.  I
12234         think everyone probably wants to keep the shorthand notation.
12235         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12236         * docs/gst/tmpl/gstpad.sgml:
12237
12238         * gst/elements/gstelements.c: Register capsfilter element.
12239         * gst/Makefile.am: fix spacing
12240         * docs/random/ds/0.9-suggested-changes: random
12241
12242 2005-04-23  David Schleef  <ds@schleef.org>
12243
12244         * gst/elements/Makefile.am:
12245         * gst/elements/gstcapsfilter.c: New element that acts like an
12246         identity, but filters caps.  Will eventually replace filtered
12247         caps in pad linking.
12248         * gst/gstutils.c: (gst_element_create_all_pads): New function
12249         to create all the ALWAYS pads that are registered with an
12250         element class.  This functionality should eventually be
12251         merged in with GstElement initialization.
12252         * gst/gstutils.h:
12253         * testsuite/trigger/README: part of trigger test code that should
12254         have been checked in a long time ago.
12255
12256 2005-04-23  David Schleef  <ds@schleef.org>
12257
12258         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12259         needed with new versions of libtool (nobody will confirm this),
12260         and hard to carry around.
12261         * gst/autoplug/Makefile.am:
12262         * gst/base/Makefile.am:
12263         * gst/elements/Makefile.am:
12264         * gst/indexers/Makefile.am:
12265         * gst/schedulers/Makefile.am:
12266         * libs/gst/bytestream/Makefile.am:
12267         * libs/gst/control/Makefile.am:
12268         * libs/gst/dataprotocol/Makefile.am:
12269         * libs/gst/getbits/Makefile.am:
12270
12271 2005-04-21  Wim Taymans  <wim@fluendo.com>
12272
12273         * docs/design/draft-push-pull.txt:
12274         * docs/design/part-MT-refcounting.txt:
12275         * docs/design/part-TODO.txt:
12276         * docs/design/part-caps.txt:
12277         * docs/design/part-events.txt:
12278         * docs/design/part-gstbus.txt:
12279         * docs/design/part-gstpipeline.txt:
12280         * docs/design/part-messages.txt:
12281         * docs/design/part-push-pull.txt:
12282         * docs/design/part-query.txt:
12283         Some more docs.
12284
12285 2005-04-21  Wim Taymans  <wim@fluendo.com>
12286
12287         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12288         (gst_message_new), (gst_message_new_error),
12289         (gst_message_new_warning), (gst_message_new_tag),
12290         (gst_message_new_state_changed), (gst_message_new_application),
12291         (gst_message_get_structure):
12292         * gst/gstmessage.h:
12293         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12294         (gst_structure_copy_conditional):
12295         Use parent refcount in GstMessage to ensure GstStructure
12296         consistency.
12297         Cleaned up headers a bit.
12298         
12299
12300 2005-04-20  Wim Taymans  <wim@fluendo.com>
12301
12302         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12303         (gst_basesink_pad_getcaps), (gst_basesink_init),
12304         (gst_basesink_chain_unlocked):
12305         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12306         (gst_type_find_helper):
12307         * gst/elements/gsttypefindelement.c:
12308         (gst_type_find_element_have_type), (gst_type_find_element_init),
12309         (stop_typefinding), (gst_type_find_element_handle_event),
12310         (find_suggest), (gst_type_find_element_chain),
12311         (gst_type_find_element_checkgetrange),
12312         (gst_type_find_element_getrange), (do_typefind),
12313         (gst_type_find_element_activate):
12314         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12315         (gst_buffer_default_free), (gst_buffer_default_copy),
12316         (gst_buffer_set_caps):
12317         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12318         (gst_caps_replace):
12319         * gst/gstmessage.c: (gst_message_new),
12320         (gst_message_new_state_changed):
12321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12322         (gst_pad_set_checkgetrange_function),
12323         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12324         (gst_pad_set_caps), (gst_pad_check_pull_range),
12325         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12326         * gst/gstpad.h:
12327         * gst/gsttypefind.c: (gst_type_find_register):
12328         Make gst_caps_replace() work like other _replace() functions.
12329         Use _caps_replace() where possible.
12330         Make sure _message_new() initialises its field.
12331         Add gst_static_pad_template_get_caps()
12332
12333
12334 2005-04-18  Andy Wingo  <wingo@pobox.com>
12335
12336         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12337         on the peer, not the pad. I think that was a typo. Pass an extra
12338         arg to see if random access is possible. Activate the pads as
12339         PULL_RANGE if possible.
12340
12341         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12342
12343         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12344         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12345         to PROP_....
12346
12347 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12348
12349         * docs/faq/using.xml:
12350           Add note on gstreamer-properties (#154996).
12351
12352 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12353
12354         * docs/random/bbb/optional-properties:
12355           Some analysis on optional properties.
12356
12357 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12358
12359         * docs/gst/tmpl/gstelementfactory.sgml:
12360         * gst/gstelement.h:
12361         * gst/gstelementfactory.c: (gst_element_factory_init),
12362         (gst_element_factory_cleanup), (gst_element_register),
12363         (__gst_element_factory_add_static_pad_template),
12364         (gst_element_factory_get_static_pad_templates),
12365         (gst_element_factory_can_src_caps),
12366         (gst_element_factory_can_sink_caps):
12367         * gst/registries/Makefile.am:
12368         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12369         (gst_xml_registry_class_init), (gst_xml_registry_init),
12370         (gst_xml_registry_new), (gst_xml_registry_set_property),
12371         (gst_xml_registry_get_property), (get_time), (make_dir),
12372         (gst_xml_registry_get_perms_func),
12373         (plugin_times_older_than_recurse), (plugin_times_older_than),
12374         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12375         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12376         (add_to_char_array), (read_string), (read_uint), (read_enum),
12377         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12378         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12379         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12380         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12381         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12382         (gst_xml_registry_rebuild):
12383         * gst/registries/gstlibxmlregistry.h:
12384         * tools/gst-compprep.c: (main):
12385         * tools/gst-inspect.c: (print_pad_templates_info):
12386         * tools/gst-xmlinspect.c: (print_element_info):
12387           Use libxml2 for registry parsing, use staticpadtemplates in
12388           elementfactories. Makes gst_init() +/- 10x faster.
12389
12390 2005-04-12  Wim Taymans  <wim@fluendo.com>
12391
12392         * gst/base/Makefile.am:
12393         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12394         (gst_basesink_pad_getcaps), (gst_basesink_init),
12395         (gst_basesink_event), (gst_basesink_change_state):
12396         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12397         (gst_basesrc_init), (gst_basesrc_query),
12398         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12399         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12400         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12401         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12402         (gst_basesrc_stop), (gst_basesrc_activate),
12403         (gst_basesrc_change_state):
12404         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12405         (helper_find_suggest), (gst_type_find_helper):
12406         * gst/base/gsttypefindhelper.h:
12407         * gst/elements/Makefile.am:
12408         * gst/elements/gstelements.c:
12409         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12410         (gst_fakesink_get_times), (gst_fakesink_event),
12411         (gst_fakesink_preroll), (gst_fakesink_render):
12412         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12413         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12414         (gst_fakesrc_get_property), (gst_fakesrc_create),
12415         (gst_fakesrc_start), (gst_fakesrc_stop):
12416         * gst/elements/gstfakesrc.h:
12417         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12418         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12419         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12420         (gst_filesrc_create_read), (gst_filesrc_create),
12421         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12422         (gst_filesrc_start):
12423         * gst/elements/gsttypefindelement.c:
12424         (gst_type_find_element_have_type), (gst_type_find_element_init),
12425         (start_typefinding), (stop_typefinding), (push_buffer_store),
12426         (gst_type_find_element_handle_event),
12427         (gst_type_find_element_chain),
12428         (gst_type_find_element_checkgetrange),
12429         (gst_type_find_element_getrange), (do_typefind),
12430         (gst_type_find_element_activate),
12431         (gst_type_find_element_change_state):
12432         * gst/elements/gsttypefindelement.h:
12433         * gst/gstpipeline.c: (pipeline_bus_handler):
12434         Added typefind helper.
12435         Small preroll fix in the base sink.
12436         Disable typefind code in basesrc.
12437         Crude port of typefindelement.
12438         Fakesrc cleanups.
12439
12440
12441 2005-04-11  Wim Taymans  <wim@fluendo.com>
12442
12443         * check/gst/gstbus.c: (gstbus_suite):
12444         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12445         * check/gstcheck.h:
12446           Fix up the timeout so that the test does not fail.
12447
12448 2005-04-06  Wim Taymans  <wim@fluendo.com>
12449
12450         * gst/base/README:
12451         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12452         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12453         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12454         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12455         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12456         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12457         (gst_basesrc_stop), (gst_basesrc_activate),
12458         (gst_basesrc_change_state), (basesrc_find_peek),
12459         (basesrc_find_suggest), (gst_basesrc_type_find):
12460         * gst/base/gstbasesrc.h:
12461         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12462         (gst_filesrc_class_init), (gst_filesrc_init),
12463         (gst_filesrc_finalize), (gst_filesrc_set_location),
12464         (gst_filesrc_set_property), (gst_filesrc_get_property),
12465         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12466         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12467         (gst_filesrc_create_read), (gst_filesrc_create),
12468         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12469         * gst/elements/gstfilesrc.h:
12470         * gst/gstelement.c: (gst_element_get_state_func),
12471         (gst_element_lost_state), (gst_element_pads_activate):
12472         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12473         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12474         (gst_pad_pull_range):
12475         * gst/gstpad.h:
12476         More work on the generic source base class, implement seeking,
12477         query.
12478         Make filesrc extend the base source class.
12479         Added gst_pad_set_checkgetrange_function to GstPad.
12480
12481 2005-04-06  Andy Wingo  <wingo@pobox.com>
12482
12483         * pkgconfig/gstreamer-base.pc.in:
12484         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12485
12486         * pkgconfig/Makefile.am:
12487         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12488
12489 2005-04-04  Wim Taymans  <wim@fluendo.com>
12490
12491         * gst/base/Makefile.am:
12492         * gst/base/README:
12493         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12494         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12495         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12496         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12497         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12498         (gst_basesrc_base_init), (gst_basesrc_class_init),
12499         (gst_basesrc_init), (gst_basesrc_get_formats),
12500         (gst_basesrc_get_query_types), (gst_basesrc_query),
12501         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12502         (gst_basesrc_set_property), (gst_basesrc_get_property),
12503         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12504         (gst_basesrc_loop), (gst_basesrc_activate),
12505         (gst_basesrc_change_state):
12506         * gst/base/gstbasesrc.h:
12507         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12508         (gst_fakesrc_class_init), (gst_fakesrc_init),
12509         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12510         (gst_fakesrc_get_property), (gst_fakesrc_create):
12511         * gst/elements/gstfakesrc.h:
12512         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12513         (gst_filesrc_open_file), (gst_filesrc_loop),
12514         (gst_filesrc_activate), (filesrc_find_peek),
12515         (gst_filesrc_type_find):
12516         Made base source class, make fakesrc extend it.
12517         Add comments to basesink class.
12518         Some filesrc cleanup.
12519
12520 2005-03-31  David Schleef  <ds@schleef.org>
12521
12522         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12523         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12524         expected to link against libgstreamer.
12525         * gst/base/Makefile.am: link against libgstreamer
12526         * gst/elements/Makefile.am: same
12527
12528 2005-03-31  Andy Wingo  <wingo@pobox.com>
12529
12530         * tests/instantiate/Makefile.am:
12531         * tests/instantiate/caps.c: Add test to test speed of caps copy
12532         and free.
12533
12534         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12535         GMemChunk to be fair.
12536
12537         * gst/gsttrashstack.h: Remove warning about using the fallback
12538         trash stack implementation, it's still faster than malloc.
12539
12540 2005-03-30  Andy Wingo  <wingo@pobox.com>
12541
12542         * tests/complexity.c: Add a copyright.
12543
12544 2005-03-31  Wim Taymans  <wim@fluendo.com>
12545
12546         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12547         (gst_base_transform_class_init), (gst_base_transform_init),
12548         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12549         (gst_base_transform_get_property),
12550         (gst_base_transform_sink_activate),
12551         (gst_base_transform_src_activate),
12552         (gst_base_transform_change_state):
12553         * gst/base/gstbasetransform.h:
12554         * gst/elements/gstidentity.c: (gst_identity_class_init),
12555         (gst_identity_event), (gst_identity_check_perfect),
12556         (gst_identity_transform), (gst_identity_start),
12557         (gst_identity_stop):
12558         Added start/stop methods to transform base class so subclasses 
12559         don't need to deal with state changes even.
12560
12561 2005-03-31  Wim Taymans  <wim@fluendo.com>
12562
12563         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12564         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12565         * gst/gstevent.h:
12566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12567         (gst_pad_pull_range):
12568         Added rate to the discont event to prepare for variable speed
12569         and reverse playback.
12570
12571 2005-03-29  David Schleef  <ds@schleef.org>
12572
12573         * configure.ac:
12574         * testsuite/trigger/Makefile.am:
12575         * testsuite/trigger/trigger.c: A little example program to show
12576         how trigger-based elements can work.
12577
12578 2005-03-29  Wim Taymans  <wim@fluendo.com>
12579
12580         * gst/base/Makefile.am:
12581         * gst/base/README:
12582         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12583         (gst_basesink_base_init), (gst_basesink_class_init),
12584         (gst_basesink_pad_getcaps), (gst_basesink_init),
12585         (gst_basesink_activate), (gst_basesink_change_state):
12586         * gst/base/gstbasesink.h:
12587         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12588         (gst_base_transform_base_init), (gst_base_transform_finalize),
12589         (gst_base_transform_class_init), (gst_base_transform_init),
12590         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12591         (gst_base_transform_event), (gst_base_transform_getrange),
12592         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12593         (gst_base_transform_set_property),
12594         (gst_base_transform_get_property),
12595         (gst_base_transform_sink_activate),
12596         (gst_base_transform_src_activate),
12597         (gst_base_transform_change_state):
12598         * gst/base/gstbasetransform.h:
12599         * gst/elements/gstidentity.c: (gst_identity_finalize),
12600         (gst_identity_class_init), (gst_identity_init),
12601         (gst_identity_event), (gst_identity_check_perfect),
12602         (gst_identity_transform), (gst_identity_set_property),
12603         (gst_identity_get_property), (gst_identity_change_state):
12604         * gst/elements/gstidentity.h:
12605         * gst/gstelement.c: (gst_element_get_state_func),
12606         (gst_element_lost_state), (gst_element_pads_activate):
12607         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12608         (gst_pad_check_pull_range), (gst_pad_pull_range):
12609         * gst/gstpad.h:
12610         Simplify pad activation.
12611         Added function to check if pull_range can be performed.
12612         Error out when pulling inactive or flushing pads.
12613         Removed const from refcounted types as it does not make sense.
12614         Simplify pad templates in basesink
12615         Added base class for simple 1-to-1 transforms.
12616         Make identity subclass the base transform.
12617
12618 2005-03-29  Andy Wingo  <wingo@pobox.com>
12619
12620         * docs/libs/gstreamer-libs-overrides.txt: 
12621         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12622         really don't understand what's going on, but like whatever. I want
12623         green buildbot!
12624
12625         * docs/gst/Makefile.am:
12626         * docs/libs/Makefile.am: Dist the overrides files.
12627
12628         * check/Makefile.am (clean-local): Remove .libs directories.
12629
12630         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12631         elements to EXTRA_DIST, so po/ files are happy.
12632
12633         * po/POTFILES.in: Er, remove it here.
12634
12635         * po/POTFILES: Remove gstspider.c.
12636
12637         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12638
12639         * docs/libs/gstreamer-libs-docs.sgml: 
12640         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12641         bytestream.
12642
12643         * tests/complexity.c (main): Set the length of the preroll queue
12644         on the sinks to prevent a lockup.
12645
12646         * libs/gst/dataprotocol/Makefile.am: 
12647         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12648         the same as the one in check/gst-libs/gdp.c.
12649
12650         * po/, docs/gst/: Commit automatic changes to docs and po files.
12651
12652         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12653         the versioned libgstbase.
12654
12655         * check/Makefile.am: Depend on an unversioned gst-register, seems
12656         to make autoconf happier.
12657
12658         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12659
12660 2005-03-28  Wim Taymans  <wim@fluendo.com>
12661
12662         * configure.ac:
12663         * docs/design/part-gstelement.txt:
12664         * docs/design/part-negotiation.txt:
12665         * docs/design/part-preroll.txt:
12666         * docs/design/part-scheduling.txt:
12667         * docs/design/part-states.txt:
12668         * gst/Makefile.am:
12669         * gst/base/Makefile.am:
12670         * gst/base/README:
12671         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12672         (gst_basesink_base_init), (gst_basesink_class_init),
12673         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12674         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12675         (gst_basesink_set_pad_functions),
12676         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12677         (gst_basesink_set_property), (gst_basesink_get_property),
12678         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12679         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12680         (gst_basesink_preroll_queue_push),
12681         (gst_basesink_preroll_queue_empty),
12682         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12683         (gst_basesink_event), (gst_basesink_get_times),
12684         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12685         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12686         (gst_basesink_loop), (gst_basesink_activate),
12687         (gst_basesink_change_state):
12688         * gst/base/gstbasesink.h:
12689         * gst/elements/Makefile.am:
12690         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12691         (gst_fakesink_class_init), (gst_fakesink_init),
12692         (gst_fakesink_set_property), (gst_fakesink_get_property),
12693         (gst_fakesink_get_times), (gst_fakesink_event),
12694         (gst_fakesink_preroll), (gst_fakesink_render),
12695         (gst_fakesink_change_state):
12696         * gst/elements/gstfakesink.h:
12697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12698         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12699         * gst/gstelement.c: (gst_element_add_pad),
12700         (gst_element_get_state_func), (gst_element_abort_state),
12701         (gst_element_commit_state), (gst_element_lost_state),
12702         (gst_element_set_state), (gst_element_pads_activate):
12703         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12704         * gst/gstpipeline.c: (gst_pipeline_send_event),
12705         (gst_pipeline_change_state):
12706         Added state change code.
12707         Added/updated docs.
12708         Added sink base class, make fakesink extend the base class.
12709         Small cleanups in GstPipeline.
12710
12711 2005-03-26  David Schleef  <ds@schleef.org>
12712
12713         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12714         is broken and should be implemented in a different library.
12715         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12716         * gst/gst.h: remove gstcpu.h
12717         * gst/gstcpu.c: remove
12718         * gst/gstcpu.h: remove
12719         * gst/Makefile.am.future: Remove this file.  It's ancient.
12720
12721 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12722
12723         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12724         (gst_bin_send_event):
12725           Add default event/set_manager handlers. The set_manager handler
12726           takes care that the manager is distributed over kids that were
12727           already in the bin before the manager was set. The event handler
12728           is a utility virtual function that sends the event over all sinks,
12729           so that gst_element_send_event (bin, event); has the expected
12730           behaviour.
12731         * gst/gstpad.c: (gst_pad_event_default):
12732           Re-install default event handling for discontinuities, so that
12733           seeking works without requiring hacks in applications or extra
12734           code in sinks.
12735         * gst/gstpipeline.c: (gst_pipeline_class_init),
12736         (gst_pipeline_send_event):
12737           Half hack, half utility: set a pipeline to PAUSED for seek events,
12738           since that is the only way we can guarantee a/v sync. Means that
12739           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12740           and it "just works".
12741
12742 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12743
12744         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12745           Lock/unlock mismatch.
12746
12747 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12748
12749         * docs/faq/gst-uninstalled:
12750           add gst-plugins-base
12751         * docs/gst/Makefile.am:
12752           don't error out until docs are fixed
12753         * docs/gst/gstreamer.types:
12754           remove thread
12755
12756 2005-03-22  Wim Taymans  <wim@fluendo.com>
12757
12758         * check/Makefile.am:
12759         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12760         * gst/gststructure.c: (gst_structure_set_valist),
12761         (gst_structure_copy_conditional):
12762         Activated more tests.
12763         Added message test.
12764         Added G_TYPE_POINTER to GstStructure.
12765         
12766
12767 2005-03-22  Wim Taymans  <wim@fluendo.com>
12768
12769         * docs/design/part-TODO.txt:
12770         * docs/design/part-events.txt:
12771         * docs/design/part-gstbin.txt:
12772         * docs/design/part-gstbus.txt:
12773         * docs/design/part-gstpipeline.txt:
12774         * docs/design/part-messages.txt:
12775         * gst/gstbus.c:
12776         * gst/gstmessage.c:
12777         Docs updates
12778
12779 2005-03-21  Wim Taymans  <wim@fluendo.com>
12780
12781         * gst/gstbus.c: (gst_bus_post):
12782         Fix copy-and-paste error.
12783
12784 2005-03-21  Wim Taymans  <wim@fluendo.com>
12785
12786         * check/Makefile.am:
12787         * gst/Makefile.am:
12788         * gst/elements/Makefile.am:
12789         * gst/elements/gstelements.c:
12790         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12791         (gst_fakesink_event), (gst_fakesink_chain):
12792         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12793         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12794         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12795         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12796         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12797         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12798         (gst_fakesrc_loop), (gst_fakesrc_activate),
12799         (gst_fakesrc_change_state):
12800         * gst/elements/gstfakesrc.h:
12801         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12802         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12803         (gst_filesrc_open_file), (gst_filesrc_loop),
12804         (gst_filesrc_activate), (gst_filesrc_change_state),
12805         (filesrc_find_peek), (filesrc_find_suggest),
12806         (gst_filesrc_type_find):
12807         * gst/elements/gstidentity.c: (gst_identity_finalize),
12808         (gst_identity_class_init), (gst_identity_init),
12809         (gst_identity_proxy_getcaps), (identity_queue_push),
12810         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12811         (gst_identity_getrange), (gst_identity_chain),
12812         (gst_identity_sink_loop), (gst_identity_src_loop),
12813         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12814         (gst_identity_set_property), (gst_identity_get_property),
12815         (gst_identity_change_state):
12816         * gst/elements/gstidentity.h:
12817         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12818         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12819         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12820         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12821         (gst_tee_sink_activate):
12822         * gst/elements/gsttee.h:
12823         * gst/gst.c: (gst_register_core_elements), (init_post):
12824         * gst/gst.h:
12825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12826         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12827         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12828         (gst_bin_change_state):
12829         * gst/gstbin.h:
12830         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12831         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12832         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12833         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12834         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12835         (bus_watch_callback), (bus_watch_destroy),
12836         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12837         (poll_timeout), (gst_bus_poll):
12838         * gst/gstbus.h:
12839         * gst/gstcaps.h:
12840         * gst/gstdata.h:
12841         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12842         (gst_element_post_message), (gst_element_message_full),
12843         (gst_element_get_state_func), (gst_element_get_state),
12844         (gst_element_abort_state), (gst_element_commit_state),
12845         (gst_element_lost_state), (gst_element_set_state),
12846         (gst_element_pads_activate), (gst_element_change_state),
12847         (gst_element_dispose), (gst_element_set_manager_func),
12848         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12849         (gst_element_set_manager), (gst_element_get_manager),
12850         (gst_element_set_bus), (gst_element_get_bus),
12851         (gst_element_set_scheduler), (gst_element_get_scheduler):
12852         * gst/gstelement.h:
12853         * gst/gstevent.c: (gst_event_new_segment_seek),
12854         (gst_event_new_flush):
12855         * gst/gstevent.h:
12856         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12857         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12858         (gst_message_new_eos), (gst_message_new_error),
12859         (gst_message_new_warning), (gst_message_new_tag),
12860         (gst_message_new_state_changed), (gst_message_new_application),
12861         (gst_message_get_structure), (gst_message_parse_tag),
12862         (gst_message_parse_state_changed), (gst_message_parse_error),
12863         (gst_message_parse_warning):
12864         * gst/gstmessage.h:
12865         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12866         (gst_real_pad_set_property), (gst_pad_set_active),
12867         (gst_pad_is_active), (gst_pad_set_blocked_async),
12868         (gst_pad_set_blocked), (gst_pad_is_blocked),
12869         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12870         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12871         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12872         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12873         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12874         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12875         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12876         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12877         (gst_pad_set_caps), (gst_pad_configure_sink),
12878         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12879         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12880         (gst_real_pad_dispose), (gst_real_pad_finalize),
12881         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12882         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12883         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12884         * gst/gstpad.h:
12885         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12886         (pipeline_bus_handler), (gst_pipeline_change_state),
12887         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12888         * gst/gstpipeline.h:
12889         * gst/gstprobe.h:
12890         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12891         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12892         (gst_queue_link_src), (gst_queue_bufferalloc),
12893         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12894         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12895         (gst_queue_loop), (gst_queue_handle_src_event),
12896         (gst_queue_handle_src_query), (gst_queue_src_activate),
12897         (gst_queue_change_state):
12898         * gst/gstqueue.h:
12899         * gst/gstscheduler.c: (gst_scheduler_init),
12900         (gst_scheduler_dispose), (gst_scheduler_create_task),
12901         (gst_scheduler_factory_create):
12902         * gst/gstscheduler.h:
12903         * gst/gststructure.c: (gst_structure_get_type),
12904         (gst_structure_copy_conditional):
12905         * gst/gststructure.h:
12906         * gst/gsttaginterface.h:
12907         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12908         (gst_task_init), (gst_task_dispose), (gst_task_create),
12909         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12910         (gst_task_pause):
12911         * gst/gsttask.h:
12912         * gst/gstthread.c:
12913         * gst/gstthread.h:
12914         * gst/gsttypes.h:
12915         * gst/schedulers/Makefile.am:
12916         * gst/schedulers/cothreads_compat.h:
12917         * gst/schedulers/entryscheduler.c:
12918         * gst/schedulers/faircothreads.c:
12919         * gst/schedulers/faircothreads.h:
12920         * gst/schedulers/fairscheduler.c:
12921         * gst/schedulers/gstbasicscheduler.c:
12922         * gst/schedulers/gstoptimalscheduler.c:
12923         * gst/schedulers/gthread-cothreads.h:
12924         * gst/schedulers/threadscheduler.c:
12925         (gst_thread_scheduler_task_get_type),
12926         (gst_thread_scheduler_task_class_init),
12927         (gst_thread_scheduler_task_init),
12928         (gst_thread_scheduler_task_start),
12929         (gst_thread_scheduler_task_stop),
12930         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12931         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12932         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12933         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12934         (plugin_init):
12935         * libs/gst/Makefile.am:
12936         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12937         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12938         (gst_file_pad_parent_set):
12939         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12940         (gst_dp_event_from_packet):
12941         * tests/complexity.c: (main):
12942         * tests/mass_elements.c: (main):
12943         * testsuite/states/locked.c: (message_received), (main):
12944         * testsuite/states/parent.c: (main):
12945         * tools/gst-inspect.c: (print_element_flag_info),
12946         (print_implementation_info), (print_pad_info):
12947         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12948         (main):
12949         * tools/gst-md5sum.c: (event_loop), (main):
12950         * tools/gst-typefind.c: (main):
12951         * tools/gst-xmlinspect.c: (print_element_info):
12952         Next big merge.
12953         Added GstBus for mainloop integration.
12954         Added GstMessage for sending notifications on the bus.
12955         Added GstTask as an abstraction for pipeline entry points.
12956         Removed GstThread.
12957         Removed Schedulers.
12958         Simplified GstQueue for multithreaded core.
12959         Made _link threadsafe, removed old capsnego.
12960         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12961         Added pad blocking functions.
12962         Reworked scheduling functions in GstPad to prepare for
12963         scheduling updates soon.
12964         Moved events out of data stream.
12965         Simplified GstEvent types.
12966         Added return values to push/pull.
12967         Removed clocking from GstElement.
12968         Added prototypes for state change function for next merge.
12969         Removed iterate from bins and state change management.
12970         Fixed some elements, disabled others for now.
12971         Fixed -inspect and -launch.
12972         Added check for GstBus.
12973
12974 2005-03-10  Wim Taymans  <wim@fluendo.com>
12975
12976         * docs/design/part-MT-refcounting.txt:
12977         * docs/design/part-clocks.txt:
12978         * docs/design/part-gstelement.txt:
12979         * docs/design/part-gstobject.txt:
12980         * docs/design/part-standards.txt:
12981         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12982         (gst_bin_remove_func), (gst_bin_remove):
12983         * gst/gstbin.h:
12984         * gst/gstbuffer.c:
12985         * gst/gstcaps.h:
12986         * testsuite/clock/clock1.c: (main):
12987         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12988         (main):
12989         * testsuite/dlopen/loadgst.c: (do_test):
12990         * testsuite/refcounting/bin.c: (add_remove_test1),
12991         (add_remove_test2), (main):
12992         * testsuite/refcounting/element.c: (main):
12993         * testsuite/refcounting/element_pad.c: (main):
12994         * testsuite/refcounting/pad.c: (main):
12995         * tools/gst-launch.c: (sigint_handler_sighandler):
12996         * tools/gst-typefind.c: (main):
12997         Doc updates.
12998         Added doc about clock.
12999         removed gst_bin_iterate_recurse_up(), marked methods
13000         for removal.
13001         Fix more testsuites.
13002
13003 2005-03-09  Wim Taymans  <wim@fluendo.com>
13004
13005         * gst/gstpad.c: (gst_pad_get_direction),
13006         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13007         (gst_pad_collect_valist):
13008         * testsuite/bins/interface.c: (main):
13009         * testsuite/caps/audioscale.c: (test_caps):
13010         * testsuite/caps/caps.c: (test1), (test2), (test3):
13011         * testsuite/caps/deserialize.c: (main):
13012         * testsuite/caps/enumcaps.c: (main):
13013         * testsuite/caps/filtercaps.c: (main):
13014         * testsuite/caps/intersect2.c: (main):
13015         * testsuite/caps/random.c: (main):
13016         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13017         * testsuite/caps/sets.c: (check_caps):
13018         * testsuite/caps/simplify.c: (check_caps), (main):
13019         * testsuite/caps/subtract.c: (check_caps):
13020         Fix _pad_get_direction wrt ghostpads.
13021         Fix caps testsuite.
13022
13023 2005-03-09  Wim Taymans  <wim@fluendo.com>
13024
13025         * check/Makefile.am:
13026         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13027         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13028         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13029         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13030         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13031         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13032         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13033         (bin_element_is_sink), (gst_bin_iterate_sinks),
13034         (gst_bin_iterate_all_by_interface):
13035         * gst/gstbin.h:
13036         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13037         (gst_element_change_state), (gst_element_dispose),
13038         (gst_element_finalize), (gst_element_set_loop_function):
13039         * gst/gstelement.h:
13040         * gst/gstiterator.c: (find_custom_fold_func):
13041         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13042         (gst_pad_collectv), (gst_pad_collect_valist),
13043         (gst_pad_template_new):
13044         * gst/gstpipeline.c: (gst_pipeline_class_init),
13045         (gst_pipeline_dispose), (gst_pipeline_set_property),
13046         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13047         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13048         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13049         * gst/gstutils.h:
13050         * gst/schedulers/entryscheduler.c:
13051         * gst/schedulers/gstbasicscheduler.c:
13052         (gst_basic_scheduler_cothreaded_chain),
13053         (gst_basic_scheduler_chain_add_element):
13054         * testsuite/bins/interface.c: (main):
13055         Added GstBin test.
13056         Added GstSystemClock test.
13057         Implemented clock distribution code in GstBin.
13058         Implemented iterate sinks method for future use.
13059         Rearranged gstelement.h
13060         Fix GstIterator comparison bug.
13061         Moved some code to GstPipeline, mostly clocking related.
13062
13063 2005-03-09  Wim Taymans  <wim@fluendo.com>
13064
13065         * configure.ac:
13066         * gst/gst_private.h:
13067         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13068         (gst_bin_remove_func), (gst_bin_remove),
13069         (gst_bin_get_by_name_recurse_up):
13070         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13071         (gst_clock_id_compare_func), (gst_clock_id_wait),
13072         (gst_clock_id_wait_async), (gst_clock_init),
13073         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13074         * gst/gstelement.h:
13075         * gst/gstinfo.c: (_gst_debug_init):
13076         * gst/gstobject.h:
13077         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13078         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13079         * gst/gstpad.h:
13080         Bump version number, we're now 0.9.0
13081         Add future debugging category.
13082         Fix NULL _unref() in _get_by_name_recurse_up
13083         Rearrange gstpad.h.
13084         Update some docs.
13085
13086 2005-03-08  Wim Taymans  <wim@fluendo.com>
13087
13088         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13089         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13090         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13091         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13092         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13093         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13094         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13095         * gst/elements/gstidentity.c: (gst_identity_class_init):
13096         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13097         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13098         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13099         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13100         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13101         (gst_tee_link):
13102         * gst/gstelement.c: (gst_element_class_init),
13103         (gst_element_base_class_init), (gst_element_init),
13104         (gst_element_get_random_pad), (gst_element_wait_state_change),
13105         (gst_element_change_state), (gst_element_dispose),
13106         (gst_element_finalize), (gst_element_set_loop_function):
13107         * gst/gstelement.h:
13108         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13109         * gst/gstthread.c: (gst_thread_class_init),
13110         (gst_thread_release_children_locks), (gst_thread_change_state):
13111         * gst/schedulers/gstbasicscheduler.c:
13112         (gst_basic_scheduler_loopfunc_wrapper),
13113         (gst_basic_scheduler_chain_wrapper),
13114         (gst_basic_scheduler_src_wrapper),
13115         (gst_basic_scheduler_remove_element):
13116         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13117         Remove threadsafe properties. Fix elements because GObject
13118         complains when installing a property before declaring a
13119         set/get_property handler.
13120         Rearrange gstelement.h file, use STATE macros for state locks.
13121         Free mutexes in the finalize method instead of dispose.
13122
13123 2005-03-08  Wim Taymans  <wim@fluendo.com>
13124
13125         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13126         * gst/gstthread.c: (gst_thread_release_children_locks):
13127         Added parentage check.
13128         Fix build og GstThread again.
13129
13130 2005-03-08  Wim Taymans  <wim@fluendo.com>
13131
13132         * docs/design/part-MT-refcounting.txt:
13133         * docs/design/part-conventions.txt:
13134         * docs/design/part-gstobject.txt:
13135         * docs/design/part-relations.txt:
13136         * docs/design/part-standards.txt:
13137         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13138         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13139         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13140         (gst_bin_iterate_all_by_interface):
13141         * gst/gstbuffer.h:
13142         * gst/gstclock.h:
13143         * gst/gstelement.c: (gst_element_class_init),
13144         (gst_element_change_state), (gst_element_set_loop_function):
13145         * gst/gstelement.h:
13146         * gst/gstiterator.c:
13147         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13148         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13149         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13150         (gst_object_set_parent), (gst_object_unparent),
13151         (gst_object_check_uniqueness):
13152         * gst/gstobject.h:
13153         Docs updates, clean up some headers.
13154
13155 2005-03-07  Wim Taymans  <wim@fluendo.com>
13156
13157         * check/.cvsignore:
13158         * check/Makefile.am:
13159         * check/gst-libs/.cvsignore:
13160         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13161         * check/gst/.cvsignore:
13162         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13163         (START_TEST), (gstbus_suite), (main):
13164         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13165         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13166         (gst_data_suite), (main):
13167         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13168         (add_fold_func), (gstiterator_suite), (main):
13169         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13170         (thread_name_object), (thread_name_object_default),
13171         (gst_object_name_compare), (gst_object_suite), (main):
13172         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13173         (gst_pad_suite), (main):
13174         * check/gstcheck.c: (gst_check_log_message_func),
13175         (gst_check_log_critical_func), (gst_check_init):
13176         * check/gstcheck.h:
13177         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13178         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13179         Added checks.
13180
13181 2005-03-07  Wim Taymans  <wim@fluendo.com>
13182
13183         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13184         (gst_list_iterator_next), (gst_list_iterator_resync),
13185         (gst_list_iterator_free), (gst_iterator_new_list),
13186         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13187         (gst_iterator_free), (gst_iterator_push), (filter_next),
13188         (filter_resync), (filter_uninit), (filter_free),
13189         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13190         (gst_iterator_foreach), (find_custom_fold_func),
13191         (gst_iterator_find_custom):
13192         * gst/gstiterator.h:
13193         Added missing files.
13194
13195 2005-03-07  Wim Taymans  <wim@fluendo.com>
13196
13197         * Makefile.am:
13198         * configure.ac:
13199         * docs/design/part-MT-refcounting.txt:
13200         * docs/design/part-conventions.txt:
13201         * docs/design/part-gstobject.txt:
13202         * docs/design/part-relations.txt:
13203         * examples/mixer/mixer.c: (main):
13204         * examples/thread/thread.c: (eos), (main):
13205         * gst/Makefile.am:
13206         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13207         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13208         (gst_spider_plug_from_srcpad):
13209         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13210         (gst_spider_identity_change_state),
13211         (gst_spider_identity_sink_loop_type_finding):
13212         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13213         * gst/elements/gstidentity.c: (gst_identity_init):
13214         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13215         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13216         * gst/elements/gsttypefindelement.c: (free_entry):
13217         * gst/gst.c:
13218         * gst/gst.h:
13219         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13220         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13221         (gst_bin_set_index), (gst_bin_set_element_sched),
13222         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13223         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13224         (gst_bin_iterate_elements), (iterate_child_recurse),
13225         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13226         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13227         (compare_interface), (gst_bin_get_by_interface),
13228         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13229         * gst/gstbin.h:
13230         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13231         (gst_buffer_default_free), (gst_buffer_default_copy),
13232         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13233         (gst_buffer_create_sub):
13234         * gst/gstbuffer.h:
13235         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13236         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13237         (gst_caps_unref), (gst_static_caps_get),
13238         (gst_caps_remove_and_get_structure), (gst_caps_append),
13239         (gst_caps_append_structure), (gst_caps_remove_structure),
13240         (gst_caps_copy_nth), (gst_caps_set_simple),
13241         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13242         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13243         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13244         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13245         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13246         (gst_caps_structure_figure_out_union),
13247         (gst_caps_switch_structures), (gst_caps_do_simplify),
13248         (gst_caps_replace), (gst_caps_from_string),
13249         (gst_caps_copy_conditional):
13250         * gst/gstcaps.h:
13251         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13252         (_gst_clock_id_free), (gst_clock_id_unref),
13253         (gst_clock_id_compare_func), (gst_clock_id_wait),
13254         (gst_clock_id_wait_async), (gst_clock_class_init),
13255         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13256         (gst_clock_get_time), (gst_clock_set_time_adjust),
13257         (gst_clock_set_property), (gst_clock_get_property):
13258         * gst/gstclock.h:
13259         * gst/gstcompat.h:
13260         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13261         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13262         * gst/gstdata.h:
13263         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13264         (gst_element_requires_clock), (gst_element_provides_clock),
13265         (gst_element_set_clock), (gst_element_clock_wait),
13266         (gst_element_wait), (gst_element_set_time_delay),
13267         (gst_element_is_indexable), (gst_element_add_pad),
13268         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13269         (pad_compare_name), (gst_element_get_static_pad),
13270         (gst_element_request_pad), (gst_element_get_request_pad),
13271         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13272         (gst_element_class_get_pad_template_list),
13273         (gst_element_class_get_pad_template), (gst_element_error_func),
13274         (gst_element_get_random_pad), (gst_element_get_event_masks),
13275         (gst_element_send_event), (gst_element_seek),
13276         (gst_element_get_query_types), (gst_element_query),
13277         (gst_element_get_formats), (gst_element_convert),
13278         (gst_element_is_locked_state), (gst_element_set_locked_state),
13279         (gst_element_sync_state_with_parent), (gst_element_change_state),
13280         (gst_element_finalize), (gst_element_yield),
13281         (gst_element_interrupt), (gst_element_set_scheduler),
13282         (gst_element_get_scheduler), (gst_element_set_loop_function):
13283         * gst/gstelement.h:
13284         * gst/gstevent.h:
13285         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13286         (gst_format_get_by_nick), (gst_format_get_details),
13287         (gst_format_iterate_definitions):
13288         * gst/gstformat.h:
13289         * gst/gstindex.c: (gst_index_gtype_resolver):
13290         * gst/gstinfo.c:
13291         * gst/gstinfo.h:
13292         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13293         (gst_mem_chunk_free):
13294         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13295         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13296         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13297         (gst_object_dispatch_properties_changed),
13298         (gst_object_set_name_default), (gst_object_set_name),
13299         (gst_object_get_name), (gst_object_set_name_prefix),
13300         (gst_object_get_name_prefix), (gst_object_set_parent),
13301         (gst_object_get_parent), (gst_object_unparent),
13302         (gst_object_check_uniqueness), (gst_object_save_thyself),
13303         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13304         (gst_object_set_property), (gst_object_get_property),
13305         (gst_object_get_path_string):
13306         * gst/gstobject.h:
13307         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13308         (gst_real_pad_init), (gst_real_pad_get_property),
13309         (gst_pad_custom_new), (gst_pad_get_direction),
13310         (gst_pad_set_active), (gst_pad_is_active),
13311         (gst_pad_set_event_function), (gst_pad_is_linked),
13312         (gst_pad_link_free), (gst_pad_link_intersect),
13313         (gst_pad_link_fixate), (gst_pad_set_caps),
13314         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13315         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13316         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13317         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13318         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13319         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13320         (gst_pad_realize), (gst_pad_get_allowed_caps),
13321         (gst_real_pad_dispose), (gst_real_pad_finalize),
13322         (gst_pad_collectv), (gst_pad_collect_valist),
13323         (gst_pad_template_dispose), (gst_pad_template_new),
13324         (gst_pad_get_internal_links):
13325         * gst/gstpad.h:
13326         * gst/gstpipeline.c: (gst_pipeline_dispose),
13327         (gst_pipeline_change_state):
13328         * gst/gstpipeline.h:
13329         * gst/gstplugin.c:
13330         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13331         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13332         * gst/gstpluginfeature.h:
13333         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13334         * gst/gstquery.c: (_gst_query_type_initialize),
13335         (gst_query_type_register), (gst_query_type_get_by_nick),
13336         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13337         * gst/gstquery.h:
13338         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13339         * gst/gstscheduler.c: (gst_scheduler_add_element),
13340         (gst_scheduler_factory_create):
13341         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13342         (gst_structure_free), (gst_structure_set_name),
13343         (gst_structure_id_set_value), (gst_structure_set_value),
13344         (gst_structure_set_valist), (gst_structure_remove_field),
13345         (gst_structure_remove_fields),
13346         (gst_structure_remove_fields_valist),
13347         (gst_structure_remove_all_fields), (gst_structure_foreach),
13348         (gst_structure_map_in_place),
13349         (gst_caps_structure_fixate_field_nearest_int),
13350         (gst_caps_structure_fixate_field_nearest_double):
13351         * gst/gststructure.h:
13352         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13353         (gst_system_clock_init), (gst_system_clock_dispose),
13354         (gst_system_clock_async_thread),
13355         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13356         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13357         * gst/gstsystemclock.h:
13358         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13359         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13360         * gst/gsttaginterface.c:
13361         * gst/gstthread.c: (gst_thread_dispose),
13362         (gst_thread_release_children_locks), (gst_thread_change_state),
13363         (gst_thread_main_loop):
13364         * gst/gsttrashstack.h:
13365         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13366         * gst/gsttypes.h:
13367         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13368         (gst_element_request_pad), (gst_element_get_pad_from_template),
13369         (gst_element_request_compatible_pad),
13370         (gst_element_get_compatible_pad_filtered),
13371         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13372         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13373         (gst_element_link_many), (gst_element_link),
13374         (gst_element_link_pads), (gst_element_unlink_pads),
13375         (gst_element_unlink_many), (gst_element_unlink),
13376         (gst_pad_can_link_filtered), (gst_pad_can_link),
13377         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13378         (gst_object_default_error), (gst_bin_add_many),
13379         (gst_bin_remove_many), (gst_element_populate_std_props),
13380         (gst_element_class_install_std_props), (gst_buffer_merge),
13381         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13382         (link_fold_func), (gst_pad_proxy_setcaps):
13383         * gst/gstutils.h:
13384         * gst/gstvalue.c: (gst_value_deserialize_string):
13385         * gst/parse/grammar.y:
13386         * gst/schedulers/gstbasicscheduler.c:
13387         (gst_basic_scheduler_cothreaded_chain),
13388         (gst_basic_scheduler_chain_recursive_add),
13389         (gst_basic_scheduler_pad_link):
13390         * gst/schedulers/gstoptimalscheduler.c:
13391         (get_group_schedule_function),
13392         (gst_opt_scheduler_state_transition),
13393         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13394         * libs/gst/bytestream/bytestream.c:
13395         * libs/gst/dataprotocol/dataprotocol.c:
13396         (gst_dp_header_from_buffer):
13397         * po/nb.po:
13398         * po/ru.po:
13399         * tests/threadstate/threadstate2.c: (eos):
13400         * tools/gst-compprep.c: (main):
13401         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13402         (print_pad_info), (print_children_info):
13403         * tools/gst-launch.c: (idle_func), (main):
13404         * tools/gst-md5sum.c: (idle_func), (main):
13405         * tools/gst-xmlinspect.c: (print_element_info):
13406         First THREADED backport attempt, focusing on adding locks and
13407         making sure the API is threadsafe. Needs more work. More docs
13408         follow this week.
13409
13410 2005-02-24  Andy Wingo  <wingo@pobox.com>
13411
13412         * tests/bench-complexity.scm:
13413         * tests/complexity.gnuplot: New files, good for running complexity
13414         benchmarks.
13415
13416         * tests/Makefile.am:
13417         * tests/complexity.c: New test, sets up N elements, at each level
13418         teeing into M streams per element. Eeeenteresting.
13419
13420         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13421         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13422         running bench-mass_elements.scm.
13423
13424         * tests/bench-mass_elements.scm: New script, runs mass_elements
13425         for various numbers of identities, outputting the results to a
13426         file. Requires guile 1.6. Just for testing.
13427
13428 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13429
13430         * gst/schedulers/fairscheduler.c:
13431           compile with debug disabled
13432
13433 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13434
13435         * configure.ac:
13436           hunting season on 0.9 is now OPEN