tests/examples/: More gcc4 fixes and a mem leak fix.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tests/examples/typefind/typefind.c: (type_found):
4         * tests/examples/xml/runxml.c: (xml_loaded):
5           More gcc4 fixes and a mem leak fix.
6
7 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
8
9         * tests/examples/xml/createxml.c: (object_saved):
10           gcc 4 fixes
11
12 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13
14         * tests/Makefile.am:
15           enable the examples even more
16
17 2005-12-12  Andy Wingo  <wingo@pobox.com>
18
19         * libs/gst/net/gstnettimeprovider.c
20         (gst_net_time_provider_class_init, gst_net_time_provider_init)
21         (gst_net_time_provider_set_property)
22         (gst_net_time_provider_get_property): Export "active" as a GObject
23         property.
24         (gst_net_time_provider_thread): Only respond to time queries if
25         the time provider is active.
26
27         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
28         NetTimeProvider, preserving binary compat.
29
30 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
31
32         * tests/examples/controller/audio-example.c: (main):
33         * tests/examples/launch/Makefile.am:
34           convert comments again
35
36 2005-12-12  Wim Taymans  <wim@fluendo.com>
37
38         * libs/gst/base/gstpushsrc.c:
39         Fix typo.
40
41 2005-12-12  Wim Taymans  <wim@fluendo.com>
42
43         * docs/libs/gstreamer-libs-sections.txt:
44         Added new symbol to docs.
45
46         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
47         (gst_base_src_init), (gst_base_src_set_format),
48         (gst_base_src_default_query), (gst_base_src_query),
49         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
50         (gst_base_src_perform_seek), (gst_base_src_send_event),
51         (gst_base_src_default_event), (gst_base_src_event_handler),
52         (gst_base_src_set_property), (gst_base_src_get_property),
53         (gst_base_src_wait), (gst_base_src_do_sync),
54         (gst_base_src_update_length), (gst_base_src_get_range),
55         (gst_base_src_check_get_range), (gst_base_src_loop),
56         (gst_base_src_default_negotiate), (gst_base_src_start),
57         (gst_base_src_activate_push), (gst_base_src_activate_pull),
58         (gst_base_src_change_state):
59         * libs/gst/base/gstbasesrc.h:
60         Implement seeking to other formats than _BYTES.
61         Implement more seeking methods correctly.
62         Doc updates.
63         Added query vmethod.
64         Added do_seek vmethod to make life easier for subclasses
65         when seeking.
66         API addition: gst_base_src_set_format()
67
68 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
69
70         * tests/examples/Makefile.am:
71           added that too
72
73 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
74
75         * configure.ac:
76         * docs/random/ensonic/media-device-daemon.txt:
77         * tests/examples/controller/.cvsignore:
78         * tests/examples/controller/Makefile.am:
79         * tests/examples/controller/audio-example.c: (main):
80         * tests/examples/helloworld/.cvsignore:
81         * tests/examples/helloworld/Makefile.am:
82         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
83         * tests/examples/launch/.cvsignore:
84         * tests/examples/launch/Makefile.am:
85         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
86         * tests/examples/metadata/.cvsignore:
87         * tests/examples/metadata/Makefile.am:
88         * tests/examples/metadata/read-metadata.c: (message_loop),
89         (make_pipeline), (print_tag), (main):
90         * tests/examples/queue/.cvsignore:
91         * tests/examples/queue/Makefile.am:
92         * tests/examples/queue/queue.c: (event_loop), (main):
93         * tests/examples/typefind/.cvsignore:
94         * tests/examples/typefind/Makefile.am:
95         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
96         (main):
97         * tests/examples/xml/.cvsignore:
98         * tests/examples/xml/Makefile.am:
99         * tests/examples/xml/createxml.c: (object_saved), (main):
100         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
101         * tests/old/examples/Makefile.am:
102         * tests/old/examples/TODO:
103         * tests/old/examples/controller/.cvsignore:
104         * tests/old/examples/controller/Makefile.am:
105         * tests/old/examples/controller/audio-example.c:
106         * tests/old/examples/helloworld/.cvsignore:
107         * tests/old/examples/helloworld/Makefile.am:
108         * tests/old/examples/helloworld/helloworld.c:
109         * tests/old/examples/launch/.cvsignore:
110         * tests/old/examples/launch/Makefile.am:
111         * tests/old/examples/launch/mp3parselaunch.c:
112         * tests/old/examples/launch/mp3play:
113         * tests/old/examples/manual/Makefile.am:
114         * tests/old/examples/metadata/Makefile.am:
115         * tests/old/examples/metadata/read-metadata.c:
116         * tests/old/examples/queue/.cvsignore:
117         * tests/old/examples/queue/Makefile.am:
118         * tests/old/examples/queue/queue.c:
119         * tests/old/examples/typefind/.cvsignore:
120         * tests/old/examples/typefind/Makefile.am:
121         * tests/old/examples/typefind/typefind.c:
122         * tests/old/examples/xml/.cvsignore:
123         * tests/old/examples/xml/Makefile.am:
124         * tests/old/examples/xml/createxml.c:
125         * tests/old/examples/xml/runxml.c:
126           applied some simple fixing to some examples
127           re-enabled the working examples
128
129 2005-12-12  Wim Taymans  <wim@fluendo.com>
130
131         * gst/gstsegment.c: (gst_segment_init),
132         (gst_segment_set_last_stop), (gst_segment_set_seek),
133         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
134         (gst_segment_to_running_time):
135         Added more documentation.
136         Make sure the last_pos value is updated properly.
137         Make sure to_stream_time and to_running_time don't
138         operate on wrong values.
139
140         * tests/check/gst/gstsegment.c: (GST_START_TEST):
141         Update check.
142
143 2005-12-12  Michael Smith  <msmith@fluendo.com>
144
145         * plugins/elements/gsttypefindelement.c: (free_entry),
146         (gst_type_find_element_chain):
147           Now that we're not leaking factories, make sure we keep references
148           to them while we need them.
149
150 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
151
152         * tests/check/gst/struct_i386.h:
153           ifdef out the XML structs
154
155 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * gst/gstvalue.c: (gst_value_transform_double_fraction):
158           floor is not needed, F is always positive; this obviates the
159           need for adding -lm when building without libxml
160
161 2005-12-12  Wim Taymans  <wim@fluendo.com>
162
163         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
164         Take current playback rate into account when reporting
165         the position.
166
167 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * docs/manual/mime-world.fig:
170           Let's try this again, this time with a file that is
171           actually in XFig format.
172
173 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
174
175         * docs/manual/mime-world.fig:
176           Add audioconvert element to diagram so that it
177           matches the text and the code (fixes #319526).
178
179 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
180
181         * docs/pwg/building-chainfn.xml:
182         * docs/pwg/building-pads.xml:
183         * docs/pwg/building-state.xml:
184         * docs/pwg/other-source.xml:
185           Update state change stuff for 0.10 (fixes #322969).
186
187 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * docs/manual/advanced-dataaccess.xml:
190         * docs/manual/appendix-checklist.xml:
191         * docs/manual/appendix-programs.xml:
192         * docs/manual/basics-pads.xml:
193         * docs/manual/highlevel-components.xml:
194         * docs/manual/manual.xml:
195           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
196           add converters in front of pipelines; remove curly
197           brackets for threads stuff, they no longer exist; use
198           GST_TYPE_FRACTION for framerates; update some pieces of
199           code to 0.10, but there's plenty more to do.
200
201         * docs/manual/appendix-porting.xml:
202           Expand on asynchroneous state changes; s/0.9/0.10/;
203           mention disappearance of gst_init_get_popt_table()
204           (fixes #322916).
205
206 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
207
208         * docs/faq/using.xml:
209           Spider no longer exists, and neither does gst-launch-ext.
210           Update examples to use decodebin and playbin and put
211           converters in front of sinks (fixes #323726).
212
213 2005-12-09  Michael Smith  <msmith@fluendo.com>
214
215         * plugins/elements/gsttypefindelement.c: (find_peek),
216         (gst_type_find_element_chain):
217           Fix leaking element factories in typefinding.
218           Fix problem where we forgot about a probable type on non-seekable
219           files, and thus later mis-typefound it.
220
221 2005-12-09  Michael Smith  <msmith@fluendo.com>
222
223         * common/m4/gst-makecontext.m4:
224         * common/m4/gst-mcsc.m4:
225         * configure.ac:
226         * win32/common/config.h:
227         * win32/common/config.h.in:
228           Remove makecontext stuff; not used in 0.10 and causes problems on
229           HPUX according to bug #322441
230
231 2005-12-07  Wim Taymans  <wim@fluendo.com>
232
233         * tests/check/Makefile.am:
234         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
235         (main):
236         * tests/check/libs/struct_i386.h:
237         Added ABI check for libs
238
239 2005-12-07  Wim Taymans  <wim@fluendo.com>
240
241         * tests/check/Makefile.am:
242         And add the struct_i386.h to dist.
243
244 2005-12-07  Wim Taymans  <wim@fluendo.com>
245
246         * tests/check/Makefile.am:
247         * tests/check/gst/.cvsignore:
248         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
249         (main):
250         * tests/check/gst/struct_i386.h:
251         Added check for ABI compatibility.
252
253 2005-12-07  Wim Taymans  <wim@fluendo.com>
254
255         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
256         (gst_fake_src_get_times), (gst_fake_src_create):
257         Fix broken sync option, fixes #323259
258
259 2005-12-07  Wim Taymans  <wim@fluendo.com>
260
261         * gst/gstbuffer.c:
262         Small docs update.
263
264         * gst/gstcaps.c: (gst_caps_is_equal):
265         Don't assert on NULL <--> X. Fixes #323260
266
267         * gst/gstminiobject.c: (gst_mini_object_replace):
268         If we're doing atomic operations, we might just as well use
269         the proper way to get an atomic pointer.
270
271         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
272         Clean up debugging.
273
274 2005-12-07  Michael Smith  <msmith@fluendo.com>
275
276         * gst/parse/grammar.y:
277           Remove handling of { } for threads.
278
279 2005-12-06  David Schleef  <ds@schleef.org>
280
281         * libs/gst/base/gstbasetransform.c: speling fix.
282
283 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
284
285         * docs/libs/tmpl/gstdataprotocol.sgml:
286         * docs/random/omega/testing/gstobject.c:
287         * gst/gst.c:
288         * gst/gstclock.c:
289         * gst/gstelement.c:
290         * gst/gstelementfactory.c:
291         * gst/gsterror.c:
292         * gst/gstevent.c:
293         * gst/gstghostpad.c:
294         * gst/gstinfo.c:
295         * gst/gstpadtemplate.c:
296         * gst/gstregistryxml.c:
297         * gst/gsttaglist.c:
298         * gst/gsttagsetter.c:
299         * gst/gsttypefind.c:
300         * gst/gstvalue.c:
301         * libs/gst/base/gstbasesrc.c:
302         * libs/gst/net/gstnetclientclock.c:
303         * libs/gst/net/gstnettimeprovider.c:
304         * plugins/elements/gstfakesrc.c:
305         * plugins/elements/gstfdsrc.c:
306         * plugins/elements/gstfilesrc.c:
307         * plugins/elements/gstidentity.c:
308         * plugins/elements/gstqueue.c:
309         * plugins/elements/gsttypefindelement.c:
310         * plugins/indexers/gstfileindex.c:
311         * plugins/indexers/gstmemindex.c:
312         * tests/check/gst/gsttag.c:
313         * tests/old/examples/cutter/cutter.c:
314         * tests/old/examples/mixer/mixer.c:
315         * tests/old/examples/xml/runxml.c: (main):
316         * tests/old/testsuite/caps/normalisation.c:
317         * tests/old/testsuite/debug/global.c:
318         * tests/old/testsuite/parse/parse1.c:
319         * tools/gst-xmlinspect.c:
320         * win32/common/dirent.c:
321           expand tabs
322
323 === release 0.10.0 ===
324
325 2005-12-05   <thomas (at) apestaart (dot) org>
326
327         * configure.ac:
328           releasing 0.10.0, "Maroilles"
329
330 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
331
332         submitted by: Funda Wang <fundawang@linux.net.cn>
333
334         * po/LINGUAS:
335         * po/zh_CN.po:
336           added Chinese (Traditional) translation
337
338 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
339
340         * docs/gst/gstreamer-sections.txt:
341         * docs/libs/tmpl/gstdataprotocol.sgml:
342         * docs/random/thomasvs/TODO:
343         * gst/gstutils.c:
344         * gst/gstutils.h:
345           fix docs
346
347 2005-12-05  Andy Wingo  <wingo@pobox.com>
348
349         patch by: Wim Taymans <wim@fluendo.com>
350
351         * libs/gst/base/gstbasetransform.c
352         (gst_base_transform_prepare_output_buf)
353         (gst_base_transform_buffer_alloc):
354         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
355         alloc_buffer_and_set_caps.
356
357         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
358         set_caps on the source pad.
359         (gst_pad_alloc_buffer_and_set_caps): New function, does what
360         alloc_buffer used to do. Fixes #322874.
361
362         * docs/gst/gstreamer-sections.txt: 
363         * docs/design/part-negotiation.txt: 
364         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
365         changes.
366
367 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
368
369         patch by: Sebastien Moutte
370
371         * win32/MANIFEST:
372         * win32/common/config.h.in:
373         * win32/vs6/libgstcontroller.dsp:
374           win32 build fixes
375
376 2005-12-05  Wim Taymans  <wim@fluendo.com>
377
378         * gst/gstcaps.c: (gst_caps_is_equal):
379         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
380         (gst_fake_src_create):
381         Back out previous code changes, leave doc updates, file bugs 
382         instead. 
383
384 2005-12-05  Wim Taymans  <wim@fluendo.com>
385
386         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
387         (gst_fake_src_get_times), (gst_fake_src_create):
388         * plugins/elements/gstfakesrc.h:
389         Fix broken sync code.
390
391 2005-12-05  Wim Taymans  <wim@fluendo.com>
392
393         * gst/gstcaps.c: (gst_caps_is_equal):
394         Comparing NULL against !NULL yields different caps, not a
395         failure.
396
397 2005-12-05  Wim Taymans  <wim@fluendo.com>
398
399         * gst/gstpipeline.c:
400         Fix small typo in docs.
401
402 2005-12-05  Andy Wingo  <wingo@pobox.com>
403
404         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * gst/gst.c (init_post): remove hard-coded 0.9 location for
407         registries/plugins with a MAJORMINOR one.
408         (plugin_desc): Rename library from gstcoreleements to
409         staticelements. Fixes #323222.
410
411 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
412
413         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
414           Change debug category to 'collectpads' from 'collect_pads'
415           (fixes #323250).
416
417 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
418
419         patch by: Sebastien Moutte
420
421         * libs/gst/controller/gstinterpolation.c:
422           use convert function for uint64/double
423         * win32/vs6/libgstcontroller.dsp:
424           link to GLib
425
426 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
427
428         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
429         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
430         * gst/gstutils.h:
431         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
432           add tests that seem to show that the guint64/gdouble conversions
433           are correct.
434
435 2005-12-02  Wim Taymans  <wim@fluendo.com>
436
437         * gst/gstregistry.c: (gst_registry_add_path):
438         * gst/gstregistry.h:
439         * gst/gstregistryxml.c:
440         Fix docs again.
441
442 2005-12-02  Wim Taymans  <wim@fluendo.com>
443
444         * gst/gstutils.c: (gst_util_uint64_scale_int64),
445         (gst_util_uint64_scale_int):
446         Small cleanup.
447
448         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
449         Add debug log line.
450
451         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
452         Add FIXME.
453
454 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
455
456         * win32/MANIFEST:
457         * win32/common/config.h:
458         * win32/vs6/gstreamer.dsw:
459         * win32/vs6/libgstcoreelements.dsp:
460         * win32/vs6/libgstelements.dsp:
461           renamed core elements plugin
462
463 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
466         (get_candidates):
467           do piece-wise major/minor comparison so 0.9 < 0.10
468           also allow .exe extensions for tools
469
470 2005-12-02  Michael Smith  <msmith@fluendo.com>
471
472         * gst/gst.c:
473           Escape a % to make gtkdoc happier; bug 322958.
474
475 === release 0.9.7 ===
476
477 2005-12-01   <thomas (at) apestaart (dot) org>
478
479         * configure.ac:
480           releasing 0.9.7, "My Dog Has No Nose"
481
482 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
483
484         * common/gst-xmlinspect.py:
485         * configure.ac:
486         * docs/libs/tmpl/gstdataprotocol.sgml:
487         * docs/random/release:
488         * po/af.po:
489         * po/az.po:
490         * po/bg.po:
491         * po/ca.po:
492         * po/cs.po:
493         * po/de.po:
494         * po/en_GB.po:
495         * po/fr.po:
496         * po/it.po:
497         * po/nb.po:
498         * po/nl.po:
499         * po/ru.po:
500         * po/sq.po:
501         * po/sr.po:
502         * po/sv.po:
503         * po/tr.po:
504         * po/uk.po:
505         * po/vi.po:
506         * win32/common/config.h:
507         * win32/common/config.h.in:
508         * win32/vs6/gst_inspect.dsp:
509         * win32/vs6/gst_launch.dsp:
510         * win32/vs6/libgstbase.dsp:
511         * win32/vs6/libgstelements.dsp:
512         * win32/vs6/libgstreamer.dsp:
513         * win32/vs7/GStreamer.vcproj:
514         * win32/vs7/gst-inspect.vcproj:
515         * win32/vs7/gst-launch.vcproj:
516         * win32/vs7/libgstbase.vcproj:
517           bump GST_MAJORMINOR to 0.10
518           reset libtool version
519
520 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
521
522         * po/LINGUAS:
523         * po/bg.po:
524           Added Bulgarian translation by (Alexander Shopov)
525
526 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
527
528         * tests/check/gst/gstplugin.c:
529           fix test
530
531 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
532
533         * common/gst-xmlinspect.py:
534         * common/gtk-doc-plugins.mak:
535         * configure.ac:
536         * docs/Makefile.am:
537         * docs/gst/Makefile.am:
538         * docs/gst/gstreamer-docs.sgml:
539         * docs/gst/gstreamer-sections.txt:
540         * docs/gst/gstreamer.types:
541         * docs/gst/gstreamer.types.in:
542         * docs/plugins/Makefile.am:
543         * docs/plugins/gstreamer-plugins-docs.sgml:
544         * docs/plugins/gstreamer-plugins-sections.txt:
545         * docs/plugins/gstreamer-plugins.types:
546         * docs/plugins/inspect.stamp:
547         * docs/plugins/inspect/plugin-coreelements.xml:
548         * docs/plugins/inspect/plugin-coreindexers.xml:
549         * docs/plugins/scanobj-build.stamp:
550         * gstreamer.spec.in:
551         * plugins/elements/Makefile.am:
552         * plugins/elements/gstelements.c:
553         * plugins/elements/gstfakesink.c:
554         * plugins/elements/gstfakesrc.c:
555         * plugins/elements/gstfilesink.c:
556         * plugins/elements/gstfilesrc.c:
557         * plugins/elements/gstqueue.c:
558         * plugins/indexers/Makefile.am:
559         * plugins/indexers/gstindexers.c:
560           document core plugins in a separate document just like all the
561           others
562           rename these plugins to something starting with core
563
564 2005-12-01  Andy Wingo  <wingo@pobox.com>
565
566         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
567         padding here before, but it missed the commit.
568
569 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
570
571         * libs/gst/controller/gstinterpolation.c:
572           whitespace prices have crashed, we should feel free to use some now
573           use gst_guint64_to_gdouble
574
575 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         * libs/gst/controller/gstcontroller.c:
578         * libs/gst/controller/gsthelper.c:
579         * libs/gst/controller/gstinterpolation.c:
580         * libs/gst/controller/lib.c:
581           wrap config.h include
582
583 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
584
585         * docs/gst/gstreamer-sections.txt:
586           update docs
587
588 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
589
590         * plugins/elements/gstelements.c:
591         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
592         (gst_fd_sink__class_init), (gst_fd_sink__init),
593         (gst_fd_sink__chain), (gst_fd_sink__set_property),
594         (gst_fd_sink__get_property):
595         * plugins/elements/gstfdsink.h:
596         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
597         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
598         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
599         (gst_fd_src_unlock), (gst_fd_src_set_property),
600         (gst_fd_src_get_property), (gst_fd_src_create),
601         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
602         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
603         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
604         (gst_fd_src_uri_handler_init):
605         * plugins/elements/gstfdsrc.h:
606         * plugins/elements/gstqueue.c: (gst_queue_get_type):
607           more anal cleanup
608
609 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
610
611         * docs/gst/Makefile.am:
612         * docs/gst/gstreamer.types.in:
613         * gst/Makefile.am:
614           fix the docs build
615
616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * configure.ac:
619         * gst/Makefile.am:
620         * gst/gst.c:
621         * gst/gstplugin.h:
622         * gst/gstregistry.h:
623         * tests/benchmarks/complexity.c:
624         * tests/benchmarks/mass-elements.c:
625         * tests/check/Makefile.am:
626         * tools/Makefile.am:
627         * tools/gst-inspect.c:
628         * tools/gst-xmlinspect.c:
629           various fixes to make
630           --disable-nls --disable-registry --disable-loadsave
631           --disable-parse --disable-gst-debug
632           work and get the core .so down to 360444 bytes after stripping
633
634 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
635
636         * Makefile.am:
637         * configure.ac:
638           descend into tests
639         * docs/random/thomasvs/TODO:
640         * tests/Makefile.am:
641         * tests/README:
642           add a README
643
644 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
645
646         * win32/GStreamer.vcproj:
647         * win32/MANIFEST:
648         * win32/Makefile:
649         * win32/Makefile.inspect:
650         * win32/Makefile.launch:
651         * win32/Makefile.register:
652         * win32/README.txt:
653         * win32/gst-inspect.vcproj:
654         * win32/gst-launch.vcproj:
655         * win32/gst-register.vcproj:
656         * win32/gstelements.vcproj:
657         * win32/gstgetbits.def:
658         * win32/gstgetbits.vcproj:
659         * win32/gstreamer-dbg.def:
660         * win32/gstreamer.def:
661         * win32/libgstbase.def:
662         * win32/libgstbase.vcproj:
663         * win32/link_oldruntime.c:
664         * win32/mman.c:
665         * win32/mman.h:
666         * win32/mman.inl:
667         * win32/msvc71.sln:
668           move even more stuff, win32/ is nice and clean now
669
670 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
671
672         * libs/gst/control/.cvsignore:
673         * win32/MANIFEST:
674         * win32/config.h:
675         * win32/dirent.c:
676         * win32/dirent.h:
677         * win32/gstbytestream.def:
678         * win32/gstbytestream.vcproj:
679         * win32/gstconfig.h:
680         * win32/gstenumtypes.c:
681         * win32/gstenumtypes.h:
682         * win32/gstoptimalscheduler.vcproj:
683         * win32/gstversion.h:
684         * win32/gtchar.h:
685         * win32/testsuite/bins.vcproj:
686         * win32/testsuite/bytestream.vcproj:
687         * win32/testsuite/caps.vcproj:
688         * win32/testsuite/cleanup.vcproj:
689         * win32/testsuite/clock.vcproj:
690         * win32/testsuite/debug.vcproj:
691         * win32/testsuite/dlopen.vcproj:
692         * win32/testsuite/dynparams.vcproj:
693         * win32/testsuite/elements.vcproj:
694         * win32/testsuite/ghostpads.vcproj:
695         * win32/testsuite/indexers.vcproj:
696         * win32/testsuite/negotiation.vcproj:
697         * win32/testsuite/parse.vcproj:
698         * win32/testsuite/plugin.vcproj:
699         * win32/testsuite/refcounting.vcproj:
700         * win32/testsuite/schedulers.vcproj:
701         * win32/testsuite/states.vcproj:
702         * win32/testsuite/tags.vcproj:
703         * win32/testsuite/threads.vcproj:
704           remove old win32 stuff that isn't maintained and should be
705           reorganized
706
707 2005-11-30  Andy Wingo  <wingo@pobox.com>
708
709         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
710         loading the gst.interfaces python module bork.
711
712         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
713         available since GLib 2.2. Fixes #318031.
714
715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * Makefile.am:
718         * check/.cvsignore:
719         * check/Makefile.am:
720         * check/elements/.cvsignore:
721         * check/elements/fakesrc.c:
722         * check/elements/fdsrc.c:
723         * check/elements/identity.c:
724         * check/generic/.cvsignore:
725         * check/generic/states.c:
726         * check/gst-libs/.cvsignore:
727         * check/gst-libs/controller.c:
728         * check/gst-libs/gdp.c:
729         * check/gst/.cvsignore:
730         * check/gst/capslist.h:
731         * check/gst/gst.c:
732         * check/gst/gstbin.c:
733         * check/gst/gstbuffer.c:
734         * check/gst/gstbus.c:
735         * check/gst/gstcaps.c:
736         * check/gst/gstelement.c:
737         * check/gst/gstevent.c:
738         * check/gst/gstghostpad.c:
739         * check/gst/gstiterator.c:
740         * check/gst/gstmessage.c:
741         * check/gst/gstminiobject.c:
742         * check/gst/gstobject.c:
743         * check/gst/gstpad.c:
744         * check/gst/gstpipeline.c:
745         * check/gst/gstplugin.c:
746         * check/gst/gstsegment.c:
747         * check/gst/gststructure.c:
748         * check/gst/gstsystemclock.c:
749         * check/gst/gsttag.c:
750         * check/gst/gstutils.c:
751         * check/gst/gstvalue.c:
752         * check/net/.cvsignore:
753         * check/net/gstnetclientclock.c:
754         * check/net/gstnettimeprovider.c:
755         * check/pipelines/.cvsignore:
756         * check/pipelines/cleanup.c:
757         * check/pipelines/simple_launch_lines.c:
758         * check/pipelines/stress.c:
759         * check/states/.cvsignore:
760         * check/states/sinks.c:
761         * configure.ac:
762         * examples/Makefile.am:
763         * examples/appreader/.cvsignore:
764         * examples/appreader/Makefile.am:
765         * examples/appreader/appreader.c:
766         * examples/controller/.cvsignore:
767         * examples/controller/Makefile.am:
768         * examples/controller/audio-example.c:
769         * examples/cutter/.cvsignore:
770         * examples/cutter/Makefile.am:
771         * examples/cutter/cutter.c:
772         * examples/cutter/cutter.h:
773         * examples/events/Makefile.am:
774         * examples/events/seek.c:
775         * examples/helloworld/.cvsignore:
776         * examples/helloworld/Makefile.am:
777         * examples/helloworld/helloworld.c:
778         * examples/helloworld2/.cvsignore:
779         * examples/helloworld2/Makefile.am:
780         * examples/helloworld2/helloworld2.c:
781         * examples/launch/.cvsignore:
782         * examples/launch/Makefile.am:
783         * examples/launch/mp3parselaunch.c:
784         * examples/launch/mp3play:
785         * examples/manual/.cvsignore:
786         * examples/manual/Makefile.am:
787         * examples/manual/extract.pl:
788         * examples/metadata/Makefile.am:
789         * examples/metadata/read-metadata.c:
790         * examples/mixer/.cvsignore:
791         * examples/mixer/Makefile.am:
792         * examples/mixer/mixer.c:
793         * examples/mixer/mixer.h:
794         * examples/pingpong/.cvsignore:
795         * examples/pingpong/Makefile.am:
796         * examples/pingpong/pingpong.c:
797         * examples/plugins/.cvsignore:
798         * examples/plugins/Makefile.am:
799         * examples/plugins/example.c:
800         * examples/plugins/example.h:
801         * examples/pwg/.cvsignore:
802         * examples/pwg/Makefile.am:
803         * examples/pwg/extract.pl:
804         * examples/queue/.cvsignore:
805         * examples/queue/Makefile.am:
806         * examples/queue/queue.c:
807         * examples/queue2/.cvsignore:
808         * examples/queue2/Makefile.am:
809         * examples/queue2/queue2.c:
810         * examples/queue3/.cvsignore:
811         * examples/queue3/Makefile.am:
812         * examples/queue3/queue3.c:
813         * examples/queue4/.cvsignore:
814         * examples/queue4/Makefile.am:
815         * examples/queue4/queue4.c:
816         * examples/retag/.cvsignore:
817         * examples/retag/Makefile.am:
818         * examples/retag/retag.c:
819         * examples/retag/transcode.c:
820         * examples/thread/.cvsignore:
821         * examples/thread/Makefile.am:
822         * examples/thread/thread.c:
823         * examples/typefind/.cvsignore:
824         * examples/typefind/Makefile.am:
825         * examples/typefind/typefind.c:
826         * examples/xml/.cvsignore:
827         * examples/xml/Makefile.am:
828         * examples/xml/createxml.c:
829         * examples/xml/runxml.c:
830         * tests/Makefile.am:
831         * tests/check/Makefile.am:
832         * testsuite/.cvsignore:
833         * testsuite/Makefile.am:
834         * testsuite/Rules:
835         * testsuite/caps/.cvsignore:
836         * testsuite/caps/Makefile.am:
837         * testsuite/caps/app_fixate.c:
838         * testsuite/caps/audioscale.c:
839         * testsuite/caps/caps.c:
840         * testsuite/caps/caps.h:
841         * testsuite/caps/caps_strings:
842         * testsuite/caps/compatibility.c:
843         * testsuite/caps/deserialize.c:
844         * testsuite/caps/enumcaps.c:
845         * testsuite/caps/eratosthenes.c:
846         * testsuite/caps/filtercaps.c:
847         * testsuite/caps/fixed.c:
848         * testsuite/caps/fraction-convert.c:
849         * testsuite/caps/fraction-multiply-and-zero.c:
850         * testsuite/caps/intersect2.c:
851         * testsuite/caps/intersection.c:
852         * testsuite/caps/normalisation.c:
853         * testsuite/caps/random.c:
854         * testsuite/caps/renegotiate.c:
855         * testsuite/caps/sets.c:
856         * testsuite/caps/simplify.c:
857         * testsuite/caps/string-conversions.c:
858         * testsuite/caps/structure.c:
859         * testsuite/caps/subtract.c:
860         * testsuite/caps/union.c:
861         * testsuite/debug/.cvsignore:
862         * testsuite/debug/Makefile.am:
863         * testsuite/debug/category.c:
864         * testsuite/debug/commandline.c:
865         * testsuite/debug/global.c:
866         * testsuite/debug/output.c:
867         * testsuite/debug/printf_extension.c:
868         * testsuite/dlopen/.cvsignore:
869         * testsuite/dlopen/Makefile.am:
870         * testsuite/dlopen/dlopen_gst.c:
871         * testsuite/dlopen/loadgst.c:
872         * testsuite/elements/.cvsignore:
873         * testsuite/elements/Makefile.am:
874         * testsuite/elements/gst-inspect-check.in:
875         * testsuite/elements/struct_i386.h:
876         * testsuite/elements/struct_size.c:
877         * testsuite/indexers/.cvsignore:
878         * testsuite/indexers/Makefile.am:
879         * testsuite/indexers/cache1.c:
880         * testsuite/indexers/indexdump.c:
881         * testsuite/parse/.cvsignore:
882         * testsuite/parse/Makefile.am:
883         * testsuite/parse/parse1.c:
884         * testsuite/parse/parse2.c:
885         * testsuite/plugin/.cvsignore:
886         * testsuite/plugin/Makefile.am:
887         * testsuite/plugin/README:
888         * testsuite/plugin/dynamic.c:
889         * testsuite/plugin/linked.c:
890         * testsuite/plugin/loading.c:
891         * testsuite/plugin/registry.c:
892         * testsuite/plugin/static.c:
893         * testsuite/plugin/static2.c:
894         * testsuite/plugin/testplugin.c:
895         * testsuite/plugin/testplugin2.c:
896         * testsuite/plugin/testplugin2_s.c:
897         * testsuite/plugin/testplugin_s.c:
898         * testsuite/refcounting/.cvsignore:
899         * testsuite/refcounting/Makefile.am:
900         * testsuite/refcounting/bin.c:
901         * testsuite/refcounting/element.c:
902         * testsuite/refcounting/element_pad.c:
903         * testsuite/refcounting/mainloop.c:
904         * testsuite/refcounting/mem.c:
905         * testsuite/refcounting/mem.h:
906         * testsuite/refcounting/object.c:
907         * testsuite/refcounting/pad.c:
908         * testsuite/refcounting/sched.c:
909         * testsuite/refcounting/thread.c:
910         * testsuite/states/.cvsignore:
911         * testsuite/states/Makefile.am:
912         * testsuite/states/bin.c:
913         * testsuite/states/locked.c:
914         * testsuite/states/parent.c:
915         * testsuite/threads/.cvsignore:
916         * testsuite/threads/159566.c:
917         * testsuite/threads/159852.c:
918         * testsuite/threads/Makefile.am:
919         * testsuite/threads/queue.c:
920         * testsuite/threads/signals.c:
921         * testsuite/threads/staticrec.c:
922         * testsuite/threads/thread.c:
923         * testsuite/threads/threadb.c:
924         * testsuite/threads/threadc.c:
925         * testsuite/threads/threadd.c:
926         * testsuite/threads/threade.c:
927         * testsuite/threads/threadf.c:
928         * testsuite/threads/threadg.c:
929         * testsuite/threads/threadh.c:
930         * testsuite/threads/threadi.c:
931           move all of these under tests
932
933 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
934
935         * configure.ac:
936         * tests/Makefile.am:
937           fix distcheck
938
939 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
940
941         * docs/gst/gstreamer-sections.txt:
942         * tests/sched/.cvsignore:
943         * tests/sched/Makefile.am:
944         * tests/sched/cases/(fs-fs).xml:
945         * tests/sched/cases/(fs-i-fs).xml:
946         * tests/sched/cases/(fs-i-i-fs).xml:
947         * tests/sched/cases/(fs-i-q[i-fs]).xml:
948         * tests/sched/dynamic-pipeline.c:
949         * tests/sched/interrupt1.c:
950         * tests/sched/interrupt2.c:
951         * tests/sched/interrupt3.c:
952         * tests/sched/runtestcases:
953         * tests/sched/runxml.c:
954         * tests/sched/sched-stress.c:
955         * tests/sched/sort.c:
956         * tests/sched/testcases:
957         * tests/sched/testcases1.tc:
958         * tests/seeking/.cvsignore:
959         * tests/seeking/Makefile.am:
960         * tests/seeking/seeking1.c:
961         * tests/threadstate/.cvsignore:
962         * tests/threadstate/Makefile.am:
963         * tests/threadstate/test1.c:
964         * tests/threadstate/test2.c:
965         * tests/threadstate/threadstate1.c:
966         * tests/threadstate/threadstate2.c:
967         * tests/threadstate/threadstate3.c:
968         * tests/threadstate/threadstate4.c:
969         * tests/threadstate/threadstate5.c:
970           remove obsolete tests
971         * configure.ac:
972         * tests/bench-complexity.scm:
973         * tests/bench-mass_elements.scm:
974         * tests/complexity.c:
975         * tests/complexity.gnuplot:
976         * tests/instantiate/.cvsignore:
977         * tests/instantiate/Makefile.am:
978         * tests/instantiate/caps.c:
979         * tests/mass_elements.c:
980         * tests/network-clock-utils.scm:
981         * tests/network-clock.scm:
982         * tests/plot-data:
983         First pass at cleaning up tests/ dir before moving the rest
984         Combined with CVS surgery
985
986 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
987
988         * po/POTFILES.in:
989           queue has moved, update
990
991 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
992
993         * docs/gst/gstreamer-sections.txt:
994           remove double entries from the docs
995         * gst/gst_private.h:
996         * gst/gstinfo.c: (_gst_debug_init):
997           remove the THREAD debug category
998         * gst/Makefile.am:
999         * gst/gstqueue.c:
1000         * gst/gstqueue.h:
1001         * docs/gst/gstreamer.types:
1002         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1003         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1004           completely move queue and fix up debugging categories
1005
1006 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1007
1008         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1009           make initialization portable, using LL is not
1010
1011 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1012
1013         * win32/common/gstconfig.h:
1014           add large padding
1015
1016 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1017
1018         * win32/common/libgstreamer.def:
1019           rename symbols; sort base section
1020
1021 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1022
1023         * gst/gstclock.c: (do_linear_regression):
1024           remove crack non-portable handrolled DEBUG macro
1025
1026 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1027
1028         * docs/random/release:
1029           update notes
1030         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1031         (gst_object_flags_get_type), (register_gst_bin_flags),
1032         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1033         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1034         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1035         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1036         (gst_caps_flags_get_type), (register_gst_clock_return),
1037         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1038         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1039         (gst_clock_flags_get_type), (register_gst_state),
1040         (gst_state_get_type), (register_gst_state_change_return),
1041         (gst_state_change_return_get_type), (register_gst_state_change),
1042         (gst_state_change_get_type), (register_gst_element_flags),
1043         (gst_element_flags_get_type), (register_gst_core_error),
1044         (gst_core_error_get_type), (register_gst_library_error),
1045         (gst_library_error_get_type), (register_gst_resource_error),
1046         (gst_resource_error_get_type), (register_gst_stream_error),
1047         (gst_stream_error_get_type), (register_gst_event_type_flags),
1048         (gst_event_type_flags_get_type), (register_gst_event_type),
1049         (gst_event_type_get_type), (register_gst_seek_type),
1050         (gst_seek_type_get_type), (register_gst_seek_flags),
1051         (gst_seek_flags_get_type), (register_gst_format),
1052         (gst_format_get_type), (register_gst_index_certainty),
1053         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1054         (gst_index_entry_type_get_type),
1055         (register_gst_index_lookup_method),
1056         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1057         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1058         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1059         (gst_index_flags_get_type), (register_gst_debug_level),
1060         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1061         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1062         (gst_iterator_result_get_type), (register_gst_iterator_item),
1063         (gst_iterator_item_get_type), (register_gst_message_type),
1064         (gst_message_type_get_type), (register_gst_mini_object_flags),
1065         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1066         (gst_pad_link_return_get_type), (register_gst_flow_return),
1067         (gst_flow_return_get_type), (register_gst_activate_mode),
1068         (gst_activate_mode_get_type), (register_gst_pad_direction),
1069         (gst_pad_direction_get_type), (register_gst_pad_flags),
1070         (gst_pad_flags_get_type), (register_gst_pad_presence),
1071         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1072         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1073         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1074         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1075         (gst_plugin_flags_get_type), (register_gst_rank),
1076         (gst_rank_get_type), (register_gst_query_type),
1077         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1078         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1079         (gst_tag_flag_get_type), (register_gst_task_state),
1080         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1081         (gst_alloc_trace_flags_get_type),
1082         (register_gst_type_find_probability),
1083         (gst_type_find_probability_get_type), (register_gst_uri_type),
1084         (gst_uri_type_get_type), (register_gst_parse_error),
1085         (gst_parse_error_get_type):
1086         * win32/common/gstenumtypes.h:
1087         * win32/common/gstversion.h:
1088           update visual studio generated files
1089
1090 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * win32/vs6/libgstbase.dsp:
1093         * win32/vs6/libgstelements.dsp:
1094           update project files for new locations
1095
1096 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1097
1098         * Makefile.am:
1099           remove some files
1100         * README:
1101           reinstate and update
1102         * DEVEL:
1103         * REQUIREMENTS:
1104           removed
1105         * LICENSE:
1106         * docs/random/LICENSE:
1107           moved to random
1108
1109 2005-11-30  Edward Hervey  <edward@fluendo.com>
1110
1111         * gst/gsttypefind.c: (gst_type_find_register):
1112         * gst/gsttypefind.h:
1113         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1114         (gst_type_find_factory_dispose):
1115         * gst/gsttypefindfactory.h:
1116         Fix memory leak in GstTypeFindFactory.
1117
1118 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1119
1120         * gst/gst.c:
1121         * plugins/elements/Makefile.am:
1122         * plugins/elements/gstelements.c:
1123         * plugins/elements/gstqueue.c:
1124           move queue from core to the elements plugin
1125
1126 2005-11-29  Andy Wingo  <wingo@pobox.com>
1127
1128         * libs/gst/base/gstbasetransform.h: 
1129         * libs/gst/base/gstbasesrc.h: 
1130         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1131
1132         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1133         of pointers by which to pad very extensible base classes (like the
1134         ones in libs/gst/base).
1135
1136 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1137
1138         * docs/gst/gstreamer-docs.sgml:
1139         * docs/gst/gstreamer-sections.txt:
1140         * docs/libs/gstreamer-libs-docs.sgml:
1141         * docs/libs/gstreamer-libs-sections.txt:
1142           moving documentation from core to lib
1143
1144 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1145
1146         * check/Makefile.am:
1147         * configure.ac:
1148         * docs/gst/Makefile.am:
1149         * gst/Makefile.am:
1150         * gst/base/.cvsignore:
1151         * gst/base/Makefile.am:
1152         * gst/base/README:
1153         * gst/base/gstadapter.c:
1154         * gst/base/gstadapter.h:
1155         * gst/base/gstbasesink.c:
1156         * gst/base/gstbasesink.h:
1157         * gst/base/gstbasesrc.c:
1158         * gst/base/gstbasesrc.h:
1159         * gst/base/gstbasetransform.c:
1160         * gst/base/gstbasetransform.h:
1161         * gst/base/gstcollectpads.c:
1162         * gst/base/gstcollectpads.h:
1163         * gst/base/gstpushsrc.c:
1164         * gst/base/gstpushsrc.h:
1165         * gst/base/gsttypefindhelper.c:
1166         * gst/base/gsttypefindhelper.h:
1167         * gst/check/Makefile.am:
1168         * gst/check/gstcheck.c:
1169         * gst/check/gstcheck.h:
1170         * gst/net/Makefile.am:
1171         * gst/net/gstnet.h:
1172         * gst/net/gstnetclientclock.c:
1173         * gst/net/gstnetclientclock.h:
1174         * gst/net/gstnettimepacket.c:
1175         * gst/net/gstnettimepacket.h:
1176         * gst/net/gstnettimeprovider.c:
1177         * gst/net/gstnettimeprovider.h:
1178         * libs/gst/Makefile.am:
1179         * libs/gst/base/Makefile.am:
1180         * libs/gst/base/gstbasetransform.c:
1181         * libs/gst/check/Makefile.am:
1182         * plugins/elements/Makefile.am:
1183         * po/POTFILES.in:
1184           CVS surgery + support to move base, check, and net out of gst
1185           and into libs/gst
1186
1187 2005-11-29  Andy Wingo  <wingo@pobox.com>
1188
1189         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1190
1191         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1192         padding.
1193
1194         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1195
1196         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1197
1198         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1199
1200         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1201         padding; reduces object size by about 30%. We don't expect
1202         anything else to go into gstobject.
1203
1204         * gst/gstminiobject.h (struct _GstMiniObject)
1205         (struct _GstMiniObjectClass): Only one pointer of padding; the
1206         payload is only a pointer and two ints anyway. For the class there
1207         are only two methods as well.
1208         
1209         * gst/gstelement.h (struct _GstElementClass): Removed
1210         the state_changed signal callback, it is not used.
1211
1212 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1213
1214         * docs/gst/gstreamer.types:
1215           fix includes, though they are a little dinky
1216
1217 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1218
1219         * check/Makefile.am:
1220           look in the right place for elements, a lot more chance of
1221           success
1222         * gst/Makefile.am:
1223           remove indexers and elements subdirs
1224         * plugins/Makefile.am:
1225           make indexers conditional
1226
1227 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1228
1229         * Makefile.am:
1230         * configure.ac:
1231         * plugins/elements/Makefile.am:
1232         * plugins/elements/gstcapsfilter.c:
1233         * plugins/elements/gstfilesink.c:
1234         * plugins/elements/gstfilesrc.c:
1235         * plugins/elements/gstidentity.c:
1236         * plugins/indexers/Makefile.am:
1237           do CVS surgery and related build fixery to move elements
1238           and indexers in a new gstreamer/plugins directory, out of the
1239           gst/ directory
1240
1241 2005-11-29  Andy Wingo  <wingo@pobox.com>
1242
1243         * check/Makefile.am:
1244         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1245         * pkgconfig/gstreamer-net.pc.in:
1246         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1247         #322257.
1248
1249 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * tools/Makefile.am:
1252         * tools/gst-complete.1.in:
1253         * tools/gst-complete.c:
1254         * tools/gst-compprep.1.in:
1255         * tools/gst-compprep.c:
1256           removing -compprep and -complete
1257
1258 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1259
1260         * gst/gstevent.c: (gst_event_new_new_segment),
1261         (gst_event_parse_new_segment):
1262         * gst/gstevent.h:
1263           fix #320529 - clean up new_segment API and structure.
1264           Let's hope everyone was using the methods, and not the structure.
1265
1266 2005-11-29  Edward Hervey  <edward@fluendo.com>
1267
1268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1269         (gst_base_sink_event), (gst_base_sink_do_sync),
1270         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1271         Properly handle non GST_FORMAT_TIME segment
1272         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1273         Properly handle non GST_FORMAT_TIME segment
1274         * gst/gstsegment.c:
1275         This function is valid if the accumulator is 0 and the format
1276         is different from the requested format.
1277         
1278 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1279
1280         * docs/gst/gstreamer-sections.txt:
1281         Add gst_query_new_seeking and gst_query_parse_seeking to the
1282         docs.
1283
1284 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1285
1286         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1287           Treat a pad alloc with new caps the same as if we were not
1288           negotiated, in order to allow a changing upstream output
1289           to produce a new format of data.
1290
1291 2005-11-29  Edward Hervey  <edward@fluendo.com>
1292
1293         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1294         (gst_base_transform_event), (gst_base_transform_eventfunc):
1295         The event virtual method is now properly implemented, with a default
1296         handler
1297         Sub classes should call the parent_class event method. They should
1298         return FALSE if they had a problem handling the given event, or don't
1299         want GstBaseTransform to send that even downstream
1300         * gst/elements/gstidentity.c: (gst_identity_class_init),
1301         (gst_identity_init), (gst_identity_event),
1302         (gst_identity_transform_ip), (gst_identity_set_property),
1303         (gst_identity_get_property):
1304         * gst/elements/gstidentity.h:
1305         Added the single-segment boolean property.
1306         If set to TRUE, it will output a single segment of data, starting from
1307         0, will eat up all incoming newsegment, and modify the timestamp of the
1308         buffers accordingly
1309
1310 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1313           Don't ref NULL target pad (#322751). Improve docs.
1314
1315 2005-11-29  Michael Smith  <msmith@fluendo.com>
1316
1317         * gst/gstregistryxml.c: (load_plugin):
1318           Don't crash if we failed to load a feature from a plugin. 
1319
1320 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1323         (GST_START_TEST):
1324           use more check API and less GLib API
1325
1326 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1327
1328         * Makefile.am:
1329           don't run checks if we don't have check
1330         * common/check.mak:
1331           remove the registry when running make torture
1332         * docs/gst/gstreamer-sections.txt:
1333           remove second multiply
1334         * gst/gstqueue.c: (gst_queue_loop):
1335           fix a compile warning when disabling debug
1336
1337 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1338
1339         * gst/gstinfo.h:
1340         Hey! Let's print the pad name if the pointer != NULL instead
1341         of when it == NULL :-)
1342
1343 2005-11-28  Wim Taymans  <wim@fluendo.com>
1344
1345         * check/gst/gstutils.c: (GST_START_TEST):
1346         Updated check, add some scaling accuracy checking code.
1347
1348         * gst/gstutils.c: (gst_util_div128_64),
1349         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1350         (gst_util_uint64_scale_int):
1351         Fix 6 times faster division code. Optimize for common 
1352         1/1 and less common X/1 cases.
1353
1354 2005-11-28  Wim Taymans  <wim@fluendo.com>
1355
1356         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1357         More checks.
1358
1359         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1360         (do_linear_regression), (gst_clock_add_observation):
1361         Cleanups.
1362         Release lock when the clock cannot be slaved.
1363         Catch the case where the regression returned an invalid denominator.
1364
1365         * gst/gstutils.c: (gst_util_div128_64_iterate),
1366         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1367         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1368         Add protentially more performant non-iterative 128/64 divide function
1369         that unfortunatly does not work yet.
1370         Shortcut the trivial 0/X = 0 case.
1371         Remove the warnings on overflow.
1372
1373 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * gst/gstplugin.c: (gst_plugin_register_func):
1376           everything causing a plugin not to load should be at least a WARNING
1377
1378 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1379
1380         * docs/random/ensonic/dparams.txt:
1381           some TODOs for the next dev cycle
1382         * libs/gst/controller/gstcontroller.c:
1383         (gst_controlled_property_set_interpolation_mode),
1384         (gst_controlled_property_new):
1385         * libs/gst/controller/gstcontroller.h:
1386           use base type to assign acccessor functions
1387
1388 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1389
1390         * check/Makefile.am:
1391         Oops, that should have been top_srcdir
1392
1393 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1394
1395         * check/Makefile.am:
1396         * check/elements/fdsrc.c: (GST_START_TEST):
1397         Use a cmdline define to specify the location of a file to use for
1398         testing, to avoid breaking distcheck.
1399
1400 2005-11-28  Andy Wingo  <wingo@pobox.com>
1401
1402         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1403
1404 2005-11-28  Edward Hervey  <edward@fluendo.com>
1405
1406         * tools/gst-launch.c: (main):
1407         Clarify the output strings, makes it easier to translate.
1408         Fixes #322626
1409
1410 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1411
1412         * gst/Makefile.am:
1413           don't try and build net if we don't even have <sys/socket.h>
1414
1415 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1416
1417         * check/Makefile.am:
1418         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1419         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1420           Add tests for fdsrc seekability
1421
1422         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1423         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1424         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1425         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1426         * gst/elements/gstfdsrc.h:
1427           fdsrc should not be a 'live' source.
1428           Implement seeking on seekable fd's.
1429
1430         * gst/gstquery.c: (gst_query_new_seeking),
1431         (gst_query_parse_seeking):
1432         * gst/gstquery.h:
1433           Implement SEEKING query functions: 
1434             *_new_seeking and *_parse_seeking
1435
1436 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1437
1438         * gst/gstelement.c: (gst_element_dispose):
1439           don't loop forever
1440
1441         * gst/gstiterator.c:
1442         * gst/gststructure.c:
1443           doc fixes
1444
1445         * libs/gst/controller/gstcontroller.c:
1446         (gst_controlled_property_set_interpolation_mode):
1447         * libs/gst/controller/gstcontroller.h:
1448         * libs/gst/controller/gstinterpolation.c:
1449         (interpolate_none_get_enum_value_array):
1450           support controlling enums
1451
1452 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1453
1454         * gst/gstvalue.c:
1455           Improve documentation for gst_value_union().
1456
1457         * gst/gstvalue.h:
1458           Change return value for union, intersect and subtract functions
1459           from gint to gboolean.
1460
1461 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1462
1463         * gst/gstvalue.c: (gst_value_serialize_any_list),
1464         (gst_value_transform_any_list_string),
1465         (gst_value_deserialize_list), (gst_value_deserialize_array),
1466         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1467         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1468         (gst_value_set_fraction_range_full),
1469         (gst_value_deserialize_fraction_range),
1470         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1471         (gst_value_deserialize_boolean),
1472         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1473         (gst_value_serialize_float), (gst_value_deserialize_float),
1474         (gst_string_wrap), (gst_value_deserialize_string),
1475         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1476         (gst_value_union_int_range_int_range),
1477         (gst_value_intersect_int_range_int_range),
1478         (gst_value_intersect_double_range_double_range),
1479         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1480         (gst_value_subtract_int_range_int_range),
1481         (gst_value_subtract_double_double_range),
1482         (gst_value_subtract_double_range_double_range),
1483         (gst_value_deserialize_fraction):
1484         * gst/gstvalue.h:
1485           Use gint, gdouble and gchar in our API instead of int, double and
1486           char (and make usage in gstvalue.c more consistent).
1487
1488 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1489
1490         * check/Makefile.am:
1491         * libs/gst/controller/Makefile.am:
1492         * libs/gst/dataprotocol/Makefile.am:
1493           fix up Makefile.am and remove GST_ENABLE_NEW
1494
1495 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * configure.ac:
1498         * gst/Makefile.am:
1499         * gst/base/Makefile.am:
1500         * gst/check/Makefile.am:
1501         * gst/elements/Makefile.am:
1502         * gst/net/Makefile.am:
1503           update LDFLAGS use some more
1504
1505 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1506
1507         * common/m4/gst-doc.m4:
1508           Fixes #312589
1509
1510 2005-11-26  Edward Hervey  <edward@fluendo.com>
1511
1512         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1513         This shouldn't issue a g_warning since it returns NULL if it
1514         couldn't find the plugin, and all functions using this behave
1515         properly on a NULL return. Switching to a GST_WARNING.
1516
1517 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1518
1519         * gst/gstbin.c: (gst_bin_handle_message_func):
1520         Don't leak clock messages.
1521
1522 2005-11-25  Wim Taymans  <wim@fluendo.com>
1523
1524         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1525         (gst_util_uint64_scale_int):
1526         Optimisations, remove unneeded vars.
1527
1528 2005-11-25  Wim Taymans  <wim@fluendo.com>
1529
1530         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1531         Added more checks for the high precision uint64 cases.
1532
1533         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1534         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1535         Implement high precision (guint64 * guint64) / guint64.
1536
1537 2005-11-24  Wim Taymans  <wim@fluendo.com>
1538
1539         * gst/base/gstbasesrc.c: (gst_base_src_query):
1540         Fix wrong percentage query.
1541
1542         * gst/gstutils.c: (gst_util_uint64_scale),
1543         (gst_util_uint64_scale_int):
1544         Add some more common cases that can be handled 
1545         efficiently to _scale.
1546
1547 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1548
1549         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1550         (gst_mini_object_suite):
1551           don't use check calls from threads; check probably isn't
1552           threadsafe and using a lock to make it threadsafe would
1553           defeat the purpose of this check
1554         * gst/check/gstcheck.c:
1555         * gst/check/gstcheck.h:
1556           use GST_DEBUG some more
1557
1558 2005-11-24  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/gstutils.c: (gst_util_uint64_scale),
1561         (gst_util_uint64_scale_int):
1562         Chain trivial case to _scale_int.
1563
1564 2005-11-24  Wim Taymans  <wim@fluendo.com>
1565
1566         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1567         Added test for scaling.
1568
1569         * gst/gstclock.h:
1570         Small doc fix.
1571
1572         * gst/gstutils.c: (gst_util_uint64_scale_int):
1573         Implemented high precision scaling code.
1574
1575 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1576
1577         * gst/gstinfo.h:
1578           do not crash on pad==NULL
1579
1580 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1581
1582         Patch by: Stefan Kost
1583
1584         * common/gtk-doc.mak:
1585         * docs/gst/Makefile.am:
1586         * docs/libs/Makefile.am:
1587           Fix distcheck issues for the libraries docs build
1588           Closes #319599.
1589
1590 2005-11-24  Michael Smith <msmith@fluendo.com>
1591
1592         * docs/manual/basics-helloworld.xml:
1593           Fix bug #315027: memory leak in example code in docs.
1594
1595 2005-11-24  Michael Smith <msmith@fluendo.com>
1596
1597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1598           Unlock the PREROLL_LOCK in a failure case.
1599
1600 2005-11-24  Wim Taymans  <wim@fluendo.com>
1601
1602         * docs/gst/gstreamer-sections.txt:
1603         * gst/base/gstadapter.h:
1604         * gst/base/gstbasesink.h:
1605         * gst/base/gstbasesrc.h:
1606         * gst/base/gstbasetransform.h:
1607         * gst/base/gstpushsrc.h:
1608         * gst/elements/gstfakesink.h:
1609         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1610         * gst/elements/gstfakesrc.h:
1611         * gst/elements/gstfilesink.h:
1612         * gst/elements/gstfilesrc.h:
1613         * gst/gst.c:
1614         * gst/gstbin.c:
1615         * gst/gstbuffer.c: (_gst_buffer_copy):
1616         * gst/gstbus.h:
1617         * gst/gstcaps.c:
1618         * gst/gstchildproxy.c:
1619         * gst/gstclock.c:
1620         * gst/gstelement.c:
1621         * gst/gstelementfactory.c:
1622         * gst/gstelementfactory.h:
1623         * gst/gstevent.c:
1624         * gst/gstghostpad.h:
1625         * gst/gstindex.h:
1626         * gst/gstinterface.h:
1627         * gst/gstminiobject.c:
1628         * gst/gstminiobject.h:
1629         * gst/gstpad.c:
1630         * gst/gstpad.h:
1631         * gst/gstpadtemplate.h:
1632         * gst/gstpipeline.h:
1633         * gst/gstpluginfeature.h:
1634         * gst/gstquery.h:
1635         * gst/gstqueue.h:
1636         * gst/gsttaglist.c:
1637         * gst/gsttaglist.h:
1638         * gst/gsttagsetter.c:
1639         * gst/gsttagsetter.h:
1640         * gst/gsttrace.c:
1641         * gst/gsttrace.h:
1642         * gst/gsttypefind.h:
1643         * gst/gsturi.h:
1644         * gst/gstvalue.c:
1645         * gst/net/gstnetclientclock.c:
1646         * gst/net/gstnetclientclock.h:
1647         * gst/net/gstnettimepacket.c:
1648         * gst/net/gstnettimeprovider.c:
1649         * gst/net/gstnettimeprovider.h:
1650         Doc fixes.
1651
1652 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1653
1654         * configure.ac: back to HEAD
1655
1656 === release 0.9.6 ===
1657
1658 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1659
1660         * configure.ac:
1661           releasing 0.9.6, "Always On Time"
1662
1663 2005-11-23  Wim Taymans  <wim@fluendo.com>
1664
1665         * docs/gst/gstreamer-sections.txt:
1666         * gst/glib-compat.c:
1667         * gst/gsttagsetter.c:
1668         * gst/gstvalue.c:
1669         * gst/net/gstnetclientclock.c:
1670         * gst/net/gstnettimepacket.h:
1671         Doc updates.
1672
1673 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1674
1675         * docs/faq/using.xml:
1676         * docs/libs/tmpl/gstcontrol.sgml:
1677         * docs/manual/advanced-dparams.xml:
1678         * docs/manual/appendix-checklist.xml:
1679         * docs/manual/basics-elements.xml:
1680         * docs/pwg/other-source.xml:
1681         * docs/random/moving-plugins:
1682         * gst/gstpad.c:
1683         * tools/gst-launch.1.in:
1684           remove mentions of sinesrc
1685
1686 2005-11-23  Michael Smith <msmith@fluendo.com>
1687
1688         * docs/gst/gstreamer-sections.txt:
1689           Update for new API and API changes.
1690         * gst/gstobject.h:
1691           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1692         * gst/gstvalue.c:
1693           Documentation typo fix.
1694         * gst/net/gstnettimepacket.c:
1695           Documentation fixes for arguments.
1696
1697 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1698
1699         * gst/gststructure.c: (gst_structure_get_fraction),
1700         (gst_structure_parse_value),
1701         (gst_structure_fixate_field_nearest_fraction):
1702         * gst/gststructure.h:
1703         * gst/gstutils.c: (gst_util_uint64_scale_int):
1704         * gst/gstutils.h:
1705         * scripts/update-funcnames:
1706         API Changes. 
1707         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1708         Make gst_structure_fixate_field_nearest_fraction take a numerator
1709         and denominator argument instead of a GValue
1710         add gst_structure_get_fraction helper function.
1711
1712 2005-11-23  Wim Taymans  <wim@fluendo.com>
1713
1714         * docs/design/part-TODO.txt:
1715         Update TODO.
1716
1717         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1718         * gst/net/gstnetclientclock.h:
1719         Use parent fields for timeout and window_size.
1720
1721 2005-11-23  Andy Wingo  <wingo@pobox.com>
1722
1723         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1724         rate_num/rate_denom change.
1725
1726         * gst/net/gstnetclientclock.c
1727         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1728         OBJECT_LOCK. Don't call add_observation with the lock.
1729
1730         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1731         fraction.
1732         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1733         rate fraction.
1734         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1735         deal with rate as a fraction whose numerator and denominator are
1736         GstClockTime values.
1737         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1738         master; the other fields are protected by the SLAVE_LOCK.
1739         (do_linear_regression): Note that this must be called with the
1740         SLAVE_LOCK.
1741         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1742         OBJECT_LOCK. Call set_calibration instead of touching the
1743         variables directly.
1744         (gst_clock_set_property, gst_clock_get_property): Protect
1745         master/slave parameters with the SLAVE_LOCK.
1746
1747         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1748         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1749         note that all of the instance variables that add_observation and
1750         the set_master functions use are protected by that lock and not
1751         the OBJECT_LOCK.
1752         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1753
1754         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1755         the caller to take the object lock.
1756
1757 2005-11-23  Wim Taymans  <wim@fluendo.com>
1758
1759         * gst/gsterror.c: (_gst_core_errors_init):
1760         * gst/gsterror.h:
1761         Add error for clock stuff.
1762
1763         * gst/gstpipeline.c: (gst_pipeline_change_state),
1764         (gst_pipeline_set_clock):
1765         Post clock error when clock cannot be used in a pipeline.
1766
1767 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * docs/gst/gstreamer-sections.txt:
1770           make two symbols from gstinfo private for the docs
1771         * gst/base/gstcollectpads.h:
1772         * gst/gstutils.c:
1773           fix doc typos, update docs
1774
1775 2005-11-22  Wim Taymans  <wim@fluendo.com>
1776
1777         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1778         (gst_base_sink_wait), (gst_base_sink_do_sync),
1779         (gst_base_sink_handle_event):
1780         * gst/base/gstbasesink.h:
1781         No need to store the clock, the parent element class already
1782         has it.
1783
1784         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1785         Updates for clock_set returning a gboolean
1786
1787         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1788         (gst_clock_id_wait_async), (gst_clock_class_init),
1789         (gst_clock_init), (gst_clock_finalize),
1790         (gst_clock_get_internal_time), (gst_clock_get_time),
1791         (gst_clock_slave_callback), (gst_clock_set_master),
1792         (gst_clock_get_master), (do_linear_regression),
1793         (gst_clock_add_observation), (gst_clock_set_property),
1794         (gst_clock_get_property):
1795         * gst/gstclock.h:
1796         Implement master/slave. When setting a clock as a slave, a
1797         periodic timeout is scheduled to sample master and slave times.
1798         Then the slave clock is recalibrated to match offset and rate
1799         of the master clock.
1800         Update logging a bit.
1801         Add flag so that a clock can state that is cannot be slaved to
1802         another clock.
1803
1804         * gst/gstelement.c: (gst_element_set_clock):
1805         * gst/gstelement.h:
1806         The set clock returns a gboolean for when an element cannot
1807         deal with the selected clock in the pipeline. 
1808
1809         * gst/gstpipeline.c: (gst_pipeline_change_state),
1810         (gst_pipeline_set_clock):
1811         * gst/gstpipeline.h:
1812         Handle the case where the selected clock cannot be set on
1813         the pipeline.
1814
1815         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1816         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1817         (gst_net_client_clock_set_property),
1818         (gst_net_client_clock_get_property),
1819         (gst_net_client_clock_observe_times):
1820         * gst/net/gstnetclientclock.h:
1821         Use regression code in GstClock parent, remove duplicated
1822         functionality.
1823
1824 2005-11-22  Michael Smith <msmith@fluendo.com>
1825
1826         * gst/gstutils.c: (gst_util_clock_time_scale):
1827         * gst/gstutils.h:
1828         * docs/gst/gstreamer-sections.txt:
1829           Rename method to have extra underscore.
1830
1831 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * gst/elements/Makefile.am:
1834         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1835         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1836         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1837         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1838         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1839         * gst/elements/gstfakesrc.h:
1840         * gst/gstqueue.c: (queue_leaky_get_type):
1841           correctly fix GEnumValues so that nick is the short lowercase
1842           dashed tag
1843         * tools/gst-inspect.c: (print_element_properties_info):
1844           also show the nick, since it's useful to use from parse_launch
1845           syntax
1846           Fixes #322139
1847
1848 2005-11-22  Michael Smith <msmith@fluendo.com>
1849
1850         * gst/gstutils.c: (gst_util_clocktime_scale):
1851         * gst/gstutils.h:
1852         * docs/gst/gstreamer-sections.txt:
1853           Add util method for scaling a clocktime by a fraction. Useful 
1854           implementation is left as an exercise for the reader.
1855
1856 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1857
1858         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1859         If needed, allocate storage in the destination value during
1860         collection.
1861
1862 2005-11-22  Edward Hervey  <edward@fluendo.com>
1863
1864         * docs/gst/gstreamer-sections.txt:
1865         * gst/Makefile.am:
1866         * gst/gst.h:
1867         * gst/gsturitype.c:
1868         * gst/gsturitype.h:
1869         * gst/gstutils.c: (gst_util_set_object_arg):
1870         * tools/gst-compprep.c: (main):
1871         * tools/gst-inspect.c: (print_element_properties_info):
1872         Removed GstURI, closes bug #321061
1873
1874 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1875
1876         * check/gst/gststructure.c: (GST_START_TEST):
1877         * gst/gststructure.c: (gst_structure_parse_value):
1878           Oops, broke automatic string type parsing.
1879           Add a test to catch it in future.
1880
1881 2005-11-22  Andy Wingo  <wingo@pobox.com>
1882
1883         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1884         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1885         Actually rename the function implementations. Grr.
1886
1887 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1888
1889         * check/gst/capslist.h:
1890           Comment test cases
1891         * check/gst/gststructure.c: (GST_START_TEST),
1892         (gst_structure_suite):
1893           Test automatic value type detection in gst_structure_from_string.
1894         * gst/gststructure.c: (gst_structure_parse_value):
1895           Add fraction as a type we try and guess automatically in
1896           caps/structure strings.
1897
1898 2005-11-22  Andy Wingo  <wingo@pobox.com>
1899
1900         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1901
1902         * gst/gsttagsetter.h:
1903         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1904         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1905         (gst_tag_setter_add_tag_valist)
1906         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1907         _add_values, _add_valist, and _add_valist_values. Since this is an
1908         interface the function suffixes should be more explicit so
1909         language binding don't end up with element.add_valist ->
1910         gst_tag_setter_add_valist, for example. Fixes #322069.
1911
1912 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1913
1914         * check/gst/gstcaps.c: (GST_START_TEST):
1915           Extend caps string tests to check that a caps to string
1916           conversion is reversible and produces the same caps.
1917
1918         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1919           Output "fraction" as the generic type fraction range, so caps
1920           serialisation and deserialisation works.
1921         * check/gst/capslist.h:
1922         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1923           Support 'MIN' and 'MAX' for deserialising fractions.
1924
1925 2005-11-22  Andy Wingo  <wingo@pobox.com>
1926
1927         * gst/gstevent.h (gst_event_new_new_segment)
1928         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1929         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1930         Renamed from *_newsegment, *_buffersize, *_notarget.
1931
1932         * scripts/update-funcnames: New script, performs the changes
1933         listed above.
1934
1935 2005-11-22  Wim Taymans  <wim@fluendo.com>
1936
1937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1938         Make sure the GstFlowReturn is returned.
1939
1940         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1941         (gst_bus_add_signal_watch):
1942         * gst/gstbus.h:
1943         add gst_bus_add_signal_watch_full.
1944
1945         * gst/gstplugin.c: (gst_plugin_load_file):
1946         Small style cleanup.
1947
1948 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1949
1950         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1951           Block the fakesrc srcpad when we send an event, to avoid
1952           contention on the stream_lock causing random test failures.
1953
1954 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1955
1956         * check/gst/gstvalue.c: (GST_START_TEST):
1957         * gst/gstvalue.c: (gst_value_fraction_subtract):
1958           Fix subtraction.
1959
1960 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1961
1962         * gst/gst.h:
1963           include "gstchildproxy.h"
1964         * gst/gstchildproxy.h:
1965         * libs/gst/controller/gstcontroller.h:
1966           use G_GNUC_NULL_TERMINATED
1967
1968 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1969
1970         * check/gst/capslist.h:
1971         * check/gst/gstcaps.c: (GST_START_TEST):
1972         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1973         * gst/gststructure.c: (gst_structure_parse_range),
1974         (gst_structure_fixate_field_nearest_fraction):
1975         * gst/gststructure.h:
1976         * gst/gstvalue.c: (gst_value_init_fraction_range),
1977         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1978         (gst_value_collect_fraction_range),
1979         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1980         (gst_value_set_fraction_range_full),
1981         (gst_value_get_fraction_range_min),
1982         (gst_value_get_fraction_range_max),
1983         (gst_value_serialize_fraction_range),
1984         (gst_value_transform_fraction_range_string),
1985         (gst_value_compare_fraction_range),
1986         (gst_value_deserialize_fraction_range),
1987         (gst_value_intersect_fraction_fraction_range),
1988         (gst_value_intersect_fraction_range_fraction_range),
1989         (gst_value_subtract_fraction_fraction_range),
1990         (gst_value_subtract_fraction_range_fraction),
1991         (gst_value_subtract_fraction_range_fraction_range),
1992         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1993         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1994         (gst_value_transform_string_fraction), (_gst_value_initialize):
1995         * gst/gstvalue.h:
1996           Implement fraction ranges and extend GstFraction to support
1997           arithmetic subtraction, as well as deserialization from integer
1998           strings such as "100"
1999           Add a testsuite as for int and double range set operations
2000
2001 2005-11-21  Andy Wingo  <wingo@pobox.com>
2002
2003         * gst/gsttaglist.h: 
2004         * gst/gstcaps.h: 
2005         * gst/gststructure.h: Add glib-compat.h.
2006
2007 2005-11-21  Wim Taymans  <wim@fluendo.com>
2008
2009         * gst/gstbin.c: (gst_bin_change_state_func):
2010         Fix for #321595
2011
2012 2005-11-21  Wim Taymans  <wim@fluendo.com>
2013
2014         * gst/gstsegment.h:
2015         And add a nice define too.
2016
2017 2005-11-21  Wim Taymans  <wim@fluendo.com>
2018
2019         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2020         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2021         (gst_segment_set_duration), (gst_segment_set_last_stop),
2022         (gst_segment_set_seek), (gst_segment_set_newsegment),
2023         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2024         (gst_segment_clip):
2025         * gst/gstsegment.h:
2026         Make binding friendly.
2027
2028 2005-11-21  Andy Wingo  <wingo@pobox.com>
2029
2030         * gst/gsttagsetter.h: 
2031         * gst/gsttaglist.h: 
2032         * gst/gststructure.h: 
2033         * gst/gstcaps.h: 
2034         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2035         #319940.
2036
2037         * gst/gsterror.c (_gst_core_errors_init):
2038         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2039         category.
2040
2041         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2042         (noinst_HEADERS): noinst the -private.
2043
2044 2005-11-21  Michael Smith <msmith@fluendo.com>
2045
2046         * gst/gstplugin.h:
2047         * gst/gstregistry.h:
2048           Remove unimplemented declarations for which we can see no sensible
2049           use.
2050
2051 2005-11-21  Andy Wingo  <wingo@pobox.com>
2052
2053         * gst/gst.h: Include glib-compat.h.
2054
2055         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2056
2057         * gst/glib-compat.c: Include the public and the private header.
2058
2059         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2060
2061         * gst/gstvalue.c: 
2062         * gst/gstpad.c: 
2063         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2064
2065         * check/gst/gstevent.c (create_custom_events): Check that
2066         FLUSH_STOP is serialized.
2067
2068         * check/elements/identity.c (event_func): 
2069         * check/elements/fakesrc.c (event_func): No stream lock, the core
2070         takes it.
2071
2072         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2073         stream lock taking, yay.
2074
2075         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2076         ensure that core takes the stream lock.
2077
2078         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2079         lock name change.
2080
2081         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2082         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2083         it already. For the flush start we do take it though so we get the
2084         right preroll state change messages.
2085
2086         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2087         the stream lock here, the core does it for us.
2088
2089         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2090         GST_STREAM_GET_LOCK.
2091         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2092         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2093         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2094         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2095         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2096         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2097
2098         * gst/gstpad.c: Update for stream lock name change.
2099
2100         * gst/base/gstbasesink.c: Update for preroll lock name change.
2101
2102 2005-11-21  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2105         (gst_clock_get_master):
2106         * gst/gstclock.h:
2107         * gst/gstsystemclock.c: (gst_system_clock_init):
2108         Convert Clock flags to object flags.
2109         Added methods to manage master/slave clocks.
2110
2111 2005-11-21  Wim Taymans  <wim@fluendo.com>
2112
2113         * check/gst/gstsegment.c: (GST_START_TEST):
2114         * docs/design/part-TODO.txt:
2115         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2116         (gst_base_sink_event), (gst_base_sink_do_sync),
2117         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2118         (gst_base_sink_query), (gst_base_sink_change_state):
2119         * gst/base/gstbasesink.h:
2120         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2121         (gst_base_src_default_newsegment),
2122         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2123         (gst_base_src_get_range), (gst_base_src_loop),
2124         (gst_base_src_change_state):
2125         * gst/base/gstbasesrc.h:
2126         * gst/base/gstbasetransform.c:
2127         (gst_base_transform_prepare_output_buf),
2128         (gst_base_transform_event), (gst_base_transform_change_state):
2129         * gst/base/gstbasetransform.h:
2130         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2131         (gst_collect_pads_event):
2132         * gst/base/gstcollectpads.h:
2133         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2134         (gst_fake_src_create):
2135         * gst/elements/gstfakesrc.h:
2136         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2137         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2138         (gst_segment_set_last_stop), (gst_segment_set_seek),
2139         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2140         (gst_segment_to_running_time), (gst_segment_clip):
2141         * gst/gstsegment.h:
2142         More segment updates, replace code in plugins with segment
2143         helper functions.
2144
2145 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2146
2147         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2148         Don't ignore sscanf results
2149
2150 2005-11-21  Andy Wingo  <wingo@pobox.com>
2151
2152         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2153
2154         * *.h:
2155         * *.c: Ran scripts/update-macros. Oh yes.
2156
2157         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2158         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2159         GST_GET_LOCK, etc.
2160
2161         * scripts/update-macros: New script. Run it on your files to
2162         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2163         well.
2164
2165 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2166
2167         * docs/gst/Makefile.am:
2168         * docs/gst/gstreamer-docs.sgml:
2169         * docs/gst/gstreamer-sections.txt:
2170         * docs/gst/gstreamer.types:
2171         * gst/gstinfo.h:
2172           more docs fixes, add new api to the docs
2173
2174 2005-11-21  Andy Wingo  <wingo@pobox.com>
2175
2176         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2177         state_broadcast call.
2178
2179         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2180
2181 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2182
2183         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2184         function calls for arrays.
2185
2186 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2187
2188         * docs/random/ensonic/media-device-daemon.txt:
2189           wild idea, can this be done?
2190         * docs/gst/gstreamer-sections.txt:
2191         * gst/gsterror.h:
2192         * gst/gstfilter.c:
2193         * gst/gstfilter.h:
2194         * gst/gstplugin.h:
2195         * gst/gstpluginfeature.c:
2196         * gst/gsttrace.c:
2197         * gst/gstvalue.c:
2198         * gst/gstvalue.h:
2199           doc fixes and additions
2200
2201 2005-11-21  Andy Wingo  <wingo@pobox.com>
2202
2203         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2204         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2205         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2206         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2207         private to the basesrc implementation.
2208
2209         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2210         behalf of event function if necessary. It should no longer be
2211         necessary to take the stream lock in pad's event functions. Fixes
2212         #320299.
2213
2214 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2215         * docs/gst/gstreamer-sections.txt:
2216         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2217         (gst_structure_fixate_field_nearest_double),
2218         (gst_structure_fixate_field_boolean):
2219         * gst/gststructure.h:
2220         * win32/common/libgstreamer.def:
2221         * win32/gstreamer.def:
2222
2223         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2224         (#322027)
2225
2226 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2227
2228         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2229         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2230         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2231         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2232         (gst_fdsrc_uri_handler_init):
2233         * gst/elements/gstfdsrc.h:
2234           Port fd:// URI handler from 0.8 to fdsrc
2235
2236 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2239         (gst_value_serialize_fourcc):
2240         * gst/gstvalue.h:
2241           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2242           consistent with our other format defines (#320324).
2243
2244 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * gst/gstvalue.c: (gst_value_is_fixed):
2247           Revert previous commit. Value lists are by definition
2248           not fixed, as they are a list of possible values.
2249
2250 2005-11-21  Andy Wingo  <wingo@pobox.com>
2251
2252         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2253         during the stable series if we need it. Fixes #319178.
2254
2255         * gst/gstevent.c (gst_event_new_filler): Removed.
2256
2257         * check/gst/gstevent.c: Update comment about filler events.
2258
2259 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * gst/gstvalue.c: (gst_value_is_fixed):
2262           Should handle both value arrays and value lists.
2263
2264 2005-11-21  Andy Wingo  <wingo@pobox.com>
2265
2266         patch by: Alessandro Dessina <alessandro nnva org>
2267
2268         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2269         functions to access arrays. Fixes #321962.
2270
2271 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2272
2273         * docs/gst/gstreamer.types:
2274           gst_collectpads_get_type => gst_collect_pads_get_type.
2275           
2276         * gst/base/gstbasetransform.c:
2277           Remove unused SIGNAL_HANDOFF enum.
2278
2279 2005-11-21  Andy Wingo  <wingo@pobox.com>
2280
2281         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2282         the event type (upstream, downstream, serialized). Renamed
2283         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2284         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2285         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2286
2287         * gst/gstevent.c: Update for new CUSTOM event names.
2288
2289         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2290
2291         * gst/gstevent.h:
2292         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2293         bug #319392.
2294
2295 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2296
2297         * docs/gst/gstreamer-sections.txt:
2298         * win32/common/libgstbase.def:
2299         * win32/libgstbase.def:
2300         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2301         (gst_collect_pads_class_init), (gst_collect_pads_init),
2302         (gst_collect_pads_finalize), (gst_collect_pads_new),
2303         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2304         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2305         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2306         (gst_collect_pads_start), (gst_collect_pads_stop),
2307         (gst_collect_pads_peek), (gst_collect_pads_pop),
2308         (gst_collect_pads_available), (gst_collect_pads_read),
2309         (gst_collect_pads_flush), (gst_collect_pads_event),
2310         (gst_collect_pads_chain):
2311         * gst/base/gstcollectpads.h:
2312           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2313           unimplemented functions as unimplemented. Add padding to
2314           GstCollectData. (#320766, #320423)
2315
2316 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2317
2318         * gst/gstmessage.c:
2319           Improve docs for DURATION message (usage of duration parameter)
2320           (#320113)
2321
2322 2005-11-20  Wim Taymans  <wim@fluendo.com>
2323
2324         * check/Makefile.am:
2325         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2326         (main):
2327         * gst/Makefile.am:
2328         * gst/gst.h:
2329         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2330         (gst_segment_set_seek), (gst_segment_set_newsegment),
2331         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2332         (gst_segment_clip):
2333         * gst/gstsegment.h:
2334         Added segment helper structure and methods. Not fully implemented
2335         yet.
2336         Added segment check.
2337
2338 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2339
2340         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2341           Add a deserialisation test for fractions
2342         * examples/metadata/read-metadata.c: (message_loop),
2343         (make_pipeline), (main):
2344           Fix up metadata reading sample.
2345         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2346           Debug format fix
2347         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2348           Don't try and fixate empty caps
2349         * gst/gst_private.h:
2350           Wrap in G_BEGIN_DECLS/G_END_DECLS
2351         * gst/gstvalue.c: (gst_value_collect_fraction),
2352         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2353         (gst_value_transform_string_fraction),
2354         (gst_value_compare_fraction):
2355           Add some extra guards to ensure that we don't end up 
2356           with an invalid denominator of 0 in a gstfraction and
2357           that fractions always get reduced.
2358
2359 2005-11-20  Wim Taymans  <wim@fluendo.com>
2360
2361         * docs/gst/gstreamer-sections.txt:
2362         * gst/gstbuffer.h:
2363         * gst/gstelement.c:
2364         * gst/gstformat.c:
2365         * gst/gstformat.h:
2366         * gst/gstindex.h:
2367         * gst/gstquery.c:
2368         * gst/gstquery.h:
2369         * gst/gstvalue.c:
2370         Doc fixes.
2371
2372 2005-11-20  Wim Taymans  <wim@fluendo.com>
2373
2374         * docs/design/part-TODO.txt:
2375         * gst/gstcaps.h:
2376         Make a proper enum of the flag.
2377
2378 2005-11-19  Wim Taymans  <wim@fluendo.com>
2379
2380         * docs/design/part-TODO.txt:
2381         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2382         (gst_format_to_quark), (gst_format_register):
2383         * gst/gstformat.h:
2384         * gst/gstquery.c: (_gst_query_initialize),
2385         (gst_query_type_get_name), (gst_query_type_to_quark),
2386         (gst_query_type_register):
2387         * gst/gstquery.h:
2388         Add type to quark and type to string conversions.
2389
2390 2005-11-19  Andy Wingo  <wingo@pobox.com>
2391
2392         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2393         #320097.
2394
2395 2005-11-19  Wim Taymans  <wim@fluendo.com>
2396
2397         * docs/design/part-TODO.txt:
2398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2399         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2400         (gst_bin_handle_message_func):
2401         * gst/gstbin.h:
2402         Make message handling overridable.
2403
2404 2005-11-19  Andy Wingo  <wingo@pobox.com>
2405
2406         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2407
2408         * gst/gstclock.h:
2409         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2410         be a GstClockTime.
2411         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2412         is a GstClockTime. Fixes #321710.
2413
2414         * gst/gstclock.h (GstClock): Remove offset property. Add
2415         internal_calibration and external_calibration. Fix padding. Pad
2416         also by GstClockTime so we don't run into problems.
2417
2418         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2419         (gst_clock_get_rate_offset): Remove.
2420         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2421
2422         * gst/gstutils.h:
2423         * gst/gstutils.c (g_static_rec_cond_wait)
2424         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2425
2426         * gst/gstbin.c: Remove terrible continue_state prototype.
2427
2428         * gst/gstelement.h (gst_element_continue_state): Make public.
2429
2430         * gst/gstelement.h:
2431         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2432         by continue_state. Fixes #319389.
2433
2434         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2435         Really fixes #168438. However I don't see anywhere where the
2436         filter function is called... stupid GStreamer...
2437         
2438         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2439         don't have a dispose function, so it won't get called when the
2440         object is unreffed, but oh well!
2441
2442         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2443         allows a destroy function to be set so user_data can be freed.
2444         Fixes #168438.
2445         (gst_index_set_filter): Call gst_index_set_filter_full.
2446
2447         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2448
2449         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2450         string should produce an error, given the lack of a way to
2451         represent NULL strings. Fixes #165650.
2452         
2453         * gst/gstvalue.h: 
2454         * gst/gstvalue.c (gst_value_array_append_value) 
2455         (gst_value_array_prepend_value, gst_value_array_get_size) 
2456         (gst_value_array_get_value): New API, copied from
2457         gst_value_list_*, only operates on arrays.
2458         (gst_value_list_append_value, gst_value_list_prepend_value) 
2459         (gst_value_list_concat, gst_value_list_get_size) 
2460         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2461
2462         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2463         init_list, because it works on both.
2464         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2465         (gst_value_copy_list_or_array): Renamed from copy_list.
2466         (gst_value_free_list_or_array): Renamed from free_list.
2467         (gst_value_collect_list_or_array): Renamed from collect_list.
2468         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2469         (gst_value_list_or_array_peek_pointer): Renamed from
2470         list_peek_pointer.
2471         (_gst_value_array_value_table, _gst_value_list_value_table):
2472         Update value table functions.
2473         (gst_value_compare_list_or_array): Renamed from compare_list.
2474
2475         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2476         some constness.
2477
2478         * gst/gsttaglist.c:
2479         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2480         GstTagList*. Fixes #143472.
2481
2482         * gst/gststructure.h: Clarify what the foreach/map functions can
2483         or can't do to their arguments.
2484
2485 2005-11-18  Wim Taymans  <wim@fluendo.com>
2486
2487         * gst/gstclock.c: (gst_clock_set_calibration),
2488         (gst_clock_get_calibration):
2489         Doc and API fixes.
2490         Calibration can be set with internal time equal to current
2491         internal time too.
2492
2493 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2494
2495         * gst/gsterror.c:
2496         * gst/gsterror.h:
2497           document
2498
2499 2005-11-18  Andy Wingo  <wingo@pobox.com>
2500
2501         * configure.ac: 
2502         * pkgconfig/gstreamer-net.pc.in:
2503         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2504         * pkgconfig/Makefile.am: Add net pkgconfig files.
2505
2506 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2507
2508         * gst/gstcaps.c:
2509         * gst/gstghostpad.c:
2510         * gst/gsttrace.c:
2511         * gst/gstvalue.c:
2512         * gst/gstvalue.h:
2513           docs fixes
2514
2515 2005-11-18  Andy Wingo  <wingo@pobox.com>
2516
2517         * gst/net/gstnetclientclock.c: Turn off debugging.
2518
2519         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2520         times connverge somewhat. Can't make a real test.
2521
2522         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2523         integer arithmetic. Return the minimum of the domain, which can be
2524         set as "internal" for gst_clock_set_calibration.
2525         (gst_net_client_clock_observe_times): Call _set_calibration.
2526         (gst_net_client_clock_new): Call _set_calibration instead of
2527         rate_offset.
2528
2529         * check/net/gstnetclientclock.c (test_functioning): Use the right
2530         adjustment api.
2531
2532         * gst/gstclock.h:
2533         * gst/gstclock.c (gst_clock_get_calibration) 
2534         (gst_clock_set_calibration): New functions, obsolete the ones I
2535         added yesterday. Doh. Precision issues mean we have to extrapolate
2536         from a point in the more recent past than 1970.
2537         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2538         obsolete.
2539         (gst_clock_adjust_unlocked): Use the right calibration data.
2540
2541 2005-11-18  Edward Hervey  <edward@fluendo.com>
2542
2543         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2544         Also reset the ->current_* values in READY->PAUSED
2545
2546 2005-11-18  Andy Wingo  <wingo@pobox.com>
2547
2548         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2549         Whoops, check the right fd. Also add some debugging.
2550         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2551         (do_linear_regression): Add a crapload of debugging. Subtract off
2552         the minimum values from the input series to discard unneeded bits.
2553         Use only int arithmetic. There is still double arithmetic when
2554         calculating the intercept that needs fixing. Return boolean to
2555         indicate success; FALSE would mean the domain or range is too
2556         great. Still needs fixes.
2557
2558 2005-11-18  Wim Taymans  <wim@fluendo.com>
2559
2560         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2561         For the current position in stream time, we need to subtract
2562         accumulated time.
2563         
2564         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2565         Release lock before calling the callback function of async
2566         entries.
2567
2568 2005-11-18  Andy Wingo  <wingo@pobox.com>
2569
2570         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2571         Port goes all the way to MAXUINT16.
2572
2573         * gst/net/gstnettimeprovider.c: Make the port range the same as
2574         for the kernel: 0 assigns, otherwise ports are less than
2575         MAXUINT16.
2576
2577         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2578         port change.
2579
2580         * check/net/gstnetclientclock.c (test_functioning): Add the start
2581         of another test. 
2582
2583 2005-11-18  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2586         (gst_bin_remove_func), (bin_bus_handler):
2587         * gst/gstbin.h:
2588         Removing a clock provider from a bin, triggers a clock lost message
2589         so that a new clock will be selected.
2590         Adding a clock to a bin triggers a clock provider message.
2591         Make sure we reselect a clock when we received a clock lost message.
2592         Keep a reference to the element that provided the clock.
2593
2594 2005-11-18  Andy Wingo  <wingo@pobox.com>
2595
2596         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2597         the clock initially so it produces values around the base time.
2598         (gst_net_client_clock_class_init): Typo fix.
2599         (gst_net_client_clock_thread): Add note on when the socket gets
2600         closed.
2601
2602 2005-11-17  Wim Taymans  <wim@fluendo.com>
2603
2604         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2605         Free remote and local time arrays.
2606
2607 2005-11-17  Wim Taymans  <wim@fluendo.com>
2608
2609         * gst/net/gstnetclientclock.c: (do_linear_regression),
2610         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2611         Fix compilation, uninitialized vars and a forgotten continue.
2612
2613 2005-11-17  Andy Wingo  <wingo@pobox.com>
2614
2615         * check/Makefile.am (check_PROGRAMS): 
2616         * check/net/gstnetclientclock.c: Add a most minimal test for the
2617         net client clock. More to come later.
2618
2619         * gst/net/gstnet.h: 
2620         * gst/net/Makefile.am: Add netclientclock.
2621
2622         * gst/net/gstnetclientclock.h:
2623         * gst/net/gstnetclientclock.c: New files, implement an untested
2624         GstClock that takes its time from a network time provider.
2625         Implements the algorithm in network-clock.scm.
2626
2627         * tests/network-clock.scm (*window-size*): Rename from
2628         *queue-length*.
2629         * tests/network-clock.scm (network-time): 
2630         * tests/network-clock-utils.scm (q-push): Update callers.
2631
2632 2005-11-17  Wim Taymans  <wim@fluendo.com>
2633
2634         * gst/gstbin.c: (gst_bin_provide_clock_func),
2635         (gst_bin_sort_iterator_new):
2636         And unref the child too..
2637
2638 2005-11-17  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2641         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2642         Refactor the sort iterator so it can be used while holding the
2643         LOCK too.
2644         Make clock selection select a clock closest to the source.
2645
2646 2005-11-17  Michael Smith <msmith@fluendo.com>
2647
2648         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2649         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2650         * gst/gstclock.h:
2651           Anonymous structs are a gcc (and some other compilers) extension, so
2652           don't use them. Since this is only for ABI-compatibility, and our
2653           API/ABI freeze is over in a few days, this whole thing will only
2654           last a few days, so don't bother trying to think up a meaningful
2655           name for the struct.
2656
2657 2005-11-17  Andy Wingo  <wingo@pobox.com>
2658
2659         * gst/gstclock.h (GstClock): Add rate and offset properties,
2660         preserving ABI stability. Add rate/offset accessors. Will file bug
2661         for the freeze break.
2662
2663         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2664         and offset, trying to keep precision and avoiding
2665         underflow/overflow.
2666         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2667         functions. Make gst_clock_set_time_adjust obsolete.
2668         (gst_clock_set_time_adjust): Note that this function is obsolete.
2669         Will file bug soon.
2670
2671         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2672         greppable by using GST_PADDING-1+1.
2673
2674 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2675
2676         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2679           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2680
2681         * gst/gstpadtemplate.h:
2682         * gst/gstpluginfeature.h:
2683           Don't use c++ style comments in headers (#321638).
2684
2685 2005-11-16  Andy Wingo  <wingo@pobox.com>
2686
2687         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2688         buffer.
2689
2690         * check/net/gstnettimeprovider.c: Check to see that the time
2691         provider actually provides times. Works, yo!
2692
2693 2005-11-16  Wim Taymans  <wim@fluendo.com>
2694
2695         * check/Makefile.am:
2696         Enable more tests.
2697
2698         * check/elements/fakesrc.c: (GST_START_TEST):
2699         Set element to NULL before disposing it.
2700
2701 2005-11-16  Andy Wingo  <wingo@pobox.com>
2702
2703         * gst/net/Makefile.am:
2704         * gst/net/gstnet.h:
2705         * gst/net/gstnettimeprovider.c: 
2706         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2707         provider, include it from gstnet.h, and add it to the build.
2708
2709         * gst/net/gstnettimepacket.h: 
2710         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2711         sending and receiving.
2712
2713 2005-11-16  Wim Taymans  <wim@fluendo.com>
2714
2715         * check/Makefile.am:
2716         Enable valgrind check.
2717
2718         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2719         (gst_fake_src_alloc_buffer):
2720         Fix memleak.
2721
2722 2005-11-16  Wim Taymans  <wim@fluendo.com>
2723
2724         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2725         Call parent finalize too.
2726
2727 2005-11-16  Wim Taymans  <wim@fluendo.com>
2728
2729         * check/Makefile.am:
2730         Enable valgrind check that should work fine now.
2731
2732         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2733         * gst/gstqueue.c: (gst_queue_init):
2734         Fix memleaks in pad allocation.
2735
2736 2005-11-16  Andy Wingo  <wingo@pobox.com>
2737
2738         * gst/net/Makefile.am:
2739         * gst/net/gstnet.h: New part of core to hold network elements and
2740         objects. Put in core because it exposes API that applications want
2741         to use. The library is named libgstnet-tempname right now because
2742         of the existing libgstnet in gst-plugins-base. Solution is
2743         probably to rename the one in plugins-base; will file a bug for
2744         the freeze break.
2745
2746         * gst/net/gstnettimeprovider.c: 
2747         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2748         get_time call over the network.
2749
2750         * configure.ac: 
2751         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2752
2753         * check/Makefile.am:
2754         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2755         get additions shortly.
2756
2757 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2758
2759         * gst/gstpad.c: (gst_pad_new_from_static_template):
2760         * gst/gstpad.h:
2761           add gst_pad_new_from_static_template functions
2762         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2763         (gst_check_setup_sink_pad):
2764         * gst/elements/gsttee.c: (gst_tee_init):
2765           and use them
2766
2767 2005-11-16  Wim Taymans  <wim@fluendo.com>
2768
2769         * gst/gstpad.c: (gst_pad_pause_task):
2770         Removed warning, it's not really an error either.
2771
2772 2005-11-16  Wim Taymans  <wim@fluendo.com>
2773
2774         * gst/base/gstbasetransform.c:
2775         (gst_base_transform_prepare_output_buf),
2776         (gst_base_transform_event):
2777         Check if the caps are NULL, this can happen if the element
2778         is shutting down and the pad caps are set to NULL.
2779
2780 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2781
2782         * gst/elements/gsttee.c: (gst_tee_init):
2783           fix pad template leak in tee
2784
2785 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2786
2787         * gst/glib-compat.c: (g_value_dup_gst_object):
2788         * gst/glib-compat.h:
2789         * gst/gstpad.c: (gst_pad_set_property):
2790           use gst_object_ref when setting the pad template; this will
2791           trigger the pad template leaks on GLib 2.6 and the slaves
2792
2793 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2794
2795         * gst/glib-compat.c: (gst_flags_get_first_value):
2796         * gst/glib-compat.h:
2797         * gst/gstregistryxml.c:
2798           remove functions copied from GLib 2.6
2799
2800 2005-11-16  Michael Smith <msmith@fluendo.com>
2801
2802         * gst/Makefile.am:
2803           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2804           do, but only breaks with newer valgrind versions. We're not a
2805           valgrind tool, we have no link-time dependencies on libcoregrind.
2806
2807 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2808
2809         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2810           some debug changes
2811         * gst/gstmessage.h:
2812           typo fixes
2813
2814 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * gst/base/gstbasesrc.c: (gst_base_src_init):
2817         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2818         * gst/gstqueue.c: (gst_queue_init):
2819         * gst/gstregistryxml.c: (load_feature):
2820           Revert all these unrefs, they don't even pass make check !
2821
2822 2005-11-15  Johan Dahlin  <johan@gnome.org>
2823
2824         * gst/base/gstbasesrc.c: (gst_base_src_init):
2825         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2826         * gst/gstqueue.c: (gst_queue_init): 
2827         Free pad templates, fixes a couple of leaks.
2828
2829 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2830
2831         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2832
2833         * gst/gstpad.c: (gst_pad_get_property):
2834           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2835           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2836           (#321452)
2837
2838 2005-11-15  Wim Taymans  <wim@fluendo.com>
2839
2840         * gst/gstevent.c:
2841         Small doc update.
2842
2843 2005-11-15  Andy Wingo  <wingo@pobox.com>
2844
2845         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2846
2847         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2848         using GST_CLOCK_TIME_NONE to disable base time management.
2849         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2850         time if it was NONE before.
2851         (gst_pipeline_change_state): Only munge the base time if
2852         stream_time != GST_CLOCK_TIME_NONE.
2853
2854         * check/gst/gstpipeline.c (test_base_time): Punt around the
2855         problem of the probe not being called, because that's not the
2856         issue I'm looking at. Add a check that setting stream_time to NONE
2857         disables base time management.
2858         
2859 2005-11-15  Wim Taymans  <wim@fluendo.com>
2860
2861         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2862         segment_stop == -1 at startup.
2863
2864         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2865         (gst_base_transform_change_state):
2866         Init segment values at start.
2867
2868 2005-11-15  Wim Taymans  <wim@fluendo.com>
2869
2870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2871         0 segment values are 0 in any format.
2872
2873         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2874         * gst/base/gstbasetransform.h:
2875         Parse newsegment correctly in basetransform
2876
2877         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2878         Sync to clock using updated segment values.
2879
2880 2005-11-15  Andy Wingo  <wingo@pobox.com>
2881
2882         * check/gst/gstpipeline.c (test_base_time): Add check that the
2883         base time and stream time are reset correctly.
2884
2885 2005-11-15  Wim Taymans  <wim@fluendo.com>
2886
2887         * docs/design/part-TODO.txt:
2888         Some more TODO items.
2889
2890 2005-11-15  Andy Wingo  <wingo@pobox.com>
2891
2892         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2893         error if the user selected "no clock" as the clocking method.
2894
2895         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2896         timestamps with live capture.
2897
2898         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2899         is 0 but we are a live source, timestamp the buffers using the
2900         element's clock.
2901
2902 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * docs/gst/gstreamer-sections.txt:
2905         * gst/gsterror.c:
2906         * gst/gstghostpad.c:
2907         * gst/gstobject.h:
2908         * gst/gstxml.c:
2909           more section docs
2910
2911 2005-11-14  Wim Taymans  <wim@fluendo.com>
2912
2913         * common/gst.supp:
2914           add suppressions from Wim's Debian machine
2915
2916 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2917
2918         * common/gst.supp:
2919           add suppressions from Andy's AMD64 Ubuntu machine
2920
2921 2005-11-14  Andy Wingo  <wingo@pobox.com>
2922
2923         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2924         STATE_LOCK not necessary. Fixes #311489.
2925
2926         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2927         #305291.
2928
2929         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2930         this function is not implemented.
2931
2932 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2933
2934         * gst/base/gstbasetransform.c:
2935         (gst_base_transform_prepare_output_buf):
2936         Ref the source pad caps while we need them.
2937         Fixes (#321386)
2938
2939 2005-11-11  Wim Taymans  <wim@fluendo.com>
2940
2941         * docs/gst/gstreamer-sections.txt:
2942         Added some docs for GstCollectData.
2943
2944         * gst/base/gstadapter.c:
2945         Some small code example fix.
2946
2947         * gst/base/gstcollectpads.c:
2948         * gst/base/gstcollectpads.h:
2949         Document some more.
2950
2951 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2952
2953         * configure.ac: back to HEAD
2954
2955 === release 0.9.5 ===
2956
2957 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2958
2959         * configure.ac:
2960           releasing 0.9.5, "Bike Lunch Day"
2961
2962 2005-11-11  Wim Taymans  <wim@fluendo.com>
2963
2964         * gst/gstbuffer.c: (_gst_buffer_copy):
2965         Copy more flags.
2966
2967         * gst/gstcaps.c: (gst_caps_is_equal):
2968         Fix some docs.
2969         Make _is_equal fast in the trivial cases.
2970
2971         * gst/gstminiobject.c:
2972         * gst/gstminiobject.h:
2973         More docs. Spifify .h file.
2974
2975         * gst/gstutils.c:
2976         Small doc update.
2977
2978 2005-11-11  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/base/gstbasetransform.c:
2981         (gst_base_transform_prepare_output_buf),
2982         (gst_base_transform_handle_buffer):
2983         Small cleanups.
2984         If we're processing a buffer and need to allocate an output
2985         buffer, we cannot accept a format change. If we did get a 
2986         format change, we have to alloc a buffer ourselves of the 
2987         right size.
2988
2989 2005-11-11  Wim Taymans  <wim@fluendo.com>
2990
2991         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2992         While checking the flag for reentrancy in the gstcaps function
2993         is nice to detect recursive invocations, it also makes it 
2994         impossible to call getcaps from multiple threads, which must be
2995         possible. So, checking for recursive calls has to go.
2996
2997 2005-11-11  Michael Smith <msmith@fluendo.com>
2998
2999         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3000           Don't sync on buffers that fall partially outside our current
3001           segment. Prevents an assertion failure/abort playing some files.
3002
3003 2005-11-10  Andy Wingo  <wingo@pobox.com>
3004
3005         * check/gst/gstbin.c (test_message_state_changed_children): Style
3006         fix..
3007
3008         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3009         gst_bus_poll with the signal watch. Ensures that poll and a signal
3010         watch see the same messages.
3011
3012         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3013         a poll and a watch at the same time get the same messages.
3014
3015 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3016
3017         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3018         * gst/gstcaps.c: (gst_caps_intersect):
3019           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3020           and it's not needed.
3021
3022 2005-11-10  Wim Taymans  <wim@fluendo.com>
3023
3024         * docs/design/part-TODO.txt:
3025         Updated todo.
3026
3027 2005-11-10  Wim Taymans  <wim@fluendo.com>
3028
3029         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3030         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3031         (gst_base_src_do_sync), (gst_base_src_get_range):
3032         Implement clock sync in base class.
3033
3034 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3035
3036         patch by: Tim-Philipp Müller <tim at centricular dot net>
3037
3038         * gst/gststructure.c: (gst_structure_parse_field),
3039         (gst_structure_from_string):
3040           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3041           so that gst_parse_launch() can deal with spaces in filtered link
3042           caps (fixes #164479)
3043         * check/gst/capslist.h:
3044         * check/gst/gststructure.c: (GST_START_TEST):
3045           add unit tests for this change
3046
3047 2005-11-10  Wim Taymans  <wim@fluendo.com>
3048
3049         * docs/gst/gstreamer-sections.txt:
3050         * gst/gstelement.c:
3051         * gst/gstelement.h:
3052         Fix docs, move some STATE macros to private.
3053
3054 2005-11-10  Wim Taymans  <wim@fluendo.com>
3055
3056         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3057         Added check for bug #317341
3058
3059         * gst/gstbuffer.c:
3060         * gst/gstbuffer.h:
3061         Some more spiffifying.
3062
3063         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3064         Call peer linkfunction if we are a source pad. Totally fixes
3065         #317341
3066
3067         * gst/gstpad.c:
3068         Update docs, source pads should call the peer linkfunction
3069         so they can atomically perform the pad link.
3070
3071 2005-11-09  Wim Taymans  <wim@fluendo.com>
3072
3073         * gst/gstbuffer.c:
3074         * gst/gstbuffer.h:
3075         Uber-spiffy-spiffify some more.
3076
3077 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3078
3079         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3080         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3081         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3082         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3083         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3084         * gst/gstpad.c: (gst_pad_init):
3085           Use GST_DEBUG_FUNCPTR() more extensively.
3086
3087 2005-11-09  Wim Taymans  <wim@fluendo.com>
3088
3089         * gst/gstobject.c: (gst_object_class_init):
3090         * gst/gstobject.h:
3091         Documentation fixes.
3092
3093 2005-11-09  Edward Hervey  <edward@fluendo.com>
3094
3095         * gst/gsttypefindfactory.c:
3096         Fix docs.
3097         
3098 2005-11-09  Edward Hervey  <edward@fluendo.com>
3099
3100         * gst/base/gsttypefindhelper.c:
3101         * gst/gsttypefind.c:
3102         * gst/gsttypefind.h:
3103         Fix docs.
3104
3105 2005-11-09  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/gstiterator.c:
3108         Fix revision data.
3109
3110         * gst/gsttask.c:
3111         * gst/gsttask.h:
3112         Fix docs.
3113
3114 2005-11-09  Wim Taymans  <wim@fluendo.com>
3115
3116         * gst/gstevent.h:
3117         * gst/gsturi.h:
3118         Fix docs.
3119
3120 2005-11-09  Wim Taymans  <wim@fluendo.com>
3121
3122         * docs/gst/gstreamer-sections.txt:
3123         Moved the message async delivery private lock and cond
3124         to the private section.
3125
3126         * gst/gstmessage.c:
3127         * gst/gstmessage.h:
3128         Fixed docs.
3129
3130 2005-11-09  Edward Hervey  <edward@fluendo.com>
3131
3132         * docs/gst/gstreamer-sections.txt:
3133         * gst/gsturi.c:
3134         * gst/gsturi.h:
3135         Document GstURIHandler
3136
3137 2005-11-09  Wim Taymans  <wim@fluendo.com>
3138
3139         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3140         (gst_iterator_find_custom):
3141         * gst/gstiterator.h:
3142         Fix iterator docs.
3143
3144 2005-11-09  Wim Taymans  <wim@fluendo.com>
3145
3146         * gst/gstbin.h:
3147         Document another field.
3148
3149         * gst/gststructure.c:
3150         * gst/gststructure.h:
3151         Document.
3152
3153 2005-11-09  Wim Taymans  <wim@fluendo.com>
3154
3155         * gst/gstbin.h:
3156         Documented structs.
3157
3158 2005-11-09  Wim Taymans  <wim@fluendo.com>
3159
3160         * docs/gst/gstreamer-sections.txt:
3161         Added some new macros.
3162
3163         * gst/gstclock.c:
3164         * gst/gstclock.h:
3165         * gst/gstobject.h:
3166         Docs updates.
3167
3168 2005-11-09  Wim Taymans  <wim@fluendo.com>
3169
3170         * docs/design/part-TODO.txt:
3171         Some more items for the TODO
3172
3173         * gst/gstcaps.c:
3174         * gst/gstcaps.h:
3175         Document GstCaps.
3176
3177 2005-11-09  Andy Wingo  <wingo@pobox.com>
3178
3179         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3180         to work on something else now tho...
3181
3182         * gst/base/gstadapter.c: More adapter docs.
3183
3184         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3185         (gst_file_sink_stop): New functions, replace the state change
3186         handler.
3187         (gst_file_sink_class_init): Hook up the start and stop functions.
3188         (gst_file_sink_base_init): Don't set the state change handler any
3189         more. It was a bit ugly too, being set from here...
3190         (gst_file_sink_get_property, gst_file_sink_set_property):
3191         Cleanups...
3192         (gst_file_sink_set_location): More robust check that doesn't call
3193         GST_STATE. Ugggggg.
3194
3195 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3196
3197         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3198           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3199
3200 2005-11-08  Wim Taymans  <wim@fluendo.com>
3201
3202         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3203         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3204         (gst_base_sink_chain), (gst_base_sink_change_state):
3205         * gst/base/gstbasesink.h:
3206         * gst/base/gstbasesrc.h:
3207         * gst/gstelement.h:
3208         * gst/gstevent.h:
3209         Avoid excessive typechecking in macros.
3210
3211         * gst/gstminiobject.c: (gst_mini_object_get_type),
3212         (gst_mini_object_init), (gst_mini_object_new),
3213         (gst_mini_object_free):
3214         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3215         (gst_object_finalize):
3216         Remove cruft code, optimize alloc_trace.
3217
3218 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * docs/faq/gst-uninstalled:
3221           fix up PS1 for systems that try to reset it
3222
3223 2005-11-07  Wim Taymans  <wim@fluendo.com>
3224
3225         * gst/base/gstbasesrc.c: (gst_base_src_init),
3226         (gst_base_src_get_range):
3227         Set the segment_end to -1 initially. Fixed typefind.
3228
3229 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * gst/base/gstadapter.c:
3232           Debug category should be 'adapter', not 'GstAdapter'.
3233           
3234         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3235         (gst_collectpads_class_init), (gst_collectpads_init),
3236         (gst_collectpads_peek), (gst_collectpads_pop),
3237         (gst_collectpads_event), (gst_collectpads_chain):
3238           Add debug category and some debugging output. Use boilerplate
3239           macros. Remove some extraneous words from docs.
3240
3241 2005-11-05  Andy Wingo  <wingo@pobox.com>
3242
3243         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3244         macro.
3245
3246 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3247
3248         * docs/gst/gstreamer-sections.txt:
3249         * gst/gstcaps.h:
3250         * gst/gstinfo.c:
3251         * gst/gstminiobject.h:
3252         * gst/gstobject.h:
3253         * gst/gstutils.h:
3254           more docs added
3255
3256 2005-11-04  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3259         Small update to stop at the configured segment_end
3260         position.
3261
3262 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3263
3264         * gst/gstregistry.c:
3265         * gst/gstregistry.h:
3266           added missing docs
3267
3268 2005-11-04  Edward Hervey  <edward@fluendo.com>
3269
3270         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3271         Check if we are doing a segment seek and have arrived at the
3272         end of that segment.
3273
3274 2005-11-04  Wim Taymans  <wim@fluendo.com>
3275
3276         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3277         Don't leak a mutex unlock in case of an error.
3278
3279         * gst/gstbus.h:
3280         Doc fixes.
3281
3282 2005-11-04  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3285         (gst_bus_post):
3286         Get the context to wake up only once.
3287
3288 2005-11-03  Wim Taymans  <wim@fluendo.com>
3289
3290         * check/states/sinks.c: (GST_START_TEST):
3291         Uncomment fixed check.
3292
3293         * docs/design/part-TODO.txt:
3294         Updated TODO.
3295
3296         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3297         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3298         (gst_base_sink_get_position):
3299         If we are going to PLAYING, post the right pending state
3300         when we post the intermediate paused message.
3301
3302         * gst/gstelement.c: (gst_element_continue_state),
3303         (gst_element_set_state_func), (gst_element_change_state):
3304         Don't post state changes that were between the same state
3305         and were not ASYNC.
3306
3307 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3308
3309         * docs/gst/gstreamer-sections.txt:
3310         * gst/gstcaps.h:
3311         * gst/gstinfo.c:
3312         * gst/gstminiobject.h:
3313         * gst/gstobject.h:
3314         * gst/gstutils.h:
3315           more docs and doc style fixes
3316
3317 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3318
3319         * docs/gst/gstreamer-sections.txt:
3320         * gst/gstelement.c:
3321         * gst/gstminiobject.c:
3322         doc fixes
3323
3324 2005-11-03  Andy Wingo  <wingo@pobox.com>
3325
3326         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3327         state-changed messages actually have the right order and the right
3328         values.
3329
3330 2005-11-03  Wim Taymans  <wim@fluendo.com>
3331
3332         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3333         Added some more checks. Specifically the case where NO_PREROLL
3334         elements are in the pipeline.
3335
3336         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3337         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3338         (gst_base_sink_get_position):
3339         Post READY->PAUSED state change messages too.
3340         Fix bug where VOID was posted as pending state...
3341
3342         * gst/gstbin.c: (gst_bin_recalc_state):
3343         use _element_continue_state() to continue the state change.
3344
3345         * gst/gstelement.c: (gst_element_continue_state),
3346         (gst_element_commit_state), (gst_element_set_state_func),
3347         (gst_element_change_state), (gst_element_change_state_func):
3348         Lots of state change cleanups, assign the STATE_RETURN in
3349         a new continue_state() function that also propagates the
3350         last return value from a state change to the app.
3351         Update some debug statements with proper category.
3352
3353 2005-11-03  Wim Taymans  <wim@fluendo.com>
3354
3355         * docs/design/part-events.txt:
3356         * docs/design/part-gstpipeline.txt:
3357         * docs/design/part-messages.txt:
3358         * docs/design/part-overview.txt:
3359         * docs/design/part-seeking.txt:
3360         * docs/design/part-states.txt:
3361         * docs/design/part-trickmodes.txt:
3362         * docs/manual/advanced-position.xml:
3363         Small docs updates.
3364
3365         * gst/gstobject.h:
3366         People think !! is ugly, this looks better.
3367
3368         * gst/gstpad.c: (gst_pad_set_blocked_async):
3369         Remove !! since it's fixed elsewhere now.
3370
3371 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3372
3373         * gst/gstminiobject.h:
3374         * gst/gstobject.h:
3375           Add !! to _FLAG_IS_SET macros to make the result boolean.
3376
3377 2005-11-03  Edward Hervey  <edward@fluendo.com>
3378
3379         * gst/gstpad.c: (gst_pad_set_blocked_async):
3380         comparing a flag and a gboolean rarely returns coherent results...
3381         Added two characters (!!) to make that work correctly.
3382         
3383 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3384
3385         * gst/gstbus.c: (gst_bus_class_init):
3386           Fix some typos.
3387           
3388         * gst/gstqueue.c: (gst_queue_loop):
3389           Don't assume a miniobject that isn't a buffer is an
3390           event (it could be that there is a refcounting
3391           problem somewhere and the pointer is stale and
3392           refers to an already destroyed miniobject).
3393
3394 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3395
3396         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3397
3398 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3399
3400         * docs/manual/advanced-position.xml:
3401           Update seek example and explanations to current 0.9 API.
3402
3403         * gst/elements/gsttypefindelement.c:
3404         (gst_type_find_element_activate):
3405           Remove FIXME comment now that the found caps
3406           are unreffed.
3407
3408 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3409
3410         * gst/gstregistryxml.c: (load_feature):
3411           Add another GST_STR_NULL instance
3412
3413 2005-11-02  Edward Hervey  <edward@fluendo.com>
3414
3415         * gst/gstpad.c: (handle_pad_block):
3416         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3417         
3418 2005-11-02  Wim Taymans  <wim@fluendo.com>
3419
3420         * gst/gstbin.c:
3421         Fix typo in docs.
3422
3423         * gst/gstelement.c: (gst_element_commit_state):
3424         Remove unused value.
3425
3426         * gst/gstiterator.c:
3427         Mention that the returned element is reffed in the docs.
3428
3429 2005-11-02  Wim Taymans  <wim@fluendo.com>
3430
3431         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3432         (gst_pad_push), (gst_pad_push_event):
3433         Unlock blocked pads when they are flushed.
3434
3435 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3436
3437         * docs/README:
3438         * docs/gst/gstreamer-sections.txt:
3439         * gst/gstbin.c:
3440           doc updates
3441         * gst/gstregistry.c: (gst_registry_scan_path_level):
3442           fix for a nasty little missed situation where an installed plug-in
3443           which was in the cache did not get overridden by an uninstalled one
3444           which was earlier in the plugin path because the newly created plugin
3445           for the uninstalled one (not in the registry) didn't get its
3446           ->registered set to TRUE
3447
3448 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3449
3450         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3451         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3452         (gst_collectpads_is_active), (gst_collectpads_collect),
3453         (gst_collectpads_collect_range), (gst_collectpads_start),
3454         (gst_collectpads_stop), (gst_collectpads_peek),
3455         (gst_collectpads_pop), (gst_collectpads_available),
3456         (gst_collectpads_read), (gst_collectpads_flush):
3457           Guard public API with assertions.
3458         
3459         * gst/gstpad.c:
3460           Fix docs for gst_pad_set_link_function().
3461
3462 2005-11-02  Johan Dahlin  <johan@gnome.org>
3463
3464         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3465         Unref found_caps after we used it.
3466
3467 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3468
3469         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3470           Don't try to ref NULL.
3471
3472 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3473
3474         * win32/common/config.h.in:
3475           provide a GST_FUNCTION that just gives a string for now
3476
3477 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3478
3479         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3480         (gst_object_flags_get_type), (register_gst_bin_flags),
3481         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3482         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3483         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3484         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3485         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3486         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3487         (gst_clock_flags_get_type), (register_gst_state),
3488         (gst_state_get_type), (register_gst_state_change_return),
3489         (gst_state_change_return_get_type), (register_gst_state_change),
3490         (gst_state_change_get_type), (register_gst_element_flags),
3491         (gst_element_flags_get_type), (register_gst_core_error),
3492         (gst_core_error_get_type), (register_gst_library_error),
3493         (gst_library_error_get_type), (register_gst_resource_error),
3494         (gst_resource_error_get_type), (register_gst_stream_error),
3495         (gst_stream_error_get_type), (register_gst_event_type),
3496         (gst_event_type_get_type), (register_gst_seek_type),
3497         (gst_seek_type_get_type), (register_gst_seek_flags),
3498         (gst_seek_flags_get_type), (register_gst_format),
3499         (gst_format_get_type), (register_gst_index_certainty),
3500         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3501         (gst_index_entry_type_get_type),
3502         (register_gst_index_lookup_method),
3503         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3504         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3505         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3506         (gst_index_flags_get_type), (register_gst_debug_level),
3507         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3508         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3509         (gst_iterator_result_get_type), (register_gst_iterator_item),
3510         (gst_iterator_item_get_type), (register_gst_message_type),
3511         (gst_message_type_get_type), (register_gst_mini_object_flags),
3512         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3513         (gst_pad_link_return_get_type), (register_gst_flow_return),
3514         (gst_flow_return_get_type), (register_gst_activate_mode),
3515         (gst_activate_mode_get_type), (register_gst_pad_direction),
3516         (gst_pad_direction_get_type), (register_gst_pad_flags),
3517         (gst_pad_flags_get_type), (register_gst_pad_presence),
3518         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3519         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3520         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3521         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3522         (gst_plugin_flags_get_type), (register_gst_rank),
3523         (gst_rank_get_type), (register_gst_query_type),
3524         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3525         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3526         (gst_tag_flag_get_type), (register_gst_task_state),
3527         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3528         (gst_alloc_trace_flags_get_type),
3529         (register_gst_type_find_probability),
3530         (gst_type_find_probability_get_type), (register_gst_uri_type),
3531         (gst_uri_type_get_type), (register_gst_parse_error),
3532         (gst_parse_error_get_type):
3533         * win32/common/gstversion.h:
3534           update win32 copies
3535
3536 2005-11-01  Luca Ognibene  <luogni@tin.it>
3537
3538         * gst/gst.c:
3539           fix docs. popt is dead, long live GOption.
3540
3541 2005-10-31  Wim Taymans  <wim@fluendo.com>
3542
3543         * gst/gstbuffer.h:
3544         Small doc fix.
3545
3546 2005-10-31  Andy Wingo  <wingo@pobox.com>
3547
3548         * Boo!
3549
3550         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3551
3552         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3553         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3554         the possibility of deadlocks here if code calling notify() or
3555         set() has a lock that can be taken in another notify handler (ABBA
3556         with class lock and e.g. python GIL state lock).
3557
3558 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3559
3560         * gst/gstbus.c: Doc updates.
3561
3562 2005-10-28  Wim Taymans  <wim@fluendo.com>
3563
3564         * docs/design/part-TODO.txt:
3565         * gst/gstiterator.c:
3566         * gst/gstsystemclock.c:
3567         * gst/gstsystemclock.h:
3568         Doc updates.
3569
3570 2005-10-28  Edward Hervey  <edward@fluendo.com>
3571
3572         * docs/gst/gstreamer-docs.sgml:
3573         * docs/gst/gstreamer-sections.txt:
3574         the GstURIType documentation page is private, it only defines GstURIType
3575         which should be defined in the GstURIHandler page
3576         
3577 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3578
3579         * gst/gstbin.c: (gst_bin_class_init):
3580         * gst/gstbin.h:
3581         * gst/gstutils.c:
3582         Documentation updates.
3583
3584 2005-10-28  Wim Taymans  <wim@fluendo.com>
3585
3586         * docs/gst/gstreamer-sections.txt:
3587         * gst/gstclock.c:
3588         * gst/gstclock.h:
3589         Documented the clocks.
3590
3591 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3592
3593         * docs/gst/gstreamer-sections.txt:
3594           move some macros to private sections
3595         * gst/gstminiobject.c:
3596         * gst/gstminiobject.h:
3597           add descriptions provided by ds and some more
3598         * gst/gstpad.h:
3599           mark macro as to be removed
3600
3601 2005-10-28  Wim Taymans  <wim@fluendo.com>
3602
3603         * docs/design/part-TODO.txt:
3604         Add an item to TODO.
3605
3606         * gst/gstiterator.c: (gst_iterator_fold),
3607         (gst_iterator_find_custom):
3608         * gst/gstiterator.h:
3609         Add iterator docs.
3610
3611 2005-10-28  Wim Taymans  <wim@fluendo.com>
3612
3613         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3614         (gst_base_transform_init):
3615         Don't leak class.
3616
3617         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3618         An EOS event marks the queue as completely filled.
3619
3620 2005-10-27  Wim Taymans  <wim@fluendo.com>
3621
3622         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3623         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3624         Some more debugging.
3625
3626         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3627         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3628         (gst_base_transform_event), (gst_base_transform_getrange),
3629         (gst_base_transform_chain):
3630         * gst/base/gstbasetransform.h:
3631         Fix debugging,
3632         Protect transform and concurrent buffer alloc with a new lock.
3633         Try not to break ABI/API.
3634
3635 2005-10-27  Wim Taymans  <wim@fluendo.com>
3636
3637         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3638         (gst_base_src_init), (gst_base_src_query),
3639         (gst_base_src_default_newsegment),
3640         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3641         (gst_base_src_send_event), (gst_base_src_event_handler),
3642         (gst_base_src_pad_get_range), (gst_base_src_loop),
3643         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3644         (gst_base_src_start), (gst_base_src_deactivate),
3645         (gst_base_src_activate_push), (gst_base_src_change_state):
3646         Move some stuff around and cleanup things.
3647
3648 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3649
3650         * gst/base/gstbasesrc.c: (gst_base_src_query):
3651           Add missing break statements.
3652
3653 2005-10-27  Wim Taymans  <wim@fluendo.com>
3654
3655         * check/gst/gstbin.c: (GST_START_TEST):
3656         An extra refcount is taken in basesrc.
3657
3658         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3659         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3660         (gst_base_src_loop):
3661         Small cleanups, check for flushing after being unlocked from the 
3662         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3663         Don't send out EOS when going to READY.
3664
3665 2005-10-27  Wim Taymans  <wim@fluendo.com>
3666
3667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3668         (gst_base_sink_get_position):
3669         Some more debug.
3670
3671         * gst/gstbin.c: (message_check), (bin_replace_message),
3672         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3673         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3674         (bin_query_duration_init), (bin_query_duration_fold),
3675         (bin_query_duration_done), (bin_query_generic_fold),
3676         (gst_bin_query):
3677         * tools/gst-launch.c: (main):
3678         Remove old option.
3679
3680 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3681
3682         * examples/controller/audio-example.c: (main):
3683         * examples/queue/queue.c: (event_loop):
3684         * gst/base/gstbasetransform.h:
3685         * gst/gstelement.c: (gst_element_send_event):
3686         * gst/gstevent.h:
3687         * gst/gstpad.c: (gst_pad_send_event):
3688           fixing examples
3689           fixing docs typos
3690           changing log priority in error situations
3691
3692 2005-10-25  Wim Taymans  <wim@fluendo.com>
3693
3694         * gst/gstbin.c: (message_check), (bin_replace_message),
3695         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3696         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3697         (bin_query_duration_init), (bin_query_duration_fold),
3698         (bin_query_duration_done), (bin_query_generic_fold),
3699         (gst_bin_query):
3700         Some doc and debug updates.
3701         Cache previously requested query DURATION for speed. invalidate
3702         cached duration if element posts a DURATION message.
3703
3704 2005-10-25  Wim Taymans  <wim@fluendo.com>
3705
3706         * docs/design/part-TODO.txt:
3707         Update TODO.
3708
3709         * gst/gstbin.c: (message_check), (bin_replace_message),
3710         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3711         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3712         (bin_query_duration_init), (bin_query_duration_fold),
3713         (bin_query_duration_done), (bin_query_generic_fold),
3714         (gst_bin_query):
3715         Handle SEGMENT_START/DONE messages correctly.
3716         More evolved query algorithm that handles duration queries
3717         correctly.
3718
3719         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3720         (gst_element_get_state_func), (gst_element_abort_state),
3721         (gst_element_commit_state), (gst_element_lost_state):
3722         Some more debugging.
3723
3724         * gst/gstmessage.h:
3725         Added doc.
3726
3727 2005-10-25  Wim Taymans  <wim@fluendo.com>
3728
3729         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3730         Don't use invalid stream_time.
3731
3732         * gst/gstevent.c: (gst_event_new_newsegment):
3733         stream_time in newsegment cannot be undefined.
3734
3735 2005-10-24  Wim Taymans  <wim@fluendo.com>
3736
3737         * gst/gstbus.c:
3738         Doc fix.
3739
3740         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3741         (gst_queue_loop):
3742         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3743
3744 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3745
3746         * docs/libs/tmpl/gstdparam.sgml:
3747         * docs/libs/tmpl/gstdplinint.sgml:
3748         * docs/libs/tmpl/gstdpman.sgml:
3749         * docs/libs/tmpl/gstdpsmooth.sgml:
3750         * docs/libs/tmpl/gstunitconvert.sgml:
3751           these are obsolete
3752
3753 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3754
3755         * configure.ac:
3756           back to HEAD
3757
3758 === release 0.9.4 ===
3759
3760 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3761
3762         * configure.ac:
3763           releasing 0.9.4, "Tyrannosaurus Rex"
3764
3765 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3768         (gst_file_sink_get_current_offset):
3769           Use fseeko() and ftello() if available. When falling back on
3770           lseek() to get the current offset, fflush() first to make sure
3771           everything is up-to-date and we get the right offset.
3772
3773 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3774
3775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3776         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3777         * gst/gsterror.c: (_gst_stream_errors_init):
3778         * gst/gsterror.h:
3779         * gst/gstqueue.c: (gst_queue_loop):
3780         * po/POTFILES.in:
3781           remove prematurely added error category and clean up the instances
3782
3783 2005-10-21  Wim Taymans  <wim@fluendo.com>
3784
3785         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3786         (gst_base_sink_get_position), (gst_base_sink_query),
3787         (gst_base_sink_change_state):
3788         Simply set the right flag when going to playing, that's all
3789         we need to do instead of calling a function inside the object
3790         lock (that could take the lock as well and deadlock)
3791
3792 2005-10-21  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3795         (gst_base_src_loop):
3796         Don't warn, the peer element knows what to do best when
3797         the seek failed, it might try something else.
3798
3799 2005-10-21  Wim Taymans  <wim@fluendo.com>
3800
3801         * gst/base/gstbasesrc.c: (gst_base_src_init),
3802         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3803         Fix seeking.
3804
3805 2005-10-21  Wim Taymans  <wim@fluendo.com>
3806
3807         * docs/design/part-segments.txt:
3808         More docs.
3809
3810         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3811         Correctly set caps, even on the subbufer.
3812
3813 2005-10-21  Wim Taymans  <wim@fluendo.com>
3814
3815         * docs/gst/gstreamer-docs.sgml:
3816         * docs/gst/gstreamer-sections.txt:
3817         * gst/gstelement.h:
3818         * gst/gstevent.c:
3819         * gst/gstevent.h:
3820         * gst/gstmessage.h:
3821         * gst/gstpad.h:
3822         * gst/gstparse.h:
3823         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3824         * gst/gsttask.h:
3825         * gst/gstutils.c:
3826         * gst/gstutils.h:
3827         And 2% more doc coverage.
3828
3829 2005-10-21  Andy Wingo  <wingo@pobox.com>
3830
3831         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3832         position reporting.
3833
3834 2005-10-20  Wim Taymans  <wim@fluendo.com>
3835
3836         * gst/gsterror.c: (gst_error_get_message):
3837         * gst/gstparse.h:
3838         * gst/gstquery.h:
3839         * gst/gststructure.c:
3840         * gst/gsttrace.c:
3841         * gst/gstutils.c:
3842         More docs.
3843
3844 2005-10-20  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/gstbuffer.h:
3847         * gst/gstpad.c:
3848         * gst/gstparse.c:
3849         Another 1% more coverage.
3850
3851 2005-10-20  Wim Taymans  <wim@fluendo.com>
3852
3853         * docs/gst/gstreamer-sections.txt:
3854         * gst/gstelement.c: (gst_element_get_state_func),
3855         (gst_element_abort_state), (gst_element_commit_state),
3856         (gst_element_lost_state):
3857         * gst/gstevent.h:
3858         * gst/gstquery.c: (gst_query_set_position),
3859         (gst_query_parse_position), (gst_query_set_duration),
3860         (gst_query_parse_duration), (gst_query_new_convert):
3861         * gst/gstutils.c:
3862         Yay! 1% more docs coverage.
3863
3864 2005-10-20  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/gstpad.h:
3867         * gst/gstquery.c: (gst_query_set_position),
3868         (gst_query_parse_position), (gst_query_set_duration),
3869         (gst_query_parse_duration), (gst_query_new_convert):
3870         * gst/gstquery.h:
3871         * gst/gstutils.c: (gst_element_query_convert):
3872         * gst/gstutils.h:
3873         Docs and consistency fixes.
3874
3875 2005-10-20  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/gsttask.c:
3878         * gst/gsttask.h:
3879         More docs.
3880
3881 2005-10-20  Wim Taymans  <wim@fluendo.com>
3882
3883         * gst/gstbin.c: (message_check), (bin_replace_message),
3884         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3885         (update_degree), (gst_bin_sort_iterator_next),
3886         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3887         Reworked the message handling a bit, cache the messages instead of
3888         only the senders. alows us to do more in the future.
3889
3890 2005-10-20  Wim Taymans  <wim@fluendo.com>
3891
3892         * docs/design/part-TODO.txt:
3893         Update TODO
3894
3895         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3896         (gst_base_sink_query):
3897         Don't use clock time to report position when in EOS.
3898
3899 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3900
3901         * tools/gst-inspect.c: (print_interfaces),
3902         (print_element_properties_info), (print_element_info):
3903           Fix interface output with gst-inspect -a; don't print
3904           newlines after double/float properties.
3905
3906 2005-10-20  Wim Taymans  <wim@fluendo.com>
3907
3908         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3909         (gst_base_sink_query):
3910         Speed up current position calculation.
3911
3912         * gst/base/gstbasesrc.c: (gst_base_src_query),
3913         (gst_base_src_default_newsegment):
3914         Correctly set stream position in newsegment.
3915
3916         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3917         (update_degree), (gst_bin_sort_iterator_next),
3918         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3919         * gst/gstmessage.c: (gst_message_new_custom):
3920         Clean up debugging info
3921
3922         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3923         (gst_queue_loop), (gst_queue_handle_src_query):
3924         Pause task faster.
3925
3926 2005-10-19  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3929         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3930         Fix query handling again.
3931
3932 2005-10-19  Wim Taymans  <wim@fluendo.com>
3933
3934         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3935         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3936         * gst/base/gstbasesrc.c: (gst_base_src_query):
3937         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3938         * gst/elements/gsttypefindelement.c:
3939         (gst_type_find_handle_src_query), (find_element_get_length),
3940         (gst_type_find_element_activate):
3941         API change fix.
3942
3943         * gst/gstquery.c: (gst_query_new_position),
3944         (gst_query_set_position), (gst_query_parse_position),
3945         (gst_query_new_duration), (gst_query_set_duration),
3946         (gst_query_parse_duration), (gst_query_set_segment),
3947         (gst_query_parse_segment):
3948         * gst/gstquery.h:
3949         Bundling query position/duration is not a good idea since duration
3950         does not change much and we don't want to recalculate it for every
3951         position query, so they are separated again..
3952         Base value in segment query is not needed.
3953
3954         * gst/gstqueue.c: (gst_queue_handle_src_query):
3955         * gst/gstutils.c: (gst_element_query_position),
3956         (gst_element_query_duration), (gst_pad_query_position),
3957         (gst_pad_query_duration):
3958         * gst/gstutils.h:
3959         Updates for query API change.
3960         Added some docs here and there.
3961
3962 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3963
3964         * check/gst/gstbin.c: (GST_START_TEST):
3965         * check/gst/gstghostpad.c: (GST_START_TEST):
3966         * check/pipelines/cleanup.c: (GST_START_TEST):
3967           wait on thread to die so we can check refcount correctly
3968
3969 2005-10-18  Wim Taymans  <wim@fluendo.com>
3970
3971         * check/pipelines/stress.c: (GST_START_TEST):
3972         Make check a little more time consuming.
3973
3974 2005-10-18  Wim Taymans  <wim@fluendo.com>
3975
3976         * check/Makefile.am:
3977         * check/pipelines/stress.c: (GST_START_TEST),
3978         (simple_launch_lines_suite), (main):
3979         Small state change torture test.
3980
3981         * docs/design/part-states.txt:
3982         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3983         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3984         (gst_base_sink_change_state):
3985         Never take state lock from streaming thread, clean up ugly
3986         hacks. Unfortunatly core does not yet support nice ways to
3987         async commit state.
3988         
3989         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3990         (bin_bus_handler):
3991         Start state recalc if a STATE_DIRTY message is posted, but only
3992         on the toplevel bin.
3993
3994         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3995         (gst_element_get_state_func), (gst_element_abort_state),
3996         (gst_element_commit_state), (gst_element_lost_state),
3997         (gst_element_set_state_func), (gst_element_change_state):
3998         * gst/gstelement.h:
3999         State variables are now protected with the LOCK, the state
4000         lock is only used to serialize _set_state().
4001
4002 2005-10-18  Wim Taymans  <wim@fluendo.com>
4003
4004         * check/gst/gstbin.c: (GST_START_TEST):
4005         * check/gst/gstmessage.c: (GST_START_TEST):
4006         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4007         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4008         (bin_bus_handler):
4009         * gst/gstelement.c: (gst_element_abort_state),
4010         (gst_element_commit_state), (gst_element_lost_state):
4011         * gst/gstmessage.c: (gst_message_new_state_changed),
4012         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4013         (gst_message_new_segment_done), (gst_message_new_duration),
4014         (gst_message_parse_state_changed),
4015         (gst_message_parse_segment_start),
4016         (gst_message_parse_segment_done), (gst_message_parse_duration):
4017         * gst/gstmessage.h:
4018         * tools/gst-launch.c: (event_loop):
4019         Seriously, this is better than a previous commit as we only need
4020         to notify the fact that an element changed state in a streaming
4021         thread, marking the state of the parents dirty, hence the 
4022         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4023         message.
4024
4025 2005-10-18  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4028         (gst_bin_recalc_func):
4029         * gst/gstelement.c: (gst_element_set_clock),
4030         (gst_element_abort_state), (gst_element_lost_state):
4031         Cleanups, prepare for state change fixes.
4032
4033 2005-10-18  Wim Taymans  <wim@fluendo.com>
4034
4035         * gst/gstbin.h:
4036         * gst/gstelement.c: (gst_element_class_init),
4037         (gst_element_set_state), (gst_element_set_state_func):
4038         * gst/gstelement.h:
4039         Pending ABI changes.
4040         GThreadPool in GstBinClass to monitor async state changes.
4041         state_cookie in GstElement to detect concurrent gst/set state.
4042         set_state is now virtual too in case a very complicated element
4043         has to be constructed.
4044
4045 2005-10-18  Wim Taymans  <wim@fluendo.com>
4046
4047         * check/gst/gstbin.c: (GST_START_TEST):
4048         * check/gst/gstmessage.c: (GST_START_TEST):
4049         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4050         * gst/gstbin.c: (bin_bus_handler):
4051         * gst/gstelement.c: (gst_element_commit_state),
4052         (gst_element_lost_state):
4053         * gst/gstmessage.c: (gst_message_new_state_changed),
4054         (gst_message_new_segment_start), (gst_message_new_segment_done),
4055         (gst_message_new_duration), (gst_message_parse_state_changed),
4056         (gst_message_parse_segment_start),
4057         (gst_message_parse_segment_done), (gst_message_parse_duration):
4058         * gst/gstmessage.h:
4059         * tools/gst-launch.c: (event_loop):
4060         Make messages future proof.
4061         state-change gets a flag if it was a message comming from the
4062         streaming thread.
4063         segment-start/stop can also be specified in other formats.
4064         A message to notify an app that a pipeline changed playback 
4065         duration.
4066         Also fix a GstMessage leak in -launch
4067
4068 2005-10-18  Andy Wingo  <wingo@pobox.com>
4069
4070         * gst/gstelement.c (gst_element_dispose): More helpful message.
4071
4072 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4073
4074         reviewed by: <delete if not using a buddy>
4075
4076         * common/gtk-doc.mak:
4077
4078 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4079
4080         * gst/gstregistry.c: (gst_registry_scan_path_level):
4081           unref a plug-in we get that was already initialized
4082
4083 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4084
4085         * docs/gst/gstreamer-sections.txt:
4086         * docs/libs/gstreamer-libs-sections.txt:
4087         * gst/gstelement.h:
4088           add new api entries
4089           hide internal macro
4090
4091 2005-10-17  Andy Wingo  <wingo@pobox.com>
4092
4093         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4094         cleanup.
4095
4096         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4097
4098         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4099
4100         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4101         (gst_element_get_state_func): Better debug message.
4102         (gst_element_commit_state): s/INFO/DEBUG/.
4103         (gst_element_lost_state, gst_element_change_state): 
4104
4105         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4106         (gst_message_new_custom): s/INFO/LOG/.
4107
4108 2005-10-17  Michael Smith <msmith@fluendo.com>
4109
4110         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4111           Check if end time is valid using end time, not start time.
4112
4113 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4114
4115         * check/gst-libs/controller.c: (GST_START_TEST),
4116         (gst_controller_suite):
4117         * libs/gst/controller/gstcontroller.c:
4118         (gst_controlled_property_set_interpolation_mode):
4119         * libs/gst/controller/gstcontroller.h:
4120         * libs/gst/controller/gstinterpolation.c:
4121         * testsuite/controller/.cvsignore:
4122         * testsuite/controller/Makefile.am:
4123         * testsuite/controller/interpolator.c:
4124           merge controller testsuites
4125           fix broken tests
4126           remove mem-chunk from docs
4127
4128 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4129
4130         * gst/gstmemchunk.c:
4131         * gst/gstmemchunk.h:
4132         * gst/gsttrashstack.c:
4133         * gst/gsttrashstack.h:
4134           out.  get out.  you're fired.  to the Attic !
4135
4136 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4137
4138         * gst/gstcaps.c: (gst_caps_intersect):
4139           fix signedness issues in a (hopefully) correct way
4140         * gst/gstelement.c: (gst_element_pads_activate):
4141           some debugging
4142         * gst/gstobject.c: (gst_object_set_parent):
4143           some debugging
4144
4145 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4146
4147         * gst/gstvalue.h: Fix prototypes.
4148
4149 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * docs/gst/gstreamer-sections.txt:
4152         * gst/gst.c: (gst_version_string):
4153         * gst/gst.h:
4154         * gst/gstversion.h.in:
4155         * win32/common/libgstreamer.def:
4156           add gst_version_string ()
4157
4158 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4159
4160         * configure.ac:
4161           clean up further
4162         * gst/gst.c: (init_post):
4163         * win32/common/config.h.in:
4164           it's PLUGINDIR now
4165         * gst/gstcaps.c: (gst_caps_intersect):
4166           use gint64, the range could be bigger than a guint
4167
4168 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4169
4170         * gst/gstclock.h:
4171           document potential problem in 2038
4172
4173 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4174
4175         * gst/gstcaps.c: (gst_caps_intersect):
4176           Fix guint j diving under 0
4177
4178 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4179
4180         * configure.ac:
4181         * win32/common/config.h:
4182         * win32/common/config.h.in:
4183           check for process.h, declares getpid() on Windows
4184         * gst/gstinfo.c:
4185           include process.h if we have it
4186         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4187         * gst/gstmemchunk.h:
4188           fix signedness issues
4189         * win32/common/libgstreamer.def:
4190           fix get_type's
4191
4192 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4193
4194         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4195         fix. Because of unsigned ints, caps intersection was going nuts and
4196         trying to access structures with G_MAXUINT index. That fixes
4197         videotestsrc ! ffmpegcolorspace ! fakesink
4198         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4199         consistency.
4200
4201 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4202
4203         * configure.ac:
4204           use the gettext macro
4205         * gst/elements/gstelements.c:
4206         * gst/gst.c:
4207         * gst/indexers/gstindexers.c:
4208           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4209         * win32/common/config.h:
4210           updated config.h
4211         * win32/common/config.h.in:
4212           add the template to generate config.h
4213         * win32/common/gstenumtypes.c:
4214         * win32/common/gstversion.h:
4215           updated copies
4216
4217 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * gst/gst.c: (gst_version):
4220         * gst/gstversion.h.in:
4221           add the nano
4222
4223 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4224
4225         * gst/gstevent.h:
4226           Oops, add missing closing bracket.
4227
4228 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4229
4230         * configure.ac:
4231           use common m4's for argument checking
4232
4233 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4234
4235         * docs/gst/gstreamer-sections.txt:
4236         * gst/gstevent.h:
4237           Add GST_EVENT_TYPE_NAME() macro.
4238
4239 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4240
4241         * gst/gstinfo.c:
4242         * gst/gstpluginfeature.c:
4243         * gst/gsttask.c:
4244           privatize more symbols
4245
4246 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * configure.ac:
4249           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4250           everything that uses GStreamer API should have the includes
4251
4252 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4253
4254         * docs/gst/gstreamer-sections.txt:
4255         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4256         * gst/gstvalue.h:
4257           give each value a _get_type, removes the DATA exports
4258
4259 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4260
4261         * gst/gst.c:
4262         * gst/gst.h:
4263           remove _gst_registry_auto_load, not used anymore
4264         * gst/gstbin.c: (gst_bin_get_type):
4265         * gst/gstbin.h:
4266         * gst/gstelement.c: (gst_element_get_type):
4267         * gst/gstelement.h:
4268         * gst/gstobject.c: (gst_object_get_type):
4269         * gst/gstobject.h:
4270         * gst/gstpad.c: (gst_pad_get_type):
4271         * gst/gstpad.h:
4272           make _get_type functions similar, fixes data export from library
4273
4274 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * configure.ac:
4277           correctly make conditionals
4278         * gst/elements/Makefile.am:
4279         * gst/elements/gstelements.c:
4280           fix typo causing fdsrc not to build
4281
4282 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         * testsuite/Makefile.am:
4285         * testsuite/bytestream/.cvsignore:
4286         * testsuite/bytestream/Makefile.am:
4287         * testsuite/bytestream/filepadsink.c:
4288         * testsuite/bytestream/gstbstest.c:
4289         * testsuite/bytestream/test1.c:
4290         * testsuite/bytestream/testfile1:
4291         * testsuite/caps/normalisation.c:
4292         * testsuite/caps/random.c: (main):
4293         * testsuite/cleanup/.cvsignore:
4294         * testsuite/cleanup/Makefile.am:
4295         * testsuite/cleanup/cleanup1.c:
4296         * testsuite/cleanup/cleanup2.c:
4297         * testsuite/cleanup/cleanup3.c:
4298         * testsuite/cleanup/cleanup4.c:
4299         * testsuite/cleanup/cleanup5.c:
4300         * testsuite/controller/interpolator.c:
4301         * testsuite/debug/printf_extension.c: (main):
4302         * testsuite/elements/tee.c:
4303         * testsuite/negotiation/.cvsignore:
4304         * testsuite/negotiation/Makefile.am:
4305         * testsuite/negotiation/pad_link.c:
4306         * testsuite/pad/Makefile.am:
4307         * testsuite/pad/chainnopull.c:
4308         * testsuite/pad/getnopush.c:
4309         * testsuite/pad/link.c:
4310         * testsuite/refcounting/sched.c: (create_pipeline):
4311         * testsuite/registry/Makefile.am:
4312         * testsuite/registry/gst-print-formats.c:
4313         * testsuite/schedulers/.cvsignore:
4314         * testsuite/schedulers/142183-2.c:
4315         * testsuite/schedulers/142183.c:
4316         * testsuite/schedulers/143777-2.c:
4317         * testsuite/schedulers/143777.c:
4318         * testsuite/schedulers/147713.c:
4319         * testsuite/schedulers/147819.c:
4320         * testsuite/schedulers/147894-2.c:
4321         * testsuite/schedulers/147894.c:
4322         * testsuite/schedulers/Makefile.am:
4323         * testsuite/schedulers/group_link.c:
4324         * testsuite/schedulers/queue_link.c:
4325         * testsuite/schedulers/relink.c:
4326         * testsuite/schedulers/unlink.c:
4327         * testsuite/schedulers/unref.c:
4328         * testsuite/schedulers/useless_iteration.c:
4329         * testsuite/states/bin.c:
4330           clean out/remove some stuff from the testsuite directories
4331
4332 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4333
4334         * configure.ac:
4335           check for some headers
4336         * gst/elements/Makefile.am:
4337         * gst/elements/gstelements.c:
4338           don't compile fdsrc without sys/socket.h
4339         * gst/indexers/Makefile.am:
4340         * gst/indexers/gstindexers.c: (plugin_init):
4341           don't compile fileindex without mmap
4342
4343 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4344
4345         * configure.ac:
4346           reorganize
4347           clean up
4348           document more
4349           remove cruft
4350         * check/Makefile.am:
4351         * docs/gst/Makefile.am:
4352         * examples/helloworld/Makefile.am:
4353         * gst/Makefile.am:
4354         * gst/base/Makefile.am:
4355         * gst/check/Makefile.am:
4356         * gst/elements/Makefile.am:
4357         * gst/indexers/Makefile.am:
4358         * gst/parse/Makefile.am:
4359         * libs/gst/controller/Makefile.am:
4360         * libs/gst/dataprotocol/Makefile.am:
4361         * examples/helloworld/helloworld.c: (event_loop):
4362           compile fixes, though it's not being compiled currently
4363
4364 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4367           Add some simple tests for the new taglist date API.
4368
4369 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4370
4371         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4372         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4373           Beautify 'last-message' output: print 'none' for buffer timestamps
4374           and durations if none is set; improve alignment with next messages.
4375
4376 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4377
4378         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4379         * gst/gstpluginfeature.h:
4380         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4381         * gst/gstregistry.h:
4382         * docs/gst/gstreamer-sections.txt:
4383           Add new API to check plugin feature version requirements.
4384
4385         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4386           Some basic tests for the above.         
4387
4388 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4389
4390         * gst/gststructure.c: (gst_structure_to_string):
4391           guard against NULL printf - happens when for example
4392           a message structure with GstClock gets serialized
4393
4394 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4395
4396         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4397           Fix presumable copy'n'pasto.
4398
4399 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4400
4401         * gst/elements/gstfakesrc.h:
4402         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4403         * gst/elements/gsttypefindelement.c:
4404           fix some signedness
4405         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4406           I wonder if this could actually write +2GB files before
4407
4408 2005-10-13  Andy Wingo  <wingo@pobox.com>
4409
4410         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4411         Fix Timmeke Waymans bug.
4412         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4413         string of the proper length to gst_caps_from_string. There's a
4414         potential for, before this fix, that this could cause someone
4415         connecting over the network to cause a segfault if the payload is
4416         not NUL-terminated.
4417
4418 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4419
4420         * docs/design/draft-push-pull.txt:
4421         * docs/design/part-overview.txt:
4422         * docs/random/TODO-pre-0.9:
4423         * docs/random/old/ChangeLog.gstreamer:
4424         * gst/base/gstpushsrc.c:
4425         * gst/gstclock.c:
4426           fixed typos
4427
4428 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * gst/glib-compat.c: (gst_flags_get_first_value):
4431         * gst/glib-compat.h:
4432         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4433         (gst_value_compare_double), (gst_value_serialize_flags):
4434           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4435           infinite loop
4436
4437 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4440         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4441           fix up debugging
4442         * tools/gst-launch.c: (event_loop):
4443           print out clock nicely
4444
4445 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4446
4447         * docs/gst/gstreamer-sections.txt:
4448         * gst/gsttaglist.h:
4449         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4450         (gst_tag_list_get_date_index):
4451           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4452           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4453
4454 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4455
4456         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4457         (gst_collectpads_chain):
4458         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4459         in CollectData.
4460
4461 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4462
4463         * docs/gst/gstreamer-sections.txt:
4464         * gst/gst.c:
4465         * gst/gsterror.h:
4466         * tools/gst-inspect.c: (main):
4467         * tools/gst-launch.c: (main):
4468         * tools/gst-run.c: (main):
4469         * tools/gst-xmlinspect.c: (main):
4470           fix GOption context leaks
4471           doc fixes
4472
4473 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4474
4475         * gst/gstbus.c:
4476           use HAVE_UNISTD_H
4477         * win32/common/config.h:
4478           update config
4479         * win32/vs6/grammar.dsp:
4480         * win32/vs6/libgstelements.dsp:
4481         * win32/vs6/libgstreamer.dsp:
4482           update vs6 files
4483
4484 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4485
4486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4487         * gst/base/gstbasesrc.c: (gst_base_src_query):
4488           fix more guint64<->gdouble conversions
4489
4490 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4491
4492         * Makefile.am:
4493           add win32-update target
4494         * win32/common/gstconfig.h:
4495         * win32/common/gstenumtypes.c:
4496         * win32/common/gstenumtypes.h:
4497         * win32/common/gstversion.h:
4498           add files that visual studio can't generate
4499
4500 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4501
4502         * Makefile.am:
4503           add a win32-update target
4504         * configure.ac:
4505
4506 2005-10-12  Wim Taymans  <wim@fluendo.com>
4507
4508         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4509         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4510         * gst/gstelement.c: (gst_element_commit_state),
4511         (gst_element_set_state):
4512         Protect flags with proper lock.
4513         unref provided cached clock in dispose.
4514
4515 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4516
4517         * gst/gst.c:
4518         * gst/gstminiobject.h:
4519         * gst/gstpad.h:
4520         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4521           removed unused flags from miniobject
4522           doc fixes
4523
4524 2005-10-12  Wim Taymans  <wim@fluendo.com>
4525
4526         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4527         (gst_file_sink_event), (gst_file_sink_render):
4528         Flush before seeking.
4529
4530 2005-10-12  Andy Wingo  <wingo@pobox.com>
4531
4532         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4533         always been the case.
4534
4535 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4536
4537         * check/gst/gstbin.c: (GST_START_TEST):
4538         * docs/gst/gstreamer-sections.txt:
4539         * gst/base/gstbasesink.c: (gst_base_sink_init):
4540         * gst/base/gstbasesrc.c: (gst_base_src_init),
4541         (gst_base_src_get_range), (gst_base_src_check_get_range),
4542         (gst_base_src_start), (gst_base_src_stop):
4543         * gst/base/gstbasesrc.h:
4544         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4545         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4546         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4547         (bin_bus_handler):
4548         * gst/gstbin.h:
4549         * gst/gstbuffer.h:
4550         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4551         * gst/gstbus.h:
4552         * gst/gstelement.c: (gst_element_is_locked_state),
4553         (gst_element_set_locked_state), (gst_element_commit_state),
4554         (gst_element_set_state):
4555         * gst/gstelement.h:
4556         * gst/gstindex.c: (gst_index_init):
4557         * gst/gstindex.h:
4558         * gst/gstminiobject.h:
4559         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4560         (gst_object_set_parent):
4561         * gst/gstobject.h:
4562         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4563         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4564         * gst/gstpad.h:
4565         * gst/gstpadtemplate.h:
4566         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4567         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4568         * gst/gstpipeline.h:
4569         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4570         (gst_file_index_commit):
4571         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4572         * testsuite/pad/link.c: (gst_test_src_init),
4573         (gst_test_filter_init), (gst_test_sink_init):
4574         * testsuite/states/locked.c: (main):
4575           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4576           moved bitshift from macro to enum definition
4577
4578 2005-10-12  Wim Taymans  <wim@fluendo.com>
4579
4580         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4581         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4582         (gst_file_sink_render):
4583         Some more debugging info.
4584
4585 2005-10-12  Wim Taymans  <wim@fluendo.com>
4586
4587         * docs/design/part-states.txt:
4588         * tools/gst-launch.c: (main):
4589         Some doc updates.
4590         Revert non-intentional change.
4591
4592 2005-10-12  Wim Taymans  <wim@fluendo.com>
4593
4594         * check/gst/gstbin.c: (GST_START_TEST):
4595         * check/gst/gstelement.c: (GST_START_TEST):
4596         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4597         * check/gst/gstghostpad.c: (GST_START_TEST):
4598         * check/gst/gstpipeline.c: (GST_START_TEST):
4599         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4600         * check/states/sinks.c: (GST_START_TEST):
4601         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4602         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4603         (gst_bin_remove_func), (gst_bin_get_state_func),
4604         (gst_bin_recalc_state), (gst_bin_change_state_func),
4605         (bin_bus_handler):
4606         * gst/gstelement.c: (gst_element_get_state_func),
4607         (gst_element_get_state), (gst_element_abort_state),
4608         (gst_element_commit_state), (gst_element_set_state),
4609         (gst_element_change_state), (gst_element_change_state_func):
4610         * gst/gstelement.h:
4611         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4612         (gst_pipeline_provide_clock_func):
4613         * gst/gstutils.c: (gst_element_link_pads_filtered):
4614         * tools/gst-launch.c: (main):
4615         * tools/gst-typefind.c: (main):
4616         Use GstClockTime in _get_state() instead of GTimeVal.
4617         Remove old code in gstutils.c
4618
4619 2005-10-12  Andy Wingo  <wingo@pobox.com>
4620
4621         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4622         removed.
4623
4624         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4625         there is no task. Shouldn't affect any code, as nothing in our
4626         plugins checks this return value.
4627         (gst_pad_stop_task): Also take the stream lock if the pad has no
4628         task. Docs updated.
4629
4630 2005-10-12  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/gstpad.c: (pre_activate), (post_activate),
4633         (gst_pad_activate_pull), (gst_pad_activate_push):
4634         Cleanup activation code. Reset old state if
4635         activation failed.
4636
4637 2005-10-12  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4640         (gst_base_sink_change_state):
4641         No need to prerol after receiving EOS.
4642
4643         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4644         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4645         * gst/elements/gstidentity.c: (gst_identity_event):
4646         Print events more verbosely.
4647
4648 2005-10-12  Wim Taymans  <wim@fluendo.com>
4649
4650         * check/Makefile.am:
4651         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4652         * check/states/sinks2.c:
4653         Moved sinks2 testcode in sinks check.
4654
4655         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4656         (gst_bin_remove_func), (gst_bin_recalc_state),
4657         (gst_bin_change_state_func), (bin_bus_handler):
4658         Fix potential race condition when _get_state() iterated over an
4659         ASYNC element right before it posted a state completion.
4660
4661         * gst/gstclock.h:
4662         Do proper cast here.
4663
4664         * gst/gstevent.c: (gst_event_new_newsegment),
4665         (gst_event_parse_newsegment):
4666         A playback rate of 0.0 is not allowed.
4667
4668 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * win32/common/config.h:
4671         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4672         (_trewinddir), (_ttelldir), (_tseekdir):
4673         * win32/common/dirent.h:
4674         * win32/common/gtchar.h:
4675         * win32/common/libgstbase.def:
4676         * win32/common/libgstreamer.def:
4677         * win32/vs6/grammar.dsp:
4678         * win32/vs6/gst_inspect.dsp:
4679         * win32/vs6/gst_launch.dsp:
4680         * win32/vs6/gstreamer.dsw:
4681         * win32/vs6/libgstbase.dsp:
4682         * win32/vs6/libgstelements.dsp:
4683         * win32/vs6/libgstreamer.dsp:
4684           Visual Studio 6 project files, and a new common directory.
4685           Phear.
4686
4687 2005-10-11  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4690         (gst_base_sink_do_sync), (gst_base_sink_query),
4691         (gst_base_sink_change_state):
4692         * gst/base/gstbasesink.h:
4693         Correctly parse newsegment info.
4694
4695 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         * gst/gst.c: (init_post):
4698           split plugin paths correctly
4699
4700 2005-10-11  Wim Taymans  <wim@fluendo.com>
4701
4702         * check/gst/gstevent.c: (GST_START_TEST):
4703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4704         (gst_base_sink_change_state):
4705         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4706         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4707         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4708         * gst/gstevent.c: (gst_event_new_newsegment),
4709         (gst_event_parse_newsegment):
4710         * gst/gstevent.h:
4711         Added extra flag to newsegment for future API freeze.
4712         Updated check and base elements.
4713
4714 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4715
4716         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4717         (gst_collectpads_add_pad), (gst_collectpads_pop),
4718         (gst_collectpads_event), (gst_collectpads_chain):
4719         * gst/base/gstcollectpads.h: Handle EOS correctly.
4720
4721 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4722
4723         * tools/gst-launch.c: (main):
4724           more null protecting
4725
4726 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4727
4728         * gst/gst-i18n-lib.h:
4729           check for ENABLE_NLS, not GETTEXT_PACKAGE
4730         * gst/gstregistry.c: (gst_registry_add_plugin),
4731         (gst_registry_scan_path_level),
4732         (_gst_registry_remove_cache_plugins):
4733           protect possibly NULL strings
4734         * gst/parse/types.h:
4735           config.h already included before
4736         * tools/gst-inspect.c: (main):
4737           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4738           check for ENABLE_NLS, not GETTEXT_PACKAGE
4739         * tools/gst-launch.c: (main):
4740           check for ENABLE_NLS, not GETTEXT_PACKAGE
4741
4742 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4743
4744         * configure.ac:
4745           if we don't have glib, fail before testing 2.8
4746         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4747           fix a leak, should fix plugins-base testsuite
4748
4749 2005-10-11  Andy Wingo  <wingo@pobox.com>
4750
4751         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4752         take the mode we're going to as an arg. Go head and set the mode
4753         and flushing flags now, so that if the activate function starts a
4754         thread all the flags will be in the right state.
4755         (post_activate): Renamed also. Just handle making sure streaming
4756         finishes for the deactivation case, and setting the deactivated
4757         mode.
4758         (gst_pad_set_active): Complain loudly if deactivation fails.
4759         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4760         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4761         remove the terrible hack.
4762
4763 2005-10-11  Wim Taymans  <wim@fluendo.com>
4764
4765         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4766         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4767         (gst_bin_recalc_state), (gst_bin_change_state_func),
4768         (gst_bin_dispose), (bin_bus_handler):
4769         * gst/gstbin.h:
4770         Prepare to make current EOS message queue more generic.
4771         Fix some typos.
4772
4773         * gst/gstevent.c: (gst_event_new_newsegment),
4774         (gst_event_parse_newsegment):
4775         * gst/gstevent.h:
4776         Rename base to stream_time.
4777
4778         * gst/gstmessage.h:
4779         Fix typo in docs.
4780
4781 2005-10-11  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4784         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4785         (gst_bin_change_state_func), (bin_bus_handler):
4786         * gst/gstbin.h:
4787         Work on proper clock selection.
4788
4789 2005-10-11  Edward Hervey  <edward@fluendo.com>
4790
4791         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4792         * libs/gst/controller/gstcontroller.h:
4793         Added GList* version of _remove_properties() in order to be able to wrap
4794         it in bindings.
4795
4796 2005-10-11  Wim Taymans  <wim@fluendo.com>
4797
4798         * docs/design/part-states.txt:
4799         Some more docs.
4800
4801         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4802         (gst_bin_change_state_func), (bin_bus_handler):
4803         Doc updates. Don't distribute the same clock over and over again.
4804
4805         * gst/gstclock.c:
4806         * gst/gstclock.h:
4807         Doc updates.
4808
4809         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4810         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4811         (gst_pad_send_event):
4812         * gst/gstpad.h:
4813         Make probe emission threadsafe again.
4814         Register quarks and move _get_name() from utils.
4815         Doc updates.
4816
4817         * gst/gstpipeline.c: (gst_pipeline_class_init),
4818         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4819         Only redistribute the clock of it changed.
4820
4821         * gst/gstsystemclock.h:
4822         Doc updates. 
4823
4824         * gst/gstutils.c:
4825         * gst/gstutils.h:
4826         Moved the _flow_get_name() to GstPad.
4827
4828 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4829
4830         * check/gst-libs/gdp.c: (GST_START_TEST):
4831         * check/gst/gstcaps.c: (GST_START_TEST):
4832         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4833         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4834         (gst_dp_packet_from_caps):
4835           fix more valgrind warnings before turning up the heat
4836
4837 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4838
4839         * gst/parse/grammar.y:
4840           some cleanup before the hacking
4841
4842 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * gst/base/gstbasesrc.c: (gst_base_src_query):
4845           use conversions
4846         * gst/gstutils.c: (gst_guint64_to_gdouble),
4847         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4848         * gst/gstutils.h:
4849           externalize, basesrc uses it
4850           obviously the implementation needs testing
4851
4852 2005-10-10  Wim Taymans  <wim@fluendo.com>
4853
4854         * tests/sched/Makefile.am:
4855         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4856         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4857
4858 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4861           apparently converting from guint64 to double is not implemented
4862           on MSVC
4863
4864 2005-10-10  Wim Taymans  <wim@fluendo.com>
4865
4866         * check/Makefile.am:
4867         * check/generic/states.c: (GST_START_TEST):
4868         * check/gst/gstbin.c: (GST_START_TEST):
4869         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4870         * check/states/sinks.c: (GST_START_TEST):
4871         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4872         (main):
4873         Check fixes, use API as stated in design docs, remove hacks.
4874
4875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4876         (gst_base_sink_change_state):
4877         Catch stopping our task while we're shutting down.
4878
4879         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4880         (gst_bin_remove_func), (gst_bin_get_state_func),
4881         (gst_bin_recalc_state), (gst_bin_change_state_func),
4882         (bin_bus_handler):
4883         * gst/gstbin.h:
4884         * gst/gstelement.c: (gst_element_init),
4885         (gst_element_get_state_func), (gst_element_abort_state),
4886         (gst_element_commit_state), (gst_element_lost_state),
4887         (gst_element_set_state), (gst_element_change_state),
4888         (gst_element_change_state_func):
4889         * gst/gstelement.h:
4890         New state change algorithm (see #318116)
4891
4892         * gst/gstpipeline.c: (gst_pipeline_class_init),
4893         (gst_pipeline_init), (gst_pipeline_set_property),
4894         (gst_pipeline_get_property), (do_pipeline_seek),
4895         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4896         * gst/gstpipeline.h:
4897         Remove crude state change hacks.
4898
4899         * gst/gstutils.h:
4900         Remove crude hacks.
4901
4902         * tools/gst-launch.c: (main):
4903         Fixes for state change. Needs some more work to fully use the
4904         new stuff.
4905
4906 2005-10-10  Andy Wingo  <wingo@pobox.com>
4907
4908         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4909
4910         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4911         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4912         issue.
4913
4914 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4915
4916         * gst/gstiterator.c: (gst_iterator_new):
4917           Fix my previous commit: GTypes passed to gst_iterator_new()
4918           can be fundamental types.
4919
4920 2005-10-10  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/gstelement.c: (gst_element_iterate_pad_list),
4923         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4924         (gst_element_iterate_sink_pads):
4925         Use src/sink pads lists for the respective iterators instead
4926         of filtering.
4927
4928 2005-10-10  Andy Wingo  <wingo@pobox.com>
4929
4930         Merged in popt removal + GOption addition patch from Ronald, bug
4931         #169772.
4932
4933         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4934         GstElement macros around, remove popt-related symbols, add goption
4935         stuff.
4936
4937         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4938         
4939         * docs/gst/Makefile.am:
4940         * docs/libs/Makefile.am: No POPT_CFLAGS.
4941         
4942         * examples/manual/Makefile.am:
4943         * docs/manual/basics-init.xml: Doc updates with an example.
4944         
4945         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4946         (gst_init), (parse_one_option), (parse_goption_arg):
4947         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4948         bit of hand merging and debugging to get the GOption stuff working
4949         tho.
4950         
4951         * tests/Makefile.am:
4952         * tools/Makefile.am:
4953         * tools/gst-inspect.c: (main):
4954         * tools/gst-launch.c: (main):
4955         * tools/gst-run.c: (main):
4956         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4957
4958 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4959
4960         * gst/gstiterator.c: (gst_iterator_new):
4961           Add assertions to make sure passed GType is likely to really
4962           be a GType (as the compiler won't catch it if the size and
4963           GType arguments get mixed up, see #318447).
4964
4965 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4966
4967         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4968
4969         * gst/gstbin.c: (gst_bin_iterate_sorted):
4970           Pass GType and size arguments to gst_iterator_new() in the right
4971           order (maybe we should make _new() take the GType as first argument
4972           just like _new_list()?) (#318447).
4973           
4974
4975 2005-10-10  Wim Taymans  <wim@fluendo.com>
4976
4977         * gst/gstelement.c: (gst_element_finalize):
4978         And free the GStaticRecMutex too
4979
4980 2005-10-10  Andy Wingo  <wingo@pobox.com>
4981
4982         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4983         Allocate and free the mutex properly.
4984
4985         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4986         New macros.
4987         (GstElement): The state_lock is now recursive. Rebuild your
4988         plugins, suckers. Old macros adapted.
4989
4990         * docs/gst/gstreamer-sections.txt: Doc updates.
4991
4992         * gst/gstutils.h:
4993         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4994         (g_static_rec_cond_wait): Ported from state changes patch, while
4995         we wait on bug #317802 to be solved in a well-distributed GLib.
4996
4997         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4998         gst_element_change_state, variable name changes.
4999         (gst_element_change_state): Split out of gst_element_set_state in
5000         preparation for the state change merge. Doesn't pay attention to
5001         the 'transition' argument.
5002         (gst_element_set_state): Updates, hopefully purely cosmetic.
5003         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5004         state change patch.
5005         (gst_element_get_state_func): Renamed from get_state, cosmetic
5006         changes.
5007
5008 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5009
5010         * gst/elements/gstelements.c:
5011         * win32/GStreamer.vcproj:
5012         * win32/config.h:
5013         * win32/dirent.c: (_tseekdir):
5014         * win32/gst-inspect.vcproj:
5015         * win32/gst-launch.vcproj:
5016         * win32/gstconfig.h:
5017         * win32/gstelements.vcproj:
5018         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5019         * win32/gstreamer.def:
5020         * win32/msvc71.sln:
5021           updates for the win32 build (patch from Sebastien Moutte)
5022
5023 2005-10-10  Andy Wingo  <wingo@pobox.com>
5024
5025         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5026         gst_bin_get_state, cleaned up (but no logic changes).
5027         (bin_element_is_sink): Comment updates.
5028         (sink_iterator_filter): Remove needless cast.
5029         (gst_bin_iterate_sinks): Doc update.
5030         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5031         cleaned up (but no logic changes).
5032
5033         * check/states/sinks.c (test_src_sink): Cleanups from the state
5034         change patch.
5035         (test_livesrc_sink): Sync on the state.
5036
5037         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5038         the state change patch.
5039
5040         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5041         change patch.
5042
5043         * check/gst/gstbin.c: Merge in some style fixes and additional
5044         checks from Wim's state change patch.
5045
5046 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5049         (gst_type_find_helper):
5050           Check whether we have the requested data already in our list of
5051           cached buffers before pulling a new buffer; also make the buffer
5052           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5053
5054 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5055
5056         * gst/gstcaps.c:
5057         * gst/gstevent.c:
5058           doc updates
5059         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5060           don't use long long, it's not portable.  Replacing with
5061           gint64 seems to work; let's hope no skeletons fall out of the closet.
5062
5063 2005-10-10  Andy Wingo  <wingo@pobox.com>
5064
5065         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5066
5067 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5068
5069         * docs/gst/gstreamer-sections.txt:
5070         * gst/gstevent.c:
5071         * gst/gstevent.h:
5072         * gst/gstinfo.c:
5073         * gst/gstinfo.h:
5074         * gst/gstmessage.c: (gst_message_parse_state_changed):
5075         * gst/gstpad.c:
5076         * gst/gstpad.h:
5077           more docs, fix compilation
5078
5079 2005-10-09  Philippe Khalaf <burger@speedy.org>
5080         * gst/gstmessage.c:
5081           Fixed a few forgotten variables on previous commit
5082
5083 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5084
5085         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5086           Fix evil typefind crasher: getrange() might return a short
5087           buffer at the end of a file, but gst_type_find_peek() must
5088           either return the full data as requested or NULL, but
5089           never a short buffer.
5090
5091 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5092
5093         * gst/gstmessage.c: (gst_message_new_state_changed),
5094         (gst_message_parse_state_changed):
5095         * gst/gstmessage.h:
5096           don't use "new", it's a C++ keyword
5097
5098 2005-10-08  Wim Taymans  <wim@fluendo.com>
5099
5100         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5101         * gst/gstelement.c: (gst_element_post_message):
5102         * gst/gstpipeline.c: (gst_pipeline_change_state):
5103         Small docs and debug updates.
5104
5105 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5106
5107         * docs/gst/gstreamer-sections.txt:
5108         * gst/gstelementfactory.c:
5109         * gst/gstevent.c:
5110         * gst/gsttaglist.c:
5111           more docs
5112
5113 2005-10-08  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5116         (gst_bin_dispose), (bin_bus_handler):
5117         Fix typos, add comments.
5118         Clear EOS list when going to PAUSED from any direction and do it
5119         in a threadsafe way.
5120         Get base time in a threadsafe way too.
5121         Fix confusing debug in the change_state function.
5122         Various other small cleanups.
5123         
5124         * gst/gstelement.c: (gst_element_post_message):
5125         Fix very verbose bus posting code.
5126
5127         * gst/gstpipeline.c: (gst_pipeline_class_init),
5128         (gst_pipeline_set_property), (gst_pipeline_get_property),
5129         (gst_pipeline_change_state):
5130         Small ARG_ -> PROP_ cleanup
5131
5132 2005-10-08  Wim Taymans  <wim@fluendo.com>
5133
5134         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5135         Do a less CPU demanding EOS check because we can.
5136
5137 2005-10-08  Wim Taymans  <wim@fluendo.com>
5138
5139         * libs/gst/dataprotocol/dataprotocol.c:
5140         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5141         (gst_dp_packet_from_event):
5142         * libs/gst/dataprotocol/dataprotocol.h:
5143         * libs/gst/dataprotocol/dp-private.h:
5144         It's about time we bump the version number.
5145         Since event types don't fit in the guint8 anymore describing
5146         the payload type, make payload type 16 bits wide.
5147
5148 2005-10-08  Wim Taymans  <wim@fluendo.com>
5149
5150         * docs/design/part-TODO.txt:
5151         * docs/design/part-clocks.txt:
5152         * docs/design/part-events.txt:
5153         * docs/design/part-gstbin.txt:
5154         * docs/design/part-gstelement.txt:
5155         * docs/design/part-gstpipeline.txt:
5156         * docs/design/part-live-source.txt:
5157         * docs/design/part-messages.txt:
5158         * docs/design/part-overview.txt:
5159         * docs/design/part-states.txt:
5160         Many doc updates.
5161
5162 2005-10-08  Wim Taymans  <wim@fluendo.com>
5163
5164         * gst/gstevent.c:
5165         * gst/gstevent.h:
5166         Fix event quark registration.
5167         Add some space between events so we can insert them in the
5168         right groups.
5169
5170 2005-10-08  Wim Taymans  <wim@fluendo.com>
5171
5172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5173         (gst_base_sink_handle_buffer):
5174         Better log message.
5175
5176         * gst/gstbus.h:
5177         * gst/gstelement.h:
5178         More docs.
5179
5180         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5181         (gst_queue_set_property), (gst_queue_get_property):
5182         * gst/gstqueue.h:
5183         Remove old unused properties.
5184
5185 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5186         * docs/gst/gstreamer-sections.txt:
5187         * gst/gstmessage.c:
5188         * gst/gstmessage.h:
5189         * gst/gstminiobject.c:
5190         * gst/gstminiobject.h:
5191         * gst/gstobject.h:
5192         * gst/gstpad.h:
5193         * gst/gstutils.h:
5194           lots of new docs and doc fixes
5195
5196 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5197
5198         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5199         * gst/gstplugin.h:
5200         * gst/gstregistry.c: (gst_registry_lookup_locked),
5201         (gst_registry_scan_path_level):
5202         * gst/gstregistryxml.c: (load_plugin):
5203           Only ever load one plugin for a given plugin basename.
5204           This ensures correct overriding of GST_PLUGIN_PATH over
5205           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5206           system installed plugins.
5207
5208 2005-10-08  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5211         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5212         Prepare for doing QOS.
5213
5214 2005-10-08  Wim Taymans  <wim@fluendo.com>
5215
5216         * check/gst/gstbin.c: (GST_START_TEST):
5217         * check/pipelines/cleanup.c: (GST_START_TEST):
5218         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5219         Allow new clock message too.
5220
5221 2005-10-08  Wim Taymans  <wim@fluendo.com>
5222
5223         * gst/gstmessage.c: (gst_message_new_error),
5224         (gst_message_new_warning), (gst_message_new_tag),
5225         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5226         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5227         (gst_message_new_segment_start), (gst_message_new_segment_done),
5228         (gst_message_parse_state_changed),
5229         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5230         (gst_message_parse_new_clock):
5231         * gst/gstmessage.h:
5232         Also carry the clock in question.
5233
5234 2005-10-08  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/gstmessage.c: (gst_message_new_custom),
5237         (gst_message_new_eos), (gst_message_new_error),
5238         (gst_message_new_warning), (gst_message_new_tag),
5239         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5240         (gst_message_new_new_clock), (gst_message_new_segment_start),
5241         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5242         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5243         * gst/gstmessage.h:
5244         Clean up.
5245         Added clock related messages.
5246
5247         * gst/gstpipeline.c: (gst_pipeline_change_state):
5248         Post message when the clock changed.
5249
5250         * tools/gst-launch.c: (event_loop):
5251         Print new clock.
5252
5253 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5254
5255         * tools/gst-inspect.c: (print_element_properties_info):
5256           Can't pass NULL strings to g_print() on windows.
5257
5258 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5259
5260         * docs/Makefile.am:
5261         * docs/gst/Makefile.am:
5262         * docs/gst/gstreamer-docs.sgml:
5263         * docs/gst/running.xml:
5264         * docs/version.entities.in:
5265           add a chapter on running GStreamer.
5266           document GST_DEBUG and GST_PLUGIN* env vars
5267
5268 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * Makefile.am:
5271           remove include dir
5272         * configure.ac:
5273           remove PLUGINS_BUILDDIR stuff
5274         * gst/gst.c: (init_post):
5275           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5276         * idiottest.mak:
5277           remove, it was condescending and not needed
5278
5279 2005-10-08  Wim Taymans  <wim@fluendo.com>
5280
5281         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5282         (gst_base_sink_handle_object), (gst_base_sink_event),
5283         (gst_base_sink_wait), (gst_base_sink_handle_event),
5284         (gst_base_sink_change_state):
5285         * gst/base/gstbasesink.h:
5286         Repost EOS message while going to PLAYING if still EOS.
5287         Make sure that when receiving a FLUSH_START we don't attempt
5288         to sync on the clock anymore.
5289
5290 2005-10-08  Wim Taymans  <wim@fluendo.com>
5291
5292         * tools/gst-launch.c: (event_loop):
5293         Better message printout.
5294
5295 2005-10-08  Wim Taymans  <wim@fluendo.com>
5296
5297         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5298         (gst_bin_child_proxy_get_children_count):
5299         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5300         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5301         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5302         (gst_child_proxy_set_valist):
5303         * gst/parse/grammar.y:
5304         Make ChildProxy threadsafe and fix mem leaks.
5305
5306 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5307
5308         * gst/gst.c: (init_post):
5309           debug the GST_PLUGIN_ env vars
5310
5311 2005-10-08  Wim Taymans  <wim@fluendo.com>
5312
5313         * check/gst/gstbin.c: (GST_START_TEST):
5314         * check/gst/gstmessage.c: (GST_START_TEST):
5315         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5316         * gst/gstelement.c: (gst_element_commit_state),
5317         (gst_element_lost_state):
5318         * gst/gstmessage.c: (gst_message_new_state_changed),
5319         (gst_message_parse_state_changed):
5320         * gst/gstmessage.h:
5321         * tools/gst-launch.c: (event_loop):
5322         Added extra field to STATE_CHANGE message with the pending
5323         state, which will be different from the new state soon.
5324
5325 2005-10-08  Wim Taymans  <wim@fluendo.com>
5326
5327         * gst/gstbus.c: (gst_bus_pop):
5328         * gst/gstclock.c:
5329         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5330         Small cleanups and doc updates.
5331
5332 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5333
5334         * gst/gst.c: (init_pre):
5335         * gst/gstbin.c: (gst_bin_add_func):
5336           log distributing clocks and base time
5337         * gst/gstregistry.c: (gst_registry_add_plugin),
5338         (gst_registry_scan_path_level), (gst_registry_scan_path):
5339           clean up the debugging output a little
5340         * gst/gstutils.c: (gst_element_state_get_name):
5341           warn about a memleak (I've actually seen this be used, though
5342           it was probably a bug)
5343
5344 2005-10-07  Wim Taymans  <wim@fluendo.com>
5345
5346         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5347         (gst_base_src_init), (gst_base_src_default_newsegment),
5348         (gst_base_src_newsegment), (gst_base_src_do_seek),
5349         (gst_base_src_loop), (gst_base_src_start):
5350         * gst/base/gstbasesrc.h:
5351         Make the newsegment event customizable by subclasses.
5352
5353 2005-10-07  Wim Taymans  <wim@fluendo.com>
5354
5355         * gst/gstevent.c: (gst_event_new_buffersize),
5356         (gst_event_parse_buffersize):
5357         * gst/gstevent.h:
5358         New event for future idea.
5359
5360 2005-10-07  Andy Wingo  <wingo@pobox.com>
5361
5362         * gst/gstelement.c (gst_element_post_message): Doc update.
5363
5364         * docs/gst/gstreamer-sections.txt: Update.
5365
5366         * gst/gstmessage.c (gst_message_new_application): Made into a
5367         function like honest API calls.
5368         (gst_message_new_element): New message type.
5369
5370         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5371
5372         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5373         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5374         times.
5375
5376         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5377         NO_PREROLL from gst_element_change_state to fall through.
5378
5379 2005-10-07  Wim Taymans  <wim@fluendo.com>
5380
5381         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5382         (gst_ghost_pad_do_activate_push):
5383         Activating a ghostpad with no internal pad in push mode
5384         is ok.
5385
5386 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5387
5388         * gst/gstobject.h:
5389           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5390           Fixes compilation on Windows.
5391
5392 2005-10-07  Michael Smith <msmith@fluendo.com>
5393
5394         * tools/gst-inspect.c:
5395           Print out feature and plugin count at the end when printing out
5396           all features.
5397
5398 2005-10-04  Michael Smith <msmith@fluendo.com>
5399
5400         * gst/gsterror.c: (_gst_stream_errors_init):
5401           Add another error string used in a few existing plugins.
5402
5403         * gst/gstplugin.c:
5404         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5405         * tools/gst-inspect.c: (print_element_info):
5406           When a feature disappears from a plugin (and the feature exists in
5407           the cached registry file), things went horribly wrong. This isn't a
5408           complete fix, we should actually be removing the 'missing' features
5409           from the features list when we load the actual plugin. That's not
5410           yet implemented. 
5411
5412 2005-10-04  Johan Dahlin  <johan@gnome.org>
5413
5414         * check/gst/gstiterator.c: (GST_START_TEST):
5415         * gst/gstbin.c: (gst_bin_iterate_elements),
5416         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5417         * gst/gstelement.c: (gst_element_iterate_pads):
5418         * gst/gstformat.c: (gst_format_iterate_definitions):
5419         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5420         (gst_iterator_new_list), (gst_iterator_filter):
5421         * gst/gstiterator.h:
5422         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5423         Add a GType to GstIterator, update callsites and tests.
5424
5425 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5428           give events a chance to be handled by event probes when the pad
5429           is not linked
5430
5431 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5432
5433         * gst/gstevent.c: (gst_event_type_get_name),
5434         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5435         * gst/gstevent.h:
5436           add string representations for event types
5437
5438 2005-10-06  Wim Taymans  <wim@fluendo.com>
5439
5440         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5441         Don't use NULL pointers.
5442
5443 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         * gst/gst_private.h:
5446         * gst/gstbus.c:
5447         * gst/gstelement.c:
5448         * gst/gstinfo.c:
5449         * gst/gstpluginfeature.c:
5450           widen the debug category in output to fit the biggest one we have
5451           add a bus category and use it
5452           play with the colors
5453           fix up some categories
5454
5455 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5456
5457         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5458           add push activation of sink ghost pads.
5459           Andye, please verify
5460
5461 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5462
5463         * gst/gstutils.c: (gst_element_link_pads):
5464           fix a bug in the case where neither element has a pad
5465         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5466           add a test for that case
5467
5468 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5469
5470         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5471           emit have-data before checking for peers.  This allows
5472           for probe handlers to connect elements.  This helps autopluggers.
5473         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5474         (gst_pad_suite):
5475           add six checks, linked/unlinked with no/true/false probe
5476
5477 2005-10-04  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5480         (gst_fake_sink_event), (gst_fake_sink_preroll),
5481         (gst_fake_sink_render), (gst_fake_sink_change_state):
5482         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5483         (gst_fake_src_get_property), (gst_fake_src_create),
5484         (gst_fake_src_stop):
5485         * gst/elements/gstidentity.c: (gst_identity_stop):
5486         Protect last_message with lock.
5487
5488 2005-10-04  Edward Hervey  <edward@fluendo.com>
5489
5490         * gst/gstformat.h: 
5491         Added precision in the comments for GST_FORMAT_DEFAULT
5492
5493 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5494
5495         * tools/gst-launch.c: (main):
5496           Don't try to run erroneous pipelines.
5497
5498 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5499
5500         * gst/gstbus.c: We don't need this header.
5501
5502 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * configure.ac:
5505           back to development
5506
5507 === release 0.9.3 ===
5508
5509 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * README:
5512         * configure.ac:
5513           Releasing 0.9.3, "Unregistered"
5514
5515 2005-10-03  Andy Wingo  <wingo@pobox.com>
5516
5517         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5518         whereby calling a pad's activatepush() function can start a thread
5519         that starts to push or pull before the pad gets the FLUSHING flag
5520         unset. Hack around it by holding the stream lock until the flag is
5521         set. Need to replace this with a proper solution. Together with
5522         the ghost pad fixes, this fixes mp3 playing/tagreading.
5523
5524         * docs/design/part-gstghostpad.txt: Add a note about activation of
5525         proxy pads outside of ghost pads.
5526
5527         * gst/gstghostpad.c: Implement the ghost pad activation design.
5528
5529 2005-10-02  Andy Wingo  <wingo@pobox.com>
5530
5531         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5532         It is volatile, after all.
5533
5534         * docs/design/part-gstghostpad.txt: Flesh out activation with
5535         ghost pads.
5536
5537         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5538         GST_DEBUG_FUNCPTR.
5539
5540 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5541
5542         * configure.ac:
5543           Fix (unused) AM_CONDITIONAL tests.
5544
5545 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5546
5547         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5548
5549         * gst/gstutils.c: (gst_pad_query_convert):
5550           Add assertion that makes sure src_val is >=0, just like
5551           gst_query_new_convert() has. (#315895)
5552
5553 2005-09-30  Edward Hervey  <edward@fluendo.com>
5554
5555         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5556         Let's not iterate pads we're not interested in, it avoids getting 
5557         sky-high refcounts on sinkpad.
5558
5559 2005-09-30  Wim Taymans  <wim@fluendo.com>
5560
5561         * gst/gstelement.c: (gst_element_set_state),
5562         (gst_element_change_state):
5563         Small tweak, element in ASYNC remains ASYNC.
5564
5565 2005-09-30  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5568         Only error is an error.
5569
5570         * gst/gstbin.c: (gst_bin_change_state):
5571         Better debugging.
5572
5573         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5574         Also call pad_block in pad alloc.
5575
5576         * gst/gstutils.c: (gst_flow_get_name):
5577         Better debugging.
5578
5579 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5580
5581         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5582         (gst_base_src_get_range):
5583           Fix documentation typos. Add some more debug info.
5584
5585 2005-09-29  David Schleef  <ds@schleef.org>
5586
5587         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5588           more end-user friendly.
5589         * tools/gst-inspect.c: (main): Check if command-line argument is
5590           a file and attempt to load that file as a plugin.
5591
5592 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5593
5594         * check/gst/gstbin.c:
5595         * check/states/sinks.c:
5596           fix tests for the new warning
5597         * check/gst/gstpipeline.c:
5598           add a test for pipeline and bus interaction
5599         * gst/gstelement.c:
5600           elements should be NULL if they get disposed; add a warning if not
5601
5602 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         * gst/gstobject.c:
5605           for 2.6 refcounting, make debug log more correct by printing
5606           the actual refcounts at the time of swap (Wim)
5607
5608 2005-09-29  Andy Wingo  <wingo@pobox.com>
5609
5610         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5611         removes signal watches previously added via
5612         gst_bus_add_signal_watch.
5613         (gst_bus_add_signal_watch): Don't return the source id, just store
5614         it on the bus if there wasn't an id already.
5615
5616         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5617         add_signal_watch and remove_signal_watch.
5618
5619 2005-09-29  Edward Hervey  <edward@fluendo.com>
5620
5621         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5622         Better if we actually iterate the list :)
5623
5624 2005-09-29  Wim Taymans  <wim@fluendo.com>
5625
5626         * check/gst/gstbin.c: (GST_START_TEST):
5627         Change for new bus API.
5628
5629         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5630         (send_messages), (GST_START_TEST), (gstbus_suite):
5631         Change for new bus signal API.
5632
5633         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5634         (gst_bus_source_prepare), (gst_bus_source_check),
5635         (gst_bus_create_watch), (gst_bus_add_watch_full),
5636         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5637         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5638         * gst/gstbus.h:
5639         Remove support for multiple GSources operating on different
5640         message types as it is too complex and unneeded when using
5641         signals.
5642         Added support for receiving signals from the bus.
5643
5644 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5645
5646         * docs/libs/tmpl/gstdataprotocol.sgml:
5647         * docs/manual/advanced-dataaccess.xml:
5648         * gst/elements/gstcapsfilter.c:
5649         * gst/gstutils.c:
5650           rename filter-caps to caps property
5651
5652 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5653
5654         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5655           More robust fraction string parsing.
5656
5657         * docs/pwg/appendix-porting.xml:
5658           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5659
5660 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5661
5662         * gst/gstcaps.c: (gst_caps_do_simplify):
5663           Thou shalt not free a structure and then continue using it
5664           in the next loop iteration.
5665
5666         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5667         (gst_caps_suite):
5668           Add test case for caps simplification.
5669
5670 2005-09-29  Wim Taymans  <wim@fluendo.com>
5671
5672         * check/gst/gstbin.c: (GST_START_TEST):
5673         Oops.
5674
5675 2005-09-29  Wim Taymans  <wim@fluendo.com>
5676
5677         * check/gst/gstbin.c: (GST_START_TEST):
5678         Add bus to bin.
5679
5680         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5681         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5682         (find_element), (gst_bin_sort_iterator_next),
5683         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5684         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5685         (gst_bin_change_state), (gst_bin_dispose):
5686         A bin does not have a bus, it gets the bus from the parent.
5687
5688         * gst/gstelement.c: (gst_element_requires_clock),
5689         (gst_element_provides_clock), (gst_element_is_indexable),
5690         (gst_element_is_locked_state), (gst_element_change_state),
5691         (gst_element_set_bus_func):
5692         Small cleanups.
5693
5694         * gst/gstpipeline.c: (gst_pipeline_class_init),
5695         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5696         The pipeline provides a bus.
5697
5698 2005-09-28  Johan Dahlin  <johan@gnome.org>
5699
5700         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5701         gst_structure_get_enum instead of gst_structure_get_int
5702
5703         * gst/gststructure.c (gst_structure_get_enum): Impl.
5704
5705         * gst/gststructure.h (gst_structure_get_enum): Add
5706
5707         * docs/gst/gstreamer-sections.txt: Ditto
5708
5709         * gst/gstmessage.c (gst_message_new_state_changed): Use
5710         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5711         which does introspection.
5712         Reviewed by Christian Schaller
5713
5714 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5715
5716         * gst/gstinfo.c: (gst_debug_log_default):
5717           don't do dummy g_strdup()s
5718         * libs/gst/controller/gstcontroller.c:
5719         (on_object_controlled_property_changed),
5720         (gst_controlled_property_new), (gst_controller_new_valist),
5721         (gst_controller_new_list),
5722         (gst_controller_remove_properties_valist), (gst_controller_set),
5723         (gst_controller_get), (gst_controller_sync_values),
5724         (gst_controller_get_value_array), (_gst_controller_class_init),
5725         (gst_controller_get_type):
5726         * libs/gst/controller/gstcontroller.h:
5727         * libs/gst/controller/gstinterpolation.c:
5728         (gst_controlled_property_find_timed_value_node):
5729           convert // to /**/ comments
5730
5731 2005-09-28  Wim Taymans  <wim@fluendo.com>
5732
5733         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5734         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5735         (gst_bus_sync_signal_handler):
5736         * gst/gstbus.h:
5737         Added async-message and sync-message signals to the bus.
5738         Added helper BusFunc to emit signals for all posted messages.
5739
5740         * gst/gstmessage.c: (gst_message_type_get_name),
5741         (gst_message_type_to_quark), (gst_message_get_type):
5742         * gst/gstmessage.h:
5743         Register quarks for message names.
5744
5745 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5746
5747         * docs/libs/gstreamer-libs-sections.txt:
5748         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5749         (gst_controller_new_list):
5750         * libs/gst/controller/gstcontroller.h:
5751           added another constructor for language bindings
5752
5753 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5756           add another check
5757         * gst/gstbus.c:
5758           add some doc
5759         * gst/gstinfo.c: (_gst_debug_init):
5760           slightly more readable color for refcount debugging
5761
5762 2005-09-28  Wim Taymans  <wim@fluendo.com>
5763
5764         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5765         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5766         (find_element), (gst_bin_sort_iterator_next),
5767         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5768         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5769         (gst_bin_change_state), (gst_bin_dispose):
5770         Small doc fixes. get_clock -> provide_clock.
5771
5772         * gst/gstelement.c: (gst_element_class_init),
5773         (gst_element_provides_clock), (gst_element_provide_clock),
5774         (gst_element_get_clock), (gst_element_commit_state),
5775         (gst_element_lost_state):
5776         * gst/gstelement.h:
5777         Make get/set_clock() symetric. Add provide_clock vmethod since
5778         that is actually what this function does.
5779
5780         * gst/gstpipeline.c: (gst_pipeline_class_init),
5781         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5782         (gst_pipeline_get_clock):
5783         get_clock -> provide_clock.
5784
5785 2005-09-28  Andy Wingo  <wingo@pobox.com>
5786
5787         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5788         lieu of real docs...
5789
5790         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5791
5792 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5793
5794         * gst/elements/gstcapsfilter.c:
5795         * gst/elements/gstfakesink.c:
5796         * gst/elements/gstfakesrc.c:
5797         * gst/elements/gstfdsink.c:
5798         * gst/elements/gstfdsrc.c:
5799         * gst/elements/gstfilesink.c:
5800         * gst/elements/gstfilesrc.c:
5801         * gst/elements/gstidentity.c:
5802         * gst/elements/gsttee.c:
5803         * gst/elements/gsttypefindelement.c:
5804           Make element details static.
5805
5806 2005-09-28  Wim Taymans  <wim@fluendo.com>
5807
5808         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5809         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5810         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5811         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5812         (gst_bin_change_state), (gst_bin_dispose):
5813         Some documentation updates.
5814         Clean up dispose handlers.
5815
5816         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5817         * gst/gstpad.c: (gst_pad_dispose):
5818         Clean up dispose handler.
5819
5820         * gst/gstpipeline.c: (gst_pipeline_change_state):
5821         Removed spurious UNLOCK.
5822
5823 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5824
5825         * docs/gst/gstreamer-sections.txt:
5826         * gst/base/gstbasesrc.h:
5827         * gst/gstelement.h:
5828         * gst/gstevent.h:
5829         * gst/gstobject.h:
5830         * gst/gstpad.h:
5831         * gst/gstpipeline.c:
5832         * gst/gstpipeline.h:
5833         * gst/gstutils.h:
5834         * gst/gstxml.h:
5835           added two new functions to the docs
5836                 documents all undocumented GstXXXFlags
5837                 completed some incomplete docs 
5838
5839 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         * gst/gstbin.c: (gst_bin_dispose):
5842         * gst/gstelement.c: (gst_element_dispose):
5843           remove now useless and leaky resurrection code in dispose
5844         * gst/base/gstbasesrc.c: (gst_base_src_init):
5845         * gst/gstelementfactory.c: (gst_element_factory_create):
5846         * gst/gstobject.c: (gst_object_set_parent):
5847           add some debugging
5848
5849 2005-09-27  Wim Taymans  <wim@fluendo.com>
5850
5851         * docs/design/part-TODO.txt:
5852         Update TODO.
5853
5854         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5855         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5856         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5857         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5858         (gst_bin_change_state):
5859         * gst/gstelement.h:
5860         Remove element variable, we keep element info in the iterator now.
5861
5862 2005-09-27  Andy Wingo  <wingo@pobox.com>
5863
5864         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5865         values.
5866
5867 2005-09-27  Wim Taymans  <wim@fluendo.com>
5868
5869         * check/gst/gstbin.c: (GST_START_TEST):
5870         Enable check that works now.
5871
5872         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5873         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5874         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5875         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5876         (gst_bin_change_state):
5877         * gst/gstbin.h:
5878         Redid the state change algorithm using a topological sort algo.
5879         Handles all cases correctly.
5880         Exposed iterator for state change order.
5881
5882         * gst/gstelement.h:
5883         Temp storage for state changes. Need to get rid of this soon.
5884
5885 2005-09-27  Wim Taymans  <wim@fluendo.com>
5886
5887         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5888         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5889         (link_fold_func), (gst_pad_proxy_setcaps):
5890         Leak fixes, the fold functions need to unref the passed object and
5891         _get_parent_*() returns ref to parent.
5892
5893 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5894
5895         * check/gst/gstbuffer.c: (test_make_writable):
5896           Plug leak in test case and fix 'make check-valgrind'
5897
5898 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         * gst/gstbuffer.c: (gst_subbuffer_init):
5901           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5902           works correctly in all circumstances (we could have just copied
5903           the parent buffer's readonly flag, but conceptually it seems
5904           cleaner to mark all subbuffers as read-only). (based on patch
5905           by Alessandro Decina, #314710).
5906         
5907         * check/gst/gstbuffer.c: (create_read_only_buffer),
5908         (test_make_writable), (test_subbuffer_make_writable),
5909         (gst_test_suite):
5910           Add some tests for gst_buffer_make_writable().
5911
5912 2005-09-27  Wim Taymans  <wim@fluendo.com>
5913
5914         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5915         use gst_object_has_ancestor().
5916
5917         * gst/gstobject.c: (gst_object_has_ancestor):
5918         * gst/gstobject.h:
5919         gst_object_has_ancestor() copied from gstbin.c as it is a
5920         usefull function.
5921
5922         * tests/instantiate/create.c: (create_all_elements):
5923         * tests/lat.c: (handoff_src), (handoff_sink):
5924         * tests/sched/runxml.c: (main):
5925         * tests/seeking/seeking1.c: (main):
5926         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5927         (main):
5928         Fix compilation of some tests.
5929
5930 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5931
5932         * gst/gsterror.h:
5933           Remove comment. GST_TYPE_G_ERROR is here to stay,
5934           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5935           (#316961, #300610).
5936
5937 2005-09-26  Wim Taymans  <wim@fluendo.com>
5938
5939         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5940         Added check that shows error in state change order.
5941
5942 2005-09-26  Wim Taymans  <wim@fluendo.com>
5943
5944         * gst/gstbin.c: (gst_bin_change_state):
5945         Make state change function use 3 queues again, we were
5946         adding elements in the wrong order.
5947
5948         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5949         Some debug info,
5950
5951         * gst/gstpad.c: (gst_pad_dispose):
5952         Added some debug info first.
5953
5954 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         * docs/design/draft-push-pull.txt:
5957         * docs/design/part-events.txt:
5958         * docs/design/part-overview.txt:
5959         * docs/design/part-scheduling.txt:
5960           Replace all _pull_region() with _pull_range()
5961           
5962 2005-09-26  Andy Wingo  <wingo@pobox.com>
5963
5964         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5965
5966         * check/gst-libs/controller.c: Update for controller api change.
5967
5968         * configure.ac: 
5969         * tests/Makefile.am:
5970         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5971         over by GLib bug 118439.
5972         
5973         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5974         routines to a function.
5975
5976         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5977
5978         * libs/gst/controller/gsthelper.c:
5979         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5980         (gst_object_sync_values): Renamed from sink_values. Ugh.
5981
5982         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5983
5984         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5985         Renamed from controller_key, as it is exported.
5986
5987         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5988
5989 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5990
5991         * gst/Makefile.am:
5992         * gst/gst.h:
5993         * gst/gstpad.h:
5994         * gst/gstpadtemplate.h:
5995         * gst/gstquery.c:
5996         * gst/gstquery.h:
5997         * gst/gstqueryutils.c:
5998         * gst/gstqueryutils.h:
5999           remove queryutils headers after moving the two used functions
6000           to gstquery.  also fixes build problem for gstsiddec
6001
6002 2005-09-26  Michael Smith <msmith@fluendo.com>
6003
6004         * tools/gst-launch.1.in:
6005         Correct documentation in manpage of debug syntax
6006
6007 2005-09-26  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6010         (gst_base_src_is_seekable), (gst_base_src_change_state):
6011         Some more debugging info.
6012
6013 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6014
6015         * docs/gst/gstreamer-sections.txt:
6016         * gst/base/gstbasetransform.h:
6017         * gst/gstindex.h:
6018           added more docs
6019
6020 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6021
6022         * docs/gst/.cvsignore:
6023         * docs/gst/tmpl/.cvsignore:
6024         * docs/gst/tmpl/gstpipeline.sgml:
6025         * docs/gst/tmpl/gstplugin.sgml:
6026         * gst/gstpipeline.c:
6027         * gst/gstplugin.c:
6028         * gst/gstplugin.h:
6029           inlined the last two docs files
6030           removed the tmpl directory from cvs (no more conflicts here!)
6031
6032 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6033
6034         * docs/gst/gstreamer-sections.txt:
6035         * docs/gst/tmpl/.cvsignore:
6036         * docs/gst/tmpl/gstpad.sgml:
6037         * docs/gst/tmpl/gstpadtemplate.sgml:
6038         * gst/Makefile.am:
6039         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6040         (gst_pad_finalize), (gst_pad_set_pad_template):
6041         * gst/gstpad.h:
6042         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6043         (gst_pad_template_class_init), (gst_pad_template_init),
6044         (gst_pad_template_dispose), (name_is_valid),
6045         (gst_static_pad_template_get), (gst_pad_template_new),
6046         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6047         (gst_pad_template_pad_created):
6048         * gst/gstpadtemplate.h:
6049           inlined two more docs
6050           factored gstpadtemplate out of gstpad
6051
6052 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6053
6054         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6055         (test_children_state_change_order_semi_sink):
6056           Fix test case: we can't rely on a fixed state change order when
6057           going from READY => PAUSED because the sink might commit its 
6058           new state first when the first buffer created by the source 
6059           reaches the sink before the source has finished its change state.
6060           (Test case still fails at times, see #316856, comment 5 onwards)
6061
6062 2005-09-24  Wim Taymans  <wim@fluendo.com>
6063
6064         * docs/design/part-events.txt:
6065         * docs/design/part-gstbus.txt:
6066         * docs/design/part-gstpipeline.txt:
6067         * docs/design/part-messages.txt:
6068         * docs/design/part-overview.txt:
6069         * docs/design/part-segments.txt:
6070         * gst/gstbin.c:
6071         * gst/gstbuffer.c:
6072         * gst/gstclock.c:
6073         * gst/gstelement.c:
6074         * gst/gstevent.c:
6075         * gst/gstfilter.c:
6076         * gst/gstiterator.c:
6077         Various documentation updates.
6078
6079 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6080
6081         * gst/gstclock.h:
6082           Well, that's embarassing.  Luckily we weren't using
6083           GST_CLOCK_DIFF anywhere.
6084
6085 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6086
6087         * common/gtk-doc.mak:
6088           don't fail on building XML, FC4 slave shows a bunch of doc
6089           missing bits that I don't get
6090         * gst/gstpad.c:
6091         * gst/gstpipeline.c:
6092         * gst/gststructure.c:
6093           some doc updates
6094
6095 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6096
6097         * docs/design/part-gstbin.txt:
6098         * docs/design/part-gstbus.txt:
6099         * gst/gstbus.c:
6100           Add blurb about how the bus goes into flushing mode and
6101           drops all messages when its bin goes from READY into NULL 
6102           state.
6103
6104 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6105
6106         * docs/gst/gstreamer-sections.txt:
6107         * gst/gststructure.c: (gst_structure_get_clock_time):
6108         * gst/gststructure.h:
6109           add a method to get a GstClockTime out of a structure
6110
6111 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6114         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6115           Added test to check state change order in bins (can still be made
6116           to fail here under heavy disk load; bails out with 'Push on pad
6117           fakesink:sink0, but it was not activated in push mode').
6118
6119         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6120           Fix state change order when there is only a semi sink (#316856)
6121
6122         * gst/gstbus.c: (gst_bus_class_init):
6123           Use _class_peek_parent(), not _class_ref(); fix docs to say
6124           'default main context' instead of 'mainloop' where that is
6125           what's meant.
6126
6127         * gst/gstelement.c: (gst_element_commit_state),
6128         (gst_element_set_state):
6129           Fix typos in debug messages
6130
6131 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6132
6133         * docs/README:
6134         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6135         * gst/gstpluginfeature.c:
6136         * gst/gstutils.c:
6137           various doc updates
6138         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6139           change an assert into an error until it gets fixed properly
6140
6141 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6142
6143         * docs/gst/gstreamer-sections.txt:
6144         * docs/gst/tmpl/.cvsignore:
6145         * docs/gst/tmpl/gstelement.sgml:
6146         * docs/gst/tmpl/gstinfo.sgml:
6147         * docs/gst/tmpl/gstobject.sgml:
6148         * gst/gstelement.c:
6149         * gst/gstelement.h:
6150         * gst/gstinfo.c:
6151         * gst/gstinfo.h:
6152         * gst/gstobject.c: (gst_object_class_init):
6153         * gst/gstobject.h:
6154           inlined 3 more biiiig doc files and added some missing docs on the fly
6155
6156 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6157
6158         * check/gst/.cvsignore:
6159         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6160         * gst/gstregistryxml.c: (load_plugin),
6161         (gst_registry_xml_save_plugin):
6162           put back source in registry.  add checks for find_plugin.
6163         * testsuite/states/bin.c: (assert_state), (empty_bin),
6164         (test_adding_one_element), (main):
6165         * testsuite/states/locked.c: (main):
6166           some compile/run fixes
6167
6168 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6169
6170         * check/gst/gstvalue.c: (GST_START_TEST):
6171           fix leaks in the test itself
6172
6173 2005-09-22  Wim Taymans  <wim@fluendo.com>
6174
6175         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6176         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6177         (gst_base_sink_query):
6178         Prepare for more accurate position reporting and query
6179         handling.
6180
6181         * gst/gstelement.c: (gst_element_send_event),
6182         (gst_element_set_state):
6183         Add some comment.
6184
6185 2005-09-22  Wim Taymans  <wim@fluendo.com>
6186
6187         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6188         (gst_query_parse_segment):
6189         * gst/gstquery.h:
6190         More documentation.
6191         Add segment query for future use.
6192
6193 2005-09-22  Wim Taymans  <wim@fluendo.com>
6194
6195         * gst/gstbin.c: (gst_bin_add_func):
6196         Some more debug info.
6197
6198         * gst/gstelement.c: (gst_element_send_event):
6199         Simplify send_event
6200
6201         * gst/gstelement.h:
6202         Don't know how flags got broken.
6203
6204         * gst/gstquery.h:
6205         Added new query.
6206
6207 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6208
6209         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6210           Add simplistic test suite for GST_TYPE_DATE serialisation and
6211           deserialisation.
6212
6213 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6214
6215         * docs/gst/gstreamer-sections.txt:
6216         * gst/gststructure.c: (gst_structure_set_valist),
6217         (gst_structure_get_date):
6218         * gst/gststructure.h:
6219         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6220         (gst_date_copy), (gst_value_compare_date),
6221         (gst_value_serialize_date), (gst_value_deserialize_date),
6222         (gst_value_transform_date_string),
6223         (gst_value_transform_string_date), (_gst_value_initialize):
6224         * gst/gstvalue.h:
6225           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6226           bunch of utility functions along with a hack that checks that
6227           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6228           is required. Part of the grand scheme in #170777.
6229
6230 2005-09-22  Andy Wingo  <wingo@pobox.com>
6231
6232         * gst/gstconfig.h.in: Psych out gtk-doc.
6233
6234         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6235
6236         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6237
6238         * tools/gst-inspect.c (print_element_list): Plug some
6239         inconsequential leaks.
6240
6241         * gst/gstregistry.c (gst_registry_get_default): Doc.
6242
6243         * check/gst/gstplugin.c: 
6244         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6245         * gst/gstelementfactory.c (gst_element_factory_create): 
6246         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6247         refcount changes.
6248
6249         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6250         (gst_plugin_feature_load): Doc, don't eat refs.
6251
6252         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6253         (gst_plugin_list_free): Doc.
6254         (gst_plugin_load_file): Doc updates.
6255
6256         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6257         accessors returning refcounted objects, return a ref.
6258
6259         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6260         accessor for caps. IDEMPOTENCE. Oh yes.
6261
6262 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6263
6264         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6265
6266         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6267         (_gst_debug_register_funcptr):
6268           Add mutex to serialise access to the hash table with
6269           the function pointer => function name string mapping;
6270           make that hash table static scope (#316809).
6271
6272         * gst/registries/.cvsignore:
6273           Remove left-over file.
6274
6275 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6276
6277         * docs/pwg/appendix-porting.xml:
6278           And something about newsegment events and caps-on-buffers to
6279           the porting guide (feel free to improve).
6280
6281 2005-09-21  Andy Wingo  <wingo@pobox.com>
6282
6283         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6284         data and event probes on the same pad.
6285         (test_buffer_probe_once): Test that removing probes from within
6286         the probe functions works.
6287
6288 2005-09-21  Andy Wingo  <wingo@pobox.com>
6289
6290         * check/gst/gstutils.c: New file.
6291         (test_buffer_probe_n_times): A simple buffer probe test. More to
6292         come, foolios.
6293
6294         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6295         have-data::buffer, not have-data.
6296         (gst_pad_add_event_probe): Likewise for have-data::event.
6297         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6298         peer' isn't quite right yet though.
6299         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6300         (gst_pad_remove_data_probe): Change to take the guint handler_id
6301         as their arg, not the function+data, which is more glib-like.
6302
6303         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6304         the signal emission to indicate if the data is a buffer or an
6305         event.
6306         (gst_pad_get_type): Initialize buffer and event quarks.
6307         (gst_pad_class_init): have-data is now a detailed signal, yes it
6308         is.
6309
6310 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6313         * gst/gstutils.c: (gst_util_set_value_from_string),
6314         (gst_util_set_object_arg):
6315           Don't put functional code in g_return_if_fail() or
6316           g_return_val_if_fail() statements, otherwise things will 
6317           break when G_DISABLE_CHECKS is defined during compilation.
6318
6319 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6320
6321         * docs/gst/tmpl/.cvsignore:
6322         * docs/gst/tmpl/gstvalue.sgml:
6323         * gst/gstvalue.c:
6324         * gst/gstvalue.h:
6325           inlied another one and added  some obvious docs
6326
6327 2005-09-21  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6330         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6331         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6332         (gst_fdsrc_get_property), (gst_fdsrc_create):
6333         * gst/elements/gstfdsrc.h:
6334         Properly implement fdsrc. Removed signal and timeout,
6335         better implemented somewhere else.
6336
6337 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6338
6339         * docs/gst/tmpl/.cvsignore:
6340         * docs/gst/tmpl/gstimplementsinterface.sgml:
6341         * gst/gstinterface.c:
6342           inlined more docs
6343
6344 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6345
6346         * docs/gst/gstreamer-sections.txt:
6347         * docs/gst/tmpl/.cvsignore:
6348         * docs/gst/tmpl/gstenumtypes.sgml:
6349           remove obsolete doc file
6350
6351 2005-09-21  David Schleef  <ds@schleef.org>
6352
6353         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6354         little beer, fix a little leak.
6355
6356 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6357
6358         * docs/gst/gstreamer-docs.sgml:
6359         * docs/gst/gstreamer-sections.txt:
6360         * docs/gst/tmpl/.cvsignore:
6361         * gst/Makefile.am:
6362         * gst/gst.h:
6363         * gst/gstbin.c:
6364         * gst/gstelement.h:
6365         * gst/gstindex.c: (gst_index_class_init):
6366         * gst/gstindex.h:
6367         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6368         (gst_index_factory_class_init), (gst_index_factory_init),
6369         (gst_index_factory_finalize), (gst_index_factory_new),
6370         (gst_index_factory_destroy), (gst_index_factory_find),
6371         (gst_index_factory_create), (gst_index_factory_make):
6372         * gst/gstindexfactory.h:
6373         * gst/gstpluginfeature.c:
6374         * gst/gstpluginfeature.h:
6375         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6376           more docs inlined, splitted gstindex.{c,h}
6377
6378 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6379
6380         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6381           fix a leak
6382
6383 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6386           Set sync to FALSE by default.
6387
6388 2005-09-20  Wim Taymans  <wim@fluendo.com>
6389
6390         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6391         (gst_base_sink_init):
6392         Make sync property settable from subclass.
6393
6394         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6395         (gst_fake_sink_change_state):
6396         Set sync to FALSE by default.
6397
6398 2005-09-20  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6401         * tools/gst-launch.c: (main):
6402         The timeout handler should have lower priority than the source
6403         so we don't timeout before popping a message with 0 timeout.
6404         Dump error messages after failed state change.
6405
6406 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6407
6408         * tools/gst-inspect.c: (print_element_properties_info):
6409           Fix two typos.
6410
6411 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6412
6413         * check/gst/gstevent.c:
6414         * gst/elements/gstfakesink.c:
6415         * gst/elements/gstfakesink.h:
6416           remove the sync property from fakesink.
6417           has the side effect of setting sync TRUE
6418           for fakesink, which is a change.  Anyone who knows how
6419           to fix this nicely in a GObject-y way, feel free.
6420
6421 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6422
6423         * docs/gst/gstreamer-docs.sgml:
6424           remove probe refsection
6425
6426 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * check/Makefile.am:
6429           disable valgrinding the controller test again
6430         * docs/gst/gstreamer-sections.txt:
6431           update for api-changes
6432
6433 2005-09-20  Wim Taymans  <wim@fluendo.com>
6434
6435         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6436         (gst_base_sink_set_property), (gst_base_sink_get_property),
6437         (gst_base_sink_do_sync):
6438         * gst/base/gstbasesink.h:
6439         Added sync property to basesink to disable clock sync.
6440
6441 2005-09-20  Andy Wingo  <wingo@pobox.com>
6442
6443         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6444         eating the caller's refcount.
6445
6446         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6447         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6448         refcount.
6449
6450         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6451         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6452         of GLib 2.8 public, so we can know which refcount to check in
6453         tests.
6454
6455         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6456         (gst_object_init): Only set the gst refcount if we're going ahead
6457         with the refcount hack.
6458
6459 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6460
6461         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6462         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6463           more leaks plumbed, added more debug-logging
6464         * gst/gstmacros.h:
6465           whitespace fix
6466
6467 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * gst/gstmessage.c:
6470           remove include of gstmemchunk.h
6471
6472 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * gst/gstclock.c: (_gst_clock_id_free):
6475           Commit from the Political Party For More Atomic CVS Commits,
6476           so that people don't waste too much of their day fishing
6477           out obvious leaks out of massive commits.
6478           Oh, and fix a pretty damn obvious leak in the memchunk
6479           removal code.
6480
6481 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6482
6483         * check/Makefile.am:
6484         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6485           plug mem-leak, re-add to valgrindable tests
6486
6487 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * gst/gstplugin.h:
6490           unbreak the build for those who have chronic arthritis
6491           and typing "make check" is just too taxing on the hands
6492
6493 2005-09-20  Andy Wingo  <wingo@pobox.com>
6494
6495         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6496         really want it out, you should fix plugins at the same time.
6497
6498 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6499
6500         * configure.ac:
6501         * docs/gst/gstreamer-sections.txt:
6502         * gst/gstobject.c:
6503           added missing symbols to api docs
6504           disable ref-count hack if we have glib >= 2.8
6505
6506 2005-09-19  David Schleef  <ds@schleef.org>
6507
6508         * docs/gst/Makefile.am: Ignore a few more internal headers
6509         * docs/gst/gstreamer-docs.sgml: Remove old sections
6510         * docs/gst/gstreamer-sections.txt: Remove old sections
6511         * docs/gst/tmpl/gstobject.sgml: update
6512         * docs/gst/tmpl/gstplugin.sgml: update
6513         * docs/gst/tmpl/gstpluginfeature.sgml: update
6514         * docs/random/ds/0.9-suggested-changes: update.
6515         * gst/Makefile.am: remove memchunk and trashstack, since they're
6516           not used.
6517         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6518         * gst/gst.h: don't include some headers
6519         * gst/gstchildproxy.c: add gstmarshal.h
6520         * gst/gstclock.c: Don't use memchunks
6521         * gst/gstminiobject.c: Add some docs
6522         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6523         * gst/gstobject.h: same
6524         * gst/gstplugin.c: include gstmacros.h
6525         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6526         * gst/gstquery.c: don't use memchunks
6527         * gst/gstregistry.c: rename gst_registry_deinit()
6528         * gst/gstregistry.h: same
6529
6530 2005-09-19  David Schleef  <ds@schleef.org>
6531
6532         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6533         * docs/libs/gstreamer-libs-sections.txt:
6534         * docs/libs/tmpl/gstgetbits.sgml:
6535         * docs/libs/tmpl/gstputbits.sgml:
6536
6537 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6538
6539         * win32/gstenumtypes.c:
6540         * win32/gstenumtypes.h:
6541           Update.
6542
6543 2005-09-19  Wim Taymans  <wim@fluendo.com>
6544
6545         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6546         Automatically PAUSE and RESUME a pipeline when a flushing seek
6547         is performed.
6548
6549 2005-09-19  Andy Wingo  <wingo@pobox.com>
6550
6551         * gst/gstregistry.h: Spacing fixen.
6552
6553 2005-09-19  Wim Taymans  <wim@fluendo.com>
6554
6555         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6556         Handle state change failure more correctly.
6557
6558 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * check/Makefile.am:
6561         * check/pipelines/cleanup.c: (run_pipeline):
6562         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6563         (GST_START_TEST):
6564           enable cleanup again after fixing the leak
6565         * docs/README:
6566           some more info on docs
6567
6568 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * check/Makefile.am:
6571           re-enable tests now that leaks are plugged
6572         * check/gst/gst.c:
6573         * check/gst/gstbin.c:
6574         * check/gst/gstpipeline.c:
6575           add some more tests while fixing leaks
6576         * common/check.mak:
6577           make sure binaries are uptodate when valgrinding/gdbing
6578         * gst/gst.c:
6579         * gst/gstelementfactory.c:
6580           remove a ref too many, and add a FIXME for when we get
6581           round to disposing of classes
6582         * gst/gstplugin.c:
6583           fix the refcounting when loading a plugin from a file and
6584           the code pretends that the pointer is the same even though
6585           of course it can change
6586         * gst/gstpluginfeature.c:
6587           unref plugins marked cached (a bit confusing as a name)
6588           as the docs state should be done
6589           various doc additions to explain refcounting
6590         * gst/gstregistry.c:
6591         * gst/gstregistryxml.c:
6592           debugging
6593
6594 2005-09-19  Wim Taymans  <wim@fluendo.com>
6595
6596         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6597         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6598         (send_messages), (GST_START_TEST), (gstbus_suite):
6599         * check/gst/gstpipeline.c: (GST_START_TEST):
6600         * check/pipelines/cleanup.c: (run_pipeline):
6601         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6602         (GST_START_TEST):
6603         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6604         (gst_bus_source_check), (gst_bus_source_dispatch),
6605         (gst_bus_create_watch), (gst_bus_add_watch_full),
6606         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6607         * gst/gstbus.h:
6608         * tools/gst-launch.c: (event_loop):
6609         * tools/gst-md5sum.c: (event_loop):
6610         GstBusHandler -> GstBusFunc, return value has the same meaning as
6611         any other GSource (FALSE == remove source).
6612         _add_watch() and _add_watch_full() now take a MessageType mask to
6613         only handle specific types of messages.
6614         _poll() returns the GstMessage instead of the message type to avoid
6615         race conditions.
6616         _have_pending() takes a MessageType mask now too.
6617         Added testsuite for multiple bus watches.
6618         Fix testsuites and applications for new bus API.
6619
6620 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * check/Makefile.am:
6623           mark a bunch of the tests as to fix until we fix them
6624
6625 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6626
6627         * common/check.mak:
6628           use GST_PLUGIN settings for valgrind tests as well, so we're
6629           valgrinding the correct thing
6630         * gst/gst.c: (init_post):
6631           plug another leak
6632
6633 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6634
6635         * gst/gst.c: (init_post), (gst_deinit):
6636         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6637         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6638         * gst/gstindex.c: (gst_index_factory_class_init),
6639         (gst_index_factory_finalize):
6640         * gst/gstobject.c: (gst_object_dispose):
6641         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6642         (gst_plugin_load_file), (gst_plugin_desc_free):
6643         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6644         (gst_plugin_feature_finalize):
6645         * gst/gstregistry.c: (gst_registry_class_init),
6646         (gst_registry_init), (gst_registry_finalize),
6647         (gst_registry_get_default), (gst_registry_deinit):
6648         * gst/gstregistry.h:
6649         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6650           various cleanups and memleak plugging.  make valgrind is happy now.
6651
6652 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6653
6654         * common/check.mak:
6655           add a check-valgrind target
6656
6657 2005-09-18  David Schleef  <ds@schleef.org>
6658
6659         * tools/gst-inspect.c: Revert the GOption code.
6660
6661 2005-09-17  David Schleef  <ds@schleef.org>
6662
6663         * check/Makefile.am: Fix environment variables.
6664         * check/gst/gstplugin.c: Fix for API changes.
6665         * tools/gst-inspect.c: Fix for API changes.
6666         * tools/gst-xmlinspect.c: Fix for API changes.
6667         * gst/gstelementfactory.c:
6668         * gst/gstplugin.c:
6669         * gst/gstplugin.h:
6670         * gst/gstpluginfeature.c:
6671         * gst/gstpluginfeature.h:
6672         * gst/gstregistry.c:
6673         * gst/gstregistry.h:
6674         * gst/gstregistryxml.c:
6675         * gst/gsttypefind.c:
6676         * gst/gsttypefindfactory.c:
6677         * gst/indexers/gstfileindex.c:
6678         * gst/indexers/gstmemindex.c:
6679         * gst/schedulers/Makefile.am:
6680           Change registry to keep track of both plugins and features,
6681           removing the feature tracking from plugins themselves.
6682
6683 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6684
6685         * check/Makefile.am:
6686         * tools/gst-register.1.in:
6687           remove gst-register
6688
6689 2005-09-15  David Schleef  <ds@schleef.org>
6690
6691         * check/gst/gstplugin.c:
6692         * gst/gstelementfactory.c:
6693         * gst/gstplugin.c:
6694         * gst/gstpluginfeature.c:
6695         * gst/gstregistry.c:
6696           Getting tired of debugging.  Disabled all the unreffing of
6697           plugins and features, which fixes the segfaults, but of
6698           course leaks like crazy.  At least playbin works.
6699
6700 2005-09-15  David Schleef  <ds@schleef.org>
6701
6702         * check/gst/gstplugin.c: (register_check_elements),
6703         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6704         More testing
6705         * gst/elements/gsttypefindelement.c: Fix refcounting.
6706         * gst/gsttypefind.c:
6707         * gst/gsttypefindfactory.c:
6708         * gst/gsttypefindfactory.h:
6709
6710 2005-09-15  David Schleef  <ds@schleef.org>
6711
6712         * gst/gstindex.c: get refcounting correct.
6713         * gst/gstregistry.c: Handle the case where a feature/plugin is
6714           not found.
6715
6716 2005-09-15  David Schleef  <ds@schleef.org>
6717
6718         * check/Makefile.am:
6719         * check/gst/gstplugin.c: Add test
6720         * gst/gstplugin.c: Fix problems noticed by testsuite
6721         * gst/gstplugin.h:
6722         * gst/gstregistry.c: 
6723         * gst/gstregistry.h:
6724
6725 2005-09-15  David Schleef  <ds@schleef.org>
6726
6727         * gst/gstplugin.c: Implement semi-decent recounting and locking
6728           in plugins and plugin features.
6729         * gst/gstplugin.h:
6730         * gst/gstpluginfeature.c:
6731         * gst/gstpluginfeature.h:
6732         * gst/gstregistry.c:
6733
6734 2005-09-15  Michael Smith <msmith@fluendo.com>
6735
6736         * gst/gstregistry.c: (gst_registry_get_feature_list):
6737           Implement this. Makes oggdemux work; decodebin still broken.
6738
6739 2005-09-14  David Schleef  <ds@schleef.org>
6740
6741         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6742           #316076)
6743         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6744         * gst/check/Makefile.am:
6745         * libs/gst/controller/Makefile.am:
6746         * libs/gst/dataprotocol/Makefile.am:
6747
6748 2005-09-14  David Schleef  <ds@schleef.org>
6749
6750         * configure.ac: Remove getbits library.  Nothing uses it, and
6751           it should be in something like liboil if someone did want
6752           to use it.
6753         * libs/gst/Makefile.am:
6754         * libs/gst/getbits/Makefile.am:
6755         * libs/gst/getbits/gbtest.c:
6756         * libs/gst/getbits/getbits.c:
6757         * libs/gst/getbits/getbits.h:
6758         * libs/gst/getbits/gstgetbits_generic.c:
6759         * libs/gst/getbits/gstgetbits_i386.s:
6760         * libs/gst/getbits/gstgetbits_inl.h:
6761
6762 2005-09-14  David Schleef  <ds@schleef.org>
6763
6764         * gst/Makefile.am: Dist glib-compat.h
6765
6766 2005-09-14  David Schleef  <ds@schleef.org>
6767
6768         * configure.ac: Remove gst/registries, since it's no longer used.
6769         * gst/registries/Makefile.am:
6770         * gst/registries/gstlibxmlregistry.c:
6771         * gst/registries/gstlibxmlregistry.h:
6772         * gst/registries/gstxmlregistry.c:
6773         * gst/registries/gstxmlregistry.h:
6774         * gst/registries/registrytest.c:
6775
6776 2005-09-14  David Schleef  <ds@schleef.org>
6777
6778         * gst/glib-compat.h:
6779         * gst/gstregistryxml.c:
6780           Convergence is near.  Seriously.
6781
6782 2005-09-14  David Schleef  <ds@schleef.org>
6783
6784         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6785         * gst/glib-compat.h:
6786           Attempt #4 to appease the buildbots.
6787
6788 2005-09-14  David Schleef  <ds@schleef.org>
6789
6790         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6791           Attempt #3.
6792
6793 2005-09-14  David Schleef  <ds@schleef.org>
6794
6795         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6796         Attempt #2.
6797
6798 2005-09-14  David Schleef  <ds@schleef.org>
6799
6800         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6801           the new functions.
6802
6803 2005-09-14  David Schleef  <ds@schleef.org>
6804
6805         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6806         * gst/glib-compat.h: Add some functions that are in newer versions
6807           of glib than we care to require.
6808         * gst/gstregistryxml.c: Use them.
6809
6810 2005-09-14  David Schleef  <ds@schleef.org>
6811
6812         * po/POTFILES.in: remove gst-register.c
6813
6814 2005-09-14  David Schleef  <ds@schleef.org>
6815
6816         * docs/gst/gstreamer-docs.sgml:
6817         * docs/gst/gstreamer-sections.txt:
6818         * docs/gst/gstreamer.types:
6819         * docs/gst/tmpl/gstelement.sgml:
6820         * docs/gst/tmpl/gstplugin.sgml:
6821         * docs/gst/tmpl/gstpluginfeature.sgml:
6822           Documentation updates for registry changes.
6823
6824 2005-09-14  David Schleef  <ds@schleef.org>
6825
6826         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6827           because we don't require glib-2.8.
6828
6829 2005-09-14  David Schleef  <ds@schleef.org>
6830
6831         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6832           registries directory.
6833
6834 2005-09-14  David Schleef  <ds@schleef.org>
6835
6836         * check/Makefile.am:
6837         * check/generic/states.c:
6838         * gst/Makefile.am:
6839         * gst/gst.c:
6840         * gst/gst.h:
6841         * gst/gst_private.h:
6842         * gst/gstelementfactory.c:
6843         * gst/gstindex.c:
6844         * gst/gstinfo.c:
6845         * gst/gstplugin.c:
6846         * gst/gstplugin.h:
6847         * gst/gstpluginfeature.c:
6848         * gst/gstpluginfeature.h:
6849         * gst/gstregistry.c:
6850         * gst/gstregistry.h:
6851         * gst/gstregistrypool.c: remove
6852         * gst/gstregistrypool.h: remove
6853         * gst/gsttypefind.c:
6854         * gst/gsttypefindfactory.c:
6855         * gst/gsturi.c:
6856         * tools/Makefile.am:
6857         * tools/gst-compprep.c:
6858         * tools/gst-inspect.c:
6859         * tools/gst-register.c: remove
6860         * tools/gst-xmlinspect.c:
6861           Registry rewrite.  Changes registry from being a file created
6862           by a tool into a simple cache file created automatically by 
6863           libgstreamer.  Removed gst-register (because it's no longer
6864           needed).  Remove registry pools, because we only have one
6865           registry implementation (XML).  Fix up other subsystems as
6866           necessary.
6867
6868 2005-09-13  Michael Smith <msmith@fluendo.com>
6869
6870         * gst/gstconfig.h.in:
6871           Don't Use windows linking attributes for MinGW. Fixes #316157
6872
6873 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         * gst/gstutils.c: (set_state_async_thread_func),
6876         (gst_element_set_state_async):
6877           Apparently people think it's better if this function doesn't
6878           try to set the state to whatever state was asked for on the first
6879           call to this function for any object.  Seriously.
6880
6881 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6882
6883         * check/gst/gstpipeline.c: (GST_START_TEST):
6884         * docs/gst/gstreamer-sections.txt:
6885         * gst/gstutils.c: (set_state_async_thread_func),
6886         (gst_element_set_state_async):
6887         * gst/gstutils.h:
6888           add a "gst_element_set_state_async" method that
6889           sets the state and starts a thread to make sure the state
6890           change completes as best as it can
6891
6892 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6893
6894         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6895           codify design+behaviour in testsuite after discussion
6896
6897 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         * docs/gst/tmpl/gstelement.sgml:
6900         * docs/manual/appendix-quotes.xml:
6901           add a quote
6902         * gst/gstelement.c: (gst_element_set_state):
6903           add some debug
6904
6905 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6906
6907         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6908         (gst_base_transform_prepare_output_buf),
6909         (gst_base_transform_handle_buffer):
6910         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6911         (gst_capsfilter_prepare_buf):
6912           Remove the requirement for sub-classes to call the parent
6913           implementation of prepare_output_buffer with a wrapper function.
6914           
6915         * gst/gsttaglist.h:
6916         * gst/gsttagsetter.h:
6917           Fix #define wrapper
6918
6919 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * docs/gst/gstreamer-sections.txt:
6922           more doc cleanups
6923
6924 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * docs/gst/gstreamer-sections.txt:
6927         * docs/gst/tmpl/gstelement.sgml:
6928         * docs/gst/tmpl/gstplugin.sgml:
6929         * gst/gstminiobject.c:
6930         * gst/gstvalue.h:
6931           docs now stop throwing warnings
6932
6933 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6934
6935         * docs/gst/gstreamer-sections.txt:
6936         * docs/gst/gstreamer.types:
6937         * docs/gst/tmpl/gstpad.sgml:
6938         * docs/gst/tmpl/gsttypes.sgml:
6939         * gst/base/gstadapter.h:
6940         * gst/base/gstbasesink.h:
6941         * gst/base/gstbasesrc.h:
6942         * gst/gstbin.h:
6943         * gst/gstbuffer.h:
6944         * gst/gstbus.h:
6945         * gst/gstcaps.h:
6946         * gst/gstclock.h:
6947         * gst/gstelement.h:
6948         * gst/gstevent.h:
6949         * gst/gstmessage.h:
6950         * gst/gstpad.h:
6951         * gst/gststructure.c:
6952         * gst/registries/gstlibxmlregistry.h:
6953           various documentation fixes
6954
6955 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6956
6957         * docs/gst/gstreamer-sections.txt:
6958         * docs/gst/tmpl/gstvalue.sgml:
6959           rearrange gstvalue section
6960         * gst/gstutils.c: (gst_element_state_get_name):
6961           NONE -> VOID
6962         * gst/gstvalue.c: (_gst_value_initialize):
6963         * gst/gstvalue.h:
6964           doc updates
6965
6966 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6967
6968         * check/gst-libs/controller.c:
6969           Header include fix.
6970         * gst/base/gstbasetransform.c:
6971         (gst_base_transform_default_prepare_buf),
6972         (gst_base_transform_handle_buffer):
6973         * gst/base/gstbasetransform.h:
6974           Some more basetransform changes and fixes to enable sub-classes
6975           that modify buffer metadata only.
6976         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6977         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6978         (gst_capsfilter_prepare_buf):
6979           If the output pad has fixed allowed caps and input buffers 
6980           don't have any, set the fixed caps on outgoing buffers.
6981
6982 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6983         * check/elements/identity.c: (GST_START_TEST):
6984           Make the error a little clearer when the test fails because
6985           identity made a copy of the buffer.
6986         * docs/gst/gstreamer-sections.txt:
6987           New symbols in gstbasetransform.h
6988         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6989         (gst_base_transform_init), (gst_base_transform_transform_size),
6990         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6991         (gst_base_transform_default_prepare_buf),
6992         (gst_base_transform_get_unit_size),
6993         (gst_base_transform_buffer_alloc),
6994         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6995         (gst_base_transform_change_state),
6996         (gst_base_transform_set_passthrough),
6997         (gst_base_transform_set_in_place),
6998         (gst_base_transform_is_in_place):
6999         * gst/base/gstbasetransform.h:
7000           Change BaseTransform to separate in_place operate from same_caps
7001           output. in_place implies that the element can perform the transform
7002           on incoming buffers in-place, even if the caps on the output are
7003           different.
7004           Sub-class elements can now implement special buffer allocation
7005           methods for outgoing buffers if they wish to.
7006           Big documentation addition.
7007         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7008         * gst/elements/gstelements.c:
7009           Changes for basetransform modifications.
7010         * gst/elements/Makefile.am:
7011         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7012           Compile fix. Extra debug output.
7013
7014 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7015
7016         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7017         (gst_pad_suite):
7018           add tests for valid pad naming
7019         * gst/check/gstcheck.c: (gst_check_log_message_func),
7020         (gst_check_log_critical_func):
7021           add ASSERT_WARNING
7022           remove printing of code, it is fragile when the code contains
7023           % and the line number is enough info
7024         * gst/check/gstcheck.h:
7025         * gst/gstpad.c: (gst_pad_template_new):
7026           fix memleaks
7027
7028 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031           say what CHECK flags we use
7032         * docs/libs/gstreamer-libs.types:
7033         * libs/gst/controller/Makefile.am:
7034         * libs/gst/controller/gst-controller.c:
7035         * libs/gst/controller/gst-controller.h:
7036         * libs/gst/controller/gst-helper.c:
7037         * libs/gst/controller/gst-interpolation.c:
7038         * libs/gst/controller/gstcontroller.c:
7039         * libs/gst/controller/gsthelper.c:
7040         * libs/gst/controller/gstinterpolation.c:
7041         * tools/gst-inspect.c: (print_plugin_info):
7042           we don't use dashes in header names
7043
7044 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * check/Makefile.am:
7047         * check/gst/.cvsignore:
7048         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7049         (gst_pipeline_suite), (main):
7050           adding a test for pipelines and state changes
7051         * gst/gstutils.c: (get_state_func):
7052           add some debugging
7053         * gstreamer.spec.in:
7054           fix up spec file
7055
7056 2005-09-08  Michael Smith <msmith@fluendo.com>
7057
7058         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7059         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7060         (gst_file_src_is_seekable), (gst_file_src_get_size),
7061         (gst_file_src_start):
7062         * gst/elements/gstfilesrc.h:
7063           Various fixes for unseekable, unmmapable, and non-normal files, so
7064           that fallback to read() rather than mmap() works.
7065         * gst/gstevent.c: (gst_event_new_newsegment):
7066           Allow newsegment events with segment_start == segment_end, as will
7067           correctly happen if you use filesrc on a zero-size file, for
7068           example.
7069
7070 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7071
7072         * gst/gstplugin.c: (gst_plugin_load_file):
7073           Call g_module_close when we don't load the module
7074
7075         * gst/registries/gstlibxmlregistry.c:
7076         (gst_xml_registry_get_property):
7077           Port leak fix from 0.8
7078
7079 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7080
7081         * docs/gst/gstreamer-docs.sgml:
7082         * docs/gst/tmpl/.cvsignore:
7083         * docs/gst/tmpl/gsttrace.sgml:
7084         * docs/gst/tmpl/gsttrashstack.sgml:
7085         * gst/Makefile.am:
7086         * gst/gst.h:
7087         * gst/gstelement.h:
7088         * gst/gstevent.h:
7089         * gst/gstmessage.c:
7090         * gst/gstmessage.h:
7091         * gst/gsttag.c:
7092         * gst/gsttag.h:
7093         * gst/gsttaginterface.c:
7094         * gst/gsttaginterface.h:
7095         * gst/gsttaglist.c:
7096         * gst/gsttaglist.h:
7097         * gst/gsttagsetter.c:
7098         * gst/gsttagsetter.h:
7099         * gst/gsttrace.c:
7100         * gst/gsttrace.h:
7101         * gst/gsttrashstack.c:
7102           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7103           inlined docs for gsttrace, gsttrashstack
7104
7105 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7106
7107         * gst/Makefile.am:
7108         * gst/elements/gstbufferstore.h:
7109         * gst/elements/gsttypefindelement.c:
7110         * gst/elements/gsttypefindelement.h:
7111         * gst/gst.h:
7112         * gst/gsttypefind.c:
7113         * gst/gsttypefind.h:
7114         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7115         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7116         (gst_type_find_factory_dispose),
7117         (gst_type_find_factory_unload_thyself),
7118         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7119         (gst_type_find_factory_get_caps),
7120         (gst_type_find_factory_get_extensions),
7121         (gst_type_find_factory_call_function):
7122         * gst/gsttypefindfactory.h:
7123         * gst/registries/gstlibxmlregistry.c:
7124         * gst/registries/gstxmlregistry.c:
7125           splitted gsttypefind into gsttypefind, gsttypefindfactory
7126
7127 2005-09-07  Andy Wingo  <wingo@pobox.com>
7128
7129         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7130         condition whereby the pad's task function is entered before the
7131         pad_mode variable was set.
7132
7133 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7134
7135         * gst/gstpad.c: (gst_pad_alloc_buffer):
7136           Catch misbehaving pad_alloc functions that don't
7137           set up caps and do it for them.
7138
7139 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7140
7141         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7142           test for pipe!=NULL
7143         * docs/gst/tmpl/.cvsignore:
7144         * docs/gst/tmpl/gstmemchunk.sgml:
7145         * docs/gst/tmpl/gstparse.sgml:
7146         * docs/gst/tmpl/gsttaglist.sgml:
7147         * docs/gst/tmpl/gsttagsetter.sgml:
7148         * docs/gst/tmpl/gsttypefind.sgml:
7149         * docs/gst/tmpl/gsttypefindfactory.sgml:
7150         * gst/gstmemchunk.c:
7151         * gst/gstparse.c:
7152         * gst/gsttag.c:
7153         * gst/gsttaginterface.c:
7154         * gst/gsttypefind.c:
7155         * gst/gsttypefind.h:
7156           inlined more docs
7157
7158 === release 0.9.2 ===
7159
7160 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7161
7162         * NEWS:
7163         * RELEASE:
7164         * configure.ac:
7165           releasing 0.9.2, "South"
7166
7167 2005-09-05  Andy Wingo  <wingo@pobox.com>
7168
7169         * gst/registries/gstxmlregistry.h:
7170         * gst/registries/gstxmlregistry.c: Um... resurrect...
7171         
7172         * gst/registries/gstxmlregistry.h:
7173         * gst/registries/gstxmlregistry.c: and update to newer API.
7174         Incidentally they should be a bit faster now that they don't have
7175         to parse the caps.
7176         
7177 2005-09-05  Andy Wingo  <wingo@pobox.com>
7178
7179         * gst/registries/gstxmlregistry.h:
7180         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7181         replaced by the libxml registry a while back
7182
7183 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7184
7185         * docs/gst/tmpl/gstplugin.sgml:
7186         * gst/elements/gstelements.c:
7187         * gst/gst.c:
7188         * gst/gstplugin.c: (gst_plugin_register_func),
7189         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7190         (gst_plugin_get_source):
7191         * gst/gstplugin.h:
7192         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7193         (gst_xml_registry_save_plugin):
7194         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7195         (gst_xml_registry_save_plugin):
7196         * tools/gst-inspect.c: (print_plugin_info):
7197           add a "source" plugin description field, to represent the source
7198           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7199           will set it to PACKAGE, which is automake's idea of the name of
7200           the source project.
7201
7202 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * Makefile.am:
7205         * autogen.sh:
7206         * configure.ac:
7207         * docs/Makefile.am:
7208         * docs/faq/Makefile.am:
7209         * docs/gst/tmpl/gstelement.sgml:
7210         * docs/gst/tmpl/gsttypes.sgml:
7211         * docs/htmlinstall.mak:
7212         * docs/manual/Makefile.am:
7213         * docs/pwg/Makefile.am:
7214           reorganize doc build a little
7215           split out docbook and gtk-doc stuff
7216           have two separate --enable's and enable them through autogen
7217           but disable by default in configure (to be similar to other
7218           projects)
7219         * gstreamer.spec.in:
7220           clean up docs install
7221         * po/af.po:
7222         * po/az.po:
7223         * po/ca.po:
7224         * po/cs.po:
7225         * po/de.po:
7226         * po/en_GB.po:
7227         * po/fr.po:
7228         * po/it.po:
7229         * po/nb.po:
7230         * po/nl.po:
7231         * po/ru.po:
7232         * po/sq.po:
7233         * po/sr.po:
7234         * po/sv.po:
7235         * po/tr.po:
7236         * po/uk.po:
7237         * po/vi.po:
7238           translation updates
7239
7240 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7241
7242         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7243           Add comment.
7244           
7245         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7246         (gst_fake_sink_change_state):
7247           Make state change function thread-safe.
7248           
7249         * gst/gstpad.c: (gst_pad_alloc_buffer):
7250           Set offset on generic buffer allocated by fallback.
7251
7252 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7253
7254         * docs/gst/gstreamer-sections.txt:
7255         * docs/gst/tmpl/gstelement.sgml:
7256         * gst/gstpad.c:
7257         * libs/gst/controller/gst-controller.c:
7258         (gst_controlled_property_set_interpolation_mode),
7259         (gst_controlled_property_new),
7260         (gst_controller_find_controlled_property):
7261          run the wingo-magic script against the docs
7262
7263 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * docs/gst/gstreamer-docs.sgml:
7266         * docs/gst/gstreamer-sections.txt:
7267         * docs/gst/tmpl/.cvsignore:
7268         * docs/gst/tmpl/gstelementdetails.sgml:
7269         * docs/gst/tmpl/gstelementfactory.sgml:
7270         * gst/gst.c:
7271         * gst/gstbus.c:
7272         * gst/gstelementfactory.c:
7273         * gst/gstelementfactory.h:
7274           merged elementdetails docs into elementfactory docs
7275           inlined both
7276
7277 2005-09-02  Andy Wingo  <wingo@pobox.com>
7278
7279         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7280         consider this enum an enum and not a flags.
7281
7282 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7283
7284         * docs/gst/gstreamer-docs.sgml:
7285         * docs/gst/tmpl/.cvsignore:
7286         * docs/gst/tmpl/gstghostpad.sgml:
7287         * docs/gst/tmpl/gstiterator.sgml:
7288         * docs/gst/tmpl/gstmacros.sgml:
7289         * docs/gst/tmpl/gstrealpad.sgml:
7290         * docs/gst/tmpl/gstregistry.sgml:
7291         * docs/gst/tmpl/gstregistrypool.sgml:
7292         * docs/gst/tmpl/gststructure.sgml:
7293         * docs/gst/tmpl/gstsystemclock.sgml:
7294         * docs/gst/tmpl/gsttrace.sgml:
7295         * gst/gstghostpad.c:
7296         * gst/gstmacros.h:
7297         * gst/gstmemchunk.c:
7298         * gst/gstmemchunk.h:
7299         * gst/gstqueue.c:
7300         * gst/gstregistry.c:
7301         * gst/gstregistrypool.c:
7302         * gst/gststructure.c:
7303         * gst/gstsystemclock.c:
7304           more docs inlined
7305
7306 2005-09-02  Andy Wingo  <wingo@pobox.com>
7307
7308         * gst/gstelement.h (GstState): Renamed from GstElementState,
7309         changed to be a normal enum instead of flags.
7310         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7311         munged to be GST_STATE_CHANGE_*.
7312         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7313         work with the new state representation.
7314         (GstStateChange): New enumeration of possible state transitions.
7315         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7316         (GstElementClass::change_state): Pass the GstStateChange along as
7317         an argument. Helps language bindings, so they don't have to use
7318         tricky lock-needing macros like GST_STATE_CHANGE ().
7319
7320         * scripts/update-states (file): New script. Run it on a file to
7321         update it for state naming and API changes. Updates files in
7322         place.
7323
7324         * All files updated for the new API.
7325
7326 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7327
7328         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7329         * gst/gstutils.c: (gst_util_set_value_from_string),
7330         (gst_util_set_object_arg):
7331           fix a bunch of unchecked return values
7332         * tools/gst-complete.c: (main):
7333         * gstreamer.spec.in:
7334           clean up a little
7335
7336 2005-09-01  Wim Taymans  <wim@fluendo.com>
7337
7338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7339         (gst_base_sink_event), (gst_base_sink_do_sync),
7340         (gst_base_sink_handle_event):
7341         * gst/base/gstbasesink.h:
7342         Handle newsegments more correctly.
7343
7344         * gst/gstbus.c:
7345         Fix docs.
7346
7347         * gst/gstevent.c: (gst_event_new_newsegment):
7348         A newsegment cannot have a start_time of -1
7349
7350 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7351
7352         * win32/gstenumtypes.c:
7353         * win32/gstenumtypes.h:
7354           Update
7355
7356 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7357
7358         * libs/gst/controller/gst-controller.c:
7359         (gst_controlled_property_set_interpolation_mode),
7360         (gst_controlled_property_new):
7361          fixed boolean again
7362
7363 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * docs/faq/gst-uninstalled:
7366           add -good
7367         * gst/gstevent.c:
7368         * gst/gstevent.h:
7369           remove wrong docs
7370         * gst/gstutils.c: (gst_element_link_filtered):
7371         * gst/gstutils.h:
7372           add gst_element_link_filtered
7373
7374 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7375
7376         * docs/gst/gstreamer-docs.sgml:
7377         * docs/gst/gstreamer-sections.txt:
7378         * docs/gst/tmpl/.cvsignore:
7379         * docs/gst/tmpl/gsterror.sgml:
7380         * docs/gst/tmpl/gstfilter.sgml:
7381         * docs/gst/tmpl/gsturihandler.sgml:
7382         * docs/gst/tmpl/gsturitype.sgml:
7383         * docs/gst/tmpl/gstutils.sgml:
7384         * docs/gst/tmpl/gstxml.sgml:
7385         * gst/gsterror.c:
7386         * gst/gsterror.h:
7387         * gst/gstfilter.c:
7388         * gst/gsturi.c:
7389         * gst/gsturitype.c:
7390         * gst/gstutils.c:
7391         * gst/gstxml.c:
7392           inlined more docs, fixed double id-ref
7393
7394 2005-08-31  Wim Taymans  <wim@fluendo.com>
7395
7396         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7397         (gst_base_transform_handle_buffer):
7398         Passthrough elements don't need the caps as they don't care.
7399
7400 2005-08-31  Wim Taymans  <wim@fluendo.com>
7401
7402         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7403         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7404         Don't leak refcounts on buffers.
7405
7406 2005-08-31  Wim Taymans  <wim@fluendo.com>
7407
7408         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7409         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7410         (gst_base_transform_chain), (gst_base_transform_change_state):
7411         * gst/base/gstbasetransform.h:
7412         Handle the case where we are not negotiated more gracefully.
7413
7414 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7415
7416         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7417         (gst_file_src_map_region):
7418           Set READONLY flag on mmap'ed buffers, otherwise
7419           gst_buffer_make_writable() won't work properly (#314708).
7420
7421 2005-08-31  Wim Taymans  <wim@fluendo.com>
7422
7423         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7424         passthrough elements can even do inplace on non writable
7425         buffers (as they don't touch them).
7426
7427 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7430         (gst_test_mono_source_set_property),
7431         (gst_test_mono_source_class_init), (GST_START_TEST),
7432         (gst_controller_suite):
7433           more tests (hehe I have the most)
7434         * gst/gstbus.c:
7435           describe popping messages whenusing mulltiple sources
7436         * libs/gst/controller/gst-controller.c:
7437         (gst_controlled_property_set_interpolation_mode),
7438         (gst_controlled_property_new):
7439         * libs/gst/controller/gst-controller.h:
7440         * libs/gst/controller/gst-interpolation.c:
7441           implement boolean properties
7442
7443 2005-08-31  Wim Taymans  <wim@fluendo.com>
7444
7445         * gst/gstminiobject.c: (gst_mini_object_ref):
7446         Cannot assert that the refcount has to be positive
7447         since a disposed object can be resurrected.
7448
7449 2005-08-31  Wim Taymans  <wim@fluendo.com>
7450
7451         * gst/gstpad.c: (gst_pad_init):
7452         Revert change, need to first fix badly behaving 
7453         apps.
7454
7455 2005-08-30  Wim Taymans  <wim@fluendo.com>
7456
7457         * check/elements/fakesrc.c: (setup_fakesrc):
7458         * check/elements/identity.c: (setup_identity):
7459         Activate pads before using them.
7460
7461 2005-08-30  Wim Taymans  <wim@fluendo.com>
7462
7463         * gst/base/gstadapter.c: (gst_adapter_flush):
7464         Flushing out 0 bytes is ok for this function.
7465
7466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7467         no newsegment gives a warning and sets the start/stop to 
7468         invalid.
7469
7470         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7471         (gst_base_transform_set_passthrough):
7472         Some debug info.
7473
7474         * gst/gstminiobject.c: (gst_mini_object_ref):
7475         Check refcount here too.
7476
7477         * gst/gstpad.c: (gst_pad_init):
7478         Pads are initially flushing and refusing data.
7479
7480         * gst/gstutils.c: (gst_element_link_pads_filtered):
7481         When adding a capsfilter element make sure it has the
7482         same state as the parent bin.
7483
7484 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7485
7486         * docs/gst/tmpl/.cvsignore:
7487         * docs/gst/tmpl/gstformat.sgml:
7488         * docs/gst/tmpl/gstversion.sgml:
7489         * gst/gstbus.h:
7490         * gst/gstformat.c:
7491         * gst/gstformat.h:
7492         * gst/gstversion.h.in:
7493           more docs and two more inlined
7494
7495 2005-08-30  Wim Taymans  <wim@fluendo.com>
7496
7497         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7498         Don't sync to clock.
7499
7500 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * docs/gst/gstreamer-sections.txt:
7503           ultral33t func10ns deserve to appear in the docs actually
7504         * docs/gst/tmpl/.cvsignore:
7505         * docs/gst/tmpl/gstcompat.sgml:
7506         * docs/gst/tmpl/gstconfig.sgml:
7507         * gst/check/gstcheck.c:
7508         * gst/gstcompat.h:
7509         * gst/gstconfig.h.in:
7510           inlined more docs
7511
7512 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7513
7514         * docs/gst/tmpl/.cvsignore:
7515         * docs/gst/tmpl/gstquery.sgml:
7516         * docs/gst/tmpl/gstutils.sgml:
7517         * gst/gstquery.c:
7518         * gst/gstquery.h:
7519           inlined and extended docs
7520
7521 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * check/gst-libs/controller.c: (GST_START_TEST),
7524         (gst_controller_suite):
7525           more tests
7526         * docs/gst/tmpl/gstutils.sgml:
7527         * docs/libs/gstreamer-libs-sections.txt:
7528         * docs/libs/tmpl/gstdataprotocol.sgml:
7529           include path fixes
7530         * examples/controller/audio-example.c: (main):
7531           controller example works now
7532         * gst/gstclock.h:
7533           doc fixes
7534         * tools/gst-inspect.c: (print_element_properties_info):
7535           show param spec flags
7536
7537 2005-08-29  Andy Wingo  <wingo@pobox.com>
7538
7539         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7540
7541 2005-08-28  Andy Wingo  <wingo@pobox.com>
7542
7543         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7544         as having two arguments instead of just one. Allows superclasses
7545         to access information on subclasses -- see the terrible for() loop
7546         in gtype.c:g_type_create_instance for the reason why. All callers
7547         changed.
7548
7549 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7550
7551         * docs/design/part-messages.txt:
7552           update info
7553         * docs/gst/tmpl/.cvsignore:
7554         * docs/gst/tmpl/gstcaps.sgml:
7555         * docs/gst/tmpl/gstclock.sgml:
7556         * gst/gstbus.c:
7557         * gst/gstcaps.c:
7558         * gst/gstcaps.h:
7559         * gst/gstclock.c:
7560         * gst/gstclock.h:
7561         * gst/gstmessage.c:
7562           added descriptions for bus and message
7563           inline caps and clock docs
7564
7565 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7566
7567         * gst/gstmessage.c:
7568         * gst/gstmessage.h:
7569           doc fixes
7570
7571 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7572
7573         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7574           fix div-by-zero
7575
7576 2005-08-26  Andy Wingo  <wingo@pobox.com>
7577
7578         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7579         element_set_state's return val.
7580         (test_2_elements): Add test that's been disabled for months.
7581
7582         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7583         can-activate-pull properties.
7584
7585         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7586         can-activate-pull properties. Implement is_seekable so fakesrc can
7587         operate in pull mode.
7588
7589         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7590         properties.
7591         (gst_base_sink_activate, gst_base_sink_activate_pull)
7592         (gst_base_sink_activate_push): Make activation mode choosing work.
7593         Cleanups.
7594         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7595         is right. Make pull mode work. Post an eos before pausing in pull
7596         mode.
7597         (gst_base_sink_change_state): Pay attention to the core's
7598         change_state() return val.
7599         
7600         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7601         has-getrange properties. Cleanups.
7602         
7603         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7604         has_getrange and replace with can_activate_pull and
7605         can_activate_push.
7606
7607         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7608         locking comments. Remove has_loop, has_chain and replace with
7609         can_activate_pull and can_activate_push.
7610
7611 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7612
7613         * configure.ac:
7614         * examples/Makefile.am:
7615         * examples/metadata/Makefile.am:
7616         * examples/metadata/read-metadata.c: (message_loop),
7617         (have_pad_handler), (make_pipeline), (print_tag), (main):
7618           Add metadata reading example that loops over a list of filenames,
7619           dumping any tags found.
7620
7621         * gst/gstbus.c: (gst_bus_dispose):
7622         * gst/gstelement.c: (gst_element_dispose):
7623           Release a few potentially-held references in dispose.
7624
7625 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * docs/gst/tmpl/gstminiobject.sgml:
7628           do *not* add tmpl/*.sgml files to CVS!
7629
7630 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7631
7632         * libs/gst/bytestream/.cvsignore:
7633         * libs/gst/bytestream/Makefile.am:
7634         * libs/gst/bytestream/adapter.c:
7635         * libs/gst/bytestream/adapter.h:
7636         * libs/gst/bytestream/bytestream.c:
7637         * libs/gst/bytestream/bytestream.h:
7638         * libs/gst/bytestream/filepad.c:
7639         * libs/gst/bytestream/filepad.h:
7640           removing obsolete files
7641
7642 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7643
7644         * docs/gst/gstreamer-docs.sgml:
7645         * docs/libs/gstreamer-libs-docs.sgml:
7646           disabed additional index entries again, as this makes docs-gen just
7647           slow and they aren't useful yet
7648         * docs/libs/gstreamer-libs-sections.txt:
7649           little -section.txt cleanup for libs
7650
7651 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7654         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7655           fix up some debugging
7656         (gst_base_transform_get_unit_size),
7657         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7658         (gst_base_transform_handle_buffer):
7659         * gst/base/gstbasetransform.h:
7660           handle and store timed NEWSEGMENT events so that subclasses that
7661           calculate time by counting samples have a segment_start time they
7662           need to add to their timestamps - see audioresample
7663
7664 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7665
7666         * gst/gstbin.h:
7667           removed ';' from the end of macro defs
7668         * docs/gst/gstreamer-docs.sgml:
7669         * docs/gst/gstreamer-sections.txt:
7670         * docs/gst/tmpl/.cvsignore:
7671         * gst/gstbus.h:
7672         * gst/gstelement.c: (gst_element_class_init),
7673         (gst_element_set_state), (activate_pads),
7674         (gst_element_save_thyself):
7675         * gst/gstevent.c: (gst_event_new_newsegment):
7676         * gst/gstevent.h:
7677         * gst/gstiterator.c:
7678         * gst/gstiterator.h:
7679         * gst/gstpad.c:
7680         * gst/gstprobe.h:
7681         * gst/gstutils.c: (gst_pad_query_convert):
7682         * gst/gstutils.h:
7683           fixed parameter name mismatches between source, header and docs
7684           added some more docs, resolved the last batch of unused elements in
7685           docs (now someone needs to doc them)
7686
7687 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7690         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7691           don't walk through the plugins backwards.  Where is all this
7692           reversed logic coming from ?
7693
7694 2005-08-25  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7697         (gst_base_transform_transform_size),
7698         (gst_base_transform_configure_caps),
7699         (gst_base_transform_get_unit_size),
7700         (gst_base_transform_buffer_alloc),
7701         (gst_base_transform_change_state):
7702         * gst/base/gstbasetransform.h:
7703         Cache caps unit_size.
7704         Make sure we cannot negotiate up and downstream at the
7705         same time.
7706
7707 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7708
7709         * gst/gst.c: (init_pre), (init_post):
7710           register the installed plugin path after the env var
7711         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7712         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7713           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7714           directories, so the tests can prefer uninstalled over installed
7715
7716 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7717
7718         * gst/base/gstbasetransform.h:
7719           comment
7720         * gst/gstpad.c:
7721           add to docs
7722
7723 2005-08-25  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/gstbin.c: (bin_bus_handler):
7726         Be a bit more conservative about the posted message.
7727         
7728         * gst/gstbus.c: (gst_bus_post):
7729         Some cleanups, warn wrong return values.
7730
7731 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7732
7733         * check/gst/gstbin.c: (GST_START_TEST):
7734         * gst/gstbin.c: (bin_bus_handler):
7735         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7736         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7737         (gst_message_new_warning), (gst_message_new_tag),
7738         (gst_message_new_state_changed), (gst_message_new_segment_start),
7739         (gst_message_new_segment_done), (gst_message_new_custom):
7740         * gst/gstmessage.h:
7741         * tools/gst-launch.c: (event_loop):
7742         * tools/gst-md5sum.c: (event_loop):
7743           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7744
7745 2005-08-25  Wim Taymans  <wim@fluendo.com>
7746
7747         * check/generic/states.c: (GST_START_TEST):
7748         Cleanup can be done at the end.
7749
7750         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7751         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7752         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7753         Oh boy.. Thanks for finding this, Thomas. 
7754
7755 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7756
7757         * docs/gst/gstreamer.types:
7758           added missing types
7759
7760 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7761
7762         * docs/gst/gstreamer-docs.sgml:
7763         * docs/gst/gstreamer-sections.txt:
7764         * docs/gst/tmpl/.cvsignore:
7765         * gst/gstbin.c:
7766         * gst/gstiterator.c:
7767         * gst/gstutils.c:
7768         * gst/registries/gstxmlregistry.h:
7769           added missing classes and symbols (123 more to go)
7770           removed removed symbols from section file
7771           fixed many doc-comments
7772
7773 2005-08-24  Wim Taymans  <wim@fluendo.com>
7774
7775         * check/generic/states.c: (GST_START_TEST):
7776         Make sure all tasks are stopped.
7777
7778         * check/gst/gstbin.c: (GST_START_TEST):
7779         Unref after usage for proper valgrinding.
7780
7781         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7782         Really wait for the task to stop before destroying the
7783         mutex.
7784
7785         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7786         (gst_queue_src_activate_push):
7787         Small cleanups. Don't stop the task when we did not start
7788         it.
7789
7790         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7791         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7792         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7793         (gst_task_join):
7794         * gst/gsttask.h:
7795         Protect the stream lock with the object lock.
7796         Disallow setting the stream lock when running.
7797         Add cleanup_all to wait for the threadpool to finish.
7798         Remove code to autoallocate a mutex if none was provided.
7799         Add _join() to wait for a task to stop.
7800         Protect the thread pool with a global lock.
7801
7802 2005-08-24  Wim Taymans  <wim@fluendo.com>
7803
7804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7805         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7806         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7807         * gst/base/gstbasesink.h:
7808         Handle newsegment events correctly.
7809         Drop buffers out of the segment range.
7810
7811 2005-08-22  Andy Wingo  <wingo@pobox.com>
7812
7813         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7814         macro, implements an interface and gstimplementsinterface for a
7815         new type.
7816
7817 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * check/Makefile.am:
7820         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7821           add a test that does a bunch of state changes on elements
7822           needs some fixing for valgrind
7823         * check/states/sinks.c: (gst_object_suite):
7824           whitespace
7825         * gst/gstcaps.h:
7826           add prototype for gst_caps_is_equal_fixed
7827         * gst/gstplugin.c:
7828         * gst/gstregistrypool.c:
7829           doc fixes
7830
7831 2005-08-24  Andy Wingo  <wingo@pobox.com>
7832
7833         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7834         convert a negative value. Doesn't make much sense. Mostly this is
7835         here to force callers to ensure -1 maps to -1.
7836
7837 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7838
7839         * docs/pwg/advanced-types.xml:
7840           Well done to Michael for catching my deliberate introduction
7841           of this spelling mistake. 
7842         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7843         * gst/gstelement.h:
7844           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7845           unlink pads before removing the element from the bin.
7846
7847 2005-08-24  Andy Wingo  <wingo@pobox.com>
7848
7849         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7850         the same thing as GST_DEBUG=*:4.
7851         (parse_debug_level, parse_debug_category): New helper parsers.
7852
7853 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7854
7855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7856         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7857         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7858         (gst_base_transform_buffer_alloc),
7859         (gst_base_transform_handle_buffer):
7860           use gboolean return values and pointers to size so we can use the
7861           full GST_BUFFER_SIZE range (guint) for buffer sizes
7862           use GstPadDirection for transform_caps
7863         * gst/base/gstbasetransform.h:
7864           rename get_size to get_unit_size since that's what it is
7865         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7866           use GstPadDirection for transform_caps
7867         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7868         * gst/gstutils.h:
7869           cleanup and debugging
7870
7871 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7872
7873         * gst/gstelement.c: (gst_element_class_init),
7874         (gst_element_set_state), (activate_pads),
7875         (gst_element_save_thyself):
7876         * tools/gst-compprep.c: (main):
7877         * tools/gst-inspect.c: (print_element_properties_info):
7878         * tools/gst-xmlinspect.c: (print_element_properties):
7879           Fixed long standing mem-leak
7880
7881 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7882
7883         * check/gst/gstbin.c: (GST_START_TEST):
7884         * gst/gstbin.c: (bin_bus_handler):
7885         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7886         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7887         (gst_message_new_warning), (gst_message_new_tag),
7888         (gst_message_new_state_changed), (gst_message_new_segment_start),
7889         (gst_message_new_segment_done), (gst_message_new_custom):
7890         * gst/gstmessage.h:
7891         * tools/gst-launch.c: (event_loop):
7892         * tools/gst-md5sum.c: (event_loop):
7893           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7894           that applications can sensibly post custom messages with references
7895           to their own objects.
7896
7897 2005-08-24  Andy Wingo  <wingo@pobox.com>
7898
7899         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7900         already.
7901
7902 2005-08-24  Wim Taymans  <wim@fluendo.com>
7903
7904         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7905         (gst_base_transform_transform_caps),
7906         (gst_base_transform_transform_size),
7907         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7908         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7909         (gst_base_transform_handle_buffer):
7910         * gst/base/gstbasetransform.h:
7911         Many fixes and new features added by Thomas. Can now also do
7912         transforms with variable sizes and a custom fixate_caps function.
7913
7914 2005-08-24  Wim Taymans  <wim@fluendo.com>
7915
7916         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7917         Some debugging.
7918
7919         * gst/gstclock.h:
7920         Cast to ClockTime before formatting to time.
7921
7922         * gst/gstutils.h:
7923         Cleanups.
7924
7925 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7926
7927         * check/gst-libs/controller.c: (GST_START_TEST),
7928         (gst_controller_suite):
7929         * docs/gst/tmpl/gstcaps.sgml:
7930         * docs/gst/tmpl/gstghostpad.sgml:
7931         * docs/gst/tmpl/gstquery.sgml:
7932         * docs/gst/tmpl/gstutils.sgml:
7933         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7934         (gst_object_sink_values), (gst_object_get_value_arrays),
7935         (gst_object_get_value_array):
7936           gracefully handle helper method calls to objects that are not beeing
7937           controlled, added test case for that          
7938
7939 2005-08-23  Wim Taymans  <wim@fluendo.com>
7940
7941         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7942         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7943         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7944         (gst_event_parse_qos), (gst_event_new_seek),
7945         (gst_event_parse_seek):
7946         * gst/gstevent.h:
7947         Some more debugging output and doc cleanups.
7948
7949         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7950         Fix possible deadlock.
7951
7952 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7953
7954         * docs/gst/gstreamer-docs.sgml:
7955         * docs/gst/gstreamer-sections.txt:
7956         * docs/gst/gstreamer.types:
7957         * docs/gst/tmpl/.cvsignore:
7958         * gst/gstbin.h:
7959         * gst/gstbus.c:
7960         * gst/gstelement.c:
7961         * gst/gstevent.h:
7962           added 100 symbols from gstreamer-unused.txt to the right sections
7963           fixed more broken comments
7964           added GstBus to docs
7965
7966 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7967
7968         * docs/gst/gstreamer-sections.txt:
7969         * docs/gst/tmpl/.cvsignore:
7970         * docs/gst/tmpl/gstbin.sgml:
7971         * docs/gst/tmpl/gstbuffer.sgml:
7972         * gst/base/gstbasesrc.c:
7973         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7974         * gst/gstbuffer.c:
7975         * gst/gstbuffer.h:
7976         * tools/gst-launch.1.in:
7977           inlined more doc comments, added missing comments and fixed comments
7978           fixed typos
7979
7980 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7981
7982         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7983           some debugging
7984         * gst/gstcaps.h:
7985           whitespace fixes
7986         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7987           more debugging
7988         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7989         * gst/gststructure.h:
7990           add a fixate function for booleans; add a FIXME that these func
7991           names should probably be gst_structure_fixate_*
7992
7993 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7994
7995         * docs/gst/gstreamer-docs.sgml:
7996         * docs/gst/gstreamer-sections.txt:
7997         * gst/Makefile.am:
7998         * gst/gstbin.c: (gst_bin_get_type),
7999         (gst_bin_child_proxy_get_child_by_index),
8000         (gst_bin_child_proxy_get_children_count),
8001         (gst_bin_child_proxy_init):
8002         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8003         (gst_child_proxy_get_child_by_index),
8004         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8005         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8006         (gst_child_proxy_get), (gst_child_proxy_set_property),
8007         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8008         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8009         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8010         * gst/gstchildproxy.h:
8011         * gst/parse/grammar.y:
8012         * tools/gst-inspect.c: (print_interfaces),
8013         (print_element_properties_info), (print_element_info):
8014           ported gstchildproxy over from 0.8
8015           ported gst-inspect fixes and enhancements over from 0.8
8016
8017 2005-08-22  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8020         (gst_base_transform_handle_buffer):
8021         Also call the transform function if we have ANY caps.
8022
8023         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8024         Fix debug info.
8025
8026 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8027
8028         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8029           Don't pretend to handle seek events if the source is not seekable
8030
8031 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8032
8033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8034           Remove extra parameter to debug output
8035
8036         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8037         (gst_base_src_do_seek), (gst_base_src_activate_push):
8038           Fix seek event handling.
8039
8040         * gst/gstpipeline.c: (gst_pipeline_change_state):
8041         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8042         (gst_queue_src_activate_push):
8043           Don't start the src pad task on FLUSH_STOP if the pad
8044           isn't linked.
8045           Debug changes.
8046
8047 2005-08-22  Wim Taymans  <wim@fluendo.com>
8048
8049         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8050         Added check for gst_static_caps_get() refcounting.
8051
8052 2005-08-22  Wim Taymans  <wim@fluendo.com>
8053
8054         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8055         Make _static_caps_get() refcounting sane.
8056         
8057         * gst/gstelement.c: (gst_element_set_state):
8058         Add g_return_val_if_fail() to protect against segfaults.
8059
8060 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8061
8062         * docs/gst/tmpl/gstevent.sgml:
8063         * gst/gstevent.c:
8064         * gst/gstevent.h:
8065           inlined remaining docs, added missing doc comments
8066
8067 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8068
8069         * check/gst/gstbin.c: (GST_START_TEST):
8070           since we don't know when preroll is done, use refcount range
8071           check for the sink
8072         * gst/check/gstcheck.h:
8073           add macro for checking refcount range
8074
8075 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         * check/Makefile.am:
8078           clean up environment for when registry gets built versus
8079           when actual tests are run; valgrind seems to not report
8080           leaks if GST_PLUGIN_PATH is set to some specific values
8081         * check/gst/gstbin.c: (GST_START_TEST):
8082           add more refcounting checks; maybe this exposes a
8083           preroll lock bug ?
8084         * common/check.mak:
8085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8086         * gst/check/gstcheck.h:
8087         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8088         (gst_bin_change_state):
8089         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8090           add/fix debugging/whitespace
8091
8092 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8093
8094         * check/gst/gstevent.c: (event_probe), (test_event),
8095         (GST_START_TEST):
8096          Er, don't call gst_bin_watch_for_state_change you idiot.
8097
8098 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8099
8100         * check/Makefile.am:
8101           Use CHECK_CFLAGS and CHECK_LIBS
8102         * check/gst/gstevent.c: (event_probe), (test_event),
8103         (GST_START_TEST):
8104           Don't leak events.
8105         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8106         (gst_base_src_start), (gst_base_src_stop),
8107         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8108         (gst_base_src_change_state):
8109           Sprinkle gst_base_src_stop liberally around error paths to fix
8110           problems reusing a source after failed state changes.
8111         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8112         (helper_find_suggest), (gst_type_find_helper):
8113           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8114         * gst/gstevent.h:
8115         * docs/gst/tmpl/gstevent.sgml:
8116           Migrate part of the docs from the SGML file. Wait for ensonic to
8117           tell me how I did it wrong ;)
8118         * tools/gst-typefind.c: (main):
8119           Extra robustness to state changes between files.
8120
8121 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * check/Makefile.am:
8124           don't valgrind the controller test - it's leaking - Stefan, HELP
8125         * gst/check/gstcheck.c: (gst_check_message_error),
8126         (gst_check_chain_func), (gst_check_setup_element),
8127         (gst_check_teardown_element), (gst_check_setup_src_pad),
8128         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8129         (gst_check_teardown_sink_pad):
8130         * gst/check/gstcheck.h:
8131           add a bunch of methods to set up elements, and src and sink pads
8132         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8133         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8134         (GST_START_TEST):
8135           use them
8136         * gst/gstmessage.c:
8137         * gst/gsttag.h:
8138           whitespace/doc fixes
8139
8140 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * gst/gstelement.h:
8143           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8144           be handled by the application and not always printed as well
8145
8146 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8147
8148         * check/Makefile.am:
8149           set GST_TOOLS_DIR
8150         * gst/check/gstcheck.c: (gst_check_message_error):
8151         * gst/check/gstcheck.h:
8152           add a fail_unless_equals_int
8153           add fail_unless for error messages
8154
8155 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8156
8157         * check/Makefile.am:
8158         * check/gst.supp:
8159         * common/Makefile.am:
8160         * common/check.mak:
8161         * common/gst.supp:
8162           factor out some of the common stuff so we can use it
8163
8164 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * check/Makefile.am:
8167         * check/gst/gstiterator.c: (GST_START_TEST):
8168         * check/gst/gstsystemclock.c: (GST_START_TEST),
8169         (gst_systemclock_suite):
8170         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8171         * gst/gstclock.c:
8172           valgrind more tests
8173
8174 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * check/elements/.cvsignore:
8177         * check/elements/gstfakesrc.c:
8178           rename to name of element
8179         * check/elements/identity.c: (chain_func), (event_func),
8180         (setup_identity), (cleanup_identity), (GST_START_TEST),
8181         (identity_suite), (main):
8182           add a test for identity
8183         * check/Makefile.am:
8184         * pkgconfig/Makefile.am:
8185         * pkgconfig/gstreamer-check.pc.in:
8186         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8187         * gst/check:
8188         * gst/Makefile.am:
8189         * configure.ac:
8190           move the check stuff to a library that gets installed
8191         * check/gst-libs/controller.c: (GST_START_TEST):
8192         * check/gst-libs/gdp.c:
8193         * check/gst/gst.c: (GST_START_TEST):
8194         * check/gst/gstbin.c:
8195         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8196         * check/gst/gstbus.c:
8197         * check/gst/gstcaps.c: (GST_START_TEST):
8198         * check/gst/gstelement.c:
8199         * check/gst/gstghostpad.c:
8200         * check/gst/gstiterator.c:
8201         * check/gst/gstmessage.c:
8202         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8203         * check/gst/gstobject.c:
8204         * check/gst/gstpad.c: (GST_START_TEST):
8205         * check/gst/gststructure.c: (GST_START_TEST):
8206         * check/gst/gstsystemclock.c: (GST_START_TEST),
8207         (gst_systemclock_suite):
8208         * check/gst/gsttag.c: (gst_tag_suite):
8209         * check/gst/gstvalue.c:
8210         * check/pipelines/cleanup.c:
8211         * check/pipelines/simple_launch_lines.c:
8212         * check/states/sinks.c:
8213           change include statement
8214
8215         * docs/gst/gstreamer-sections.txt:
8216         * docs/gst/tmpl/gstpad.sgml:
8217           document more pad stuff
8218         * gst/gstminiobject.c: (gst_mini_object_ref),
8219         (gst_mini_object_unref):
8220           debug refcounting
8221
8222 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8223
8224         * docs/gst/tmpl/gst.sgml:
8225         * gst/gst.c:
8226           eliminate another tmpl file, fix spelling in the long-description
8227
8228 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8229
8230         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8231         (test_event), (timediff), (gstevents_suite):
8232           Should fix build on 64-bit arch's
8233
8234 2005-08-18  Andy Wingo  <wingo@pobox.com>
8235
8236         Make sure that when a pipeline goes to PLAYING, that data has
8237         actually hit the sink.
8238
8239         * check/states/sinks.c (test_sink): A sink that doesn't get any
8240         data shouldn't return SUCCESS for going to either PLAYING or
8241         PAUSED. Test also the return values on the way back down.
8242
8243         * gst/gstelement.c (gst_element_set_state): When changing the
8244         state of an element currently changing state asynchronously, go to
8245         lost-state after commiting the pending state. Makes future calls
8246         to get_state continue to return ASYNC.
8247
8248         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8249         ASYNC when going to PLAYING if we still don't have preroll, as can
8250         happen with live sources.
8251
8252 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8253
8254         * docs/pwg/advanced-types.xml:
8255           Hack long paragraph into 2 chunks as a workaround for buggy
8256           jadetex version in sid and breezy that loops infinitely and
8257           eats all RAM.
8258
8259 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8260
8261         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8262         (test_event), (timediff), (gstevents_suite):
8263           Provide more error margin in clock measurements to allow for 
8264           g_get_current_time inaccuracies.
8265
8266 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8267
8268         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8269         (test_event), (timediff), (gstevents_suite):
8270            Fix error message output so I might be able to tell why the
8271            test works here but fails on the build farm.
8272
8273 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8274
8275         * check/Makefile.am:
8276         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8277         (test_event), (timediff), (gstevents_suite), (main):
8278           I wrote a test!
8279
8280         * docs/design/part-seeking.txt:
8281           Spelling correction
8282
8283         * docs/gst/tmpl/gstevent.sgml:
8284         * docs/gst/tmpl/gstfakesrc.sgml:
8285           Docs updates.
8286
8287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8288           Treat a buffer-without-newsegment the same as a receiving 
8289           a newsegment not in time format, and disable syncing to the clock
8290           with a warning.
8291
8292         * gst/gstbus.c: (gst_bus_set_sync_handler):
8293           Assert if anyone tries to replace the existing sync_handler for bus, 
8294           as only the owner should be setting it.
8295
8296         * gst/gstevent.h:
8297           Have a fixed set of custom event enums with events identified by
8298           their structure name (as in 0.8), rather than a free-for-all
8299           allowing collisions between enum values from different plugins.
8300
8301         * gst/gstpad.c: (gst_pad_class_init):
8302           Docs change.
8303           
8304         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8305           Handle out-of-band downstream events from the sending thread.
8306
8307 2005-08-17  Andy Wingo  <wingo@pobox.com>
8308
8309         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8310         play-timeout==0 to mean no timeout at all. In that case, don't
8311         bother with a get_state or a warning, just return directly, even
8312         if it's ASYNC.
8313
8314         * gst/base/gstbasetransform.c: Debug changes.
8315
8316         * gst/gstutils.h:
8317         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8318         ensure bins post state change messages. A bit of a hack but I can't
8319         think of a way to avoid it.
8320
8321         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8322
8323 2005-08-16  Andy Wingo  <wingo@pobox.com>
8324
8325         * gst/base/gstadapter.h:
8326         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8327         peek() but you own the data. Not terribly efficient atm.
8328
8329 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8330
8331         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8332         (gst_element_found_tags):
8333         * gst/gstutils.h:
8334           Add two utility functions for tag handling.
8335
8336 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8337
8338         * docs/manual/advanced-dataaccess.xml:
8339         * docs/manual/basics-helloworld.xml:
8340           Fix docs to use _bin_add() before _link(), which fixes the examples
8341           with recent core versions (reported by Madhan Raj M
8342           <raj_madan@rediffmail.com>, #313199).
8343
8344 2005-08-16  Wim Taymans  <wim@fluendo.com>
8345
8346         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8347         Added subtract checks.
8348
8349         * docs/design/part-events.txt:
8350         Some more docs about newsegment
8351
8352         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8353         Fix FIXME
8354
8355         * gst/gstcaps.c: (gst_caps_to_string):
8356         Add comments, cleanups.
8357         
8358         * gst/gstelement.c: (gst_element_save_thyself):
8359         cleanups
8360         
8361         * gst/gstvalue.c: (gst_value_collect_int_range),
8362         (gst_string_unwrap), (gst_value_union_int_int_range),
8363         (gst_value_union_int_range_int_range),
8364         (gst_value_intersect_int_int_range),
8365         (gst_value_intersect_int_range_int_range),
8366         (gst_value_intersect_double_double_range),
8367         (gst_value_intersect_double_range_double_range),
8368         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8369         (gst_value_subtract_int_range_int),
8370         (gst_value_subtract_double_range_double),
8371         (gst_value_subtract_double_range_double_range),
8372         (gst_value_subtract_from_list), (gst_value_subtract_list),
8373         (gst_value_can_compare), (gst_value_compare_fraction):
8374         Cleanups, add comments, remove unneeded asserts.
8375
8376 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8377
8378         * tools/gst-launch.c: (event_loop):
8379           don't convert NULL structures to strings
8380
8381 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8382
8383         * docs/gst/gstreamer-sections.txt:
8384           made some defines private
8385         * docs/gst/tmpl/gstconfig.sgml:
8386         * docs/gst/tmpl/gstqueue.sgml:
8387         * docs/gst/tmpl/gsttaglist.sgml:
8388         * docs/gst/tmpl/gsttypes.sgml:
8389         * docs/gst/tmpl/gstutils.sgml:
8390         * docs/pwg/appendix-porting.xml:
8391         * gst/base/gstbasesink.h:
8392         * gst/base/gstbasesrc.c:
8393         * gst/base/gstbasesrc.h:
8394         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8395         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8396         * gst/gstelement.c: (gst_element_class_init):
8397         * gst/gstpad.c: (gst_pad_class_init):
8398         * gst/gstqueue.c: (gst_queue_class_init):
8399         * gst/gstxml.c: (gst_xml_class_init):
8400           documented all undocumented signal inline
8401         * libs/gst/controller/gst-controller.h:
8402           added padding
8403
8404 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8405
8406         * docs/pwg/appendix-porting.xml:
8407           Document _set_link_function -> _set_setcaps_function.
8408
8409 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * check/Makefile.am:
8412           add a .check target for running the check
8413         * check/gst-libs/controller.c: (GST_START_TEST):
8414           cosmetic fixups
8415         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8416           complete checks for gstbuffer; would be nice if I could get the
8417           gcov stuff to work so I can see if I actually completed gstbuffer.c
8418         * check/gstcheck.h:
8419           add ASSERT_BUFFER_REFCOUNT
8420
8421 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8422
8423         * docs/gst/gstreamer-sections.txt:
8424         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8425         * gst/gsttag.h:
8426           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8427           spew out a warning if a tag that is already registered
8428           is re-registered, unless it is re-registered with a 
8429           different type (#308438).
8430
8431 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8432
8433         * docs/pwg/appendix-porting.xml:
8434         * docs/pwg/building-state.xml:
8435           Add some paragraphs about state changes in 0.9 to the PWG
8436           and the porting guide, in particular about the new meaning
8437           of GST_STATE_PAUSED and how to write state change functions
8438           with concurrent access by multiple threads in mind.
8439
8440 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8441
8442         * docs/gst/gstreamer-docs.sgml:
8443         * docs/libs/gstreamer-libs-docs.sgml:
8444           added deprecation and since indexes
8445         * libs/gst/controller/gst-controller.c:
8446         * libs/gst/controller/gst-helper.c:
8447           added since tags
8448
8449
8450 2005-08-11  Wim Taymans  <wim@fluendo.com>
8451
8452         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8453         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8454         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8455         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8456         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8457         (gst_ghost_pad_set_target):
8458         Actually implement (re)setting the target on a ghostpad
8459         as described in the docs.
8460
8461 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8464           Check whether GST_DEBUG_NO_COLOR environment variable is
8465           set and disable coloured debug output if that is the case.
8466
8467 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8468
8469         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8470         (gst_type_find_helper):
8471           The memory returned by gst_type_find_peek() needs to
8472           stay valid until the end of a typefind function, and
8473           typefind functions may keep results from different 
8474           offsets around, so we can't just unref the buffer from
8475           the previous _peek(), but have to save all buffers 
8476           returned by _peek() until typefinding is done and only
8477           free them then.
8478
8479 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8480
8481         * docs/gst/gstreamer-sections.txt:
8482         * gst/gstutils.h:
8483           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8484
8485 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8486
8487         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8488           Fix a pretty good memleak.
8489
8490 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8491
8492         * gst/gstiterator.h:
8493           Fix wrong include and 'make distcheck'.
8494
8495 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8496
8497         * gst/gstbin.c: (bin_bus_handler):
8498           Use gst_element_post_message() instead.
8499
8500 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8501
8502         * gst/base/gstadapter.h:
8503         * gst/base/gstbasesink.h:
8504         * gst/base/gstbasesrc.h:
8505         * gst/base/gstbasetransform.h:
8506         * gst/base/gstcollectpads.h:
8507         * gst/base/gstpushsrc.h:
8508         * gst/gstiterator.h:
8509           Add padding to our base elements' class and instance structs and
8510           to GstIterator (you will need to rebuild all plugins and apps!)
8511
8512 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8513
8514         * gst/gstbin.c: (bin_bus_handler):
8515           Make default message forwarding from child->bus to bin->bus
8516           threadsafe and make it not emit warnings if the parent has no bus.
8517
8518 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8519
8520         * gst/gstelement.c: (activate_pads):
8521           On paused->ready, set pad->caps to NULL, as is the documented
8522           behaviour in this state change. Fixes playback of series of
8523           media files when visualization is enabled in Totem.
8524
8525 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8526
8527         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8528           Allow NULL as filter-caps (which means "any").
8529
8530 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8531
8532         * docs/libs/gstreamer-libs-sections.txt:
8533         * libs/gst/controller/gst-controller.c:
8534         * libs/gst/controller/gst-controller.h:
8535         * libs/gst/controller/gst-helper.c:
8536           adding more entries to the docs and fix small doc-bugs
8537
8538 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8539
8540         * docs/gst/gstreamer-docs.sgml:
8541         * docs/gst/gstreamer-sections.txt:
8542         * docs/gst/gstreamer.types:
8543         * docs/gst/tmpl/gstbasesink.sgml:
8544         * docs/gst/tmpl/gstbasesrc.sgml:
8545         * docs/gst/tmpl/gstbasetransform.sgml:
8546         * docs/gst/tmpl/gstfakesrc.sgml:
8547         * gst/base/gstcollectpads.c:
8548         * gst/base/gstcollectpads.h:
8549         * libs/gst/controller/gst-controller.c:
8550         * libs/gst/controller/gst-controller.h:
8551         * libs/gst/controller/gst-helper.c:
8552         * libs/gst/controller/gst-interpolation.c:
8553         * libs/gst/controller/lib.c:
8554           added long/short desc for controller docs
8555           added collectpads base class docs
8556           added correct includes to base-class docs
8557
8558 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8559
8560         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8561         (gst_test_mono_source_set_property),
8562         (gst_test_mono_source_class_init), (GST_START_TEST),
8563         (gst_controller_suite):
8564         * docs/gst/gstreamer-docs.sgml:
8565         * docs/gst/gstreamer-sections.txt:
8566         * docs/gst/gstreamer.types:
8567         * docs/libs/gstreamer-libs-docs.sgml:
8568         * docs/libs/gstreamer-libs-sections.txt:
8569         * gst/base/gstadapter.c:
8570         * libs/gst/controller/gst-controller.c:
8571         (gst_controlled_property_new), (gst_controlled_property_free),
8572         (gst_controller_new_valist),
8573         (gst_controller_remove_properties_valist),
8574         (gst_controller_sink_values), (_gst_controller_finalize):
8575         * libs/gst/controller/gst-controller.h:
8576         * libs/gst/controller/gst-helper.c:
8577         (gst_object_control_properties), (gst_object_uncontrol_properties),
8578         (gst_object_get_controller), (gst_object_set_controller),
8579         (gst_object_sink_values), (gst_object_get_value_arrays),
8580         (gst_object_get_value_array):
8581           more tests (and fixes) for the controller
8582           more docs for the controller
8583           integrated companies docs for the adapter 
8584
8585 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8586
8587         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8588         (GST_START_TEST), (fakesrc_suite):
8589           add tests for sizetype
8590
8591 2005-08-04  Andy Wingo  <wingo@pobox.com>
8592
8593         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8594         fixes buffer_alloc proxying among other things.
8595
8596         * gst/base/gstbasetransform.c:
8597         * gst/base/gstbasetransform.h:
8598         Revert patch to gstbasetransform from 7-28 removing
8599         delay_configure.
8600
8601         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8602         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8603         Semantics changed, should return not the size of the output buffer
8604         but the byte size of a buffer with a given caps.
8605
8606         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8607         debug object.
8608         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8609         out) are not the pad caps until setcaps finishes.
8610         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8611         not-in-place case as well. Deal with changing from in-place to
8612         not-in-place within calling pad_alloc_buffer. Still a bit
8613         concerned about the overhead here...
8614
8615 2005-08-03  Andy Wingo  <wingo@pobox.com>
8616
8617         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8618         fixating is an error.
8619
8620 2005-08-04  Edward Hervey  <edward@fluendo.com>
8621
8622         * gst/base/gstadapter.h: 
8623         Added gst_adapter_get_type() to the header
8624
8625 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8626
8627         * check/Makefile.am:
8628         * check/gst-libs/controller.c:
8629         * libs/gst/controller/gst-controller.c:
8630         (gst_controller_new_valist):
8631           added check test suite for the controller
8632         * gst/base/gstpushsrc.c:
8633           fixed a doc typo
8634
8635 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8636
8637         * docs/gst/Makefile.am:
8638         * docs/gst/gstreamer-docs.sgml:
8639         * docs/gst/gstreamer-sections.txt:
8640         * docs/gst/gstreamer.types:
8641         * docs/gst/tmpl/gstfakesrc.sgml:
8642         * gst/base/README:
8643         * gst/base/gstbasesink.c:
8644         * gst/base/gstbasesink.h:
8645         * gst/base/gstbasesrc.c:
8646         * gst/base/gstbasesrc.h:
8647         * gst/base/gstbasetransform.c:
8648         * gst/base/gstpushsrc.c:
8649         * gst/base/gstpushsrc.h:
8650           add short/long description docs to base classes
8651           add pushsrc to the docs
8652           remove consolidated doc fragments
8653
8654 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8655
8656         * configure.ac:
8657         * docs/libs/Makefile.am:
8658         * docs/libs/gstreamer-libs-docs.sgml:
8659         * docs/libs/gstreamer-libs-sections.txt:
8660         * docs/libs/gstreamer-libs.types:
8661         * examples/Makefile.am:
8662         * examples/controller/.cvsignore:
8663         * examples/controller/Makefile.am:
8664         * examples/controller/audio-example.c: (main):
8665         * libs/gst/Makefile.am:
8666         * libs/gst/controller/.cvsignore:
8667         * libs/gst/controller/Makefile.am:
8668         * libs/gst/controller/gst-controller.c:
8669         (on_object_controlled_property_changed), (gst_timed_value_compare),
8670         (gst_timed_value_find),
8671         (gst_controlled_property_set_interpolation_mode),
8672         (gst_controlled_property_new), (gst_controlled_property_free),
8673         (gst_controller_find_controlled_property),
8674         (gst_controller_new_valist), (gst_controller_new),
8675         (gst_controller_remove_properties_valist),
8676         (gst_controller_remove_properties), (gst_controller_set),
8677         (gst_controller_set_from_list), (gst_controller_unset),
8678         (gst_controller_get), (gst_controller_get_all),
8679         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8680         (gst_controller_get_value_array),
8681         (gst_controller_set_interpolation_mode),
8682         (_gst_controller_finalize), (_gst_controller_init),
8683         (_gst_controller_class_init), (gst_controller_get_type):
8684         * libs/gst/controller/gst-controller.h:
8685         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8686         (g_object_uncontrol_properties), (g_object_get_controller),
8687         (g_object_set_controller), (g_object_sink_values),
8688         (g_object_get_value_arrays), (g_object_get_value_array):
8689         * libs/gst/controller/gst-interpolation.c:
8690         (gst_controlled_property_find_timed_value_node),
8691         (interpolate_none_get), (interpolate_trigger_get),
8692         (interpolate_trigger_get_value_array):
8693         * libs/gst/controller/lib.c: (gst_controller_init):
8694         * pkgconfig/Makefile.am:
8695         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8696         * pkgconfig/gstreamer-control.pc.in:
8697         * testsuite/Makefile.am:
8698         * testsuite/controller/.cvsignore:
8699         * testsuite/controller/Makefile.am:
8700         * testsuite/controller/interpolator.c: (main):
8701           added controller code
8702           removed dparam pc files
8703
8704 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8705         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8706         (gst_collectpads_stop):
8707           Broadcast the condition when shutting down, to make sure we wake all
8708           threads up. Shut down pads on finalize, for safety.
8709
8710 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8711         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8712         (gst_base_transform_handle_buffer),
8713         (gst_base_transform_change_state):
8714           Handle PAUSED->READY->PAUSED transition after negotiation
8715           occurred already.
8716         * gst/gstmessage.c: (gst_message_init):
8717           Extra piece of debug for new messages.
8718
8719 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8720
8721         * configure.ac:
8722         * docs/gst/tmpl/gstbasesrc.sgml:
8723         * docs/gst/tmpl/gstelement.sgml:
8724         * docs/gst/tmpl/gstevent.sgml:
8725         * docs/gst/tmpl/gstfakesrc.sgml:
8726         * docs/gst/tmpl/gstformat.sgml:
8727         * docs/gst/tmpl/gstghostpad.sgml:
8728         * docs/gst/tmpl/gstpad.sgml:
8729         * docs/gst/tmpl/gstquery.sgml:
8730         * docs/gst/tmpl/gststructure.sgml:
8731         * docs/gst/tmpl/gsttaglist.sgml:
8732         * docs/gst/tmpl/gstvalue.sgml:
8733         * docs/libs/gstreamer-libs-docs.sgml:
8734         * docs/libs/gstreamer-libs-sections.txt:
8735         * docs/libs/gstreamer-libs.types:
8736         * libs/gst/Makefile.am:
8737         * libs/gst/control/.cvsignore:
8738         * libs/gst/control/Makefile.am:
8739         * libs/gst/control/control.c:
8740         * libs/gst/control/control.h:
8741         * libs/gst/control/dparam.c:
8742         * libs/gst/control/dparam.h:
8743         * libs/gst/control/dparam_smooth.c:
8744         * libs/gst/control/dparam_smooth.h:
8745         * libs/gst/control/dparamcommon.h:
8746         * libs/gst/control/dparammanager.c:
8747         * libs/gst/control/dparammanager.h:
8748         * libs/gst/control/dplinearinterp.c:
8749         * libs/gst/control/dplinearinterp.h:
8750         * libs/gst/control/unitconvert.c:
8751         * libs/gst/control/unitconvert.h:
8752         * testsuite/Makefile.am:
8753         * testsuite/dynparams/.cvsignore:
8754         * testsuite/dynparams/Makefile.am:
8755         * testsuite/dynparams/dparamstest.c:
8756         * tools/Makefile.am:
8757         * tools/gst-inspect.c: (print_element_info), (main):
8758         * tools/gst-xmlinspect.c: (print_element_info), (main):
8759           deactivate and remove dparams (libgstcontrol)
8760
8761 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8762
8763         * gst/elements/gsttypefindelement.c:
8764         (gst_type_find_element_have_type), (gst_type_find_element_init),
8765         (stop_typefinding), (gst_type_find_element_handle_event),
8766         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8767         * gst/elements/gsttypefindelement.h:
8768           Set caps on all outgoing buffers, not just the first one.
8769
8770 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * gst/elements/gsttypefindelement.c:
8773         (gst_type_find_element_have_type),
8774         (gst_type_find_element_check_set_buffer_caps),
8775         (gst_type_find_element_init), (stop_typefinding),
8776         (gst_type_find_element_handle_event),
8777         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8778         * gst/elements/gsttypefindelement.h:
8779           Set caps on first outgoing buffer when we've found the type.
8780
8781 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8782
8783         * docs/gst/gstreamer-docs.sgml:
8784         * docs/gst/gstreamer-sections.txt:
8785         * docs/gst/tmpl/gstscheduler.sgml:
8786         * docs/gst/tmpl/gstschedulerfactory.sgml:
8787           Remove some old cruft from docs.
8788
8789 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8790
8791         * gst/gstpad.h:
8792           Fix inline docs for GstPadLinkReturn.
8793           
8794         * gst/gststructure.c: (gst_structure_has_name):
8795         * gst/gststructure.h:
8796         * docs/gst/gstreamer-sections.txt:
8797           New API: gst_structure_has_name().
8798
8799 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8800
8801         * configure.ac:
8802           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8803           and _LARGEFILE_SOURCE in config.h as required. Do not 
8804           export those flags in our .pc files any longer (#142209).
8805
8806           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8807
8808         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8809         (gst_file_sink_do_seek), (gst_file_sink_event),
8810         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8811           Redo seek/tell calls with large file support in mind; add some
8812           debugging messages; add log message that tells us when large
8813           file support is unavailable or not enabled for some reason.
8814
8815         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8816           Add log message that tells us when large file support 
8817           is unavailable or not enabled for some reason.
8818
8819 2005-07-29  Wim Taymans  <wim@fluendo.com>
8820
8821         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8822         Added test for removing an element with ghostpad from a bin.
8823         Fixed test as current implementation does the right thing.
8824
8825         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8826         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8827         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8828         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8829         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8830         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8831         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8832         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8833         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8834         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8835         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8836         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8837         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8838         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8839         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8840         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8841         * gst/gstghostpad.h:
8842         Clean up ghostpads, remove properties for internal stuff.
8843         Make threadsafe.
8844         Fix refcounting.
8845         Prepare for switching targets, not all use cases work yet.
8846
8847 2005-07-29  Wim Taymans  <wim@fluendo.com>
8848
8849         * docs/design/part-gstghostpad.txt:
8850         Small update.
8851
8852         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8853         (gst_bin_remove_func):
8854         Unlinking pads while holding the bin LOCK is not a good
8855         idea.
8856
8857         * gst/gstpad.c: (gst_pad_class_init),
8858         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8859         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8860         No prob setting template after creating the pad.
8861
8862 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8863
8864         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8865         (gst_bus_peek), (gst_bus_source_dispatch),
8866         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8867         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8868           gst_bus_poll may be called from other threads. Handle
8869           this nicely by not making poll_data disappear off the
8870           stack once gst_bus_poll returns.
8871           gst_bus_peek now increments the refcount on the returned
8872           message.
8873
8874 2005-07-29  Wim Taymans  <wim@fluendo.com>
8875
8876         * docs/design/part-gstghostpad.txt:
8877         Overview of current GhostPad datastructures and use
8878         cases for changing the target.
8879
8880 2005-07-28  Wim Taymans  <wim@fluendo.com>
8881
8882         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8883         Added checks for hierarchy consistency whan adding linked
8884         elements to bins.
8885
8886         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8887         Added check to test element scheduling without bin/pipeline.
8888
8889         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8890         First add elements to bin, then link.
8891         
8892         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8893         (gst_bin_remove_func):
8894         Unlink pads from elements added/removed from bin to maintain
8895         hierarchy consistency.
8896
8897 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8898
8899         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8900         (gst_base_transform_handle_buffer):
8901         * gst/base/gstbasetransform.h:
8902           Remove broken delay_configure (fixes renegotiation of software
8903           scaling pipelines); remove some leftover printf()s.
8904
8905 2005-07-28  Wim Taymans  <wim@fluendo.com>
8906
8907         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8908         Added some more tests for wrong hierarchy
8909
8910         * docs/design/part-overview.txt:
8911         Some updates.
8912
8913         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8914         Cleanups.
8915
8916         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8917         (gst_element_dispose):
8918         Some more cleanups.
8919
8920         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8921         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8922         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8923         (gst_pad_set_caps), (gst_pad_send_event):
8924         Check for correct hierarchy when linking pads. Moving to
8925         strict requirement for ghostpads when linking elements in
8926         different bins.
8927
8928         * gst/gstpad.h:
8929         Clean ups. Added WRONG_HIERARCHY return value.
8930
8931 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8932
8933         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8934           Better debug if no transform is possible.
8935
8936 2005-07-27  Wim Taymans  <wim@fluendo.com>
8937
8938         * docs/random/wtay/network-transp:
8939         Some old doc I had.
8940
8941 2005-07-27  Wim Taymans  <wim@fluendo.com>
8942
8943         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8944         (gst_dp_event_from_packet):
8945         Fix serialization of seek events.
8946
8947 2005-07-27  Wim Taymans  <wim@fluendo.com>
8948
8949         * check/gst-libs/gdp.c: (GST_START_TEST):
8950         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8951         Fix compilation and fix event serialization.
8952
8953 2005-07-27  Wim Taymans  <wim@fluendo.com>
8954
8955         * CHANGES-0.9:
8956         * docs/design/part-TODO.txt:
8957         * docs/design/part-events.txt:
8958         Some docs updates
8959
8960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8961         (gst_base_sink_event), (gst_base_sink_do_sync),
8962         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8963         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8964         (gst_base_src_do_seek), (gst_base_src_event_handler),
8965         (gst_base_src_loop):
8966         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8967         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8968         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8969         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8970         (gst_base_transform_set_passthrough),
8971         (gst_base_transform_is_passthrough):
8972         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8973         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8974         Event updates.
8975
8976         * gst/gstbuffer.h:
8977         Use faster casts.
8978
8979         * gst/gstelement.c: (gst_element_seek):
8980         * gst/gstelement.h:
8981         Update gst_element_seek.
8982
8983         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8984         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8985         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8986         (gst_event_new_eos), (gst_event_new_newsegment),
8987         (gst_event_parse_newsegment), (gst_event_new_tag),
8988         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8989         (gst_event_parse_qos), (gst_event_new_seek),
8990         (gst_event_parse_seek), (gst_event_new_navigation):
8991         * gst/gstevent.h:
8992         Make GstEvent use GstStructure. Add parsing code, make sure the
8993         API is sufficiently generic.
8994         Mark possible directions of events and serialization.
8995
8996         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8997         (_gst_message_copy), (gst_message_new_segment_start),
8998         (gst_message_new_segment_done), (gst_message_new_custom),
8999         (gst_message_parse_segment_start),
9000         (gst_message_parse_segment_done):
9001         Small cleanups.
9002
9003         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9004         (gst_pad_set_caps), (gst_pad_send_event):
9005         Update for new events. 
9006         Catch events sent in wrong directions.
9007
9008         * gst/gstqueue.c: (gst_queue_link_src),
9009         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9010         (gst_queue_handle_src_query):
9011         Event updates.
9012
9013         * gst/gsttag.c:
9014         * gst/gsttag.h:
9015         Remove event code from this file.
9016
9017         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9018         (gst_dp_event_from_packet):
9019         Event updates.
9020
9021 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9022
9023         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9024         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9025         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9026           Make debugging actually useful.
9027
9028 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9029
9030         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9031         (gst_pad_fixate_caps):
9032           Implement default fixation once again, so that gst_pad_fixate()
9033           actually does anything at all. This probably needs to be some
9034           sort of a last resort, and use profile-based fixation first, but
9035           since that doesn't exist yet, this is the best we have. Fixes
9036           visualization in Totem.
9037
9038 2005-07-22  Wim Taymans  <wim@fluendo.com>
9039
9040         * docs/design/part-events.txt:
9041         Small update.
9042
9043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9044         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9045         (gst_base_sink_activate_pull):
9046         Some more comments.
9047
9048         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9049         (gst_fake_src_create):
9050         Fix handoff marshall.
9051
9052         * gst/elements/gstidentity.c: (gst_identity_class_init),
9053         (gst_identity_transform_ip):
9054         We're a real inplace element.
9055
9056         * gst/gstbus.c: (gst_bus_post):
9057         Added some comments.
9058
9059         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9060         * tests/muxing/case1.c: (main):
9061         * tests/sched/dynamic-pipeline.c: (main):
9062         * tests/sched/interrupt1.c: (main):
9063         * tests/sched/interrupt2.c: (main):
9064         * tests/sched/interrupt3.c: (main):
9065         * tests/sched/runxml.c: (main):
9066         * tests/sched/sched-stress.c: (main):
9067         * tests/seeking/seeking1.c: (event_received), (main):
9068         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9069         (main):
9070         * tests/threadstate/threadstate3.c: (main):
9071         * tests/threadstate/threadstate4.c: (main):
9072         * tests/threadstate/threadstate5.c: (main):
9073         Fix the tests.
9074
9075 2005-07-21  Wim Taymans  <wim@fluendo.com>
9076
9077         * docs/design/part-seeking.txt:
9078         Some small additions.
9079
9080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9081         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9082         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9083         * gst/base/gstbasesink.h:
9084         discont values are gint64, handle the math correctly.
9085
9086         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9087         Make the basesrc report error if the source pad is not linked.
9088
9089         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9090         (gst_queue_loop), (gst_queue_handle_src_query),
9091         (gst_queue_src_activate_push):
9092         Make queue collect data even if the srcpad is not linked.
9093         Start pushing out data as soon as it is linked.
9094
9095         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9096         * gst/gstutils.h:
9097         Added gst_flow_get_name() to ease error reporting.
9098
9099 2005-07-20  Wim Taymans  <wim@fluendo.com>
9100
9101         * gst/gstmessage.c: (gst_message_new_segment_start),
9102         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9103         (gst_message_parse_segment_done):
9104         * gst/gstmessage.h:
9105         Added a bunch of messages for advanced seeking.
9106
9107         * gst/parse/grammar.y:
9108         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9109         (gst_dpman_state_changed):
9110         Fix some new-pad -> pad-added signals
9111
9112 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9113
9114         * docs/manual/appendix-porting.xml:
9115         * docs/pwg/appendix-porting.xml:
9116           Document new-pad/state-change signal renames and the FixedList
9117           type rename.
9118
9119 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9120
9121         * docs/manual/advanced-autoplugging.xml:
9122         * docs/manual/basics-helloworld.xml:
9123         * docs/manual/basics-pads.xml:
9124         * docs/random/ds/0.9-suggested-changes:
9125         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9126         * gst/gstelement.h:
9127         * gst/gstevent.h:
9128         * gst/gstformat.h:
9129         * gst/gstquery.h:
9130         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9131         (gst_structure_parse_array), (gst_structure_parse_value):
9132         * gst/gstvalue.c: (gst_type_is_fixed),
9133         (gst_value_list_prepend_value), (gst_value_list_append_value),
9134         (gst_value_list_get_size), (gst_value_list_get_value),
9135         (gst_value_transform_array_string), (gst_value_serialize_array),
9136         (gst_value_deserialize_array), (gst_value_intersect_array),
9137         (gst_value_is_fixed), (_gst_value_initialize):
9138         * gst/gstvalue.h:
9139           GstElement::new-pad -> pad-added, GstElement::state-change ->
9140           state-changed, GstValueFixedList -> GstValueArray, add format and
9141           flags as their own arguments in gst_element_seek() (should improve
9142           "bindeability"), remove function generators since they don't work
9143           under a whole bunch of compilers (they were deprecated already
9144           anyway).
9145
9146 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9147
9148         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9149         (_gst_debug_register_funcptr):
9150         * gst/gstinfo.h:
9151           Fix illegal cast on some platforms (#309253).
9152
9153 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9154
9155         * gst/gstmessage.c: (gst_message_new_custom):
9156         * gst/gstmessage.h:
9157           Add _new_custom, make _new_application a macro to _new_custom.
9158
9159 2005-07-20  Wim Taymans  <wim@fluendo.com>
9160
9161         * gst/base/gstbasesrc.c: (gst_base_src_init),
9162         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9163         * gst/base/gstbasesrc.h:
9164         Add a gboolean to decide when to push out a discont.
9165
9166         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9167         (gst_queue_loop), (gst_queue_handle_src_query),
9168         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9169         (gst_queue_set_property), (gst_queue_get_property):
9170         Some cleanups.
9171
9172         * tests/threadstate/threadstate1.c: (main):
9173         Make a thread test compile and run... very silly..
9174
9175
9176 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9177
9178         * docs/manual/appendix-porting.xml:
9179           Mention removal of libgstgconf-0.9.la and existence of gconf
9180           elements.
9181
9182 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9183
9184         * docs/pwg/advanced-clock.xml:
9185         * docs/pwg/appendix-porting.xml:
9186         * docs/pwg/intro-preface.xml:
9187         * docs/pwg/other-base.xml:
9188         * docs/pwg/other-manager.xml:
9189         * docs/pwg/other-nton.xml:
9190         * docs/pwg/other-ntoone.xml:
9191         * docs/pwg/other-oneton.xml:
9192         * docs/pwg/pwg.xml:
9193           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9194           demuxer), remove n-to-n (was never written), fix some code examples
9195           and links and update the porting section to include all this.
9196
9197 2005-07-19  Wim Taymans  <wim@fluendo.com>
9198
9199         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9200         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9201         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9202         (gst_queue_src_activate_push), (gst_queue_change_state),
9203         (gst_queue_get_property):
9204         * gst/gstqueue.h:
9205         Propagate GstFlowReturn more intelligently upstream and output
9206         an ERROR/EOS when streaming stopped due to fatal error.
9207
9208 2005-07-19  Wim Taymans  <wim@fluendo.com>
9209
9210         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9211         Don't block forever for the state change to complete, the
9212         pipeline already did with a sensible timeout.
9213
9214 2005-07-19  Wim Taymans  <wim@fluendo.com>
9215
9216         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9217         Make sure we never call the create function is we
9218         got deactivated.
9219
9220 2005-07-19  Andy Wingo  <wingo@pobox.com>
9221
9222         * gst/parse/parse.l: Attempt to solve bug #172815.
9223
9224 2005-07-19  Wim Taymans  <wim@fluendo.com>
9225
9226         * docs/design/part-clocks.txt:
9227         * docs/design/part-events.txt:
9228         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9229         Small docs updates.
9230         Only update the seeking values when we are not
9231         busy streaming.
9232
9233 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9234
9235         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9236           Oops, ignore the result of gst_pad_push_event here.
9237
9238 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9239
9240         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9241         (gst_base_src_activate_push):
9242           Send discont event from the loop function, as pads
9243           aren't activated yet in the activate_push handler.
9244
9245         * gst/gstbin.c: (bin_bus_handler):
9246           Don't leak element name.
9247
9248 2005-07-18  Andy Wingo  <wingo@pobox.com>
9249
9250         * configure.ac: Use AS_LIBTOOL_TAGS.
9251
9252 2005-07-18  Wim Taymans  <wim@fluendo.com>
9253
9254         * docs/gst/gstreamer.types:
9255         Remove deleted types.
9256
9257 2005-07-18  Wim Taymans  <wim@fluendo.com>
9258
9259         * check/elements/gstfakesrc.c: (GST_START_TEST):
9260         * configure.ac:
9261         * gst/Makefile.am:
9262         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9263         (init_popt_callback):
9264         * gst/gst.h:
9265         * gst/gst_private.h:
9266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9267         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9268         * gst/gstbin.h:
9269         * gst/gstbus.h:
9270         * gst/gstconfig.h.in:
9271         * gst/gstelement.c: (gst_element_class_init),
9272         (gst_element_set_base_time), (gst_element_get_base_time),
9273         (iterator_fold_with_resync), (gst_element_change_state),
9274         (gst_element_dispose), (gst_element_get_bus):
9275         * gst/gstelement.h:
9276         * gst/gstelementfactory.h:
9277         * gst/gsterror.c: (_gst_core_errors_init):
9278         * gst/gsterror.h:
9279         * gst/gstevent.h:
9280         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9281         * gst/gstindex.c:
9282         * gst/gstinfo.c: (_gst_debug_init):
9283         * gst/gstmessage.c: (_gst_message_copy):
9284         * gst/gstmessage.h:
9285         * gst/gstminiobject.h:
9286         * gst/gstobject.c:
9287         * gst/gstobject.h:
9288         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9289         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9290         * gst/gstpad.h:
9291         * gst/gstparse.h:
9292         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9293         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9294         (gst_pipeline_get_last_stream_time):
9295         * gst/gstpipeline.h:
9296         * gst/gstpluginfeature.h:
9297         * gst/gstquery.h:
9298         * gst/gstscheduler.c:
9299         * gst/gstscheduler.h:
9300         * gst/gststructure.h:
9301         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9302         (gst_task_finalize), (gst_task_func), (gst_task_create),
9303         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9304         (gst_task_stop), (gst_task_pause):
9305         * gst/gsttask.h:
9306         * gst/gsttypefind.h:
9307         * gst/gsttypes.h:
9308         * gst/registries/gstlibxmlregistry.c: (load_feature),
9309         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9310         * gst/registries/gstxmlregistry.c:
9311         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9312         * gst/schedulers/threadscheduler.c:
9313         * libs/gst/control/dparammanager.h:
9314         * tools/gst-inspect.c: (print_element_list),
9315         (print_plugin_features), (print_element_features):
9316         * tools/gst-xmlinspect.c: (print_element_list),
9317         (print_plugin_info), (main):
9318         Removed plugable schedulers.
9319         Removed Scheduler/Manager from elements.
9320         Removed gsttypes.h, rearranged includes.
9321         Removed dependency pad<->element, element<>pipeline, and
9322         various others,  fix includes.
9323         implement gst_pad_get_parent() with gst_object_get_parent()
9324         Make GstTask sefcontained.
9325         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9326         timeout.
9327         Fix endless loop in iterator_fold_with_resync.
9328
9329
9330 2005-07-18  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/Makefile.am:
9333         * gst/gstarch.h:
9334         Remove old file.
9335
9336 2005-07-18  Wim Taymans  <wim@fluendo.com>
9337
9338         * gst/Makefile.am:
9339         No more cothreads.h
9340
9341 2005-07-18  Wim Taymans  <wim@fluendo.com>
9342
9343         * gst/cothreads.c:
9344         * gst/cothreads.h:
9345         Let's remove these.
9346
9347 2005-07-18  Wim Taymans  <wim@fluendo.com>
9348
9349         * docs/design/part-dynamic.txt:
9350         * docs/design/part-events.txt:
9351         * docs/design/part-seeking.txt:
9352         Some more docs in the works.
9353
9354         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9355         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9356         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9357         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9358         (gst_base_transform_handle_buffer),
9359         (gst_base_transform_sink_activate_push),
9360         (gst_base_transform_src_activate_pull),
9361         (gst_base_transform_set_passthrough),
9362         (gst_base_transform_is_passthrough):
9363         Refcounting fixes.
9364
9365         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9366         Cleanups.
9367
9368         * gst/gstevent.c: (gst_event_finalize):
9369         Set SRC to NULL.
9370
9371         * gst/gstutils.c: (gst_element_unlink),
9372         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9373         (gst_pad_proxy_setcaps):
9374         * gst/gstutils.h:
9375         Add _get_parent_element() to get a pads parent as an element.
9376
9377 2005-07-18  Wim Taymans  <wim@fluendo.com>
9378
9379         * check/gst/gstbin.c: (GST_START_TEST):
9380         Remove bogus test.
9381
9382 2005-07-18  Wim Taymans  <wim@fluendo.com>
9383
9384         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9385         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9386         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9387         (gst_base_sink_event), (gst_base_sink_do_sync),
9388         (gst_base_sink_chain), (gst_base_sink_loop),
9389         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9390         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9391         Refcounting fixes.
9392         Fix logic for returning ASYNC when not prerolled.
9393
9394 2005-07-18  Wim Taymans  <wim@fluendo.com>
9395
9396         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9397         Fix nasty refcount bug.
9398
9399 2005-07-16 Philippe Khalaf <burger@speedy.org>
9400
9401         * gst/elements/gstfdsrc.c:
9402         * gst/elements/gstfdsrc.h:
9403         * gst/elements/gstelements.c:
9404         * gst/elements/Makefile.am:
9405         Ported fdsrc to 0.9.
9406
9407 2005-07-16  Wim Taymans  <wim@fluendo.com>
9408
9409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9410         (gst_base_sink_do_sync):
9411         Fix compile error.
9412
9413 2005-07-16  Wim Taymans  <wim@fluendo.com>
9414
9415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9416         (gst_base_sink_event), (gst_base_sink_get_times),
9417         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9418         * gst/base/gstbasesink.h:
9419         Store and use discont values when syncing buffers as described
9420         in design docs.
9421         
9422         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9423         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9424         (gst_base_src_activate_push):
9425         Push discont event when starting.
9426
9427         * gst/elements/gstidentity.c: (gst_identity_transform):
9428         Small cleanups.
9429
9430         * gst/gstbin.c: (gst_bin_change_state):
9431         Small cleanups in base_time  distribution.
9432
9433         * gst/gstelement.c: (gst_element_set_base_time),
9434         (gst_element_get_base_time), (gst_element_change_state):
9435         * gst/gstelement.h:
9436         Added methods for the base_time of the element.
9437         Some MT fixes.
9438
9439         * gst/gstpipeline.c: (gst_pipeline_send_event),
9440         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9441         (gst_pipeline_get_last_stream_time):
9442         * gst/gstpipeline.h:
9443         MT fixes.
9444         Handle seeking as described in design doc, remove stream_time
9445         hack.
9446         Cleanups clock and stream_time selection code. Added accessors
9447         for the stream_time.
9448         
9449
9450 2005-07-16  Andy Wingo  <wingo@pobox.com>
9451
9452         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9453         (#305291).
9454
9455 2005-07-16  Wim Taymans  <wim@fluendo.com>
9456
9457         * check/gst/gstbin.c: (GST_START_TEST):
9458         Make elements silent as the deep_notify refs the
9459         parent, which might make the test fail.
9460
9461         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9462         Don't hold the lock for too long.
9463
9464 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9465
9466         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9467           Don't unref the caps we passed to gst_caps_make_writable() after
9468           passing them. gst_caps_make_writable() will do that for us.
9469
9470 2005-07-15  Andy Wingo  <wingo@pobox.com>
9471
9472         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9473         (#157311).
9474
9475         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9476         own marshalling function for the handoff signal. Properly type the
9477         buffer as a buffer. Fixes some warnings. Should do a more general
9478         solution.
9479         (gst_identity_class_init): Plug into the right marshaller.
9480
9481 2005-07-15  Wim Taymans  <wim@fluendo.com>
9482
9483         * docs/design/part-TODO.txt:
9484         * docs/design/part-clocks.txt:
9485         * docs/design/part-element-sink.txt:
9486         * docs/design/part-events.txt:
9487         * docs/design/part-gstpipeline.txt:
9488         Updated docs, mostly DISCONT related.
9489
9490 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9491
9492         * docs/pwg/building-pads.xml:
9493           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9494
9495 2005-07-15  Andy Wingo  <wingo@pobox.com>
9496
9497         * tools/gst-typefind.c: Update, add copyright block.
9498
9499         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9500         Normalize and truncate caps before fixation.
9501
9502         * gst/gstcaps.h:
9503         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9504         discards all but the first structure from its argument.
9505
9506 2005-07-15  Wim Taymans  <wim@fluendo.com>
9507
9508         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9509         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9510         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9511         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9512         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9513         (gst_base_transform_chain), (gst_base_transform_change_state),
9514         (gst_base_transform_set_passthrough),
9515         (gst_base_transform_is_passthrough):
9516         * gst/base/gstbasetransform.h:
9517         Make passthrough work using the bufferpools.
9518         Changed API a bit, subclasses have to write into a buffer
9519         provided by the base class.
9520         More debug info in nego functions.
9521         
9522         * gst/elements/gstidentity.c: (gst_identity_init),
9523         (gst_identity_transform):
9524         Port to new base class.
9525
9526 2005-07-15  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/gstmessage.c: (gst_message_new_state_changed):
9529         * tools/gst-launch.c: (event_loop), (main):
9530         Totally dump messages in -launch with the -m option.
9531         Fix message name for State messages,
9532
9533 2005-07-14  Wim Taymans  <wim@fluendo.com>
9534
9535         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9536         Post error messages on errors.
9537
9538 2005-07-14  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/gstcaps.c: (gst_caps_do_simplify):
9541         Remove debug info.
9542
9543         * gst/gsterror.h:
9544         Define error for stream stopped.
9545
9546         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9547         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9548         Do proper return values.
9549
9550         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9551         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9552         (gst_pad_get_range):
9553         Better return values.
9554
9555         * gst/gstpad.h:
9556         Reorganise return values, add macro to check for fatal errors.
9557
9558         * gst/gstqueue.c: (gst_queue_chain):
9559         Return proper GstFlowReturn values,
9560
9561 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * docs/gst/gstreamer-sections.txt:
9564         * docs/gst/gstreamer.types:
9565         * docs/gst/tmpl/gst.sgml:
9566         * docs/gst/tmpl/gstbasesink.sgml:
9567         * docs/gst/tmpl/gstbasesrc.sgml:
9568         * docs/gst/tmpl/gstbasetransform.sgml:
9569         * docs/gst/tmpl/gstbin.sgml:
9570         * docs/gst/tmpl/gstbuffer.sgml:
9571         * docs/gst/tmpl/gstcaps.sgml:
9572         * docs/gst/tmpl/gstclock.sgml:
9573         * docs/gst/tmpl/gstcompat.sgml:
9574         * docs/gst/tmpl/gstconfig.sgml:
9575         * docs/gst/tmpl/gstelement.sgml:
9576         * docs/gst/tmpl/gstelementdetails.sgml:
9577         * docs/gst/tmpl/gstelementfactory.sgml:
9578         * docs/gst/tmpl/gstenumtypes.sgml:
9579         * docs/gst/tmpl/gsterror.sgml:
9580         * docs/gst/tmpl/gstevent.sgml:
9581         * docs/gst/tmpl/gstfakesink.sgml:
9582         * docs/gst/tmpl/gstfakesrc.sgml:
9583         * docs/gst/tmpl/gstfilesink.sgml:
9584         * docs/gst/tmpl/gstfilesrc.sgml:
9585         * docs/gst/tmpl/gstfilter.sgml:
9586         * docs/gst/tmpl/gstformat.sgml:
9587         * docs/gst/tmpl/gstghostpad.sgml:
9588         * docs/gst/tmpl/gstimplementsinterface.sgml:
9589         * docs/gst/tmpl/gstindex.sgml:
9590         * docs/gst/tmpl/gstindexfactory.sgml:
9591         * docs/gst/tmpl/gstinfo.sgml:
9592         * docs/gst/tmpl/gstiterator.sgml:
9593         * docs/gst/tmpl/gstmacros.sgml:
9594         * docs/gst/tmpl/gstmemchunk.sgml:
9595         * docs/gst/tmpl/gstminiobject.sgml:
9596         * docs/gst/tmpl/gstobject.sgml:
9597         * docs/gst/tmpl/gstpad.sgml:
9598         * docs/gst/tmpl/gstpadtemplate.sgml:
9599         * docs/gst/tmpl/gstparse.sgml:
9600         * docs/gst/tmpl/gstpipeline.sgml:
9601         * docs/gst/tmpl/gstplugin.sgml:
9602         * docs/gst/tmpl/gstpluginfeature.sgml:
9603         * docs/gst/tmpl/gstquery.sgml:
9604         * docs/gst/tmpl/gstqueue.sgml:
9605         * docs/gst/tmpl/gstregistry.sgml:
9606         * docs/gst/tmpl/gstregistrypool.sgml:
9607         * docs/gst/tmpl/gstscheduler.sgml:
9608         * docs/gst/tmpl/gstschedulerfactory.sgml:
9609         * docs/gst/tmpl/gststructure.sgml:
9610         * docs/gst/tmpl/gstsystemclock.sgml:
9611         * docs/gst/tmpl/gsttaglist.sgml:
9612         * docs/gst/tmpl/gsttagsetter.sgml:
9613         * docs/gst/tmpl/gsttrace.sgml:
9614         * docs/gst/tmpl/gsttrashstack.sgml:
9615         * docs/gst/tmpl/gsttypefind.sgml:
9616         * docs/gst/tmpl/gsttypefindfactory.sgml:
9617         * docs/gst/tmpl/gsttypes.sgml:
9618         * docs/gst/tmpl/gsturihandler.sgml:
9619         * docs/gst/tmpl/gsturitype.sgml:
9620         * docs/gst/tmpl/gstutils.sgml:
9621         * docs/gst/tmpl/gstvalue.sgml:
9622         * docs/gst/tmpl/gstversion.sgml:
9623         * docs/gst/tmpl/gstxml.sgml:
9624         * docs/libs/tmpl/gstcontrol.sgml:
9625         * docs/libs/tmpl/gstdataprotocol.sgml:
9626         * docs/libs/tmpl/gstdparam.sgml:
9627         * docs/libs/tmpl/gstdplinint.sgml:
9628         * docs/libs/tmpl/gstdpman.sgml:
9629         * docs/libs/tmpl/gstdpsmooth.sgml:
9630         * docs/libs/tmpl/gstgetbits.sgml:
9631         * docs/libs/tmpl/gstunitconvert.sgml:
9632         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9633         (gst_push_src_base_init), (gst_push_src_class_init),
9634         (gst_push_src_init), (gst_push_src_create):
9635         * gst/base/gstpushsrc.h:
9636         * gst/elements/gstelements.c:
9637         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9638         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9639         (gst_fake_sink_init), (gst_fake_sink_set_property),
9640         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9641         (gst_fake_sink_event), (gst_fake_sink_preroll),
9642         (gst_fake_sink_render), (gst_fake_sink_change_state):
9643         * gst/elements/gstfakesink.h:
9644         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9645         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9646         (gst_fake_src_base_init), (gst_fake_src_class_init),
9647         (gst_fake_src_init), (gst_fake_src_event_handler),
9648         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9649         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9650         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9651         (gst_fake_src_create_buffer), (gst_fake_src_create),
9652         (gst_fake_src_start), (gst_fake_src_stop):
9653         * gst/elements/gstfakesrc.h:
9654         * gst/elements/gstfilesink.c: (_do_init),
9655         (gst_file_sink_base_init), (gst_file_sink_class_init),
9656         (gst_file_sink_init), (gst_file_sink_dispose),
9657         (gst_file_sink_set_location), (gst_file_sink_set_property),
9658         (gst_file_sink_get_property), (gst_file_sink_open_file),
9659         (gst_file_sink_close_file), (gst_file_sink_query),
9660         (gst_file_sink_event), (gst_file_sink_render),
9661         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9662         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9663         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9664         * gst/elements/gstfilesink.h:
9665         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9666         (gst_file_src_class_init), (gst_file_src_init),
9667         (gst_file_src_finalize), (gst_file_src_set_location),
9668         (gst_file_src_set_property), (gst_file_src_get_property),
9669         (gst_file_src_map_region), (gst_file_src_map_small_region),
9670         (gst_file_src_create_mmap), (gst_file_src_create_read),
9671         (gst_file_src_create), (gst_file_src_is_seekable),
9672         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9673         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9674         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9675         (gst_file_src_uri_handler_init):
9676         * gst/elements/gstfilesrc.h:
9677           more autistic cleanliness in functions/names/defines
9678
9679 2005-07-13  Andy Wingo  <wingo@pobox.com>
9680
9681         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9682         source couldn't negotiate.
9683
9684         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9685         connections again.
9686
9687         * gst/gstutils.h:
9688         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9689         function. I am channeling Hades. Put your boots on suckers!!!
9690
9691 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9692
9693         * testsuite/caps/Makefile.am:
9694         * testsuite/caps/value_compare.c:
9695         * testsuite/caps/value_intersect.c:
9696         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9697           move two testsuite apps over to the check dir
9698
9699 2005-07-12  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9702         Added more debug info in the negotiate process.
9703
9704         * gst/gstmessage.h:
9705         Prepare for segment playback.
9706
9707         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9708         Better debugging.
9709
9710         * gst/gstutils.c:
9711         Some more docs.
9712
9713         * tools/gst-launch.c: (main):
9714         NULL pipeline on errors.
9715
9716 2005-07-12  Andy Wingo  <wingo@pobox.com>
9717
9718         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9719         not it comes from a malloc region. Make sure our copy gets freed.
9720
9721 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9722
9723         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9724         * check/gst/gstmessage.c: (GST_START_TEST):
9725         * check/gst/gststructure.c: (GST_START_TEST),
9726         (gst_structure_suite), (main):
9727           more testing
9728         * gst/gstelement.c: (gst_element_message_full):
9729           clean up GError and debug string now that they get copied
9730         * gst/gstmessage.c: (gst_message_new_error),
9731         (gst_message_new_warning), (gst_message_parse_error),
9732         (gst_message_parse_warning):
9733           use GST_TYPE_G_ERROR for structure_new, and take copies of
9734           arguments, so that we don't mess up refcounting
9735
9736 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9737
9738         * check/Makefile.am:
9739           add per-test valgrind targets
9740         * check/gst-libs/gdp.c: (GST_START_TEST),
9741         (gst_data_protocol_suite), (main):
9742           clean up
9743
9744 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9745
9746         * check/Makefile.am:
9747           instate more valgrindable tests
9748         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9749         (GST_START_TEST), (fakesrc_suite):
9750         * check/gst/gstpad.c: (GST_START_TEST):
9751         * check/gst/gststructure.c: (GST_START_TEST):
9752           fix test leaks
9753         * docs/gst/tmpl/gstminiobject.sgml:
9754         * gst/gstpad.c: (gst_pad_finalize):
9755           fix the static mutex leak
9756
9757 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9758
9759         * check/Makefile.am:
9760           add two more tests for valgrinding
9761         * check/gst/gstvalue.c: (GST_START_TEST):
9762           test refcount of deserialized buffer, found a leak
9763         * docs/gst/gstreamer-docs.sgml:
9764         * docs/gst/gstreamer-sections.txt:
9765         * docs/gst/gstreamer.types:
9766         * docs/gst/tmpl/gstminiobject.sgml:
9767           add miniobject to docs
9768         * gst/gstminiobject.c:
9769           add some docs
9770         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9771         (gst_string_unwrap):
9772           fix a hard-to-find invalid write for one of the tests
9773           fix a leak for deserialized buffers
9774
9775 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9776
9777         * docs/pwg/advanced-events.xml:
9778         * docs/pwg/advanced-request.xml:
9779         * docs/pwg/advanced-scheduling.xml:
9780         * docs/pwg/appendix-porting.xml:
9781         * docs/pwg/building-boiler.xml:
9782         * docs/pwg/intro-preface.xml:
9783         * docs/pwg/other-ntoone.xml:
9784           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9785           of example code and explanation for pad activation, loop() and
9786           getrange() functions and a bit more. Remove old comments pointing
9787           to loop-functions.
9788         * examples/pwg/Makefile.am:
9789           Add loop/getrange examples.
9790
9791 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * configure.ac:
9794           check for valgrind binary + some fixes
9795         * check/gst.supp:
9796           valgrind suppressions for the tests
9797         * check/Makefile.am:
9798           add a valgrind: target that valgrinds the unit tests
9799         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9800         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9801         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9802         * check/gst/gstghostpad.c:
9803           added some cleanup
9804         * check/gst/gstdata.c:
9805           removed
9806         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9807         (thread_unref), (gst_mini_object_suite), (main):
9808           added
9809         * gst/gst.c: (gst_deinit):
9810         * gst/gst.h:
9811           add a method to clean up.
9812         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9813         (gst_system_clock_obtain):
9814           allow for disposing the system clock.
9815         * tools/gst-launch.c: (main):
9816           deinit
9817
9818 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9819
9820         * docs/gst/tmpl/gstbasesrc.sgml:
9821         * docs/gst/tmpl/gstfakesrc.sgml:
9822         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9823         (gst_base_src_init), (gst_base_src_set_property),
9824         (gst_base_src_get_property), (gst_base_src_get_range),
9825         (gst_base_src_start):
9826         * gst/base/gstbasesrc.h:
9827           add num-buffers property
9828         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9829         (gst_fakesrc_init), (gst_fakesrc_set_property),
9830         (gst_fakesrc_get_property), (gst_fakesrc_create),
9831         (gst_fakesrc_start):
9832           remove num-buffers property
9833
9834 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9835
9836         * docs/gst/gstreamer-sections.txt:
9837         * docs/gst/tmpl/gstbasesink.sgml:
9838         * docs/gst/tmpl/gstbasesrc.sgml:
9839         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9840         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9841         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9842         (gst_base_sink_set_property), (gst_base_sink_get_property),
9843         (gst_base_sink_handle_object), (gst_base_sink_event),
9844         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9845         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9846         (gst_base_sink_loop), (gst_base_sink_deactivate),
9847         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9848         (gst_base_sink_change_state):
9849         * gst/base/gstbasesink.h:
9850         * gst/base/gstbasesrc.h:
9851         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9852         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9853         (gst_filesink_init):
9854           more macro splitting
9855
9856 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * gst/gstelement.c: (gst_element_get_bus):
9859           add debug
9860         * tools/gst-launch.c: (check_intr), (event_loop):
9861           fix bus leaks
9862
9863 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9866           fix a caps leak
9867
9868 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9871         (gst_base_src_finalize):
9872           add finalize method and clean up properly
9873         * gst/gstpipeline.c: (gst_pipeline_dispose):
9874           add debug
9875
9876 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9877
9878         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9879         (gst_bin_suite):
9880           add more things to check
9881         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9882         * gst/gstelement.c:
9883           more debug
9884
9885 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9886
9887         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9888         (GST_START_TEST), (fakesrc_suite):
9889         * check/gst-libs/gdp.c: (GST_START_TEST):
9890         * check/gst/gst.c: (GST_START_TEST):
9891         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9892         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9893         * check/gst/gstbus.c: (GST_START_TEST):
9894         * check/gst/gstcaps.c: (GST_START_TEST):
9895         * check/gst/gstdata.c: (GST_START_TEST):
9896         * check/gst/gstelement.c: (GST_START_TEST):
9897         * check/gst/gstghostpad.c: (GST_START_TEST):
9898         * check/gst/gstiterator.c: (GST_START_TEST):
9899         * check/gst/gstmessage.c: (GST_START_TEST):
9900         * check/gst/gstobject.c: (GST_START_TEST):
9901         * check/gst/gstpad.c: (GST_START_TEST):
9902         * check/gst/gststructure.c: (GST_START_TEST):
9903         * check/gst/gstsystemclock.c: (GST_START_TEST),
9904         (gst_systemclock_suite):
9905         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9906         * check/gst/gstvalue.c: (GST_START_TEST):
9907         * check/pipelines/cleanup.c: (GST_START_TEST):
9908         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9909         * check/states/sinks.c: (GST_START_TEST):
9910         * check/gstcheck.c: (gst_check_init):
9911         * check/gstcheck.h:
9912           add debugging category
9913           use GST_START_TEST now, so we add a debug line
9914
9915 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9918           add test for state change message on a bin
9919         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9920           add another test
9921         * gst/gstbin.c: (gst_bin_init):
9922         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9923         * gst/gstelement.c: (gst_element_post_message),
9924         (gst_element_set_state):
9925         * gst/gstelementfactory.c: (gst_element_factory_create):
9926         * gst/gstmessage.c: (gst_message_new):
9927         * gst/gstscheduler.c:
9928           various debugging additions and cleanups
9929
9930 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9931
9932         * check/Makefile.am:
9933         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9934         (main):
9935           adding tests for elements
9936         * gst/gstelement.c: (gst_element_dispose):
9937
9938 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9939
9940         * gst/registries/gstlibxmlregistry.c: (load_feature):
9941           plug more leaks.  A simple gst_init() now is leakfree, yay.
9942
9943 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9944
9945         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9946         (gst_xml_registry_load):
9947           plug another memleak
9948
9949 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * configure.ac:
9952           use GST_SET_ERROR_CFLAGS
9953         * docs/faq/cvs.xml:
9954           change to ERROR_CFLAGS
9955
9956 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * configure.ac:
9959           make GST_ERROR_CFLAGS overridable and re-enable Werror
9960         * docs/faq/cvs.xml:
9961           add a note about error CFLAGS
9962         * docs/gst/tmpl/gstfakesrc.sgml:
9963         * gst/elements/gstfakesrc.c:
9964           comment out some unused code
9965         * gst/gst.c: (split_and_iterate):
9966         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9967         (load_feature):
9968           plug some memleaks
9969
9970 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9971
9972         * common/Makefile.am:
9973         * common/gtk-doc.mak:
9974         * docs/gst/Makefile.am:
9975           factor out gtk-doc.mak
9976
9977 2005-07-07  Wim Taymans  <wim@fluendo.com>
9978
9979         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9980         (gst_thread_scheduler_dispose):
9981         Unlock the STREAM_LOCK completely.
9982
9983 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * check/Makefile.am:
9986         * check/elements/.cvsignore:
9987         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9988         (START_TEST), (fakesrc_suite), (main):
9989         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9990         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9991         (gst_fakesrc_create), (gst_fakesrc_start):
9992         * gst/elements/gstfakesrc.h:
9993           adding a first element test
9994
9995 2005-07-07  Andy Wingo  <wingo@pobox.com>
9996
9997         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9998         debug message.
9999
10000 2005-07-07  Wim Taymans  <wim@fluendo.com>
10001
10002         * gst/gstquery.c:
10003         * gst/gstquery.h:
10004         Remove old types
10005
10006 2005-07-07  Wim Taymans  <wim@fluendo.com>
10007
10008         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10009         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10010         Allow subclasses to implement their own negotiation.
10011
10012 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10013
10014         * docs/design/part-gstbin.txt:
10015         * docs/design/part-gstpipeline.txt:
10016           Update design notes to reflect the movement of
10017           responsibility for bus handling from GstPipeline to
10018           GstBin
10019
10020 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10021
10022         * configure.ac:
10023           Remove unnecessary queue2/3/4 examples.
10024
10025 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10026
10027         * examples/Makefile.am:
10028         * examples/helloworld/helloworld.c: (event_loop), (main):
10029         * examples/queue/queue.c: (event_loop), (main):
10030         * examples/queue2/queue2.c: (main):
10031           Update a couple of the examples to work again.
10032
10033         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10034         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10035          Spelling corrections and extra debug.
10036         
10037         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10038         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10039         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10040         * gst/gstbin.h:
10041         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10042         (gst_pipeline_change_state):
10043         * gst/gstpipeline.h:
10044           Move the bus handler for children to the GstBin, and create a
10045           separate bus for receiving messages from children to the one the
10046           bus sends 'upwards' on.
10047
10048 2005-07-06  Wim Taymans  <wim@fluendo.com>
10049
10050         * gst/base/README:
10051         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10052         (gst_base_sink_handle_object), (gst_base_sink_loop),
10053         (gst_base_sink_change_state):
10054         * gst/base/gstbasesink.h:
10055         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10056         (gst_base_src_init), (gst_base_src_setcaps),
10057         (gst_base_src_getcaps), (gst_base_src_loop),
10058         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10059         (gst_base_src_start), (gst_base_src_change_state):
10060         * gst/base/gstbasesrc.h:
10061         Make basesrc negotiate.
10062         Handle the case where preroll fails in basesink.
10063         Update README.
10064
10065 2005-07-06  Wim Taymans  <wim@fluendo.com>
10066
10067         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10068         Implement the fixate function.
10069         Clean up acceptcaps.
10070
10071 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10072
10073         * docs/pwg/building-filterfactory.xml:
10074         * docs/pwg/pwg.xml:
10075           Remove never-written filter-factory chapter; I'll add the various
10076           base classes to part 4 ("other element types") later on.
10077
10078 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10079
10080         * docs/pwg/advanced-negotiation.xml:
10081         * docs/pwg/building-boiler.xml:
10082         * docs/pwg/building-pads.xml:
10083         * docs/pwg/pwg.xml:
10084         * examples/pwg/Makefile.am:
10085           Add a chapter on caps negotiation, simplify the original code
10086           samples a bit w.r.t. caps negotiation, add link to the advanced
10087           section. Add a bunch of examples showing different use cases of
10088           different types of caps negotiation. Upstream renegotiation isn't
10089           fully documented yet since nobody knows how that works.
10090
10091 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * check/gst/gstpad.c:
10094         * check/gstcheck.c:
10095         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10096           if pad has no parent, return NULL as list of internal links
10097
10098 2005-07-05  Andy Wingo  <wingo@pobox.com>
10099
10100         * gst/elements/gstfilesrc.c:
10101         * gst/elements/gstfakesrc.c: 
10102         * gst/base/gstpushsrc.c:
10103         * gst/base/gstbasesrc.h: 
10104         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10105         
10106 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10107
10108         * Makefile.am:
10109           better report generation target (lcov needs a patch)
10110
10111 2005-07-05  Andy Wingo  <wingo@pobox.com>
10112
10113         * gst/elements, testsuite: Null if we got it...
10114
10115 2005-07-05  Wim Taymans  <wim@fluendo.com>
10116
10117         * configure.ac:
10118         * libs/gst/dataprotocol/Makefile.am:
10119         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10120         * libs/gst/dataprotocol/dataprotocol.h:
10121         * pkgconfig/Makefile.am:
10122         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10123         * pkgconfig/gstreamer-dataprotocol.pc.in:
10124         Ported dataprotol to 0.9. 
10125         Added pkgconfig files.
10126
10127 2005-07-05  Andy Wingo  <wingo@pobox.com>
10128
10129         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10130         Default to returning TRUE for the case when tranform_caps returns
10131         a fixed caps, like for identity or volume.
10132
10133         * check/gst/gstbus.c (pound_bus_with_messages): 
10134         * check/gst/gstmessage.c (START_TEST): 
10135         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10136         message API change.
10137
10138         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10139         logic weaks here: always run transform_caps, trying passthrough
10140         operation only if the original caps intersects with the transform.
10141
10142         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10143         source and sink caps.
10144
10145         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10146         Intersect the peer caps with the pad template before going into
10147         transform_caps.
10148         (gst_base_transform_transform_caps): More debugging.
10149
10150         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10151         src argument.
10152
10153 2005-07-04  Edward Hervey  <edward@fluendo.com>
10154
10155         * gst/gstutils.c:
10156         * gst/gstutils.h:
10157         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10158         in bindings.
10159
10160 2005-07-04  Andy Wingo  <wingo@pobox.com>
10161
10162         * check/gst/gstpad.c: Only set explicit caps on pads.
10163
10164 2005-07-01  Andy Wingo  <wingo@pobox.com>
10165
10166         * tests/network-clock.scm: Commentary update.
10167
10168         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10169         Didn't really make sense, not implementable with basetransform,
10170         etc.
10171         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10172         attempt at implementing the sync property, needs an unlock method.
10173
10174         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10175         New func, by default returns the same caps (the identity
10176         transformation).
10177         (gst_base_transform_getcaps): Uses transform_caps to return
10178         something sensible.
10179         (gst_base_transform_setcaps): Complicated logic to get caps on
10180         both pads, even if they are different, and to call set_caps once
10181         for every time both pads get their caps set.
10182         (gst_base_transform_handle_buffer): Give the ref to the transform
10183         function. Allows in-place modification of the buffer.
10184
10185         * gst/base/gstbasetransform.h (transform_caps): New class method.
10186         Given caps on one side, what can I do on the other.
10187         (set_caps): Take two caps, one for each side of the element.
10188
10189         * gst/gstpad.h:
10190         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10191         caps in place. This is safe because we can check the mutability of
10192         the caps, and a good idea because fixate functions are just called
10193         as a matter of last resort. (Not actually implemented.)
10194         (gst_pad_set_caps): If the caps we're setting is actually the same
10195         as the existing pad caps, just update the pointer without calling
10196         setcaps. Assert that caps is either NULL or fixed, as per the
10197         docs.
10198
10199         * gst/gstghostpad.c: Update for fixate changes.
10200
10201 2005-07-02  Andy Wingo  <wingo@pobox.com>
10202
10203         * gst/gstcaps.c:
10204         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10205         two refcounts makes it immutable, which is enough. Doc more.
10206
10207 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10208
10209         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10210           Put the mini_object into GValue as a mini_object,
10211           not a gpointer, since that's how we declared
10212           the signal.
10213
10214 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10215
10216         * examples/pwg/Makefile.am:
10217           Fix buildbot again.
10218
10219 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10220
10221         * docs/pwg/building-testapp.xml:
10222           Add extra check.
10223         * examples/pwg/Makefile.am:
10224           Fix buildbot.
10225
10226 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10227
10228         * configure.ac:
10229         * examples/Makefile.am:
10230         * examples/pwg/Makefile.am:
10231         * examples/pwg/extract.pl:
10232           Enable building the PWG examples.
10233         * docs/pwg/advanced-interfaces.xml:
10234           Add URI interface stub.
10235         * docs/pwg/advanced-types.xml:
10236         * docs/pwg/other-autoplugger.xml:
10237         * docs/pwg/appendix-porting.xml:
10238         * docs/pwg/pwg.xml:
10239           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10240         * docs/pwg/building-boiler.xml:
10241         * docs/pwg/building-chainfn.xml:
10242         * docs/pwg/building-pads.xml:
10243         * docs/pwg/building-props.xml:
10244         * docs/pwg/building-state.xml:
10245         * docs/pwg/building-testapp.xml:
10246           Update the building-*.xml parts for 0.9 changes. All examples
10247           code blocks compile in examples/pwg/*.
10248
10249 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10250
10251         * docs/manual/advanced-autoplugging.xml:
10252         * docs/manual/appendix-checklist.xml:
10253         * docs/manual/appendix-integration.xml:
10254         * docs/manual/highlevel-components.xml:
10255           Fix playbin/decodebin examples, update docs a bit, mention bus
10256           instead of signals in various places, mention kmplayer and
10257           kaffeine since they have a working GStreamer backend in the KDE
10258           section.
10259
10260 2005-06-30  Wim Taymans  <wim@fluendo.com>
10261
10262         * CHANGES-0.9:
10263         * docs/design/draft-ghostpads.txt:
10264         * docs/design/draft-push-pull.txt:
10265         * docs/design/draft-query.txt:
10266         * docs/design/part-TODO.txt:
10267         * docs/design/part-query.txt:
10268         Added CHANGES-0.9 doc, updated status of other docs.
10269         
10270         * gst/gstquery.h:
10271         Remove "hmm" macro
10272
10273 2005-06-30  Wim Taymans  <wim@fluendo.com>
10274
10275         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10276         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10277         (gst_base_sink_change_state):
10278         * gst/base/gstbasesink.h:
10279         Some tweaks, only EOS and a buffer complete a preroll.
10280
10281 2005-06-30  Andy Wingo  <wingo@pobox.com>
10282
10283         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10284         activate_push down to the internal pad as well.
10285
10286 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10287
10288         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10289
10290         * gst/gsttaginterface.c:
10291           Some documentation fixes (#307394 and #307397).
10292
10293 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10294
10295         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10296
10297         * gst/gstvalue.c: (gst_value_intersect_list):
10298           Fix memleak (#309125).
10299
10300 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10301
10302         * docs/manual/advanced-dataaccess.xml:
10303           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10304         * docs/manual/basics-pads.xml:
10305           Add reference for filtered caps to above chapter.
10306
10307 2005-06-30  Wim Taymans  <wim@fluendo.com>
10308
10309         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10310         (gst_bin_change_state):
10311         Probes are gone.
10312         Lame attempt at making the state change function a bit
10313         more readable.
10314
10315 2005-06-30  Wim Taymans  <wim@fluendo.com>
10316
10317         * docs/design/part-clocks.txt:
10318         * docs/design/part-element-sink.txt:
10319         * docs/design/part-events.txt:
10320         * docs/design/part-preroll.txt:
10321         * docs/design/part-states.txt:
10322         Some more tweeks and additions to the docs.
10323
10324 2005-06-30  Wim Taymans  <wim@fluendo.com>
10325
10326         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10327         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10328         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10329         (gst_pad_check_pull_range), (gst_pad_get_range),
10330         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10331         * gst/gstpad.h:
10332         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10333         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10334         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10335         (gst_pad_remove_buffer_probe):
10336         Removed atomic operations, use existing LOCK.
10337         Move exception handling out of main code path.
10338
10339 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10340
10341         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10342         (silly_return_true_function), (gst_pad_class_init),
10343         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10344         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10345         (gst_pad_send_event):
10346           Fix accumulator, add default value by using _emitv() instead
10347           of _emit() for signal emission.
10348
10349 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10350
10351         * docs/manual/advanced-dataaccess.xml:
10352         * examples/manual/Makefile.am:
10353           Add probe example.
10354         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10355           Make work (??).
10356
10357 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10358
10359         * gst/elements/gstfilesink.c: (gst_filesink_render):
10360           Simplify code so that we don't have to handle short
10361           writes and return GST_FLOW_ERROR if an error occured.
10362
10363 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10364
10365         * docs/gst/gstreamer-docs.sgml:
10366           Remove probes more.
10367
10368 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10369
10370         * docs/gst/gstreamer-sections.txt:
10371         * docs/gst/tmpl/gstpad.sgml:
10372         * docs/gst/tmpl/gstprobe.sgml:
10373         * gst/Makefile.am:
10374         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10375         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10376         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10377         (gst_pad_push_event), (gst_pad_send_event):
10378         * gst/gstpad.h:
10379         * gst/gstutils.c: (gst_pad_add_data_probe),
10380         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10381         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10382         (gst_pad_remove_buffer_probe):
10383         * gst/gstutils.h:
10384           Remove old probes, add new g-signal-based probes and some utility
10385           functions.
10386
10387 2005-06-29  Edward Hervey  <edward@fluendo.com>
10388
10389         * gst/gstelementfactory.c:
10390         * gst/gstutils.h:
10391         * gst/gstutils.c:
10392         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10393         the definition to the header file.
10394
10395 2005-06-29  Andy Wingo  <wingo@pobox.com>
10396
10397         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10398         plugins from the source directory.
10399
10400 2005-06-29  Wim Taymans  <wim@fluendo.com>
10401
10402         * docs/gst/tmpl/gstbuffer.sgml:
10403         * docs/gst/tmpl/gstclock.sgml:
10404         Some fixings for blantently wrong text.
10405
10406 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10407
10408         * check/Makefile.am:
10409         * gst/gst.c: (add_path_func), (init_pre):
10410         * gst/gstregistry.c: (gst_registry_add_path):
10411           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10412           only scan the GST_PLUGIN_PATH locations, and not add
10413           system locations
10414
10415 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10416
10417         * docs/gst/gstreamer-sections.txt:
10418         * docs/gst/tmpl/gstbasesrc.sgml:
10419         * gst/gstelement.c:
10420         * gst/gstelement.h:
10421         * gst/gstevent.c:
10422         * gst/gstutils.c:
10423           doc fixes
10424
10425 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10426
10427         * docs/manual/advanced-autoplugging.xml:
10428           Fix autoplugging example.
10429
10430 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10431
10432         * docs/manual/advanced-autoplugging.xml:
10433         * docs/manual/mime-world.fig:
10434           Try to get autoplugging working, fix type detection. Fix text
10435           in hello-world image.
10436
10437 2005-06-29  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10440         (gst_base_sink_change_state):
10441         Small debug line.
10442
10443         * gst/gstclock.h:
10444         map SIGNAL and BROADCAST to the right function.
10445
10446         * gst/gstobject.h:
10447         Remove redundant braces.
10448
10449         * gst/gstpad.c: (gst_pad_set_caps):
10450         Don't call setcaps function when reseting caps to NULL.
10451
10452         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10453         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10454         (gst_system_clock_id_unschedule):
10455         Use BROADCAST as this is what we do.
10456
10457 2005-06-29  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10460         We are actually prerolling before commiting the state
10461         change. 
10462
10463 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10464
10465         * docs/manual/advanced-clocks.xml:
10466         * docs/manual/advanced-interfaces.xml:
10467         * docs/manual/advanced-metadata.xml:
10468         * docs/manual/advanced-position.xml:
10469         * docs/manual/advanced-schedulers.xml:
10470         * docs/manual/advanced-threads.xml:
10471         * docs/manual/appendix-porting.xml:
10472         * docs/manual/basics-bins.xml:
10473         * docs/manual/basics-bus.xml:
10474         * docs/manual/basics-elements.xml:
10475         * docs/manual/basics-helloworld.xml:
10476         * docs/manual/basics-pads.xml:
10477         * docs/manual/highlevel-components.xml:
10478         * docs/manual/manual.xml:
10479         * docs/manual/thread.fig:
10480           Update (until threads/scheduling) Application Development Manual;
10481           remove GstThread, add GstBus, add simple porting checklist, add
10482           documentation for tag writing, clocks, make all examples until this
10483           part compile and run.
10484         * examples/manual/Makefile.am:
10485           Update from changes to Application Development Manual; add bus
10486           example, remove thread example.
10487
10488 2005-06-28  Wim Taymans  <wim@fluendo.com>
10489
10490         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10491         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10492         (gst_bus_source_dispatch):
10493         Add debugging messages.
10494         Make internal methods static.
10495         Handle the case where the bus is flushed in the handler.
10496         
10497         * gst/gstelement.c: (gst_element_get_bus):
10498         Fix refcount in _get_bus();
10499
10500         * gst/gstpipeline.c: (gst_pipeline_change_state),
10501         (gst_pipeline_get_clock_func):
10502         Clock refcounting fixes.
10503         Handle the case where preroll timed out more gracefully.
10504         
10505         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10506         Clean up the internal thread in dispose. This is needed
10507         for subclasses that actually get disposed.
10508         
10509         * gst/schedulers/threadscheduler.c:
10510         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10511         (gst_thread_scheduler_dispose):
10512         Free thread pool in dispose.
10513
10514 2005-06-28  Andy Wingo  <wingo@pobox.com>
10515
10516         * tests/network-clock-utils.scm (debug, print-event): New utils.
10517
10518         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10519         (*packet-loss*): Unified loss probability.
10520         (network-time): Report out-of-band events.
10521
10522         * tests/plot-data: Add support for out-of-band events. Hack it
10523         into this script instead of passing it down the pipe; should fix
10524         this later.
10525
10526 2005-06-28  Wim Taymans  <wim@fluendo.com>
10527
10528         * docs/gst/gstreamer.types:
10529         * docs/gst/tmpl/gstbasesrc.sgml:
10530         * docs/gst/tmpl/gstpad.sgml:
10531         Docs fixes.
10532
10533 2005-06-28  Wim Taymans  <wim@fluendo.com>
10534
10535         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10536         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10537         (gst_proxy_pad_do_fixatecaps):
10538         Correctly proxy the check_pull_range function.
10539
10540 2005-06-28  Andy Wingo  <wingo@pobox.com>
10541
10542         * tests/network-clock.scm: Removed need for slib.
10543         
10544 2005-06-28  Wim Taymans  <wim@fluendo.com>
10545
10546         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10547         (gst_basesink_preroll_queue_flush):
10548         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10549         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10550         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10551         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10552         (gst_proxy_pad_set_property):
10553         * gst/gstpad.c:
10554         * gst/gstpad.h:
10555         * gst/gstqueue.c: (gst_queue_init):
10556         The deprecated pad loop function is removed now.
10557
10558 2005-06-28  Andy Wingo  <wingo@pobox.com>
10559
10560         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10561         New parameters, simulate network packet loss.
10562
10563         * tests/network-clock-utils.scm: Initialize the RNG.
10564
10565 2005-06-28  Wim Taymans  <wim@fluendo.com>
10566
10567         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10568         (gst_basesink_event), (gst_basesink_deactivate):
10569         Flushing the preroll queue always needs to unlock the waiters.
10570
10571 2005-06-28  Edward Hervey  <edward@fluendo.com>
10572
10573         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10574         Wheen a seek was successful on a pipeline, set the stream_time to the
10575         seek offset in order to have a synchronized stream_time.
10576
10577 2005-06-28  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10580         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10581         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10582         (gst_proxy_pad_do_fixatecaps):
10583         Call wrapper function instead of just calling the function
10584         pointers. This takes care of any locking and whatmore.
10585
10586 2005-06-28  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10589         (gst_pad_pull_range):
10590         * gst/gstpad.h:
10591         CONNECTED -> LINKED.
10592
10593 2005-06-28  Andy Wingo  <wingo@pobox.com>
10594
10595         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10596         source-munging commit!!!
10597
10598         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10599         (gst_object_sink): Take gpointer arguments, not GstObject --
10600         avoids casts. Like GLib.
10601
10602         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10603         activate.
10604
10605 2005-06-27  Andy Wingo  <wingo@pobox.com>
10606
10607         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10608         remaining buffer.
10609
10610         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10611         returns a sorted copy of the trace list.
10612         (gst_alloc_trace_print_live): New API, only prints traces with
10613         live objects. Sort the list.
10614         (gst_alloc_trace_print_all): Sort the list.
10615         (gst_alloc_trace_print): Align columns.
10616
10617         * gst/elements/gstttypefindelement.c:
10618         * gst/elements/gsttee.c:
10619         * gst/base/gstbasesrc.c:
10620         * gst/base/gstbasesink.c:
10621         * gst/base/gstbasetransform.c:
10622         * gst/gstqueue.c: Adapt for pad activation changes.
10623
10624         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10625         sched.
10626         (gst_pipeline_dispose): Drop ref on sched.
10627
10628         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10629         (gst_pad_activate_default): Push mode by default.
10630         (pre_activate_switch, post_activate_switch): New stubs, things to
10631         do before and after switching activation modes on pads.
10632         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10633         the pad's activate function to choose which mode to activate.
10634         Shortcut on deactivation and call the right function directly.
10635         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10636         mode.
10637         (gst_pad_activate_push): New API, same for push mode.
10638         (gst_pad_set_activate_function) 
10639         (gst_pad_set_activatepull_function) 
10640         (gst_pad_set_activatepush_function): Setters for new API.
10641
10642         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10643         Trace all miniobjects.
10644         (gst_mini_object_make_writable): Unref the arg if we copy, like
10645         gst_caps_make_writable.
10646
10647         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10648
10649         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10650         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10651         Adapt for new pad API.
10652
10653         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10654
10655         * gst/gstelement.h:
10656         * gst/gstelement.c (gst_element_iterate_src_pads) 
10657         (gst_element_iterate_sink_pads): New API functions.
10658         
10659         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10660         should fold into gstiterator.c in some form.
10661         (gst_element_pads_activate): Simplified via use of fold and
10662         delegation of decisions to gstpad->activate.
10663
10664         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10665         help in debugging.
10666
10667         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10668         class once in init, like gstmessage. Didn't run into this issue
10669         but it seems correct. Don't initialize a trace, gstminiobject does
10670         that.
10671
10672         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10673         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10674         to the bus.
10675         (assert_live_count): New util function, uses alloc traces to check
10676         cleanup.
10677
10678         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10679         To be modified when unlink drops the internal pad.
10680
10681 2005-06-27  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10684         (gst_bin_change_state):
10685         Cleanup the get_state() function a little, make sure it
10686         iterates the same set of elements.
10687         Added stub iterate_state_order().
10688
10689 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * docs/gst/gstreamer-docs.sgml:
10692         * docs/gst/gstreamer-sections.txt:
10693         * docs/gst/gstreamer.types:
10694         * docs/gst/tmpl/gstbasesink.sgml:
10695         * docs/gst/tmpl/gstbasesrc.sgml:
10696         * docs/gst/tmpl/gstbasetransform.sgml:
10697         * docs/gst/tmpl/gstelement.sgml:
10698         * docs/gst/tmpl/gstiterator.sgml:
10699         * gst/base/gstbasesrc.c:
10700         * gst/base/gstbasesrc.h:
10701         * gst/base/gstbasetransform.h:
10702         * gst/gstelement.c:
10703         * gst/gstiterator.h:
10704           adding basetransform and iterator docs
10705
10706 2005-06-27  Andy Wingo  <wingo@pobox.com>
10707
10708         * docs/design/part-activation.txt: Notes on how activation should
10709         work -- not quite implemented yet.
10710
10711 2005-06-25  Wim Taymans  <wim@fluendo.com>
10712
10713         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10714         At least get the chain function correct, needs more
10715         fixing.
10716
10717 2005-06-25  Wim Taymans  <wim@fluendo.com>
10718
10719         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10720         (gst_basesink_handle_object), (gst_basesink_event),
10721         (gst_basesink_do_sync), (gst_basesink_handle_event),
10722         (gst_basesink_change_state):
10723         * gst/gsttask.h:
10724         Right, two problems here: ghostpads don't take locks and
10725         glib _rec_mutex_lock_full() with depth==0 still locks.
10726         Catch illegal locking and g_warn them.
10727
10728 2005-06-25  Wim Taymans  <wim@fluendo.com>
10729
10730         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10731         Have to check for completion now...
10732
10733 2005-06-25  Wim Taymans  <wim@fluendo.com>
10734
10735         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10736         (gst_basesink_handle_object), (gst_basesink_event),
10737         (gst_basesink_do_sync), (gst_basesink_handle_event),
10738         (gst_basesink_change_state):
10739         * gst/gstpad.h:
10740         Unlock STREAM_LOCK whatever the recursion was.
10741
10742 2005-06-25  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10745         (gst_basesink_preroll_queue_empty),
10746         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10747         (gst_basesink_event), (gst_basesink_do_sync),
10748         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10749         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10750         (gst_basesink_change_state):
10751         Reworked the base sink, handle event and buffer serialisation
10752         correctly and removed possible deadlock.
10753         Handle EOS correctly.
10754
10755 2005-06-25  Wim Taymans  <wim@fluendo.com>
10756
10757         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10758         (gst_pipeline_change_state):
10759         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10760         Allow elements to post EOS in the state change function.
10761         Fix up -launch, make it exit the poll loop when the
10762         pipeline actually changed state.
10763         Fix up warning parsing in -launch.
10764
10765 2005-06-25  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10768         (gst_tee_sink_activate):
10769         Core takes STREAM_LOCK for us now.
10770
10771 2005-06-25  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/gstelement.c: (gst_element_get_state_func),
10774         (gst_element_set_state):
10775         * gst/gstelement.h:
10776         * gst/gstmessage.c: (gst_message_parse_error),
10777         (gst_message_parse_warning):
10778         Keep track of current target state while performing a state
10779         change so that subclasses can do something interesting.
10780         Fix parsing of warning/error messages when GError is NULL.
10781
10782 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10783
10784         * docs/gst/Makefile.am:
10785         * docs/gst/gstreamer-docs.sgml:
10786         * docs/gst/gstreamer-sections.txt:
10787         * docs/gst/gstreamer.types:
10788         * docs/gst/tmpl/gstbasesink.sgml:
10789         * docs/gst/tmpl/gstbasesrc.sgml:
10790         * docs/gst/tmpl/gstbin.sgml:
10791         * docs/gst/tmpl/gstcompat.sgml:
10792         * docs/gst/tmpl/gstfakesink.sgml:
10793         * docs/gst/tmpl/gstfakesrc.sgml:
10794         * docs/gst/tmpl/gstfilesink.sgml:
10795         * docs/gst/tmpl/gstfilesrc.sgml:
10796         * docs/gst/tmpl/gstindex.sgml:
10797         * docs/manual/appendix-quotes.xml:
10798         * gst/base/gstbasesrc.h:
10799         * gst/elements/gstfakesrc.h:
10800         * gst/gstmessage.h:
10801           start pulling in base classes and elements in our docs
10802
10803 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10804
10805         * docs/gst/Makefile.am:
10806         * docs/libs/Makefile.am:
10807           fixed make distcheck with gtk-doc 1.3
10808
10809 2005-06-23  Wim Taymans  <wim@fluendo.com>
10810
10811         * gst/gstelement.c: (gst_element_get_state_func),
10812         (gst_element_set_state), (gst_element_change_state):
10813         When the state did not change, also report NO_PREROLL
10814         when it matters.
10815
10816 2005-06-23  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/gstpad.c: (gst_pad_event_default):
10819         * gst/gstqueue.c: (gst_queue_loop):
10820         No unsafe task pausing please.
10821
10822 2005-06-23  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/schedulers/threadscheduler.c:
10825         (gst_thread_scheduler_task_start),
10826         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10827         Ref the task before pushing it on the threadpool. This
10828         makes sure that we have a ref when the threadfunction is
10829         actually called.
10830
10831 2005-06-23  Andy Wingo  <wingo@pobox.com>
10832
10833         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10834         offset is greater than the file's size.
10835
10836         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10837         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10838         * gst/gstobject.c (gst_object_class_init): Make the class lock
10839         recursive. Wim won't let me drop deep_notify. Decodebin works
10840         again, whoopdy doo.
10841
10842         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10843         internal pad, and hacks accordingly. Doesn't do it on the target
10844         pad because we change its caps. Probably catches all cases of
10845         interest tho.
10846         (gst_ghost_pad_set_property): Connect to notify::caps as
10847         appropritate.
10848
10849         * tests/network-clock.scm (plot-simulation): Pipe data to the
10850         elite python skript.
10851
10852         * tests/network-clock-utils.scm (define-parameter): New macro,
10853         defines a parameter that can be set via the command line.
10854         (set-parameter!, parse-parameter-arguments): Command line args
10855         parser.
10856
10857         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10858         stdin.
10859
10860 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10861
10862         * gst/elements/gsttypefindelement.c:
10863         (gst_type_find_element_handle_event):
10864           Don't restart typefinding on a discont.
10865         * gst/gstelement.c: (gst_element_set_state):
10866           Debug spelling fix.
10867         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10868           Allow changing mode of an active pad.
10869           Debug output fixes.
10870         * gst/registries/gstlibxmlregistry.c: (load_feature):
10871           Don't cast a static pad template to a normal pad template.
10872
10873 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10874
10875         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10876         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10877           remove gst_strtoll completely, since it didn't actually do
10878           anything more than what g_ascii_strtoull already does.
10879           check for range errors when deserializing
10880           do a cast for the unsigned cases; but further fixing needs
10881           a decision on what the interpretation of "(int)" and
10882           deserialization should be for values that fall outside the
10883           type's boundaries (ie, refuse, or interpret as casting)
10884
10885 2005-06-23  Wim Taymans  <wim@fluendo.com>
10886
10887         * check/Makefile.am:
10888         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10889         * docs/design/part-live-source.txt:
10890         * docs/design/part-states.txt:
10891         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10892         (gst_basesrc_set_live), (gst_basesrc_is_live),
10893         (gst_basesrc_get_range), (gst_basesrc_activate),
10894         (gst_basesrc_change_state):
10895         * gst/base/gstbasesrc.h:
10896         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10897         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10898         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10899         * gst/gstelement.c: (gst_element_get_state_func),
10900         (gst_element_set_state):
10901         * gst/gstelement.h:
10902         * gst/gsttypes.h:
10903         * tools/gst-launch.c: (event_loop), (main):
10904         Added support for live sources and other elements that
10905         cannot do preroll.
10906         Updated design docs, added live-source design doc.
10907         Implemented live source functionality in basesrc
10908         Fix error condition in _bin_get_state()
10909         Implement live source handling in -launch.
10910         Added check for live sources.
10911         Fixed case in GstBin where elements were changed state
10912         multiple times.
10913
10914
10915 2005-06-23  Andy Wingo  <wingo@pobox.com>
10916
10917         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10918         borken refcounting.
10919
10920         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10921         gst_caps_replace takes care of this for us.
10922
10923         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10924         gst_pad_set_caps on the target, not just its setcaps() function.
10925
10926         * tests/network-clock.scm: 
10927         * tests/network-clock-utils.scm: A network clock simulator.
10928         Something of an algorithmic testbed before doing something in C.
10929
10930 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10931
10932         * check/Makefile.am:
10933         * check/gst/capslist.h:
10934           copy over from 0.8, and add two with bitmasks specified with
10935           (int) 0xFF...
10936         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10937           add test to parse everything from capslist.h
10938         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10939         (main):
10940           add test for structure deserialization
10941         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10942           add tests for deserialization of strings to int types
10943         * gst/gststructure.c: (gst_structure_nth_field_name):
10944         * gst/gststructure.h:
10945           add a way to get the name of a field referenced by index
10946         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10947           instead of checking if the resulting long long lies between
10948           min and max, we check if the long long would fit into
10949           a number of bytes for the final type.
10950           This fixes cases where a string represents 2^32 - 1, which
10951           when cast to int would be the (valid) -1, but is bigger than
10952           G_MAXINT
10953
10954 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10955
10956         * gst/parse/grammar.y:
10957           add a log line for type deserialization
10958
10959 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * check/gst/gstvalue.c: (START_TEST):
10962         * gst/gstvalue.c: (gst_value_deserialize):
10963           return long long, not int, so gint64 deserialization actually
10964           works.  Is there any flag that makes the compiler check this ?
10965           Fixes #308559
10966
10967 2005-06-22  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstbuffer.h:
10970         Added convenience macros for setting buffers in GValue.
10971
10972 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * check/gst/.cvsignore:
10975         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10976           add a test deserializing int64, and comment part out because
10977           it fails, yay !
10978
10979 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10980
10981         * check/Makefile.am:
10982         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10983         * testsuite/Makefile.am:
10984         * testsuite/caps/Makefile.am:
10985         * testsuite/caps/value_serialize.c:
10986         * testsuite/test_gst_init.c:
10987           move a value_serialize test over
10988
10989 2005-06-20  Wim Taymans  <wim@fluendo.com>
10990
10991         * gst/gstpad.c:
10992         Small doc updates.
10993         
10994         * gst/gstvalue.c: (gst_value_compare_buffer),
10995         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10996         (gst_value_compare_flags), (gst_value_serialize_flags),
10997         (gst_value_deserialize_flags), (_gst_value_initialize):
10998         Fix serialisation of buffers, they are not boxed types anymore
10999
11000 2005-06-20  Wim Taymans  <wim@fluendo.com>
11001
11002         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11003         Testcase to show error in buffer-on-caps serialisation.
11004
11005 2005-06-20  Andy Wingo  <wingo@pobox.com>
11006
11007         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11008         will be adding to later.
11009
11010         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11011         if its socks fill with rocks.
11012         (gst_system_clock_obtain): Set the name on object construction.
11013         Avoid double-checked locking.
11014
11015 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11016
11017         * gst/gsturi.c: (gst_element_make_from_uri):
11018           Fix potential endless loop.
11019
11020 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * check/Makefile.am:
11023           add gsttag
11024         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11025         (main):
11026           move over from testsuite dir and clean up
11027         * configure.ac:
11028         * gst/gsttag.c:
11029         * testsuite/Makefile.am:
11030         * testsuite/tags/.cvsignore:
11031         * testsuite/tags/Makefile.am:
11032         * testsuite/tags/merge.c:
11033           remove testsuite/tags
11034
11035 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11036
11037         * docs/gst/gstreamer-sections.txt:
11038         * docs/gst/tmpl/gstenumtypes.sgml:
11039         * win32/gstenumtypes.c:
11040           clean up documentation build a little
11041
11042 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * check/gstcheck.h:
11045           add macros for checking refcounts on objects and caps
11046         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11047           add some more unit tests
11048         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11049         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11050           fix leaked refcounts (I hope :)) so unittest works
11051         * gst/gstpad.h:
11052           whitespace removal
11053
11054 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * configure.ac: back to HEAD
11057
11058 === release 0.9.1 ===
11059
11060 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * NEWS:
11063         * RELEASE:
11064           updated
11065
11066 2005-06-17  Andy Wingo  <wingo@pobox.com>
11067
11068         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11069         assert; it's always possible that the pad gets deactivated in
11070         between the checks in gstpad.c and the implementation. Rely on
11071         finish_preroll() to return a FLUSHING or similar instead of on the
11072         assert.
11073         
11074         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11075         clock and post an EOS message if we come out of finish_preroll in
11076         the playing state.
11077
11078 2005-06-16  David Schleef  <ds@schleef.org>
11079
11080         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11081         (gst_capsfilter_set_property): Allow NULL as possible value
11082         for filter_caps property, indicating GST_CAPS_ANY.
11083
11084 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11085
11086         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11087           fix debug output
11088         * gst/schedulers/Makefile.am:
11089           use libgst prefix
11090         * gstreamer.spec.in:
11091           fix spec for it
11092
11093 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11094
11095         * gstreamer.spec.in:
11096           clean up
11097
11098 2005-06-08  Andy Wingo  <wingo@pobox.com>
11099
11100         * gst/gstutils.c: RPAD fixes all around.
11101         (gst_element_link_pads): Refcounting fixes.
11102
11103         * tools/gst-inspect.c:
11104         * tools/gst-xmlinspect.c:
11105         * parse/grammar.y:
11106         * gst/base/gsttypefindhelper.c:
11107         * gst/base/gstbasesink.c:
11108         * gst/gstqueue.c: RPAD fixes.
11109
11110         * gst/gstghostpad.h:
11111         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11112         pads. The tricky thing is they provide both source and sink
11113         interfaces, since they proxy the internal pad for the external
11114         pad, and vice versa. Implement with lower-level ProxyPad objects,
11115         with the interior proxy pad as a child of the exterior ghost pad.
11116         Should write a doc on this.
11117         
11118         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11119         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11120         gst_object API.
11121         
11122         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11123         pads are real pads. No ghost pads in this file. Not documenting
11124         the myriad s/RPAD/PAD/ and REALIZE fixes.
11125         (gst_pad_class_init): Add properties for "direction" and
11126         "template". Both are construct-only, so they can't change during
11127         the life of the pad. Fixes properly deriving from GstPad.
11128         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11129         derived objects, just set properties when creating the objects via
11130         g_object_new.
11131         (gst_pad_get_parent): Implement as a function, return NULL if the
11132         parent is not an element.
11133         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11134         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11135         
11136         * gst/gstobject.c (gst_object_class_init): Make name a construct
11137         property. Don't set it in the object init.
11138
11139         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11140         with UNKNOWN direction.
11141         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11142         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11143         (gst_element_remove_pad): Remove ghost-pad special cases.
11144         (gst_element_pads_activate): Remove rpad cruft.
11145
11146         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11147         catch the pad's-parent-not-an-element case.
11148
11149         * gst/gst.h: Include gstghostpad.h.
11150
11151         * gst/gst.c (init_post): No more real, ghost pads.
11152
11153         * gst/Makefile.am: Add gstghostpad.[ch].
11154
11155         * check/Makefile.am:
11156         * check/gst/gstbin.c:
11157         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11158         into a bin creates ghost pads, and that the refcounts are right.
11159         Partly moved from gstbin.c.
11160
11161 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11162
11163         * check/gst-libs/.cvsignore:
11164         * check/gst/.cvsignore:
11165         * check/pipelines/.cvsignore:
11166           ignore more
11167         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11168         (START_TEST), (cleanup_suite), (main):
11169           add some tests related to cleanup after running pipelines
11170
11171 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11172
11173         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11174           add a testsuite for GstBuffer
11175
11176 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * gst/gstminiobject.h:
11179           add defines for accessing the refcount
11180
11181 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11182
11183         * Makefile.am: added support for html unit test coverage reports
11184
11185 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11186
11187         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11188           Free existing caps if the capsfilter changes. Add a FIXME about
11189           setting those caps on the pads.
11190
11191         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11192           Before adding a ghost pad to a parent bin, check that there isn't
11193           already one for the element on the bin. Prevents infinite recursion
11194           when using decodebin in parse pipelines. Andy says he'll rewrite the
11195           way this works anyway, so ignore the hack.
11196
11197 2005-06-02  Andy Wingo  <wingo@pobox.com>
11198
11199         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11200         file size, pass it on to the type find helper.
11201
11202         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11203         segment_start and segment_end properly according to the seek
11204         method. Segment_end is still a bit flaky because offset can be
11205         negative for CUR and END cases, but it takes -1 as an "unset"
11206         value.
11207
11208 2005-06-02  Wim Taymans  <wim@fluendo.com>
11209
11210         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11211         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11212         (gst_basesink_activate):
11213         * gst/base/gstbasesink.h:
11214         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11215         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11216         (gst_pad_query), (gst_pad_start_task):
11217         * gst/gstpad.h:
11218         * gst/gstqueue.c: (gst_queue_bufferalloc),
11219         (gst_queue_handle_sink_event), (gst_queue_chain):
11220         Bufferalloc: return GstFlowReturn to more accuratly report
11221         why allocation failed.
11222
11223 2005-06-02  Wim Taymans  <wim@fluendo.com>
11224
11225         * gst/gstpipeline.c: (gst_pipeline_send_event):
11226         Take snapshot of state without blocking.
11227
11228 2005-06-02  Wim Taymans  <wim@fluendo.com>
11229
11230         * docs/design/part-TODO.txt:
11231         * docs/design/part-caps.txt:
11232         * docs/design/part-clocks.txt:
11233         * docs/design/part-negotiation.txt:
11234         * docs/design/part-preroll.txt:
11235         Small doc updates 
11236
11237 2005-05-30  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/elements/gstidentity.c: (gst_identity_event),
11240         (gst_identity_transform), (gst_identity_get_property):
11241         Protect last_message property as it is accessed from
11242         multiple threads.
11243
11244 2005-05-30  Wim Taymans  <wim@fluendo.com>
11245
11246         * gst/gstelement.c: (gst_element_init),
11247         (gst_element_pads_activate), (gst_element_change_state):
11248         Slicker pad activation code.
11249
11250 2005-05-30  Wim Taymans  <wim@fluendo.com>
11251
11252         * gst/Makefile.am:
11253         * gst/gstelement.h:
11254         * gst/gstelementfactory.h:
11255         * gst/gsttypes.h:
11256         Move elementfactory methods to separate .h file.
11257
11258 2005-05-30  Wim Taymans  <wim@fluendo.com>
11259
11260         * docs/design/part-overview.txt:
11261         * gst/gstsystemclock.h:
11262         Small typo fixes, doc updates.
11263
11264 2005-05-30  Wim Taymans  <wim@fluendo.com>
11265
11266         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11267         (init_popt_callback):
11268         Remove cpu-opt flag.
11269
11270 2005-05-30  Wim Taymans  <wim@fluendo.com>
11271
11272         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11273         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11274         * gst/gstbuffer.h:
11275         Avoid typechecking in places where not needed.
11276         Added accessor for malloc_data.
11277
11278 2005-05-30  Wim Taymans  <wim@fluendo.com>
11279
11280         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11281         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11282         (gst_pad_configure_sink), (gst_pad_configure_src),
11283         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11284         (gst_pad_start_task):
11285         Propagate errors from _set_caps() in configure_src/sink
11286         functions instead of returning TRUE.
11287         FLUSH events can travel up and downstream
11288
11289
11290 2005-05-30  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11293         (gst_basesink_activate):
11294         Handle EOS in preroll.
11295
11296 2005-05-30  Wim Taymans  <wim@fluendo.com>
11297
11298         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11299         (gst_queue_loop), (gst_queue_handle_src_event):
11300         Remove old pieces of code
11301         Flushing the queue in an upstream event is a very bad idea.
11302
11303 2005-05-26  Andy Wingo  <wingo@pobox.com>
11304
11305         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11306         gst_value_set_mini_object so as to add a ref on the object (which
11307         will be removed when the value is unset).
11308
11309         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11310         arg type in ::handoff.
11311
11312         * gst/gstelement.c (gst_element_change_state): Also deactivate
11313         pads in READY->NULL, just in case the element didn't make it to
11314         PAUSED. Wingo tested, Wim approved.
11315
11316 2005-05-26  Wim Taymans  <wim@fluendo.com>
11317
11318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11319         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11320         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11321         A flushing pad cannot be used to alloc_buffer from.
11322
11323 2005-05-26  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11326         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11327         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11328         (gst_bus_create_watch), (gst_bus_add_watch_full):
11329         * gst/gstbus.h:
11330         Implement a real GSource and use g_main_context_wakeup() to
11331         signal new messages instead of the socketpair.
11332
11333 2005-05-25  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11336         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11338         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11339         (gst_pad_send_event), (gst_pad_start_task):
11340         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11341         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11342         (gst_queue_sink_activate), (gst_queue_src_activate),
11343         (gst_queue_change_state):
11344         * gst/gstqueue.h:
11345         Fix state changes for non sinks. We now change sinks, then elements
11346         with unconnected srcpads, then the rest.
11347         More efficient queue unlocking in flush and state changes.
11348         Set the pad activate mode even if it does not have an activate
11349         function.
11350
11351 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11352
11353         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11354           Don't go in pull mode for non-seekable sources.
11355         * gst/elements/gsttypefindelement.h:
11356         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11357         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11358         (free_entry), (stop_typefinding),
11359         (gst_type_find_element_handle_event), (find_peek),
11360         (gst_type_find_element_chain), (do_pull_typefind),
11361         (gst_type_find_element_change_state):
11362           Allow typefinding (w/o seeking) in push-mode, simplified version
11363           of what was in 0.8.
11364         * gst/gstutils.c: (gst_buffer_join):
11365         * gst/gstutils.h:
11366           gst_buffer_join() from 0.8.
11367
11368 2005-05-25  Wim Taymans  <wim@fluendo.com>
11369
11370         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11371         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11372         (gst_pad_send_event), (gst_pad_start_task):
11373         Disable attempt at mode switching until it is figured out.
11374
11375 2005-05-25  Wim Taymans  <wim@fluendo.com>
11376
11377         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11378         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11379         (gst_basesink_finish_preroll), (gst_basesink_chain),
11380         (gst_basesink_loop), (gst_basesink_activate),
11381         (gst_basesink_change_state):
11382         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11383         (gst_basesrc_get_range), (gst_basesrc_loop),
11384         (gst_basesrc_activate):
11385         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11386         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11387         (gst_real_pad_init), (gst_real_pad_set_property),
11388         (gst_real_pad_get_property), (gst_pad_set_active),
11389         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11390         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11391         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11392         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11393         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11394         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11395         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11396         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11397         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11398         (gst_pad_stop_task):
11399         * gst/gstpad.h:
11400         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11401         (gst_queue_loop), (gst_queue_src_activate):
11402         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11403         (gst_task_get_state):
11404         * gst/gsttask.h:
11405         * gst/schedulers/threadscheduler.c:
11406         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11407         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11408         in task function.
11409         Remove ACTIVE pad flag, use FLUSHING everywhere
11410         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11411         functions.
11412         Add locks around IS_FLUSHING when reading.
11413         Take STREAM lock in chain(), get_range() functions so plugins
11414         don't need to take it anymore.
11415         
11416
11417
11418 2005-05-25  Wim Taymans  <wim@fluendo.com>
11419
11420         * tools/gst-launch.c: (event_loop):
11421         Unref message after using its contents instead of
11422         before.
11423
11424 2005-05-24  Wim Taymans  <wim@fluendo.com>
11425
11426         * docs/design/draft-ghostpads.txt:
11427         * docs/design/draft-push-pull.txt:
11428         * docs/design/draft-query.txt:
11429         * docs/design/part-overview.txt:
11430         Docs updates, added general overview doc.
11431
11432 2005-05-21  David Schleef  <ds@schleef.org>
11433
11434         * docs/gst/tmpl/old/GstBin.sgml:
11435         * docs/gst/tmpl/old/GstBuffer.sgml:
11436         * docs/gst/tmpl/old/GstCaps.sgml:
11437         * docs/gst/tmpl/old/GstClock.sgml:
11438         * docs/gst/tmpl/old/GstCompat.sgml:
11439         * docs/gst/tmpl/old/GstData.sgml:
11440         * docs/gst/tmpl/old/GstElement.sgml:
11441         * docs/gst/tmpl/old/GstEvent.sgml:
11442         * docs/gst/tmpl/old/GstIndex.sgml:
11443         * docs/gst/tmpl/old/GstStructure.sgml:
11444         * docs/gst/tmpl/old/GstTag.sgml:
11445         * docs/gst/tmpl/old/cothreads.sgml:
11446         * docs/gst/tmpl/old/cothreads_compat.sgml:
11447         * docs/gst/tmpl/old/gettext.sgml:
11448         * docs/gst/tmpl/old/gobject2gtk.sgml:
11449         * docs/gst/tmpl/old/grammar.tab.sgml:
11450         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11451         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11452         * docs/gst/tmpl/old/gst_private.sgml:
11453         * docs/gst/tmpl/old/gstaggregator.sgml:
11454         * docs/gst/tmpl/old/gstarch.sgml:
11455         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11456         * docs/gst/tmpl/old/gstbufferstore.sgml:
11457         * docs/gst/tmpl/old/gstdata_private.sgml:
11458         * docs/gst/tmpl/old/gstdisksink.sgml:
11459         * docs/gst/tmpl/old/gstdisksrc.sgml:
11460         * docs/gst/tmpl/old/gstelementfactory.sgml:
11461         * docs/gst/tmpl/old/gstextratypes.sgml:
11462         * docs/gst/tmpl/old/gstfakesink.sgml:
11463         * docs/gst/tmpl/old/gstfakesrc.sgml:
11464         * docs/gst/tmpl/old/gstfdsink.sgml:
11465         * docs/gst/tmpl/old/gstfdsrc.sgml:
11466         * docs/gst/tmpl/old/gstfilesink.sgml:
11467         * docs/gst/tmpl/old/gstfilesrc.sgml:
11468         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11469         * docs/gst/tmpl/old/gstidentity.sgml:
11470         * docs/gst/tmpl/old/gstindexfactory.sgml:
11471         * docs/gst/tmpl/old/gstmarshal.sgml:
11472         * docs/gst/tmpl/old/gstmd5sink.sgml:
11473         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11474         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11475         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11476         * docs/gst/tmpl/old/gstpipefilter.sgml:
11477         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11478         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11479         * docs/gst/tmpl/old/gstshaper.sgml:
11480         * docs/gst/tmpl/old/gstspider.sgml:
11481         * docs/gst/tmpl/old/gstspideridentity.sgml:
11482         * docs/gst/tmpl/old/gststatistics.sgml:
11483         * docs/gst/tmpl/old/gsttee.sgml:
11484         * docs/gst/tmpl/old/gsttimecache.sgml:
11485         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11486         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11487         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11488         * docs/gst/tmpl/old/types.sgml:
11489           I didn't intend to add these or check them in.
11490
11491 2005-05-19  David Schleef  <ds@schleef.org>
11492
11493         * configure.ac: Use -no-common everywhere.  In a sane world, it
11494           would be the default in libtool, because without it, you can't
11495           build DLLs on Windows.
11496         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11497         * docs/gst/gstreamer-sections.txt:
11498         * docs/gst/tmpl/gstcpu.sgml:
11499         * docs/gst/tmpl/gstdata.sgml:
11500         * docs/gst/tmpl/gstthread.sgml:
11501
11502 2005-05-19  David Schleef  <ds@schleef.org>
11503
11504         * gst/gstminiobject.c: (gst_value_set_mini_object),
11505         (gst_value_take_mini_object), (gst_value_get_mini_object):
11506         * gst/gstminiobject.h: Add GValue set/get functions.
11507
11508 2005-05-19  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11511         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11512         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11513         * gst/gstbuffer.h:
11514         * gst/gstbus.c: (gst_bus_post):
11515         * gst/gstelement.c: (gst_element_get_random_pad):
11516         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11517         Make subbufer unref the parent in finalize.
11518         some more debugging info.
11519
11520
11521 2005-05-19  Wim Taymans  <wim@fluendo.com>
11522
11523         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11524         (gst_basesink_init), (gst_basesink_finalize),
11525         (gst_basesink_activate), (gst_basesink_change_state):
11526         Don't free preroll queue too early.
11527
11528 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * gst/Makefile.am:
11531         * gst/ROADMAP:
11532           Hi, I'm outdated. Please shoot me.
11533
11534 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11535
11536         * gst/gstpipeline.c: (gst_pipeline_send_event):
11537           Do not access variables after they have been deleted.
11538
11539 2005-05-19  Wim Taymans  <wim@fluendo.com>
11540
11541         * tools/gst-inspect.c: (print_plugin_features):
11542         A plugin feature does unfortunatly not use the
11543         object name yet...
11544
11545 2005-05-18  Wim Taymans  <wim@fluendo.com>
11546
11547         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11548         Port _span() functions to new subbuffers.
11549
11550 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11551
11552         * gst/gstbin.c: (gst_bin_add_func):
11553           Fix clock settery in bins when adding kids after the clock has
11554           been selected.
11555
11556 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11557
11558         * gst/elements/gstidentity.c: (gst_identity_class_init):
11559           Workaround until signals support GstMiniObject.
11560
11561 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11562
11563         * gst/gstbuffer.c:
11564         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11565
11566 2005-05-18  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/base/Makefile.am:
11569         * gst/base/gstadapter.c: (gst_adapter_base_init),
11570         (gst_adapter_class_init), (gst_adapter_init),
11571         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11572         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11573         (gst_adapter_flush), (gst_adapter_available),
11574         (gst_adapter_available_fast):
11575         * gst/base/gstadapter.h:
11576         Ported and added adapter to the base classes.
11577
11578 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11579
11580         * gst/gst.c:
11581         * gst/gstmessage.c:
11582           Make sure the class is reffed/unreffed once before threads can be
11583           used.  Fixes #304551.
11584
11585 2005-05-17  Wim Taymans  <wim@fluendo.com>
11586
11587         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11588         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11589         * gst/gstminiobject.c: (gst_mini_object_get_type),
11590         (gst_mini_object_free):
11591         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11592         (gst_pad_push), (gst_pad_push_event):
11593         * gst/gstqueue.c: (gst_queue_change_state):
11594         Don't queue buffers in basesink when we are flushing.
11595         Unref buffer when flushing in basesink.
11596         Flush queue when going to READY
11597         Unref buffer when _push() returns an error.
11598         Don't free MiniObject instance when refcount is incremented
11599         in _finalize() so that we can recover objects.
11600
11601 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11602
11603         * docs/manual/advanced-schedulers.xml:
11604         * docs/manual/appendix-checklist.xml:
11605         * docs/pwg/advanced-clock.xml:
11606         * docs/pwg/advanced-interfaces.xml:
11607         * docs/pwg/advanced-request.xml:
11608         * docs/pwg/advanced-types.xml:
11609         * docs/pwg/intro-preface.xml:
11610         * examples/plugins/example.c: (gst_example_get_type),
11611         (gst_example_class_init), (gst_example_chain),
11612         (gst_example_set_property), (gst_example_get_property),
11613         (gst_example_change_state), (plugin_init):
11614         * examples/plugins/example.h:
11615           small doc fixes
11616
11617 2005-05-17  Wim Taymans  <wim@fluendo.com>
11618
11619         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11620         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11621         * gst/gstqueue.c: (gst_queue_change_state):
11622         Clear queue when going to READY.
11623         Remove IN_SETCAPS flag too.
11624
11625 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11626
11627         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11628           Remove implicit cast from gboolean to GstElementStateReturn;
11629           make sure we still return failure in paused => ready case if
11630           the parent class fails to change state and our own stop 
11631           vfunc succeeds.
11632
11633 2005-05-17  Wim Taymans  <wim@fluendo.com>
11634
11635         * tools/gst-launch.c: (event_loop):
11636         Message was unreffed too soon.
11637
11638 2005-05-16  Andy Wingo  <wingo@pobox.com>
11639
11640         * gst/gstbin.c (sink_iterator_filter): Err... um...
11641
11642         * check/gst/gstbin.c (test_ghost_pads): New test for the
11643         ghosting-if-elements-not-in-same-bin behavior.
11644
11645 2005-05-16  David Schleef  <ds@schleef.org>
11646
11647         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11648         accessing refcount directly.
11649
11650 2005-05-15  David Schleef  <ds@schleef.org>
11651
11652         * check/Makefile.am: remove GstData checks
11653         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11654         * gst/Makefile.am: add miniobject, remove data
11655         * gst/gst.h: add miniobject, remove data
11656         * gst/gstdata.c: remove
11657         * gst/gstdata.h: remove
11658         * gst/gstdata_private.h: remove
11659         * gst/gsttypes.h: remove GstEvent and GstMessage
11660         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11661         * gst/gstmarshal.list: change BOXED -> OBJECT
11662
11663         Implement GstMiniObject.
11664         * gst/gstminiobject.c:
11665         * gst/gstminiobject.h:
11666
11667         Modify to be subclasses of GstMiniObject.
11668         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11669         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11670         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11671         (gst_subbuffer_get_type), (gst_subbuffer_init),
11672         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11673         (gst_buffer_span):
11674         * gst/gstbuffer.h:
11675         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11676         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11677         (_gst_event_copy), (gst_event_new):
11678         * gst/gstevent.h:
11679         * gst/gstmessage.c: (_gst_message_initialize),
11680         (gst_message_get_type), (gst_message_class_init),
11681         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11682         (gst_message_new), (gst_message_new_error),
11683         (gst_message_new_warning), (gst_message_new_tag),
11684         (gst_message_new_state_changed), (gst_message_new_application):
11685         * gst/gstmessage.h:
11686         * gst/gstprobe.c: (gst_probe_perform),
11687         (gst_probe_dispatcher_dispatch):
11688         * gst/gstprobe.h:
11689         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11690         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11691         (_gst_query_copy), (gst_query_new):
11692
11693         Update elements for GstData -> GstMiniObject changes
11694         * gst/gstquery.h:
11695         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11696         (gst_queue_chain), (gst_queue_loop):
11697         * gst/elements/gstbufferstore.c:
11698         (gst_buffer_store_add_buffer_func),
11699         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11700         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11701         (gst_fakesink_render):
11702         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11703         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11704         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11705         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11706         (gst_filesrc_create_read):
11707         * gst/elements/gstidentity.c: (gst_identity_class_init):
11708         * gst/elements/gsttypefindelement.c:
11709         (gst_type_find_element_src_event), (free_entry_buffers),
11710         (gst_type_find_element_handle_event):
11711         * libs/gst/dataprotocol/dataprotocol.c:
11712         (gst_dp_header_from_buffer):
11713         * libs/gst/dataprotocol/dataprotocol.h:
11714         * libs/gst/dataprotocol/dp-private.h:
11715
11716 2005-05-15  David Schleef  <ds@schleef.org>
11717
11718         * gst/elements/gstelements.c: Don't include headers that were
11719         just removed.
11720
11721 2005-05-15  David Schleef  <ds@schleef.org>
11722
11723         * gst/elements/Makefile.am: Remove some elements that don't
11724         need to be in the core (or even exist at all).
11725         * gst/elements/gstaggregator.c:
11726         * gst/elements/gstaggregator.h:
11727         * gst/elements/gstmd5sink.c:
11728         * gst/elements/gstmd5sink.h:
11729         * gst/elements/gstmultifilesrc.c:
11730         * gst/elements/gstmultifilesrc.h:
11731         * gst/elements/gstpipefilter.c:
11732         * gst/elements/gstpipefilter.h:
11733         * gst/elements/gstshaper.c:
11734         * gst/elements/gstshaper.h:
11735         * gst/elements/gststatistics.c:
11736         * gst/elements/gststatistics.h:
11737         * po/POTFILES.in: Remove above files.
11738
11739 2005-05-14  Andy Wingo  <wingo@pobox.com>
11740
11741         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11742         so as to get the refs right.
11743         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11744         unreffing objects that don't pass the filter.
11745
11746         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11747         gst_element_set_bus.
11748         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11749         normal cases, this will destroy the bus.
11750
11751         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11752         object.
11753
11754         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11755         has no sinks.
11756
11757 2005-05-13  Andy Wingo  <wingo@pobox.com>
11758
11759         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11760         gst_pad_link, call pad_link_maybe_ghosting,
11761         (pad_link_maybe_ghosting): Links pads, making sure that the
11762         elements being linked are in the same bin.
11763         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11764         Helpers for pad_link_maybe_ghosting.
11765
11766 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11767
11768         * configure.ac:
11769           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11770
11771 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11772
11773         * docs/design/part-element-source.txt:
11774           Mention GstPushSrc
11775
11776 2005-05-12  Wim Taymans  <wim@fluendo.com>
11777
11778         * gst/base/gstbasesink.c: (gst_basesink_init),
11779         (gst_basesink_activate):
11780         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11781         (gst_basesrc_is_seekable):
11782         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11783         (bin_element_is_sink), (gst_bin_change_state):
11784         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11785         * gst/gstelement.h:
11786         Identify sinks by their flag to avoid overly complicated
11787         checks (fow now).
11788         Do state changes even for elements not reachable from the
11789         sinks.
11790         BaseSink is a sink now :)
11791         Some more debugging info in the basesrc.
11792
11793
11794 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11795
11796         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11797           Implement _query on a bin, similar to _send_event.
11798
11799 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11800
11801         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11802           Discont event offset format should be GST_FORMAT_BYTES,
11803           not GST_FORMAT_TIME.
11804
11805 2005-05-12  Wim Taymans  <wim@fluendo.com>
11806
11807         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11808         Same fix as Ronald's but without the signal. 
11809
11810 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11811
11812         * gst/gstutils.c: (gst_element_query_position):
11813           No, an element is not a pad.
11814
11815 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11816
11817         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11818         (gst_bin_get_state):
11819           If a child is removed from a bin while we remove the child from
11820           the bin and while we're retrieving its state, signal this to the
11821           get_state function so we abort the wait (instead of waiting for
11822           a timeout) and can immediately re-iterate over all other elements.
11823
11824 2005-05-12  Wim Taymans  <wim@fluendo.com>
11825
11826         * gst/base/Makefile.am:
11827         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11828         (gst_basesrc_start):
11829         * gst/base/gstbasesrc.h:
11830         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11831         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11832         (gst_pushsrc_init), (gst_pushsrc_create):
11833         * gst/base/gstpushsrc.h:
11834         Added is_seekable to BaseSrc
11835         Added simple PushSrc.
11836
11837 2005-05-11  Wim Taymans  <wim@fluendo.com>
11838
11839         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11840         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11841         (gst_element_link_pads), (gst_element_query_position),
11842         (gst_element_query_convert), (intersect_caps_func),
11843         (gst_pad_query_position), (gst_pad_query_convert):
11844         Fix refcounting in utils function.
11845         No point in trying to activate a pad when it's added, it could
11846         be added from the state change function and then we deadlock, the
11847         element has to decide what to do.
11848
11849 2005-05-10  Andy Wingo  <wingo@pobox.com>
11850
11851         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11852         *all* the arguments.
11853
11854         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11855         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11856         lock (according to the docs -- if this is wrong change the docs).
11857
11858         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11859         flush messages in the NULL state.
11860
11861         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11862         message immediately and return.
11863         (gst_bus_set_flushing): New function. If a bus is flushing, it
11864         flushes out any queued messages and immediately unrefs new
11865         messages. This is so when an element goes to NULL, all of the
11866         unhandled messages coming from it can be freed, and their
11867         references to the element dropped. In other words: message source
11868         ref considered harmful :P
11869
11870         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11871         we're finished with it.
11872
11873         * gst/gstmessage.c (gst_message_new_state_changed): 
11874
11875 2005-05-10  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/gstvalue.c: (gst_value_compare_flags),
11878         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11879         (_gst_value_initialize):
11880         Added flags serialize/deserialize/compare code.
11881
11882 2005-05-09  Andy Wingo  <wingo@pobox.com>
11883
11884         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11885         Intersect the peer's caps with our caps.
11886
11887 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11888
11889         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11890         * gst/elements/gsttypefindelement.c: (find_peek):
11891           Handle negative offsets better. Fixes decodebin.
11892
11893 2005-05-09  Wim Taymans  <wim@fluendo.com>
11894
11895         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11896         (gst_base_transform_event):
11897         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11898         Implement accept_caps.
11899         Fix silly lock/unlock mismatch in base class.
11900
11901 2005-05-09  Wim Taymans  <wim@fluendo.com>
11902
11903         * docs/design/draft-push-pull.txt:
11904         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11905         * gst/elements/gstfilesink.c: (gst_filesink_init),
11906         (gst_filesink_query):
11907         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11908         (gst_type_find_handle_src_query), (find_element_get_length):
11909         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11910         * gst/gstelement.h:
11911         * gst/gstmessage.c:
11912         * gst/gstmessage.h:
11913         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11914         (gst_real_pad_get_caps_unlocked),
11915         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11916         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11917         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11918         (gst_real_pad_dispose), (gst_real_pad_finalize),
11919         (gst_pad_load_and_link), (gst_pad_save_thyself),
11920         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11921         (gst_pad_check_pull_range), (gst_pad_pull_range),
11922         (gst_pad_template_get_type), (gst_pad_template_class_init),
11923         (gst_pad_template_init), (gst_pad_template_dispose),
11924         (name_is_valid), (gst_static_pad_template_get),
11925         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11926         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11927         (gst_pad_get_element_private), (gst_pad_start_task),
11928         (gst_pad_pause_task), (gst_pad_stop_task),
11929         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11930         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11931         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11932         (gst_ghost_pad_new):
11933         * gst/gstpad.h:
11934         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11935         (gst_query_new_position), (gst_query_set_position),
11936         (gst_query_parse_position), (gst_query_new_convert),
11937         (gst_query_set_convert), (gst_query_parse_convert):
11938         * gst/gstquery.h:
11939         * gst/gstqueryutils.c:
11940         * gst/gstqueryutils.h:
11941         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11942         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11943         (gst_queue_handle_src_query):
11944         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11945         (gst_element_query_position), (gst_element_query_convert),
11946         (intersect_caps_func), (gst_pad_query_position),
11947         (gst_pad_query_convert):
11948         * gst/gstutils.h:
11949         * tools/gst-inspect.c: (print_pad_info):
11950         * tools/gst-xmlinspect.c: (print_element_info):
11951         Remove old query functions. Ported old code.
11952         Added position/convert helper functions to gstutils.
11953         Reordered gstpad.c code, grouping relevant things.
11954         Remove gst_message_new(), always need to speficy a specific
11955         message.
11956
11957
11958 2005-05-09  Andy Wingo  <wingo@pobox.com>
11959
11960         * gst/gstiterator.h: Add some includes.
11961
11962         * gst/gstqueryutils.h: Include more headers.
11963
11964         * gst/gstpad.h:
11965         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11966         some uses of gst_pad_query.
11967
11968         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11969         NULL out parameters.
11970         (gst_query_new_position): New proc, allocates a new position
11971         query.
11972
11973         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11974         gstqueryutils.c to the build.
11975
11976         * gst/gststructure.c (gst_structure_set_valist): Implement with
11977         the generic G_VALUE_COLLECT.
11978         
11979 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11980
11981         * gst/Makefile.am: (gst_headers):
11982         Added gstqueryutils.h to the list of headers to install, that was
11983         a 'nachty' move wingo :)
11984
11985 2005-05-06  Andy Wingo  <wingo@pobox.com>
11986
11987         * gst/gstquery.h
11988         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11989         GstData, init a memchunk.
11990         (standard_definitions): Add a few query types, deprecate a few.
11991         (gst_query_get_type): New proc.
11992         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11993         implementation.
11994         (gst_query_new_application, gst_query_get_structure): New public
11995         procs.
11996
11997         * docs/design/draft-query.txt: Removed LINKS from the query types,
11998         because all the rest can be dispatched to other pads -- seemed
11999         ugly to have a query that couldn't be dispatched. internal_links
12000         is fine as a pad method.
12001
12002         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12003         in gstpad.c, but maintain binary compatibility for the moment.
12004         Will fix before 0.9 is out.
12005
12006         * gst/gstqueryutils.c: 
12007         * gst/gstqueryutils.h: New files, implement 3 methods for each
12008         query type: parse_query, parse_response, and set. Probably need an
12009         allocator as well.
12010
12011         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12012
12013         * gst/elements/gstfilesink.c (gst_filesink_query2):
12014         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12015         query_types, and formats methods.
12016
12017         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12018         (gst_pad_set_query2_function): New functions.
12019         (gst_real_pad_init): Set query2_default as the default query2
12020         function. Basically just dispatches to internally linked pads.
12021
12022         Needs review!
12023         
12024         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12025         without using the atomic operations. Only one thread can possibly
12026         be accessing the data at this point. Changed so as to avoid
12027         gst_atomic operations.
12028
12029 2005-05-06  Wim Taymans  <wim@fluendo.com>
12030
12031         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12032         Also set caps if we use the fallback buffer alloc.
12033
12034 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12035
12036         * docs/gst/Makefile.am:
12037         * docs/gst/gstreamer-docs.sgml:
12038         * docs/gst/gstreamer-sections.txt:
12039         * docs/gst/tmpl/gstatomic.sgml:
12040         * docs/gst/tmpl/gstmemchunk.sgml:
12041         * testsuite/elements/struct_i386.h:
12042         * win32/GStreamer.vcproj:
12043         * win32/Makefile:
12044           Purge GstAtomic stuff from docs and win32 makefiles as well
12045
12046 2005-05-06  Wim Taymans  <wim@fluendo.com>
12047
12048         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12049         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12050         * gst/gstpad.c: (gst_pad_peer_get_caps):
12051         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12052         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12053         (gst_queue_src_activate), (gst_queue_change_state):
12054         * gst/gstqueue.h:
12055         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12056         (intersect_caps_func):
12057         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12058         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12059         Some fixes for the peer_get_caps() change.
12060
12061 2005-05-06  Wim Taymans  <wim@fluendo.com>
12062
12063         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12064         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12065         (gst_basesink_activate):
12066         Actually do something with error codes returned from the push
12067         functions.
12068
12069 2005-05-06  Wim Taymans  <wim@fluendo.com>
12070
12071         * docs/design/part-element-sink.txt:
12072         * docs/design/part-element-source.txt:
12073         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12074         (gst_basesink_event), (gst_basesink_activate):
12075         * gst/base/gstbasesink.h:
12076         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12077         (gst_basesrc_activate):
12078         * gst/base/gstbasesrc.h:
12079         * gst/gstelement.c: (gst_element_pads_activate):
12080         Some more documentation.
12081         Fixed scheduling decision in _pads_activate().
12082
12083 2005-05-05  Andy Wingo  <wingo@pobox.com>
12084
12085         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12086         the test suite.
12087
12088 2005-05-05  Wim Taymans  <wim@fluendo.com>
12089
12090         * gst/base/Makefile.am:
12091         * gst/base/gstbasesink.h:
12092         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12093         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12094         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12095         (gst_collectpads_class_init), (gst_collectpads_init),
12096         (gst_collectpads_finalize), (gst_collectpads_new),
12097         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12098         (find_pad), (gst_collectpads_remove_pad),
12099         (gst_collectpads_is_active), (gst_collectpads_collect),
12100         (gst_collectpads_collect_range), (gst_collectpads_start),
12101         (gst_collectpads_stop), (gst_collectpads_peek),
12102         (gst_collectpads_pop), (gst_collectpads_available),
12103         (gst_collectpads_read), (gst_collectpads_flush),
12104         (gst_collectpads_chain):
12105         * gst/base/gstcollectpads.h:
12106         * gst/elements/Makefile.am:
12107         * gst/elements/gstelements.c:
12108         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12109         (gst_fakesink_get_times), (gst_fakesink_event),
12110         (gst_fakesink_preroll), (gst_fakesink_render):
12111         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12112         (gst_filesink_init), (gst_filesink_set_location),
12113         (gst_filesink_open_file), (gst_filesink_close_file),
12114         (gst_filesink_pad_query), (gst_filesink_event),
12115         (gst_filesink_render), (gst_filesink_change_state):
12116         * gst/elements/gstfilesink.h:
12117         Added object to help in making collect pad based elements.
12118         Ported filesink.
12119         Make event function in sink baseclass return gboolean.
12120
12121 2005-05-05  Wim Taymans  <wim@fluendo.com>
12122
12123         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12124         (gst_bin_get_by_name):
12125         * gst/gstbuffer.h:
12126         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12127         (gst_clock_finalize):
12128         * gst/gstdata.c: (gst_data_replace):
12129         * gst/gstdata.h:
12130         * gst/gstelement.c: (gst_element_request_pad),
12131         (gst_element_pads_activate):
12132         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12133         (gst_object_unref):
12134         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12135         (gst_pad_set_checkgetrange_function),
12136         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12137         (gst_pad_check_pull_range), (gst_pad_pull_range),
12138         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12139         (gst_pad_pause_task), (gst_pad_stop_task):
12140         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12141         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12142         Fix name lookup in GstBin.
12143         Added _data_replace() function and _buffer_replace()
12144         Use finalize method to clean up clock.
12145         Fix refcounting on request pads.
12146         Fix pad schedule mode error.
12147         Some more object refcounting debug info,
12148
12149
12150 2005-05-04  Andy Wingo <wingo@pobox.com>
12151
12152         * check/Makefile.am:
12153         * docs/gst/tmpl/gstatomic.sgml:
12154         * docs/gst/tmpl/gstplugin.sgml:
12155         * gst/base/gstbasesink.c: (gst_basesink_activate):
12156         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12157         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12158         (gst_basesrc_query), (gst_basesrc_set_property),
12159         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12160         (gst_basesrc_activate):
12161         * gst/base/gstbasesrc.h:
12162         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12163         (gst_base_transform_src_activate):
12164         * gst/elements/gstelements.c:
12165         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12166         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12167         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12168         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12169         (gst_type_find_element_checkgetrange),
12170         (gst_type_find_element_activate):
12171         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12172         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12173         (gst_caps_load_thyself):
12174         * gst/gstelement.c: (gst_element_pads_activate),
12175         (gst_element_save_thyself), (gst_element_restore_thyself):
12176         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12177         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12178         * gst/gstpad.h:
12179         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12180         (gst_xml_parse_file), (gst_xml_parse_memory),
12181         (gst_xml_get_element), (gst_xml_make_element):
12182         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12183         (_file_index_id_save_xml), (gst_file_index_commit):
12184         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12185         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12186         (load_paths):
12187         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12188         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12189         * tools/gst-complete.c: (main):
12190         * tools/gst-compprep.c: (main):
12191         * tools/gst-inspect.c: (print_element_properties_info):
12192         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12193         * tools/gst-xmlinspect.c: (print_element_properties):
12194         GCC 4 fixen.
12195         
12196 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * gst/gstplugin.c: (gst_plugin_check_module),
12199         (gst_plugin_check_file), (gst_plugin_load_file):
12200             apply patch from #172526 to make register work on MacOSX
12201
12202 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * docs/gst/tmpl/gstconfig.sgml:
12205         * gst/gstconfig.h.in:
12206           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12207         * testsuite/debug/printf_extension.c: (main):
12208           Do not use GST_PTR_FORMAT on pointers to types with
12209           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12210         * testsuite/elements/property.h:
12211           use correct printf format
12212
12213 2005-05-02  Wim Taymans  <wim@fluendo.com>
12214
12215         * docs/design/draft-push-pull.txt:
12216         * docs/design/draft-query.txt:
12217         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12218         (gst_basesrc_start):
12219         Added draft for new query API.
12220         Added draft for better selecting scheduling methods.
12221         Make basesrc ignore length if the subclass does not support
12222         it.
12223
12224 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12225
12226         * gst/Makefile.am:
12227           possible fixes for automake-1.5 - _LIBADD is reserved
12228
12229 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12230
12231         * docs/faq/Makefile.am:
12232         * docs/manual/Makefile.am:
12233         * docs/manuals.mak:
12234         * docs/pwg/Makefile.am:
12235         * gst/Makefile.am:
12236           possible fixes for automake-1.5
12237
12238 2005-04-28  Wim Taymans  <wim@fluendo.com>
12239
12240         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12241         (gst_basesink_pad_getcaps), (gst_basesink_init),
12242         (gst_basesink_do_sync):
12243         * gst/gstclock.c: (gst_clock_entry_new):
12244         * gst/gstevent.c: (gst_event_discont_get_value):
12245         * gst/gstpipeline.c: (pipeline_bus_handler),
12246         (gst_pipeline_change_state):
12247         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12248         Better debugging of clocking info.
12249         Allow NULL values when getting discont values.
12250
12251 2005-04-27  Wim Taymans  <wim@fluendo.com>
12252
12253         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12254         * check/gst/gstpad.c: (gst_pad_suite):
12255         Increase timeout for checks.
12256
12257 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12258
12259         * check/Makefile.am:
12260           fix the broken rule for cleanup.  Apparently this rule is
12261           only needed on FC2, so maybe this warrants further autotool
12262           inspection.
12263
12264 2005-04-26  Wim Taymans  <wim@fluendo.com>
12265
12266         * gst/gsttrashstack.h:
12267         Ooohh. a nasty one! After having a failed pop() from the stack,
12268         it's possible that the stack is empty. In that case, don't
12269         follow the NULL pointer.
12270
12271 2005-04-25  Wim Taymans  <wim@fluendo.com>
12272
12273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12274         (gst_pad_set_checkgetrange_function),
12275         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12276         (gst_pad_check_pull_range), (gst_pad_pull_range),
12277         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12278         (gst_pad_pause_task), (gst_pad_stop_task):
12279         * gst/gstplugin.c: (gst_plugin_load):
12280         * gst/gstplugin.h:
12281         Remove gst_library_load as it does more harm than good with
12282         the new g_module flags.
12283         Revert bogus caps template check in pad linking, pad caps
12284         are important when linking not the template, which is more
12285         general than the current caps.
12286
12287 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12288
12289         * gst/autoplug/.cvsignore:
12290         * gst/autoplug/Makefile.am:
12291         * gst/autoplug/gstsearchfuncs.c:
12292         * gst/autoplug/gstsearchfuncs.h:
12293         * gst/autoplug/gstspider.c:
12294         * gst/autoplug/gstspider.h:
12295         * gst/autoplug/gstspideridentity.c:
12296         * gst/autoplug/gstspideridentity.h:
12297         * gst/autoplug/spidertest.c:
12298           Die, spider, die.
12299
12300 2005-04-25  Wim Taymans  <wim@fluendo.com>
12301
12302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12303         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12304         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12305         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12306         * gst/gstpad.h:
12307         Added stubs for unimplemented functions. 
12308
12309 2005-04-24  David Schleef  <ds@schleef.org>
12310
12311         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12312         please fix.
12313
12314 2005-04-24  David Schleef  <ds@schleef.org>
12315
12316         Convert everything from GstAtomicInt to g_atomic_int_*, and
12317         remove gstatomic.
12318         * gst/Makefile.am:
12319         * gst/gstatomic.c:
12320         * gst/gstatomic.h:
12321         * gst/gstatomic_impl.h:
12322         * gst/gstbuffer.c:
12323         * gst/gstcaps.c:
12324         * gst/gstcaps.h:
12325         * gst/gstclock.c:
12326         * gst/gstclock.h:
12327         * gst/gstdata.c:
12328         * gst/gstdata.h:
12329         * gst/gstdata_private.h:
12330         * gst/gstevent.c:
12331         * gst/gstinfo.c:
12332         * gst/gstinfo.h:
12333         * gst/gstmessage.c:
12334         * gst/gstobject.c:
12335         * gst/gstobject.h:
12336         * gst/gststructure.c:
12337         * gst/gststructure.h:
12338         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12339         * gst/gstutils.h:
12340
12341 2005-04-24  David Schleef  <ds@schleef.org>
12342
12343         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12344         make the regressions tests work.  Remove some code that is no
12345         longer true.
12346         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12347         Disable warning for pads without templates.
12348
12349 2005-04-24  David Schleef  <ds@schleef.org>
12350
12351         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12352         functions that handle filtered links.
12353         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12354         removed functions.
12355         * gst/gstutils.c: Fix/remove utility functions that handle
12356         filtered caps.
12357         * gst/gstutils.h:
12358         * gst/gstvalue.c: Add serialization/deserialization of caps
12359         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12360         requires fixing so that the filter caps notation creates
12361         a capsfilter element and sets the filter_caps property.  I
12362         think everyone probably wants to keep the shorthand notation.
12363         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12364         * docs/gst/tmpl/gstpad.sgml:
12365
12366         * gst/elements/gstelements.c: Register capsfilter element.
12367         * gst/Makefile.am: fix spacing
12368         * docs/random/ds/0.9-suggested-changes: random
12369
12370 2005-04-23  David Schleef  <ds@schleef.org>
12371
12372         * gst/elements/Makefile.am:
12373         * gst/elements/gstcapsfilter.c: New element that acts like an
12374         identity, but filters caps.  Will eventually replace filtered
12375         caps in pad linking.
12376         * gst/gstutils.c: (gst_element_create_all_pads): New function
12377         to create all the ALWAYS pads that are registered with an
12378         element class.  This functionality should eventually be
12379         merged in with GstElement initialization.
12380         * gst/gstutils.h:
12381         * testsuite/trigger/README: part of trigger test code that should
12382         have been checked in a long time ago.
12383
12384 2005-04-23  David Schleef  <ds@schleef.org>
12385
12386         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12387         needed with new versions of libtool (nobody will confirm this),
12388         and hard to carry around.
12389         * gst/autoplug/Makefile.am:
12390         * gst/base/Makefile.am:
12391         * gst/elements/Makefile.am:
12392         * gst/indexers/Makefile.am:
12393         * gst/schedulers/Makefile.am:
12394         * libs/gst/bytestream/Makefile.am:
12395         * libs/gst/control/Makefile.am:
12396         * libs/gst/dataprotocol/Makefile.am:
12397         * libs/gst/getbits/Makefile.am:
12398
12399 2005-04-21  Wim Taymans  <wim@fluendo.com>
12400
12401         * docs/design/draft-push-pull.txt:
12402         * docs/design/part-MT-refcounting.txt:
12403         * docs/design/part-TODO.txt:
12404         * docs/design/part-caps.txt:
12405         * docs/design/part-events.txt:
12406         * docs/design/part-gstbus.txt:
12407         * docs/design/part-gstpipeline.txt:
12408         * docs/design/part-messages.txt:
12409         * docs/design/part-push-pull.txt:
12410         * docs/design/part-query.txt:
12411         Some more docs.
12412
12413 2005-04-21  Wim Taymans  <wim@fluendo.com>
12414
12415         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12416         (gst_message_new), (gst_message_new_error),
12417         (gst_message_new_warning), (gst_message_new_tag),
12418         (gst_message_new_state_changed), (gst_message_new_application),
12419         (gst_message_get_structure):
12420         * gst/gstmessage.h:
12421         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12422         (gst_structure_copy_conditional):
12423         Use parent refcount in GstMessage to ensure GstStructure
12424         consistency.
12425         Cleaned up headers a bit.
12426         
12427
12428 2005-04-20  Wim Taymans  <wim@fluendo.com>
12429
12430         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12431         (gst_basesink_pad_getcaps), (gst_basesink_init),
12432         (gst_basesink_chain_unlocked):
12433         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12434         (gst_type_find_helper):
12435         * gst/elements/gsttypefindelement.c:
12436         (gst_type_find_element_have_type), (gst_type_find_element_init),
12437         (stop_typefinding), (gst_type_find_element_handle_event),
12438         (find_suggest), (gst_type_find_element_chain),
12439         (gst_type_find_element_checkgetrange),
12440         (gst_type_find_element_getrange), (do_typefind),
12441         (gst_type_find_element_activate):
12442         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12443         (gst_buffer_default_free), (gst_buffer_default_copy),
12444         (gst_buffer_set_caps):
12445         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12446         (gst_caps_replace):
12447         * gst/gstmessage.c: (gst_message_new),
12448         (gst_message_new_state_changed):
12449         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12450         (gst_pad_set_checkgetrange_function),
12451         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12452         (gst_pad_set_caps), (gst_pad_check_pull_range),
12453         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12454         * gst/gstpad.h:
12455         * gst/gsttypefind.c: (gst_type_find_register):
12456         Make gst_caps_replace() work like other _replace() functions.
12457         Use _caps_replace() where possible.
12458         Make sure _message_new() initialises its field.
12459         Add gst_static_pad_template_get_caps()
12460
12461
12462 2005-04-18  Andy Wingo  <wingo@pobox.com>
12463
12464         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12465         on the peer, not the pad. I think that was a typo. Pass an extra
12466         arg to see if random access is possible. Activate the pads as
12467         PULL_RANGE if possible.
12468
12469         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12470
12471         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12472         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12473         to PROP_....
12474
12475 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12476
12477         * docs/faq/using.xml:
12478           Add note on gstreamer-properties (#154996).
12479
12480 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12481
12482         * docs/random/bbb/optional-properties:
12483           Some analysis on optional properties.
12484
12485 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12486
12487         * docs/gst/tmpl/gstelementfactory.sgml:
12488         * gst/gstelement.h:
12489         * gst/gstelementfactory.c: (gst_element_factory_init),
12490         (gst_element_factory_cleanup), (gst_element_register),
12491         (__gst_element_factory_add_static_pad_template),
12492         (gst_element_factory_get_static_pad_templates),
12493         (gst_element_factory_can_src_caps),
12494         (gst_element_factory_can_sink_caps):
12495         * gst/registries/Makefile.am:
12496         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12497         (gst_xml_registry_class_init), (gst_xml_registry_init),
12498         (gst_xml_registry_new), (gst_xml_registry_set_property),
12499         (gst_xml_registry_get_property), (get_time), (make_dir),
12500         (gst_xml_registry_get_perms_func),
12501         (plugin_times_older_than_recurse), (plugin_times_older_than),
12502         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12503         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12504         (add_to_char_array), (read_string), (read_uint), (read_enum),
12505         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12506         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12507         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12508         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12509         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12510         (gst_xml_registry_rebuild):
12511         * gst/registries/gstlibxmlregistry.h:
12512         * tools/gst-compprep.c: (main):
12513         * tools/gst-inspect.c: (print_pad_templates_info):
12514         * tools/gst-xmlinspect.c: (print_element_info):
12515           Use libxml2 for registry parsing, use staticpadtemplates in
12516           elementfactories. Makes gst_init() +/- 10x faster.
12517
12518 2005-04-12  Wim Taymans  <wim@fluendo.com>
12519
12520         * gst/base/Makefile.am:
12521         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12522         (gst_basesink_pad_getcaps), (gst_basesink_init),
12523         (gst_basesink_event), (gst_basesink_change_state):
12524         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12525         (gst_basesrc_init), (gst_basesrc_query),
12526         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12527         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12528         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12529         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12530         (gst_basesrc_stop), (gst_basesrc_activate),
12531         (gst_basesrc_change_state):
12532         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12533         (helper_find_suggest), (gst_type_find_helper):
12534         * gst/base/gsttypefindhelper.h:
12535         * gst/elements/Makefile.am:
12536         * gst/elements/gstelements.c:
12537         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12538         (gst_fakesink_get_times), (gst_fakesink_event),
12539         (gst_fakesink_preroll), (gst_fakesink_render):
12540         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12541         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12542         (gst_fakesrc_get_property), (gst_fakesrc_create),
12543         (gst_fakesrc_start), (gst_fakesrc_stop):
12544         * gst/elements/gstfakesrc.h:
12545         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12546         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12547         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12548         (gst_filesrc_create_read), (gst_filesrc_create),
12549         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12550         (gst_filesrc_start):
12551         * gst/elements/gsttypefindelement.c:
12552         (gst_type_find_element_have_type), (gst_type_find_element_init),
12553         (start_typefinding), (stop_typefinding), (push_buffer_store),
12554         (gst_type_find_element_handle_event),
12555         (gst_type_find_element_chain),
12556         (gst_type_find_element_checkgetrange),
12557         (gst_type_find_element_getrange), (do_typefind),
12558         (gst_type_find_element_activate),
12559         (gst_type_find_element_change_state):
12560         * gst/elements/gsttypefindelement.h:
12561         * gst/gstpipeline.c: (pipeline_bus_handler):
12562         Added typefind helper.
12563         Small preroll fix in the base sink.
12564         Disable typefind code in basesrc.
12565         Crude port of typefindelement.
12566         Fakesrc cleanups.
12567
12568
12569 2005-04-11  Wim Taymans  <wim@fluendo.com>
12570
12571         * check/gst/gstbus.c: (gstbus_suite):
12572         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12573         * check/gstcheck.h:
12574           Fix up the timeout so that the test does not fail.
12575
12576 2005-04-06  Wim Taymans  <wim@fluendo.com>
12577
12578         * gst/base/README:
12579         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12580         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12581         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12582         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12583         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12584         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12585         (gst_basesrc_stop), (gst_basesrc_activate),
12586         (gst_basesrc_change_state), (basesrc_find_peek),
12587         (basesrc_find_suggest), (gst_basesrc_type_find):
12588         * gst/base/gstbasesrc.h:
12589         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12590         (gst_filesrc_class_init), (gst_filesrc_init),
12591         (gst_filesrc_finalize), (gst_filesrc_set_location),
12592         (gst_filesrc_set_property), (gst_filesrc_get_property),
12593         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12594         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12595         (gst_filesrc_create_read), (gst_filesrc_create),
12596         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12597         * gst/elements/gstfilesrc.h:
12598         * gst/gstelement.c: (gst_element_get_state_func),
12599         (gst_element_lost_state), (gst_element_pads_activate):
12600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12601         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12602         (gst_pad_pull_range):
12603         * gst/gstpad.h:
12604         More work on the generic source base class, implement seeking,
12605         query.
12606         Make filesrc extend the base source class.
12607         Added gst_pad_set_checkgetrange_function to GstPad.
12608
12609 2005-04-06  Andy Wingo  <wingo@pobox.com>
12610
12611         * pkgconfig/gstreamer-base.pc.in:
12612         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12613
12614         * pkgconfig/Makefile.am:
12615         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12616
12617 2005-04-04  Wim Taymans  <wim@fluendo.com>
12618
12619         * gst/base/Makefile.am:
12620         * gst/base/README:
12621         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12622         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12623         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12624         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12625         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12626         (gst_basesrc_base_init), (gst_basesrc_class_init),
12627         (gst_basesrc_init), (gst_basesrc_get_formats),
12628         (gst_basesrc_get_query_types), (gst_basesrc_query),
12629         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12630         (gst_basesrc_set_property), (gst_basesrc_get_property),
12631         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12632         (gst_basesrc_loop), (gst_basesrc_activate),
12633         (gst_basesrc_change_state):
12634         * gst/base/gstbasesrc.h:
12635         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12636         (gst_fakesrc_class_init), (gst_fakesrc_init),
12637         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12638         (gst_fakesrc_get_property), (gst_fakesrc_create):
12639         * gst/elements/gstfakesrc.h:
12640         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12641         (gst_filesrc_open_file), (gst_filesrc_loop),
12642         (gst_filesrc_activate), (filesrc_find_peek),
12643         (gst_filesrc_type_find):
12644         Made base source class, make fakesrc extend it.
12645         Add comments to basesink class.
12646         Some filesrc cleanup.
12647
12648 2005-03-31  David Schleef  <ds@schleef.org>
12649
12650         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12651         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12652         expected to link against libgstreamer.
12653         * gst/base/Makefile.am: link against libgstreamer
12654         * gst/elements/Makefile.am: same
12655
12656 2005-03-31  Andy Wingo  <wingo@pobox.com>
12657
12658         * tests/instantiate/Makefile.am:
12659         * tests/instantiate/caps.c: Add test to test speed of caps copy
12660         and free.
12661
12662         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12663         GMemChunk to be fair.
12664
12665         * gst/gsttrashstack.h: Remove warning about using the fallback
12666         trash stack implementation, it's still faster than malloc.
12667
12668 2005-03-30  Andy Wingo  <wingo@pobox.com>
12669
12670         * tests/complexity.c: Add a copyright.
12671
12672 2005-03-31  Wim Taymans  <wim@fluendo.com>
12673
12674         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12675         (gst_base_transform_class_init), (gst_base_transform_init),
12676         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12677         (gst_base_transform_get_property),
12678         (gst_base_transform_sink_activate),
12679         (gst_base_transform_src_activate),
12680         (gst_base_transform_change_state):
12681         * gst/base/gstbasetransform.h:
12682         * gst/elements/gstidentity.c: (gst_identity_class_init),
12683         (gst_identity_event), (gst_identity_check_perfect),
12684         (gst_identity_transform), (gst_identity_start),
12685         (gst_identity_stop):
12686         Added start/stop methods to transform base class so subclasses 
12687         don't need to deal with state changes even.
12688
12689 2005-03-31  Wim Taymans  <wim@fluendo.com>
12690
12691         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12692         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12693         * gst/gstevent.h:
12694         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12695         (gst_pad_pull_range):
12696         Added rate to the discont event to prepare for variable speed
12697         and reverse playback.
12698
12699 2005-03-29  David Schleef  <ds@schleef.org>
12700
12701         * configure.ac:
12702         * testsuite/trigger/Makefile.am:
12703         * testsuite/trigger/trigger.c: A little example program to show
12704         how trigger-based elements can work.
12705
12706 2005-03-29  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/base/Makefile.am:
12709         * gst/base/README:
12710         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12711         (gst_basesink_base_init), (gst_basesink_class_init),
12712         (gst_basesink_pad_getcaps), (gst_basesink_init),
12713         (gst_basesink_activate), (gst_basesink_change_state):
12714         * gst/base/gstbasesink.h:
12715         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12716         (gst_base_transform_base_init), (gst_base_transform_finalize),
12717         (gst_base_transform_class_init), (gst_base_transform_init),
12718         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12719         (gst_base_transform_event), (gst_base_transform_getrange),
12720         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12721         (gst_base_transform_set_property),
12722         (gst_base_transform_get_property),
12723         (gst_base_transform_sink_activate),
12724         (gst_base_transform_src_activate),
12725         (gst_base_transform_change_state):
12726         * gst/base/gstbasetransform.h:
12727         * gst/elements/gstidentity.c: (gst_identity_finalize),
12728         (gst_identity_class_init), (gst_identity_init),
12729         (gst_identity_event), (gst_identity_check_perfect),
12730         (gst_identity_transform), (gst_identity_set_property),
12731         (gst_identity_get_property), (gst_identity_change_state):
12732         * gst/elements/gstidentity.h:
12733         * gst/gstelement.c: (gst_element_get_state_func),
12734         (gst_element_lost_state), (gst_element_pads_activate):
12735         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12736         (gst_pad_check_pull_range), (gst_pad_pull_range):
12737         * gst/gstpad.h:
12738         Simplify pad activation.
12739         Added function to check if pull_range can be performed.
12740         Error out when pulling inactive or flushing pads.
12741         Removed const from refcounted types as it does not make sense.
12742         Simplify pad templates in basesink
12743         Added base class for simple 1-to-1 transforms.
12744         Make identity subclass the base transform.
12745
12746 2005-03-29  Andy Wingo  <wingo@pobox.com>
12747
12748         * docs/libs/gstreamer-libs-overrides.txt: 
12749         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12750         really don't understand what's going on, but like whatever. I want
12751         green buildbot!
12752
12753         * docs/gst/Makefile.am:
12754         * docs/libs/Makefile.am: Dist the overrides files.
12755
12756         * check/Makefile.am (clean-local): Remove .libs directories.
12757
12758         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12759         elements to EXTRA_DIST, so po/ files are happy.
12760
12761         * po/POTFILES.in: Er, remove it here.
12762
12763         * po/POTFILES: Remove gstspider.c.
12764
12765         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12766
12767         * docs/libs/gstreamer-libs-docs.sgml: 
12768         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12769         bytestream.
12770
12771         * tests/complexity.c (main): Set the length of the preroll queue
12772         on the sinks to prevent a lockup.
12773
12774         * libs/gst/dataprotocol/Makefile.am: 
12775         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12776         the same as the one in check/gst-libs/gdp.c.
12777
12778         * po/, docs/gst/: Commit automatic changes to docs and po files.
12779
12780         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12781         the versioned libgstbase.
12782
12783         * check/Makefile.am: Depend on an unversioned gst-register, seems
12784         to make autoconf happier.
12785
12786         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12787
12788 2005-03-28  Wim Taymans  <wim@fluendo.com>
12789
12790         * configure.ac:
12791         * docs/design/part-gstelement.txt:
12792         * docs/design/part-negotiation.txt:
12793         * docs/design/part-preroll.txt:
12794         * docs/design/part-scheduling.txt:
12795         * docs/design/part-states.txt:
12796         * gst/Makefile.am:
12797         * gst/base/Makefile.am:
12798         * gst/base/README:
12799         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12800         (gst_basesink_base_init), (gst_basesink_class_init),
12801         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12802         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12803         (gst_basesink_set_pad_functions),
12804         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12805         (gst_basesink_set_property), (gst_basesink_get_property),
12806         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12807         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12808         (gst_basesink_preroll_queue_push),
12809         (gst_basesink_preroll_queue_empty),
12810         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12811         (gst_basesink_event), (gst_basesink_get_times),
12812         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12813         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12814         (gst_basesink_loop), (gst_basesink_activate),
12815         (gst_basesink_change_state):
12816         * gst/base/gstbasesink.h:
12817         * gst/elements/Makefile.am:
12818         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12819         (gst_fakesink_class_init), (gst_fakesink_init),
12820         (gst_fakesink_set_property), (gst_fakesink_get_property),
12821         (gst_fakesink_get_times), (gst_fakesink_event),
12822         (gst_fakesink_preroll), (gst_fakesink_render),
12823         (gst_fakesink_change_state):
12824         * gst/elements/gstfakesink.h:
12825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12826         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12827         * gst/gstelement.c: (gst_element_add_pad),
12828         (gst_element_get_state_func), (gst_element_abort_state),
12829         (gst_element_commit_state), (gst_element_lost_state),
12830         (gst_element_set_state), (gst_element_pads_activate):
12831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12832         * gst/gstpipeline.c: (gst_pipeline_send_event),
12833         (gst_pipeline_change_state):
12834         Added state change code.
12835         Added/updated docs.
12836         Added sink base class, make fakesink extend the base class.
12837         Small cleanups in GstPipeline.
12838
12839 2005-03-26  David Schleef  <ds@schleef.org>
12840
12841         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12842         is broken and should be implemented in a different library.
12843         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12844         * gst/gst.h: remove gstcpu.h
12845         * gst/gstcpu.c: remove
12846         * gst/gstcpu.h: remove
12847         * gst/Makefile.am.future: Remove this file.  It's ancient.
12848
12849 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12850
12851         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12852         (gst_bin_send_event):
12853           Add default event/set_manager handlers. The set_manager handler
12854           takes care that the manager is distributed over kids that were
12855           already in the bin before the manager was set. The event handler
12856           is a utility virtual function that sends the event over all sinks,
12857           so that gst_element_send_event (bin, event); has the expected
12858           behaviour.
12859         * gst/gstpad.c: (gst_pad_event_default):
12860           Re-install default event handling for discontinuities, so that
12861           seeking works without requiring hacks in applications or extra
12862           code in sinks.
12863         * gst/gstpipeline.c: (gst_pipeline_class_init),
12864         (gst_pipeline_send_event):
12865           Half hack, half utility: set a pipeline to PAUSED for seek events,
12866           since that is the only way we can guarantee a/v sync. Means that
12867           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12868           and it "just works".
12869
12870 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12871
12872         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12873           Lock/unlock mismatch.
12874
12875 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12876
12877         * docs/faq/gst-uninstalled:
12878           add gst-plugins-base
12879         * docs/gst/Makefile.am:
12880           don't error out until docs are fixed
12881         * docs/gst/gstreamer.types:
12882           remove thread
12883
12884 2005-03-22  Wim Taymans  <wim@fluendo.com>
12885
12886         * check/Makefile.am:
12887         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12888         * gst/gststructure.c: (gst_structure_set_valist),
12889         (gst_structure_copy_conditional):
12890         Activated more tests.
12891         Added message test.
12892         Added G_TYPE_POINTER to GstStructure.
12893         
12894
12895 2005-03-22  Wim Taymans  <wim@fluendo.com>
12896
12897         * docs/design/part-TODO.txt:
12898         * docs/design/part-events.txt:
12899         * docs/design/part-gstbin.txt:
12900         * docs/design/part-gstbus.txt:
12901         * docs/design/part-gstpipeline.txt:
12902         * docs/design/part-messages.txt:
12903         * gst/gstbus.c:
12904         * gst/gstmessage.c:
12905         Docs updates
12906
12907 2005-03-21  Wim Taymans  <wim@fluendo.com>
12908
12909         * gst/gstbus.c: (gst_bus_post):
12910         Fix copy-and-paste error.
12911
12912 2005-03-21  Wim Taymans  <wim@fluendo.com>
12913
12914         * check/Makefile.am:
12915         * gst/Makefile.am:
12916         * gst/elements/Makefile.am:
12917         * gst/elements/gstelements.c:
12918         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12919         (gst_fakesink_event), (gst_fakesink_chain):
12920         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12921         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12922         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12923         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12924         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12925         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12926         (gst_fakesrc_loop), (gst_fakesrc_activate),
12927         (gst_fakesrc_change_state):
12928         * gst/elements/gstfakesrc.h:
12929         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12930         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12931         (gst_filesrc_open_file), (gst_filesrc_loop),
12932         (gst_filesrc_activate), (gst_filesrc_change_state),
12933         (filesrc_find_peek), (filesrc_find_suggest),
12934         (gst_filesrc_type_find):
12935         * gst/elements/gstidentity.c: (gst_identity_finalize),
12936         (gst_identity_class_init), (gst_identity_init),
12937         (gst_identity_proxy_getcaps), (identity_queue_push),
12938         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12939         (gst_identity_getrange), (gst_identity_chain),
12940         (gst_identity_sink_loop), (gst_identity_src_loop),
12941         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12942         (gst_identity_set_property), (gst_identity_get_property),
12943         (gst_identity_change_state):
12944         * gst/elements/gstidentity.h:
12945         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12946         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12947         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12948         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12949         (gst_tee_sink_activate):
12950         * gst/elements/gsttee.h:
12951         * gst/gst.c: (gst_register_core_elements), (init_post):
12952         * gst/gst.h:
12953         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12954         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12955         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12956         (gst_bin_change_state):
12957         * gst/gstbin.h:
12958         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12959         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12960         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12961         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12962         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12963         (bus_watch_callback), (bus_watch_destroy),
12964         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12965         (poll_timeout), (gst_bus_poll):
12966         * gst/gstbus.h:
12967         * gst/gstcaps.h:
12968         * gst/gstdata.h:
12969         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12970         (gst_element_post_message), (gst_element_message_full),
12971         (gst_element_get_state_func), (gst_element_get_state),
12972         (gst_element_abort_state), (gst_element_commit_state),
12973         (gst_element_lost_state), (gst_element_set_state),
12974         (gst_element_pads_activate), (gst_element_change_state),
12975         (gst_element_dispose), (gst_element_set_manager_func),
12976         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12977         (gst_element_set_manager), (gst_element_get_manager),
12978         (gst_element_set_bus), (gst_element_get_bus),
12979         (gst_element_set_scheduler), (gst_element_get_scheduler):
12980         * gst/gstelement.h:
12981         * gst/gstevent.c: (gst_event_new_segment_seek),
12982         (gst_event_new_flush):
12983         * gst/gstevent.h:
12984         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12985         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12986         (gst_message_new_eos), (gst_message_new_error),
12987         (gst_message_new_warning), (gst_message_new_tag),
12988         (gst_message_new_state_changed), (gst_message_new_application),
12989         (gst_message_get_structure), (gst_message_parse_tag),
12990         (gst_message_parse_state_changed), (gst_message_parse_error),
12991         (gst_message_parse_warning):
12992         * gst/gstmessage.h:
12993         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12994         (gst_real_pad_set_property), (gst_pad_set_active),
12995         (gst_pad_is_active), (gst_pad_set_blocked_async),
12996         (gst_pad_set_blocked), (gst_pad_is_blocked),
12997         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12998         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12999         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13000         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13001         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13002         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13003         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13004         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13005         (gst_pad_set_caps), (gst_pad_configure_sink),
13006         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13007         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13008         (gst_real_pad_dispose), (gst_real_pad_finalize),
13009         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13010         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13011         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13012         * gst/gstpad.h:
13013         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13014         (pipeline_bus_handler), (gst_pipeline_change_state),
13015         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13016         * gst/gstpipeline.h:
13017         * gst/gstprobe.h:
13018         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13019         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13020         (gst_queue_link_src), (gst_queue_bufferalloc),
13021         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13022         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13023         (gst_queue_loop), (gst_queue_handle_src_event),
13024         (gst_queue_handle_src_query), (gst_queue_src_activate),
13025         (gst_queue_change_state):
13026         * gst/gstqueue.h:
13027         * gst/gstscheduler.c: (gst_scheduler_init),
13028         (gst_scheduler_dispose), (gst_scheduler_create_task),
13029         (gst_scheduler_factory_create):
13030         * gst/gstscheduler.h:
13031         * gst/gststructure.c: (gst_structure_get_type),
13032         (gst_structure_copy_conditional):
13033         * gst/gststructure.h:
13034         * gst/gsttaginterface.h:
13035         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13036         (gst_task_init), (gst_task_dispose), (gst_task_create),
13037         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13038         (gst_task_pause):
13039         * gst/gsttask.h:
13040         * gst/gstthread.c:
13041         * gst/gstthread.h:
13042         * gst/gsttypes.h:
13043         * gst/schedulers/Makefile.am:
13044         * gst/schedulers/cothreads_compat.h:
13045         * gst/schedulers/entryscheduler.c:
13046         * gst/schedulers/faircothreads.c:
13047         * gst/schedulers/faircothreads.h:
13048         * gst/schedulers/fairscheduler.c:
13049         * gst/schedulers/gstbasicscheduler.c:
13050         * gst/schedulers/gstoptimalscheduler.c:
13051         * gst/schedulers/gthread-cothreads.h:
13052         * gst/schedulers/threadscheduler.c:
13053         (gst_thread_scheduler_task_get_type),
13054         (gst_thread_scheduler_task_class_init),
13055         (gst_thread_scheduler_task_init),
13056         (gst_thread_scheduler_task_start),
13057         (gst_thread_scheduler_task_stop),
13058         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13059         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13060         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13061         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13062         (plugin_init):
13063         * libs/gst/Makefile.am:
13064         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13065         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13066         (gst_file_pad_parent_set):
13067         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13068         (gst_dp_event_from_packet):
13069         * tests/complexity.c: (main):
13070         * tests/mass_elements.c: (main):
13071         * testsuite/states/locked.c: (message_received), (main):
13072         * testsuite/states/parent.c: (main):
13073         * tools/gst-inspect.c: (print_element_flag_info),
13074         (print_implementation_info), (print_pad_info):
13075         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13076         (main):
13077         * tools/gst-md5sum.c: (event_loop), (main):
13078         * tools/gst-typefind.c: (main):
13079         * tools/gst-xmlinspect.c: (print_element_info):
13080         Next big merge.
13081         Added GstBus for mainloop integration.
13082         Added GstMessage for sending notifications on the bus.
13083         Added GstTask as an abstraction for pipeline entry points.
13084         Removed GstThread.
13085         Removed Schedulers.
13086         Simplified GstQueue for multithreaded core.
13087         Made _link threadsafe, removed old capsnego.
13088         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13089         Added pad blocking functions.
13090         Reworked scheduling functions in GstPad to prepare for
13091         scheduling updates soon.
13092         Moved events out of data stream.
13093         Simplified GstEvent types.
13094         Added return values to push/pull.
13095         Removed clocking from GstElement.
13096         Added prototypes for state change function for next merge.
13097         Removed iterate from bins and state change management.
13098         Fixed some elements, disabled others for now.
13099         Fixed -inspect and -launch.
13100         Added check for GstBus.
13101
13102 2005-03-10  Wim Taymans  <wim@fluendo.com>
13103
13104         * docs/design/part-MT-refcounting.txt:
13105         * docs/design/part-clocks.txt:
13106         * docs/design/part-gstelement.txt:
13107         * docs/design/part-gstobject.txt:
13108         * docs/design/part-standards.txt:
13109         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13110         (gst_bin_remove_func), (gst_bin_remove):
13111         * gst/gstbin.h:
13112         * gst/gstbuffer.c:
13113         * gst/gstcaps.h:
13114         * testsuite/clock/clock1.c: (main):
13115         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13116         (main):
13117         * testsuite/dlopen/loadgst.c: (do_test):
13118         * testsuite/refcounting/bin.c: (add_remove_test1),
13119         (add_remove_test2), (main):
13120         * testsuite/refcounting/element.c: (main):
13121         * testsuite/refcounting/element_pad.c: (main):
13122         * testsuite/refcounting/pad.c: (main):
13123         * tools/gst-launch.c: (sigint_handler_sighandler):
13124         * tools/gst-typefind.c: (main):
13125         Doc updates.
13126         Added doc about clock.
13127         removed gst_bin_iterate_recurse_up(), marked methods
13128         for removal.
13129         Fix more testsuites.
13130
13131 2005-03-09  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/gstpad.c: (gst_pad_get_direction),
13134         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13135         (gst_pad_collect_valist):
13136         * testsuite/bins/interface.c: (main):
13137         * testsuite/caps/audioscale.c: (test_caps):
13138         * testsuite/caps/caps.c: (test1), (test2), (test3):
13139         * testsuite/caps/deserialize.c: (main):
13140         * testsuite/caps/enumcaps.c: (main):
13141         * testsuite/caps/filtercaps.c: (main):
13142         * testsuite/caps/intersect2.c: (main):
13143         * testsuite/caps/random.c: (main):
13144         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13145         * testsuite/caps/sets.c: (check_caps):
13146         * testsuite/caps/simplify.c: (check_caps), (main):
13147         * testsuite/caps/subtract.c: (check_caps):
13148         Fix _pad_get_direction wrt ghostpads.
13149         Fix caps testsuite.
13150
13151 2005-03-09  Wim Taymans  <wim@fluendo.com>
13152
13153         * check/Makefile.am:
13154         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13155         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13156         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13157         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13158         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13159         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13160         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13161         (bin_element_is_sink), (gst_bin_iterate_sinks),
13162         (gst_bin_iterate_all_by_interface):
13163         * gst/gstbin.h:
13164         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13165         (gst_element_change_state), (gst_element_dispose),
13166         (gst_element_finalize), (gst_element_set_loop_function):
13167         * gst/gstelement.h:
13168         * gst/gstiterator.c: (find_custom_fold_func):
13169         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13170         (gst_pad_collectv), (gst_pad_collect_valist),
13171         (gst_pad_template_new):
13172         * gst/gstpipeline.c: (gst_pipeline_class_init),
13173         (gst_pipeline_dispose), (gst_pipeline_set_property),
13174         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13175         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13176         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13177         * gst/gstutils.h:
13178         * gst/schedulers/entryscheduler.c:
13179         * gst/schedulers/gstbasicscheduler.c:
13180         (gst_basic_scheduler_cothreaded_chain),
13181         (gst_basic_scheduler_chain_add_element):
13182         * testsuite/bins/interface.c: (main):
13183         Added GstBin test.
13184         Added GstSystemClock test.
13185         Implemented clock distribution code in GstBin.
13186         Implemented iterate sinks method for future use.
13187         Rearranged gstelement.h
13188         Fix GstIterator comparison bug.
13189         Moved some code to GstPipeline, mostly clocking related.
13190
13191 2005-03-09  Wim Taymans  <wim@fluendo.com>
13192
13193         * configure.ac:
13194         * gst/gst_private.h:
13195         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13196         (gst_bin_remove_func), (gst_bin_remove),
13197         (gst_bin_get_by_name_recurse_up):
13198         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13199         (gst_clock_id_compare_func), (gst_clock_id_wait),
13200         (gst_clock_id_wait_async), (gst_clock_init),
13201         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13202         * gst/gstelement.h:
13203         * gst/gstinfo.c: (_gst_debug_init):
13204         * gst/gstobject.h:
13205         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13206         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13207         * gst/gstpad.h:
13208         Bump version number, we're now 0.9.0
13209         Add future debugging category.
13210         Fix NULL _unref() in _get_by_name_recurse_up
13211         Rearrange gstpad.h.
13212         Update some docs.
13213
13214 2005-03-08  Wim Taymans  <wim@fluendo.com>
13215
13216         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13217         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13218         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13219         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13220         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13221         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13222         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13223         * gst/elements/gstidentity.c: (gst_identity_class_init):
13224         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13225         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13226         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13227         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13228         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13229         (gst_tee_link):
13230         * gst/gstelement.c: (gst_element_class_init),
13231         (gst_element_base_class_init), (gst_element_init),
13232         (gst_element_get_random_pad), (gst_element_wait_state_change),
13233         (gst_element_change_state), (gst_element_dispose),
13234         (gst_element_finalize), (gst_element_set_loop_function):
13235         * gst/gstelement.h:
13236         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13237         * gst/gstthread.c: (gst_thread_class_init),
13238         (gst_thread_release_children_locks), (gst_thread_change_state):
13239         * gst/schedulers/gstbasicscheduler.c:
13240         (gst_basic_scheduler_loopfunc_wrapper),
13241         (gst_basic_scheduler_chain_wrapper),
13242         (gst_basic_scheduler_src_wrapper),
13243         (gst_basic_scheduler_remove_element):
13244         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13245         Remove threadsafe properties. Fix elements because GObject
13246         complains when installing a property before declaring a
13247         set/get_property handler.
13248         Rearrange gstelement.h file, use STATE macros for state locks.
13249         Free mutexes in the finalize method instead of dispose.
13250
13251 2005-03-08  Wim Taymans  <wim@fluendo.com>
13252
13253         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13254         * gst/gstthread.c: (gst_thread_release_children_locks):
13255         Added parentage check.
13256         Fix build og GstThread again.
13257
13258 2005-03-08  Wim Taymans  <wim@fluendo.com>
13259
13260         * docs/design/part-MT-refcounting.txt:
13261         * docs/design/part-conventions.txt:
13262         * docs/design/part-gstobject.txt:
13263         * docs/design/part-relations.txt:
13264         * docs/design/part-standards.txt:
13265         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13266         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13267         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13268         (gst_bin_iterate_all_by_interface):
13269         * gst/gstbuffer.h:
13270         * gst/gstclock.h:
13271         * gst/gstelement.c: (gst_element_class_init),
13272         (gst_element_change_state), (gst_element_set_loop_function):
13273         * gst/gstelement.h:
13274         * gst/gstiterator.c:
13275         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13276         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13277         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13278         (gst_object_set_parent), (gst_object_unparent),
13279         (gst_object_check_uniqueness):
13280         * gst/gstobject.h:
13281         Docs updates, clean up some headers.
13282
13283 2005-03-07  Wim Taymans  <wim@fluendo.com>
13284
13285         * check/.cvsignore:
13286         * check/Makefile.am:
13287         * check/gst-libs/.cvsignore:
13288         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13289         * check/gst/.cvsignore:
13290         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13291         (START_TEST), (gstbus_suite), (main):
13292         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13293         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13294         (gst_data_suite), (main):
13295         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13296         (add_fold_func), (gstiterator_suite), (main):
13297         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13298         (thread_name_object), (thread_name_object_default),
13299         (gst_object_name_compare), (gst_object_suite), (main):
13300         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13301         (gst_pad_suite), (main):
13302         * check/gstcheck.c: (gst_check_log_message_func),
13303         (gst_check_log_critical_func), (gst_check_init):
13304         * check/gstcheck.h:
13305         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13306         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13307         Added checks.
13308
13309 2005-03-07  Wim Taymans  <wim@fluendo.com>
13310
13311         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13312         (gst_list_iterator_next), (gst_list_iterator_resync),
13313         (gst_list_iterator_free), (gst_iterator_new_list),
13314         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13315         (gst_iterator_free), (gst_iterator_push), (filter_next),
13316         (filter_resync), (filter_uninit), (filter_free),
13317         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13318         (gst_iterator_foreach), (find_custom_fold_func),
13319         (gst_iterator_find_custom):
13320         * gst/gstiterator.h:
13321         Added missing files.
13322
13323 2005-03-07  Wim Taymans  <wim@fluendo.com>
13324
13325         * Makefile.am:
13326         * configure.ac:
13327         * docs/design/part-MT-refcounting.txt:
13328         * docs/design/part-conventions.txt:
13329         * docs/design/part-gstobject.txt:
13330         * docs/design/part-relations.txt:
13331         * examples/mixer/mixer.c: (main):
13332         * examples/thread/thread.c: (eos), (main):
13333         * gst/Makefile.am:
13334         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13335         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13336         (gst_spider_plug_from_srcpad):
13337         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13338         (gst_spider_identity_change_state),
13339         (gst_spider_identity_sink_loop_type_finding):
13340         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13341         * gst/elements/gstidentity.c: (gst_identity_init):
13342         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13343         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13344         * gst/elements/gsttypefindelement.c: (free_entry):
13345         * gst/gst.c:
13346         * gst/gst.h:
13347         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13348         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13349         (gst_bin_set_index), (gst_bin_set_element_sched),
13350         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13351         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13352         (gst_bin_iterate_elements), (iterate_child_recurse),
13353         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13354         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13355         (compare_interface), (gst_bin_get_by_interface),
13356         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13357         * gst/gstbin.h:
13358         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13359         (gst_buffer_default_free), (gst_buffer_default_copy),
13360         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13361         (gst_buffer_create_sub):
13362         * gst/gstbuffer.h:
13363         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13364         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13365         (gst_caps_unref), (gst_static_caps_get),
13366         (gst_caps_remove_and_get_structure), (gst_caps_append),
13367         (gst_caps_append_structure), (gst_caps_remove_structure),
13368         (gst_caps_copy_nth), (gst_caps_set_simple),
13369         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13370         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13371         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13372         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13373         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13374         (gst_caps_structure_figure_out_union),
13375         (gst_caps_switch_structures), (gst_caps_do_simplify),
13376         (gst_caps_replace), (gst_caps_from_string),
13377         (gst_caps_copy_conditional):
13378         * gst/gstcaps.h:
13379         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13380         (_gst_clock_id_free), (gst_clock_id_unref),
13381         (gst_clock_id_compare_func), (gst_clock_id_wait),
13382         (gst_clock_id_wait_async), (gst_clock_class_init),
13383         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13384         (gst_clock_get_time), (gst_clock_set_time_adjust),
13385         (gst_clock_set_property), (gst_clock_get_property):
13386         * gst/gstclock.h:
13387         * gst/gstcompat.h:
13388         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13389         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13390         * gst/gstdata.h:
13391         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13392         (gst_element_requires_clock), (gst_element_provides_clock),
13393         (gst_element_set_clock), (gst_element_clock_wait),
13394         (gst_element_wait), (gst_element_set_time_delay),
13395         (gst_element_is_indexable), (gst_element_add_pad),
13396         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13397         (pad_compare_name), (gst_element_get_static_pad),
13398         (gst_element_request_pad), (gst_element_get_request_pad),
13399         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13400         (gst_element_class_get_pad_template_list),
13401         (gst_element_class_get_pad_template), (gst_element_error_func),
13402         (gst_element_get_random_pad), (gst_element_get_event_masks),
13403         (gst_element_send_event), (gst_element_seek),
13404         (gst_element_get_query_types), (gst_element_query),
13405         (gst_element_get_formats), (gst_element_convert),
13406         (gst_element_is_locked_state), (gst_element_set_locked_state),
13407         (gst_element_sync_state_with_parent), (gst_element_change_state),
13408         (gst_element_finalize), (gst_element_yield),
13409         (gst_element_interrupt), (gst_element_set_scheduler),
13410         (gst_element_get_scheduler), (gst_element_set_loop_function):
13411         * gst/gstelement.h:
13412         * gst/gstevent.h:
13413         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13414         (gst_format_get_by_nick), (gst_format_get_details),
13415         (gst_format_iterate_definitions):
13416         * gst/gstformat.h:
13417         * gst/gstindex.c: (gst_index_gtype_resolver):
13418         * gst/gstinfo.c:
13419         * gst/gstinfo.h:
13420         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13421         (gst_mem_chunk_free):
13422         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13423         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13424         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13425         (gst_object_dispatch_properties_changed),
13426         (gst_object_set_name_default), (gst_object_set_name),
13427         (gst_object_get_name), (gst_object_set_name_prefix),
13428         (gst_object_get_name_prefix), (gst_object_set_parent),
13429         (gst_object_get_parent), (gst_object_unparent),
13430         (gst_object_check_uniqueness), (gst_object_save_thyself),
13431         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13432         (gst_object_set_property), (gst_object_get_property),
13433         (gst_object_get_path_string):
13434         * gst/gstobject.h:
13435         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13436         (gst_real_pad_init), (gst_real_pad_get_property),
13437         (gst_pad_custom_new), (gst_pad_get_direction),
13438         (gst_pad_set_active), (gst_pad_is_active),
13439         (gst_pad_set_event_function), (gst_pad_is_linked),
13440         (gst_pad_link_free), (gst_pad_link_intersect),
13441         (gst_pad_link_fixate), (gst_pad_set_caps),
13442         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13443         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13444         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13445         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13446         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13447         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13448         (gst_pad_realize), (gst_pad_get_allowed_caps),
13449         (gst_real_pad_dispose), (gst_real_pad_finalize),
13450         (gst_pad_collectv), (gst_pad_collect_valist),
13451         (gst_pad_template_dispose), (gst_pad_template_new),
13452         (gst_pad_get_internal_links):
13453         * gst/gstpad.h:
13454         * gst/gstpipeline.c: (gst_pipeline_dispose),
13455         (gst_pipeline_change_state):
13456         * gst/gstpipeline.h:
13457         * gst/gstplugin.c:
13458         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13459         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13460         * gst/gstpluginfeature.h:
13461         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13462         * gst/gstquery.c: (_gst_query_type_initialize),
13463         (gst_query_type_register), (gst_query_type_get_by_nick),
13464         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13465         * gst/gstquery.h:
13466         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13467         * gst/gstscheduler.c: (gst_scheduler_add_element),
13468         (gst_scheduler_factory_create):
13469         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13470         (gst_structure_free), (gst_structure_set_name),
13471         (gst_structure_id_set_value), (gst_structure_set_value),
13472         (gst_structure_set_valist), (gst_structure_remove_field),
13473         (gst_structure_remove_fields),
13474         (gst_structure_remove_fields_valist),
13475         (gst_structure_remove_all_fields), (gst_structure_foreach),
13476         (gst_structure_map_in_place),
13477         (gst_caps_structure_fixate_field_nearest_int),
13478         (gst_caps_structure_fixate_field_nearest_double):
13479         * gst/gststructure.h:
13480         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13481         (gst_system_clock_init), (gst_system_clock_dispose),
13482         (gst_system_clock_async_thread),
13483         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13484         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13485         * gst/gstsystemclock.h:
13486         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13487         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13488         * gst/gsttaginterface.c:
13489         * gst/gstthread.c: (gst_thread_dispose),
13490         (gst_thread_release_children_locks), (gst_thread_change_state),
13491         (gst_thread_main_loop):
13492         * gst/gsttrashstack.h:
13493         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13494         * gst/gsttypes.h:
13495         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13496         (gst_element_request_pad), (gst_element_get_pad_from_template),
13497         (gst_element_request_compatible_pad),
13498         (gst_element_get_compatible_pad_filtered),
13499         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13500         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13501         (gst_element_link_many), (gst_element_link),
13502         (gst_element_link_pads), (gst_element_unlink_pads),
13503         (gst_element_unlink_many), (gst_element_unlink),
13504         (gst_pad_can_link_filtered), (gst_pad_can_link),
13505         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13506         (gst_object_default_error), (gst_bin_add_many),
13507         (gst_bin_remove_many), (gst_element_populate_std_props),
13508         (gst_element_class_install_std_props), (gst_buffer_merge),
13509         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13510         (link_fold_func), (gst_pad_proxy_setcaps):
13511         * gst/gstutils.h:
13512         * gst/gstvalue.c: (gst_value_deserialize_string):
13513         * gst/parse/grammar.y:
13514         * gst/schedulers/gstbasicscheduler.c:
13515         (gst_basic_scheduler_cothreaded_chain),
13516         (gst_basic_scheduler_chain_recursive_add),
13517         (gst_basic_scheduler_pad_link):
13518         * gst/schedulers/gstoptimalscheduler.c:
13519         (get_group_schedule_function),
13520         (gst_opt_scheduler_state_transition),
13521         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13522         * libs/gst/bytestream/bytestream.c:
13523         * libs/gst/dataprotocol/dataprotocol.c:
13524         (gst_dp_header_from_buffer):
13525         * po/nb.po:
13526         * po/ru.po:
13527         * tests/threadstate/threadstate2.c: (eos):
13528         * tools/gst-compprep.c: (main):
13529         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13530         (print_pad_info), (print_children_info):
13531         * tools/gst-launch.c: (idle_func), (main):
13532         * tools/gst-md5sum.c: (idle_func), (main):
13533         * tools/gst-xmlinspect.c: (print_element_info):
13534         First THREADED backport attempt, focusing on adding locks and
13535         making sure the API is threadsafe. Needs more work. More docs
13536         follow this week.
13537
13538 2005-02-24  Andy Wingo  <wingo@pobox.com>
13539
13540         * tests/bench-complexity.scm:
13541         * tests/complexity.gnuplot: New files, good for running complexity
13542         benchmarks.
13543
13544         * tests/Makefile.am:
13545         * tests/complexity.c: New test, sets up N elements, at each level
13546         teeing into M streams per element. Eeeenteresting.
13547
13548         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13549         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13550         running bench-mass_elements.scm.
13551
13552         * tests/bench-mass_elements.scm: New script, runs mass_elements
13553         for various numbers of identities, outputting the results to a
13554         file. Requires guile 1.6. Just for testing.
13555
13556 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13557
13558         * gst/schedulers/fairscheduler.c:
13559           compile with debug disabled
13560
13561 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13562
13563         * configure.ac:
13564           hunting season on 0.9 is now OPEN